@wavemaker-ai/app-ng-runtime 12.0.0-rc.335 → 12.0.1-rc.338
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.
- package/build-task/bundles/index.umd.js +15 -16
- package/build-task/fesm2022/index.mjs +15 -16
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/bundles/index.umd.js +9 -9
- package/components/advanced/carousel/fesm2022/index.mjs +9 -9
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/types/index.d.ts +7 -7
- package/components/advanced/custom/bundles/index.umd.js +9 -10
- package/components/advanced/custom/fesm2022/index.mjs +9 -10
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- package/components/advanced/custom/types/index.d.ts +3 -3
- package/components/advanced/login/bundles/index.umd.js +3 -3
- package/components/advanced/login/fesm2022/index.mjs +3 -3
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/types/index.d.ts +1 -1
- package/components/advanced/marquee/bundles/index.umd.js +3 -3
- package/components/advanced/marquee/fesm2022/index.mjs +3 -3
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- package/components/advanced/marquee/types/index.d.ts +1 -1
- package/components/base/bundles/index.umd.js +40 -46
- package/components/base/fesm2022/index.mjs +40 -46
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/types/index.d.ts +47 -46
- package/components/basic/anchor/bundles/index.umd.js +3 -3
- package/components/basic/anchor/fesm2022/index.mjs +3 -3
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
- package/components/basic/anchor/types/index.d.ts +3 -3
- package/components/basic/audio/bundles/index.umd.js +3 -3
- package/components/basic/audio/fesm2022/index.mjs +3 -3
- package/components/basic/audio/fesm2022/index.mjs.map +1 -1
- package/components/basic/audio/types/index.d.ts +1 -1
- package/components/basic/html/bundles/index.umd.js +10 -11
- package/components/basic/html/fesm2022/index.mjs +10 -11
- package/components/basic/html/fesm2022/index.mjs.map +1 -1
- package/components/basic/html/types/index.d.ts +3 -3
- package/components/basic/icon/bundles/index.umd.js +3 -3
- package/components/basic/icon/fesm2022/index.mjs +3 -3
- package/components/basic/icon/fesm2022/index.mjs.map +1 -1
- package/components/basic/icon/types/index.d.ts +1 -1
- package/components/basic/iframe/bundles/index.umd.js +5 -5
- package/components/basic/iframe/fesm2022/index.mjs +5 -5
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -1
- package/components/basic/iframe/types/index.d.ts +3 -3
- package/components/basic/label/bundles/index.umd.js +10 -11
- package/components/basic/label/fesm2022/index.mjs +10 -11
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/label/types/index.d.ts +1 -1
- package/components/basic/picture/bundles/index.umd.js +3 -3
- package/components/basic/picture/fesm2022/index.mjs +3 -3
- package/components/basic/picture/fesm2022/index.mjs.map +1 -1
- package/components/basic/picture/types/index.d.ts +2 -2
- package/components/basic/progress/progress-bar/bundles/index.umd.js +8 -10
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +8 -10
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-bar/types/index.d.ts +2 -2
- package/components/basic/progress/progress-circle/bundles/index.umd.js +3 -3
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +3 -3
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-circle/types/index.d.ts +2 -2
- package/components/basic/rich-text-editor/bundles/index.umd.js +3 -3
- package/components/basic/rich-text-editor/fesm2022/index.mjs +3 -3
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/types/index.d.ts +3 -3
- package/components/basic/search/bundles/index.umd.js +40 -42
- package/components/basic/search/fesm2022/index.mjs +40 -42
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/types/index.d.ts +13 -13
- package/components/basic/spinner/bundles/index.umd.js +3 -3
- package/components/basic/spinner/fesm2022/index.mjs +3 -3
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
- package/components/basic/spinner/types/index.d.ts +3 -3
- package/components/basic/tree/bundles/index.umd.js +9 -9
- package/components/basic/tree/fesm2022/index.mjs +9 -9
- package/components/basic/tree/fesm2022/index.mjs.map +1 -1
- package/components/basic/tree/types/index.d.ts +7 -7
- package/components/basic/video/bundles/index.umd.js +3 -3
- package/components/basic/video/fesm2022/index.mjs +3 -3
- package/components/basic/video/fesm2022/index.mjs.map +1 -1
- package/components/basic/video/types/index.d.ts +2 -2
- package/components/chart/bundles/index.umd.js +19 -22
- package/components/chart/fesm2022/index.mjs +20 -23
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/types/index.d.ts +9 -9
- package/components/containers/accordion/bundles/index.umd.js +10 -12
- package/components/containers/accordion/fesm2022/index.mjs +10 -12
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/types/index.d.ts +9 -9
- package/components/containers/layout-grid/bundles/index.umd.js +9 -9
- package/components/containers/layout-grid/fesm2022/index.mjs +9 -9
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- package/components/containers/layout-grid/types/index.d.ts +4 -4
- package/components/containers/linear-layout/bundles/index.umd.js +6 -6
- package/components/containers/linear-layout/fesm2022/index.mjs +6 -6
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- package/components/containers/linear-layout/types/index.d.ts +2 -2
- package/components/containers/panel/bundles/index.umd.js +3 -3
- package/components/containers/panel/fesm2022/index.mjs +3 -3
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/types/index.d.ts +3 -3
- package/components/containers/tabs/bundles/index.umd.js +9 -9
- package/components/containers/tabs/fesm2022/index.mjs +9 -9
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/types/index.d.ts +8 -8
- package/components/containers/tile/bundles/index.umd.js +3 -3
- package/components/containers/tile/fesm2022/index.mjs +3 -3
- package/components/containers/tile/fesm2022/index.mjs.map +1 -1
- package/components/containers/tile/types/index.d.ts +1 -1
- package/components/containers/wizard/bundles/index.umd.js +18 -18
- package/components/containers/wizard/fesm2022/index.mjs +18 -18
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/types/index.d.ts +8 -8
- package/components/data/card/bundles/index.umd.js +12 -12
- package/components/data/card/fesm2022/index.mjs +12 -12
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/card/types/index.d.ts +6 -6
- package/components/data/form/bundles/index.umd.js +72 -75
- package/components/data/form/fesm2022/index.mjs +72 -77
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/types/index.d.ts +29 -29
- package/components/data/list/bundles/index.umd.js +22 -27
- package/components/data/list/fesm2022/index.mjs +22 -27
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/types/index.d.ts +23 -23
- package/components/data/live-table/bundles/index.umd.js +3 -3
- package/components/data/live-table/fesm2022/index.mjs +3 -3
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/types/index.d.ts +5 -5
- package/components/data/pagination/bundles/index.umd.js +27 -28
- package/components/data/pagination/fesm2022/index.mjs +27 -28
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/types/index.d.ts +1 -1
- package/components/data/table/bundles/index.umd.js +131 -142
- package/components/data/table/fesm2022/index.mjs +131 -143
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/types/index.d.ts +20 -20
- package/components/dialogs/alert-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/types/index.d.ts +1 -1
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/types/index.d.ts +1 -1
- package/components/dialogs/default/bundles/index.umd.js +12 -12
- package/components/dialogs/default/fesm2022/index.mjs +12 -12
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/types/index.d.ts +3 -3
- package/components/dialogs/design-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/types/index.d.ts +1 -1
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/types/index.d.ts +1 -1
- package/components/dialogs/login-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/login-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/login-dialog/types/index.d.ts +2 -2
- package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/types/index.d.ts +1 -1
- package/components/input/base-form/bundles/index.umd.js +4 -4
- package/components/input/base-form/fesm2022/index.mjs +4 -4
- package/components/input/base-form/fesm2022/index.mjs.map +1 -1
- package/components/input/base-form-custom/bundles/index.umd.js +3 -3
- package/components/input/base-form-custom/fesm2022/index.mjs +3 -3
- package/components/input/button/bundles/index.umd.js +3 -3
- package/components/input/button/fesm2022/index.mjs +3 -3
- package/components/input/button/fesm2022/index.mjs.map +1 -1
- package/components/input/button/types/index.d.ts +1 -1
- package/components/input/button-group/bundles/index.umd.js +3 -3
- package/components/input/button-group/fesm2022/index.mjs +3 -3
- package/components/input/button-group/fesm2022/index.mjs.map +1 -1
- package/components/input/button-group/types/index.d.ts +1 -1
- package/components/input/calendar/bundles/index.umd.js +4 -4
- package/components/input/calendar/fesm2022/index.mjs +4 -5
- package/components/input/calendar/fesm2022/index.mjs.map +1 -1
- package/components/input/calendar/types/index.d.ts +9 -9
- package/components/input/caption-position/bundles/index.umd.js +5 -5
- package/components/input/caption-position/fesm2022/index.mjs +5 -5
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -1
- package/components/input/caption-position/types/index.d.ts +4 -4
- package/components/input/checkbox/bundles/index.umd.js +3 -3
- package/components/input/checkbox/fesm2022/index.mjs +3 -3
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/types/index.d.ts +2 -2
- package/components/input/checkboxset/bundles/index.umd.js +4 -4
- package/components/input/checkboxset/fesm2022/index.mjs +4 -4
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/types/index.d.ts +2 -2
- package/components/input/chips/bundles/index.umd.js +5 -5
- package/components/input/chips/fesm2022/index.mjs +5 -5
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/types/index.d.ts +14 -14
- package/components/input/color-picker/bundles/index.umd.js +3 -3
- package/components/input/color-picker/fesm2022/index.mjs +3 -3
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/types/index.d.ts +2 -2
- package/components/input/composite/bundles/index.umd.js +3 -3
- package/components/input/composite/fesm2022/index.mjs +3 -3
- package/components/input/composite/fesm2022/index.mjs.map +1 -1
- package/components/input/composite/types/index.d.ts +1 -1
- package/components/input/currency/bundles/index.umd.js +3 -3
- package/components/input/currency/fesm2022/index.mjs +3 -3
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/types/index.d.ts +3 -3
- package/components/input/dataset-aware-form/bundles/index.umd.js +7 -7
- package/components/input/dataset-aware-form/fesm2022/index.mjs +7 -7
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
- package/components/input/dataset-aware-form/types/index.d.ts +1 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +10 -15
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +10 -15
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/base-date-time/types/index.d.ts +2 -2
- package/components/input/epoch/date/bundles/index.umd.js +5 -5
- package/components/input/epoch/date/fesm2022/index.mjs +5 -5
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/types/index.d.ts +4 -4
- package/components/input/epoch/date-time/bundles/index.umd.js +3 -3
- package/components/input/epoch/date-time/fesm2022/index.mjs +3 -3
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time/types/index.d.ts +8 -8
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +8 -8
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +8 -8
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time-picker/types/index.d.ts +6 -7
- package/components/input/epoch/picker/bundles/index.umd.js +6 -6
- package/components/input/epoch/picker/fesm2022/index.mjs +6 -6
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/time/bundles/index.umd.js +4 -5
- package/components/input/epoch/time/fesm2022/index.mjs +5 -6
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/time/types/index.d.ts +4 -4
- package/components/input/file-upload/bundles/index.umd.js +4 -4
- package/components/input/file-upload/fesm2022/index.mjs +4 -4
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/types/index.d.ts +5 -5
- package/components/input/number/bundles/index.umd.js +3 -3
- package/components/input/number/fesm2022/index.mjs +3 -3
- package/components/input/number/fesm2022/index.mjs.map +1 -1
- package/components/input/number/types/index.d.ts +1 -1
- package/components/input/radioset/bundles/index.umd.js +4 -4
- package/components/input/radioset/fesm2022/index.mjs +4 -4
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/types/index.d.ts +2 -2
- package/components/input/rating/bundles/index.umd.js +9 -11
- package/components/input/rating/fesm2022/index.mjs +9 -11
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/types/index.d.ts +2 -2
- package/components/input/select/bundles/index.umd.js +4 -4
- package/components/input/select/fesm2022/index.mjs +4 -4
- package/components/input/select/fesm2022/index.mjs.map +1 -1
- package/components/input/select/types/index.d.ts +1 -1
- package/components/input/slider/bundles/index.umd.js +3 -3
- package/components/input/slider/fesm2022/index.mjs +3 -3
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/types/index.d.ts +1 -1
- package/components/input/switch/bundles/index.umd.js +3 -3
- package/components/input/switch/fesm2022/index.mjs +3 -3
- package/components/input/switch/fesm2022/index.mjs.map +1 -1
- package/components/input/switch/types/index.d.ts +1 -1
- package/components/input/text/bundles/index.umd.js +31 -35
- package/components/input/text/fesm2022/index.mjs +31 -35
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/types/index.d.ts +12 -12
- package/components/input/textarea/bundles/index.umd.js +3 -3
- package/components/input/textarea/fesm2022/index.mjs +3 -3
- package/components/input/textarea/fesm2022/index.mjs.map +1 -1
- package/components/input/textarea/types/index.d.ts +2 -2
- package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/types/index.d.ts +4 -4
- package/components/navigation/menu/bundles/index.umd.js +25 -33
- package/components/navigation/menu/fesm2022/index.mjs +25 -33
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/types/index.d.ts +21 -21
- package/components/navigation/navbar/bundles/index.umd.js +3 -3
- package/components/navigation/navbar/fesm2022/index.mjs +3 -3
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/types/index.d.ts +1 -1
- package/components/navigation/popover/bundles/index.umd.js +4 -4
- package/components/navigation/popover/fesm2022/index.mjs +4 -4
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/types/index.d.ts +4 -4
- package/components/page/default/bundles/index.umd.js +23 -23
- package/components/page/default/fesm2022/index.mjs +23 -23
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/types/index.d.ts +14 -14
- package/components/page/footer/bundles/index.umd.js +3 -3
- package/components/page/footer/fesm2022/index.mjs +3 -3
- package/components/page/footer/fesm2022/index.mjs.map +1 -1
- package/components/page/footer/types/index.d.ts +1 -1
- package/components/page/header/bundles/index.umd.js +3 -3
- package/components/page/header/fesm2022/index.mjs +3 -3
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/types/index.d.ts +1 -1
- package/components/page/left-panel/bundles/index.umd.js +5 -5
- package/components/page/left-panel/fesm2022/index.mjs +5 -5
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/types/index.d.ts +3 -3
- package/components/page/right-panel/bundles/index.umd.js +3 -3
- package/components/page/right-panel/fesm2022/index.mjs +3 -3
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/right-panel/types/index.d.ts +1 -1
- package/components/page/top-nav/bundles/index.umd.js +3 -3
- package/components/page/top-nav/fesm2022/index.mjs +3 -3
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/page/top-nav/types/index.d.ts +1 -1
- package/components/prefab/bundles/index.umd.js +7 -7
- package/components/prefab/fesm2022/index.mjs +7 -7
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/components/prefab/types/index.d.ts +3 -3
- package/core/bundles/index.umd.js +84 -89
- package/core/fesm2022/index.mjs +84 -89
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/types/index.d.ts +11 -11
- package/http/bundles/index.umd.js +6 -6
- package/http/fesm2022/index.mjs +6 -6
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/types/index.d.ts +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +17 -21
- package/oAuth/fesm2022/index.mjs +17 -21
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/types/index.d.ts +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +253 -275
- package/runtime/base/fesm2022/index.mjs +253 -275
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/types/index.d.ts +90 -96
- package/runtime/dynamic/bundles/index.umd.js +28 -28
- package/runtime/dynamic/fesm2022/index.mjs +28 -28
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/runtime/dynamic/types/index.d.ts +22 -22
- package/scripts/datatable/datatable.js +293 -271
- package/scripts/tree-keyboard-navigation/keyboard-navigation.js +68 -56
- package/security/bundles/index.umd.js +6 -6
- package/security/fesm2022/index.mjs +6 -6
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/types/index.d.ts +5 -5
- package/transpiler/bundles/index.umd.js +3 -5
- package/transpiler/fesm2022/index.mjs +3 -5
- package/transpiler/fesm2022/index.mjs.map +1 -1
- package/variables/bundles/index.umd.js +69 -71
- package/variables/fesm2022/index.mjs +69 -72
- package/variables/fesm2022/index.mjs.map +1 -1
- package/variables/types/index.d.ts +9 -9
|
@@ -78,7 +78,7 @@ class WizardStepComponent extends StylableComponent {
|
|
|
78
78
|
*/
|
|
79
79
|
areEmbeddedFormsValid() {
|
|
80
80
|
for (const form of this.getAllEmbeddedForms()) {
|
|
81
|
-
if (form.widget
|
|
81
|
+
if (form.widget?.ngform && !form.widget.ngform.valid) {
|
|
82
82
|
return false;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -197,13 +197,13 @@ class WizardStepComponent extends StylableComponent {
|
|
|
197
197
|
// This will clear the context and unregister the widget
|
|
198
198
|
super.ngOnDestroy();
|
|
199
199
|
}
|
|
200
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
201
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
200
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: WizardStepComponent, deps: [{ token: i0.Injector }, { token: i1.NgForm, self: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: WizardStepComponent, isStandalone: true, selector: "form[wmWizardStep]", host: { properties: { "class.active": "this.activeClass", "class.current": "this.currentClass" } }, providers: [
|
|
202
202
|
provideAsWidgetRef(WizardStepComponent),
|
|
203
203
|
NgForm
|
|
204
204
|
], queries: [{ propertyName: "reDrawableComponents", predicate: RedrawableDirective, descendants: true }], exportAs: ["wmWizardStep"], usesInheritance: true, ngImport: i0, template: `<ng-content partial-container-target></ng-content>`, isInline: true }); }
|
|
205
205
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: WizardStepComponent, decorators: [{
|
|
207
207
|
type: Component,
|
|
208
208
|
args: [{
|
|
209
209
|
standalone: true,
|
|
@@ -248,19 +248,19 @@ class WizardComponent extends StylableComponent {
|
|
|
248
248
|
}
|
|
249
249
|
get showDoneBtn() {
|
|
250
250
|
if (!this.currentStep) {
|
|
251
|
-
return;
|
|
251
|
+
return false;
|
|
252
252
|
}
|
|
253
253
|
return !this.hasNextStep && this.currentStep.enableDone;
|
|
254
254
|
}
|
|
255
255
|
get enablePrev() {
|
|
256
256
|
if (!this.currentStep) {
|
|
257
|
-
return;
|
|
257
|
+
return false;
|
|
258
258
|
}
|
|
259
259
|
return this.currentStep.enablePrev;
|
|
260
260
|
}
|
|
261
261
|
get enableNext() {
|
|
262
262
|
if (!this.currentStep) {
|
|
263
|
-
return;
|
|
263
|
+
return false;
|
|
264
264
|
}
|
|
265
265
|
return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);
|
|
266
266
|
}
|
|
@@ -343,7 +343,7 @@ class WizardComponent extends StylableComponent {
|
|
|
343
343
|
}
|
|
344
344
|
get enableDone() {
|
|
345
345
|
if (!this.currentStep) {
|
|
346
|
-
return;
|
|
346
|
+
return false;
|
|
347
347
|
}
|
|
348
348
|
return this.currentStep.enableDone && this.currentStep.isValid;
|
|
349
349
|
}
|
|
@@ -520,7 +520,7 @@ class WizardComponent extends StylableComponent {
|
|
|
520
520
|
*/
|
|
521
521
|
setDefaultStep(step) {
|
|
522
522
|
// If the default step has show true then only update the currentStep
|
|
523
|
-
if (step
|
|
523
|
+
if (step?.show) {
|
|
524
524
|
this.currentStep = step;
|
|
525
525
|
step.active = true;
|
|
526
526
|
step.isInitialized = true;
|
|
@@ -744,10 +744,10 @@ class WizardComponent extends StylableComponent {
|
|
|
744
744
|
}
|
|
745
745
|
addMoreText() {
|
|
746
746
|
setTimeout(() => {
|
|
747
|
-
|
|
747
|
+
const newWindowWidth = $(window).width();
|
|
748
748
|
if (newWindowWidth < 768) {
|
|
749
749
|
$(".app-wizard-step.active .subtitle-wrapper .step-title").css({ "height": "auto", "display": "block" });
|
|
750
|
-
|
|
750
|
+
const subtitleTextLength = $(".app-wizard-step.active .subtitle-wrapper .step-title").height();
|
|
751
751
|
$(".read_more").css("display", "none");
|
|
752
752
|
$(".app-wizard-step.active .subtitle-wrapper").removeClass("readmore_subtitle");
|
|
753
753
|
if (subtitleTextLength > 44) {
|
|
@@ -764,7 +764,7 @@ class WizardComponent extends StylableComponent {
|
|
|
764
764
|
$(".app-wizard-step.active .subtitle-wrapper").addClass("readmore_subtitle");
|
|
765
765
|
$(".app-wizard-step.active .read_more").css("display", "none");
|
|
766
766
|
$(document).on("mouseup", function (e) {
|
|
767
|
-
|
|
767
|
+
const container = $(".subtitle-wrapper");
|
|
768
768
|
// if the target of the click isn't the container nor a descendant of the container
|
|
769
769
|
if (!container.is(e.target) && container.has(e.target).length === 0) {
|
|
770
770
|
$(".app-wizard-step.active .subtitle-wrapper").removeClass("readmore_subtitle");
|
|
@@ -994,13 +994,13 @@ class WizardComponent extends StylableComponent {
|
|
|
994
994
|
this.currentStep = null;
|
|
995
995
|
super.ngOnDestroy();
|
|
996
996
|
}
|
|
997
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
998
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
997
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: WizardComponent, deps: [{ token: i0.Injector }, { token: i1$1.DynamicComponentRefProvider }, { token: Context, self: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
998
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: WizardComponent, isStandalone: true, selector: "div[wmWizard]", providers: [
|
|
999
999
|
provideAsWidgetRef(WizardComponent),
|
|
1000
1000
|
{ provide: Context, useFactory: () => { return {}; }, multi: true }
|
|
1001
1001
|
], queries: [{ propertyName: "wizardAction", first: true, predicate: ["wizardAction"], read: TemplateRef }, { propertyName: "steps", predicate: WizardStepComponent }], exportAs: ["wmWizard"], usesInheritance: true, ngImport: i0, template: "<div class=\"app-wizard-heading\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n @for (step of steps; track step; let i = $index) {\n <li class=\"app-wizard-step\" [hidden]=\"!step.show\"\n [ngClass]=\"{finished: step.done, active: step.active, default: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\" [attr.data-stepid]=\"step.widgetId\">\n <a href=\"javascript:void(0)\" [attr.aria-current]=\"step.active ? 'step' : null\"\n [attr.aria-disabled]=\"step.disabled\" [attr.aria-label]='step.subtitle ? \"step \" + (i + 1) + \" \" + step.title + \" \" + step.subtitle : \"step \" + (i + 1) + \" \" + step.title' [attr.title]= \"step.title\"\n [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\" [tabindex]=\"step.active ? '0' : '-1'\" (keydown)=\"onkeydown($event)\">\n @if (class && class.includes('classic')) {\n <span class=\"arrow\"></span>\n }\n @if (shouldRenderWizardStepNumberSpan(step)) {\n <span class=\"wizard-step-number\">\n @if (class && class.includes('number') && !step.isDone && !showWizardStepIcons) {\n <span class=\"count\">{{i+1}}</span>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('text-inline') && !showWizardStepIcons) && !step.isDone) {\n <i class=\"dottedstepper\"></i>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone) {\n <i class=\"app-icon wi wi-done\"></i>\n }\n @if (shouldShowPrimaryStepIcon(step)) {\n <wm-app-icon [iconclass]=\"stepIconClassOrDefault(step)\" [iconurl]=\"step.iconurl\"></wm-app-icon>\n }\n @if (showWizardStepIcons && step.isDone && hasNonEmptyDoneIconClass(step)) {\n <wm-app-icon [iconclass]=\"step.doneiconclass\" [iconurl]=\"step.doneiconurl\"></wm-app-icon>\n }\n </span>\n }\n <span class=\"title-wrapper\">\n @if (class && class.includes('text-inline')) {\n <span>{{'0' + (i+1)}}</span>\n }\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n @if (step.subtitle) {\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n }\n </a>\n </li>\n }\n </ul>\n</div>\n@if (type !== 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if (message.caption) {\n <p wmMessage caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n }\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n}\n@if (type === 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if(!fieldDefs?.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n</div>\n}\n@if(fieldDefs && fieldDefs.length || type !== 'dynamic') {\n <ng-container *ngTemplateOutlet=\"wizardAction\"></ng-container>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
|
|
1002
1002
|
}
|
|
1003
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1003
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: WizardComponent, decorators: [{
|
|
1004
1004
|
type: Component,
|
|
1005
1005
|
args: [{ standalone: true, imports: [CommonModule, TextContentDirective, WmAppIconComponent], selector: 'div[wmWizard]', providers: [
|
|
1006
1006
|
provideAsWidgetRef(WizardComponent),
|
|
@@ -1041,12 +1041,12 @@ class WizardActionDirective extends BaseComponent {
|
|
|
1041
1041
|
constructor(inj, explicitContext) {
|
|
1042
1042
|
super(inj, WIDGET_INFO, explicitContext);
|
|
1043
1043
|
}
|
|
1044
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1045
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
1044
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: WizardActionDirective, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1045
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: WizardActionDirective, isStandalone: true, selector: "div[wmWizardAction]", providers: [
|
|
1046
1046
|
provideAsWidgetRef(WizardActionDirective)
|
|
1047
1047
|
], exportAs: ["wmWizardAction"], usesInheritance: true, ngImport: i0 }); }
|
|
1048
1048
|
}
|
|
1049
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1049
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: WizardActionDirective, decorators: [{
|
|
1050
1050
|
type: Directive,
|
|
1051
1051
|
args: [{
|
|
1052
1052
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/wizard/src/wizard.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.html","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.directive.ts","../../../../../projects/components/widgets/containers/wizard/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizard',\n new Map(\n [\n ['actionsalignment', {value: 'right', ...PROP_STRING}],\n ['cancelable', {value: true, ...PROP_BOOLEAN}],\n ['cancelbtnlabel', {value: 'Cancel', ...PROP_STRING}],\n ['class', {value: 'classic', ...PROP_STRING}],\n ['dataset', PROP_ANY],\n ['defaultstep', {value: 'none', ...PROP_STRING}],\n ['defaultstepindex', {value: 0, ...PROP_NUMBER}],\n ['donebtnlabel', {value: 'Done', ...PROP_STRING}],\n ['enablenext', {value: false, ...PROP_BOOLEAN}],\n ['name', PROP_STRING],\n ['nextbtnlabel', {value: 'Next', ...PROP_STRING}],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['previousbtnlabel', {value: 'Previous', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['stepstyle', {value: 'auto', ...PROP_STRING}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import {PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardstep',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['doneiconclass', {value: 'wi wi-done', ...PROP_STRING}],\n ['doneiconurl', PROP_STRING],\n ['dynamicStepIndex', PROP_NUMBER], // internal property\n ['enableskip', {value: false, ...PROP_BOOLEAN}],\n ['iconclass', {value: 'wi wi-person', ...PROP_STRING}],\n ['iconurl', PROP_STRING],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subtitle', PROP_STRING],\n ['title', {value: 'Step Title', ...PROP_STRING}]\n ]\n )\n );\n};\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from \"@angular/core\";\nimport {\n getCurrentWidgets,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent\n} from \"@wm/components/base\";\nimport {NgForm} from \"@angular/forms\";\nimport {registerProps} from \"./wizard-step.props\";\nimport {App, noop} from \"@wm/core\";\nimport {WizardComponent} from \"../wizard.component\";\n\nconst DEFAULT_CLS = 'app-wizard-step-content';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizardstep',\n hostClass: DEFAULT_CLS,\n};\n\nconst enum STEP_STATUS {\n CURRENT = 1,\n DISABLED,\n COMPLETED\n}\n\n@Component({\n standalone: true,\n selector: 'form[wmWizardStep]',\n template: `<ng-content partial-container-target></ng-content>`,\n providers: [\n provideAsWidgetRef(WizardStepComponent),\n NgForm\n ],\n exportAs: 'wmWizardStep'\n})\nexport class WizardStepComponent extends StylableComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public show: boolean;\n public name: string;\n public enableskip: any;\n public disablenext: boolean;\n public disabledone: boolean;\n public disableprevious: boolean;\n public isInitialized: boolean;\n private isdynamic: boolean;\n public $lazyLoad = noop;\n isDone: boolean = false;\n nextCBInProgress: boolean = false;\n prevCBInProgress: boolean = false;\n\n private status: STEP_STATUS = STEP_STATUS.DISABLED;\n private wizardComponent: WizardComponent;\n private _currentWizardWidgets ={}\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n public isPrism: boolean = false;\n\n @HostBinding('class.active')\n get activeClass() {\n return this.isPrism && this.active;\n }\n\n @HostBinding('class.current')\n get currentClass() {\n return !this.isPrism && this.active;\n }\n \n get isCurrent() {\n return this.active;\n }\n\n /**\n * along with the wizard form , also validate the forms\n * if there are any inside the wizard\n * @returns {boolean}\n */\n public get isValid() {\n return (this.ngForm.valid || this.ngForm.disabled) && this.areEmbeddedFormsValid();\n }\n\n /**\n * get all the forms inside the wizard if any and validate\n * @returns {boolean}\n */\n private areEmbeddedFormsValid() {\n for (const form of this.getAllEmbeddedForms()) {\n if (form.widget && form.widget.ngform && !form.widget.ngform.valid) {\n return false;\n }\n }\n return true;\n }\n\n private getAllEmbeddedForms() {\n return this.$element.find('form');\n }\n\n public get enableNext() {\n return !this.disablenext;\n }\n\n public get enableDone() {\n return !this.disabledone;\n }\n\n public get enablePrev() {\n return !this.disableprevious;\n }\n\n public set active(nv: boolean) {\n const isActive = this.active;\n this.status = STEP_STATUS.CURRENT;\n if (nv && !isActive) {\n this.redrawChildren();\n }\n }\n\n public get active(): boolean {\n return this.status === STEP_STATUS.CURRENT;\n }\n\n public set done(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.COMPLETED;\n }\n }\n\n public get done(): boolean {\n return this.status === STEP_STATUS.COMPLETED;\n }\n\n public set disabled(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.DISABLED;\n }\n }\n\n public get disabled(): boolean {\n return this.status === STEP_STATUS.DISABLED;\n }\n\n constructor(inj: Injector, @Self() private ngForm: NgForm, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n // If we inject directly as a param in the constructor, getting circular dependency error in unit testcases\n this.wizardComponent = this.inj.get(WizardComponent);\n this.isPrism = !!this.inj.get(App, null)?.isPrism;\n }\n\n public invokeNextCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('next', {currentStep: this, stepIndex: index});\n }\n\n public invokePrevCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('prev', {currentStep: this, stepIndex: index});\n }\n\n public invokeSkipCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('skip', {currentStep: this, stepIndex: index});\n }\n\n // redraw all the projected components which are projected.\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n if ((this as any).wizardComponent) {\n const stepIndex = (this as any).wizardComponent.getCurrentStepIndex();\n this.invokeEventCallback('load', { stepIndex });\n }\n }, 100);\n }\n\n public remove() {\n if (this.active) {\n this === this.wizardComponent.steps.last ? this.wizardComponent.prev() : this.wizardComponent.next();\n }\n const availablePanes = this.wizardComponent.steps.toArray();\n availablePanes.splice((this as any).wizardComponent.getStepIndexByRef(this), 1);\n this.wizardComponent.steps.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n get currentWizardWidgets() {\n return getCurrentWidgets(this.nativeElement, this._currentWizardWidgets);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'content') {\n setTimeout(() => this.$lazyLoad(), 100);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (this.isdynamic) {\n this.wizardComponent.registerDynamicStep(this);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear redrawable components references\n if (this.reDrawableComponents) {\n this.reDrawableComponents.reset([]);\n }\n\n // MEMORY LEAK FIX: Clear wizard component reference\n this.wizardComponent = null;\n\n // Call parent ngOnDestroy (StylableComponent → BaseComponent)\n // This will clear the context and unregister the widget\n super.ngOnDestroy();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {\n APPLY_STYLES_TYPE,\n Context,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler,\n TextContentDirective,\n WmAppIconComponent\n} from \"@wm/components/base\";\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n Component,\n ContentChild,\n ContentChildren,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Self,\n TemplateRef\n} from '@angular/core';\n\nimport {DynamicComponentRefProvider, isDefined, noop} from '@wm/core';\n\nimport {registerProps} from './wizard.props';\n\nimport {WizardStepComponent} from \"./wizard-step/wizard-step.component\";\nimport {find, findIndex, forEach, get, indexOf, isArray, isNumber, isString} from \"lodash-es\";\n\n/**\n * Header row shape for icon/tab-stepper helpers. Uses this instead of `WizardStepComponent` on\n * those parameters so TypeScript/ng-packagr does not hit a circular resolution order\n * (wizard-step imports WizardComponent).\n */\ntype WizardStepHeaderModel = {\n isDone: boolean;\n iconclass?: string;\n iconurl?: string;\n doneiconclass?: string;\n doneiconurl?: string;\n};\n\nconst DEFAULT_CLS = 'app-wizard panel clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizard',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, WmAppIconComponent],\n selector: 'div[wmWizard]',\n templateUrl: './wizard.component.html',\n providers: [\n provideAsWidgetRef(WizardComponent),\n {provide: Context, useFactory: () => { return {} }, multi: true}\n ],\n exportAs: 'wmWizard'\n})\nexport class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {\n static initializeProps = registerProps();\n\n @ContentChildren(WizardStepComponent) steps: QueryList<WizardStepComponent>;\n @ContentChild('wizardAction', { read: TemplateRef, descendants: false }) wizardAction: TemplateRef<any>;\n\n public message: {caption: string, type: string};\n public currentStep: WizardStepComponent;\n\n public stepClass: string;\n public class;\n public name;\n private readonly promiseResolverFn: Function;\n public actionsalignment: any;\n public cancelable: any;\n public enablenext: any;\n public wizContext: any;\n public cancelbtnlabel: any;\n public donebtnlabel: any;\n public previousbtnlabel: any;\n public nextbtnlabel: any;\n public defaultstep;\n public fieldDefs;\n public type;\n public nodatamessage;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicStepIndex;\n public dynamicWizard;\n public defaultstepindex;\n private _isFirstLoad: boolean = true;\n public autoActivation:boolean;\n private stepsSubscription: any; // MEMORY LEAK FIX: Store subscription for cleanup\n\n get hasPrevStep(): boolean {\n return !this._isFirstStep(this.currentStep);\n }\n\n get hasNextStep(): boolean {\n return !this._isLastStep(this.currentStep);\n }\n\n get showDoneBtn(): boolean {\n if (!this.currentStep) {\n return;\n }\n return !this.hasNextStep && this.currentStep.enableDone;\n }\n\n get enablePrev(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enablePrev;\n }\n\n get enableNext(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);\n }\n\n /**\n * Step header icons (iconclass / doneiconclass): same rules as iconstepper, plus tabstepper\n * (e.g. wizard-tabstepper, tabstepper, tabstepper_vertical). Uses class property + host className\n * so preview stays correct when the DOM is updated before the bound property.\n */\n private wizardHostClassString(): string {\n const fromProp = typeof this.class === 'string' ? this.class : '';\n const rawDom = this.nativeElement?.className;\n const fromDom =\n typeof rawDom === 'string' ? rawDom : (rawDom as { baseVal?: string })?.baseVal || '';\n return `${fromProp} ${fromDom}`.trim();\n }\n\n get showWizardStepIcons(): boolean {\n const c = this.wizardHostClassString();\n if (!c) {\n return false;\n }\n return c.includes('iconstepper') || c.includes('tabstepper');\n }\n\n /** Tab layout only (not icon stepper): omit icon column when step has no icon. */\n get isTabStepperWizard(): boolean {\n const c = this.wizardHostClassString();\n return c.includes('tabstepper') && !c.includes('iconstepper');\n }\n\n /** Default matches wm-wizardstep props; used for icon stepper when iconclass is empty. */\n stepIconClassOrDefault(step: WizardStepHeaderModel): string {\n const c = step?.iconclass || step?.iconurl;\n return typeof c === 'string' && c.trim() ? c.trim() : 'wi wi-person';\n }\n\n hasNonEmptyIconClass(step: WizardStepHeaderModel): boolean {\n const ic = step?.iconclass || step?.iconurl;\n return typeof ic === 'string' && ic.trim() !== '';\n }\n\n /**\n * Primary `app-icon` for icon/tab stepper: only when `iconclass` is set (no default glyph for icon stepper).\n * When `doneiconclass` is set, the done row is shown instead of this primary icon.\n */\n shouldShowPrimaryStepIcon(step: WizardStepHeaderModel): boolean {\n if (!step || !this.showWizardStepIcons) {\n return false;\n }\n if (!step.isDone) {\n return this.hasNonEmptyIconClass(step);\n }\n const d = step.doneiconclass;\n const hasDone = typeof d === 'string' && d.trim() !== '';\n if (hasDone) {\n return false;\n }\n return this.hasNonEmptyIconClass(step);\n }\n\n /**\n * Tab stepper: no `wizard-step-number` when the step is done but `doneiconclass` is empty.\n * Icon stepper: omit the wrapper when there is no primary icon and no done icon to show.\n * Other layouts: keep the wrapper (numbers, dots, etc.).\n */\n shouldRenderWizardStepNumberSpan(step: WizardStepHeaderModel): boolean {\n if (!this.showWizardStepIcons) {\n return true;\n }\n if (this.isTabStepperWizard) {\n if (step.isDone && !this.hasNonEmptyDoneIconClass(step)) {\n return false;\n }\n return (\n this.shouldShowPrimaryStepIcon(step) ||\n (step.isDone && this.hasNonEmptyDoneIconClass(step))\n );\n }\n if (this.wizardHostClassString().includes('iconstepper')) {\n return (\n this.shouldShowPrimaryStepIcon(step) ||\n (step.isDone && this.hasNonEmptyDoneIconClass(step))\n );\n }\n return true;\n }\n\n /** Avoid `String()` in templates (strict mode treats it as a component property). */\n hasNonEmptyDoneIconClass(step: WizardStepHeaderModel): boolean {\n const d = step?.doneiconclass || step?.doneiconurl;\n return typeof d === 'string' && d.trim() !== '';\n }\n\n get enableDone(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enableDone && this.currentStep.isValid;\n }\n\n /**\n * returns current step index of the Wizard's current step\n */\n get currentStepIndex() {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns weather the current step is first step or not\n */\n get isFirstStep(): boolean {\n return this._isFirstStep(this.currentStep);\n }\n\n /**\n * returns weather the current step is last step or not\n */\n get isLastStep(): boolean {\n return this._isLastStep(this.currentStep);\n }\n\n constructor(inj: Injector, dynamicComponentProvider: DynamicComponentRefProvider, @Self() @Inject(Context) contexts: Array<any>, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.promiseResolverFn = resolveFn;\n\n // initialize the message object with default values\n this.message = {\n caption: '',\n type: ''\n };\n this.wizContext = contexts[0];\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicWizard = [];\n this.dynamicStepIndex = 0;\n }\n\n /**\n * This method is used to register the dynamic steps.\n * After all steps are initialzed, update the querylist manually based on index.\n * @param stepRef - refrence of the wizardstep\n */\n public registerDynamicStep(stepRef) {\n this.dynamicWizard.push(stepRef);\n const isLastStep = this.dynamicWizard.length === this.dynamicStepIndex;\n if (isLastStep) {\n for (let i = 0; i < this.dynamicWizard.length; i++) {\n const newStepRef = find(this.dynamicWizard, step => step.dynamicStepIndex === i);\n const isStepAlreadyExist = find(this.steps.toArray(), newStepRef);\n if (!isStepAlreadyExist) {\n this.steps.reset([...this.steps.toArray(), newStepRef]);\n if (newStepRef.active) {\n setTimeout(() => {\n newStepRef.select();\n }, 20);\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the wizard step dynamically\n * @param wizardSteps - list of wizardsteps\n */\n public addStep(wizardSteps) {\n if (!isArray(wizardSteps)) {\n wizardSteps = [wizardSteps];\n }\n const stepNamesList = [];\n forEach(wizardSteps, (step, index) => {\n const isStepAlreadyCreated = find(this.steps.toArray(), {name: step.name});\n const isStepNameExist = indexOf(stepNamesList, step.name);\n // If user tries to add wizardstep with the same name which is already exists then do not create the step\n if (isStepAlreadyCreated || isStepNameExist > 0) {\n console.warn(`The wizard step with name ${step.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicStepIndex++;\n const name = step.name ? step.name : `wizardstep${this.steps.toArray().length + (index + 1)}`;\n stepNamesList.push(name);\n const partialParams = get(step, 'params');\n\n forEach(step, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-wizardstep dynamicStepIndex=\"${this.dynamicStepIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-wizardstep>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmWizard')] = this;\n }\n\n this.dynamicComponentProvider.addComponent(this.getNativeElement().querySelector('.app-wizard-body'), markup, this._dynamicContext, {inj: this.inj});\n\n });\n return stepNamesList;\n }\n\n /**\n * This method is to remove the wizard step\n * @param step - index or name of the step\n */\n public removeStep(step: number | string) {\n const stepRef = isString(step) ? this.getStepRefByName(step) : isNumber(step)\n ? this.getStepRefByIndex(step) : null;\n stepRef ? stepRef.remove() : console.warn(`Could not find step with name or index '${step}' to remove`);\n }\n\n /**\n * returns next valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getNextValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns previous valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getPreviousValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns current step index value.\n * @returns {number}\n */\n private getCurrentStepIndex(): number {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns stepRef when index is passed.\n * @param {number} index\n * @returns {WizardStepComponent}\n */\n private getStepRefByIndex(index: number): WizardStepComponent {\n return this.steps.toArray()[index];\n }\n\n /**\n * returns the index value of the step.\n * @param {WizardStepComponent} wizardStep\n * @returns {number}\n */\n private getStepIndexByRef(wizardStep: WizardStepComponent): number {\n return this.steps.toArray().indexOf(wizardStep);\n }\n\n /**\n * gets stepRef by searching on the name property.\n * @param {string} name\n * @returns {WizardStepComponent}\n */\n private getStepRefByName(name: string): WizardStepComponent {\n return this.steps.find(step => step.name === name);\n }\n\n /**\n * sets default step as current step if configured\n * or finds first valid step and set it as current step.\n * @param {WizardStepComponent} step\n */\n private setDefaultStep(step: WizardStepComponent) {\n // If the default step has show true then only update the currentStep\n if (step && step.show) {\n this.currentStep = step;\n step.active = true;\n step.isInitialized = true;\n // Mark all previous step status COMPLETED\n let index = this.getStepIndexByRef(step) - 1;\n while (index >= 0) {\n const prevStep = this.getStepRefByIndex(index);\n prevStep.done = true;\n prevStep.isInitialized = true;\n index--;\n }\n } else {\n // set next valid step as current step\n step = this.getNextValidStepFormIndex(0);\n if (step) {\n this.setDefaultStep(step);\n }\n }\n this.addMoreText();\n }\n\n /**\n * Selects the associated step when the wizard header is clicked.\n * @param $event\n * @param {WizardStepComponent} currentStep\n */\n private onWizardHeaderClick($event: Event, currentStep: WizardStepComponent) {\n // select the step if it's status is done\n if (currentStep.done) {\n // set all the next steps status as disabled and previous steps as done\n this.steps.forEach((step, index) => {\n if (index < this.getStepIndexByRef(currentStep)) {\n step.done = true;\n step.isDone = true;\n } else {\n step.disabled = true;\n step.isDone = false;\n }\n });\n // set the selected step as current step and make it active\n this.currentStep = currentStep;\n this.currentStep.active = true;\n this.addMoreText();\n }\n }\n\n private isPromise = (obj) => obj instanceof Promise || (obj !== null && typeof obj === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function');\n\n // Method to navigate to next step\n\n private handleNext(value: boolean | Promise<boolean>, currentStep, currentStepIndex) {\n if (this.isPromise(value)) {\n (value as Promise<boolean>).then(response => {\n this.currentStep.nextCBInProgress = false;\n if (response === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }, err => {\n this.currentStep.nextCBInProgress = false;\n })\n } else {\n this.currentStep.nextCBInProgress = false;\n if (value === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }\n }\n\n public next(eventName: string = 'next') {\n if (this.currentStep.nextCBInProgress) {\n return;\n }\n\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onSkip method returns false\n if (eventName === 'skip') {\n this.currentStep.nextCBInProgress = true;\n const response = currentStep.invokeSkipCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.currentStep.isValid && eventName === 'next') {\n this.currentStep.nextCBInProgress = true;\n const response = currentStep.invokeNextCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.enablenext && !this.currentStep.isValid){\n Array.from((<any>this).currentStep.getAllEmbeddedForms())?.forEach((form:any) => {\n form.widget.highlightInvalidFields();\n });\n const invalidFormInputElement = this.currentStep.nativeElement?.querySelector(\"input.ng-invalid\") as HTMLInputElement;\n invalidFormInputElement?.focus();\n\n }\n }\n\n private extendNextFn(currentStep, currentStepIndex) {\n const nextStep: WizardStepComponent = this.getNextValidStepFormIndex(currentStepIndex + 1);\n // If there are any steps which has show then only change state of current step else remain same\n if (nextStep) {\n nextStep.isInitialized = true;\n currentStep.isDone = true;\n currentStep.done = true;\n nextStep.active = true;\n this.currentStep = nextStep;\n // Remove 'active' class from all wizard steps in header\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('active');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Add 'active' to next step header item\n const newStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${nextStep.widgetId}\"]`);\n const newStepAnchor = newStepLi?.querySelector('a') as HTMLElement;\n if (newStepLi && newStepAnchor) {\n newStepLi.classList.add('active');\n newStepAnchor.setAttribute('tabindex', '0');\n newStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n // Method to navigate to previous step\n public prev() {\n if (this.currentStep.prevCBInProgress) {\n return;\n }\n\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n this.currentStep.prevCBInProgress = true;\n // abort if onPrev method returns false.\n const response = currentStep.invokePrevCB(currentStepIndex);\n if (this.isPromise(response)) {\n (response as Promise<boolean>).then( response => {\n this.currentStep.prevCBInProgress = false;\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }, err => {\n this.currentStep.prevCBInProgress = false;\n });\n } else {\n this.currentStep.prevCBInProgress = false;\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }\n }\n\n private extendPrevFn(currentStep, currentStepIndex){\n const prevStep: WizardStepComponent = this.getPreviousValidStepFormIndex(currentStepIndex - 1);\n\n // If there are any steps which has show then only change state of current step else remain same\n if (prevStep) {\n currentStep.isDone = false;\n currentStep.disabled = true;\n prevStep.active = true;\n this.currentStep = prevStep;\n // Remove 'active' class from all steps\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('active');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Apply 'active' to prev step\n const prevStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${prevStep.widgetId}\"]`);\n const prevStepAnchor = prevStepLi?.querySelector('a') as HTMLElement;\n if (prevStepLi && prevStepAnchor) {\n prevStepLi.classList.add('active');\n prevStepAnchor.setAttribute('tabindex', '0');\n prevStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n\n public skip() {\n this.next('skip');\n }\n\n /**\n * Navigates to the given step based on step name or step index\n * This will work only if the step is already in done state\n * @param step\n */\n public gotoStep(step: string | number) {\n let gotoStepIndex: number;\n if (isString(step)) {\n gotoStepIndex = this.steps.toArray().map(step => step.name).indexOf(step);\n if (gotoStepIndex === -1) {\n console.error(`Could not find step '${step}'`);\n return;\n }\n } else if (isNumber(step) && step >= 0) {\n gotoStepIndex = step;\n } else {\n console.error(\"Invalid step name or index provided\");\n return;\n }\n\n const gotoStep: WizardStepComponent = this.getStepRefByIndex(gotoStepIndex);\n\n if (gotoStep?.show) {\n this.onWizardHeaderClick(event, gotoStep);\n } else {\n console.error(\"The gotoStep function cannot navigate to hidden steps\");\n }\n }\n\n // Method to invoke on-Done event on wizard\n public done() {\n this.currentStep.isDone = true;\n this.invokeEventCallback('done', {steps: this.steps.toArray()});\n }\n // Method to invoke on-Cancel event on wizard\n public cancel () {\n this.invokeEventCallback('cancel', {steps: this.steps.toArray()});\n }\n public addMoreText(){\n setTimeout(() => {\n\n\n var newWindowWidth = $(window).width();\n if(newWindowWidth < 768){\n $(\".app-wizard-step.active .subtitle-wrapper .step-title\").css({\"height\":\"auto\",\"display\":\"block\"});\n var subtitleTextLength = $(\".app-wizard-step.active .subtitle-wrapper .step-title\").height();\n $(\".read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step.active .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n\n if(subtitleTextLength>44){\n $(\".app-wizard-step.active .subtitle-wrapper .step-title\").css({\"height\":\"44px\",\"display\":\"-webkit-box\"});\n $(\".app-wizard-step.active .read_more\").css(\"display\",\"block\");\n $(\".app-wizard-step.finished .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step.default .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step>a\").css(\"height\",\"100px\")\n }\n }\n });\n\n }\n public readMoreSubtitle(){\n $(\".app-wizard-step.active .subtitle-wrapper\").addClass(\"readmore_subtitle\");\n $(\".app-wizard-step.active .read_more\").css(\"display\",\"none\");\n $(document).on(\"mouseup\",function(e:any)\n {\n var container = $(\".subtitle-wrapper\");\n // if the target of the click isn't the container nor a descendant of the container\n if (!container.is(e.target) && container.has(e.target).length === 0)\n {\n $(\".app-wizard-step.active .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n $(\".app-wizard-step.active .read_more\").css(\"display\",\"block\");\n $(document).off(\"mouseup\");\n }\n });\n }\n\n private _isFirstStep(stepRef: WizardStepComponent) {\n return this.steps.first === stepRef;\n }\n\n private _isLastStep(stepRef: WizardStepComponent) {\n return this.steps.last === stepRef;\n }\n\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n private updateStepFocus() {\n setTimeout(() => {\n const currentStepElement = this.nativeElement.querySelector(\".app-wizard-heading li.active a\") as HTMLElement;\n currentStepElement?.focus();\n });\n }\n\n // Define the property change handler. This Method will be triggered when there is a change in the widget property\n onPropertyChange(key: string, nv: any, ov?: any) {\n // Monitoring changes for properties and accordingly handling respective changes\n\n if (key === 'stepstyle') {\n this.stepClass = nv === 'justified' ? 'nav-justified' : '';\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'defaultstep') {\n this.setDefaultStep(this.getStepRefByName(nv));\n } else if (key === 'actionsalignment') {\n this.nativeElement.querySelector('div.app-wizard-actions')?.classList.replace(ov, nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.wizContext.hasNextStep = () => this.hasNextStep;\n this.wizContext.hasPreviousStep = () => this.hasPrevStep;\n this.wizContext.hasNoNextStep = () => this.showDoneBtn;\n this.wizContext.cancelable = () => this.cancelable;\n this.wizContext.skippable = () => this.currentStep?.enableskip;\n this.wizContext.next = () => this.next();\n this.wizContext.previous = () => this.prev();\n this.wizContext.done = () => this.done();\n this.wizContext.cancel = () => this.cancel();\n this.wizContext.skip = () => this.skip();\n this.wizContext.nextbtnlabel = () => this.nextbtnlabel;\n this.wizContext.previousbtnlabel = () => this.previousbtnlabel;\n this.wizContext.donebtnlabel = () => this.donebtnlabel;\n this.wizContext.cancelbtnlabel = () => this.cancelbtnlabel;\n this.wizContext.actionsalignment = () => this.actionsalignment;\n this.wizContext.disableNext = () => !this.enableNext;\n this.wizContext.disablePrevious = () => !this.enablePrev;\n this.wizContext.disableDone = () => !this.enableDone;\n\n // MEMORY LEAK FIX: Store subscription for cleanup\n this.stepsSubscription = this.steps.changes.subscribe( () => {\n if (this.steps.length > 1 && this.type === 'dynamic' && this._isFirstLoad) {\n this.setDefaultStep(this.getStepRefByIndex(this.defaultstepindex));\n this._isFirstLoad = false;\n }\n });\n }\n private isSelectableStep(stepRef: WizardStepComponent): boolean {\n return stepRef.show && !stepRef.disabled;\n }\n private getSelectableStepBeforeIndex(index: number): WizardStepComponent {\n for (let i = index - 1; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === 0) {\n const step = this.getStepRefByIndex(this.steps.length - 1);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n private getSelectableStepAfterIndex(index: number): WizardStepComponent {\n for (let i = index + 1; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === this.steps.length - 1) {\n const step = this.getStepRefByIndex(0);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n\n public getWidgets(widgteName: string, index?: number) {\n let $target;\n const retVal = [];\n\n if (!widgteName) {\n return;\n }\n\n if (!isDefined(index)) {\n forEach(this.steps.toArray(), (el) => {\n $target = get(el.currentWizardWidgets, widgteName);\n if ($target) {\n retVal.push($target);\n }\n });\n\n return retVal;\n }\n index = +index || 0;\n\n $target = get(this.steps.toArray(), index);\n\n if ($target) {\n return [get($target.currentWizardWidgets, widgteName)];\n }\n }\n\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n setTimeout(() => { if($(window).width()<768) {\n $(\".app-wizard\").removeClass(\"vertical\");\n }\n });\n }\n ngAfterViewChecked() {\n this.nativeElement.querySelectorAll('div.app-wizard-actions').forEach(el => el?.classList.add(this.actionsalignment));\n this.nativeElement.querySelectorAll('div.app-wizard-actions-right').forEach(el => el?.classList.remove('app-container'));\n }\n public getActiveStepIndex(): number {\n return findIndex(this.steps.toArray(), {isCurrent: true});\n }\n onkeydown(event) {\n let newStep;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepBeforeIndex(this.getSelectedStepIndex());\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepAfterIndex(this.getSelectedStepIndex());\n break;\n case 'Enter':\n case ' ':\n case 'Spacebar':\n event.preventDefault();\n setTimeout(() => {\n const activeElement = this.nativeElement.querySelector('li.active');\n const stepLi = activeElement.closest('li[data-stepid]');\n const isInWizardHeader = activeElement.closest('.app-wizard-heading');\n\n if (stepLi && isInWizardHeader) {\n const stepId = stepLi.getAttribute('data-stepid');\n const stepIndex = this.steps.toArray().findIndex(step => step.widgetId === stepId);\n const currentStep = this.steps.toArray()[stepIndex];\n\n if (currentStep && currentStep !== this.currentStep) {\n this.onWizardHeaderClick(event, currentStep);\n\n // Update tabindex for accessibility\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n\n const stepAnchor = stepLi.querySelector('a');\n if (stepAnchor) {\n stepAnchor.setAttribute('tabindex', '0');\n stepAnchor.focus();\n }\n }\n }\n }, 0);\n break;\n default:\n return;\n }\n if (newStep) {\n this.nativeElement.querySelector('li.active')?.classList.remove('active');\n this.nativeElement.querySelector(`li[data-stepid=\"${newStep.widgetId}\"]`)?.classList.add('active');\n const stepLi = this.nativeElement.querySelector(\".app-wizard-heading li.active a\") as HTMLElement;\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid] a');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n (stepLi).setAttribute('tabindex', '0');\n stepLi?.focus();\n }\n }\n getSelectedStepIndex() {\n const index = this.steps.toArray().findIndex(step =>\n this.nativeElement.querySelector(`li[data-stepid=\"${step.widgetId}\"]`)?.classList.contains(\"active\"));\n return index >= 0 ? index : this.getActiveStepIndex();\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from steps changes\n if (this.stepsSubscription) {\n this.stepsSubscription.unsubscribe();\n this.stepsSubscription = null;\n }\n\n // MEMORY LEAK FIX: Remove jQuery event handlers\n $(document).off(\"mouseup\");\n\n // MEMORY LEAK FIX: Clear wizard context to release references to step data\n if (this.wizContext) {\n Object.keys(this.wizContext).forEach(key => {\n delete this.wizContext[key];\n });\n this.wizContext = null;\n }\n\n // MEMORY LEAK FIX: Clear dynamic context\n if (this._dynamicContext) {\n Object.keys(this._dynamicContext).forEach(key => {\n delete this._dynamicContext[key];\n });\n this._dynamicContext = null;\n }\n\n // MEMORY LEAK FIX: Clear dynamic wizard array\n if (this.dynamicWizard) {\n this.dynamicWizard = [];\n }\n\n // MEMORY LEAK FIX: Clear current step reference\n this.currentStep = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"app-wizard-heading\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n @for (step of steps; track step; let i = $index) {\n <li class=\"app-wizard-step\" [hidden]=\"!step.show\"\n [ngClass]=\"{finished: step.done, active: step.active, default: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\" [attr.data-stepid]=\"step.widgetId\">\n <a href=\"javascript:void(0)\" [attr.aria-current]=\"step.active ? 'step' : null\"\n [attr.aria-disabled]=\"step.disabled\" [attr.aria-label]='step.subtitle ? \"step \" + (i + 1) + \" \" + step.title + \" \" + step.subtitle : \"step \" + (i + 1) + \" \" + step.title' [attr.title]= \"step.title\"\n [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\" [tabindex]=\"step.active ? '0' : '-1'\" (keydown)=\"onkeydown($event)\">\n @if (class && class.includes('classic')) {\n <span class=\"arrow\"></span>\n }\n @if (shouldRenderWizardStepNumberSpan(step)) {\n <span class=\"wizard-step-number\">\n @if (class && class.includes('number') && !step.isDone && !showWizardStepIcons) {\n <span class=\"count\">{{i+1}}</span>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('text-inline') && !showWizardStepIcons) && !step.isDone) {\n <i class=\"dottedstepper\"></i>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone) {\n <i class=\"app-icon wi wi-done\"></i>\n }\n @if (shouldShowPrimaryStepIcon(step)) {\n <wm-app-icon [iconclass]=\"stepIconClassOrDefault(step)\" [iconurl]=\"step.iconurl\"></wm-app-icon>\n }\n @if (showWizardStepIcons && step.isDone && hasNonEmptyDoneIconClass(step)) {\n <wm-app-icon [iconclass]=\"step.doneiconclass\" [iconurl]=\"step.doneiconurl\"></wm-app-icon>\n }\n </span>\n }\n <span class=\"title-wrapper\">\n @if (class && class.includes('text-inline')) {\n <span>{{'0' + (i+1)}}</span>\n }\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n @if (step.subtitle) {\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n }\n </a>\n </li>\n }\n </ul>\n</div>\n@if (type !== 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if (message.caption) {\n <p wmMessage caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n }\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n}\n@if (type === 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if(!fieldDefs?.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n</div>\n}\n@if(fieldDefs && fieldDefs.length || type !== 'dynamic') {\n <ng-container *ngTemplateOutlet=\"wizardAction\"></ng-container>\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardaction',\n new Map([\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ])\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef } from '@wm/components/base';\nimport {registerProps} from \"./wizard-action.props\";\n\nconst WIDGET_INFO: IWidgetConfig = {\n widgetType: 'wm-wizardaction',\n hostClass: 'app-wizard-actions panel-footer '\n};\n\n@Directive({\n standalone: true,\n selector: 'div[wmWizardAction]',\n providers: [\n provideAsWidgetRef(WizardActionDirective)\n ],\n exportAs: 'wmWizardAction',\n})\nexport class WizardActionDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_INFO, explicitContext);\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1"],"mappings":";;;;;;;;;;;AAEO,MAAMA,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,WAAW,EACX,IAAI,GAAG,CACH;QACI,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAC,CAAC;QACtD,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QAC9C,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAC,CAAC;QACrD,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAC,CAAC;QAC7C,CAAC,SAAS,EAAE,QAAQ,CAAC;QACrB,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QAChD,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QAChD,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAC,CAAC;QAC/C,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,eAAe,EAAE,GAAI,WAAW,EAAC,CAAC;QAC5D,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,EAAC,CAAC;QACzD,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QAC9C,CAAC,MAAM,EAAE,WAAW;AACvB,KAAA,CACJ,CACJ;AACL,CAAC;;ACxBM,MAAMA,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,eAAe,EACf,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,YAAY,EAAE,GAAG,WAAW,EAAC,CAAC;QACxD,CAAC,aAAa,EAAE,WAAW,CAAC;AAC5B,QAAA,CAAC,kBAAkB,EAAE,WAAW,CAAC;QACjC,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAC,CAAC;QAC/C,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,cAAc,EAAE,GAAG,WAAW,EAAC,CAAC;QACtD,CAAC,SAAS,EAAE,WAAW,CAAC;AACxB,QAAA,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,YAAY,EAAE,GAAG,WAAW,EAAC;AAClD,KAAA,CACJ,CACJ;AACL,CAAC;;ACCD,MAAMC,aAAW,GAAG,yBAAyB;AAE7C,MAAMC,eAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,SAAS,EAAED,aAAW;CACzB;AAkBK,MAAO,mBAAoB,SAAQ,iBAAiB,CAAA;AAC/C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGD,eAAa,EAAhB,CAAmB;AAuBzC,IAAA,IACI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM;IACtC;AAEA,IAAA,IACI,YAAY,GAAA;QACZ,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM;IACvC;AAEA,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,MAAM;IACtB;AAEA;;;;AAIG;AACH,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,qBAAqB,EAAE;IACtF;AAEA;;;AAGG;IACK,qBAAqB,GAAA;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;AAC3C,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AAChE,gBAAA,OAAO,KAAK;YAChB;QACJ;AACA,QAAA,OAAO,IAAI;IACf;IAEQ,mBAAmB,GAAA;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IACrC;AAEA,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,WAAW;IAC5B;AAEA,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,WAAW;IAC5B;AAEA,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe;IAChC;IAEA,IAAW,MAAM,CAAC,EAAW,EAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;QAC5B,IAAI,CAAC,MAAM,GAAA,CAAA;AACX,QAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,cAAc,EAAE;QACzB;IACJ;AAEA,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,MAAM,KAAA,CAAA;IACtB;IAEA,IAAW,IAAI,CAAC,EAAW,EAAA;QACvB,IAAI,EAAE,EAAE;YACJ,IAAI,CAAC,MAAM,GAAA,CAAA;QACf;IACJ;AAEA,IAAA,IAAW,IAAI,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,MAAM,KAAA,CAAA;IACtB;IAEA,IAAW,QAAQ,CAAC,EAAW,EAAA;QAC3B,IAAI,EAAE,EAAE;YACJ,IAAI,CAAC,MAAM,GAAA,CAAA;QACf;IACJ;AAEA,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,MAAM,KAAA,CAAA;IACtB;AAEA,IAAA,WAAA,CAAY,GAAa,EAAkB,MAAc,EAA0C,eAAoB,EAAA;AACnH,QAAA,KAAK,CAAC,GAAG,EAAEE,eAAa,EAAE,eAAe,CAAC;QADH,IAAA,CAAA,MAAM,GAAN,MAAM;QAjG1C,IAAA,CAAA,SAAS,GAAG,IAAI;QACvB,IAAA,CAAA,MAAM,GAAY,KAAK;QACvB,IAAA,CAAA,gBAAgB,GAAY,KAAK;QACjC,IAAA,CAAA,gBAAgB,GAAY,KAAK;AAEzB,QAAA,IAAA,CAAA,MAAM,GAAA,CAAA;QAEN,IAAA,CAAA,qBAAqB,GAAE,EAAE;QAI1B,IAAA,CAAA,OAAO,GAAY,KAAK;;QAyF3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;AACpD,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO;IACrD;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;IAClF;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;IAClF;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;IAClF;;IAGQ,cAAc,GAAA;QAClB,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACtD;AACA,YAAA,IAAK,IAAY,CAAC,eAAe,EAAE;gBAC/B,MAAM,SAAS,GAAI,IAAY,CAAC,eAAe,CAAC,mBAAmB,EAAE;gBACrE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC;YACnD;QACJ,CAAC,EAAE,GAAG,CAAC;IACX;IAEO,MAAM,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QACxG;QACA,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE;AAC3D,QAAA,cAAc,CAAC,MAAM,CAAE,IAAY,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;IAC/B;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACpB,OAAO,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC5E;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;AAC3C,QAAA,IAAI,GAAG,KAAK,SAAS,EAAE;YACnB,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC;QAC3C;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;IACJ;IAEA,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE;IACpB;IAEA,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAClD;IACJ;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC;;AAGA,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;;;QAI3B,KAAK,CAAC,WAAW,EAAE;IACvB;AAzLS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4EA4GuC,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA5G5E,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EANjB;YACP,kBAAkB,CAAC,mBAAmB,CAAC;YACvC;SACH,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,SAAA,EAwBgB,mBAAmB,mGA5B1B,CAAA,kDAAA,CAAoD,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAOrD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAAA,kDAAA,CAAoD;AAC9D,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,mBAAA,CAAqB;wBACvC;AACH,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACb,iBAAA;;0BA6G+B;;0BAAgC,MAAM;2BAAC,kBAAkB;;0BAAG;;sBAvFvF,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;;sBAGxD,WAAW;uBAAC,cAAc;;sBAK1B,WAAW;uBAAC,eAAe;;;AC3BhC,MAAM,WAAW,GAAG,2BAA2B;AAC/C,MAAM,aAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,SAAS,EAAE;CACd;AAaK,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGF,eAAa,EAAhB,CAAmB;AAiCzC,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/C;AAEA,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9C;AAEA,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB;QACJ;QACA,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU;IAC3D;AAEA,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB;QACJ;AACA,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU;IACtC;AAEA,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB;QACJ;QACA,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAC7F;AAEA;;;;AAIG;IACK,qBAAqB,GAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AACjE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS;AAC5C,QAAA,MAAM,OAAO,GACT,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAI,MAA+B,EAAE,OAAO,IAAI,EAAE;QACzF,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,OAAO,EAAE,CAAC,IAAI,EAAE;IAC1C;AAEA,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE;QACtC,IAAI,CAAC,CAAC,EAAE;AACJ,YAAA,OAAO,KAAK;QAChB;AACA,QAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IAChE;;AAGA,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACtC,QAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IACjE;;AAGA,IAAA,sBAAsB,CAAC,IAA2B,EAAA;QAC9C,MAAM,CAAC,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,OAAO;QAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,cAAc;IACxE;AAEA,IAAA,oBAAoB,CAAC,IAA2B,EAAA;QAC5C,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,OAAO;QAC3C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE;IACrD;AAEA;;;AAGG;AACH,IAAA,yBAAyB,CAAC,IAA2B,EAAA;QACjD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,YAAA,OAAO,KAAK;QAChB;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC1C;AACA,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa;AAC5B,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QACxD,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,KAAK;QAChB;AACA,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;IAC1C;AAEA;;;;AAIG;AACH,IAAA,gCAAgC,CAAC,IAA2B,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC3B,YAAA,OAAO,IAAI;QACf;AACA,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;AACrD,gBAAA,OAAO,KAAK;YAChB;AACA,YAAA,QACI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;AACpC,iBAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAE5D;QACA,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AACtD,YAAA,QACI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;AACpC,iBAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAE5D;AACA,QAAA,OAAO,IAAI;IACf;;AAGA,IAAA,wBAAwB,CAAC,IAA2B,EAAA;QAChD,MAAM,CAAC,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,WAAW;QAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;IACnD;AAEA,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB;QACJ;QACA,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO;IAClE;AAEA;;AAEG;AACH,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;IACnD;AAEA;;AAEG;AACH,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9C;AAEA;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;IAC7C;AAEA,IAAA,WAAA,CAAY,GAAa,EAAE,wBAAqD,EAA2B,QAAoB,EAA0C,eAAoB,EAAA;QACzL,IAAI,SAAS,GAAa,IAAI;AAE9B,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC;QA1J3E,IAAA,CAAA,YAAY,GAAY,IAAI;AAkX5B,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,GAAG,KAAK,GAAG,YAAY,OAAO,KAAK,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC;QAvNjK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;AAEzD,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;;QAGlC,IAAI,CAAC,OAAO,GAAG;AACX,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,IAAI,EAAE;SACT;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,wBAAwB,GAAG,wBAAwB;AACxD,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;IAC7B;AAEA;;;;AAIG;AACI,IAAA,mBAAmB,CAAC,OAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC,MAAM,UAAU,GAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB;QACvE,IAAI,UAAU,EAAE;AACZ,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAA,MAAM,UAAU,GAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC;AACjF,gBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC;gBACjE,IAAI,CAAC,kBAAkB,EAAE;AACrB,oBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACvD,oBAAA,IAAI,UAAU,CAAC,MAAM,EAAE;wBACnB,UAAU,CAAC,MAAK;4BACZ,UAAU,CAAC,MAAM,EAAE;wBACvB,CAAC,EAAE,EAAE,CAAC;oBACV;gBACJ;YACJ;QACJ;IACJ;AAEA;;;AAGG;AACI,IAAA,OAAO,CAAC,WAAW,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACvB,YAAA,WAAW,GAAG,CAAC,WAAW,CAAC;QAC/B;QACA,MAAM,aAAa,GAAG,EAAE;QACxB,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI;AACjC,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC;YAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;;AAEzD,YAAA,IAAI,oBAAoB,IAAI,eAAe,GAAG,CAAC,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAA,0BAAA,EAA6B,IAAI,CAAC,IAAI,CAAA,eAAA,CAAiB,CAAC;gBACrE;YACJ;YAEA,IAAI,WAAW,GAAG,EAAE;YACpB,IAAI,SAAS,GAAG,EAAE;YAClB,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AAC7F,YAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAEzC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAI;AACzB,gBAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;oBAClB,SAAS,GAAG,GAAG,SAAS,CAAA,CAAA,EAAI,GAAG,CAAA,EAAA,EAAK,KAAK,GAAG;gBAChD;AACJ,YAAA,CAAC,CAAC;YAEF,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,KAAI;gBAClC,WAAW,GAAG,GAAG,WAAW,CAAA,iBAAA,EAAoB,GAAG,CAAA,SAAA,EAAY,KAAK,eAAe;AACvF,YAAA,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,CAAA,iCAAA,EAAoC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA,yBAAA,EAA4B,IAAI,CAAA,EAAA,EAAK,SAAS,CAAA;8BACxG,WAAW;yCACA;AAE7B,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI;YACzD;AAEA,YAAA,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC;AAExJ,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,aAAa;IACxB;AAEA;;;AAGG;AACI,IAAA,UAAU,CAAC,IAAqB,EAAA;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI;cACtE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI;AACzC,QAAA,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAA,WAAA,CAAa,CAAC;IAC3G;AAEA;;;;AAIG;AACK,IAAA,yBAAyB,CAAC,KAAa,EAAA;AAC3C,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACX,gBAAA,OAAO,IAAI;YACf;QACJ;IACJ;AAEA;;;;AAIG;AACK,IAAA,6BAA6B,CAAC,KAAa,EAAA;AAC/C,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACX,gBAAA,OAAO,IAAI;YACf;QACJ;IACJ;AAEA;;;AAGG;IACK,mBAAmB,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;IACnD;AAEA;;;;AAIG;AACK,IAAA,iBAAiB,CAAC,KAAa,EAAA;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;IACtC;AAEA;;;;AAIG;AACK,IAAA,iBAAiB,CAAC,UAA+B,EAAA;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACnD;AAEA;;;;AAIG;AACK,IAAA,gBAAgB,CAAC,IAAY,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;IACtD;AAEA;;;;AAIG;AACK,IAAA,cAAc,CAAC,IAAyB,EAAA;;AAE5C,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;YAEzB,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C,YAAA,OAAO,KAAK,IAAI,CAAC,EAAE;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC9C,gBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI;AACpB,gBAAA,QAAQ,CAAC,aAAa,GAAG,IAAI;AAC7B,gBAAA,KAAK,EAAE;YACX;QACJ;aAAO;;AAEH,YAAA,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACxC,IAAI,IAAI,EAAE;AACN,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC7B;QACJ;QACA,IAAI,CAAC,WAAW,EAAE;IACtB;AAEA;;;;AAIG;IACK,mBAAmB,CAAC,MAAa,EAAE,WAAgC,EAAA;;AAEvE,QAAA,IAAI,WAAW,CAAC,IAAI,EAAE;;YAElB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;gBAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;AAC9C,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;gBACrB;qBAAO;AACH,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,oBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;gBACvB;AACJ,YAAA,CAAC,CAAC;;AAEF,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI;YAC9B,IAAI,CAAC,WAAW,EAAE;QACtB;IACJ;;AAMQ,IAAA,UAAU,CAAC,KAAiC,EAAE,WAAW,EAAE,gBAAgB,EAAA;AAC/E,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACtB,YAAA,KAA0B,CAAC,IAAI,CAAC,QAAQ,IAAG;AACxC,gBAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK;AACzC,gBAAA,IAAI,QAAQ,KAAK,KAAK,EAAE;oBACpB;gBACJ;AACA,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC;YACpD,CAAC,EAAE,GAAG,IAAG;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK;AAC7C,YAAA,CAAC,CAAC;QACN;aAAO;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK;AACzC,YAAA,IAAI,KAAK,KAAK,KAAK,EAAE;gBACjB;YACJ;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACpD;IACJ;IAEO,IAAI,CAAC,YAAoB,MAAM,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACnC;QACJ;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;AACpC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;;AAGnD,QAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI;YACxC,MAAM,QAAQ,GAAI,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC;QAC5D;aAAO,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,SAAS,KAAK,MAAM,EAAE;AACzD,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI;YACxC,MAAM,QAAQ,GAAK,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC;QAC5D;aAAO,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC;AACpD,YAAA,KAAK,CAAC,IAAI,CAAO,IAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAQ,KAAI;AAC5E,gBAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;AACxC,YAAA,CAAC,CAAC;AACF,YAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAqB;YACrH,uBAAuB,EAAE,KAAK,EAAE;QAEpC;IACJ;IAEQ,YAAY,CAAC,WAAW,EAAE,gBAAgB,EAAA;QAC9C,MAAM,QAAQ,GAAwB,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,GAAG,CAAC,CAAC;;QAE1F,IAAI,QAAQ,EAAE;AACV,YAAA,QAAQ,CAAC,aAAa,GAAG,IAAI;AAC7B,YAAA,WAAW,CAAC,MAAM,GAAG,IAAI;AACzB,YAAA,WAAW,CAAC,IAAI,GAAG,IAAI;AACvB,YAAA,QAAQ,CAAC,MAAM,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ;;YAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;AAC3E,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAW,KAAI;AACjC,gBAAA,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC;gBACpC,IAAI,MAAM,EAAE;AACR,oBAAA,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;gBACzC;AACJ,YAAA,CAAC,CAAC;;AAEF,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,QAAQ,CAAC,QAAQ,CAAA,EAAA,CAAI,CAAC;YAC5F,MAAM,aAAa,GAAG,SAAS,EAAE,aAAa,CAAC,GAAG,CAAgB;AAClE,YAAA,IAAI,SAAS,IAAI,aAAa,EAAE;AAC5B,gBAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACjC,gBAAA,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC3C,aAAa,CAAC,KAAK,EAAE;YACzB;YACA,IAAI,CAAC,eAAe,EAAE;QAC1B;QACA,IAAI,CAAC,WAAW,EAAE;IACtB;;IAEO,IAAI,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACnC;QACJ;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;AACpC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAEnD,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI;;QAExC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAC3D,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACzB,YAAA,QAA6B,CAAC,IAAI,CAAE,QAAQ,IAAG;AAC5C,gBAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK;AACzC,gBAAA,IAAI,QAAQ,KAAK,KAAK,EAAE;oBACpB;gBACJ;AACA,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC;YACpD,CAAC,EAAE,GAAG,IAAG;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK;AAC7C,YAAA,CAAC,CAAC;QACN;aAAO;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK;AACzC,YAAA,IAAI,QAAQ,KAAK,KAAK,EAAE;gBACpB;YACJ;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACpD;IACJ;IAEQ,YAAY,CAAC,WAAW,EAAE,gBAAgB,EAAA;QAC9C,MAAM,QAAQ,GAAwB,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,GAAG,CAAC,CAAC;;QAG9F,IAAI,QAAQ,EAAE;AACV,YAAA,WAAW,CAAC,MAAM,GAAG,KAAK;AAC1B,YAAA,WAAW,CAAC,QAAQ,GAAG,IAAI;AAC3B,YAAA,QAAQ,CAAC,MAAM,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ;;YAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;AAC3E,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAW,KAAI;AACjC,gBAAA,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC;gBACpC,IAAI,MAAM,EAAE;AACR,oBAAA,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;gBACzC;AACJ,YAAA,CAAC,CAAC;;AAEF,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,QAAQ,CAAC,QAAQ,CAAA,EAAA,CAAI,CAAC;YAC7F,MAAM,cAAc,GAAG,UAAU,EAAE,aAAa,CAAC,GAAG,CAAgB;AACpE,YAAA,IAAI,UAAU,IAAI,cAAc,EAAE;AAC9B,gBAAA,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,gBAAA,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC5C,cAAc,CAAC,KAAK,EAAE;YAC1B;YACA,IAAI,CAAC,eAAe,EAAE;QAC1B;QACA,IAAI,CAAC,WAAW,EAAE;IACtB;IAEO,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACrB;AAEA;;;;AAIG;AACI,IAAA,QAAQ,CAAC,IAAqB,EAAA;AACjC,QAAA,IAAI,aAAqB;AACzB,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChB,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACzE,YAAA,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AACtB,gBAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAA,CAAA,CAAG,CAAC;gBAC9C;YACJ;QACJ;aAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YACpC,aAAa,GAAG,IAAI;QACxB;aAAO;AACH,YAAA,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC;YACpD;QACJ;QAEA,MAAM,QAAQ,GAAwB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;AAE3E,QAAA,IAAI,QAAQ,EAAE,IAAI,EAAE;AAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7C;aAAO;AACH,YAAA,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC;QAC1E;IACJ;;IAGO,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI;AAC9B,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,CAAC;IACnE;;IAEO,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,CAAC;IACrE;IACO,WAAW,GAAA;QACd,UAAU,CAAC,MAAK;YAGhB,IAAI,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;AACtC,YAAA,IAAG,cAAc,GAAG,GAAG,EAAC;AACxB,gBAAA,CAAC,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,MAAM,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC;gBACnG,IAAI,kBAAkB,GAAG,CAAC,CAAC,uDAAuD,CAAC,CAAC,MAAM,EAAE;gBAC5F,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,2CAA2C,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;AAE/E,gBAAA,IAAG,kBAAkB,GAAC,EAAE,EAAC;AACrB,oBAAA,CAAC,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,MAAM,EAAC,SAAS,EAAC,aAAa,EAAC,CAAC;oBACzG,CAAC,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;oBAC9D,CAAC,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,MAAM,CAAC;oBAC/D,CAAC,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,MAAM,CAAC;oBAC9D,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAC,OAAO,CAAC;gBAC7C;YACJ;AACJ,QAAA,CAAC,CAAC;IAEF;IACO,gBAAgB,GAAA;QACnB,CAAC,CAAC,2CAA2C,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC5E,CAAC,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,MAAM,CAAC;QAC7D,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,EAAC,UAAS,CAAK,EAAA;AAEnC,YAAA,IAAI,SAAS,GAAG,CAAC,CAAC,mBAAmB,CAAC;;YAEtC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EACnE;gBACI,CAAC,CAAC,2CAA2C,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBAC/E,CAAC,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;gBAC9D,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAC9B;AACJ,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,YAAY,CAAC,OAA4B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO;IACvC;AAEQ,IAAA,WAAW,CAAC,OAA4B,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;IACtC;AAEQ,IAAA,YAAY,CAAC,MAAM,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;IAC5C;IAEQ,eAAe,GAAA;QACnB,UAAU,CAAC,MAAK;YACZ,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iCAAiC,CAAgB;YAC7G,kBAAkB,EAAE,KAAK,EAAE;AAC/B,QAAA,CAAC,CAAC;IACN;;AAGA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;;AAG3C,QAAA,IAAI,GAAG,KAAK,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,SAAS,GAAI,EAAE,KAAK,WAAW,GAAG,eAAe,GAAG,EAAE;QAC/D;AAAO,aAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACzB;AAAO,aAAA,IAAI,GAAG,KAAK,aAAa,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAClD;AAAO,aAAA,IAAI,GAAG,KAAK,kBAAkB,EAAE;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;QACzF;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;IACJ;IAEA,kBAAkB,GAAA;QACd,KAAK,CAAC,kBAAkB,EAAE;QAC1B,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW;QACpD,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW;QACxD,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW;QACtD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU;AAClD,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,UAAU;AAC9D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACxC,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACxC,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QACxC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY;QACtD,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB;QAC9D,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY;QACtD,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc;QAC1D,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB;AAC9D,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU;AACpD,QAAA,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU;;AAGpD,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAE,MAAK;AACxD,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;AACvE,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClE,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK;YAC7B;AACJ,QAAA,CAAC,CAAC;IACN;AACQ,IAAA,gBAAgB,CAAC,OAA4B,EAAA;QAC7C,OAAO,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;IAChD;AACQ,IAAA,4BAA4B,CAAC,KAAa,EAAA;AAC1C,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtC,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAC7B,gBAAA,OAAO,IAAI;YACf;QACJ;AACA,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAC7B,gBAAA,OAAO,IAAI;YACf;QACJ;IACJ;AACI,IAAA,2BAA2B,CAAC,KAAa,EAAA;AACrC,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtC,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAC7B,gBAAA,OAAO,IAAI;YACf;QACJ;QACA,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACrC,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAC9B,gBAAA,OAAO,IAAI;YACd;QACL;IACZ;IAEO,UAAU,CAAC,UAAkB,EAAE,KAAc,EAAA;AAChD,QAAA,IAAI,OAAO;QACX,MAAM,MAAM,GAAG,EAAE;QAEjB,IAAI,CAAC,UAAU,EAAE;YACb;QACJ;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,KAAI;gBACjC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC;gBAClD,IAAI,OAAO,EAAE;AACT,oBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB;AACJ,YAAA,CAAC,CAAC;AAEF,YAAA,OAAO,MAAM;QACjB;AACA,QAAA,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC;AAEnB,QAAA,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QAE1C,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAC1D;IACJ;IAGA,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,MAAM,CACF,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAgB,EAC9D,IAAI,EACJ,iBAAiB,CAAC,WAAW,CAChC;QACD,UAAU,CAAC,MAAK;YAAG,IAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAC,GAAG,EAAE;gBACzC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;YAC5C;AACA,QAAA,CAAC,CAAC;IACN;IACA,kBAAkB,GAAA;QACd,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrH,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5H;IACO,kBAAkB,GAAA;AACrB,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;IAC7D;AACA,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,OAAO;AACX,QAAA,QAAQ,KAAK,CAAC,GAAG;AACb,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,SAAS;gBACV,KAAK,CAAC,cAAc,EAAE;gBACtB,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACrG;AAEJ,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,WAAW;gBACZ,KAAK,CAAC,cAAc,EAAE;gBACtB,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACpG;AACJ,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,UAAU;gBACX,KAAK,CAAC,cAAc,EAAE;gBACtB,UAAU,CAAC,MAAK;oBACZ,MAAM,aAAa,GAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC;oBACpE,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBACvD,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAErE,oBAAA,IAAI,MAAM,IAAI,gBAAgB,EAAE;wBAChC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;wBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC;wBAClF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;wBAE/C,IAAI,WAAW,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;AACjD,4BAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;;4BAG5C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;AAC3E,4BAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAW,KAAI;AACpC,gCAAA,EAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AAClD,4BAAA,CAAC,CAAC;4BAEF,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;4BAC5C,IAAI,UAAU,EAAE;AAChB,gCAAA,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;gCACxC,UAAU,CAAC,KAAK,EAAE;4BAClB;wBACJ;oBACJ;gBACJ,CAAC,EAAE,CAAC,CAAC;gBACL;AACJ,YAAA;gBACI;;QAET,IAAI,OAAO,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxE,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,OAAO,CAAC,QAAQ,CAAA,EAAA,CAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClG,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iCAAiC,CAAgB;YACjG,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;AAC7E,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAW,KAAI;AACjC,gBAAA,EAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AACrD,YAAA,CAAC,CAAC;YACH,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;YACtC,MAAM,EAAE,KAAK,EAAE;QACnB;IACJ;IACA,oBAAoB,GAAA;AAChB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,IAC7C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,IAAI,CAAC,QAAQ,CAAA,EAAA,CAAI,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzG,QAAA,OAAO,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;IACzD;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QACjC;;QAGA,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;;AAG1B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AACvC,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAC/B,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QAC1B;;AAGA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAC5C,gBAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AACpC,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC/B;;AAGA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE;QAC3B;;AAGA,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QAEvB,KAAK,CAAC,WAAW,EAAE;IACvB;+GAt2BS,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,IAAA,CAAA,2BAAA,EAAA,EAAA,EAAA,KAAA,EAqL0E,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAgC,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AArLlJ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EANb;YACP,kBAAkB,CAAC,eAAe,CAAC;AACnC,YAAA,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAK,EAAG,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI;SAClE,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,IAAA,EAOqC,WAAW,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EADhC,mBAAmB,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrExC,4xGAmEA,2CDVY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FASrD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,EAAA,QAAA,EACrD,eAAe,EAAA,SAAA,EAEd;AACP,wBAAA,kBAAkB,CAAA,eAAA,CAAiB;AACnC,wBAAA,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAK,EAAG,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI;AAClE,qBAAA,EAAA,QAAA,EACS,UAAU,EAAA,QAAA,EAAA,4xGAAA,EAAA;;0BAuL+D;;0BAAQ,MAAM;2BAAC,OAAO;;0BAAyB,MAAM;2BAAC,kBAAkB;;0BAAG;;sBAlL7J,eAAe;uBAAC,mBAAmB;;sBACnC,YAAY;uBAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE;;;AEpEpE,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,iBAAiB,EACjB,IAAI,GAAG,CAAC;QACJ,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC;AAC1C,KAAA,CAAC,CACL;AACL,CAAC;;ACPD,MAAM,WAAW,GAAkB;AAC/B,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,SAAS,EAAE;CACd;AAUK,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AAC7C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IAEzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,eAAe,CAAC;IAC5C;AALS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,0CAGK,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAH5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,SAAA,EALnB;YACP,kBAAkB,CAAC,qBAAqB;AAC3C,SAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,qBAAA;AACrB,qBAAA;AACD,oBAAA,QAAQ,EAAE,gBAAgB;AAC7B,iBAAA;;0BAI+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;ACpB5D;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/wizard/src/wizard.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.html","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.directive.ts","../../../../../projects/components/widgets/containers/wizard/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizard',\n new Map(\n [\n ['actionsalignment', {value: 'right', ...PROP_STRING}],\n ['cancelable', {value: true, ...PROP_BOOLEAN}],\n ['cancelbtnlabel', {value: 'Cancel', ...PROP_STRING}],\n ['class', {value: 'classic', ...PROP_STRING}],\n ['dataset', PROP_ANY],\n ['defaultstep', {value: 'none', ...PROP_STRING}],\n ['defaultstepindex', {value: 0, ...PROP_NUMBER}],\n ['donebtnlabel', {value: 'Done', ...PROP_STRING}],\n ['enablenext', {value: false, ...PROP_BOOLEAN}],\n ['name', PROP_STRING],\n ['nextbtnlabel', {value: 'Next', ...PROP_STRING}],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['previousbtnlabel', {value: 'Previous', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['stepstyle', {value: 'auto', ...PROP_STRING}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import {PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardstep',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['doneiconclass', {value: 'wi wi-done', ...PROP_STRING}],\n ['doneiconurl', PROP_STRING],\n ['dynamicStepIndex', PROP_NUMBER], // internal property\n ['enableskip', {value: false, ...PROP_BOOLEAN}],\n ['iconclass', {value: 'wi wi-person', ...PROP_STRING}],\n ['iconurl', PROP_STRING],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subtitle', PROP_STRING],\n ['title', {value: 'Step Title', ...PROP_STRING}]\n ]\n )\n );\n};\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from \"@angular/core\";\nimport {\n getCurrentWidgets,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent\n} from \"@wm/components/base\";\nimport {NgForm} from \"@angular/forms\";\nimport {registerProps} from \"./wizard-step.props\";\nimport {App, noop} from \"@wm/core\";\nimport {WizardComponent} from \"../wizard.component\";\n\nconst DEFAULT_CLS = 'app-wizard-step-content';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizardstep',\n hostClass: DEFAULT_CLS,\n};\n\nconst enum STEP_STATUS {\n CURRENT = 1,\n DISABLED,\n COMPLETED\n}\n\n@Component({\n standalone: true,\n selector: 'form[wmWizardStep]',\n template: `<ng-content partial-container-target></ng-content>`,\n providers: [\n provideAsWidgetRef(WizardStepComponent),\n NgForm\n ],\n exportAs: 'wmWizardStep'\n})\nexport class WizardStepComponent extends StylableComponent implements OnInit, AfterViewInit, OnDestroy {\n static readonly initializeProps = registerProps();\n\n public show: boolean;\n public name: string;\n public enableskip: any;\n public disablenext: boolean;\n public disabledone: boolean;\n public disableprevious: boolean;\n public isInitialized: boolean;\n private readonly isdynamic: boolean;\n public $lazyLoad = noop;\n isDone: boolean = false;\n nextCBInProgress: boolean = false;\n prevCBInProgress: boolean = false;\n\n private status: STEP_STATUS = STEP_STATUS.DISABLED;\n private wizardComponent: WizardComponent;\n private readonly _currentWizardWidgets ={}\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n public isPrism: boolean = false;\n\n @HostBinding('class.active')\n get activeClass() {\n return this.isPrism && this.active;\n }\n\n @HostBinding('class.current')\n get currentClass() {\n return !this.isPrism && this.active;\n }\n \n get isCurrent() {\n return this.active;\n }\n\n /**\n * along with the wizard form , also validate the forms\n * if there are any inside the wizard\n * @returns {boolean}\n */\n public get isValid() {\n return (this.ngForm.valid || this.ngForm.disabled) && this.areEmbeddedFormsValid();\n }\n\n /**\n * get all the forms inside the wizard if any and validate\n * @returns {boolean}\n */\n private areEmbeddedFormsValid() {\n for (const form of this.getAllEmbeddedForms()) {\n if (form.widget?.ngform && !form.widget.ngform.valid) {\n return false;\n }\n }\n return true;\n }\n\n private getAllEmbeddedForms() {\n return this.$element.find('form');\n }\n\n public get enableNext() {\n return !this.disablenext;\n }\n\n public get enableDone() {\n return !this.disabledone;\n }\n\n public get enablePrev() {\n return !this.disableprevious;\n }\n\n public set active(nv: boolean) {\n const isActive = this.active;\n this.status = STEP_STATUS.CURRENT;\n if (nv && !isActive) {\n this.redrawChildren();\n }\n }\n\n public get active(): boolean {\n return this.status === STEP_STATUS.CURRENT;\n }\n\n public set done(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.COMPLETED;\n }\n }\n\n public get done(): boolean {\n return this.status === STEP_STATUS.COMPLETED;\n }\n\n public set disabled(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.DISABLED;\n }\n }\n\n public get disabled(): boolean {\n return this.status === STEP_STATUS.DISABLED;\n }\n\n constructor(inj: Injector, @Self() private readonly ngForm: NgForm, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n // If we inject directly as a param in the constructor, getting circular dependency error in unit testcases\n this.wizardComponent = this.inj.get(WizardComponent);\n this.isPrism = !!this.inj.get(App, null)?.isPrism;\n }\n\n public invokeNextCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('next', {currentStep: this, stepIndex: index});\n }\n\n public invokePrevCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('prev', {currentStep: this, stepIndex: index});\n }\n\n public invokeSkipCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('skip', {currentStep: this, stepIndex: index});\n }\n\n // redraw all the projected components which are projected.\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n if ((this as any).wizardComponent) {\n const stepIndex = (this as any).wizardComponent.getCurrentStepIndex();\n this.invokeEventCallback('load', { stepIndex });\n }\n }, 100);\n }\n\n public remove() {\n if (this.active) {\n this === this.wizardComponent.steps.last ? this.wizardComponent.prev() : this.wizardComponent.next();\n }\n const availablePanes = this.wizardComponent.steps.toArray();\n availablePanes.splice((this as any).wizardComponent.getStepIndexByRef(this), 1);\n this.wizardComponent.steps.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n get currentWizardWidgets() {\n return getCurrentWidgets(this.nativeElement, this._currentWizardWidgets);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'content') {\n setTimeout(() => this.$lazyLoad(), 100);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (this.isdynamic) {\n this.wizardComponent.registerDynamicStep(this);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear redrawable components references\n if (this.reDrawableComponents) {\n this.reDrawableComponents.reset([]);\n }\n\n // MEMORY LEAK FIX: Clear wizard component reference\n this.wizardComponent = null;\n\n // Call parent ngOnDestroy (StylableComponent → BaseComponent)\n // This will clear the context and unregister the widget\n super.ngOnDestroy();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {\n APPLY_STYLES_TYPE,\n Context,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler,\n TextContentDirective,\n WmAppIconComponent\n} from \"@wm/components/base\";\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n Component,\n ContentChild,\n ContentChildren,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Self,\n TemplateRef\n} from '@angular/core';\n\nimport {DynamicComponentRefProvider, isDefined, noop} from '@wm/core';\n\nimport {registerProps} from './wizard.props';\n\nimport {WizardStepComponent} from \"./wizard-step/wizard-step.component\";\nimport {find, findIndex, forEach, get, indexOf, isArray, isNumber, isString} from \"lodash-es\";\n\n/**\n * Header row shape for icon/tab-stepper helpers. Uses this instead of `WizardStepComponent` on\n * those parameters so TypeScript/ng-packagr does not hit a circular resolution order\n * (wizard-step imports WizardComponent).\n */\ntype WizardStepHeaderModel = {\n isDone: boolean;\n iconclass?: string;\n iconurl?: string;\n doneiconclass?: string;\n doneiconurl?: string;\n};\n\nconst DEFAULT_CLS = 'app-wizard panel clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizard',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, WmAppIconComponent],\n selector: 'div[wmWizard]',\n templateUrl: './wizard.component.html',\n providers: [\n provideAsWidgetRef(WizardComponent),\n {provide: Context, useFactory: () => { return {} }, multi: true}\n ],\n exportAs: 'wmWizard'\n})\nexport class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {\n static readonly initializeProps = registerProps();\n\n @ContentChildren(WizardStepComponent) steps: QueryList<WizardStepComponent>;\n @ContentChild('wizardAction', { read: TemplateRef, descendants: false }) wizardAction: TemplateRef<any>;\n\n public message: {caption: string, type: string};\n public currentStep: WizardStepComponent;\n\n public stepClass: string;\n public class;\n public name;\n private readonly promiseResolverFn: Function;\n public actionsalignment: any;\n public cancelable: any;\n public enablenext: any;\n public wizContext: any;\n public cancelbtnlabel: any;\n public donebtnlabel: any;\n public previousbtnlabel: any;\n public nextbtnlabel: any;\n public defaultstep;\n public fieldDefs;\n public type;\n public nodatamessage;\n private readonly dynamicComponentProvider;\n private _dynamicContext;\n private dynamicStepIndex;\n public dynamicWizard;\n public defaultstepindex;\n private _isFirstLoad: boolean = true;\n public autoActivation:boolean;\n private stepsSubscription: any; // MEMORY LEAK FIX: Store subscription for cleanup\n\n get hasPrevStep(): boolean {\n return !this._isFirstStep(this.currentStep);\n }\n\n get hasNextStep(): boolean {\n return !this._isLastStep(this.currentStep);\n }\n\n get showDoneBtn(): boolean {\n if (!this.currentStep) {\n return false;\n }\n return !this.hasNextStep && this.currentStep.enableDone;\n }\n\n get enablePrev(): boolean {\n if (!this.currentStep) {\n return false;\n }\n return this.currentStep.enablePrev;\n }\n\n get enableNext(): boolean {\n if (!this.currentStep) {\n return false;\n }\n return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);\n }\n\n /**\n * Step header icons (iconclass / doneiconclass): same rules as iconstepper, plus tabstepper\n * (e.g. wizard-tabstepper, tabstepper, tabstepper_vertical). Uses class property + host className\n * so preview stays correct when the DOM is updated before the bound property.\n */\n private wizardHostClassString(): string {\n const fromProp = typeof this.class === 'string' ? this.class : '';\n const rawDom = this.nativeElement?.className;\n const fromDom =\n typeof rawDom === 'string' ? rawDom : (rawDom as { baseVal?: string })?.baseVal || '';\n return `${fromProp} ${fromDom}`.trim();\n }\n\n get showWizardStepIcons(): boolean {\n const c = this.wizardHostClassString();\n if (!c) {\n return false;\n }\n return c.includes('iconstepper') || c.includes('tabstepper');\n }\n\n /** Tab layout only (not icon stepper): omit icon column when step has no icon. */\n get isTabStepperWizard(): boolean {\n const c = this.wizardHostClassString();\n return c.includes('tabstepper') && !c.includes('iconstepper');\n }\n\n /** Default matches wm-wizardstep props; used for icon stepper when iconclass is empty. */\n stepIconClassOrDefault(step: WizardStepHeaderModel): string {\n const c = step?.iconclass || step?.iconurl;\n return typeof c === 'string' && c.trim() ? c.trim() : 'wi wi-person';\n }\n\n hasNonEmptyIconClass(step: WizardStepHeaderModel): boolean {\n const ic = step?.iconclass || step?.iconurl;\n return typeof ic === 'string' && ic.trim() !== '';\n }\n\n /**\n * Primary `app-icon` for icon/tab stepper: only when `iconclass` is set (no default glyph for icon stepper).\n * When `doneiconclass` is set, the done row is shown instead of this primary icon.\n */\n shouldShowPrimaryStepIcon(step: WizardStepHeaderModel): boolean {\n if (!step || !this.showWizardStepIcons) {\n return false;\n }\n if (!step.isDone) {\n return this.hasNonEmptyIconClass(step);\n }\n const d = step.doneiconclass;\n const hasDone = typeof d === 'string' && d.trim() !== '';\n if (hasDone) {\n return false;\n }\n return this.hasNonEmptyIconClass(step);\n }\n\n /**\n * Tab stepper: no `wizard-step-number` when the step is done but `doneiconclass` is empty.\n * Icon stepper: omit the wrapper when there is no primary icon and no done icon to show.\n * Other layouts: keep the wrapper (numbers, dots, etc.).\n */\n shouldRenderWizardStepNumberSpan(step: WizardStepHeaderModel): boolean {\n if (!this.showWizardStepIcons) {\n return true;\n }\n if (this.isTabStepperWizard) {\n if (step.isDone && !this.hasNonEmptyDoneIconClass(step)) {\n return false;\n }\n return (\n this.shouldShowPrimaryStepIcon(step) ||\n (step.isDone && this.hasNonEmptyDoneIconClass(step))\n );\n }\n if (this.wizardHostClassString().includes('iconstepper')) {\n return (\n this.shouldShowPrimaryStepIcon(step) ||\n (step.isDone && this.hasNonEmptyDoneIconClass(step))\n );\n }\n return true;\n }\n\n /** Avoid `String()` in templates (strict mode treats it as a component property). */\n hasNonEmptyDoneIconClass(step: WizardStepHeaderModel): boolean {\n const d = step?.doneiconclass || step?.doneiconurl;\n return typeof d === 'string' && d.trim() !== '';\n }\n\n get enableDone(): boolean {\n if (!this.currentStep) {\n return false;\n }\n return this.currentStep.enableDone && this.currentStep.isValid;\n }\n\n /**\n * returns current step index of the Wizard's current step\n */\n get currentStepIndex() {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns weather the current step is first step or not\n */\n get isFirstStep(): boolean {\n return this._isFirstStep(this.currentStep);\n }\n\n /**\n * returns weather the current step is last step or not\n */\n get isLastStep(): boolean {\n return this._isLastStep(this.currentStep);\n }\n\n constructor(inj: Injector, dynamicComponentProvider: DynamicComponentRefProvider, @Self() @Inject(Context) contexts: Array<any>, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.promiseResolverFn = resolveFn;\n\n // initialize the message object with default values\n this.message = {\n caption: '',\n type: ''\n };\n this.wizContext = contexts[0];\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicWizard = [];\n this.dynamicStepIndex = 0;\n }\n\n /**\n * This method is used to register the dynamic steps.\n * After all steps are initialzed, update the querylist manually based on index.\n * @param stepRef - refrence of the wizardstep\n */\n public registerDynamicStep(stepRef) {\n this.dynamicWizard.push(stepRef);\n const isLastStep = this.dynamicWizard.length === this.dynamicStepIndex;\n if (isLastStep) {\n for (let i = 0; i < this.dynamicWizard.length; i++) {\n const newStepRef = find(this.dynamicWizard, step => step.dynamicStepIndex === i);\n const isStepAlreadyExist = find(this.steps.toArray(), newStepRef);\n if (!isStepAlreadyExist) {\n this.steps.reset([...this.steps.toArray(), newStepRef]);\n if (newStepRef.active) {\n setTimeout(() => {\n newStepRef.select();\n }, 20);\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the wizard step dynamically\n * @param wizardSteps - list of wizardsteps\n */\n public addStep(wizardSteps) {\n if (!isArray(wizardSteps)) {\n wizardSteps = [wizardSteps];\n }\n const stepNamesList = [];\n forEach(wizardSteps, (step, index) => {\n const isStepAlreadyCreated = find(this.steps.toArray(), {name: step.name});\n const isStepNameExist = indexOf(stepNamesList, step.name);\n // If user tries to add wizardstep with the same name which is already exists then do not create the step\n if (isStepAlreadyCreated || isStepNameExist > 0) {\n console.warn(`The wizard step with name ${step.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicStepIndex++;\n const name = step.name ? step.name : `wizardstep${this.steps.toArray().length + (index + 1)}`;\n stepNamesList.push(name);\n const partialParams = get(step, 'params');\n\n forEach(step, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-wizardstep dynamicStepIndex=\"${this.dynamicStepIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-wizardstep>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmWizard')] = this;\n }\n\n this.dynamicComponentProvider.addComponent(this.getNativeElement().querySelector('.app-wizard-body'), markup, this._dynamicContext, {inj: this.inj});\n\n });\n return stepNamesList;\n }\n\n /**\n * This method is to remove the wizard step\n * @param step - index or name of the step\n */\n public removeStep(step: number | string) {\n const stepRef = isString(step) ? this.getStepRefByName(step) : isNumber(step)\n ? this.getStepRefByIndex(step) : null;\n stepRef ? stepRef.remove() : console.warn(`Could not find step with name or index '${step}' to remove`);\n }\n\n /**\n * returns next valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getNextValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns previous valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getPreviousValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns current step index value.\n * @returns {number}\n */\n private getCurrentStepIndex(): number {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns stepRef when index is passed.\n * @param {number} index\n * @returns {WizardStepComponent}\n */\n private getStepRefByIndex(index: number): WizardStepComponent {\n return this.steps.toArray()[index];\n }\n\n /**\n * returns the index value of the step.\n * @param {WizardStepComponent} wizardStep\n * @returns {number}\n */\n private getStepIndexByRef(wizardStep: WizardStepComponent): number {\n return this.steps.toArray().indexOf(wizardStep);\n }\n\n /**\n * gets stepRef by searching on the name property.\n * @param {string} name\n * @returns {WizardStepComponent}\n */\n private getStepRefByName(name: string): WizardStepComponent {\n return this.steps.find(step => step.name === name);\n }\n\n /**\n * sets default step as current step if configured\n * or finds first valid step and set it as current step.\n * @param {WizardStepComponent} step\n */\n private setDefaultStep(step: WizardStepComponent) {\n // If the default step has show true then only update the currentStep\n if (step?.show) {\n this.currentStep = step;\n step.active = true;\n step.isInitialized = true;\n // Mark all previous step status COMPLETED\n let index = this.getStepIndexByRef(step) - 1;\n while (index >= 0) {\n const prevStep = this.getStepRefByIndex(index);\n prevStep.done = true;\n prevStep.isInitialized = true;\n index--;\n }\n } else {\n // set next valid step as current step\n step = this.getNextValidStepFormIndex(0);\n if (step) {\n this.setDefaultStep(step);\n }\n }\n this.addMoreText();\n }\n\n /**\n * Selects the associated step when the wizard header is clicked.\n * @param $event\n * @param {WizardStepComponent} currentStep\n */\n private onWizardHeaderClick($event: Event, currentStep: WizardStepComponent) {\n // select the step if it's status is done\n if (currentStep.done) {\n // set all the next steps status as disabled and previous steps as done\n this.steps.forEach((step, index) => {\n if (index < this.getStepIndexByRef(currentStep)) {\n step.done = true;\n step.isDone = true;\n } else {\n step.disabled = true;\n step.isDone = false;\n }\n });\n // set the selected step as current step and make it active\n this.currentStep = currentStep;\n this.currentStep.active = true;\n this.addMoreText();\n }\n }\n\n private readonly isPromise = (obj) => obj instanceof Promise || (obj !== null && typeof obj === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function');\n\n // Method to navigate to next step\n\n private handleNext(value: boolean | Promise<boolean>, currentStep, currentStepIndex) {\n if (this.isPromise(value)) {\n (value as Promise<boolean>).then(response => {\n this.currentStep.nextCBInProgress = false;\n if (response === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }, err => {\n this.currentStep.nextCBInProgress = false;\n })\n } else {\n this.currentStep.nextCBInProgress = false;\n if (value === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }\n }\n\n public next(eventName: string = 'next') {\n if (this.currentStep.nextCBInProgress) {\n return;\n }\n\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onSkip method returns false\n if (eventName === 'skip') {\n this.currentStep.nextCBInProgress = true;\n const response = currentStep.invokeSkipCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.currentStep.isValid && eventName === 'next') {\n this.currentStep.nextCBInProgress = true;\n const response = currentStep.invokeNextCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.enablenext && !this.currentStep.isValid){\n Array.from((<any>this).currentStep.getAllEmbeddedForms())?.forEach((form:any) => {\n form.widget.highlightInvalidFields();\n });\n const invalidFormInputElement = this.currentStep.nativeElement?.querySelector(\"input.ng-invalid\") as HTMLInputElement;\n invalidFormInputElement?.focus();\n\n }\n }\n\n private extendNextFn(currentStep, currentStepIndex) {\n const nextStep: WizardStepComponent = this.getNextValidStepFormIndex(currentStepIndex + 1);\n // If there are any steps which has show then only change state of current step else remain same\n if (nextStep) {\n nextStep.isInitialized = true;\n currentStep.isDone = true;\n currentStep.done = true;\n nextStep.active = true;\n this.currentStep = nextStep;\n // Remove 'active' class from all wizard steps in header\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('active');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Add 'active' to next step header item\n const newStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${nextStep.widgetId}\"]`);\n const newStepAnchor = newStepLi?.querySelector('a') as HTMLElement;\n if (newStepLi && newStepAnchor) {\n newStepLi.classList.add('active');\n newStepAnchor.setAttribute('tabindex', '0');\n newStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n // Method to navigate to previous step\n public prev() {\n if (this.currentStep.prevCBInProgress) {\n return;\n }\n\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n this.currentStep.prevCBInProgress = true;\n // abort if onPrev method returns false.\n const response = currentStep.invokePrevCB(currentStepIndex);\n if (this.isPromise(response)) {\n (response as Promise<boolean>).then( response => {\n this.currentStep.prevCBInProgress = false;\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }, err => {\n this.currentStep.prevCBInProgress = false;\n });\n } else {\n this.currentStep.prevCBInProgress = false;\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }\n }\n\n private extendPrevFn(currentStep, currentStepIndex){\n const prevStep: WizardStepComponent = this.getPreviousValidStepFormIndex(currentStepIndex - 1);\n\n // If there are any steps which has show then only change state of current step else remain same\n if (prevStep) {\n currentStep.isDone = false;\n currentStep.disabled = true;\n prevStep.active = true;\n this.currentStep = prevStep;\n // Remove 'active' class from all steps\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('active');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Apply 'active' to prev step\n const prevStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${prevStep.widgetId}\"]`);\n const prevStepAnchor = prevStepLi?.querySelector('a') as HTMLElement;\n if (prevStepLi && prevStepAnchor) {\n prevStepLi.classList.add('active');\n prevStepAnchor.setAttribute('tabindex', '0');\n prevStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n\n public skip() {\n this.next('skip');\n }\n\n /**\n * Navigates to the given step based on step name or step index\n * This will work only if the step is already in done state\n * @param step\n */\n public gotoStep(step: string | number) {\n let gotoStepIndex: number;\n if (isString(step)) {\n gotoStepIndex = this.steps.toArray().map(step => step.name).indexOf(step);\n if (gotoStepIndex === -1) {\n console.error(`Could not find step '${step}'`);\n return;\n }\n } else if (isNumber(step) && step >= 0) {\n gotoStepIndex = step;\n } else {\n console.error(\"Invalid step name or index provided\");\n return;\n }\n\n const gotoStep: WizardStepComponent = this.getStepRefByIndex(gotoStepIndex);\n\n if (gotoStep?.show) {\n this.onWizardHeaderClick(event, gotoStep);\n } else {\n console.error(\"The gotoStep function cannot navigate to hidden steps\");\n }\n }\n\n // Method to invoke on-Done event on wizard\n public done() {\n this.currentStep.isDone = true;\n this.invokeEventCallback('done', {steps: this.steps.toArray()});\n }\n // Method to invoke on-Cancel event on wizard\n public cancel () {\n this.invokeEventCallback('cancel', {steps: this.steps.toArray()});\n }\n public addMoreText(){\n setTimeout(() => {\n\n\n const newWindowWidth = $(window).width();\n if(newWindowWidth < 768){\n $(\".app-wizard-step.active .subtitle-wrapper .step-title\").css({\"height\":\"auto\",\"display\":\"block\"});\n const subtitleTextLength = $(\".app-wizard-step.active .subtitle-wrapper .step-title\").height();\n $(\".read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step.active .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n\n if(subtitleTextLength>44){\n $(\".app-wizard-step.active .subtitle-wrapper .step-title\").css({\"height\":\"44px\",\"display\":\"-webkit-box\"});\n $(\".app-wizard-step.active .read_more\").css(\"display\",\"block\");\n $(\".app-wizard-step.finished .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step.default .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step>a\").css(\"height\",\"100px\")\n }\n }\n });\n\n }\n public readMoreSubtitle(){\n $(\".app-wizard-step.active .subtitle-wrapper\").addClass(\"readmore_subtitle\");\n $(\".app-wizard-step.active .read_more\").css(\"display\",\"none\");\n $(document).on(\"mouseup\",function(e:any)\n {\n const container = $(\".subtitle-wrapper\");\n // if the target of the click isn't the container nor a descendant of the container\n if (!container.is(e.target) && container.has(e.target).length === 0)\n {\n $(\".app-wizard-step.active .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n $(\".app-wizard-step.active .read_more\").css(\"display\",\"block\");\n $(document).off(\"mouseup\");\n }\n });\n }\n\n private _isFirstStep(stepRef: WizardStepComponent) {\n return this.steps.first === stepRef;\n }\n\n private _isLastStep(stepRef: WizardStepComponent) {\n return this.steps.last === stepRef;\n }\n\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n private updateStepFocus() {\n setTimeout(() => {\n const currentStepElement = this.nativeElement.querySelector(\".app-wizard-heading li.active a\") as HTMLElement;\n currentStepElement?.focus();\n });\n }\n\n // Define the property change handler. This Method will be triggered when there is a change in the widget property\n onPropertyChange(key: string, nv: any, ov?: any) {\n // Monitoring changes for properties and accordingly handling respective changes\n\n if (key === 'stepstyle') {\n this.stepClass = nv === 'justified' ? 'nav-justified' : '';\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'defaultstep') {\n this.setDefaultStep(this.getStepRefByName(nv));\n } else if (key === 'actionsalignment') {\n this.nativeElement.querySelector('div.app-wizard-actions')?.classList.replace(ov, nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.wizContext.hasNextStep = () => this.hasNextStep;\n this.wizContext.hasPreviousStep = () => this.hasPrevStep;\n this.wizContext.hasNoNextStep = () => this.showDoneBtn;\n this.wizContext.cancelable = () => this.cancelable;\n this.wizContext.skippable = () => this.currentStep?.enableskip;\n this.wizContext.next = () => this.next();\n this.wizContext.previous = () => this.prev();\n this.wizContext.done = () => this.done();\n this.wizContext.cancel = () => this.cancel();\n this.wizContext.skip = () => this.skip();\n this.wizContext.nextbtnlabel = () => this.nextbtnlabel;\n this.wizContext.previousbtnlabel = () => this.previousbtnlabel;\n this.wizContext.donebtnlabel = () => this.donebtnlabel;\n this.wizContext.cancelbtnlabel = () => this.cancelbtnlabel;\n this.wizContext.actionsalignment = () => this.actionsalignment;\n this.wizContext.disableNext = () => !this.enableNext;\n this.wizContext.disablePrevious = () => !this.enablePrev;\n this.wizContext.disableDone = () => !this.enableDone;\n\n // MEMORY LEAK FIX: Store subscription for cleanup\n this.stepsSubscription = this.steps.changes.subscribe( () => {\n if (this.steps.length > 1 && this.type === 'dynamic' && this._isFirstLoad) {\n this.setDefaultStep(this.getStepRefByIndex(this.defaultstepindex));\n this._isFirstLoad = false;\n }\n });\n }\n private isSelectableStep(stepRef: WizardStepComponent): boolean {\n return stepRef.show && !stepRef.disabled;\n }\n private getSelectableStepBeforeIndex(index: number): WizardStepComponent {\n for (let i = index - 1; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === 0) {\n const step = this.getStepRefByIndex(this.steps.length - 1);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n private getSelectableStepAfterIndex(index: number): WizardStepComponent {\n for (let i = index + 1; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === this.steps.length - 1) {\n const step = this.getStepRefByIndex(0);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n\n public getWidgets(widgteName: string, index?: number) {\n let $target;\n const retVal = [];\n\n if (!widgteName) {\n return;\n }\n\n if (!isDefined(index)) {\n forEach(this.steps.toArray(), (el) => {\n $target = get(el.currentWizardWidgets, widgteName);\n if ($target) {\n retVal.push($target);\n }\n });\n\n return retVal;\n }\n index = +index || 0;\n\n $target = get(this.steps.toArray(), index);\n\n if ($target) {\n return [get($target.currentWizardWidgets, widgteName)];\n }\n }\n\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n setTimeout(() => { if($(window).width()<768) {\n $(\".app-wizard\").removeClass(\"vertical\");\n }\n });\n }\n ngAfterViewChecked() {\n this.nativeElement.querySelectorAll('div.app-wizard-actions').forEach(el => el?.classList.add(this.actionsalignment));\n this.nativeElement.querySelectorAll('div.app-wizard-actions-right').forEach(el => el?.classList.remove('app-container'));\n }\n public getActiveStepIndex(): number {\n return findIndex(this.steps.toArray(), {isCurrent: true});\n }\n onkeydown(event) {\n let newStep;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepBeforeIndex(this.getSelectedStepIndex());\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepAfterIndex(this.getSelectedStepIndex());\n break;\n case 'Enter':\n case ' ':\n case 'Spacebar':\n event.preventDefault();\n setTimeout(() => {\n const activeElement = this.nativeElement.querySelector('li.active');\n const stepLi = activeElement.closest('li[data-stepid]');\n const isInWizardHeader = activeElement.closest('.app-wizard-heading');\n\n if (stepLi && isInWizardHeader) {\n const stepId = stepLi.getAttribute('data-stepid');\n const stepIndex = this.steps.toArray().findIndex(step => step.widgetId === stepId);\n const currentStep = this.steps.toArray()[stepIndex];\n\n if (currentStep && currentStep !== this.currentStep) {\n this.onWizardHeaderClick(event, currentStep);\n\n // Update tabindex for accessibility\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n\n const stepAnchor = stepLi.querySelector('a');\n if (stepAnchor) {\n stepAnchor.setAttribute('tabindex', '0');\n stepAnchor.focus();\n }\n }\n }\n }, 0);\n break;\n default:\n return;\n }\n if (newStep) {\n this.nativeElement.querySelector('li.active')?.classList.remove('active');\n this.nativeElement.querySelector(`li[data-stepid=\"${newStep.widgetId}\"]`)?.classList.add('active');\n const stepLi = this.nativeElement.querySelector(\".app-wizard-heading li.active a\") as HTMLElement;\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid] a');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n (stepLi).setAttribute('tabindex', '0');\n stepLi?.focus();\n }\n }\n getSelectedStepIndex() {\n const index = this.steps.toArray().findIndex(step =>\n this.nativeElement.querySelector(`li[data-stepid=\"${step.widgetId}\"]`)?.classList.contains(\"active\"));\n return index >= 0 ? index : this.getActiveStepIndex();\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from steps changes\n if (this.stepsSubscription) {\n this.stepsSubscription.unsubscribe();\n this.stepsSubscription = null;\n }\n\n // MEMORY LEAK FIX: Remove jQuery event handlers\n $(document).off(\"mouseup\");\n\n // MEMORY LEAK FIX: Clear wizard context to release references to step data\n if (this.wizContext) {\n Object.keys(this.wizContext).forEach(key => {\n delete this.wizContext[key];\n });\n this.wizContext = null;\n }\n\n // MEMORY LEAK FIX: Clear dynamic context\n if (this._dynamicContext) {\n Object.keys(this._dynamicContext).forEach(key => {\n delete this._dynamicContext[key];\n });\n this._dynamicContext = null;\n }\n\n // MEMORY LEAK FIX: Clear dynamic wizard array\n if (this.dynamicWizard) {\n this.dynamicWizard = [];\n }\n\n // MEMORY LEAK FIX: Clear current step reference\n this.currentStep = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"app-wizard-heading\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n @for (step of steps; track step; let i = $index) {\n <li class=\"app-wizard-step\" [hidden]=\"!step.show\"\n [ngClass]=\"{finished: step.done, active: step.active, default: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\" [attr.data-stepid]=\"step.widgetId\">\n <a href=\"javascript:void(0)\" [attr.aria-current]=\"step.active ? 'step' : null\"\n [attr.aria-disabled]=\"step.disabled\" [attr.aria-label]='step.subtitle ? \"step \" + (i + 1) + \" \" + step.title + \" \" + step.subtitle : \"step \" + (i + 1) + \" \" + step.title' [attr.title]= \"step.title\"\n [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\" [tabindex]=\"step.active ? '0' : '-1'\" (keydown)=\"onkeydown($event)\">\n @if (class && class.includes('classic')) {\n <span class=\"arrow\"></span>\n }\n @if (shouldRenderWizardStepNumberSpan(step)) {\n <span class=\"wizard-step-number\">\n @if (class && class.includes('number') && !step.isDone && !showWizardStepIcons) {\n <span class=\"count\">{{i+1}}</span>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('text-inline') && !showWizardStepIcons) && !step.isDone) {\n <i class=\"dottedstepper\"></i>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone) {\n <i class=\"app-icon wi wi-done\"></i>\n }\n @if (shouldShowPrimaryStepIcon(step)) {\n <wm-app-icon [iconclass]=\"stepIconClassOrDefault(step)\" [iconurl]=\"step.iconurl\"></wm-app-icon>\n }\n @if (showWizardStepIcons && step.isDone && hasNonEmptyDoneIconClass(step)) {\n <wm-app-icon [iconclass]=\"step.doneiconclass\" [iconurl]=\"step.doneiconurl\"></wm-app-icon>\n }\n </span>\n }\n <span class=\"title-wrapper\">\n @if (class && class.includes('text-inline')) {\n <span>{{'0' + (i+1)}}</span>\n }\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n @if (step.subtitle) {\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n }\n </a>\n </li>\n }\n </ul>\n</div>\n@if (type !== 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if (message.caption) {\n <p wmMessage caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n }\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n}\n@if (type === 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if(!fieldDefs?.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n</div>\n}\n@if(fieldDefs && fieldDefs.length || type !== 'dynamic') {\n <ng-container *ngTemplateOutlet=\"wizardAction\"></ng-container>\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardaction',\n new Map([\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ])\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef } from '@wm/components/base';\nimport {registerProps} from \"./wizard-action.props\";\n\nconst WIDGET_INFO: IWidgetConfig = {\n widgetType: 'wm-wizardaction',\n hostClass: 'app-wizard-actions panel-footer '\n};\n\n@Directive({\n standalone: true,\n selector: 'div[wmWizardAction]',\n providers: [\n provideAsWidgetRef(WizardActionDirective)\n ],\n exportAs: 'wmWizardAction',\n})\nexport class WizardActionDirective extends BaseComponent {\n static readonly initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_INFO, explicitContext);\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1"],"mappings":"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"}
|