@fundamental-ngx/platform 0.48.0-rc.2 → 0.48.0-rc.21

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 (684) hide show
  1. package/approval-flow/helpers/index.d.ts +1 -1
  2. package/approval-flow/index.d.ts +2 -2
  3. package/approval-flow/interfaces/approval-process.d.ts +1 -1
  4. package/approval-flow/interfaces/index.d.ts +1 -1
  5. package/approval-flow/interfaces/send-reminders-data.d.ts +1 -1
  6. package/button/button.component.d.ts +4 -1
  7. package/button/index.d.ts +1 -1
  8. package/dynamic-page/index.d.ts +5 -5
  9. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +2 -2
  10. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +1 -1
  11. package/esm2022/approval-flow/approval-flow-graph.mjs +1 -1
  12. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
  13. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +1 -1
  14. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +2 -2
  15. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +1 -1
  16. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +1 -1
  17. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +1 -1
  18. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +1 -1
  19. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +1 -1
  20. package/esm2022/approval-flow/approval-flow.component.mjs +2 -2
  21. package/esm2022/approval-flow/approval-flow.module.mjs +1 -1
  22. package/esm2022/approval-flow/fundamental-ngx-platform-approval-flow.mjs +1 -1
  23. package/esm2022/approval-flow/helpers/index.mjs +1 -1
  24. package/esm2022/approval-flow/index.mjs +3 -3
  25. package/esm2022/approval-flow/interfaces/approval-node.mjs +1 -1
  26. package/esm2022/approval-flow/interfaces/approval-process.mjs +1 -1
  27. package/esm2022/approval-flow/interfaces/approval-status.mjs +1 -1
  28. package/esm2022/approval-flow/interfaces/approval-team.mjs +1 -1
  29. package/esm2022/approval-flow/interfaces/approval-user.mjs +1 -1
  30. package/esm2022/approval-flow/interfaces/index.mjs +2 -2
  31. package/esm2022/approval-flow/interfaces/send-reminders-data.mjs +1 -1
  32. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +1 -1
  33. package/esm2022/button/button.component.mjs +8 -3
  34. package/esm2022/button/button.module.mjs +1 -1
  35. package/esm2022/button/fundamental-ngx-platform-button.mjs +1 -1
  36. package/esm2022/button/index.mjs +2 -2
  37. package/esm2022/dynamic-page/constants.mjs +1 -1
  38. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +1 -1
  39. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +1 -1
  40. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +1 -1
  41. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +1 -1
  42. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +1 -1
  43. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +1 -1
  44. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +1 -1
  45. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +1 -1
  46. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +1 -1
  47. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +1 -1
  48. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +1 -1
  49. package/esm2022/dynamic-page/dynamic-page.component.mjs +1 -1
  50. package/esm2022/dynamic-page/dynamic-page.config.mjs +1 -1
  51. package/esm2022/dynamic-page/dynamic-page.module.mjs +1 -1
  52. package/esm2022/dynamic-page/dynamic-page.service.mjs +1 -1
  53. package/esm2022/dynamic-page/fundamental-ngx-platform-dynamic-page.mjs +1 -1
  54. package/esm2022/dynamic-page/index.mjs +6 -6
  55. package/esm2022/dynamic-page/utils.mjs +1 -1
  56. package/esm2022/feed-input/feed-input.component.mjs +2 -2
  57. package/esm2022/feed-input/feed-input.module.mjs +1 -1
  58. package/esm2022/feed-input/fundamental-ngx-platform-feed-input.mjs +1 -1
  59. package/esm2022/feed-input/index.mjs +2 -2
  60. package/esm2022/form/auto-complete/auto-complete.directive.mjs +2 -2
  61. package/esm2022/form/auto-complete/auto-complete.module.mjs +1 -1
  62. package/esm2022/form/checkbox/checkbox.component.mjs +1 -1
  63. package/esm2022/form/checkbox/checkbox.module.mjs +1 -1
  64. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +1 -1
  65. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +1 -1
  66. package/esm2022/form/combobox/combobox/combobox.component.mjs +13 -4
  67. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
  68. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +1 -1
  69. package/esm2022/form/combobox/combobox.config.mjs +2 -2
  70. package/esm2022/form/combobox/combobox.interface.mjs +1 -1
  71. package/esm2022/form/combobox/combobox.module.mjs +1 -1
  72. package/esm2022/form/combobox/commons/base-combobox.mjs +1 -1
  73. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +1 -1
  74. package/esm2022/form/combobox/index.mjs +1 -1
  75. package/esm2022/form/date-picker/date-picker.component.mjs +4 -5
  76. package/esm2022/form/date-picker/date-picker.module.mjs +1 -1
  77. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -3
  78. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +1 -1
  79. package/esm2022/form/datetime-picker/errors.mjs +1 -1
  80. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +1 -1
  81. package/esm2022/form/form-generator/config/default-components-list.mjs +6 -6
  82. package/esm2022/form/form-generator/config/default-form-generator-hint-options.mjs +1 -1
  83. package/esm2022/form/form-generator/config/default-validation-errors.mjs +1 -1
  84. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +3 -3
  85. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +1 -1
  86. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +1 -1
  87. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +1 -1
  88. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +1 -1
  89. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +2 -2
  90. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +3 -3
  91. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +1 -1
  92. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +1 -1
  93. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +1 -1
  94. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
  95. package/esm2022/form/form-generator/dynamic-form-control.mjs +1 -1
  96. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +14 -14
  97. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +1 -1
  98. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +1 -1
  99. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +1 -1
  100. package/esm2022/form/form-generator/form-generator.service.mjs +3 -3
  101. package/esm2022/form/form-generator/form-generator.tokens.mjs +1 -1
  102. package/esm2022/form/form-generator/helpers.mjs +1 -1
  103. package/esm2022/form/form-generator/interfaces/dynamic-abstract-control.mjs +1 -1
  104. package/esm2022/form/form-generator/interfaces/dynamic-form-group.mjs +1 -1
  105. package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
  106. package/esm2022/form/form-generator/interfaces/form-component-definition.mjs +1 -1
  107. package/esm2022/form/form-generator/interfaces/form-generator-module-config.mjs +1 -1
  108. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +2 -2
  109. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +1 -1
  110. package/esm2022/form/form-generator/providers/providers.mjs +1 -1
  111. package/esm2022/form/form-group/config/default-form-field-hint-options.mjs +1 -1
  112. package/esm2022/form/form-group/constants.mjs +1 -1
  113. package/esm2022/form/form-group/fdp-form.module.mjs +7 -7
  114. package/esm2022/form/form-group/fdp-form.tokens.mjs +1 -1
  115. package/esm2022/form/form-group/form-field/form-field.component.mjs +1 -1
  116. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +1 -1
  117. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +1 -1
  118. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +1 -1
  119. package/esm2022/form/form-group/form-field-error/tokens.mjs +1 -1
  120. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +1 -1
  121. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +1 -1
  122. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +1 -1
  123. package/esm2022/form/form-group/form-group.component.mjs +1 -1
  124. package/esm2022/form/form-group/helpers.mjs +1 -1
  125. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +1 -1
  126. package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
  127. package/esm2022/form/form-helpers.mjs +3 -3
  128. package/esm2022/form/fundamental-ngx-platform-form.mjs +1 -1
  129. package/esm2022/form/helpers.mjs +1 -1
  130. package/esm2022/form/index.mjs +1 -1
  131. package/esm2022/form/input/fdp-input.module.mjs +1 -1
  132. package/esm2022/form/input/input.component.mjs +1 -1
  133. package/esm2022/form/input-group/addon-body.component.mjs +2 -2
  134. package/esm2022/form/input-group/addon.component.mjs +2 -2
  135. package/esm2022/form/input-group/constants.mjs +1 -1
  136. package/esm2022/form/input-group/input-group.component.mjs +1 -1
  137. package/esm2022/form/input-group/input-group.config.mjs +1 -1
  138. package/esm2022/form/input-group/input-group.module.mjs +3 -3
  139. package/esm2022/form/input-group/input.component.mjs +2 -2
  140. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +1 -1
  141. package/esm2022/form/models/field.model.mjs +1 -1
  142. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +1 -1
  143. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +2 -2
  144. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
  145. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +1 -1
  146. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +2 -2
  147. package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
  148. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +1 -1
  149. package/esm2022/form/multi-input/base-multi-input.mjs +1 -1
  150. package/esm2022/form/multi-input/index.mjs +2 -2
  151. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  152. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +1 -1
  153. package/esm2022/form/multi-input/multi-input.component.mjs +2 -2
  154. package/esm2022/form/multi-input/multi-input.config.mjs +2 -2
  155. package/esm2022/form/multi-input/multi-input.interface.mjs +1 -1
  156. package/esm2022/form/multi-input/multi-input.module.mjs +1 -1
  157. package/esm2022/form/radio-group/radio/radio.component.mjs +1 -1
  158. package/esm2022/form/radio-group/radio-group.component.mjs +1 -1
  159. package/esm2022/form/radio-group/radio-group.module.mjs +1 -1
  160. package/esm2022/form/select/commons/base-select.mjs +7 -2
  161. package/esm2022/form/select/models/select.models.mjs +1 -1
  162. package/esm2022/form/select/select/select.component.mjs +3 -3
  163. package/esm2022/form/select/select.config.mjs +1 -1
  164. package/esm2022/form/select/select.module.mjs +1 -1
  165. package/esm2022/form/step-input/base.step-input.mjs +5 -5
  166. package/esm2022/form/step-input/number/number-step-input.component.mjs +1 -1
  167. package/esm2022/form/step-input/step-input-action-button.mjs +2 -2
  168. package/esm2022/form/step-input/step-input-control.directive.mjs +2 -2
  169. package/esm2022/form/step-input/step-input-decrement.directive.mjs +1 -1
  170. package/esm2022/form/step-input/step-input-increment.directive.mjs +1 -1
  171. package/esm2022/form/step-input/step-input.config.mjs +1 -1
  172. package/esm2022/form/step-input/step-input.module.mjs +3 -3
  173. package/esm2022/form/step-input/step-input.util.mjs +1 -1
  174. package/esm2022/form/switch/switch/index.mjs +1 -1
  175. package/esm2022/form/switch/switch/switch.component.mjs +1 -1
  176. package/esm2022/form/switch/switch/switch.config.mjs +1 -1
  177. package/esm2022/form/switch/switch.module.mjs +1 -1
  178. package/esm2022/form/text-area/text-area.component.mjs +1 -1
  179. package/esm2022/form/text-area/text-area.config.mjs +1 -1
  180. package/esm2022/form/text-area/text-area.module.mjs +1 -1
  181. package/esm2022/form/time-picker/time-picker.component.mjs +1 -1
  182. package/esm2022/form/time-picker/time-picker.module.mjs +1 -1
  183. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +1 -1
  184. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +1 -1
  185. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +1 -1
  186. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +1 -1
  187. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +1 -1
  188. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +1 -1
  189. package/esm2022/icon-tab-bar/components/index.mjs +1 -1
  190. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +3 -3
  191. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +1 -1
  192. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +3 -3
  193. package/esm2022/icon-tab-bar/constants.mjs +1 -1
  194. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +1 -1
  195. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +1 -1
  196. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +1 -1
  197. package/esm2022/icon-tab-bar/fundamental-ngx-platform-icon-tab-bar.mjs +1 -1
  198. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +1 -1
  199. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +1 -1
  200. package/esm2022/icon-tab-bar/index.mjs +8 -8
  201. package/esm2022/icon-tab-bar/interfaces/icon-tab-bar-item.interface.mjs +1 -1
  202. package/esm2022/icon-tab-bar/interfaces/tab-color-associations.interface.mjs +1 -1
  203. package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
  204. package/esm2022/icon-tab-bar/types.mjs +1 -1
  205. package/esm2022/info-label/fundamental-ngx-platform-info-label.mjs +1 -1
  206. package/esm2022/info-label/index.mjs +1 -1
  207. package/esm2022/info-label/info-label.component.mjs +1 -1
  208. package/esm2022/info-label/info-label.module.mjs +1 -1
  209. package/esm2022/link/fundamental-ngx-platform-link.mjs +1 -1
  210. package/esm2022/link/index.mjs +1 -1
  211. package/esm2022/link/link.component.mjs +3 -3
  212. package/esm2022/link/link.module.mjs +1 -1
  213. package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
  214. package/esm2022/list/action-list-item/action-list-item.module.mjs +1 -1
  215. package/esm2022/list/base-list-item.mjs +2 -2
  216. package/esm2022/list/display-list-item/display-list-item.component.mjs +3 -3
  217. package/esm2022/list/display-list-item/display-list-item.module.mjs +1 -1
  218. package/esm2022/list/fdpListComponent.token.mjs +1 -1
  219. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
  220. package/esm2022/list/fundamental-ngx-platform-list.mjs +1 -1
  221. package/esm2022/list/index.mjs +13 -13
  222. package/esm2022/list/list-group-footer.component.mjs +3 -3
  223. package/esm2022/list/list-group-header.component.mjs +5 -5
  224. package/esm2022/list/list.component.mjs +5 -5
  225. package/esm2022/list/list.config.mjs +1 -1
  226. package/esm2022/list/list.module.mjs +1 -1
  227. package/esm2022/list/load-more-content.directive.mjs +1 -1
  228. package/esm2022/list/models/list.mjs +1 -1
  229. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +1 -1
  230. package/esm2022/list/object-list-item/object-list-item.component.mjs +3 -3
  231. package/esm2022/list/object-list-item/object-list-item.module.mjs +1 -1
  232. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +3 -3
  233. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +1 -1
  234. package/esm2022/menu/fundamental-ngx-platform-menu.mjs +1 -1
  235. package/esm2022/menu/index.mjs +3 -3
  236. package/esm2022/menu/menu-item.component.mjs +1 -1
  237. package/esm2022/menu/menu-trigger.directive.mjs +1 -1
  238. package/esm2022/menu/menu.component.mjs +1 -1
  239. package/esm2022/menu/menu.module.mjs +1 -1
  240. package/esm2022/menu-button/fundamental-ngx-platform-menu-button.mjs +1 -1
  241. package/esm2022/menu-button/index.mjs +2 -2
  242. package/esm2022/menu-button/menu-button.component.mjs +8 -3
  243. package/esm2022/menu-button/menu-button.module.mjs +1 -1
  244. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +1 -1
  245. package/esm2022/message-popover/components/message-view/message-view.component.mjs +2 -2
  246. package/esm2022/message-popover/default-config.mjs +1 -1
  247. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +1 -1
  248. package/esm2022/message-popover/fundamental-ngx-platform-message-popover.mjs +1 -1
  249. package/esm2022/message-popover/index.mjs +5 -5
  250. package/esm2022/message-popover/message-popover.component.mjs +2 -2
  251. package/esm2022/message-popover/models/message-popover-entry.interface.mjs +1 -1
  252. package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
  253. package/esm2022/message-popover/models/message-popover.interface.mjs +1 -1
  254. package/esm2022/message-popover/platform-message-popover.module.mjs +3 -3
  255. package/esm2022/message-popover/utils.mjs +1 -1
  256. package/esm2022/object-attribute/fundamental-ngx-platform-object-attribute.mjs +1 -1
  257. package/esm2022/object-attribute/index.mjs +1 -1
  258. package/esm2022/object-marker/fundamental-ngx-platform-object-marker.mjs +1 -1
  259. package/esm2022/object-marker/index.mjs +1 -1
  260. package/esm2022/object-marker/object-marker.component.mjs +8 -3
  261. package/esm2022/object-marker/object-marker.module.mjs +1 -1
  262. package/esm2022/object-status/fundamental-ngx-platform-object-status.mjs +1 -1
  263. package/esm2022/object-status/index.mjs +1 -1
  264. package/esm2022/object-status/object-status.component.mjs +8 -3
  265. package/esm2022/object-status/object-status.module.mjs +1 -1
  266. package/esm2022/page-footer/fundamental-ngx-platform-page-footer.mjs +1 -1
  267. package/esm2022/page-footer/index.mjs +1 -1
  268. package/esm2022/page-footer/page-footer.component.mjs +1 -1
  269. package/esm2022/page-footer/page-footer.module.mjs +1 -1
  270. package/esm2022/panel/fundamental-ngx-platform-panel.mjs +1 -1
  271. package/esm2022/panel/index.mjs +3 -3
  272. package/esm2022/panel/panel-actions.component.mjs +1 -1
  273. package/esm2022/panel/panel-content/panel-content.component.mjs +1 -1
  274. package/esm2022/panel/panel.component.mjs +1 -1
  275. package/esm2022/panel/panel.config.mjs +1 -1
  276. package/esm2022/panel/panel.module.mjs +1 -1
  277. package/esm2022/search-field/fundamental-ngx-platform-search-field.mjs +1 -1
  278. package/esm2022/search-field/index.mjs +2 -2
  279. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
  280. package/esm2022/search-field/search-field-mobile/search-field-mobile.interface.mjs +1 -1
  281. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +1 -1
  282. package/esm2022/search-field/search-field.component.mjs +2 -2
  283. package/esm2022/search-field/search-field.module.mjs +1 -1
  284. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +1 -1
  285. package/esm2022/settings-generator/default-config.mjs +1 -1
  286. package/esm2022/settings-generator/fundamental-ngx-platform-settings-generator.mjs +1 -1
  287. package/esm2022/settings-generator/index.mjs +5 -5
  288. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +2 -2
  289. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +1 -1
  290. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
  291. package/esm2022/settings-generator/models/settings-config.model.mjs +1 -1
  292. package/esm2022/settings-generator/models/settings-generator.model.mjs +1 -1
  293. package/esm2022/settings-generator/models/settings.model.mjs +1 -1
  294. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
  295. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +1 -1
  296. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +1 -1
  297. package/esm2022/settings-generator/settings-generator.component.mjs +1 -1
  298. package/esm2022/settings-generator/settings-generator.module.mjs +1 -1
  299. package/esm2022/settings-generator/settings-generator.service.mjs +2 -2
  300. package/esm2022/settings-generator/tokens.mjs +1 -1
  301. package/esm2022/shared/base.mjs +1 -1
  302. package/esm2022/shared/domain/array-data-source.mjs +2 -2
  303. package/esm2022/shared/domain/base-data-provider.mjs +3 -3
  304. package/esm2022/shared/domain/data-model.mjs +1 -1
  305. package/esm2022/shared/domain/data-source.mjs +1 -1
  306. package/esm2022/shared/domain/observable-data-source.mjs +2 -2
  307. package/esm2022/shared/form/base.input.mjs +1 -1
  308. package/esm2022/shared/form/collection-base.input.mjs +4 -4
  309. package/esm2022/shared/form/form-error.mjs +1 -1
  310. package/esm2022/shared/form/form-field.mjs +1 -1
  311. package/esm2022/shared/form/form-options.mjs +1 -1
  312. package/esm2022/shared/form/hint-options.mjs +1 -1
  313. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +3 -3
  314. package/esm2022/shared/fundamental-ngx-platform-shared.mjs +1 -1
  315. package/esm2022/shared/index.mjs +4 -4
  316. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +1 -1
  317. package/esm2022/shared/pipes/pipe.module.mjs +1 -1
  318. package/esm2022/shared/platform.config.mjs +1 -1
  319. package/esm2022/shared/preset-management/preset-managed-component.interface.mjs +1 -1
  320. package/esm2022/shared/preset-management/preset-management.token.mjs +1 -1
  321. package/esm2022/shared/testing/event-objects.mjs +1 -1
  322. package/esm2022/shared/utils/lang.mjs +1 -1
  323. package/esm2022/slider/fundamental-ngx-platform-slider.mjs +1 -1
  324. package/esm2022/slider/index.mjs +1 -1
  325. package/esm2022/slider/slider.component.mjs +2 -2
  326. package/esm2022/slider/slider.module.mjs +1 -1
  327. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +1 -1
  328. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +1 -1
  329. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +2 -2
  330. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/data-provider.mjs +1 -1
  331. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
  332. package/esm2022/smart-filter-bar/constants.mjs +1 -1
  333. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +1 -1
  334. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +1 -1
  335. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +1 -1
  336. package/esm2022/smart-filter-bar/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
  337. package/esm2022/smart-filter-bar/helpers.mjs +1 -1
  338. package/esm2022/smart-filter-bar/index.mjs +8 -8
  339. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-change.mjs +1 -1
  340. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-condition.mjs +1 -1
  341. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-custom-filter-config.mjs +1 -1
  342. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-field-definition.mjs +1 -1
  343. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-field-filter-item.mjs +1 -1
  344. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.mjs +1 -1
  345. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-visibility-category.mjs +1 -1
  346. package/esm2022/smart-filter-bar/interfaces/smart-filter-dynamic-form-item.mjs +1 -1
  347. package/esm2022/smart-filter-bar/interfaces/strategy-labels.type.mjs +1 -1
  348. package/esm2022/smart-filter-bar/providers/smart-filter-bar.provider.mjs +1 -1
  349. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +1 -1
  350. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +2 -2
  351. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +1 -1
  352. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +2 -2
  353. package/esm2022/split-menu-button/fundamental-ngx-platform-split-menu-button.mjs +1 -1
  354. package/esm2022/split-menu-button/index.mjs +1 -1
  355. package/esm2022/split-menu-button/split-menu-button.component.mjs +8 -3
  356. package/esm2022/split-menu-button/split-menu-button.module.mjs +1 -1
  357. package/esm2022/table/components/index.mjs +9 -9
  358. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +1 -1
  359. package/esm2022/table/components/reset-button/reset-button.component.mjs +1 -1
  360. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +2 -2
  361. package/esm2022/table/components/table-column/table-column.component.mjs +1 -1
  362. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +1 -1
  363. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +1 -1
  364. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +1 -1
  365. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +2 -2
  366. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +1 -1
  367. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +1 -1
  368. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +2 -2
  369. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +1 -1
  370. package/esm2022/table/components/table-p13-dialog/filtering/filtering.model.mjs +1 -1
  371. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +2 -2
  372. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +2 -2
  373. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +1 -1
  374. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +1 -1
  375. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +1 -1
  376. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +1 -1
  377. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +1 -1
  378. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +1 -1
  379. package/esm2022/table/components/table-row/table-row.component.mjs +6 -4
  380. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +1 -1
  381. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +1 -1
  382. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +2 -2
  383. package/esm2022/table/components/table-toolbar/table-toolbar.mjs +1 -1
  384. package/esm2022/table/components/table-view-settings-dialog/filtering/constants.mjs +1 -1
  385. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +1 -1
  386. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
  387. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
  388. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +1 -1
  389. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-active-step.mjs +1 -1
  390. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
  391. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +1 -1
  392. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
  393. package/esm2022/table/components/table-view-settings-dialog/index.mjs +3 -3
  394. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
  395. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +1 -1
  396. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +1 -1
  397. package/esm2022/table/fundamental-ngx-platform-table.mjs +1 -1
  398. package/esm2022/table/index.mjs +15 -15
  399. package/esm2022/table/table.component.mjs +14 -10
  400. package/esm2022/table/table.module.mjs +1 -1
  401. package/esm2022/table-helpers/constants/index.mjs +1 -1
  402. package/esm2022/table-helpers/constants/tokens.mjs +1 -1
  403. package/esm2022/table-helpers/directives/index.mjs +7 -7
  404. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
  405. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +1 -1
  406. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +3 -3
  407. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +2 -2
  408. package/esm2022/table-helpers/directives/table-cell.directive.mjs +1 -1
  409. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -2
  410. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +1 -1
  411. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +2 -2
  412. package/esm2022/table-helpers/directives/table-header.directive.mjs +1 -1
  413. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +1 -1
  414. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
  415. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +1 -1
  416. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +2 -2
  417. package/esm2022/table-helpers/domain/array-data-source.mjs +3 -3
  418. package/esm2022/table-helpers/domain/data-source-parser.class.mjs +1 -1
  419. package/esm2022/table-helpers/domain/index.mjs +4 -4
  420. package/esm2022/table-helpers/domain/observable-data-source.mjs +3 -3
  421. package/esm2022/table-helpers/domain/table-data-provider.mjs +1 -1
  422. package/esm2022/table-helpers/domain/table-data-source.mjs +1 -1
  423. package/esm2022/table-helpers/enums/collection-filter.enum.mjs +1 -1
  424. package/esm2022/table-helpers/enums/column-align.enum.mjs +1 -1
  425. package/esm2022/table-helpers/enums/filter-type.enum.mjs +1 -1
  426. package/esm2022/table-helpers/enums/index.mjs +4 -4
  427. package/esm2022/table-helpers/enums/row-type.enum.mjs +1 -1
  428. package/esm2022/table-helpers/enums/selection-mode.enum.mjs +1 -1
  429. package/esm2022/table-helpers/enums/sort-direction.enum.mjs +1 -1
  430. package/esm2022/table-helpers/fundamental-ngx-platform-table-helpers.mjs +1 -1
  431. package/esm2022/table-helpers/helpers.mjs +6 -3
  432. package/esm2022/table-helpers/index.mjs +9 -9
  433. package/esm2022/table-helpers/interfaces/collection-filter.interface.mjs +1 -1
  434. package/esm2022/table-helpers/interfaces/collection-group.interface.mjs +1 -1
  435. package/esm2022/table-helpers/interfaces/collection-page.interface.mjs +1 -1
  436. package/esm2022/table-helpers/interfaces/collection-sort.interface.mjs +1 -1
  437. package/esm2022/table-helpers/interfaces/collection-state.interface.mjs +1 -1
  438. package/esm2022/table-helpers/interfaces/column-responsive-state.interface.mjs +1 -1
  439. package/esm2022/table-helpers/interfaces/index.mjs +3 -4
  440. package/esm2022/table-helpers/interfaces/selection-value.interface.mjs +1 -1
  441. package/esm2022/table-helpers/interfaces/table-state.interface.mjs +1 -1
  442. package/esm2022/table-helpers/models/column-freeze-event.model.mjs +1 -1
  443. package/esm2022/table-helpers/models/columns-change-event.model.mjs +1 -1
  444. package/esm2022/table-helpers/models/data-source.type.mjs +1 -1
  445. package/esm2022/table-helpers/models/directives.mjs +1 -1
  446. package/esm2022/table-helpers/models/dnd.mjs +1 -1
  447. package/esm2022/table-helpers/models/filter-change-event.model.mjs +1 -1
  448. package/esm2022/table-helpers/models/group-change-event.model.mjs +1 -1
  449. package/esm2022/table-helpers/models/index.mjs +15 -15
  450. package/esm2022/table-helpers/models/page-change-event.model.mjs +1 -1
  451. package/esm2022/table-helpers/models/row-comparator.model.mjs +1 -1
  452. package/esm2022/table-helpers/models/save-rows-event.interface.mjs +1 -1
  453. package/esm2022/table-helpers/models/search-change-event.model.mjs +1 -1
  454. package/esm2022/table-helpers/models/selection-change-event.model.mjs +1 -1
  455. package/esm2022/table-helpers/models/sort-change-event.model.mjs +1 -1
  456. package/esm2022/table-helpers/models/table-dialog-common-data.model.mjs +1 -1
  457. package/esm2022/table-helpers/models/table-item.model.mjs +1 -1
  458. package/esm2022/table-helpers/models/table-managed-preset.mjs +1 -1
  459. package/esm2022/table-helpers/models/table-row-activate-event.model.mjs +1 -1
  460. package/esm2022/table-helpers/models/table-row-toggle-open-state-event.model.mjs +1 -1
  461. package/esm2022/table-helpers/models/table-row.model.mjs +1 -1
  462. package/esm2022/table-helpers/models/table-rows-rearrange-event.model.mjs +1 -1
  463. package/esm2022/table-helpers/models/tree-table.model.mjs +1 -1
  464. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +1 -1
  465. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +1 -1
  466. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +1 -1
  467. package/esm2022/table-helpers/pipes/index.mjs +1 -1
  468. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +1 -1
  469. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +1 -1
  470. package/esm2022/table-helpers/services/table-column-resize.service.mjs +3 -4
  471. package/esm2022/table-helpers/services/table-responsive.service.mjs +1 -1
  472. package/esm2022/table-helpers/services/table-row.service.mjs +1 -1
  473. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +1 -1
  474. package/esm2022/table-helpers/services/table.service.mjs +1 -1
  475. package/esm2022/table-helpers/table-cell.class.mjs +1 -1
  476. package/esm2022/table-helpers/table-column.mjs +1 -1
  477. package/esm2022/table-helpers/table-helpers.module.mjs +2 -2
  478. package/esm2022/table-helpers/table.mjs +1 -1
  479. package/esm2022/table-helpers/utils.mjs +1 -1
  480. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +1 -1
  481. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +2 -2
  482. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +26 -6
  483. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +7 -3
  484. package/esm2022/value-help-dialog/constans/condition-display.function.mjs +2 -2
  485. package/esm2022/value-help-dialog/constans/index.mjs +1 -1
  486. package/esm2022/value-help-dialog/constans/variables.mjs +1 -1
  487. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +1 -1
  488. package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +24 -0
  489. package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
  490. package/esm2022/value-help-dialog/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
  491. package/esm2022/value-help-dialog/index.mjs +4 -3
  492. package/esm2022/value-help-dialog/models/index.mjs +2 -2
  493. package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
  494. package/esm2022/value-help-dialog/models/vhd-data.source.mjs +1 -1
  495. package/esm2022/value-help-dialog/models/vhd-filter-rule.model.mjs +1 -1
  496. package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
  497. package/esm2022/value-help-dialog/models/vhd-strategy.enum.mjs +1 -1
  498. package/esm2022/value-help-dialog/models/vhd-tab-type.enum.mjs +1 -1
  499. package/esm2022/value-help-dialog/models/vhd-table-selection.type.mjs +1 -1
  500. package/esm2022/value-help-dialog/models/vhd-type-condition.enum.mjs +1 -1
  501. package/esm2022/value-help-dialog/models/vhd-value.model.mjs +1 -1
  502. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +26 -6
  503. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +1 -1
  504. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +1 -1
  505. package/esm2022/variant-management/components/manage-variants-dialog/data-provider.mjs +1 -1
  506. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +2 -2
  507. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +1 -1
  508. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +1 -1
  509. package/esm2022/variant-management/fundamental-ngx-platform-variant-management.mjs +1 -1
  510. package/esm2022/variant-management/index.mjs +4 -4
  511. package/esm2022/variant-management/models/save-dialog.model.mjs +1 -1
  512. package/esm2022/variant-management/models/variant-management.mjs +1 -1
  513. package/esm2022/variant-management/models/variant.interface.mjs +1 -1
  514. package/esm2022/variant-management/tokens.mjs +1 -1
  515. package/esm2022/variant-management/variant-item.class.mjs +1 -1
  516. package/esm2022/variant-management/variant-management.component.mjs +2 -2
  517. package/esm2022/variant-management/variant-management.module.mjs +1 -1
  518. package/esm2022/wizard-generator/base-wizard-generator.mjs +2 -2
  519. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +2 -2
  520. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +2 -2
  521. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +1 -1
  522. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +1 -1
  523. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +1 -1
  524. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +1 -1
  525. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +1 -1
  526. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +1 -1
  527. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +1 -1
  528. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +1 -1
  529. package/esm2022/wizard-generator/fundamental-ngx-platform-wizard-generator.mjs +1 -1
  530. package/esm2022/wizard-generator/index.mjs +10 -10
  531. package/esm2022/wizard-generator/interfaces/wizard-dialog-data.interface.mjs +1 -1
  532. package/esm2022/wizard-generator/interfaces/wizard-generator-form-group.interface.mjs +1 -1
  533. package/esm2022/wizard-generator/interfaces/wizard-generator-forms.interface.mjs +1 -1
  534. package/esm2022/wizard-generator/interfaces/wizard-generator-item.interface.mjs +1 -1
  535. package/esm2022/wizard-generator/interfaces/wizard-generator-summary-item.interface.mjs +1 -1
  536. package/esm2022/wizard-generator/interfaces/wizard-navigation-buttons.interface.mjs +1 -1
  537. package/esm2022/wizard-generator/interfaces/wizard-step.interface.mjs +1 -1
  538. package/esm2022/wizard-generator/interfaces/wizard-title.interface.mjs +1 -1
  539. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +1 -1
  540. package/esm2022/wizard-generator/wizard-generator.module.mjs +8 -8
  541. package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
  542. package/feed-input/index.d.ts +1 -1
  543. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +889 -889
  544. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  545. package/fesm2022/fundamental-ngx-platform-button.mjs +8 -3
  546. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  547. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  548. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +1 -1
  549. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  550. package/fesm2022/fundamental-ngx-platform-form.mjs +2729 -2716
  551. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  552. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +9 -9
  553. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  554. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  555. package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
  556. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  557. package/fesm2022/fundamental-ngx-platform-list.mjs +23 -23
  558. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  559. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -3
  560. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  561. package/fesm2022/fundamental-ngx-platform-menu.mjs +3 -3
  562. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  563. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +353 -353
  564. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  565. package/fesm2022/fundamental-ngx-platform-object-attribute.mjs.map +1 -1
  566. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +7 -2
  567. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  568. package/fesm2022/fundamental-ngx-platform-object-status.mjs +7 -2
  569. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  570. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  571. package/fesm2022/fundamental-ngx-platform-panel.mjs +10 -10
  572. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  573. package/fesm2022/fundamental-ngx-platform-search-field.mjs +13 -13
  574. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  575. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  576. package/fesm2022/fundamental-ngx-platform-shared.mjs +62 -62
  577. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  578. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  579. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +20 -20
  580. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  581. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +7 -2
  582. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  583. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +2925 -2922
  584. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  585. package/fesm2022/fundamental-ngx-platform-table.mjs +365 -360
  586. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  587. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +182 -98
  588. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  589. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +177 -177
  590. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  591. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +41 -41
  592. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  593. package/form/combobox/combobox.config.d.ts +1 -1
  594. package/form/date-picker/date-picker.component.d.ts +5 -5
  595. package/form/datetime-picker/datetime-picker.component.d.ts +3 -3
  596. package/form/form-generator/dynamic-form-control.directive.d.ts +3 -3
  597. package/form/form-generator/form-generator.service.d.ts +2 -2
  598. package/form/form-group/pipes/field-group-row-value.pipe.d.ts +1 -1
  599. package/form/form-group/services/form-field-layout.service.d.ts +1 -1
  600. package/form/form-helpers.d.ts +1 -1
  601. package/form/input-group/addon.component.d.ts +1 -1
  602. package/form/multi-combobox/multi-combobox.config.d.ts +1 -1
  603. package/form/multi-input/index.d.ts +1 -1
  604. package/form/multi-input/multi-input.config.d.ts +1 -1
  605. package/form/select/commons/base-select.d.ts +4 -1
  606. package/form/step-input/base.step-input.d.ts +4 -5
  607. package/fundamental-ngx-platform-v0.48.0-rc.21.tgz +0 -0
  608. package/icon-tab-bar/index.d.ts +7 -7
  609. package/icon-tab-bar/interfaces/icon-tab-bar-item.interface.d.ts +1 -1
  610. package/list/index.d.ts +12 -12
  611. package/menu/index.d.ts +2 -2
  612. package/menu-button/index.d.ts +1 -1
  613. package/menu-button/menu-button.component.d.ts +5 -2
  614. package/message-popover/index.d.ts +4 -4
  615. package/message-popover/models/message-popover-entry.interface.d.ts +1 -1
  616. package/message-popover/models/message-popover.interface.d.ts +1 -1
  617. package/message-popover/utils.d.ts +1 -1
  618. package/object-marker/object-marker.component.d.ts +4 -1
  619. package/object-status/object-status.component.d.ts +4 -1
  620. package/package.json +4 -4
  621. package/panel/index.d.ts +2 -2
  622. package/schematics/ng-add/index.js +1 -1
  623. package/search-field/index.d.ts +1 -1
  624. package/settings-generator/index.d.ts +4 -4
  625. package/settings-generator/layouts/base-settings-generator-layout.d.ts +1 -1
  626. package/settings-generator/settings-generator.service.d.ts +2 -2
  627. package/shared/domain/array-data-source.d.ts +0 -3
  628. package/shared/form/collection-base.input.d.ts +1 -1
  629. package/shared/form/form-field.d.ts +2 -2
  630. package/shared/form/hint-options.d.ts +2 -2
  631. package/shared/form/inline-layout-collection-base.input.d.ts +1 -1
  632. package/shared/index.d.ts +3 -3
  633. package/smart-filter-bar/index.d.ts +7 -7
  634. package/smart-filter-bar/interfaces/smart-filter-bar-condition.d.ts +2 -2
  635. package/smart-filter-bar/interfaces/smart-filter-bar-custom-filter-config.d.ts +1 -1
  636. package/smart-filter-bar/interfaces/smart-filter-bar-field-definition.d.ts +1 -1
  637. package/smart-filter-bar/interfaces/smart-filter-dynamic-form-item.d.ts +1 -1
  638. package/smart-filter-bar/smart-filter-bar.service.d.ts +2 -2
  639. package/split-menu-button/split-menu-button.component.d.ts +5 -2
  640. package/table/components/index.d.ts +8 -8
  641. package/table/components/table-view-settings-dialog/index.d.ts +2 -2
  642. package/table/index.d.ts +14 -14
  643. package/table/table.component.d.ts +4 -0
  644. package/table-helpers/constants/index.d.ts +1 -1
  645. package/table-helpers/directives/index.d.ts +6 -6
  646. package/table-helpers/directives/platform-table-column-responsive.directive.d.ts +1 -1
  647. package/table-helpers/directives/table-scrollable.directive.d.ts +1 -1
  648. package/table-helpers/domain/array-data-source.d.ts +3 -3
  649. package/table-helpers/domain/index.d.ts +3 -3
  650. package/table-helpers/domain/observable-data-source.d.ts +3 -3
  651. package/table-helpers/enums/index.d.ts +3 -3
  652. package/table-helpers/helpers.d.ts +1 -1
  653. package/table-helpers/index.d.ts +8 -8
  654. package/table-helpers/interfaces/collection-filter.interface.d.ts +1 -1
  655. package/table-helpers/interfaces/collection-state.interface.d.ts +1 -1
  656. package/table-helpers/interfaces/index.d.ts +2 -3
  657. package/table-helpers/models/filter-change-event.model.d.ts +1 -1
  658. package/table-helpers/models/group-change-event.model.d.ts +1 -1
  659. package/table-helpers/models/index.d.ts +14 -14
  660. package/table-helpers/models/sort-change-event.model.d.ts +1 -1
  661. package/table-helpers/pipes/selection-cell-styles.pipe.d.ts +1 -1
  662. package/table-helpers/table.d.ts +1 -0
  663. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
  664. package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
  665. package/value-help-dialog/constans/condition-display.function.d.ts +1 -1
  666. package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
  667. package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
  668. package/value-help-dialog/index.d.ts +3 -2
  669. package/value-help-dialog/models/index.d.ts +1 -1
  670. package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
  671. package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
  672. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +8 -6
  673. package/variant-management/index.d.ts +3 -3
  674. package/variant-management/models/variant-management.d.ts +1 -1
  675. package/wizard-generator/base-wizard-generator.d.ts +1 -1
  676. package/wizard-generator/index.d.ts +9 -9
  677. package/wizard-generator/interfaces/wizard-generator-form-group.interface.d.ts +1 -1
  678. package/wizard-generator/interfaces/wizard-generator-item.interface.d.ts +1 -1
  679. package/wizard-generator/interfaces/wizard-step.interface.d.ts +2 -2
  680. package/wizard-generator/wizard-generator.service.d.ts +1 -1
  681. package/fundamental-ngx-platform-v0.48.0-rc.2.tgz +0 -0
  682. package/schematics/ng-add/index.ts +0 -64
  683. package/schematics/ng-add/schema.ts +0 -3
  684. package/schematics/utils/package-utils.ts +0 -104
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-wizard-generator.mjs","sources":["../../../../libs/platform/src/lib/wizard-generator/wizard-generator.service.ts","../../../../libs/platform/src/lib/wizard-generator/base-wizard-generator.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.html","../../../../libs/platform/src/lib/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.html","../../../../libs/platform/src/lib/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.html","../../../../libs/platform/src/lib/wizard-generator/components/wizard-body/wizard-body.component.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-body/wizard-body.component.html","../../../../libs/platform/src/lib/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.ts","../../../../libs/platform/src/lib/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.html","../../../../libs/platform/src/lib/wizard-generator/wizard-dialog-generator.service.ts","../../../../libs/platform/src/lib/wizard-generator/directives/wizard-generator-go-next-button.directive.ts","../../../../libs/platform/src/lib/wizard-generator/directives/wizard-generator-finish-button.directive.ts","../../../../libs/platform/src/lib/wizard-generator/directives/wizard-generator-review-button.directive.ts","../../../../libs/platform/src/lib/wizard-generator/directives/wizard-generator-summary-step.directive.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-generator/wizard-generator.component.ts","../../../../libs/platform/src/lib/wizard-generator/components/wizard-generator/wizard-generator.component.html","../../../../libs/platform/src/lib/wizard-generator/wizard-generator.module.ts","../../../../libs/platform/src/lib/wizard-generator/fundamental-ngx-platform-wizard-generator.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { cloneDeep, concat, mergeWith, uniq } from 'lodash-es';\n\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { WizardGeneratorFormGroup, WizardGeneratorFormItem } from './interfaces/wizard-generator-form-group.interface';\nimport { isFunction, selectStrategy } from '@fundamental-ngx/cdk/utils';\nimport { PreparedWizardGeneratorItem, WizardGeneratorItem } from './interfaces/wizard-generator-item.interface';\nimport {\n WizardGeneratorDependencyFields,\n WizardGeneratorFormsValue,\n WizardStepSubmittedForms,\n WizardVisibleSteps\n} from './interfaces/wizard-generator-forms.interface';\nimport { WizardGeneratorStep } from './interfaces/wizard-step.interface';\n\nexport type StepsComponents = Map<string, WizardGeneratorStep>;\n\nexport enum WizardGeneratorRefreshStrategy {\n REFRESH_STEP_VISIBILITY = 'refreshStepVisibility',\n REVALIDATE_STEP_FORMS = 'revalidateStepForms',\n REFRESH_FORM_VISIBILITY = 'refreshFormVisibility'\n}\n\nexport interface DependencySteps {\n /** Step ID */\n [key: string]: {\n /** Form ID with array of form control id's */\n [key: string]: {\n [key in WizardGeneratorRefreshStrategy]?: string[];\n };\n };\n}\n\nexport interface StepDependencyFields {\n /** Dependent step */\n [key: string]: DependencySteps;\n}\n\n/**\n * @description Helper service to keep all transformations and data in one place.\n */\n@Injectable()\nexport class WizardGeneratorService {\n /** @hidden */\n items: PreparedWizardGeneratorItem[];\n\n /**\n * @description Visible steps components\n */\n stepsComponents: StepsComponents = new Map();\n\n /**\n * @description Object with steps that are dependencies for another steps.\n */\n dependencySteps: StepDependencyFields = {};\n\n /**\n * @description Whether to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n appendToWizard = true;\n\n /** @hidden */\n _shouldRedirectToSummary = false;\n\n /**\n * @description Steps that are visible to the user.\n */\n public visibleWizardSteps: PreparedWizardGeneratorItem[] = [];\n\n /** @hidden */\n private _visibleWizardSteps$ = new Subject<PreparedWizardGeneratorItem[]>();\n\n /** @hidden */\n private _appendToWizard$ = new BehaviorSubject<boolean>(this.appendToWizard);\n\n /** @hidden */\n private _stepsComponents$ = new Subject<StepsComponents>();\n\n /** @hidden */\n private _stepsOrderChanged$ = new Subject<number>();\n\n /** @hidden */\n private _nextStepIndex$ = new BehaviorSubject<number>(1);\n\n /** @hidden */\n private _submittedFormRawValues: WizardGeneratorFormsValue = {};\n\n /** @hidden */\n private _wizardStepIds: string[] = [];\n\n /** @hidden */\n constructor(private _formGeneratorService: FormGeneratorService) {}\n\n /**\n * @description Returns current step ID in Wizard.\n * @returns {string | undefined} Current step ID.\n */\n getCurrentStepId(): string | undefined {\n const currentStepId = this.visibleWizardSteps?.find((i) => i.status === 'current');\n\n return currentStepId?.id;\n }\n\n /**\n * @description Returns current step index.\n * @returns {number} Index of the current step in array of Wizard steps.\n */\n getCurrentStepIndex(): number {\n const currentStepId = this.getCurrentStepId();\n return this.getStepIndex(currentStepId);\n }\n\n /**\n * Searches for the index of the step based on it's ID\n * @param stepId Step ID\n * @returns Index in the array of steps for defined step ID.\n */\n getStepIndex(stepId?: string): number {\n const stepIndex = this.visibleWizardSteps?.findIndex((i) => i.id === stepId);\n return stepIndex > -1 ? stepIndex : 0;\n }\n\n /**\n * @description Sends command to submit all forms inside the step.\n * @param stepId Step ID for which forms need's to be submitted.\n * @param skipIfUntouched Skip validation if form haven't been touched.\n * @returns {Observable<WizardStepSubmittedForms>} Observable, which will emit\n * when all visible forms in step are submitted.\n */\n submitStepForms(stepId?: string, skipIfUntouched = false): Observable<WizardStepSubmittedForms | null> {\n if (!stepId) {\n return of(null);\n }\n\n const step = this.stepsComponents.get(stepId);\n\n if (!step) {\n return of(null);\n }\n\n return step.submitForms(skipIfUntouched).pipe(\n take(1),\n map((result) => {\n if (result) {\n this._submittedFormRawValues[stepId] = result;\n }\n return result;\n })\n );\n }\n\n /**\n * @description Triggers validation for current step forms.\n * @returns {Observable<boolean>} Observable with validation result.\n */\n validateStepForms(skipIfUntouched = false): Observable<boolean> {\n const currentStepId = this.getCurrentStepId();\n\n if (!currentStepId) {\n return of(true);\n }\n\n return this.submitStepForms(currentStepId, skipIfUntouched).pipe(\n map((result) => result === null || Object.values(result).every((r) => r.success))\n );\n }\n\n /**\n * @description Sets new array of visible steps for Wizard.\n * @param steps steps that needs to be shown in Wizard.\n */\n setVisibleSteps(steps: PreparedWizardGeneratorItem[]): void {\n this.visibleWizardSteps = steps;\n this._visibleWizardSteps$.next(steps);\n\n this.setWizardStepIds(steps.map((s) => s.id));\n }\n\n /**\n * @returns {Observable<PreparedWizardGeneratorItem[]>} Observable, which will emit every time\n * when array of visible step items has been changed.\n */\n getVisibleSteps(): Observable<PreparedWizardGeneratorItem[]> {\n return this._visibleWizardSteps$.asObservable();\n }\n\n /**\n * @description Runs initial transformation for passed Wizard steps.\n * @param items All Wizard steps.\n * @returns {Promise<PreparedWizardGeneratorItem[]>} Array of transformed Wizard steps.\n */\n async prepareWizardItems(items: WizardGeneratorItem[]): Promise<PreparedWizardGeneratorItem[]> {\n let newItems: PreparedWizardGeneratorItem[] = await Promise.all(\n items.map(async (i, index) => {\n const item = { ...i };\n item.status = item.status || 'upcoming';\n item.title = await this._getFormItemPropertyValue(item, index, 'title');\n item.name = await this._getFormItemPropertyValue(item, index, 'name');\n return item as PreparedWizardGeneratorItem;\n })\n );\n\n // Summary step must be the last one in array\n const summaryStepIndex = newItems.findIndex((i) => i.summary === true);\n\n if (summaryStepIndex !== -1 && summaryStepIndex !== newItems.length - 1) {\n newItems.splice(newItems.length - 1, 0, newItems.splice(summaryStepIndex, 1)[0]);\n }\n\n // If no current step found, set first as current.\n if (newItems.findIndex((i) => i.status === 'current') === -1) {\n newItems[0].status = 'current';\n }\n\n newItems = this._setBranchingSteps(newItems);\n\n this._buildDependencyMap(newItems);\n\n this.items = newItems;\n await this.refreshStepVisibility();\n\n return newItems;\n }\n\n /**\n * @description Runs conditional function for each step to define if step should be shown.\n */\n async refreshStepVisibility(): Promise<void> {\n const formValue = await this.getWizardFormValue();\n\n const visibleStepIds: WizardVisibleSteps = {};\n\n for (const item of this.items) {\n if (!isFunction(item.when)) {\n visibleStepIds[item.id] = true;\n continue;\n }\n\n const obj = item.when!(this._getCompletedStepIds(), formValue, this._formGeneratorService.forms);\n\n visibleStepIds[item.id] = await this._getFunctionValue(obj);\n }\n\n this.setVisibleSteps(this.items.filter((item) => visibleStepIds[item.id] === true));\n }\n\n /**\n * Checks whether current form group should be visible.\n * @param formGroup Form Group.\n */\n async refreshFormVisibility(formGroup: WizardGeneratorFormGroup): Promise<boolean> {\n const formValue = await this.getWizardFormValue();\n\n const obj = formGroup.when?.(this._getCompletedStepIds(), formValue, this._formGeneratorService.forms) ?? true;\n\n return await this._getFunctionValue(obj);\n }\n\n /**\n * @description Clears array of Wizard steps components.\n */\n clearWizardStepComponents(): void {\n this.stepsComponents.clear();\n this._stepsComponents$.next(this.stepsComponents);\n }\n\n /**\n * @returns {Observable<StepsComponents>} Observable, which will emit every time\n * when Set visible steps components has been changed.\n */\n trackStepsComponents(): Observable<StepsComponents> {\n return this._stepsComponents$.asObservable();\n }\n\n /**\n * @description Adds new component to the set of Wizard steps components.\n * @param component Wizard Step component to add.\n * @param key Wizard Step ID.\n */\n addWizardStepComponent(component: WizardGeneratorStep, key: string): void {\n this.stepsComponents.set(key, component);\n this._stepsComponents$.next(this.stepsComponents);\n }\n\n /**\n * @description Removes Component from the set of Wizard steps components.\n * @param key\n */\n removeWizardStepComponent(key: string): void {\n this.stepsComponents.delete(key);\n this._stepsComponents$.next(this.stepsComponents);\n }\n\n /**\n * @param step Step ID which includes dependency fields.\n * @returns Object with forms and their fields that are dependencies for other steps.\n */\n getStepDependencyFields(step: string): DependencySteps {\n return this.dependencySteps[step];\n }\n\n /**\n * Notifies step components to revalidate inner forms.\n * @param stepIds Step ID's which needs to be revalidated.\n */\n notifyStepsToRevalidateForms(stepIds: string[]): void {\n stepIds.forEach((stepId) => this.stepsComponents.get(stepId)?.updateFormsState());\n }\n\n /**\n * Notifies step components to refresh form groups visibility.\n * @param stepIds Step ID's which needs to be checked.\n */\n async refreshFormsVisibility(stepIds: string[]): Promise<void> {\n for (const stepId of stepIds) {\n await this.stepsComponents.get(stepId)?.refreshFormsVisibility();\n }\n }\n\n /**\n * @param formatted Flag defining whether form value should be formatted by form control\n * transformers, or return raw value\n * @returns {WizardGeneratorFormsValue} Wizard form value\n */\n async getWizardFormValue(formatted = false): Promise<WizardGeneratorFormsValue> {\n const wizardFormValue: WizardGeneratorFormsValue = {};\n\n if (!this.visibleWizardSteps) {\n return wizardFormValue;\n }\n\n for (const item of this.visibleWizardSteps.filter((s) => !s.summary)) {\n wizardFormValue[item.id] = {};\n\n const component = this.stepsComponents.get(item.id);\n\n if (!component) {\n continue;\n }\n\n const forms = component.getVisibleForms();\n\n for (const form of item?.formGroups ?? []) {\n if (!forms[form.id]) {\n continue;\n }\n\n wizardFormValue[item.id][form.id] = formatted\n ? await this._formGeneratorService.getFormValue(forms[form.id]?.form)\n : this._formGeneratorService._getFormValueWithoutUngrouped(cloneDeep(forms[form.id]?.form.value));\n }\n }\n\n return wizardFormValue;\n }\n\n /**\n *\n * @param stepId Step ID to check.\n * @returns {Boolean} indicator if step was previously validated and submitted.\n */\n stepSubmitted(stepId: string): boolean {\n return this._submittedFormRawValues[stepId] !== undefined;\n }\n\n /**\n *\n * @returns {Boolean} if steps are untouched, will return true, if yes - false\n */\n isStepsUntouched(): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return [...this.stepsComponents].every(([_, component]) =>\n component.formGenerators.toArray().every((item) => !item.form.touched)\n );\n }\n\n /**\n * Reverts wizard to defined step.\n * @param stepId Step ID to edit\n */\n editStep(stepId: string): void {\n const stepIndex = this.visibleWizardSteps.findIndex((s) => s.id === stepId);\n\n this.visibleWizardSteps = this.visibleWizardSteps.map((step, index) => {\n step.status = index === stepIndex ? 'current' : index < stepIndex ? 'completed' : 'upcoming';\n\n return step;\n });\n\n const summaryStepIndex = this.visibleWizardSteps.findIndex((s) => s.summary);\n\n this._shouldRedirectToSummary = true;\n\n this._appendToWizard$.next(false);\n\n this.setVisibleSteps(this.visibleWizardSteps);\n\n this.setNextStepIndex(summaryStepIndex);\n }\n\n /**\n * Set's current set of step ID's\n * @param ids step ID's\n */\n setWizardStepIds(ids: string[]): void {\n if (!this._wizardStepIds.every((stepId, index) => ids[index] === stepId)) {\n const firstChangedStepIndex = this._wizardStepIds.findIndex((stepId, index) => ids[index] !== stepId);\n\n this._nextStepIndex$.next(firstChangedStepIndex);\n\n this._stepsOrderChanged$.next(firstChangedStepIndex);\n }\n\n this._wizardStepIds = ids;\n }\n\n /**\n * Set next step index.\n * @param index Next step index.\n */\n setNextStepIndex(index: number): void {\n this._nextStepIndex$.next(index);\n }\n\n /**\n * Returns observable of next step index which emits when index is changed.\n */\n trackNextStepIndex(): Observable<number> {\n return this._nextStepIndex$.asObservable();\n }\n\n /**\n * Returns observable which emits when steps order has been changed.\n */\n trackStepsOrder(): Observable<number> {\n return this._stepsOrderChanged$.asObservable();\n }\n\n /**\n * Stores original 'appendToWizard' input property.\n * @param value\n */\n setOriginalAppendToWizardState(value: boolean): void {\n this.appendToWizard = value;\n this._appendToWizard$.next(this.appendToWizard);\n }\n\n /**\n * Resets modified 'appendToWizard' property to original one.\n */\n restoreAppendToWizardState(): void {\n this._appendToWizard$.next(this.appendToWizard);\n }\n\n /**\n * Returns observable which emits when 'appendToWizard' property has been changed.\n */\n trackAppendToWizardState(): Observable<boolean> {\n return this._appendToWizard$.asObservable();\n }\n\n /**\n * @hidden\n * @param items\n * @param index\n * @param key\n * @returns\n */\n private async _getFormItemPropertyValue<T = string>(\n items: WizardGeneratorItem,\n index: number,\n key: keyof WizardGeneratorItem\n ): Promise<T> {\n let value: any = items[key];\n\n if (typeof value === 'function') {\n const obj = value(index);\n\n value = await this._getFunctionValue(obj);\n }\n\n return value as T;\n }\n\n /**\n * @hidden\n * @description Returns value from Promise-like, Observable-like, simple function or just some object.\n * @param obj\n * @returns\n */\n private async _getFunctionValue(obj: any): Promise<any> {\n const strategy = selectStrategy(obj);\n\n let result: any;\n\n await strategy.createSubscription(obj, (value: any) => {\n result = value;\n });\n\n if (isFunction(result)) {\n await this._getFunctionValue(result);\n }\n\n return result;\n }\n\n /**\n * @hidden\n * @description Sets `branching` property for the steps that will create new branches.\n * @param items\n * @returns\n */\n private _setBranchingSteps(items: PreparedWizardGeneratorItem[]): PreparedWizardGeneratorItem[] {\n const branchingItems = items\n .filter((i) => i.dependencyFields)\n .reduce((stepIds, item) => {\n if (item.dependencyFields) {\n stepIds = [...stepIds, ...Object.keys(item.dependencyFields)];\n }\n\n return stepIds;\n }, [] as string[]);\n\n if (branchingItems.length > 0) {\n items = items.map((item) => {\n item.branching = item.branching || branchingItems.includes(item.id);\n return item;\n });\n }\n\n return items;\n }\n\n /** @hidden */\n private _normalizeDependencyStep(\n dependency: { [p: string]: string[] },\n strategy: WizardGeneratorRefreshStrategy,\n dependentStep?: string\n ): DependencySteps {\n const newDependency: DependencySteps = {};\n\n Object.entries(dependency).forEach(([key, value]) => {\n newDependency[key] = {};\n\n value.forEach((v) => {\n newDependency[key][v] = {\n [strategy]: dependentStep ? [dependentStep] : []\n };\n });\n });\n return newDependency;\n }\n\n /** @hidden */\n private _buildDependencyMap(items: PreparedWizardGeneratorItem[]): void {\n this.dependencySteps = {};\n\n const mergeArrays = (objValue: any, srcValue: any): any => {\n if (Array.isArray(objValue) && !objValue.includes(srcValue)) {\n return uniq(objValue.concat(srcValue));\n }\n };\n\n const buildDependencySteps = (\n dependencyFields: WizardGeneratorDependencyFields,\n strategy: WizardGeneratorRefreshStrategy,\n stepId?: string\n ): void => {\n for (const [id, forms] of Object.entries(dependencyFields)) {\n this.dependencySteps[id] = mergeWith(\n this.dependencySteps[id] || {},\n this._normalizeDependencyStep(forms, strategy, stepId),\n mergeArrays\n );\n }\n };\n\n items\n .filter((s) => s.formGroups?.length)\n .forEach((step) => {\n if (step.dependencyFields) {\n buildDependencySteps(step.dependencyFields, WizardGeneratorRefreshStrategy.REFRESH_STEP_VISIBILITY);\n }\n\n const dependentForms = step.formGroups?.filter((form) => form.dependencyFields);\n\n dependentForms?.forEach((form) => {\n buildDependencySteps(\n form.dependencyFields!,\n WizardGeneratorRefreshStrategy.REFRESH_FORM_VISIBILITY,\n step.id\n );\n });\n\n const stepFields: WizardGeneratorFormItem[] = concat(\n ...[...(step.formGroups ?? [])].map((item) => item.formItems.filter((f) => f.dependencyFields))\n );\n\n stepFields.forEach((formItem) => {\n buildDependencySteps(\n formItem.dependencyFields!,\n WizardGeneratorRefreshStrategy.REVALIDATE_STEP_FORMS,\n step.id\n );\n });\n });\n }\n\n /** @hidden */\n private _getCompletedStepIds(): string[] {\n return this.items.filter((i) => i.status === 'completed').map((i) => i.id);\n }\n}\n","import { ChangeDetectorRef, Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, takeUntil } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WizardStepStatus } from '@fundamental-ngx/core/wizard';\nimport { PreparedWizardGeneratorItem, WizardGeneratorItem } from './interfaces/wizard-generator-item.interface';\nimport { WizardNavigationButtons } from './interfaces/wizard-navigation-buttons.interface';\nimport { WizardGeneratorService } from './wizard-generator.service';\nimport { ContentDensityMode } from '@fundamental-ngx/core/content-density';\nimport { WizardGeneratorFormsValue, WizardStepSubmittedForms } from './interfaces/wizard-generator-forms.interface';\n\n/**\n * @description Default button labels.\n */\nexport const DEFAULT_WIZARD_NAVIGATION_BUTTONS: Required<WizardNavigationButtons> = {\n goBack: {\n label: 'Previous Step',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'ghost'\n },\n goNext: {\n label: 'Next Step',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'emphasized'\n },\n cancel: {\n label: 'Cancel',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'ghost'\n },\n finish: {\n label: 'Finish',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'emphasized'\n },\n review: {\n label: 'Review',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'emphasized'\n }\n};\n\n/**\n * @description Base Wizard Generator component with necessary inputs and methods.\n */\n@Directive()\nexport class BaseWizardGenerator implements OnDestroy {\n /**\n * @description Whether or not apply responsive paddings styling.\n */\n @Input()\n responsivePaddings = true;\n\n /**\n * @description Button labels to be used in Wizard navigation\n */\n @Input()\n set navigationButtonLabels(value: WizardNavigationButtons) {\n this._navigationButtonLabels = Object.assign({}, DEFAULT_WIZARD_NAVIGATION_BUTTONS, value);\n }\n get navigationButtonLabels(): WizardNavigationButtons {\n return this._navigationButtonLabels;\n }\n\n /**\n * @description Array of Wizard Steps.\n */\n @Input()\n set items(items: WizardGeneratorItem[]) {\n this.wizardCreated = false;\n this._wizardGeneratorService.clearWizardStepComponents();\n\n if (!items) {\n return;\n }\n\n this._wizardGeneratorService.prepareWizardItems(items).then((newItems) => {\n this._items = newItems;\n this._visibleItems = newItems;\n this.wizardCreated = true;\n this._cd.detectChanges();\n });\n }\n get items(): WizardGeneratorItem[] {\n return this._items;\n }\n\n /**\n * Whether to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n set appendToWizard(value: boolean) {\n this._wizardGeneratorService.setOriginalAppendToWizardState(value);\n }\n\n get appendToWizard(): boolean {\n return this._appendToWizard;\n }\n\n /** If navigation buttons should be visible. */\n @Input()\n navigationButtons = true;\n\n /**\n * Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string>;\n\n /**\n * @description Boolean flag indicating whether to display Summary step in Wizard progress bar.\n */\n @Input()\n displaySummaryStep = false;\n\n /** Whether all form items should have identical layout provided for form group. */\n @Input()\n unifiedLayout = true;\n\n /**\n * @description Emits wizard value when it's completed.\n */\n @Output()\n wizardFinished: EventEmitter<WizardGeneratorFormsValue> = new EventEmitter();\n\n /**\n * Flag indicating that wizard is ready to be shown\n */\n wizardCreated = false;\n\n /**\n * @description Is current step is summary step.\n */\n get isSummaryStep(): boolean {\n const currentIndex = this._wizardGeneratorService.getCurrentStepIndex();\n\n return this.visibleItems[currentIndex]?.summary === true;\n }\n\n /**\n * @description Array of visible Wizard Steps.\n */\n set visibleItems(items: PreparedWizardGeneratorItem[]) {\n this._visibleItems = items;\n }\n get visibleItems(): PreparedWizardGeneratorItem[] {\n return this._visibleItems || this._items;\n }\n\n /**\n * @description Whether or not Wizard is currently on the first step\n */\n get isFirstStep(): boolean {\n return this.visibleItems[0]?.status === 'current';\n }\n\n /**\n * @description Whether or not Wizard is currently on the last step\n */\n get isLastStep(): boolean {\n const lastStep = this.visibleItems[this.visibleItems.length - 1];\n return lastStep?.status === 'current' && !lastStep.branching;\n }\n\n /**\n * Whether current step is a branching step.\n */\n get isBranchingStep(): boolean {\n const currentIndex = this._wizardGeneratorService.getCurrentStepIndex();\n\n return this._visibleItems[currentIndex]?.branching === true;\n }\n\n /**\n * Whether the next step is a Summary step.\n */\n get isNextStepSummary(): boolean {\n const nextStep = this.visibleItems[this._nextStepIndex];\n return nextStep?.summary === true;\n }\n\n /** Whether the current step is completed */\n get isCurrentStepCompleted(): boolean {\n const currentIndex = this._wizardGeneratorService.getCurrentStepIndex();\n return this._visibleItems[currentIndex]?.completed === true;\n }\n\n /**\n * @hidden\n */\n _visibleItems: PreparedWizardGeneratorItem[] = [];\n\n /** @hidden */\n _nextStepIndex: number;\n\n /** @hidden */\n _stepsOrderChanged = false;\n\n /**\n * @hidden\n */\n private _items: PreparedWizardGeneratorItem[] = [];\n\n /** @hidden */\n private _appendToWizard = false;\n\n /**\n * @hidden\n */\n private _formPending = false;\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n protected readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /**\n * @hidden\n */\n _navigationButtonLabels: Required<WizardNavigationButtons> = DEFAULT_WIZARD_NAVIGATION_BUTTONS;\n\n /** @hidden */\n constructor(protected _wizardGeneratorService: WizardGeneratorService, private _cd: ChangeDetectorRef) {\n this._wizardGeneratorService\n .getVisibleSteps()\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe((visibleSteps) => {\n this.visibleItems = visibleSteps;\n this._cd.detectChanges();\n });\n\n this._wizardGeneratorService\n .trackStepsComponents()\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(async (stepsComponents) => {\n if (stepsComponents.size === this.items?.length) {\n await this._setVisibleSteps();\n }\n });\n\n this._wizardGeneratorService\n .trackAppendToWizardState()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((value) => {\n this._appendToWizard = value;\n });\n\n this._wizardGeneratorService\n .trackStepsOrder()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((newNextStep) => {\n this._nextStepIndex = newNextStep;\n this._stepsOrderChanged = true;\n });\n\n this._wizardGeneratorService\n .trackNextStepIndex()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((index) => {\n this._nextStepIndex = index;\n });\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * @description Reverts Wizard progress one step back.\n */\n goBack(): void {\n const currentStepIndex = this._wizardGeneratorService.getCurrentStepIndex();\n const previousStepIndex = currentStepIndex - 1;\n\n if (this.visibleItems[previousStepIndex] === undefined) {\n return;\n }\n\n this._stepsOrderChanged = false;\n\n this.visibleItems[currentStepIndex].status = 'upcoming';\n this.visibleItems[previousStepIndex].status = 'current';\n this._wizardGeneratorService.setVisibleSteps(this.visibleItems);\n\n this._wizardGeneratorService.setNextStepIndex(currentStepIndex);\n\n this._cd.detectChanges();\n }\n\n /**\n * @description Progresses the Wizard one step further.\n */\n async goNext(): Promise<void> {\n if (this._formPending) {\n return;\n }\n\n const currentStepIndex = this._wizardGeneratorService.getCurrentStepIndex();\n const nextStepIndex = this._nextStepIndex;\n\n this._wizardGeneratorService\n .validateStepForms()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(async (result) => {\n if (!result) {\n return;\n }\n\n await this._setVisibleSteps();\n\n const steps = this.visibleItems;\n\n if (steps[nextStepIndex] === undefined) {\n return;\n }\n\n this._stepsOrderChanged = false;\n\n steps[currentStepIndex].status = 'completed';\n steps[currentStepIndex].completed = true;\n steps[nextStepIndex].status = 'current';\n\n this._wizardGeneratorService.setVisibleSteps(steps);\n\n this._wizardGeneratorService.setNextStepIndex(nextStepIndex + 1);\n\n this._cd.detectChanges();\n });\n }\n\n /**\n * @description Submits step forms.\n * @param currentStepIndex current step index.\n * @returns {Observable<WizardStepSubmittedForms | null>} Observable with form values.\n */\n submitStepForms(currentStepIndex?: string): Observable<WizardStepSubmittedForms | null> {\n this._formPending = true;\n\n return this._wizardGeneratorService.submitStepForms(currentStepIndex).pipe(\n finalize(() => {\n this._formPending = false;\n })\n );\n }\n\n /**\n * @description Completes the wizard and emits it's formatted value.\n */\n async finish(): Promise<void> {\n if (this.isSummaryStep) {\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n this.wizardFinished.emit(wizardResult);\n return;\n }\n\n this._wizardGeneratorService\n .validateStepForms()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(async (result) => {\n if (!result) {\n return;\n }\n\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n\n this.wizardFinished.emit(wizardResult);\n });\n }\n\n /**\n * @description Callback function to update steps status.\n * @param stepNumber Step ID to be updated.\n * @param status New step status.\n */\n async stepStatusChanged(stepId: string, status: WizardStepStatus): Promise<void> {\n const stepIndex = this._visibleItems.findIndex((s) => s.id === stepId);\n\n this._visibleItems[stepIndex].status = status;\n\n await this._wizardGeneratorService.refreshStepVisibility();\n }\n\n /**\n * @hidden\n */\n private async _setVisibleSteps(): Promise<void> {\n await this._wizardGeneratorService.refreshStepVisibility();\n\n this.wizardCreated = true;\n\n this._cd.detectChanges();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { WizardStepStatus } from '@fundamental-ngx/core/wizard';\n\nimport {\n DynamicFormGroup,\n DynamicFormValue,\n FormGeneratorComponent,\n FormGeneratorService,\n SubmitFormEventResult\n} from '@fundamental-ngx/platform/form';\nimport { isFunction } from '@fundamental-ngx/platform/shared';\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { WizardStepForms, WizardStepSubmittedForms } from '../../interfaces/wizard-generator-forms.interface';\nimport { WizardGeneratorItem } from '../../interfaces/wizard-generator-item.interface';\nimport { WizardGeneratorStep } from '../../interfaces/wizard-step.interface';\nimport {\n DependencySteps,\n WizardGeneratorRefreshStrategy,\n WizardGeneratorService\n} from '../../wizard-generator.service';\n\nimport { TitleComponent } from '@fundamental-ngx/core/title';\n\n@Component({\n selector: 'fdp-wizard-generator-step',\n templateUrl: './wizard-generator-step.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [TitleComponent, FormGeneratorComponent]\n})\nexport class WizardGeneratorStepComponent implements WizardGeneratorStep, OnInit, OnDestroy, OnChanges {\n /**\n * @description Step Form Generator components.\n */\n @ViewChildren(FormGeneratorComponent) formGenerators: QueryList<FormGeneratorComponent>;\n\n /**\n * @description Current step.\n */\n @Input()\n item: WizardGeneratorItem;\n\n /**\n * Wizard step status.\n */\n @Input()\n stepStatus: WizardStepStatus;\n\n /** Whether all form items should have identical layout provided for form group. */\n @Input()\n unifiedLayout = true;\n\n /**\n * @description Emits when all forms in the step has been submited\n */\n @Output()\n formsSubmitted = new EventEmitter<DynamicFormValue[]>();\n\n /**\n * @description Emits when all forms in the step has been created\n */\n @Output()\n formsCreated = new EventEmitter<WizardStepForms>();\n\n /**\n * @hidden\n */\n private _submittedForms: WizardStepSubmittedForms = {};\n\n /**\n * @hidden\n */\n private _formSubmitted$ = new Subject<WizardStepSubmittedForms | null>();\n\n /**\n * @hidden\n */\n private _forms: WizardStepForms = {};\n\n /**\n * @hidden\n */\n private _trackedFields: DependencySteps;\n\n /**\n * @hidden\n */\n _visibleFormGroupIds: Record<string, boolean>;\n\n /**\n * @hidden\n * @private\n */\n private _hiddenFormGroupValues: {\n [key: string]: any;\n } = {};\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _wizardGeneratorService: WizardGeneratorService,\n private _formGeneratorService: FormGeneratorService\n ) {}\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n this.refreshFormsVisibility();\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n this._wizardGeneratorService.removeWizardStepComponent(this.item.id);\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes.stepStatus && changes.stepStatus.currentValue === 'current' && this.formGenerators?.length > 0) {\n await this.updateFormsState();\n }\n }\n\n /**\n * @description Adds created form instance to the object of the forms.\n * @param form Form instance\n * @param key Form ID from @see item\n */\n async onFormCreated(form: DynamicFormGroup, key: string): Promise<void> {\n this._forms[key] = {\n title: this.item.formGroups?.find((g) => g.id === key)?.title ?? '',\n form\n };\n\n await this._wizardGeneratorService.refreshStepVisibility();\n\n if (Object.keys(this._forms).length === this.item.formGroups?.length) {\n await this.addComponentToParent();\n this.formsCreated.emit(this._forms);\n }\n\n if (this._hiddenFormGroupValues[key]) {\n form?.patchValue(this._hiddenFormGroupValues[key]);\n }\n\n this._trackDependencyFieldsChanges(form, key);\n }\n\n /**\n * @description Adds component to the service for further usage.\n */\n async addComponentToParent(): Promise<void> {\n this._wizardGeneratorService.addWizardStepComponent(this, this.item.id);\n }\n\n /**\n * @description Callback function when form has been submitted.\n * @param result Form submission result.\n * @param index Form index in the step.\n */\n onFormSubmitted(result: SubmitFormEventResult, index: string): void {\n this._submittedForms[index] = result;\n\n if (Object.keys(this._submittedForms).length === this.formGenerators.length) {\n // Last form submission. Send data back to the parent component.\n this._formSubmitted$.next(this._submittedForms);\n }\n }\n\n /**\n * Returns visible forms in the step.\n */\n getVisibleForms(): WizardStepForms {\n return Object.keys(this._forms).reduce((acc, key) => {\n if (this._visibleFormGroupIds[key] || this._visibleFormGroupIds[key] === undefined) {\n acc[key] = this._forms[key];\n }\n return acc;\n }, {});\n }\n\n /**\n * @description Clears previously submitted form values and re-submit them again.\n * @returns Subject, which will return forms value.\n */\n submitForms(skipIfUntouched = false): Subject<WizardStepSubmittedForms | null> {\n if (skipIfUntouched && !this._wizardGeneratorService.stepSubmitted(this.item.id)) {\n setTimeout(() => {\n this._formSubmitted$.next(null);\n });\n return this._formSubmitted$;\n }\n\n // Clear previously submitted form values and re-submit them again.\n this._submittedForms = {};\n\n setTimeout(() => {\n this.formGenerators.forEach((formComponent) => {\n formComponent.submit();\n });\n });\n\n return this._formSubmitted$;\n }\n\n /**\n * @hidden\n * @description Keeps track on dependency fields for other steps and refreshes the view when they changed.\n * @param form\n * @param key\n */\n private _trackDependencyFieldsChanges(form: DynamicFormGroup, key: string): void {\n this._trackedFields = this._wizardGeneratorService.getStepDependencyFields(this.item.id);\n\n if (this._trackedFields && this._trackedFields[key]) {\n Object.entries(this._trackedFields[key]).forEach(([fieldId, strategies]) => {\n const control = this._formGeneratorService.getFormControl(form, fieldId);\n\n const refreshSteps = strategies[WizardGeneratorRefreshStrategy.REFRESH_STEP_VISIBILITY] !== undefined;\n const revalidateForms = strategies[WizardGeneratorRefreshStrategy.REVALIDATE_STEP_FORMS];\n const refreshFormVisibility = strategies[WizardGeneratorRefreshStrategy.REFRESH_FORM_VISIBILITY];\n\n control?.valueChanges.pipe(debounceTime(50), takeUntil(this._onDestroy$)).subscribe(async () => {\n if (refreshSteps) {\n await this._wizardGeneratorService.refreshStepVisibility();\n }\n\n if (revalidateForms?.length) {\n this._wizardGeneratorService.notifyStepsToRevalidateForms(revalidateForms);\n }\n\n if (refreshFormVisibility?.length) {\n await this._wizardGeneratorService.refreshFormsVisibility(refreshFormVisibility);\n }\n });\n });\n }\n }\n\n /**\n * Triggers form value revalidation and checks if field in form should be visible.\n */\n async updateFormsState(): Promise<void> {\n if (this.formGenerators) {\n for (const formGenerator of this.formGenerators.toArray()) {\n await formGenerator.refreshStepsVisibility();\n }\n }\n }\n\n /**\n * Refreshes step form group visibility.\n */\n async refreshFormsVisibility(): Promise<void> {\n this._visibleFormGroupIds = {};\n\n if (!this.item.formGroups) {\n return;\n }\n\n for (const formGroup of this.item.formGroups.filter((fg) => isFunction(fg.when))) {\n const result = await this._wizardGeneratorService.refreshFormVisibility(formGroup);\n\n if (result === this._visibleFormGroupIds[formGroup.id]) {\n return;\n }\n\n const form = this._forms[formGroup.id]?.form;\n\n // Store form value so it could be restored later.\n if (!result) {\n this._hiddenFormGroupValues[formGroup.id] = form?.value;\n }\n\n this._visibleFormGroupIds[formGroup.id] = result;\n }\n }\n}\n","@if (item.title) {\n <h3 fd-title>{{ item.title }}</h3>\n}\n@for (form of item.formGroups; track form; let i = $index) {\n @if (_visibleFormGroupIds[form.id] !== false) {\n <fdp-form-generator\n [mainTitle]=\"form.title\"\n [columnLayout]=\"form.columnLayout\"\n [noAdditionalContent]=\"true\"\n [formName]=\"form.id\"\n [formItems]=\"$any(form.formItems)\"\n [hint]=\"form.guiOptions?.hint!\"\n [unifiedLayout]=\"unifiedLayout\"\n (formCreated)=\"onFormCreated($event, form.id)\"\n (formSubmittedStatus)=\"onFormSubmitted($event, form.id)\"\n ></fdp-form-generator>\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { FormLabelComponent } from '@fundamental-ngx/core/form';\nimport { LayoutGridModule } from '@fundamental-ngx/core/layout-grid';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { LinkComponent } from '@fundamental-ngx/platform/link';\nimport {\n FormattedFormStep,\n WizardGeneratorSummaryItem\n} from '../../../interfaces/wizard-generator-summary-item.interface';\n\n@Component({\n selector: 'fdp-wizard-summary-section',\n templateUrl: './wizard-summary-section.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [TitleComponent, LayoutGridModule, FormLabelComponent, LinkComponent, FdTranslatePipe]\n})\nexport class WizardSummarySectionComponent {\n /**\n * @description Current step for the section.\n */\n @Input()\n step: WizardGeneratorSummaryItem;\n\n /**\n * Emits when step edit button clicked.\n */\n @Output()\n editStep = new EventEmitter<string>();\n\n /**\n * @hidden\n * @description Sets current step on wizard.\n * @param event Mouse click event to prevent.\n */\n _editStep(event: MouseEvent | KeyboardEvent | TouchEvent): void {\n event.preventDefault();\n this.editStep.emit(this.step.id);\n }\n\n /** @hidden */\n _trackFn(_: number, form: FormattedFormStep): string {\n return form.id;\n }\n}\n","@for (group of step.forms; track _trackFn($index, group)) {\n <h4 fd-title [headerSize]=\"4\">{{ group.title }}</h4>\n <fd-layout-grid [style.margin-bottom.rem]=\"2\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"2\" [colLg]=\"2\" [colXl]=\"2\">\n @for (item of group.items; track item) {\n <div>\n <label fd-form-label> {{ item.label }}: </label>\n </div>\n }\n </div>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n @for (item of group.items; track item) {\n <div>\n <label fd-form-label>\n {{ item.value || '-' }}\n </label>\n </div>\n }\n </div>\n <div [fdLayoutGridCol]=\"1\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <fdp-link href=\"#\" (click)=\"_editStep($event)\">\n {{ 'platformWizardGenerator.summarySectionEditStep' | fdTranslate }}\n </fdp-link>\n </div>\n </div>\n </fd-layout-grid>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WizardStepStatus } from '@fundamental-ngx/core/wizard';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { WizardGeneratorFormsValue, WizardStepForms } from '../../interfaces/wizard-generator-forms.interface';\nimport { WizardGeneratorItem } from '../../interfaces/wizard-generator-item.interface';\nimport {\n FormattedFormStep,\n WizardGeneratorSummaryItem\n} from '../../interfaces/wizard-generator-summary-item.interface';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardSummarySectionComponent } from './wizard-summary-section/wizard-summary-section.component';\n\n@Component({\n selector: 'fdp-wizard-summary-step',\n templateUrl: './wizard-summary-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [WizardSummarySectionComponent, NgTemplateOutlet]\n})\nexport class WizardSummaryStepComponent {\n /**\n * Formatted wizard value with steps and their forms.\n */\n formattedWizardValue: WizardGeneratorSummaryItem[] = [];\n\n /**\n * @hidden\n */\n _submittedForms: WizardGeneratorFormsValue;\n\n /**\n * @description Summary step status.\n */\n @Input()\n set status(status: WizardStepStatus) {\n if (status === 'current') {\n this._wizardGeneratorService.getWizardFormValue(true).then((forms) => {\n this._submittedForms = forms;\n\n this._wizardSteps = this._wizardGeneratorService.items.filter(\n (i) => this._submittedForms[i.id] !== undefined\n );\n\n this._formatWizardValue().then(() => {\n this._shouldRender = true;\n\n this._cd.detectChanges();\n });\n });\n } else {\n this._shouldRender = false;\n }\n\n this._cd.detectChanges();\n }\n\n /**\n * User-defined template for Summary step.\n */\n @Input()\n customSummaryStepTemplate: Nullable<TemplateRef<HTMLElement>>;\n\n /**\n * @hidden\n */\n _shouldRender = false;\n\n /**\n * @hidden\n */\n _wizardSteps: WizardGeneratorItem[];\n\n /** @hidden */\n constructor(\n private _wizardGeneratorService: WizardGeneratorService,\n private _formGeneratorService: FormGeneratorService,\n private _cd: ChangeDetectorRef\n ) {}\n\n /**\n * Opens defined step for editing.\n * @param stepId Defined step ID.\n */\n editStep(stepId: string): void {\n this._wizardGeneratorService.editStep(stepId);\n }\n\n /**\n * @hidden\n * @param index\n * @returns step index\n */\n _trackFn(_: number, step): number {\n return step.id;\n }\n\n /** @hidden */\n _editStepFn: (stepId: string) => void = (stepId: string) => this.editStep(stepId);\n\n /** @hidden */\n private async _formatWizardValue(): Promise<void> {\n this.formattedWizardValue = [];\n\n for (const step of this._wizardSteps) {\n const component = this._wizardGeneratorService.stepsComponents.get(step.id);\n const componentForms = component?.getVisibleForms();\n\n if (!componentForms) {\n continue;\n }\n\n const formattedStepValue = await this._formatStepValue(componentForms, step);\n\n this.formattedWizardValue.push({\n id: step.id,\n name: step.name as string,\n title: step.title as string,\n forms: formattedStepValue\n });\n }\n }\n\n /** @hidden */\n private async _formatStepValue(\n componentForms: WizardStepForms,\n step: WizardGeneratorItem\n ): Promise<FormattedFormStep[]> {\n const formattedStepValue: FormattedFormStep[] = [];\n\n for (const formGroup of step.formGroups ?? []) {\n const formId = formGroup.id;\n\n const form = componentForms[formId];\n\n // Form might be skipped due to conditional rendering\n if (!form) {\n continue;\n }\n\n const formattedFormValue = await this._formGeneratorService.getFormValue(form.form, true);\n\n const formattedForm: FormattedFormStep = {\n title: form.title,\n id: formId,\n items: Object.keys(this._submittedForms[step.id][formId]).map((key) => {\n const formItem = this._formGeneratorService.getFormControl(form.form, key).formItem;\n return {\n label: formItem.message as string,\n value: formattedFormValue[key]\n };\n })\n };\n\n formattedStepValue.push(formattedForm);\n }\n\n return formattedStepValue;\n }\n}\n","@if (_shouldRender) {\n <ng-template #defaultsummaryStepTemplate>\n @for (step of formattedWizardValue; track _trackFn($index, step)) {\n <fdp-wizard-summary-section [step]=\"step\" (editStep)=\"editStep($event)\"></fdp-wizard-summary-section>\n }\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customSummaryStepTemplate || defaultsummaryStepTemplate\"\n [ngTemplateOutletContext]=\"{ steps: formattedWizardValue, editStep: _editStepFn }\"\n ></ng-template>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, firstValueFrom } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WizardModule, WizardStepStatus } from '@fundamental-ngx/core/wizard';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { ButtonComponent } from '@fundamental-ngx/platform/button';\nimport { PreparedWizardGeneratorItem, WizardGeneratorItem } from '../../interfaces/wizard-generator-item.interface';\nimport { WizardNavigationButtons } from '../../interfaces/wizard-navigation-buttons.interface';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardGeneratorStepComponent } from '../wizard-generator-step/wizard-generator-step.component';\nimport { WizardSummaryStepComponent } from '../wizard-summary-step/wizard-summary-step.component';\n\nexport interface WizardStepChange {\n id: string;\n status: WizardStepStatus;\n}\n\n@Component({\n selector: 'fdp-wizard-body',\n templateUrl: './wizard-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n WizardModule,\n WizardGeneratorStepComponent,\n WizardSummaryStepComponent,\n ButtonComponent,\n ContentDensityDirective,\n NgTemplateOutlet\n ]\n})\nexport class WizardBodyComponent implements OnInit, OnDestroy {\n /**\n * @description Whether or not apply responsive paddings styling.\n */\n @Input()\n responsivePaddings = true;\n\n /**\n * @description Button labels to be used in Wizard navigation\n */\n @Input()\n navigationButtonLabels: Required<WizardNavigationButtons>;\n\n /**\n * @description Whether or not to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n appendToWizard = true;\n\n /**\n * @description Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the Shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string>;\n\n /**\n * @description Whether or not Wizard is currently on the first step\n */\n @Input()\n isFirstStep = false;\n\n /**\n * @description Whether Wizard is currently on the last step.\n */\n @Input()\n isLastStep = false;\n\n /**\n * Whether next step is a Summary step.\n */\n @Input()\n isNextStepSummary = false;\n\n /**\n * @description Boolean flag indicating whether to display Summary step in Wizard progress bar.\n */\n @Input()\n displaySummaryStep = false;\n\n /**\n * User-defined template for \"Go Next\" button.\n */\n @Input()\n goNextButtonTemplate: TemplateRef<any>;\n\n /**\n * User-defined template for \"Finish\" button.\n */\n @Input()\n finishButtonTemplate: TemplateRef<any>;\n\n /**\n * User-defined template for summary step.\n */\n @Input()\n customSummaryStepTemplate?: TemplateRef<HTMLElement>;\n\n /** User-defined template for \"Review\" button */\n @Input()\n reviewButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * @description Is current step is summary step.\n */\n @Input()\n isSummaryStep = false;\n\n /** If navigation buttons should be visible. */\n @Input()\n navigationButtons = true;\n\n /** Whether or not all form items should have identical layout provided for form group. */\n @Input()\n unifiedLayout = true;\n\n /** Whether current step is a branching step. */\n @Input()\n isBranchingStep = false;\n\n /** Whether current step is completed */\n @Input()\n isCurrentStepCompleted = false;\n\n /** Whether order of steps was changed */\n @Input()\n stepsOrderChanged = false;\n\n /**\n * @description Emits when some step status has been changed.\n */\n @Output()\n statusChange = new EventEmitter<WizardStepChange>();\n\n /**\n * @description Emits when \"Go next\" button has been clicked\n */\n @Output()\n goNext = new EventEmitter<void>();\n\n /**\n * @description Emits when \"Finish\" button has been clicked\n */\n @Output()\n finish = new EventEmitter<void>();\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /**\n * @hidden\n */\n private _visibleItems: PreparedWizardGeneratorItem[];\n\n /**\n * @description Array of visible Wizard Steps.\n */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n set visibleItems(items: PreparedWizardGeneratorItem[]) {\n this._visibleItems = items;\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n get visibleItems(): PreparedWizardGeneratorItem[] {\n return this._visibleItems || this._wizardGeneratorService.items;\n }\n\n /** @hidden */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n constructor(\n private _wizardGeneratorService: WizardGeneratorService,\n private _cd: ChangeDetectorRef\n ) {}\n\n /**\n * @hidden\n */\n _goNextFn: () => void = () => this.goNext.emit();\n\n /**\n * @hidden\n */\n _finishFn: () => void = () => this.finish.emit();\n\n /**\n * @description Custom step status change validator function.\n * @param index Current step index.\n * @returns {Promise<boolean>} If this step status can be changed.\n */\n stepClickValidatorFn(index: number): () => Promise<boolean> {\n return async () => {\n const currentStepIndex = this._wizardGeneratorService.getCurrentStepIndex();\n const isSummaryStep = this._visibleItems[currentStepIndex]?.summary === true;\n\n if (index === currentStepIndex || isSummaryStep) {\n return true;\n }\n\n if (this._visibleItems.slice(0, index).find((i) => !i.completed && !i.summary)) {\n return false;\n }\n\n return await firstValueFrom(this._wizardGeneratorService.validateStepForms(true));\n };\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n this._wizardGeneratorService\n .getVisibleSteps()\n .pipe(debounceTime(50), takeUntil(this._onDestroy$))\n .subscribe((visibleSteps) => {\n this._visibleItems = visibleSteps;\n this._cd.detectChanges();\n });\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * @description Callback function for status change.\n * @param id step ID.\n * @param status new step status.\n */\n stepStatusChanged(id: string, status: WizardStepStatus): void {\n this.statusChange.emit({\n id,\n status\n });\n }\n\n /** @hidden */\n stepClicked(stepId: string): void {\n const stepIndex = this._wizardGeneratorService.getStepIndex(stepId);\n this._wizardGeneratorService.setNextStepIndex(stepIndex + 1);\n }\n\n /**\n * @hidden\n * @param _index\n * @param item\n * @returns\n */\n _trackFn(_index: number, item: WizardGeneratorItem): string {\n return item.id;\n }\n}\n","@if (visibleItems) {\n <fd-wizard\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n >\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar>\n @for (step of visibleItems; track _trackFn(i, step); let i = $index) {\n <li\n fd-wizard-step\n [label]=\"step.name\"\n [status]=\"step.status\"\n [optionalText]=\"step.optionalText\"\n [branching]=\"!!step.branching\"\n [stepClickValidator]=\"stepClickValidatorFn(i)\"\n [isSummary]=\"!!step.summary\"\n (statusChange)=\"stepStatusChanged(step.id, $event)\"\n (stepClicked)=\"stepClicked(step.id)\"\n >\n <fd-wizard-step-indicator [glyph]=\"step.icon || null\">\n @if (!step.icon) {\n {{ i + 1 }}\n }\n </fd-wizard-step-indicator>\n <fd-wizard-content>\n @if (!step.summary) {\n <fdp-wizard-generator-step\n [unifiedLayout]=\"unifiedLayout\"\n [item]=\"step\"\n [stepStatus]=\"step.status\"\n ></fdp-wizard-generator-step>\n } @else {\n <fdp-wizard-summary-step\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [status]=\"step.status\"\n ></fdp-wizard-summary-step>\n }\n @if (navigationButtons) {\n <fd-wizard-next-step [canHide]=\"appendToWizard\">\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <fdp-button\n [fdContentDensity]=\"navigationButtonLabels.goNext.contentDensity\"\n [buttonType]=\"navigationButtonLabels.goNext.type\"\n [label]=\"navigationButtonLabels.goNext.label\"\n (click)=\"goNext.emit()\"\n ></fdp-button>\n </ng-template>\n <ng-template #defaultReviewButtonTemplate>\n <fdp-button\n [fdContentDensity]=\"navigationButtonLabels.review.contentDensity\"\n [buttonType]=\"navigationButtonLabels.review.type\"\n [label]=\"navigationButtonLabels.review.label\"\n (click)=\"goNext.emit()\"\n ></fdp-button>\n </ng-template>\n @if (\n (isBranchingStep && (!isCurrentStepCompleted || stepsOrderChanged)) ||\n !isNextStepSummary\n ) {\n <ng-template\n [ngTemplateOutlet]=\"goNextButtonTemplate || defaultGoNextButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"reviewButtonTemplate || defaultReviewButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n }\n } @else {\n <ng-template #defaultFinishButtonTemplate>\n <fdp-button\n [fdContentDensity]=\"navigationButtonLabels.finish.contentDensity\"\n [buttonType]=\"navigationButtonLabels.finish.type\"\n [label]=\"navigationButtonLabels.finish.label\"\n (click)=\"finish.emit()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"finishButtonTemplate || defaultFinishButtonTemplate\"\n [ngTemplateOutletContext]=\"{ finish: _finishFn }\"\n ></ng-template>\n }\n </fd-wizard-next-step>\n }\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { InitialFocusDirective } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogModule, DialogRef } from '@fundamental-ngx/core/dialog';\nimport { MessageBoxModule, MessageBoxService } from '@fundamental-ngx/core/message-box';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { ButtonComponent } from '@fundamental-ngx/platform/button';\nimport { BaseWizardGenerator } from '../../base-wizard-generator';\nimport { WizardDialogData } from '../../interfaces/wizard-dialog-data.interface';\nimport { WizardTitle } from '../../interfaces/wizard-title.interface';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardBodyComponent } from '../wizard-body/wizard-body.component';\n\n@Component({\n selector: 'fdp-dialog-wizard-generator',\n templateUrl: './dialog-wizard-generator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [WizardGeneratorService, FormGeneratorService],\n standalone: true,\n imports: [\n DialogModule,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n WizardBodyComponent,\n BarModule,\n ButtonComponent,\n ContentDensityDirective,\n NgTemplateOutlet,\n MessageBoxModule,\n InitialFocusDirective\n ]\n})\nexport class DialogWizardGeneratorComponent extends BaseWizardGenerator {\n /** @hidden */\n @ViewChild('defaultConfirmationDialogTemplate') defaultConfirmationDialogTemplate: TemplateRef<HTMLElement>;\n\n /**\n * @description Wizards dialog title configuration.\n */\n title: WizardTitle;\n\n /**\n * @description Confirmation message when wizard dialog close button has been clicked.\n */\n confirmationDialogText = 'Are you sure you want to discard your progress?';\n /**\n * @description Confirm button text for close confirmation dialog.\n */\n confirmationDialogCloseText = 'Confirm';\n /**\n * @description Cancel button text for close confirmation dialog.\n */\n confirmationDialogCancelText = 'Cancel';\n\n /**\n * User-defined template for \"Go Next\" button.\n */\n goNextButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Go Back\" button.\n */\n goBackButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Finish\" button.\n */\n finishButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Cancel\" button.\n */\n cancelButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for cancellation confirmation dialog.\n */\n confirmationDialogTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for summary step.\n */\n summaryStepTemplate?: TemplateRef<HTMLElement>;\n\n /** User-defined template for \"Review\" button */\n reviewButtonTemplate?: TemplateRef<HTMLElement>;\n\n /** @hidden */\n private readonly _messageBoxService = inject(MessageBoxService);\n\n /** @hidden */\n constructor(\n _wizardGeneratorService: WizardGeneratorService,\n _cd: ChangeDetectorRef,\n private _dialogRef: DialogRef<WizardDialogData>\n ) {\n super(_wizardGeneratorService, _cd);\n\n this.items = this._dialogRef.data.items;\n this.title = this._dialogRef.data.title;\n this.appendToWizard = this._dialogRef.data.appendToWizard;\n this.navigationButtonLabels = this._dialogRef.data.navigationButtonLabels ?? {};\n this.contentHeight = this._dialogRef.data.contentHeight;\n this.responsivePaddings = this._dialogRef.data.responsivePaddings;\n this.goNextButtonTemplate = this._dialogRef.data.goNextButtonTemplate;\n this.goBackButtonTemplate = this._dialogRef.data.goBackButtonTemplate;\n this.finishButtonTemplate = this._dialogRef.data.finishButtonTemplate;\n this.cancelButtonTemplate = this._dialogRef.data.cancelButtonTemplate;\n this.confirmationDialogTemplate = this._dialogRef.data.confirmationDialogTemplate;\n this.displaySummaryStep = this._dialogRef.data.displaySummaryStep || false;\n this.summaryStepTemplate = this._dialogRef.data.summaryStepTemplate;\n this.reviewButtonTemplate = this._dialogRef.data.reviewButtonTemplate;\n\n if (this._dialogRef.data.unifiedLayout !== undefined) {\n this.unifiedLayout = this._dialogRef.data.unifiedLayout;\n }\n\n if (this._dialogRef.data.navigationButtons !== undefined) {\n this.navigationButtons = this._dialogRef.data.navigationButtons;\n }\n\n if (this._dialogRef.data.confirmationDialogText) {\n this.confirmationDialogText = this._dialogRef.data.confirmationDialogText;\n }\n\n if (this._dialogRef.data.confirmationDialogCancelText) {\n this.confirmationDialogCancelText = this._dialogRef.data.confirmationDialogCancelText;\n }\n\n if (this._dialogRef.data.confirmationDialogCloseText) {\n this.confirmationDialogCloseText = this._dialogRef.data.confirmationDialogCloseText;\n }\n }\n\n /**\n * @description Cancels Wizard progress and closes the dialog.\n */\n cancel(): void {\n if (this._wizardGeneratorService.isStepsUntouched()) {\n this._dialogRef.dismiss();\n\n return;\n }\n\n const template = this.confirmationDialogTemplate || this.defaultConfirmationDialogTemplate;\n\n const messageBoxRef = this._messageBoxService.open(template, { responsivePadding: true });\n\n messageBoxRef.afterClosed\n .pipe(\n filter((result) => result),\n takeUntil(this._onDestroy$)\n )\n .subscribe(() => {\n this._dialogRef.dismiss();\n });\n }\n\n /**\n * @description Completes Wizard process, emits Wizard result and closes the dialog.\n */\n async finish(): Promise<void> {\n if (this.isSummaryStep) {\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n this._dialogRef.close(wizardResult);\n return;\n }\n\n const currentStepId = this._wizardGeneratorService.getCurrentStepId();\n this.submitStepForms(currentStepId)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(async (result) => {\n if (result && Object.values(result).some((r) => !r.success)) {\n return;\n }\n\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n this._dialogRef.close(wizardResult);\n });\n }\n\n /**\n * @hidden\n */\n _goBackFn: () => void = () => this.goBack();\n /**\n * @hidden\n */\n _goNextFn: () => Promise<void> = () => this.goNext();\n\n /**\n * @hidden\n */\n _finishFn: () => Promise<void> = () => this.finish();\n\n /**\n * @hidden\n */\n _cancelFn: () => void = () => this.cancel();\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h2 fd-title [headerSize]=\"title.size\">{{ title.text }}</h2>\n </fd-dialog-header>\n <fd-dialog-body>\n <fdp-wizard-body\n [navigationButtons]=\"false\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [customSummaryStepTemplate]=\"summaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [unifiedLayout]=\"unifiedLayout\"\n [contentHeight]=\"contentHeight\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n ></fdp-wizard-body>\n @if (wizardCreated) {\n <div fd-bar barDesign=\"floating-footer\" [class.fd-bar--responsive-paddings]=\"responsivePaddings\">\n <div fd-bar-right>\n @if (!isFirstStep) {\n <ng-template #defaultGoBackButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.goBack.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.goBack.type\"\n [label]=\"_navigationButtonLabels.goBack.label\"\n (click)=\"goBack()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"goBackButtonTemplate || defaultGoBackButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goBack: _goBackFn }\"\n ></ng-template>\n }\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.goNext.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.goNext.type\"\n [label]=\"_navigationButtonLabels.goNext.label\"\n (click)=\"goNext()\"\n ></fdp-button>\n </ng-template>\n <ng-template #defaultReviewButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.review.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.review.type\"\n [label]=\"_navigationButtonLabels.review.label\"\n (click)=\"goNext()\"\n ></fdp-button>\n </ng-template>\n @if (\n (isBranchingStep && (!isCurrentStepCompleted || _stepsOrderChanged)) || !isNextStepSummary\n ) {\n <ng-template\n [ngTemplateOutlet]=\"goNextButtonTemplate || defaultGoNextButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"reviewButtonTemplate || defaultReviewButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n }\n }\n @if (isLastStep) {\n <ng-template #defaultFinishButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.finish.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.finish.type\"\n [label]=\"_navigationButtonLabels.finish.label\"\n (click)=\"finish()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"finishButtonTemplate || defaultFinishButtonTemplate\"\n [ngTemplateOutletContext]=\"{ finish: _finishFn }\"\n ></ng-template>\n }\n <ng-template #defaultCancelButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.cancel.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.cancel.type\"\n [label]=\"_navigationButtonLabels.cancel.label\"\n (click)=\"cancel()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"cancelButtonTemplate || defaultCancelButtonTemplate\"\n [ngTemplateOutletContext]=\"{ cancel: _cancelFn }\"\n ></ng-template>\n </div>\n </div>\n }\n </fd-dialog-body>\n</fd-dialog>\n<ng-template\n [fdMessageBoxTemplate]\n let-messageBox\n let-messageBoxConfig=\"messageBoxConfig\"\n #defaultConfirmationDialogTemplate\n>\n <fd-message-box [messageBoxConfig]=\"messageBoxConfig\" [messageBoxRef]=\"messageBox\">\n <fd-message-box-body>\n {{ confirmationDialogText }}\n </fd-message-box-body>\n <fd-message-box-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"confirmationDialogCloseText\"\n type=\"submit\"\n (click)=\"messageBox.close(true)\"\n >\n </fd-button-bar>\n <fd-button-bar fdkInitialFocus [label]=\"confirmationDialogCancelText\" (click)=\"messageBox.dismiss()\">\n </fd-button-bar>\n </fd-message-box-footer>\n </fd-message-box>\n</ng-template>\n","import { Injectable } from '@angular/core';\n\nimport { DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core/dialog';\nimport { DialogWizardGeneratorComponent } from './components/dialog-wizard-generator/dialog-wizard-generator.component';\nimport { WizardDialogData } from './interfaces/wizard-dialog-data.interface';\nimport { WizardGeneratorFormsValue } from './interfaces/wizard-generator-forms.interface';\n\n/**\n * @description Helper service to launch Wizard in dialog with minimal user input.\n */\n@Injectable()\nexport class WizardDialogGeneratorService {\n /** @hidden */\n constructor(private _dialogService: DialogService) {}\n\n /**\n * @description Opens dialog with wizard component inside.\n * @param config Dialog options with wizard config.\n * @returns DialogRef instance.\n */\n open(config: DialogConfig<WizardDialogData>): DialogRef<WizardDialogData, WizardGeneratorFormsValue> {\n const dialogRef = this._dialogService.open(DialogWizardGeneratorComponent, config);\n\n return dialogRef;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorGoNextButton], [fdp-wizard-generator-go-next-button]',\n standalone: true\n})\nexport class WizardGeneratorGoNextButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorFinishButton], [fdp-wizard-generator-finish-button]',\n standalone: true\n})\nexport class WizardGeneratorFinishButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorReviewButton], [fdp-wizard-generator-review-button]',\n standalone: true\n})\nexport class WizardGeneratorReviewButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorSummaryStep], [fdp-wizard-generator-summary-step]',\n standalone: true\n})\nexport class WizardGeneratorSummaryStepDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\n\nimport { RepeatDirective } from '@fundamental-ngx/cdk/utils';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { WizardModule } from '@fundamental-ngx/core/wizard';\nimport { BaseWizardGenerator } from '../../base-wizard-generator';\nimport { WizardGeneratorFinishButtonDirective } from '../../directives/wizard-generator-finish-button.directive';\nimport { WizardGeneratorGoNextButtonDirective } from '../../directives/wizard-generator-go-next-button.directive';\nimport { WizardGeneratorReviewButtonDirective } from '../../directives/wizard-generator-review-button.directive';\nimport { WizardGeneratorSummaryStepDirective } from '../../directives/wizard-generator-summary-step.directive';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardBodyComponent } from '../wizard-body/wizard-body.component';\n\n@Component({\n selector: 'fdp-wizard-generator',\n templateUrl: './wizard-generator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [WizardGeneratorService, FormGeneratorService],\n standalone: true,\n imports: [WizardBodyComponent, WizardModule, RepeatDirective, SkeletonComponent]\n})\nexport class WizardGeneratorComponent extends BaseWizardGenerator {\n /**\n * User-defined template for \"Finish\" button.\n */\n @ContentChild(WizardGeneratorFinishButtonDirective, { read: TemplateRef })\n finishButtonTemplate: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Go Next\" button.\n */\n @ContentChild(WizardGeneratorGoNextButtonDirective, { read: TemplateRef })\n goNextButtonTemplate: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for Summary step.\n */\n @ContentChild(WizardGeneratorSummaryStepDirective, { read: TemplateRef })\n customSummaryStepTemplate: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Review\" button\n */\n @ContentChild(WizardGeneratorReviewButtonDirective, { read: TemplateRef })\n reviewButtonTemplate: TemplateRef<HTMLElement>;\n\n /** @hidden */\n constructor(_wizardGeneratorService: WizardGeneratorService, _cd: ChangeDetectorRef) {\n super(_wizardGeneratorService, _cd);\n }\n}\n","@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n <li *fdkRepeat=\"3; let i = index\" fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n FORM_GENERATOR_CONFIG,\n FORM_GENERATOR_ITEM_CONFIG,\n FormGeneratorModuleConfig,\n PlatformFormGeneratorModule\n} from '@fundamental-ngx/platform/form';\nimport { WizardGeneratorStepComponent } from './components/wizard-generator-step/wizard-generator-step.component';\nimport { WizardBodyComponent } from './components/wizard-body/wizard-body.component';\nimport { DialogWizardGeneratorComponent } from './components/dialog-wizard-generator/dialog-wizard-generator.component';\nimport { WizardDialogGeneratorService } from './wizard-dialog-generator.service';\nimport { WizardSummaryStepComponent } from './components/wizard-summary-step/wizard-summary-step.component';\nimport { WizardSummarySectionComponent } from './components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component';\nimport { WizardGeneratorGoNextButtonDirective } from './directives/wizard-generator-go-next-button.directive';\nimport { WizardGeneratorFinishButtonDirective } from './directives/wizard-generator-finish-button.directive';\nimport { WizardGeneratorComponent } from './components/wizard-generator/wizard-generator.component';\nimport { WizardGeneratorSummaryStepDirective } from './directives/wizard-generator-summary-step.directive';\nimport { WizardGeneratorReviewButtonDirective } from './directives/wizard-generator-review-button.directive';\n\n/**\n * Adds Wizard Generator functionality to your application.\n *\n * Can be imported in two ways:\n * * Plain PlatformWizardGeneratorModule with default configuration\n * * With `withConfig()` method which allows passing custom default configuration.\n */\n@NgModule({\n imports: [\n PlatformFormGeneratorModule,\n WizardGeneratorComponent,\n WizardGeneratorStepComponent,\n WizardBodyComponent,\n DialogWizardGeneratorComponent,\n WizardSummaryStepComponent,\n WizardSummarySectionComponent,\n WizardGeneratorGoNextButtonDirective,\n WizardGeneratorFinishButtonDirective,\n WizardGeneratorSummaryStepDirective,\n WizardGeneratorReviewButtonDirective\n ],\n exports: [\n WizardGeneratorComponent,\n WizardGeneratorStepComponent,\n WizardBodyComponent,\n DialogWizardGeneratorComponent,\n WizardSummaryStepComponent,\n WizardSummarySectionComponent,\n WizardGeneratorGoNextButtonDirective,\n WizardGeneratorFinishButtonDirective,\n WizardGeneratorSummaryStepDirective,\n WizardGeneratorReviewButtonDirective\n ],\n providers: [WizardDialogGeneratorService]\n})\nexport class PlatformWizardGeneratorModule {\n /**\n * Allows configuring module on a global level with custom configuration.\n * @param config User's custom configuration.\n */\n static withConfig(config: Partial<FormGeneratorModuleConfig>): ModuleWithProviders<PlatformWizardGeneratorModule> {\n return {\n ngModule: PlatformWizardGeneratorModule,\n providers: [\n {\n provide: FORM_GENERATOR_ITEM_CONFIG,\n useValue: config.itemConfig\n },\n {\n provide: FORM_GENERATOR_CONFIG,\n useValue: config.formConfig\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.WizardGeneratorService","isFunction","i2"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-wizard-generator.mjs","sources":["../../../../libs/platform/wizard-generator/wizard-generator.service.ts","../../../../libs/platform/wizard-generator/base-wizard-generator.ts","../../../../libs/platform/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.ts","../../../../libs/platform/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.html","../../../../libs/platform/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.ts","../../../../libs/platform/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.html","../../../../libs/platform/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.ts","../../../../libs/platform/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.html","../../../../libs/platform/wizard-generator/components/wizard-body/wizard-body.component.ts","../../../../libs/platform/wizard-generator/components/wizard-body/wizard-body.component.html","../../../../libs/platform/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.ts","../../../../libs/platform/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.html","../../../../libs/platform/wizard-generator/directives/wizard-generator-finish-button.directive.ts","../../../../libs/platform/wizard-generator/directives/wizard-generator-go-next-button.directive.ts","../../../../libs/platform/wizard-generator/directives/wizard-generator-review-button.directive.ts","../../../../libs/platform/wizard-generator/directives/wizard-generator-summary-step.directive.ts","../../../../libs/platform/wizard-generator/components/wizard-generator/wizard-generator.component.ts","../../../../libs/platform/wizard-generator/components/wizard-generator/wizard-generator.component.html","../../../../libs/platform/wizard-generator/wizard-dialog-generator.service.ts","../../../../libs/platform/wizard-generator/wizard-generator.module.ts","../../../../libs/platform/wizard-generator/fundamental-ngx-platform-wizard-generator.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { cloneDeep, concat, mergeWith, uniq } from 'lodash-es';\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\n\nimport { isFunction, selectStrategy } from '@fundamental-ngx/cdk/utils';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { WizardGeneratorFormGroup, WizardGeneratorFormItem } from './interfaces/wizard-generator-form-group.interface';\nimport {\n WizardGeneratorDependencyFields,\n WizardGeneratorFormsValue,\n WizardStepSubmittedForms,\n WizardVisibleSteps\n} from './interfaces/wizard-generator-forms.interface';\nimport { PreparedWizardGeneratorItem, WizardGeneratorItem } from './interfaces/wizard-generator-item.interface';\nimport { WizardGeneratorStep } from './interfaces/wizard-step.interface';\n\nexport type StepsComponents = Map<string, WizardGeneratorStep>;\n\nexport enum WizardGeneratorRefreshStrategy {\n REFRESH_STEP_VISIBILITY = 'refreshStepVisibility',\n REVALIDATE_STEP_FORMS = 'revalidateStepForms',\n REFRESH_FORM_VISIBILITY = 'refreshFormVisibility'\n}\n\nexport interface DependencySteps {\n /** Step ID */\n [key: string]: {\n /** Form ID with array of form control id's */\n [key: string]: {\n [key in WizardGeneratorRefreshStrategy]?: string[];\n };\n };\n}\n\nexport interface StepDependencyFields {\n /** Dependent step */\n [key: string]: DependencySteps;\n}\n\n/**\n * @description Helper service to keep all transformations and data in one place.\n */\n@Injectable()\nexport class WizardGeneratorService {\n /** @hidden */\n items: PreparedWizardGeneratorItem[];\n\n /**\n * @description Visible steps components\n */\n stepsComponents: StepsComponents = new Map();\n\n /**\n * @description Object with steps that are dependencies for another steps.\n */\n dependencySteps: StepDependencyFields = {};\n\n /**\n * @description Whether to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n appendToWizard = true;\n\n /** @hidden */\n _shouldRedirectToSummary = false;\n\n /**\n * @description Steps that are visible to the user.\n */\n public visibleWizardSteps: PreparedWizardGeneratorItem[] = [];\n\n /** @hidden */\n private _visibleWizardSteps$ = new Subject<PreparedWizardGeneratorItem[]>();\n\n /** @hidden */\n private _appendToWizard$ = new BehaviorSubject<boolean>(this.appendToWizard);\n\n /** @hidden */\n private _stepsComponents$ = new Subject<StepsComponents>();\n\n /** @hidden */\n private _stepsOrderChanged$ = new Subject<number>();\n\n /** @hidden */\n private _nextStepIndex$ = new BehaviorSubject<number>(1);\n\n /** @hidden */\n private _submittedFormRawValues: WizardGeneratorFormsValue = {};\n\n /** @hidden */\n private _wizardStepIds: string[] = [];\n\n /** @hidden */\n constructor(private _formGeneratorService: FormGeneratorService) {}\n\n /**\n * @description Returns current step ID in Wizard.\n * @returns {string | undefined} Current step ID.\n */\n getCurrentStepId(): string | undefined {\n const currentStepId = this.visibleWizardSteps?.find((i) => i.status === 'current');\n\n return currentStepId?.id;\n }\n\n /**\n * @description Returns current step index.\n * @returns {number} Index of the current step in array of Wizard steps.\n */\n getCurrentStepIndex(): number {\n const currentStepId = this.getCurrentStepId();\n return this.getStepIndex(currentStepId);\n }\n\n /**\n * Searches for the index of the step based on it's ID\n * @param stepId Step ID\n * @returns Index in the array of steps for defined step ID.\n */\n getStepIndex(stepId?: string): number {\n const stepIndex = this.visibleWizardSteps?.findIndex((i) => i.id === stepId);\n return stepIndex > -1 ? stepIndex : 0;\n }\n\n /**\n * @description Sends command to submit all forms inside the step.\n * @param stepId Step ID for which forms need's to be submitted.\n * @param skipIfUntouched Skip validation if form haven't been touched.\n * @returns {Observable<WizardStepSubmittedForms>} Observable, which will emit\n * when all visible forms in step are submitted.\n */\n submitStepForms(stepId?: string, skipIfUntouched = false): Observable<WizardStepSubmittedForms | null> {\n if (!stepId) {\n return of(null);\n }\n\n const step = this.stepsComponents.get(stepId);\n\n if (!step) {\n return of(null);\n }\n\n return step.submitForms(skipIfUntouched).pipe(\n take(1),\n map((result) => {\n if (result) {\n this._submittedFormRawValues[stepId] = result;\n }\n return result;\n })\n );\n }\n\n /**\n * @description Triggers validation for current step forms.\n * @returns {Observable<boolean>} Observable with validation result.\n */\n validateStepForms(skipIfUntouched = false): Observable<boolean> {\n const currentStepId = this.getCurrentStepId();\n\n if (!currentStepId) {\n return of(true);\n }\n\n return this.submitStepForms(currentStepId, skipIfUntouched).pipe(\n map((result) => result === null || Object.values(result).every((r) => r.success))\n );\n }\n\n /**\n * @description Sets new array of visible steps for Wizard.\n * @param steps steps that needs to be shown in Wizard.\n */\n setVisibleSteps(steps: PreparedWizardGeneratorItem[]): void {\n this.visibleWizardSteps = steps;\n this._visibleWizardSteps$.next(steps);\n\n this.setWizardStepIds(steps.map((s) => s.id));\n }\n\n /**\n * @returns {Observable<PreparedWizardGeneratorItem[]>} Observable, which will emit every time\n * when array of visible step items has been changed.\n */\n getVisibleSteps(): Observable<PreparedWizardGeneratorItem[]> {\n return this._visibleWizardSteps$.asObservable();\n }\n\n /**\n * @description Runs initial transformation for passed Wizard steps.\n * @param items All Wizard steps.\n * @returns {Promise<PreparedWizardGeneratorItem[]>} Array of transformed Wizard steps.\n */\n async prepareWizardItems(items: WizardGeneratorItem[]): Promise<PreparedWizardGeneratorItem[]> {\n let newItems: PreparedWizardGeneratorItem[] = await Promise.all(\n items.map(async (i, index) => {\n const item = { ...i };\n item.status = item.status || 'upcoming';\n item.title = await this._getFormItemPropertyValue(item, index, 'title');\n item.name = await this._getFormItemPropertyValue(item, index, 'name');\n return item as PreparedWizardGeneratorItem;\n })\n );\n\n // Summary step must be the last one in array\n const summaryStepIndex = newItems.findIndex((i) => i.summary === true);\n\n if (summaryStepIndex !== -1 && summaryStepIndex !== newItems.length - 1) {\n newItems.splice(newItems.length - 1, 0, newItems.splice(summaryStepIndex, 1)[0]);\n }\n\n // If no current step found, set first as current.\n if (newItems.findIndex((i) => i.status === 'current') === -1) {\n newItems[0].status = 'current';\n }\n\n newItems = this._setBranchingSteps(newItems);\n\n this._buildDependencyMap(newItems);\n\n this.items = newItems;\n await this.refreshStepVisibility();\n\n return newItems;\n }\n\n /**\n * @description Runs conditional function for each step to define if step should be shown.\n */\n async refreshStepVisibility(): Promise<void> {\n const formValue = await this.getWizardFormValue();\n\n const visibleStepIds: WizardVisibleSteps = {};\n\n for (const item of this.items) {\n if (!isFunction(item.when)) {\n visibleStepIds[item.id] = true;\n continue;\n }\n\n const obj = item.when!(this._getCompletedStepIds(), formValue, this._formGeneratorService.forms);\n\n visibleStepIds[item.id] = await this._getFunctionValue(obj);\n }\n\n this.setVisibleSteps(this.items.filter((item) => visibleStepIds[item.id] === true));\n }\n\n /**\n * Checks whether current form group should be visible.\n * @param formGroup Form Group.\n */\n async refreshFormVisibility(formGroup: WizardGeneratorFormGroup): Promise<boolean> {\n const formValue = await this.getWizardFormValue();\n\n const obj = formGroup.when?.(this._getCompletedStepIds(), formValue, this._formGeneratorService.forms) ?? true;\n\n return await this._getFunctionValue(obj);\n }\n\n /**\n * @description Clears array of Wizard steps components.\n */\n clearWizardStepComponents(): void {\n this.stepsComponents.clear();\n this._stepsComponents$.next(this.stepsComponents);\n }\n\n /**\n * @returns {Observable<StepsComponents>} Observable, which will emit every time\n * when Set visible steps components has been changed.\n */\n trackStepsComponents(): Observable<StepsComponents> {\n return this._stepsComponents$.asObservable();\n }\n\n /**\n * @description Adds new component to the set of Wizard steps components.\n * @param component Wizard Step component to add.\n * @param key Wizard Step ID.\n */\n addWizardStepComponent(component: WizardGeneratorStep, key: string): void {\n this.stepsComponents.set(key, component);\n this._stepsComponents$.next(this.stepsComponents);\n }\n\n /**\n * @description Removes Component from the set of Wizard steps components.\n * @param key\n */\n removeWizardStepComponent(key: string): void {\n this.stepsComponents.delete(key);\n this._stepsComponents$.next(this.stepsComponents);\n }\n\n /**\n * @param step Step ID which includes dependency fields.\n * @returns Object with forms and their fields that are dependencies for other steps.\n */\n getStepDependencyFields(step: string): DependencySteps {\n return this.dependencySteps[step];\n }\n\n /**\n * Notifies step components to revalidate inner forms.\n * @param stepIds Step ID's which needs to be revalidated.\n */\n notifyStepsToRevalidateForms(stepIds: string[]): void {\n stepIds.forEach((stepId) => this.stepsComponents.get(stepId)?.updateFormsState());\n }\n\n /**\n * Notifies step components to refresh form groups visibility.\n * @param stepIds Step ID's which needs to be checked.\n */\n async refreshFormsVisibility(stepIds: string[]): Promise<void> {\n for (const stepId of stepIds) {\n await this.stepsComponents.get(stepId)?.refreshFormsVisibility();\n }\n }\n\n /**\n * @param formatted Flag defining whether form value should be formatted by form control\n * transformers, or return raw value\n * @returns {WizardGeneratorFormsValue} Wizard form value\n */\n async getWizardFormValue(formatted = false): Promise<WizardGeneratorFormsValue> {\n const wizardFormValue: WizardGeneratorFormsValue = {};\n\n if (!this.visibleWizardSteps) {\n return wizardFormValue;\n }\n\n for (const item of this.visibleWizardSteps.filter((s) => !s.summary)) {\n wizardFormValue[item.id] = {};\n\n const component = this.stepsComponents.get(item.id);\n\n if (!component) {\n continue;\n }\n\n const forms = component.getVisibleForms();\n\n for (const form of item?.formGroups ?? []) {\n if (!forms[form.id]) {\n continue;\n }\n\n wizardFormValue[item.id][form.id] = formatted\n ? await this._formGeneratorService.getFormValue(forms[form.id]?.form)\n : this._formGeneratorService._getFormValueWithoutUngrouped(cloneDeep(forms[form.id]?.form.value));\n }\n }\n\n return wizardFormValue;\n }\n\n /**\n *\n * @param stepId Step ID to check.\n * @returns {Boolean} indicator if step was previously validated and submitted.\n */\n stepSubmitted(stepId: string): boolean {\n return this._submittedFormRawValues[stepId] !== undefined;\n }\n\n /**\n *\n * @returns {Boolean} if steps are untouched, will return true, if yes - false\n */\n isStepsUntouched(): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return [...this.stepsComponents].every(([_, component]) =>\n component.formGenerators.toArray().every((item) => !item.form.touched)\n );\n }\n\n /**\n * Reverts wizard to defined step.\n * @param stepId Step ID to edit\n */\n editStep(stepId: string): void {\n const stepIndex = this.visibleWizardSteps.findIndex((s) => s.id === stepId);\n\n this.visibleWizardSteps = this.visibleWizardSteps.map((step, index) => {\n step.status = index === stepIndex ? 'current' : index < stepIndex ? 'completed' : 'upcoming';\n\n return step;\n });\n\n const summaryStepIndex = this.visibleWizardSteps.findIndex((s) => s.summary);\n\n this._shouldRedirectToSummary = true;\n\n this._appendToWizard$.next(false);\n\n this.setVisibleSteps(this.visibleWizardSteps);\n\n this.setNextStepIndex(summaryStepIndex);\n }\n\n /**\n * Set's current set of step ID's\n * @param ids step ID's\n */\n setWizardStepIds(ids: string[]): void {\n if (!this._wizardStepIds.every((stepId, index) => ids[index] === stepId)) {\n const firstChangedStepIndex = this._wizardStepIds.findIndex((stepId, index) => ids[index] !== stepId);\n\n this._nextStepIndex$.next(firstChangedStepIndex);\n\n this._stepsOrderChanged$.next(firstChangedStepIndex);\n }\n\n this._wizardStepIds = ids;\n }\n\n /**\n * Set next step index.\n * @param index Next step index.\n */\n setNextStepIndex(index: number): void {\n this._nextStepIndex$.next(index);\n }\n\n /**\n * Returns observable of next step index which emits when index is changed.\n */\n trackNextStepIndex(): Observable<number> {\n return this._nextStepIndex$.asObservable();\n }\n\n /**\n * Returns observable which emits when steps order has been changed.\n */\n trackStepsOrder(): Observable<number> {\n return this._stepsOrderChanged$.asObservable();\n }\n\n /**\n * Stores original 'appendToWizard' input property.\n * @param value\n */\n setOriginalAppendToWizardState(value: boolean): void {\n this.appendToWizard = value;\n this._appendToWizard$.next(this.appendToWizard);\n }\n\n /**\n * Resets modified 'appendToWizard' property to original one.\n */\n restoreAppendToWizardState(): void {\n this._appendToWizard$.next(this.appendToWizard);\n }\n\n /**\n * Returns observable which emits when 'appendToWizard' property has been changed.\n */\n trackAppendToWizardState(): Observable<boolean> {\n return this._appendToWizard$.asObservable();\n }\n\n /**\n * @hidden\n * @param items\n * @param index\n * @param key\n * @returns\n */\n private async _getFormItemPropertyValue<T = string>(\n items: WizardGeneratorItem,\n index: number,\n key: keyof WizardGeneratorItem\n ): Promise<T> {\n let value: any = items[key];\n\n if (typeof value === 'function') {\n const obj = value(index);\n\n value = await this._getFunctionValue(obj);\n }\n\n return value as T;\n }\n\n /**\n * @hidden\n * @description Returns value from Promise-like, Observable-like, simple function or just some object.\n * @param obj\n * @returns\n */\n private async _getFunctionValue(obj: any): Promise<any> {\n const strategy = selectStrategy(obj);\n\n let result: any;\n\n await strategy.createSubscription(obj, (value: any) => {\n result = value;\n });\n\n if (isFunction(result)) {\n await this._getFunctionValue(result);\n }\n\n return result;\n }\n\n /**\n * @hidden\n * @description Sets `branching` property for the steps that will create new branches.\n * @param items\n * @returns\n */\n private _setBranchingSteps(items: PreparedWizardGeneratorItem[]): PreparedWizardGeneratorItem[] {\n const branchingItems = items\n .filter((i) => i.dependencyFields)\n .reduce((stepIds, item) => {\n if (item.dependencyFields) {\n stepIds = [...stepIds, ...Object.keys(item.dependencyFields)];\n }\n\n return stepIds;\n }, [] as string[]);\n\n if (branchingItems.length > 0) {\n items = items.map((item) => {\n item.branching = item.branching || branchingItems.includes(item.id);\n return item;\n });\n }\n\n return items;\n }\n\n /** @hidden */\n private _normalizeDependencyStep(\n dependency: { [p: string]: string[] },\n strategy: WizardGeneratorRefreshStrategy,\n dependentStep?: string\n ): DependencySteps {\n const newDependency: DependencySteps = {};\n\n Object.entries(dependency).forEach(([key, value]) => {\n newDependency[key] = {};\n\n value.forEach((v) => {\n newDependency[key][v] = {\n [strategy]: dependentStep ? [dependentStep] : []\n };\n });\n });\n return newDependency;\n }\n\n /** @hidden */\n private _buildDependencyMap(items: PreparedWizardGeneratorItem[]): void {\n this.dependencySteps = {};\n\n const mergeArrays = (objValue: any, srcValue: any): any => {\n if (Array.isArray(objValue) && !objValue.includes(srcValue)) {\n return uniq(objValue.concat(srcValue));\n }\n };\n\n const buildDependencySteps = (\n dependencyFields: WizardGeneratorDependencyFields,\n strategy: WizardGeneratorRefreshStrategy,\n stepId?: string\n ): void => {\n for (const [id, forms] of Object.entries(dependencyFields)) {\n this.dependencySteps[id] = mergeWith(\n this.dependencySteps[id] || {},\n this._normalizeDependencyStep(forms, strategy, stepId),\n mergeArrays\n );\n }\n };\n\n items\n .filter((s) => s.formGroups?.length)\n .forEach((step) => {\n if (step.dependencyFields) {\n buildDependencySteps(step.dependencyFields, WizardGeneratorRefreshStrategy.REFRESH_STEP_VISIBILITY);\n }\n\n const dependentForms = step.formGroups?.filter((form) => form.dependencyFields);\n\n dependentForms?.forEach((form) => {\n buildDependencySteps(\n form.dependencyFields!,\n WizardGeneratorRefreshStrategy.REFRESH_FORM_VISIBILITY,\n step.id\n );\n });\n\n const stepFields: WizardGeneratorFormItem[] = concat(\n ...[...(step.formGroups ?? [])].map((item) => item.formItems.filter((f) => f.dependencyFields))\n );\n\n stepFields.forEach((formItem) => {\n buildDependencySteps(\n formItem.dependencyFields!,\n WizardGeneratorRefreshStrategy.REVALIDATE_STEP_FORMS,\n step.id\n );\n });\n });\n }\n\n /** @hidden */\n private _getCompletedStepIds(): string[] {\n return this.items.filter((i) => i.status === 'completed').map((i) => i.id);\n }\n}\n","import { ChangeDetectorRef, Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, finalize, takeUntil } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityMode } from '@fundamental-ngx/core/content-density';\nimport { WizardStepStatus } from '@fundamental-ngx/core/wizard';\nimport { WizardGeneratorFormsValue, WizardStepSubmittedForms } from './interfaces/wizard-generator-forms.interface';\nimport { PreparedWizardGeneratorItem, WizardGeneratorItem } from './interfaces/wizard-generator-item.interface';\nimport { WizardNavigationButtons } from './interfaces/wizard-navigation-buttons.interface';\nimport { WizardGeneratorService } from './wizard-generator.service';\n\n/**\n * @description Default button labels.\n */\nexport const DEFAULT_WIZARD_NAVIGATION_BUTTONS: Required<WizardNavigationButtons> = {\n goBack: {\n label: 'Previous Step',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'ghost'\n },\n goNext: {\n label: 'Next Step',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'emphasized'\n },\n cancel: {\n label: 'Cancel',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'ghost'\n },\n finish: {\n label: 'Finish',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'emphasized'\n },\n review: {\n label: 'Review',\n contentDensity: ContentDensityMode.COMPACT,\n type: 'emphasized'\n }\n};\n\n/**\n * @description Base Wizard Generator component with necessary inputs and methods.\n */\n@Directive()\nexport class BaseWizardGenerator implements OnDestroy {\n /**\n * @description Whether or not apply responsive paddings styling.\n */\n @Input()\n responsivePaddings = true;\n\n /**\n * @description Button labels to be used in Wizard navigation\n */\n @Input()\n set navigationButtonLabels(value: WizardNavigationButtons) {\n this._navigationButtonLabels = Object.assign({}, DEFAULT_WIZARD_NAVIGATION_BUTTONS, value);\n }\n get navigationButtonLabels(): WizardNavigationButtons {\n return this._navigationButtonLabels;\n }\n\n /**\n * @description Array of Wizard Steps.\n */\n @Input()\n set items(items: WizardGeneratorItem[]) {\n this.wizardCreated = false;\n this._wizardGeneratorService.clearWizardStepComponents();\n\n if (!items) {\n return;\n }\n\n this._wizardGeneratorService.prepareWizardItems(items).then((newItems) => {\n this._items = newItems;\n this._visibleItems = newItems;\n this.wizardCreated = true;\n this._cd.detectChanges();\n });\n }\n get items(): WizardGeneratorItem[] {\n return this._items;\n }\n\n /**\n * Whether to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n set appendToWizard(value: boolean) {\n this._wizardGeneratorService.setOriginalAppendToWizardState(value);\n }\n\n get appendToWizard(): boolean {\n return this._appendToWizard;\n }\n\n /** If navigation buttons should be visible. */\n @Input()\n navigationButtons = true;\n\n /**\n * Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string>;\n\n /**\n * @description Boolean flag indicating whether to display Summary step in Wizard progress bar.\n */\n @Input()\n displaySummaryStep = false;\n\n /** Whether all form items should have identical layout provided for form group. */\n @Input()\n unifiedLayout = true;\n\n /**\n * @description Emits wizard value when it's completed.\n */\n @Output()\n wizardFinished: EventEmitter<WizardGeneratorFormsValue> = new EventEmitter();\n\n /**\n * Flag indicating that wizard is ready to be shown\n */\n wizardCreated = false;\n\n /**\n * @description Is current step is summary step.\n */\n get isSummaryStep(): boolean {\n const currentIndex = this._wizardGeneratorService.getCurrentStepIndex();\n\n return this.visibleItems[currentIndex]?.summary === true;\n }\n\n /**\n * @description Array of visible Wizard Steps.\n */\n set visibleItems(items: PreparedWizardGeneratorItem[]) {\n this._visibleItems = items;\n }\n get visibleItems(): PreparedWizardGeneratorItem[] {\n return this._visibleItems || this._items;\n }\n\n /**\n * @description Whether or not Wizard is currently on the first step\n */\n get isFirstStep(): boolean {\n return this.visibleItems[0]?.status === 'current';\n }\n\n /**\n * @description Whether or not Wizard is currently on the last step\n */\n get isLastStep(): boolean {\n const lastStep = this.visibleItems[this.visibleItems.length - 1];\n return lastStep?.status === 'current' && !lastStep.branching;\n }\n\n /**\n * Whether current step is a branching step.\n */\n get isBranchingStep(): boolean {\n const currentIndex = this._wizardGeneratorService.getCurrentStepIndex();\n\n return this._visibleItems[currentIndex]?.branching === true;\n }\n\n /**\n * Whether the next step is a Summary step.\n */\n get isNextStepSummary(): boolean {\n const nextStep = this.visibleItems[this._nextStepIndex];\n return nextStep?.summary === true;\n }\n\n /** Whether the current step is completed */\n get isCurrentStepCompleted(): boolean {\n const currentIndex = this._wizardGeneratorService.getCurrentStepIndex();\n return this._visibleItems[currentIndex]?.completed === true;\n }\n\n /**\n * @hidden\n */\n _visibleItems: PreparedWizardGeneratorItem[] = [];\n\n /** @hidden */\n _nextStepIndex: number;\n\n /** @hidden */\n _stepsOrderChanged = false;\n\n /**\n * @hidden\n */\n private _items: PreparedWizardGeneratorItem[] = [];\n\n /** @hidden */\n private _appendToWizard = false;\n\n /**\n * @hidden\n */\n private _formPending = false;\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n protected readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /**\n * @hidden\n */\n _navigationButtonLabels: Required<WizardNavigationButtons> = DEFAULT_WIZARD_NAVIGATION_BUTTONS;\n\n /** @hidden */\n constructor(\n protected _wizardGeneratorService: WizardGeneratorService,\n private _cd: ChangeDetectorRef\n ) {\n this._wizardGeneratorService\n .getVisibleSteps()\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe((visibleSteps) => {\n this.visibleItems = visibleSteps;\n this._cd.detectChanges();\n });\n\n this._wizardGeneratorService\n .trackStepsComponents()\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(async (stepsComponents) => {\n if (stepsComponents.size === this.items?.length) {\n await this._setVisibleSteps();\n }\n });\n\n this._wizardGeneratorService\n .trackAppendToWizardState()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((value) => {\n this._appendToWizard = value;\n });\n\n this._wizardGeneratorService\n .trackStepsOrder()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((newNextStep) => {\n this._nextStepIndex = newNextStep;\n this._stepsOrderChanged = true;\n });\n\n this._wizardGeneratorService\n .trackNextStepIndex()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((index) => {\n this._nextStepIndex = index;\n });\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * @description Reverts Wizard progress one step back.\n */\n goBack(): void {\n const currentStepIndex = this._wizardGeneratorService.getCurrentStepIndex();\n const previousStepIndex = currentStepIndex - 1;\n\n if (this.visibleItems[previousStepIndex] === undefined) {\n return;\n }\n\n this._stepsOrderChanged = false;\n\n this.visibleItems[currentStepIndex].status = 'upcoming';\n this.visibleItems[previousStepIndex].status = 'current';\n this._wizardGeneratorService.setVisibleSteps(this.visibleItems);\n\n this._wizardGeneratorService.setNextStepIndex(currentStepIndex);\n\n this._cd.detectChanges();\n }\n\n /**\n * @description Progresses the Wizard one step further.\n */\n async goNext(): Promise<void> {\n if (this._formPending) {\n return;\n }\n\n const currentStepIndex = this._wizardGeneratorService.getCurrentStepIndex();\n const nextStepIndex = this._nextStepIndex;\n\n this._wizardGeneratorService\n .validateStepForms()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(async (result) => {\n if (!result) {\n return;\n }\n\n await this._setVisibleSteps();\n\n const steps = this.visibleItems;\n\n if (steps[nextStepIndex] === undefined) {\n return;\n }\n\n this._stepsOrderChanged = false;\n\n steps[currentStepIndex].status = 'completed';\n steps[currentStepIndex].completed = true;\n steps[nextStepIndex].status = 'current';\n\n this._wizardGeneratorService.setVisibleSteps(steps);\n\n this._wizardGeneratorService.setNextStepIndex(nextStepIndex + 1);\n\n this._cd.detectChanges();\n });\n }\n\n /**\n * @description Submits step forms.\n * @param currentStepIndex current step index.\n * @returns {Observable<WizardStepSubmittedForms | null>} Observable with form values.\n */\n submitStepForms(currentStepIndex?: string): Observable<WizardStepSubmittedForms | null> {\n this._formPending = true;\n\n return this._wizardGeneratorService.submitStepForms(currentStepIndex).pipe(\n finalize(() => {\n this._formPending = false;\n })\n );\n }\n\n /**\n * @description Completes the wizard and emits it's formatted value.\n */\n async finish(): Promise<void> {\n if (this.isSummaryStep) {\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n this.wizardFinished.emit(wizardResult);\n return;\n }\n\n this._wizardGeneratorService\n .validateStepForms()\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(async (result) => {\n if (!result) {\n return;\n }\n\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n\n this.wizardFinished.emit(wizardResult);\n });\n }\n\n /**\n * @description Callback function to update steps status.\n * @param stepNumber Step ID to be updated.\n * @param status New step status.\n */\n async stepStatusChanged(stepId: string, status: WizardStepStatus): Promise<void> {\n const stepIndex = this._visibleItems.findIndex((s) => s.id === stepId);\n\n this._visibleItems[stepIndex].status = status;\n\n await this._wizardGeneratorService.refreshStepVisibility();\n }\n\n /**\n * @hidden\n */\n private async _setVisibleSteps(): Promise<void> {\n await this._wizardGeneratorService.refreshStepVisibility();\n\n this.wizardCreated = true;\n\n this._cd.detectChanges();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { WizardStepStatus } from '@fundamental-ngx/core/wizard';\n\nimport {\n DynamicFormGroup,\n DynamicFormValue,\n FormGeneratorComponent,\n FormGeneratorService,\n SubmitFormEventResult\n} from '@fundamental-ngx/platform/form';\nimport { isFunction } from '@fundamental-ngx/platform/shared';\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { WizardStepForms, WizardStepSubmittedForms } from '../../interfaces/wizard-generator-forms.interface';\nimport { WizardGeneratorItem } from '../../interfaces/wizard-generator-item.interface';\nimport { WizardGeneratorStep } from '../../interfaces/wizard-step.interface';\nimport {\n DependencySteps,\n WizardGeneratorRefreshStrategy,\n WizardGeneratorService\n} from '../../wizard-generator.service';\n\nimport { TitleComponent } from '@fundamental-ngx/core/title';\n\n@Component({\n selector: 'fdp-wizard-generator-step',\n templateUrl: './wizard-generator-step.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [TitleComponent, FormGeneratorComponent]\n})\nexport class WizardGeneratorStepComponent implements WizardGeneratorStep, OnInit, OnDestroy, OnChanges {\n /**\n * @description Step Form Generator components.\n */\n @ViewChildren(FormGeneratorComponent) formGenerators: QueryList<FormGeneratorComponent>;\n\n /**\n * @description Current step.\n */\n @Input()\n item: WizardGeneratorItem;\n\n /**\n * Wizard step status.\n */\n @Input()\n stepStatus: WizardStepStatus;\n\n /** Whether all form items should have identical layout provided for form group. */\n @Input()\n unifiedLayout = true;\n\n /**\n * @description Emits when all forms in the step has been submited\n */\n @Output()\n formsSubmitted = new EventEmitter<DynamicFormValue[]>();\n\n /**\n * @description Emits when all forms in the step has been created\n */\n @Output()\n formsCreated = new EventEmitter<WizardStepForms>();\n\n /**\n * @hidden\n */\n private _submittedForms: WizardStepSubmittedForms = {};\n\n /**\n * @hidden\n */\n private _formSubmitted$ = new Subject<WizardStepSubmittedForms | null>();\n\n /**\n * @hidden\n */\n private _forms: WizardStepForms = {};\n\n /**\n * @hidden\n */\n private _trackedFields: DependencySteps;\n\n /**\n * @hidden\n */\n _visibleFormGroupIds: Record<string, boolean>;\n\n /**\n * @hidden\n * @private\n */\n private _hiddenFormGroupValues: {\n [key: string]: any;\n } = {};\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _wizardGeneratorService: WizardGeneratorService,\n private _formGeneratorService: FormGeneratorService\n ) {}\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n this.refreshFormsVisibility();\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n this._wizardGeneratorService.removeWizardStepComponent(this.item.id);\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes.stepStatus && changes.stepStatus.currentValue === 'current' && this.formGenerators?.length > 0) {\n await this.updateFormsState();\n }\n }\n\n /**\n * @description Adds created form instance to the object of the forms.\n * @param form Form instance\n * @param key Form ID from @see item\n */\n async onFormCreated(form: DynamicFormGroup, key: string): Promise<void> {\n this._forms[key] = {\n title: this.item.formGroups?.find((g) => g.id === key)?.title ?? '',\n form\n };\n\n await this._wizardGeneratorService.refreshStepVisibility();\n\n if (Object.keys(this._forms).length === this.item.formGroups?.length) {\n await this.addComponentToParent();\n this.formsCreated.emit(this._forms);\n }\n\n if (this._hiddenFormGroupValues[key]) {\n form?.patchValue(this._hiddenFormGroupValues[key]);\n }\n\n this._trackDependencyFieldsChanges(form, key);\n }\n\n /**\n * @description Adds component to the service for further usage.\n */\n async addComponentToParent(): Promise<void> {\n this._wizardGeneratorService.addWizardStepComponent(this, this.item.id);\n }\n\n /**\n * @description Callback function when form has been submitted.\n * @param result Form submission result.\n * @param index Form index in the step.\n */\n onFormSubmitted(result: SubmitFormEventResult, index: string): void {\n this._submittedForms[index] = result;\n\n if (Object.keys(this._submittedForms).length === this.formGenerators.length) {\n // Last form submission. Send data back to the parent component.\n this._formSubmitted$.next(this._submittedForms);\n }\n }\n\n /**\n * Returns visible forms in the step.\n */\n getVisibleForms(): WizardStepForms {\n return Object.keys(this._forms).reduce((acc, key) => {\n if (this._visibleFormGroupIds[key] || this._visibleFormGroupIds[key] === undefined) {\n acc[key] = this._forms[key];\n }\n return acc;\n }, {});\n }\n\n /**\n * @description Clears previously submitted form values and re-submit them again.\n * @returns Subject, which will return forms value.\n */\n submitForms(skipIfUntouched = false): Subject<WizardStepSubmittedForms | null> {\n if (skipIfUntouched && !this._wizardGeneratorService.stepSubmitted(this.item.id)) {\n setTimeout(() => {\n this._formSubmitted$.next(null);\n });\n return this._formSubmitted$;\n }\n\n // Clear previously submitted form values and re-submit them again.\n this._submittedForms = {};\n\n setTimeout(() => {\n this.formGenerators.forEach((formComponent) => {\n formComponent.submit();\n });\n });\n\n return this._formSubmitted$;\n }\n\n /**\n * @hidden\n * @description Keeps track on dependency fields for other steps and refreshes the view when they changed.\n * @param form\n * @param key\n */\n private _trackDependencyFieldsChanges(form: DynamicFormGroup, key: string): void {\n this._trackedFields = this._wizardGeneratorService.getStepDependencyFields(this.item.id);\n\n if (this._trackedFields && this._trackedFields[key]) {\n Object.entries(this._trackedFields[key]).forEach(([fieldId, strategies]) => {\n const control = this._formGeneratorService.getFormControl(form, fieldId);\n\n const refreshSteps = strategies[WizardGeneratorRefreshStrategy.REFRESH_STEP_VISIBILITY] !== undefined;\n const revalidateForms = strategies[WizardGeneratorRefreshStrategy.REVALIDATE_STEP_FORMS];\n const refreshFormVisibility = strategies[WizardGeneratorRefreshStrategy.REFRESH_FORM_VISIBILITY];\n\n control?.valueChanges.pipe(debounceTime(50), takeUntil(this._onDestroy$)).subscribe(async () => {\n if (refreshSteps) {\n await this._wizardGeneratorService.refreshStepVisibility();\n }\n\n if (revalidateForms?.length) {\n this._wizardGeneratorService.notifyStepsToRevalidateForms(revalidateForms);\n }\n\n if (refreshFormVisibility?.length) {\n await this._wizardGeneratorService.refreshFormsVisibility(refreshFormVisibility);\n }\n });\n });\n }\n }\n\n /**\n * Triggers form value revalidation and checks if field in form should be visible.\n */\n async updateFormsState(): Promise<void> {\n if (this.formGenerators) {\n for (const formGenerator of this.formGenerators.toArray()) {\n await formGenerator.refreshStepsVisibility();\n }\n }\n }\n\n /**\n * Refreshes step form group visibility.\n */\n async refreshFormsVisibility(): Promise<void> {\n this._visibleFormGroupIds = {};\n\n if (!this.item.formGroups) {\n return;\n }\n\n for (const formGroup of this.item.formGroups.filter((fg) => isFunction(fg.when))) {\n const result = await this._wizardGeneratorService.refreshFormVisibility(formGroup);\n\n if (result === this._visibleFormGroupIds[formGroup.id]) {\n return;\n }\n\n const form = this._forms[formGroup.id]?.form;\n\n // Store form value so it could be restored later.\n if (!result) {\n this._hiddenFormGroupValues[formGroup.id] = form?.value;\n }\n\n this._visibleFormGroupIds[formGroup.id] = result;\n }\n }\n}\n","@if (item.title) {\n <h3 fd-title>{{ item.title }}</h3>\n}\n@for (form of item.formGroups; track form; let i = $index) {\n @if (_visibleFormGroupIds[form.id] !== false) {\n <fdp-form-generator\n [mainTitle]=\"form.title\"\n [columnLayout]=\"form.columnLayout\"\n [noAdditionalContent]=\"true\"\n [formName]=\"form.id\"\n [formItems]=\"$any(form.formItems)\"\n [hint]=\"form.guiOptions?.hint!\"\n [unifiedLayout]=\"unifiedLayout\"\n (formCreated)=\"onFormCreated($event, form.id)\"\n (formSubmittedStatus)=\"onFormSubmitted($event, form.id)\"\n ></fdp-form-generator>\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { FormLabelComponent } from '@fundamental-ngx/core/form';\nimport { LayoutGridModule } from '@fundamental-ngx/core/layout-grid';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { LinkComponent } from '@fundamental-ngx/platform/link';\nimport {\n FormattedFormStep,\n WizardGeneratorSummaryItem\n} from '../../../interfaces/wizard-generator-summary-item.interface';\n\n@Component({\n selector: 'fdp-wizard-summary-section',\n templateUrl: './wizard-summary-section.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [TitleComponent, LayoutGridModule, FormLabelComponent, LinkComponent, FdTranslatePipe]\n})\nexport class WizardSummarySectionComponent {\n /**\n * @description Current step for the section.\n */\n @Input()\n step: WizardGeneratorSummaryItem;\n\n /**\n * Emits when step edit button clicked.\n */\n @Output()\n editStep = new EventEmitter<string>();\n\n /**\n * @hidden\n * @description Sets current step on wizard.\n * @param event Mouse click event to prevent.\n */\n _editStep(event: MouseEvent | KeyboardEvent | TouchEvent): void {\n event.preventDefault();\n this.editStep.emit(this.step.id);\n }\n\n /** @hidden */\n _trackFn(_: number, form: FormattedFormStep): string {\n return form.id;\n }\n}\n","@for (group of step.forms; track _trackFn($index, group)) {\n <h4 fd-title [headerSize]=\"4\">{{ group.title }}</h4>\n <fd-layout-grid [style.margin-bottom.rem]=\"2\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"2\" [colLg]=\"2\" [colXl]=\"2\">\n @for (item of group.items; track item) {\n <div>\n <label fd-form-label> {{ item.label }}: </label>\n </div>\n }\n </div>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n @for (item of group.items; track item) {\n <div>\n <label fd-form-label>\n {{ item.value || '-' }}\n </label>\n </div>\n }\n </div>\n <div [fdLayoutGridCol]=\"1\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <fdp-link href=\"#\" (click)=\"_editStep($event)\">\n {{ 'platformWizardGenerator.summarySectionEditStep' | fdTranslate }}\n </fdp-link>\n </div>\n </div>\n </fd-layout-grid>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WizardStepStatus } from '@fundamental-ngx/core/wizard';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { WizardGeneratorFormsValue, WizardStepForms } from '../../interfaces/wizard-generator-forms.interface';\nimport { WizardGeneratorItem } from '../../interfaces/wizard-generator-item.interface';\nimport {\n FormattedFormStep,\n WizardGeneratorSummaryItem\n} from '../../interfaces/wizard-generator-summary-item.interface';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardSummarySectionComponent } from './wizard-summary-section/wizard-summary-section.component';\n\n@Component({\n selector: 'fdp-wizard-summary-step',\n templateUrl: './wizard-summary-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [WizardSummarySectionComponent, NgTemplateOutlet]\n})\nexport class WizardSummaryStepComponent {\n /**\n * Formatted wizard value with steps and their forms.\n */\n formattedWizardValue: WizardGeneratorSummaryItem[] = [];\n\n /**\n * @hidden\n */\n _submittedForms: WizardGeneratorFormsValue;\n\n /**\n * @description Summary step status.\n */\n @Input()\n set status(status: WizardStepStatus) {\n if (status === 'current') {\n this._wizardGeneratorService.getWizardFormValue(true).then((forms) => {\n this._submittedForms = forms;\n\n this._wizardSteps = this._wizardGeneratorService.items.filter(\n (i) => this._submittedForms[i.id] !== undefined\n );\n\n this._formatWizardValue().then(() => {\n this._shouldRender = true;\n\n this._cd.detectChanges();\n });\n });\n } else {\n this._shouldRender = false;\n }\n\n this._cd.detectChanges();\n }\n\n /**\n * User-defined template for Summary step.\n */\n @Input()\n customSummaryStepTemplate: Nullable<TemplateRef<HTMLElement>>;\n\n /**\n * @hidden\n */\n _shouldRender = false;\n\n /**\n * @hidden\n */\n _wizardSteps: WizardGeneratorItem[];\n\n /** @hidden */\n constructor(\n private _wizardGeneratorService: WizardGeneratorService,\n private _formGeneratorService: FormGeneratorService,\n private _cd: ChangeDetectorRef\n ) {}\n\n /**\n * Opens defined step for editing.\n * @param stepId Defined step ID.\n */\n editStep(stepId: string): void {\n this._wizardGeneratorService.editStep(stepId);\n }\n\n /**\n * @hidden\n * @param index\n * @returns step index\n */\n _trackFn(_: number, step): number {\n return step.id;\n }\n\n /** @hidden */\n _editStepFn: (stepId: string) => void = (stepId: string) => this.editStep(stepId);\n\n /** @hidden */\n private async _formatWizardValue(): Promise<void> {\n this.formattedWizardValue = [];\n\n for (const step of this._wizardSteps) {\n const component = this._wizardGeneratorService.stepsComponents.get(step.id);\n const componentForms = component?.getVisibleForms();\n\n if (!componentForms) {\n continue;\n }\n\n const formattedStepValue = await this._formatStepValue(componentForms, step);\n\n this.formattedWizardValue.push({\n id: step.id,\n name: step.name as string,\n title: step.title as string,\n forms: formattedStepValue\n });\n }\n }\n\n /** @hidden */\n private async _formatStepValue(\n componentForms: WizardStepForms,\n step: WizardGeneratorItem\n ): Promise<FormattedFormStep[]> {\n const formattedStepValue: FormattedFormStep[] = [];\n\n for (const formGroup of step.formGroups ?? []) {\n const formId = formGroup.id;\n\n const form = componentForms[formId];\n\n // Form might be skipped due to conditional rendering\n if (!form) {\n continue;\n }\n\n const formattedFormValue = await this._formGeneratorService.getFormValue(form.form, true);\n\n const formattedForm: FormattedFormStep = {\n title: form.title,\n id: formId,\n items: Object.keys(this._submittedForms[step.id][formId]).map((key) => {\n const formItem = this._formGeneratorService.getFormControl(form.form, key).formItem;\n return {\n label: formItem.message as string,\n value: formattedFormValue[key]\n };\n })\n };\n\n formattedStepValue.push(formattedForm);\n }\n\n return formattedStepValue;\n }\n}\n","@if (_shouldRender) {\n <ng-template #defaultsummaryStepTemplate>\n @for (step of formattedWizardValue; track _trackFn($index, step)) {\n <fdp-wizard-summary-section [step]=\"step\" (editStep)=\"editStep($event)\"></fdp-wizard-summary-section>\n }\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customSummaryStepTemplate || defaultsummaryStepTemplate\"\n [ngTemplateOutletContext]=\"{ steps: formattedWizardValue, editStep: _editStepFn }\"\n ></ng-template>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, firstValueFrom } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WizardModule, WizardStepStatus } from '@fundamental-ngx/core/wizard';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { ButtonComponent } from '@fundamental-ngx/platform/button';\nimport { PreparedWizardGeneratorItem, WizardGeneratorItem } from '../../interfaces/wizard-generator-item.interface';\nimport { WizardNavigationButtons } from '../../interfaces/wizard-navigation-buttons.interface';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardGeneratorStepComponent } from '../wizard-generator-step/wizard-generator-step.component';\nimport { WizardSummaryStepComponent } from '../wizard-summary-step/wizard-summary-step.component';\n\nexport interface WizardStepChange {\n id: string;\n status: WizardStepStatus;\n}\n\n@Component({\n selector: 'fdp-wizard-body',\n templateUrl: './wizard-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n WizardModule,\n WizardGeneratorStepComponent,\n WizardSummaryStepComponent,\n ButtonComponent,\n ContentDensityDirective,\n NgTemplateOutlet\n ]\n})\nexport class WizardBodyComponent implements OnInit, OnDestroy {\n /**\n * @description Whether or not apply responsive paddings styling.\n */\n @Input()\n responsivePaddings = true;\n\n /**\n * @description Button labels to be used in Wizard navigation\n */\n @Input()\n navigationButtonLabels: Required<WizardNavigationButtons>;\n\n /**\n * @description Whether or not to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n appendToWizard = true;\n\n /**\n * @description Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the Shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string>;\n\n /**\n * @description Whether or not Wizard is currently on the first step\n */\n @Input()\n isFirstStep = false;\n\n /**\n * @description Whether Wizard is currently on the last step.\n */\n @Input()\n isLastStep = false;\n\n /**\n * Whether next step is a Summary step.\n */\n @Input()\n isNextStepSummary = false;\n\n /**\n * @description Boolean flag indicating whether to display Summary step in Wizard progress bar.\n */\n @Input()\n displaySummaryStep = false;\n\n /**\n * User-defined template for \"Go Next\" button.\n */\n @Input()\n goNextButtonTemplate: TemplateRef<any>;\n\n /**\n * User-defined template for \"Finish\" button.\n */\n @Input()\n finishButtonTemplate: TemplateRef<any>;\n\n /**\n * User-defined template for summary step.\n */\n @Input()\n customSummaryStepTemplate?: TemplateRef<HTMLElement>;\n\n /** User-defined template for \"Review\" button */\n @Input()\n reviewButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * @description Is current step is summary step.\n */\n @Input()\n isSummaryStep = false;\n\n /** If navigation buttons should be visible. */\n @Input()\n navigationButtons = true;\n\n /** Whether or not all form items should have identical layout provided for form group. */\n @Input()\n unifiedLayout = true;\n\n /** Whether current step is a branching step. */\n @Input()\n isBranchingStep = false;\n\n /** Whether current step is completed */\n @Input()\n isCurrentStepCompleted = false;\n\n /** Whether order of steps was changed */\n @Input()\n stepsOrderChanged = false;\n\n /**\n * @description Emits when some step status has been changed.\n */\n @Output()\n statusChange = new EventEmitter<WizardStepChange>();\n\n /**\n * @description Emits when \"Go next\" button has been clicked\n */\n @Output()\n goNext = new EventEmitter<void>();\n\n /**\n * @description Emits when \"Finish\" button has been clicked\n */\n @Output()\n finish = new EventEmitter<void>();\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /**\n * @hidden\n */\n private _visibleItems: PreparedWizardGeneratorItem[];\n\n /**\n * @description Array of visible Wizard Steps.\n */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n set visibleItems(items: PreparedWizardGeneratorItem[]) {\n this._visibleItems = items;\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n get visibleItems(): PreparedWizardGeneratorItem[] {\n return this._visibleItems || this._wizardGeneratorService.items;\n }\n\n /** @hidden */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n constructor(\n private _wizardGeneratorService: WizardGeneratorService,\n private _cd: ChangeDetectorRef\n ) {}\n\n /**\n * @hidden\n */\n _goNextFn: () => void = () => this.goNext.emit();\n\n /**\n * @hidden\n */\n _finishFn: () => void = () => this.finish.emit();\n\n /**\n * @description Custom step status change validator function.\n * @param index Current step index.\n * @returns {Promise<boolean>} If this step status can be changed.\n */\n stepClickValidatorFn(index: number): () => Promise<boolean> {\n return async () => {\n const currentStepIndex = this._wizardGeneratorService.getCurrentStepIndex();\n const isSummaryStep = this._visibleItems[currentStepIndex]?.summary === true;\n\n if (index === currentStepIndex || isSummaryStep) {\n return true;\n }\n\n if (this._visibleItems.slice(0, index).find((i) => !i.completed && !i.summary)) {\n return false;\n }\n\n return await firstValueFrom(this._wizardGeneratorService.validateStepForms(true));\n };\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n this._wizardGeneratorService\n .getVisibleSteps()\n .pipe(debounceTime(50), takeUntil(this._onDestroy$))\n .subscribe((visibleSteps) => {\n this._visibleItems = visibleSteps;\n this._cd.detectChanges();\n });\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * @description Callback function for status change.\n * @param id step ID.\n * @param status new step status.\n */\n stepStatusChanged(id: string, status: WizardStepStatus): void {\n this.statusChange.emit({\n id,\n status\n });\n }\n\n /** @hidden */\n stepClicked(stepId: string): void {\n const stepIndex = this._wizardGeneratorService.getStepIndex(stepId);\n this._wizardGeneratorService.setNextStepIndex(stepIndex + 1);\n }\n\n /**\n * @hidden\n * @param _index\n * @param item\n * @returns\n */\n _trackFn(_index: number, item: WizardGeneratorItem): string {\n return item.id;\n }\n}\n","@if (visibleItems) {\n <fd-wizard\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n >\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar>\n @for (step of visibleItems; track _trackFn(i, step); let i = $index) {\n <li\n fd-wizard-step\n [label]=\"step.name\"\n [status]=\"step.status\"\n [optionalText]=\"step.optionalText\"\n [branching]=\"!!step.branching\"\n [stepClickValidator]=\"stepClickValidatorFn(i)\"\n [isSummary]=\"!!step.summary\"\n (statusChange)=\"stepStatusChanged(step.id, $event)\"\n (stepClicked)=\"stepClicked(step.id)\"\n >\n <fd-wizard-step-indicator [glyph]=\"step.icon || null\">\n @if (!step.icon) {\n {{ i + 1 }}\n }\n </fd-wizard-step-indicator>\n <fd-wizard-content>\n @if (!step.summary) {\n <fdp-wizard-generator-step\n [unifiedLayout]=\"unifiedLayout\"\n [item]=\"step\"\n [stepStatus]=\"step.status\"\n ></fdp-wizard-generator-step>\n } @else {\n <fdp-wizard-summary-step\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [status]=\"step.status\"\n ></fdp-wizard-summary-step>\n }\n @if (navigationButtons) {\n <fd-wizard-next-step [canHide]=\"appendToWizard\">\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <fdp-button\n [fdContentDensity]=\"navigationButtonLabels.goNext.contentDensity\"\n [buttonType]=\"navigationButtonLabels.goNext.type\"\n [label]=\"navigationButtonLabels.goNext.label\"\n (click)=\"goNext.emit()\"\n ></fdp-button>\n </ng-template>\n <ng-template #defaultReviewButtonTemplate>\n <fdp-button\n [fdContentDensity]=\"navigationButtonLabels.review.contentDensity\"\n [buttonType]=\"navigationButtonLabels.review.type\"\n [label]=\"navigationButtonLabels.review.label\"\n (click)=\"goNext.emit()\"\n ></fdp-button>\n </ng-template>\n @if (\n (isBranchingStep && (!isCurrentStepCompleted || stepsOrderChanged)) ||\n !isNextStepSummary\n ) {\n <ng-template\n [ngTemplateOutlet]=\"goNextButtonTemplate || defaultGoNextButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"reviewButtonTemplate || defaultReviewButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n }\n } @else {\n <ng-template #defaultFinishButtonTemplate>\n <fdp-button\n [fdContentDensity]=\"navigationButtonLabels.finish.contentDensity\"\n [buttonType]=\"navigationButtonLabels.finish.type\"\n [label]=\"navigationButtonLabels.finish.label\"\n (click)=\"finish.emit()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"finishButtonTemplate || defaultFinishButtonTemplate\"\n [ngTemplateOutletContext]=\"{ finish: _finishFn }\"\n ></ng-template>\n }\n </fd-wizard-next-step>\n }\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { InitialFocusDirective } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogModule, DialogRef } from '@fundamental-ngx/core/dialog';\nimport { MessageBoxModule, MessageBoxService } from '@fundamental-ngx/core/message-box';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { ButtonComponent } from '@fundamental-ngx/platform/button';\nimport { BaseWizardGenerator } from '../../base-wizard-generator';\nimport { WizardDialogData } from '../../interfaces/wizard-dialog-data.interface';\nimport { WizardTitle } from '../../interfaces/wizard-title.interface';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardBodyComponent } from '../wizard-body/wizard-body.component';\n\n@Component({\n selector: 'fdp-dialog-wizard-generator',\n templateUrl: './dialog-wizard-generator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [WizardGeneratorService, FormGeneratorService],\n standalone: true,\n imports: [\n DialogModule,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n WizardBodyComponent,\n BarModule,\n ButtonComponent,\n ContentDensityDirective,\n NgTemplateOutlet,\n MessageBoxModule,\n InitialFocusDirective\n ]\n})\nexport class DialogWizardGeneratorComponent extends BaseWizardGenerator {\n /** @hidden */\n @ViewChild('defaultConfirmationDialogTemplate') defaultConfirmationDialogTemplate: TemplateRef<HTMLElement>;\n\n /**\n * @description Wizards dialog title configuration.\n */\n title: WizardTitle;\n\n /**\n * @description Confirmation message when wizard dialog close button has been clicked.\n */\n confirmationDialogText = 'Are you sure you want to discard your progress?';\n /**\n * @description Confirm button text for close confirmation dialog.\n */\n confirmationDialogCloseText = 'Confirm';\n /**\n * @description Cancel button text for close confirmation dialog.\n */\n confirmationDialogCancelText = 'Cancel';\n\n /**\n * User-defined template for \"Go Next\" button.\n */\n goNextButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Go Back\" button.\n */\n goBackButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Finish\" button.\n */\n finishButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Cancel\" button.\n */\n cancelButtonTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for cancellation confirmation dialog.\n */\n confirmationDialogTemplate?: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for summary step.\n */\n summaryStepTemplate?: TemplateRef<HTMLElement>;\n\n /** User-defined template for \"Review\" button */\n reviewButtonTemplate?: TemplateRef<HTMLElement>;\n\n /** @hidden */\n private readonly _messageBoxService = inject(MessageBoxService);\n\n /** @hidden */\n constructor(\n _wizardGeneratorService: WizardGeneratorService,\n _cd: ChangeDetectorRef,\n private _dialogRef: DialogRef<WizardDialogData>\n ) {\n super(_wizardGeneratorService, _cd);\n\n this.items = this._dialogRef.data.items;\n this.title = this._dialogRef.data.title;\n this.appendToWizard = this._dialogRef.data.appendToWizard;\n this.navigationButtonLabels = this._dialogRef.data.navigationButtonLabels ?? {};\n this.contentHeight = this._dialogRef.data.contentHeight;\n this.responsivePaddings = this._dialogRef.data.responsivePaddings;\n this.goNextButtonTemplate = this._dialogRef.data.goNextButtonTemplate;\n this.goBackButtonTemplate = this._dialogRef.data.goBackButtonTemplate;\n this.finishButtonTemplate = this._dialogRef.data.finishButtonTemplate;\n this.cancelButtonTemplate = this._dialogRef.data.cancelButtonTemplate;\n this.confirmationDialogTemplate = this._dialogRef.data.confirmationDialogTemplate;\n this.displaySummaryStep = this._dialogRef.data.displaySummaryStep || false;\n this.summaryStepTemplate = this._dialogRef.data.summaryStepTemplate;\n this.reviewButtonTemplate = this._dialogRef.data.reviewButtonTemplate;\n\n if (this._dialogRef.data.unifiedLayout !== undefined) {\n this.unifiedLayout = this._dialogRef.data.unifiedLayout;\n }\n\n if (this._dialogRef.data.navigationButtons !== undefined) {\n this.navigationButtons = this._dialogRef.data.navigationButtons;\n }\n\n if (this._dialogRef.data.confirmationDialogText) {\n this.confirmationDialogText = this._dialogRef.data.confirmationDialogText;\n }\n\n if (this._dialogRef.data.confirmationDialogCancelText) {\n this.confirmationDialogCancelText = this._dialogRef.data.confirmationDialogCancelText;\n }\n\n if (this._dialogRef.data.confirmationDialogCloseText) {\n this.confirmationDialogCloseText = this._dialogRef.data.confirmationDialogCloseText;\n }\n }\n\n /**\n * @description Cancels Wizard progress and closes the dialog.\n */\n cancel(): void {\n if (this._wizardGeneratorService.isStepsUntouched()) {\n this._dialogRef.dismiss();\n\n return;\n }\n\n const template = this.confirmationDialogTemplate || this.defaultConfirmationDialogTemplate;\n\n const messageBoxRef = this._messageBoxService.open(template, { responsivePadding: true });\n\n messageBoxRef.afterClosed\n .pipe(\n filter((result) => result),\n takeUntil(this._onDestroy$)\n )\n .subscribe(() => {\n this._dialogRef.dismiss();\n });\n }\n\n /**\n * @description Completes Wizard process, emits Wizard result and closes the dialog.\n */\n async finish(): Promise<void> {\n if (this.isSummaryStep) {\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n this._dialogRef.close(wizardResult);\n return;\n }\n\n const currentStepId = this._wizardGeneratorService.getCurrentStepId();\n this.submitStepForms(currentStepId)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(async (result) => {\n if (result && Object.values(result).some((r) => !r.success)) {\n return;\n }\n\n const wizardResult = await this._wizardGeneratorService.getWizardFormValue(true);\n this._dialogRef.close(wizardResult);\n });\n }\n\n /**\n * @hidden\n */\n _goBackFn: () => void = () => this.goBack();\n /**\n * @hidden\n */\n _goNextFn: () => Promise<void> = () => this.goNext();\n\n /**\n * @hidden\n */\n _finishFn: () => Promise<void> = () => this.finish();\n\n /**\n * @hidden\n */\n _cancelFn: () => void = () => this.cancel();\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h2 fd-title [headerSize]=\"title.size\">{{ title.text }}</h2>\n </fd-dialog-header>\n <fd-dialog-body>\n <fdp-wizard-body\n [navigationButtons]=\"false\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [responsivePaddings]=\"responsivePaddings\"\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [customSummaryStepTemplate]=\"summaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [unifiedLayout]=\"unifiedLayout\"\n [contentHeight]=\"contentHeight\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n ></fdp-wizard-body>\n @if (wizardCreated) {\n <div fd-bar barDesign=\"floating-footer\" [class.fd-bar--responsive-paddings]=\"responsivePaddings\">\n <div fd-bar-right>\n @if (!isFirstStep) {\n <ng-template #defaultGoBackButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.goBack.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.goBack.type\"\n [label]=\"_navigationButtonLabels.goBack.label\"\n (click)=\"goBack()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"goBackButtonTemplate || defaultGoBackButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goBack: _goBackFn }\"\n ></ng-template>\n }\n @if (!isLastStep) {\n <ng-template #defaultGoNextButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.goNext.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.goNext.type\"\n [label]=\"_navigationButtonLabels.goNext.label\"\n (click)=\"goNext()\"\n ></fdp-button>\n </ng-template>\n <ng-template #defaultReviewButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.review.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.review.type\"\n [label]=\"_navigationButtonLabels.review.label\"\n (click)=\"goNext()\"\n ></fdp-button>\n </ng-template>\n @if (\n (isBranchingStep && (!isCurrentStepCompleted || _stepsOrderChanged)) || !isNextStepSummary\n ) {\n <ng-template\n [ngTemplateOutlet]=\"goNextButtonTemplate || defaultGoNextButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"reviewButtonTemplate || defaultReviewButtonTemplate\"\n [ngTemplateOutletContext]=\"{ goNext: _goNextFn }\"\n ></ng-template>\n }\n }\n @if (isLastStep) {\n <ng-template #defaultFinishButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.finish.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.finish.type\"\n [label]=\"_navigationButtonLabels.finish.label\"\n (click)=\"finish()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"finishButtonTemplate || defaultFinishButtonTemplate\"\n [ngTemplateOutletContext]=\"{ finish: _finishFn }\"\n ></ng-template>\n }\n <ng-template #defaultCancelButtonTemplate>\n <fdp-button\n class=\"fd-bar__element\"\n [fdContentDensity]=\"_navigationButtonLabels.cancel.contentDensity\"\n [buttonType]=\"_navigationButtonLabels.cancel.type\"\n [label]=\"_navigationButtonLabels.cancel.label\"\n (click)=\"cancel()\"\n ></fdp-button>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"cancelButtonTemplate || defaultCancelButtonTemplate\"\n [ngTemplateOutletContext]=\"{ cancel: _cancelFn }\"\n ></ng-template>\n </div>\n </div>\n }\n </fd-dialog-body>\n</fd-dialog>\n<ng-template\n [fdMessageBoxTemplate]\n let-messageBox\n let-messageBoxConfig=\"messageBoxConfig\"\n #defaultConfirmationDialogTemplate\n>\n <fd-message-box [messageBoxConfig]=\"messageBoxConfig\" [messageBoxRef]=\"messageBox\">\n <fd-message-box-body>\n {{ confirmationDialogText }}\n </fd-message-box-body>\n <fd-message-box-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"confirmationDialogCloseText\"\n type=\"submit\"\n (click)=\"messageBox.close(true)\"\n >\n </fd-button-bar>\n <fd-button-bar fdkInitialFocus [label]=\"confirmationDialogCancelText\" (click)=\"messageBox.dismiss()\">\n </fd-button-bar>\n </fd-message-box-footer>\n </fd-message-box>\n</ng-template>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorFinishButton], [fdp-wizard-generator-finish-button]',\n standalone: true\n})\nexport class WizardGeneratorFinishButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorGoNextButton], [fdp-wizard-generator-go-next-button]',\n standalone: true\n})\nexport class WizardGeneratorGoNextButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorReviewButton], [fdp-wizard-generator-review-button]',\n standalone: true\n})\nexport class WizardGeneratorReviewButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdpWizardGeneratorSummaryStep], [fdp-wizard-generator-summary-step]',\n standalone: true\n})\nexport class WizardGeneratorSummaryStepDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\n\nimport { RepeatDirective } from '@fundamental-ngx/cdk/utils';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { WizardModule } from '@fundamental-ngx/core/wizard';\nimport { BaseWizardGenerator } from '../../base-wizard-generator';\nimport { WizardGeneratorFinishButtonDirective } from '../../directives/wizard-generator-finish-button.directive';\nimport { WizardGeneratorGoNextButtonDirective } from '../../directives/wizard-generator-go-next-button.directive';\nimport { WizardGeneratorReviewButtonDirective } from '../../directives/wizard-generator-review-button.directive';\nimport { WizardGeneratorSummaryStepDirective } from '../../directives/wizard-generator-summary-step.directive';\nimport { WizardGeneratorService } from '../../wizard-generator.service';\nimport { WizardBodyComponent } from '../wizard-body/wizard-body.component';\n\n@Component({\n selector: 'fdp-wizard-generator',\n templateUrl: './wizard-generator.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [WizardGeneratorService, FormGeneratorService],\n standalone: true,\n imports: [WizardBodyComponent, WizardModule, RepeatDirective, SkeletonComponent]\n})\nexport class WizardGeneratorComponent extends BaseWizardGenerator {\n /**\n * User-defined template for \"Finish\" button.\n */\n @ContentChild(WizardGeneratorFinishButtonDirective, { read: TemplateRef })\n finishButtonTemplate: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Go Next\" button.\n */\n @ContentChild(WizardGeneratorGoNextButtonDirective, { read: TemplateRef })\n goNextButtonTemplate: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for Summary step.\n */\n @ContentChild(WizardGeneratorSummaryStepDirective, { read: TemplateRef })\n customSummaryStepTemplate: TemplateRef<HTMLElement>;\n\n /**\n * User-defined template for \"Review\" button\n */\n @ContentChild(WizardGeneratorReviewButtonDirective, { read: TemplateRef })\n reviewButtonTemplate: TemplateRef<HTMLElement>;\n\n /** @hidden */\n constructor(_wizardGeneratorService: WizardGeneratorService, _cd: ChangeDetectorRef) {\n super(_wizardGeneratorService, _cd);\n }\n}\n","@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n <li *fdkRepeat=\"3; let i = index\" fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n","import { Injectable } from '@angular/core';\n\nimport { DialogConfig, DialogRef, DialogService } from '@fundamental-ngx/core/dialog';\nimport { DialogWizardGeneratorComponent } from './components/dialog-wizard-generator/dialog-wizard-generator.component';\nimport { WizardDialogData } from './interfaces/wizard-dialog-data.interface';\nimport { WizardGeneratorFormsValue } from './interfaces/wizard-generator-forms.interface';\n\n/**\n * @description Helper service to launch Wizard in dialog with minimal user input.\n */\n@Injectable()\nexport class WizardDialogGeneratorService {\n /** @hidden */\n constructor(private _dialogService: DialogService) {}\n\n /**\n * @description Opens dialog with wizard component inside.\n * @param config Dialog options with wizard config.\n * @returns DialogRef instance.\n */\n open(config: DialogConfig<WizardDialogData>): DialogRef<WizardDialogData, WizardGeneratorFormsValue> {\n const dialogRef = this._dialogService.open(DialogWizardGeneratorComponent, config);\n\n return dialogRef;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n FORM_GENERATOR_CONFIG,\n FORM_GENERATOR_ITEM_CONFIG,\n FormGeneratorModuleConfig,\n PlatformFormGeneratorModule\n} from '@fundamental-ngx/platform/form';\nimport { DialogWizardGeneratorComponent } from './components/dialog-wizard-generator/dialog-wizard-generator.component';\nimport { WizardBodyComponent } from './components/wizard-body/wizard-body.component';\nimport { WizardGeneratorStepComponent } from './components/wizard-generator-step/wizard-generator-step.component';\nimport { WizardGeneratorComponent } from './components/wizard-generator/wizard-generator.component';\nimport { WizardSummarySectionComponent } from './components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component';\nimport { WizardSummaryStepComponent } from './components/wizard-summary-step/wizard-summary-step.component';\nimport { WizardGeneratorFinishButtonDirective } from './directives/wizard-generator-finish-button.directive';\nimport { WizardGeneratorGoNextButtonDirective } from './directives/wizard-generator-go-next-button.directive';\nimport { WizardGeneratorReviewButtonDirective } from './directives/wizard-generator-review-button.directive';\nimport { WizardGeneratorSummaryStepDirective } from './directives/wizard-generator-summary-step.directive';\nimport { WizardDialogGeneratorService } from './wizard-dialog-generator.service';\n\n/**\n * Adds Wizard Generator functionality to your application.\n *\n * Can be imported in two ways:\n * * Plain PlatformWizardGeneratorModule with default configuration\n * * With `withConfig()` method which allows passing custom default configuration.\n */\n@NgModule({\n imports: [\n PlatformFormGeneratorModule,\n WizardGeneratorComponent,\n WizardGeneratorStepComponent,\n WizardBodyComponent,\n DialogWizardGeneratorComponent,\n WizardSummaryStepComponent,\n WizardSummarySectionComponent,\n WizardGeneratorGoNextButtonDirective,\n WizardGeneratorFinishButtonDirective,\n WizardGeneratorSummaryStepDirective,\n WizardGeneratorReviewButtonDirective\n ],\n exports: [\n WizardGeneratorComponent,\n WizardGeneratorStepComponent,\n WizardBodyComponent,\n DialogWizardGeneratorComponent,\n WizardSummaryStepComponent,\n WizardSummarySectionComponent,\n WizardGeneratorGoNextButtonDirective,\n WizardGeneratorFinishButtonDirective,\n WizardGeneratorSummaryStepDirective,\n WizardGeneratorReviewButtonDirective\n ],\n providers: [WizardDialogGeneratorService]\n})\nexport class PlatformWizardGeneratorModule {\n /**\n * Allows configuring module on a global level with custom configuration.\n * @param config User's custom configuration.\n */\n static withConfig(config: Partial<FormGeneratorModuleConfig>): ModuleWithProviders<PlatformWizardGeneratorModule> {\n return {\n ngModule: PlatformWizardGeneratorModule,\n providers: [\n {\n provide: FORM_GENERATOR_ITEM_CONFIG,\n useValue: config.itemConfig\n },\n {\n provide: FORM_GENERATOR_CONFIG,\n useValue: config.formConfig\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.WizardGeneratorService","isFunction","i2"],"mappings":"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"}