mis-crystal-design-system 4.0.51 → 14.0.1
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/action-list/action-list.component.d.ts +3 -0
- package/action-list/action-list.module.d.ts +9 -0
- package/analytics/analytics.module.d.ts +4 -0
- package/analytics/analytics.service.d.ts +3 -0
- package/async-search-dropdown/async-dropdown.component.d.ts +5 -2
- package/async-search-dropdown/async-dropdown.module.d.ts +9 -0
- package/button/button.component.d.ts +3 -0
- package/button/button.directive.d.ts +3 -0
- package/button/button.module.d.ts +7 -0
- package/checkbox/checkbox.component.d.ts +3 -0
- package/checkbox/checkbox.module.d.ts +7 -0
- package/chip/chip.component.d.ts +3 -0
- package/chip/chip.module.d.ts +6 -0
- package/datepicker_v2/datepicker.module.d.ts +10 -0
- package/datepicker_v2/public_api.d.ts +1 -0
- package/datepicker_v2/tz-datepicker.directive.d.ts +3 -0
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +3 -0
- package/daterangepicker_v2/daterangepicker.module.d.ts +10 -0
- package/daterangepicker_v2/public_api.d.ts +1 -0
- package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +3 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +3 -0
- package/drawer/drawer-body/drawer-body.component.d.ts +3 -1
- package/drawer/drawer.module.d.ts +8 -0
- package/drawer/drawer.service.d.ts +3 -0
- package/dropdown/calculate-container-height.directive.d.ts +3 -0
- package/dropdown/dropdown.component.d.ts +3 -0
- package/dropdown/dropdown.module.d.ts +11 -0
- package/dynamic-form/dynamic-form.component.d.ts +11 -8
- package/dynamic-form/dynamic-form.module.d.ts +13 -0
- package/esm2020/action-list/action-list.component.mjs +370 -0
- package/esm2020/action-list/action-list.module.mjs +25 -0
- package/esm2020/analytics/analytics.module.mjs +18 -0
- package/esm2020/analytics/analytics.service.mjs +63 -0
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +473 -0
- package/esm2020/async-search-dropdown/async-dropdown.module.mjs +22 -0
- package/esm2020/button/button.component.mjs +87 -0
- package/esm2020/button/button.directive.mjs +61 -0
- package/esm2020/button/button.module.mjs +23 -0
- package/esm2020/checkbox/checkbox.component.mjs +124 -0
- package/esm2020/checkbox/checkbox.module.mjs +23 -0
- package/esm2020/chip/chip.component.mjs +82 -0
- package/esm2020/chip/chip.module.mjs +22 -0
- package/esm2020/datepicker_v2/datepicker.module.mjs +24 -0
- package/esm2020/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +5 -0
- package/esm2020/datepicker_v2/public_api.mjs +4 -0
- package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +164 -0
- package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +245 -0
- package/esm2020/daterangepicker_v2/daterangepicker.module.mjs +25 -0
- package/esm2020/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +5 -0
- package/esm2020/daterangepicker_v2/public_api.mjs +4 -0
- package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +135 -0
- package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +364 -0
- package/esm2020/drawer/drawer-body/drawer-body.component.mjs +58 -0
- package/esm2020/drawer/drawer.module.mjs +33 -0
- package/esm2020/drawer/drawer.service.mjs +56 -0
- package/esm2020/drawer/mis-crystal-design-system-drawer.mjs +5 -0
- package/esm2020/dropdown/calculate-container-height.directive.mjs +41 -0
- package/esm2020/dropdown/dropdown.component.mjs +410 -0
- package/esm2020/dropdown/dropdown.module.mjs +27 -0
- package/esm2020/dropdown/mis-crystal-design-system-dropdown.mjs +5 -0
- package/esm2020/dynamic-form/dynamic-form.component.mjs +712 -0
- package/esm2020/dynamic-form/dynamic-form.module.mjs +56 -0
- package/esm2020/fab/fab.component.mjs +144 -0
- package/esm2020/fab/fab.module.mjs +22 -0
- package/esm2020/input/directives/input/input.directive.mjs +40 -0
- package/esm2020/input/mis-input.component.mjs +84 -0
- package/esm2020/input/mis-input.module.mjs +21 -0
- package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +74 -0
- package/esm2020/input-stepper/input-stepper.module.mjs +25 -0
- package/esm2020/loader/loader.component.mjs +24 -0
- package/esm2020/loader/loader.module.mjs +22 -0
- package/esm2020/menu/menu-close.directive.mjs +25 -0
- package/esm2020/menu/menu.directive.mjs +77 -0
- package/esm2020/menu/menu.module.mjs +23 -0
- package/esm2020/mobile-filter/mobile-filter.component.mjs +179 -0
- package/esm2020/mobile-filter/mobile-filter.module.mjs +21 -0
- package/esm2020/modal/mis-crystal-design-system-modal.mjs +5 -0
- package/esm2020/modal/modal.module.mjs +33 -0
- package/esm2020/modal/modal.service.mjs +70 -0
- package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +55 -0
- package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +483 -0
- package/esm2020/multi-select-dropdown/multi-select-dropdown.module.mjs +26 -0
- package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +510 -0
- package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +26 -0
- package/esm2020/phone-input/phone-input.component.mjs +115 -0
- package/esm2020/phone-input/phone-input.module.mjs +27 -0
- package/esm2020/radio-button/radio-button.component.mjs +56 -0
- package/esm2020/radio-button/radio-button.module.mjs +23 -0
- package/esm2020/ske-loader/ske-loader.component.mjs +53 -0
- package/esm2020/ske-loader/ske-loader.module.mjs +19 -0
- package/esm2020/slider/slider.component.mjs +45 -0
- package/esm2020/slider/slider.module.mjs +30 -0
- package/esm2020/snackbar/snackbar/snackbar.component.mjs +72 -0
- package/esm2020/snackbar/snackbar.module.mjs +36 -0
- package/esm2020/snackbar/snackbar.service.mjs +47 -0
- package/esm2020/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +5 -0
- package/esm2020/specificdatepicker/public_api.mjs +4 -0
- package/esm2020/specificdatepicker/specificdatepicker.module.mjs +27 -0
- package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +619 -0
- package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
- package/esm2020/star-rating/star-rating.component.mjs +112 -0
- package/esm2020/star-rating/star-rating.module.mjs +19 -0
- package/esm2020/switch/switch.component.mjs +55 -0
- package/esm2020/switch/switch.module.mjs +23 -0
- package/esm2020/table/custom-table-cell.directive.mjs +42 -0
- package/esm2020/table/filter/filter.component.mjs +168 -0
- package/esm2020/table/mis-crystal-design-system-table.mjs +5 -0
- package/esm2020/table/public_api.mjs +6 -0
- package/esm2020/table/sub-table/sub-table.component.mjs +193 -0
- package/esm2020/table/table.component.mjs +476 -0
- package/esm2020/table/table.module.mjs +27 -0
- package/esm2020/timepicker/mis-crystal-design-system-timepicker.mjs +5 -0
- package/esm2020/timepicker/timepicker.component.mjs +339 -0
- package/esm2020/timepicker/timepicker.directive.mjs +65 -0
- package/esm2020/timepicker/timepicker.module.mjs +26 -0
- package/esm2020/timerangepicker/timerangepicker.component.mjs +227 -0
- package/esm2020/timerangepicker/timerangepicker.module.mjs +24 -0
- package/esm2020/toast/toast.component.mjs +50 -0
- package/{esm2015/toast/toast.data.service.js → esm2020/toast/toast.data.service.mjs} +8 -7
- package/esm2020/toast/toast.module.mjs +33 -0
- package/esm2020/toast/toast.service.mjs +91 -0
- package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +78 -0
- package/esm2020/tooltip/tooltip.directive.mjs +137 -0
- package/esm2020/tooltip/tooltip.module.mjs +24 -0
- package/esm2020/virtual-scroll/virtual-scroll.component.mjs +190 -0
- package/esm2020/virtual-scroll/virtual-scroll.module.mjs +34 -0
- package/{esm2015/widgets/classes/base-widget.js → esm2020/widgets/classes/base-widget.mjs} +2 -2
- package/esm2020/widgets/classes/widget-group.mjs +32 -0
- package/esm2020/widgets/services/widget.service.mjs +18 -0
- package/esm2020/widgets/widgets.module.mjs +18 -0
- package/fab/fab.component.d.ts +3 -0
- package/fab/fab.module.d.ts +6 -0
- package/fesm2015/mis-crystal-design-system-action-list.mjs +446 -0
- package/fesm2015/mis-crystal-design-system-action-list.mjs.map +1 -0
- package/fesm2015/{mis-crystal-design-system-analytics.js → mis-crystal-design-system-analytics.mjs} +26 -14
- package/fesm2015/mis-crystal-design-system-analytics.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +563 -0
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-button.mjs +189 -0
- package/fesm2015/mis-crystal-design-system-button.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-checkbox.mjs +166 -0
- package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-chip.mjs +123 -0
- package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +501 -0
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +599 -0
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-drawer.mjs +185 -0
- package/fesm2015/mis-crystal-design-system-drawer.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +536 -0
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +867 -0
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-fab.mjs +186 -0
- package/fesm2015/mis-crystal-design-system-fab.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs +110 -0
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-input.mjs +165 -0
- package/fesm2015/mis-crystal-design-system-input.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-loader.mjs +57 -0
- package/fesm2015/mis-crystal-design-system-loader.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-menu.mjs +135 -0
- package/fesm2015/mis-crystal-design-system-menu.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +225 -0
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-modal.mjs +184 -0
- package/fesm2015/mis-crystal-design-system-modal.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +542 -0
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +552 -0
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-phone-input.mjs +151 -0
- package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-radio-button.mjs +89 -0
- package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs +86 -0
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-slider.mjs +88 -0
- package/fesm2015/mis-crystal-design-system-slider.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-snackbar.mjs +175 -0
- package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +942 -0
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-star-rating.mjs +145 -0
- package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-styles.mjs +4 -0
- package/fesm2015/mis-crystal-design-system-styles.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-switch.mjs +88 -0
- package/fesm2015/mis-crystal-design-system-switch.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-table.mjs +1017 -0
- package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-timepicker.mjs +448 -0
- package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +264 -0
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-toast.mjs +214 -0
- package/fesm2015/mis-crystal-design-system-toast.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-tooltip.mjs +265 -0
- package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +1 -0
- package/fesm2015/{mis-crystal-design-system-utils.js → mis-crystal-design-system-utils.mjs} +1 -1
- package/fesm2015/mis-crystal-design-system-utils.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +259 -0
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
- package/fesm2015/{mis-crystal-design-system-widgets.js → mis-crystal-design-system-widgets.mjs} +16 -8
- package/fesm2015/mis-crystal-design-system-widgets.mjs.map +1 -0
- package/fesm2015/{mis-crystal-design-system.js → mis-crystal-design-system.mjs} +1 -1
- package/fesm2015/mis-crystal-design-system.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-action-list.mjs +398 -0
- package/fesm2020/mis-crystal-design-system-action-list.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-analytics.mjs +85 -0
- package/fesm2020/mis-crystal-design-system-analytics.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +497 -0
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-button.mjs +172 -0
- package/fesm2020/mis-crystal-design-system-button.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-checkbox.mjs +150 -0
- package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-chip.mjs +108 -0
- package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs +477 -0
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +567 -0
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
- package/{fesm2015/mis-crystal-design-system-drawer.js → fesm2020/mis-crystal-design-system-drawer.mjs} +55 -36
- package/fesm2020/mis-crystal-design-system-drawer.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-dropdown.mjs +477 -0
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +770 -0
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-fab.mjs +170 -0
- package/fesm2020/mis-crystal-design-system-fab.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-input-stepper.mjs +103 -0
- package/fesm2020/mis-crystal-design-system-input-stepper.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-input.mjs +145 -0
- package/fesm2020/mis-crystal-design-system-input.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-loader.mjs +50 -0
- package/fesm2020/mis-crystal-design-system-loader.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-menu.mjs +124 -0
- package/fesm2020/mis-crystal-design-system-menu.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +204 -0
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-modal.mjs +172 -0
- package/fesm2020/mis-crystal-design-system-modal.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs +512 -0
- package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs +539 -0
- package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-phone-input.mjs +144 -0
- package/fesm2020/mis-crystal-design-system-phone-input.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-radio-button.mjs +82 -0
- package/fesm2020/mis-crystal-design-system-radio-button.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs +76 -0
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-slider.mjs +79 -0
- package/fesm2020/mis-crystal-design-system-slider.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-snackbar.mjs +155 -0
- package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs +884 -0
- package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-star-rating.mjs +135 -0
- package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-styles.mjs +4 -0
- package/fesm2020/mis-crystal-design-system-styles.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-switch.mjs +81 -0
- package/fesm2020/mis-crystal-design-system-switch.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-table.mjs +895 -0
- package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-timepicker.mjs +425 -0
- package/fesm2020/mis-crystal-design-system-timepicker.mjs.map +1 -0
- package/{fesm2015/mis-crystal-design-system-timerangepicker.js → fesm2020/mis-crystal-design-system-timerangepicker.mjs} +73 -36
- package/fesm2020/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-toast.mjs +198 -0
- package/fesm2020/mis-crystal-design-system-toast.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-tooltip.mjs +238 -0
- package/fesm2020/mis-crystal-design-system-tooltip.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-utils.mjs +24 -0
- package/fesm2020/mis-crystal-design-system-utils.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs +229 -0
- package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-widgets.mjs +129 -0
- package/fesm2020/mis-crystal-design-system-widgets.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system.mjs +24 -0
- package/fesm2020/mis-crystal-design-system.mjs.map +1 -0
- package/input/directives/input/input.directive.d.ts +3 -0
- package/input/mis-input.component.d.ts +3 -0
- package/input/mis-input.module.d.ts +8 -0
- package/input-stepper/input-stepper/input-stepper.component.d.ts +3 -0
- package/input-stepper/input-stepper.module.d.ts +6 -0
- package/loader/loader.component.d.ts +3 -0
- package/loader/loader.module.d.ts +6 -0
- package/menu/menu-close.directive.d.ts +3 -0
- package/menu/menu.directive.d.ts +3 -0
- package/menu/menu.module.d.ts +9 -1
- package/mobile-filter/mobile-filter.component.d.ts +3 -0
- package/mobile-filter/mobile-filter.module.d.ts +8 -0
- package/modal/modal.module.d.ts +8 -0
- package/modal/modal.service.d.ts +3 -0
- package/modal/module-wrapper/module-wrapper.component.d.ts +3 -0
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +4 -0
- package/multi-select-dropdown/multi-select-dropdown.module.d.ts +10 -0
- package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +3 -0
- package/nested-multi-select-dropdown/nested-multi-select-dropdown.module.d.ts +10 -0
- package/package.json +320 -9
- package/phone-input/phone-input.component.d.ts +5 -2
- package/phone-input/phone-input.module.d.ts +10 -0
- package/radio-button/radio-button.component.d.ts +3 -0
- package/radio-button/radio-button.module.d.ts +7 -0
- package/ske-loader/ske-loader.component.d.ts +3 -0
- package/ske-loader/ske-loader.module.d.ts +6 -0
- package/slider/slider.component.d.ts +6 -3
- package/slider/slider.module.d.ts +7 -0
- package/snackbar/snackbar/snackbar.component.d.ts +3 -0
- package/snackbar/snackbar.module.d.ts +6 -0
- package/snackbar/snackbar.service.d.ts +5 -2
- package/specificdatepicker/public_api.d.ts +1 -0
- package/specificdatepicker/specificdatepicker.module.d.ts +12 -0
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +5 -2
- package/specificdatepicker/tz-specificdatepicker.directive.d.ts +3 -0
- package/star-rating/star-rating.component.d.ts +3 -0
- package/star-rating/star-rating.module.d.ts +6 -0
- package/switch/switch.component.d.ts +3 -0
- package/switch/switch.module.d.ts +7 -0
- package/table/custom-table-cell.directive.d.ts +3 -0
- package/table/filter/filter.component.d.ts +3 -0
- package/table/public_api.d.ts +1 -0
- package/table/sub-table/sub-table.component.d.ts +3 -0
- package/table/table.component.d.ts +3 -0
- package/table/table.module.d.ts +11 -0
- package/timepicker/timepicker.component.d.ts +3 -0
- package/timepicker/timepicker.directive.d.ts +3 -0
- package/timepicker/timepicker.module.d.ts +10 -0
- package/timerangepicker/timerangepicker.component.d.ts +3 -0
- package/timerangepicker/timerangepicker.module.d.ts +8 -0
- package/toast/toast.component.d.ts +3 -0
- package/toast/toast.data.service.d.ts +3 -0
- package/toast/toast.module.d.ts +7 -0
- package/toast/toast.service.d.ts +3 -0
- package/tooltip/tooltip-container/tooltip.component.d.ts +3 -0
- package/tooltip/tooltip.directive.d.ts +3 -0
- package/tooltip/tooltip.module.d.ts +8 -0
- package/virtual-scroll/virtual-scroll.component.d.ts +3 -0
- package/virtual-scroll/virtual-scroll.module.d.ts +8 -0
- package/widgets/services/widget.service.d.ts +3 -0
- package/widgets/widgets.module.d.ts +5 -0
- package/action-list/mis-crystal-design-system-action-list.d.ts +0 -4
- package/action-list/mis-crystal-design-system-action-list.metadata.json +0 -1
- package/action-list/package.json +0 -11
- package/analytics/mis-crystal-design-system-analytics.d.ts +0 -4
- package/analytics/mis-crystal-design-system-analytics.metadata.json +0 -1
- package/analytics/package.json +0 -11
- package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.d.ts +0 -4
- package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.metadata.json +0 -1
- package/async-search-dropdown/package.json +0 -11
- package/bundles/mis-crystal-design-system-action-list.umd.js +0 -509
- package/bundles/mis-crystal-design-system-action-list.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-action-list.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-action-list.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-analytics.umd.js +0 -422
- package/bundles/mis-crystal-design-system-analytics.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-analytics.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-analytics.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +0 -279
- package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-button.umd.js +0 -134
- package/bundles/mis-crystal-design-system-button.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-button.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-button.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-checkbox.umd.js +0 -127
- package/bundles/mis-crystal-design-system-checkbox.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-checkbox.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-checkbox.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-chip.umd.js +0 -64
- package/bundles/mis-crystal-design-system-chip.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-chip.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-chip.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +0 -706
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js +0 -464
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-drawer.umd.js +0 -169
- package/bundles/mis-crystal-design-system-drawer.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-drawer.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-drawer.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-dropdown.umd.js +0 -558
- package/bundles/mis-crystal-design-system-dropdown.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-dropdown.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-dynamic-form.umd.js +0 -740
- package/bundles/mis-crystal-design-system-dynamic-form.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-dynamic-form.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-dynamic-form.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-fab.umd.js +0 -95
- package/bundles/mis-crystal-design-system-fab.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-fab.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-fab.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-input-stepper.umd.js +0 -85
- package/bundles/mis-crystal-design-system-input-stepper.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-input-stepper.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-input-stepper.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-input.umd.js +0 -116
- package/bundles/mis-crystal-design-system-input.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-input.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-input.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-loader.umd.js +0 -53
- package/bundles/mis-crystal-design-system-loader.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-loader.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-loader.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-menu.umd.js +0 -119
- package/bundles/mis-crystal-design-system-menu.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-menu.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-menu.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-mobile-filter.umd.js +0 -89
- package/bundles/mis-crystal-design-system-mobile-filter.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-mobile-filter.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-mobile-filter.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-modal.umd.js +0 -161
- package/bundles/mis-crystal-design-system-modal.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-modal.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-modal.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js +0 -623
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-multi-select-dropdown.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js +0 -636
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-nested-multi-select-dropdown.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-phone-input.umd.js +0 -117
- package/bundles/mis-crystal-design-system-phone-input.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-phone-input.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-phone-input.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-radio-button.umd.js +0 -77
- package/bundles/mis-crystal-design-system-radio-button.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-radio-button.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-radio-button.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-ske-loader.umd.js +0 -65
- package/bundles/mis-crystal-design-system-ske-loader.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-ske-loader.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-ske-loader.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-slider.umd.js +0 -73
- package/bundles/mis-crystal-design-system-slider.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-slider.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-slider.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-snackbar.umd.js +0 -114
- package/bundles/mis-crystal-design-system-snackbar.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-snackbar.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-snackbar.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.js +0 -977
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-specificdatepicker.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-star-rating.umd.js +0 -112
- package/bundles/mis-crystal-design-system-star-rating.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-star-rating.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-star-rating.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-styles.umd.js +0 -11
- package/bundles/mis-crystal-design-system-styles.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-styles.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-styles.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-switch.umd.js +0 -79
- package/bundles/mis-crystal-design-system-switch.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-switch.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-switch.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-table.umd.js +0 -784
- package/bundles/mis-crystal-design-system-table.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-table.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-table.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-timepicker.umd.js +0 -688
- package/bundles/mis-crystal-design-system-timepicker.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-timepicker.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-timepicker.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-timerangepicker.umd.js +0 -248
- package/bundles/mis-crystal-design-system-timerangepicker.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-timerangepicker.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-timerangepicker.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-toast.umd.js +0 -202
- package/bundles/mis-crystal-design-system-toast.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-toast.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-toast.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.js +0 -214
- package/bundles/mis-crystal-design-system-tooltip.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-utils.umd.js +0 -33
- package/bundles/mis-crystal-design-system-utils.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-utils.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system-utils.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.js +0 -471
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-virtual-scroll.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system-widgets.umd.js +0 -478
- package/bundles/mis-crystal-design-system-widgets.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system-widgets.umd.min.js +0 -16
- package/bundles/mis-crystal-design-system-widgets.umd.min.js.map +0 -1
- package/bundles/mis-crystal-design-system.umd.js +0 -31
- package/bundles/mis-crystal-design-system.umd.js.map +0 -1
- package/bundles/mis-crystal-design-system.umd.min.js +0 -2
- package/bundles/mis-crystal-design-system.umd.min.js.map +0 -1
- package/button/mis-crystal-design-system-button.d.ts +0 -4
- package/button/mis-crystal-design-system-button.metadata.json +0 -1
- package/button/package.json +0 -11
- package/checkbox/mis-crystal-design-system-checkbox.d.ts +0 -4
- package/checkbox/mis-crystal-design-system-checkbox.metadata.json +0 -1
- package/checkbox/package.json +0 -11
- package/chip/mis-crystal-design-system-chip.d.ts +0 -4
- package/chip/mis-crystal-design-system-chip.metadata.json +0 -1
- package/chip/package.json +0 -11
- package/datepicker_v2/mis-crystal-design-system-datepicker_v2.d.ts +0 -7
- package/datepicker_v2/mis-crystal-design-system-datepicker_v2.metadata.json +0 -1
- package/datepicker_v2/package.json +0 -11
- package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.d.ts +0 -7
- package/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.metadata.json +0 -1
- package/daterangepicker_v2/package.json +0 -11
- package/drawer/mis-crystal-design-system-drawer.d.ts +0 -5
- package/drawer/mis-crystal-design-system-drawer.metadata.json +0 -1
- package/drawer/package.json +0 -11
- package/dropdown/mis-crystal-design-system-dropdown.d.ts +0 -5
- package/dropdown/mis-crystal-design-system-dropdown.metadata.json +0 -1
- package/dropdown/package.json +0 -11
- package/dynamic-form/mis-crystal-design-system-dynamic-form.d.ts +0 -4
- package/dynamic-form/mis-crystal-design-system-dynamic-form.metadata.json +0 -1
- package/dynamic-form/package.json +0 -11
- package/esm2015/action-list/action-list.component.js +0 -161
- package/esm2015/action-list/action-list.module.js +0 -19
- package/esm2015/analytics/analytics.module.js +0 -14
- package/esm2015/analytics/analytics.service.js +0 -62
- package/esm2015/async-search-dropdown/async-dropdown.component.js +0 -243
- package/esm2015/async-search-dropdown/async-dropdown.module.js +0 -16
- package/esm2015/button/button.component.js +0 -43
- package/esm2015/button/button.directive.js +0 -57
- package/esm2015/button/button.module.js +0 -17
- package/esm2015/checkbox/checkbox.component.js +0 -79
- package/esm2015/checkbox/checkbox.module.js +0 -17
- package/esm2015/chip/chip.component.js +0 -31
- package/esm2015/chip/chip.module.js +0 -16
- package/esm2015/datepicker_v2/datepicker.module.js +0 -18
- package/esm2015/datepicker_v2/mis-crystal-design-system-datepicker_v2.js +0 -7
- package/esm2015/datepicker_v2/public_api.js +0 -3
- package/esm2015/datepicker_v2/tz-datepicker.directive.js +0 -144
- package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +0 -149
- package/esm2015/daterangepicker_v2/daterangepicker.module.js +0 -18
- package/esm2015/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.js +0 -7
- package/esm2015/daterangepicker_v2/public_api.js +0 -3
- package/esm2015/daterangepicker_v2/tz-daterangepicker.directive.js +0 -123
- package/esm2015/daterangepicker_v2/tz-drp-container/tz-drp-container.component.js +0 -226
- package/esm2015/drawer/drawer-body/drawer-body.component.js +0 -41
- package/esm2015/drawer/drawer.module.js +0 -28
- package/esm2015/drawer/drawer.service.js +0 -59
- package/esm2015/drawer/mis-crystal-design-system-drawer.js +0 -6
- package/esm2015/dropdown/calculate-container-height.directive.js +0 -40
- package/esm2015/dropdown/dropdown.component.js +0 -169
- package/esm2015/dropdown/dropdown.module.js +0 -21
- package/esm2015/dropdown/mis-crystal-design-system-dropdown.js +0 -6
- package/esm2015/dynamic-form/dynamic-form.component.js +0 -308
- package/esm2015/dynamic-form/dynamic-form.module.js +0 -34
- package/esm2015/fab/fab.component.js +0 -63
- package/esm2015/fab/fab.module.js +0 -16
- package/esm2015/input/directives/input/input.directive.js +0 -38
- package/esm2015/input/mis-input.component.js +0 -45
- package/esm2015/input/mis-input.module.js +0 -15
- package/esm2015/input-stepper/input-stepper/input-stepper.component.js +0 -49
- package/esm2015/input-stepper/input-stepper.module.js +0 -19
- package/esm2015/loader/loader.component.js +0 -20
- package/esm2015/loader/loader.module.js +0 -16
- package/esm2015/menu/menu-close.directive.js +0 -18
- package/esm2015/menu/menu.directive.js +0 -70
- package/esm2015/menu/menu.module.js +0 -17
- package/esm2015/mobile-filter/mobile-filter.component.js +0 -54
- package/esm2015/mobile-filter/mobile-filter.module.js +0 -15
- package/esm2015/modal/mis-crystal-design-system-modal.js +0 -6
- package/esm2015/modal/modal.module.js +0 -28
- package/esm2015/modal/modal.service.js +0 -72
- package/esm2015/modal/module-wrapper/module-wrapper.component.js +0 -33
- package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +0 -269
- package/esm2015/multi-select-dropdown/multi-select-dropdown.module.js +0 -20
- package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +0 -265
- package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.module.js +0 -20
- package/esm2015/phone-input/phone-input.component.js +0 -85
- package/esm2015/phone-input/phone-input.module.js +0 -21
- package/esm2015/radio-button/radio-button.component.js +0 -45
- package/esm2015/radio-button/radio-button.module.js +0 -17
- package/esm2015/ske-loader/ske-loader.component.js +0 -31
- package/esm2015/ske-loader/ske-loader.module.js +0 -13
- package/esm2015/slider/slider.component.js +0 -38
- package/esm2015/slider/slider.module.js +0 -20
- package/esm2015/snackbar/snackbar/snackbar.component.js +0 -22
- package/esm2015/snackbar/snackbar.module.js +0 -31
- package/esm2015/snackbar/snackbar.service.js +0 -48
- package/esm2015/specificdatepicker/mis-crystal-design-system-specificdatepicker.js +0 -7
- package/esm2015/specificdatepicker/public_api.js +0 -3
- package/esm2015/specificdatepicker/specificdatepicker.module.js +0 -20
- package/esm2015/specificdatepicker/tz-sdp-container/tz-sdp-container.component.js +0 -356
- package/esm2015/specificdatepicker/tz-specificdatepicker.directive.js +0 -179
- package/esm2015/star-rating/star-rating.component.js +0 -78
- package/esm2015/star-rating/star-rating.module.js +0 -13
- package/esm2015/switch/switch.component.js +0 -39
- package/esm2015/switch/switch.module.js +0 -17
- package/esm2015/table/custom-table-cell.directive.js +0 -42
- package/esm2015/table/filter/filter.component.js +0 -75
- package/esm2015/table/mis-crystal-design-system-table.js +0 -6
- package/esm2015/table/public_api.js +0 -5
- package/esm2015/table/sub-table/sub-table.component.js +0 -69
- package/esm2015/table/table.component.js +0 -200
- package/esm2015/table/table.module.js +0 -21
- package/esm2015/timepicker/mis-crystal-design-system-timepicker.js +0 -6
- package/esm2015/timepicker/timepicker.component.js +0 -248
- package/esm2015/timepicker/timepicker.directive.js +0 -62
- package/esm2015/timepicker/timepicker.module.js +0 -20
- package/esm2015/timerangepicker/timerangepicker.component.js +0 -194
- package/esm2015/timerangepicker/timerangepicker.module.js +0 -18
- package/esm2015/toast/toast.component.js +0 -28
- package/esm2015/toast/toast.module.js +0 -28
- package/esm2015/toast/toast.service.js +0 -96
- package/esm2015/tooltip/tooltip-container/tooltip.component.js +0 -35
- package/esm2015/tooltip/tooltip.directive.js +0 -128
- package/esm2015/tooltip/tooltip.module.js +0 -19
- package/esm2015/virtual-scroll/virtual-scroll.component.js +0 -111
- package/esm2015/virtual-scroll/virtual-scroll.module.js +0 -24
- package/esm2015/widgets/classes/widget-group.js +0 -32
- package/esm2015/widgets/services/widget.service.js +0 -16
- package/esm2015/widgets/widgets.module.js +0 -12
- package/fab/mis-crystal-design-system-fab.d.ts +0 -4
- package/fab/mis-crystal-design-system-fab.metadata.json +0 -1
- package/fab/package.json +0 -11
- package/fesm2015/mis-crystal-design-system-action-list.js +0 -184
- package/fesm2015/mis-crystal-design-system-action-list.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-analytics.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +0 -262
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-button.js +0 -120
- package/fesm2015/mis-crystal-design-system-button.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-checkbox.js +0 -100
- package/fesm2015/mis-crystal-design-system-checkbox.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-chip.js +0 -52
- package/fesm2015/mis-crystal-design-system-chip.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js +0 -357
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js +0 -413
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-drawer.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-dropdown.js +0 -232
- package/fesm2015/mis-crystal-design-system-dropdown.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.js +0 -346
- package/fesm2015/mis-crystal-design-system-dynamic-form.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-fab.js +0 -84
- package/fesm2015/mis-crystal-design-system-fab.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-input-stepper.js +0 -73
- package/fesm2015/mis-crystal-design-system-input-stepper.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-input.js +0 -99
- package/fesm2015/mis-crystal-design-system-input.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-loader.js +0 -41
- package/fesm2015/mis-crystal-design-system-loader.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-menu.js +0 -106
- package/fesm2015/mis-crystal-design-system-menu.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-mobile-filter.js +0 -74
- package/fesm2015/mis-crystal-design-system-mobile-filter.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-modal.js +0 -147
- package/fesm2015/mis-crystal-design-system-modal.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js +0 -293
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js +0 -289
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-phone-input.js +0 -109
- package/fesm2015/mis-crystal-design-system-phone-input.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-radio-button.js +0 -66
- package/fesm2015/mis-crystal-design-system-radio-button.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-ske-loader.js +0 -49
- package/fesm2015/mis-crystal-design-system-ske-loader.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-slider.js +0 -62
- package/fesm2015/mis-crystal-design-system-slider.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-snackbar.js +0 -101
- package/fesm2015/mis-crystal-design-system-snackbar.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-specificdatepicker.js +0 -599
- package/fesm2015/mis-crystal-design-system-specificdatepicker.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-star-rating.js +0 -96
- package/fesm2015/mis-crystal-design-system-star-rating.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-styles.js +0 -4
- package/fesm2015/mis-crystal-design-system-styles.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-switch.js +0 -60
- package/fesm2015/mis-crystal-design-system-switch.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-table.js +0 -406
- package/fesm2015/mis-crystal-design-system-table.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-timepicker.js +0 -330
- package/fesm2015/mis-crystal-design-system-timepicker.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-timerangepicker.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-toast.js +0 -174
- package/fesm2015/mis-crystal-design-system-toast.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-tooltip.js +0 -183
- package/fesm2015/mis-crystal-design-system-tooltip.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-utils.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-virtual-scroll.js +0 -141
- package/fesm2015/mis-crystal-design-system-virtual-scroll.js.map +0 -1
- package/fesm2015/mis-crystal-design-system-widgets.js.map +0 -1
- package/fesm2015/mis-crystal-design-system.js.map +0 -1
- package/input/mis-crystal-design-system-input.d.ts +0 -4
- package/input/mis-crystal-design-system-input.metadata.json +0 -1
- package/input/package.json +0 -11
- package/input-stepper/mis-crystal-design-system-input-stepper.d.ts +0 -4
- package/input-stepper/mis-crystal-design-system-input-stepper.metadata.json +0 -1
- package/input-stepper/package.json +0 -11
- package/loader/mis-crystal-design-system-loader.d.ts +0 -4
- package/loader/mis-crystal-design-system-loader.metadata.json +0 -1
- package/loader/package.json +0 -11
- package/menu/mis-crystal-design-system-menu.d.ts +0 -4
- package/menu/mis-crystal-design-system-menu.metadata.json +0 -1
- package/menu/package.json +0 -11
- package/mis-crystal-design-system.d.ts +0 -4
- package/mis-crystal-design-system.metadata.json +0 -1
- package/mobile-filter/mis-crystal-design-system-mobile-filter.d.ts +0 -4
- package/mobile-filter/mis-crystal-design-system-mobile-filter.metadata.json +0 -1
- package/mobile-filter/package.json +0 -11
- package/modal/mis-crystal-design-system-modal.d.ts +0 -5
- package/modal/mis-crystal-design-system-modal.metadata.json +0 -1
- package/modal/package.json +0 -11
- package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.d.ts +0 -4
- package/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.metadata.json +0 -1
- package/multi-select-dropdown/package.json +0 -11
- package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.d.ts +0 -4
- package/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.metadata.json +0 -1
- package/nested-multi-select-dropdown/package.json +0 -11
- package/phone-input/mis-crystal-design-system-phone-input.d.ts +0 -4
- package/phone-input/mis-crystal-design-system-phone-input.metadata.json +0 -1
- package/phone-input/package.json +0 -11
- package/radio-button/mis-crystal-design-system-radio-button.d.ts +0 -4
- package/radio-button/mis-crystal-design-system-radio-button.metadata.json +0 -1
- package/radio-button/package.json +0 -11
- package/ske-loader/mis-crystal-design-system-ske-loader.d.ts +0 -4
- package/ske-loader/mis-crystal-design-system-ske-loader.metadata.json +0 -1
- package/ske-loader/package.json +0 -11
- package/slider/mis-crystal-design-system-slider.d.ts +0 -4
- package/slider/mis-crystal-design-system-slider.metadata.json +0 -1
- package/slider/package.json +0 -11
- package/snackbar/mis-crystal-design-system-snackbar.d.ts +0 -4
- package/snackbar/mis-crystal-design-system-snackbar.metadata.json +0 -1
- package/snackbar/package.json +0 -11
- package/specificdatepicker/mis-crystal-design-system-specificdatepicker.d.ts +0 -7
- package/specificdatepicker/mis-crystal-design-system-specificdatepicker.metadata.json +0 -1
- package/specificdatepicker/package.json +0 -11
- package/star-rating/mis-crystal-design-system-star-rating.d.ts +0 -4
- package/star-rating/mis-crystal-design-system-star-rating.metadata.json +0 -1
- package/star-rating/package.json +0 -11
- package/styles/mis-crystal-design-system-styles.d.ts +0 -4
- package/styles/mis-crystal-design-system-styles.metadata.json +0 -1
- package/styles/package.json +0 -11
- package/switch/mis-crystal-design-system-switch.d.ts +0 -4
- package/switch/mis-crystal-design-system-switch.metadata.json +0 -1
- package/switch/package.json +0 -11
- package/table/mis-crystal-design-system-table.d.ts +0 -5
- package/table/mis-crystal-design-system-table.metadata.json +0 -1
- package/table/package.json +0 -11
- package/timepicker/mis-crystal-design-system-timepicker.d.ts +0 -5
- package/timepicker/mis-crystal-design-system-timepicker.metadata.json +0 -1
- package/timepicker/package.json +0 -11
- package/timerangepicker/mis-crystal-design-system-timerangepicker.d.ts +0 -4
- package/timerangepicker/mis-crystal-design-system-timerangepicker.metadata.json +0 -1
- package/timerangepicker/package.json +0 -11
- package/toast/mis-crystal-design-system-toast.d.ts +0 -4
- package/toast/mis-crystal-design-system-toast.metadata.json +0 -1
- package/toast/package.json +0 -11
- package/tooltip/mis-crystal-design-system-tooltip.d.ts +0 -4
- package/tooltip/mis-crystal-design-system-tooltip.metadata.json +0 -1
- package/tooltip/package.json +0 -11
- package/utils/mis-crystal-design-system-utils.d.ts +0 -4
- package/utils/mis-crystal-design-system-utils.metadata.json +0 -1
- package/utils/package.json +0 -11
- package/virtual-scroll/mis-crystal-design-system-virtual-scroll.d.ts +0 -4
- package/virtual-scroll/mis-crystal-design-system-virtual-scroll.metadata.json +0 -1
- package/virtual-scroll/package.json +0 -11
- package/widgets/mis-crystal-design-system-widgets.d.ts +0 -4
- package/widgets/mis-crystal-design-system-widgets.metadata.json +0 -1
- package/widgets/package.json +0 -11
- /package/{esm2015/action-list/index.js → esm2020/action-list/index.mjs} +0 -0
- /package/{esm2015/action-list/mis-crystal-design-system-action-list.js → esm2020/action-list/mis-crystal-design-system-action-list.mjs} +0 -0
- /package/{esm2015/action-list/public_api.js → esm2020/action-list/public_api.mjs} +0 -0
- /package/{esm2015/analytics/index.js → esm2020/analytics/index.mjs} +0 -0
- /package/{esm2015/analytics/mis-crystal-design-system-analytics.js → esm2020/analytics/mis-crystal-design-system-analytics.mjs} +0 -0
- /package/{esm2015/analytics/public_api.js → esm2020/analytics/public_api.mjs} +0 -0
- /package/{esm2015/async-search-dropdown/index.js → esm2020/async-search-dropdown/index.mjs} +0 -0
- /package/{esm2015/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.js → esm2020/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs} +0 -0
- /package/{esm2015/async-search-dropdown/public_api.js → esm2020/async-search-dropdown/public_api.mjs} +0 -0
- /package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
- /package/{esm2015/button/mis-crystal-design-system-button.js → esm2020/button/mis-crystal-design-system-button.mjs} +0 -0
- /package/{esm2015/button/public_api.js → esm2020/button/public_api.mjs} +0 -0
- /package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
- /package/{esm2015/checkbox/mis-crystal-design-system-checkbox.js → esm2020/checkbox/mis-crystal-design-system-checkbox.mjs} +0 -0
- /package/{esm2015/checkbox/public_api.js → esm2020/checkbox/public_api.mjs} +0 -0
- /package/{esm2015/chip/index.js → esm2020/chip/index.mjs} +0 -0
- /package/{esm2015/chip/mis-crystal-design-system-chip.js → esm2020/chip/mis-crystal-design-system-chip.mjs} +0 -0
- /package/{esm2015/chip/public_api.js → esm2020/chip/public_api.mjs} +0 -0
- /package/{esm2015/datepicker_v2/datepicker-constants.js → esm2020/datepicker_v2/datepicker-constants.mjs} +0 -0
- /package/{esm2015/datepicker_v2/index.js → esm2020/datepicker_v2/index.mjs} +0 -0
- /package/{esm2015/datepicker_v2/models/dp-config.model.js → esm2020/datepicker_v2/models/dp-config.model.mjs} +0 -0
- /package/{esm2015/datepicker_v2/utils/index.js → esm2020/datepicker_v2/utils/index.mjs} +0 -0
- /package/{esm2015/daterangepicker_v2/daterangepicker-constants.js → esm2020/daterangepicker_v2/daterangepicker-constants.mjs} +0 -0
- /package/{esm2015/daterangepicker_v2/index.js → esm2020/daterangepicker_v2/index.mjs} +0 -0
- /package/{esm2015/daterangepicker_v2/models/drp-config.model.js → esm2020/daterangepicker_v2/models/drp-config.model.mjs} +0 -0
- /package/{esm2015/daterangepicker_v2/utils/index.js → esm2020/daterangepicker_v2/utils/index.mjs} +0 -0
- /package/{esm2015/drawer/drawer-constants.js → esm2020/drawer/drawer-constants.mjs} +0 -0
- /package/{esm2015/drawer/drawer-ref.js → esm2020/drawer/drawer-ref.mjs} +0 -0
- /package/{esm2015/drawer/index.js → esm2020/drawer/index.mjs} +0 -0
- /package/{esm2015/drawer/public_api.js → esm2020/drawer/public_api.mjs} +0 -0
- /package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
- /package/{esm2015/dropdown/public_api.js → esm2020/dropdown/public_api.mjs} +0 -0
- /package/{esm2015/dynamic-form/dynamic-form.namespace.js → esm2020/dynamic-form/dynamic-form.namespace.mjs} +0 -0
- /package/{esm2015/dynamic-form/index.js → esm2020/dynamic-form/index.mjs} +0 -0
- /package/{esm2015/dynamic-form/mis-crystal-design-system-dynamic-form.js → esm2020/dynamic-form/mis-crystal-design-system-dynamic-form.mjs} +0 -0
- /package/{esm2015/dynamic-form/public_api.js → esm2020/dynamic-form/public_api.mjs} +0 -0
- /package/{esm2015/fab/index.js → esm2020/fab/index.mjs} +0 -0
- /package/{esm2015/fab/mis-crystal-design-system-fab.js → esm2020/fab/mis-crystal-design-system-fab.mjs} +0 -0
- /package/{esm2015/fab/public_api.js → esm2020/fab/public_api.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
- /package/{esm2015/input/mis-crystal-design-system-input.js → esm2020/input/mis-crystal-design-system-input.mjs} +0 -0
- /package/{esm2015/input/public_api.js → esm2020/input/public_api.mjs} +0 -0
- /package/{esm2015/input-stepper/index.js → esm2020/input-stepper/index.mjs} +0 -0
- /package/{esm2015/input-stepper/mis-crystal-design-system-input-stepper.js → esm2020/input-stepper/mis-crystal-design-system-input-stepper.mjs} +0 -0
- /package/{esm2015/input-stepper/public_api.js → esm2020/input-stepper/public_api.mjs} +0 -0
- /package/{esm2015/loader/index.js → esm2020/loader/index.mjs} +0 -0
- /package/{esm2015/loader/mis-crystal-design-system-loader.js → esm2020/loader/mis-crystal-design-system-loader.mjs} +0 -0
- /package/{esm2015/loader/public_api.js → esm2020/loader/public_api.mjs} +0 -0
- /package/{esm2015/menu/index.js → esm2020/menu/index.mjs} +0 -0
- /package/{esm2015/menu/mis-crystal-design-system-menu.js → esm2020/menu/mis-crystal-design-system-menu.mjs} +0 -0
- /package/{esm2015/menu/public_api.js → esm2020/menu/public_api.mjs} +0 -0
- /package/{esm2015/mis-crystal-design-system.js → esm2020/mis-crystal-design-system.mjs} +0 -0
- /package/{esm2015/mobile-filter/index.js → esm2020/mobile-filter/index.mjs} +0 -0
- /package/{esm2015/mobile-filter/mis-crystal-design-system-mobile-filter.js → esm2020/mobile-filter/mis-crystal-design-system-mobile-filter.mjs} +0 -0
- /package/{esm2015/mobile-filter/public_api.js → esm2020/mobile-filter/public_api.mjs} +0 -0
- /package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
- /package/{esm2015/modal/modal-constants.js → esm2020/modal/modal-constants.mjs} +0 -0
- /package/{esm2015/modal/modal-ref.js → esm2020/modal/modal-ref.mjs} +0 -0
- /package/{esm2015/modal/public_api.js → esm2020/modal/public_api.mjs} +0 -0
- /package/{esm2015/multi-select-dropdown/index.js → esm2020/multi-select-dropdown/index.mjs} +0 -0
- /package/{esm2015/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.js → esm2020/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs} +0 -0
- /package/{esm2015/multi-select-dropdown/public_api.js → esm2020/multi-select-dropdown/public_api.mjs} +0 -0
- /package/{esm2015/nested-multi-select-dropdown/index.js → esm2020/nested-multi-select-dropdown/index.mjs} +0 -0
- /package/{esm2015/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.js → esm2020/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs} +0 -0
- /package/{esm2015/nested-multi-select-dropdown/public_api.js → esm2020/nested-multi-select-dropdown/public_api.mjs} +0 -0
- /package/{esm2015/phone-input/index.js → esm2020/phone-input/index.mjs} +0 -0
- /package/{esm2015/phone-input/mis-crystal-design-system-phone-input.js → esm2020/phone-input/mis-crystal-design-system-phone-input.mjs} +0 -0
- /package/{esm2015/phone-input/public_api.js → esm2020/phone-input/public_api.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- /package/{esm2015/radio-button/index.js → esm2020/radio-button/index.mjs} +0 -0
- /package/{esm2015/radio-button/mis-crystal-design-system-radio-button.js → esm2020/radio-button/mis-crystal-design-system-radio-button.mjs} +0 -0
- /package/{esm2015/radio-button/public_api.js → esm2020/radio-button/public_api.mjs} +0 -0
- /package/{esm2015/ske-loader/index.js → esm2020/ske-loader/index.mjs} +0 -0
- /package/{esm2015/ske-loader/mis-crystal-design-system-ske-loader.js → esm2020/ske-loader/mis-crystal-design-system-ske-loader.mjs} +0 -0
- /package/{esm2015/ske-loader/public_api.js → esm2020/ske-loader/public_api.mjs} +0 -0
- /package/{esm2015/slider/index.js → esm2020/slider/index.mjs} +0 -0
- /package/{esm2015/slider/mis-crystal-design-system-slider.js → esm2020/slider/mis-crystal-design-system-slider.mjs} +0 -0
- /package/{esm2015/slider/public_api.js → esm2020/slider/public_api.mjs} +0 -0
- /package/{esm2015/snackbar/index.js → esm2020/snackbar/index.mjs} +0 -0
- /package/{esm2015/snackbar/mis-crystal-design-system-snackbar.js → esm2020/snackbar/mis-crystal-design-system-snackbar.mjs} +0 -0
- /package/{esm2015/snackbar/public_api.js → esm2020/snackbar/public_api.mjs} +0 -0
- /package/{esm2015/specificdatepicker/daterangepicker-constants.js → esm2020/specificdatepicker/daterangepicker-constants.mjs} +0 -0
- /package/{esm2015/specificdatepicker/index.js → esm2020/specificdatepicker/index.mjs} +0 -0
- /package/{esm2015/specificdatepicker/models/sdp-config.model.js → esm2020/specificdatepicker/models/sdp-config.model.mjs} +0 -0
- /package/{esm2015/specificdatepicker/utils/index.js → esm2020/specificdatepicker/utils/index.mjs} +0 -0
- /package/{esm2015/star-rating/index.js → esm2020/star-rating/index.mjs} +0 -0
- /package/{esm2015/star-rating/mis-crystal-design-system-star-rating.js → esm2020/star-rating/mis-crystal-design-system-star-rating.mjs} +0 -0
- /package/{esm2015/star-rating/public_api.js → esm2020/star-rating/public_api.mjs} +0 -0
- /package/{esm2015/styles/index.js → esm2020/styles/index.mjs} +0 -0
- /package/{esm2015/styles/mis-crystal-design-system-styles.js → esm2020/styles/mis-crystal-design-system-styles.mjs} +0 -0
- /package/{esm2015/styles/public_api.js → esm2020/styles/public_api.mjs} +0 -0
- /package/{esm2015/switch/index.js → esm2020/switch/index.mjs} +0 -0
- /package/{esm2015/switch/mis-crystal-design-system-switch.js → esm2020/switch/mis-crystal-design-system-switch.mjs} +0 -0
- /package/{esm2015/switch/public_api.js → esm2020/switch/public_api.mjs} +0 -0
- /package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
- /package/{esm2015/timepicker/index.js → esm2020/timepicker/index.mjs} +0 -0
- /package/{esm2015/timepicker/public_api.js → esm2020/timepicker/public_api.mjs} +0 -0
- /package/{esm2015/timepicker/time.namespace.js → esm2020/timepicker/time.namespace.mjs} +0 -0
- /package/{esm2015/timerangepicker/index.js → esm2020/timerangepicker/index.mjs} +0 -0
- /package/{esm2015/timerangepicker/mis-crystal-design-system-timerangepicker.js → esm2020/timerangepicker/mis-crystal-design-system-timerangepicker.mjs} +0 -0
- /package/{esm2015/timerangepicker/public_api.js → esm2020/timerangepicker/public_api.mjs} +0 -0
- /package/{esm2015/timerangepicker/timerange.namespace.js → esm2020/timerangepicker/timerange.namespace.mjs} +0 -0
- /package/{esm2015/toast/index.js → esm2020/toast/index.mjs} +0 -0
- /package/{esm2015/toast/mis-crystal-design-system-toast.js → esm2020/toast/mis-crystal-design-system-toast.mjs} +0 -0
- /package/{esm2015/toast/public_api.js → esm2020/toast/public_api.mjs} +0 -0
- /package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
- /package/{esm2015/tooltip/mis-crystal-design-system-tooltip.js → esm2020/tooltip/mis-crystal-design-system-tooltip.mjs} +0 -0
- /package/{esm2015/tooltip/models/tooltip.model.js → esm2020/tooltip/models/tooltip.model.mjs} +0 -0
- /package/{esm2015/tooltip/public_api.js → esm2020/tooltip/public_api.mjs} +0 -0
- /package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
- /package/{esm2015/utils/mis-crystal-design-system-utils.js → esm2020/utils/mis-crystal-design-system-utils.mjs} +0 -0
- /package/{esm2015/virtual-scroll/index.js → esm2020/virtual-scroll/index.mjs} +0 -0
- /package/{esm2015/virtual-scroll/mis-crystal-design-system-virtual-scroll.js → esm2020/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs} +0 -0
- /package/{esm2015/virtual-scroll/public_api.js → esm2020/virtual-scroll/public_api.mjs} +0 -0
- /package/{esm2015/virtual-scroll/virtual-scroll.constants.js → esm2020/virtual-scroll/virtual-scroll.constants.mjs} +0 -0
- /package/{esm2015/widgets/classes/async-widget.js → esm2020/widgets/classes/async-widget.mjs} +0 -0
- /package/{esm2015/widgets/classes/sync-widget.js → esm2020/widgets/classes/sync-widget.mjs} +0 -0
- /package/{esm2015/widgets/index.js → esm2020/widgets/index.mjs} +0 -0
- /package/{esm2015/widgets/interfaces/widgets.model.js → esm2020/widgets/interfaces/widgets.model.mjs} +0 -0
- /package/{esm2015/widgets/mis-crystal-design-system-widgets.js → esm2020/widgets/mis-crystal-design-system-widgets.mjs} +0 -0
- /package/{esm2015/widgets/public_api.js → esm2020/widgets/public_api.mjs} +0 -0
|
@@ -0,0 +1,712 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from "@angular/forms";
|
|
3
|
+
import * as moment from "moment";
|
|
4
|
+
import "moment-timezone";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "mis-crystal-design-system/dropdown";
|
|
9
|
+
import * as i4 from "mis-crystal-design-system/switch";
|
|
10
|
+
import * as i5 from "mis-crystal-design-system/multi-select-dropdown";
|
|
11
|
+
import * as i6 from "mis-crystal-design-system/datepicker_v2";
|
|
12
|
+
const _c0 = function (a0, a1) { return { $implicit: a0, control: a1 }; };
|
|
13
|
+
function DynamicFormComponent_ng_container_2_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementContainerStart(0);
|
|
15
|
+
i0.ɵɵelementContainer(1, 6);
|
|
16
|
+
i0.ɵɵelementContainerEnd();
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
const subFieldControl_r9 = ctx.$implicit;
|
|
19
|
+
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
20
|
+
const i_r6 = ctx_r10.index;
|
|
21
|
+
const fieldControl_r5 = ctx_r10.$implicit;
|
|
22
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
23
|
+
const _r1 = i0.ɵɵreference(4);
|
|
24
|
+
i0.ɵɵadvance(1);
|
|
25
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, ctx_r8.formFields[i_r6].subFields[ctx_r8.findSelectedIndex(ctx_r8.formFields[i_r6] == null ? null : ctx_r8.formFields[i_r6].subFields, fieldControl_r5.controls.value.value.value)], subFieldControl_r9));
|
|
26
|
+
} }
|
|
27
|
+
function DynamicFormComponent_ng_container_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
29
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_container_2_div_2_ng_container_1_Template, 2, 5, "ng-container", 9);
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} if (rf & 2) {
|
|
32
|
+
const fieldControl_r5 = i0.ɵɵnextContext().$implicit;
|
|
33
|
+
i0.ɵɵadvance(1);
|
|
34
|
+
i0.ɵɵproperty("ngForOf", fieldControl_r5.controls.subFields.controls);
|
|
35
|
+
} }
|
|
36
|
+
const _c1 = function (a0, a1, a2) { return { $implicit: a0, formGroup: a1, control: a2 }; };
|
|
37
|
+
function DynamicFormComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
i0.ɵɵelementContainerStart(0, 5);
|
|
39
|
+
i0.ɵɵelementContainer(1, 6);
|
|
40
|
+
i0.ɵɵtemplate(2, DynamicFormComponent_ng_container_2_div_2_Template, 2, 1, "div", 7);
|
|
41
|
+
i0.ɵɵelementContainerEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const fieldControl_r5 = ctx.$implicit;
|
|
44
|
+
const i_r6 = ctx.index;
|
|
45
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
46
|
+
const _r1 = i0.ɵɵreference(4);
|
|
47
|
+
i0.ɵɵproperty("formGroupName", i_r6);
|
|
48
|
+
i0.ɵɵadvance(1);
|
|
49
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r1)("ngTemplateOutletContext", i0.ɵɵpureFunction3(4, _c1, ctx_r0.formFields[i_r6], fieldControl_r5, fieldControl_r5.controls.value));
|
|
50
|
+
i0.ɵɵadvance(1);
|
|
51
|
+
i0.ɵɵproperty("ngIf", fieldControl_r5.value && (!!(ctx_r0.formFields[i_r6] == null ? null : ctx_r0.formFields[i_r6].subFields) && (ctx_r0.formFields[i_r6] == null ? null : ctx_r0.formFields[i_r6].subFields == null ? null : ctx_r0.formFields[i_r6].subFields.length) > 0 && ctx_r0.matchParentConfig(ctx_r0.formFields[i_r6] == null ? null : ctx_r0.formFields[i_r6].subFields, fieldControl_r5.controls.value.value.value)));
|
|
52
|
+
} }
|
|
53
|
+
const _c2 = function (a0) { return { $implicit: a0 }; };
|
|
54
|
+
function DynamicFormComponent_ng_template_3_div_0_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
i0.ɵɵelementContainer(0, 6);
|
|
56
|
+
} if (rf & 2) {
|
|
57
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
58
|
+
i0.ɵɵnextContext();
|
|
59
|
+
const _r3 = i0.ɵɵreference(6);
|
|
60
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
61
|
+
} }
|
|
62
|
+
const _c3 = function (a0) { return { "border": a0 }; };
|
|
63
|
+
function DynamicFormComponent_ng_template_3_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
65
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "p", 13);
|
|
66
|
+
i0.ɵɵtext(2);
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
i0.ɵɵelement(3, "div", 14);
|
|
69
|
+
i0.ɵɵelementStart(4, "input", 15);
|
|
70
|
+
i0.ɵɵlistener("ngModelChange", function DynamicFormComponent_ng_template_3_div_0_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); const field_r12 = ctx_r26.$implicit; const formgroup_r14 = ctx_r26.formGroup; const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.updateSubDynamicFields(field_r12, formgroup_r14, $event)); });
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_0_ng_container_5_Template, 1, 4, "ng-container", 16);
|
|
73
|
+
i0.ɵɵelementEnd();
|
|
74
|
+
} if (rf & 2) {
|
|
75
|
+
const ctx_r28 = i0.ɵɵnextContext();
|
|
76
|
+
const field_r12 = ctx_r28.$implicit;
|
|
77
|
+
const control_r13 = ctx_r28.control;
|
|
78
|
+
i0.ɵɵadvance(2);
|
|
79
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
80
|
+
i0.ɵɵadvance(2);
|
|
81
|
+
i0.ɵɵproperty("type", field_r12.fieldInputType)("formControl", control_r13)("ngStyle", i0.ɵɵpureFunction1(7, _c3, control_r13.touched && control_r13.errors ? "1px solid #B00020" : ""))("placeholder", field_r12.placeholderText ? field_r12.placeholderText : "Input Text")("min", field_r12.fieldInputType === "number" ? 0 : "");
|
|
82
|
+
i0.ɵɵadvance(1);
|
|
83
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
84
|
+
} }
|
|
85
|
+
function DynamicFormComponent_ng_template_3_div_1_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
+
i0.ɵɵelementContainer(0, 6);
|
|
87
|
+
} if (rf & 2) {
|
|
88
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
89
|
+
i0.ɵɵnextContext();
|
|
90
|
+
const _r3 = i0.ɵɵreference(6);
|
|
91
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
92
|
+
} }
|
|
93
|
+
function DynamicFormComponent_ng_template_3_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
95
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "p", 13);
|
|
96
|
+
i0.ɵɵtext(2);
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
i0.ɵɵelement(3, "div", 14);
|
|
99
|
+
i0.ɵɵelementStart(4, "textarea", 17);
|
|
100
|
+
i0.ɵɵlistener("ngModelChange", function DynamicFormComponent_ng_template_3_div_1_Template_textarea_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); const field_r12 = ctx_r32.$implicit; const formgroup_r14 = ctx_r32.formGroup; const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.updateSubDynamicFields(field_r12, formgroup_r14, $event)); });
|
|
101
|
+
i0.ɵɵelementEnd();
|
|
102
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_1_ng_container_5_Template, 1, 4, "ng-container", 16);
|
|
103
|
+
i0.ɵɵelementEnd();
|
|
104
|
+
} if (rf & 2) {
|
|
105
|
+
const ctx_r34 = i0.ɵɵnextContext();
|
|
106
|
+
const field_r12 = ctx_r34.$implicit;
|
|
107
|
+
const control_r13 = ctx_r34.control;
|
|
108
|
+
i0.ɵɵadvance(2);
|
|
109
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
110
|
+
i0.ɵɵadvance(2);
|
|
111
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(5, _c3, control_r13.touched && control_r13.errors ? "1px solid #B00020" : ""))("placeholder", field_r12.placeholderText ? field_r12.placeholderText : "Input Text")("formControl", control_r13);
|
|
112
|
+
i0.ɵɵadvance(1);
|
|
113
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
114
|
+
} }
|
|
115
|
+
function DynamicFormComponent_ng_template_3_div_2_img_6_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
const _r39 = i0.ɵɵgetCurrentView();
|
|
117
|
+
i0.ɵɵelementStart(0, "img", 24);
|
|
118
|
+
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_2_img_6_Template_img_click_0_listener() { i0.ɵɵrestoreView(_r39); i0.ɵɵnextContext(); const _r35 = i0.ɵɵreference(5); return i0.ɵɵresetView(_r35.click()); });
|
|
119
|
+
i0.ɵɵelementEnd();
|
|
120
|
+
} if (rf & 2) {
|
|
121
|
+
const ctx_r36 = i0.ɵɵnextContext(3);
|
|
122
|
+
i0.ɵɵproperty("src", ctx_r36.calendarIconUrl, i0.ɵɵsanitizeUrl);
|
|
123
|
+
} }
|
|
124
|
+
function DynamicFormComponent_ng_template_3_div_2_ng_container_7_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
i0.ɵɵelementContainer(0, 6);
|
|
126
|
+
} if (rf & 2) {
|
|
127
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
128
|
+
i0.ɵɵnextContext();
|
|
129
|
+
const _r3 = i0.ɵɵreference(6);
|
|
130
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
131
|
+
} }
|
|
132
|
+
function DynamicFormComponent_ng_template_3_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
133
|
+
const _r43 = i0.ɵɵgetCurrentView();
|
|
134
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "p", 19);
|
|
135
|
+
i0.ɵɵtext(2);
|
|
136
|
+
i0.ɵɵelementEnd();
|
|
137
|
+
i0.ɵɵelementStart(3, "div", 20)(4, "input", 21, 22);
|
|
138
|
+
i0.ɵɵlistener("dateChange", function DynamicFormComponent_ng_template_3_div_2_Template_input_dateChange_4_listener($event) { i0.ɵɵrestoreView(_r43); const control_r13 = i0.ɵɵnextContext().control; return i0.ɵɵresetView(control_r13.setValue($event)); });
|
|
139
|
+
i0.ɵɵelementEnd();
|
|
140
|
+
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_2_img_6_Template, 1, 1, "img", 23);
|
|
141
|
+
i0.ɵɵelementEnd();
|
|
142
|
+
i0.ɵɵtemplate(7, DynamicFormComponent_ng_template_3_div_2_ng_container_7_Template, 1, 4, "ng-container", 16);
|
|
143
|
+
i0.ɵɵelementEnd();
|
|
144
|
+
} if (rf & 2) {
|
|
145
|
+
const ctx_r44 = i0.ɵɵnextContext();
|
|
146
|
+
const field_r12 = ctx_r44.$implicit;
|
|
147
|
+
const control_r13 = ctx_r44.control;
|
|
148
|
+
const ctx_r17 = i0.ɵɵnextContext();
|
|
149
|
+
i0.ɵɵadvance(2);
|
|
150
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
151
|
+
i0.ɵɵadvance(2);
|
|
152
|
+
i0.ɵɵproperty("dpConfig", field_r12.fieldConfig)("selectedDate", control_r13.value)("offsetY", 0)("value", control_r13.value);
|
|
153
|
+
i0.ɵɵadvance(2);
|
|
154
|
+
i0.ɵɵproperty("ngIf", ctx_r17.calendarIconUrl);
|
|
155
|
+
i0.ɵɵadvance(1);
|
|
156
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
157
|
+
} }
|
|
158
|
+
function DynamicFormComponent_ng_template_3_div_3_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
159
|
+
i0.ɵɵelementContainer(0, 6);
|
|
160
|
+
} if (rf & 2) {
|
|
161
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
162
|
+
i0.ɵɵnextContext();
|
|
163
|
+
const _r3 = i0.ɵɵreference(6);
|
|
164
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
165
|
+
} }
|
|
166
|
+
function DynamicFormComponent_ng_template_3_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
const _r49 = i0.ɵɵgetCurrentView();
|
|
168
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "p", 19);
|
|
169
|
+
i0.ɵɵtext(2);
|
|
170
|
+
i0.ɵɵelementEnd();
|
|
171
|
+
i0.ɵɵelementStart(3, "mis-switch", 25);
|
|
172
|
+
i0.ɵɵlistener("valueChanged", function DynamicFormComponent_ng_template_3_div_3_Template_mis_switch_valueChanged_3_listener($event) { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(); const field_r12 = ctx_r48.$implicit; const formgroup_r14 = ctx_r48.formGroup; const ctx_r47 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r47.updateSubDynamicFields(field_r12, formgroup_r14, $event)); });
|
|
173
|
+
i0.ɵɵelementEnd();
|
|
174
|
+
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_3_ng_container_4_Template, 1, 4, "ng-container", 16);
|
|
175
|
+
i0.ɵɵelementEnd();
|
|
176
|
+
} if (rf & 2) {
|
|
177
|
+
const ctx_r50 = i0.ɵɵnextContext();
|
|
178
|
+
const field_r12 = ctx_r50.$implicit;
|
|
179
|
+
const control_r13 = ctx_r50.control;
|
|
180
|
+
i0.ɵɵadvance(2);
|
|
181
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
182
|
+
i0.ɵɵadvance(1);
|
|
183
|
+
i0.ɵɵproperty("control", control_r13);
|
|
184
|
+
i0.ɵɵadvance(1);
|
|
185
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
186
|
+
} }
|
|
187
|
+
function DynamicFormComponent_ng_template_3_div_4_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
+
i0.ɵɵelementContainer(0, 6);
|
|
189
|
+
} if (rf & 2) {
|
|
190
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
191
|
+
i0.ɵɵnextContext();
|
|
192
|
+
const _r3 = i0.ɵɵreference(6);
|
|
193
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
194
|
+
} }
|
|
195
|
+
function DynamicFormComponent_ng_template_3_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
196
|
+
const _r55 = i0.ɵɵgetCurrentView();
|
|
197
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "p", 19);
|
|
198
|
+
i0.ɵɵtext(2);
|
|
199
|
+
i0.ɵɵelementEnd();
|
|
200
|
+
i0.ɵɵelementStart(3, "mis-dropdown", 26);
|
|
201
|
+
i0.ɵɵlistener("onChange", function DynamicFormComponent_ng_template_3_div_4_Template_mis_dropdown_onChange_3_listener($event) { i0.ɵɵrestoreView(_r55); const ctx_r54 = i0.ɵɵnextContext(); const field_r12 = ctx_r54.$implicit; const control_r13 = ctx_r54.control; const formgroup_r14 = ctx_r54.formGroup; const ctx_r53 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r53.updateSelectedValueForSingleSelect(field_r12, control_r13, formgroup_r14, $event)); });
|
|
202
|
+
i0.ɵɵelementEnd();
|
|
203
|
+
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_4_ng_container_4_Template, 1, 4, "ng-container", 16);
|
|
204
|
+
i0.ɵɵelementEnd();
|
|
205
|
+
} if (rf & 2) {
|
|
206
|
+
const ctx_r56 = i0.ɵɵnextContext();
|
|
207
|
+
const field_r12 = ctx_r56.$implicit;
|
|
208
|
+
const control_r13 = ctx_r56.control;
|
|
209
|
+
i0.ɵɵadvance(2);
|
|
210
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
211
|
+
i0.ɵɵadvance(1);
|
|
212
|
+
i0.ɵɵproperty("searchEnabled", false)("width", "140px")("data", field_r12.itemsList)("selectedItem", control_r13.value);
|
|
213
|
+
i0.ɵɵadvance(1);
|
|
214
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
215
|
+
} }
|
|
216
|
+
function DynamicFormComponent_ng_template_3_div_5_div_5_img_1_Template(rf, ctx) { if (rf & 1) {
|
|
217
|
+
i0.ɵɵelement(0, "img", 31);
|
|
218
|
+
} if (rf & 2) {
|
|
219
|
+
const ctx_r60 = i0.ɵɵnextContext(4);
|
|
220
|
+
i0.ɵɵproperty("src", ctx_r60.activeBtnIconUrl, i0.ɵɵsanitizeUrl);
|
|
221
|
+
} }
|
|
222
|
+
const _c4 = function (a0) { return { "checkbox-active": a0 }; };
|
|
223
|
+
function DynamicFormComponent_ng_template_3_div_5_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
224
|
+
const _r63 = i0.ɵɵgetCurrentView();
|
|
225
|
+
i0.ɵɵelementStart(0, "div", 29);
|
|
226
|
+
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_5_div_5_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r63); const item_r59 = restoredCtx.$implicit; const ctx_r62 = i0.ɵɵnextContext(2); const field_r12 = ctx_r62.$implicit; const control_r13 = ctx_r62.control; const formgroup_r14 = ctx_r62.formGroup; const ctx_r61 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r61.updateSelectedValueForSingleSelect(field_r12, control_r13, formgroup_r14, item_r59)); });
|
|
227
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_5_div_5_img_1_Template, 1, 1, "img", 30);
|
|
228
|
+
i0.ɵɵelementStart(2, "p", 19);
|
|
229
|
+
i0.ɵɵtext(3);
|
|
230
|
+
i0.ɵɵelementEnd()();
|
|
231
|
+
} if (rf & 2) {
|
|
232
|
+
const item_r59 = ctx.$implicit;
|
|
233
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
234
|
+
const ctx_r57 = i0.ɵɵnextContext();
|
|
235
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c4, item_r59.label === (control_r13.value == null ? null : control_r13.value.label)));
|
|
236
|
+
i0.ɵɵadvance(1);
|
|
237
|
+
i0.ɵɵproperty("ngIf", item_r59.label === (control_r13.value == null ? null : control_r13.value.label) && ctx_r57.activeBtnIconUrl);
|
|
238
|
+
i0.ɵɵadvance(2);
|
|
239
|
+
i0.ɵɵtextInterpolate(item_r59.label);
|
|
240
|
+
} }
|
|
241
|
+
function DynamicFormComponent_ng_template_3_div_5_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
242
|
+
i0.ɵɵelementContainer(0, 6);
|
|
243
|
+
} if (rf & 2) {
|
|
244
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
245
|
+
i0.ɵɵnextContext();
|
|
246
|
+
const _r3 = i0.ɵɵreference(6);
|
|
247
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
248
|
+
} }
|
|
249
|
+
function DynamicFormComponent_ng_template_3_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
250
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "p", 13);
|
|
251
|
+
i0.ɵɵtext(2);
|
|
252
|
+
i0.ɵɵelementEnd();
|
|
253
|
+
i0.ɵɵelement(3, "div", 14);
|
|
254
|
+
i0.ɵɵelementStart(4, "div", 27);
|
|
255
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_5_div_5_Template, 4, 5, "div", 28);
|
|
256
|
+
i0.ɵɵelementEnd();
|
|
257
|
+
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_5_ng_container_6_Template, 1, 4, "ng-container", 16);
|
|
258
|
+
i0.ɵɵelementEnd();
|
|
259
|
+
} if (rf & 2) {
|
|
260
|
+
const ctx_r66 = i0.ɵɵnextContext();
|
|
261
|
+
const field_r12 = ctx_r66.$implicit;
|
|
262
|
+
const control_r13 = ctx_r66.control;
|
|
263
|
+
i0.ɵɵadvance(2);
|
|
264
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
265
|
+
i0.ɵɵadvance(3);
|
|
266
|
+
i0.ɵɵproperty("ngForOf", field_r12.itemsList);
|
|
267
|
+
i0.ɵɵadvance(1);
|
|
268
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
269
|
+
} }
|
|
270
|
+
function DynamicFormComponent_ng_template_3_div_6_div_5_img_1_Template(rf, ctx) { if (rf & 1) {
|
|
271
|
+
i0.ɵɵelement(0, "img", 31);
|
|
272
|
+
} if (rf & 2) {
|
|
273
|
+
const ctx_r70 = i0.ɵɵnextContext(4);
|
|
274
|
+
i0.ɵɵproperty("src", ctx_r70.activeBtnIconUrl, i0.ɵɵsanitizeUrl);
|
|
275
|
+
} }
|
|
276
|
+
function DynamicFormComponent_ng_template_3_div_6_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
277
|
+
const _r73 = i0.ɵɵgetCurrentView();
|
|
278
|
+
i0.ɵɵelementStart(0, "div", 29);
|
|
279
|
+
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_6_div_5_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r73); const item_r69 = restoredCtx.$implicit; const ctx_r72 = i0.ɵɵnextContext(2); const field_r12 = ctx_r72.$implicit; const control_r13 = ctx_r72.control; const formgroup_r14 = ctx_r72.formGroup; const ctx_r71 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r71.updateSelectedValueForMultiSelect(field_r12, control_r13, formgroup_r14, [item_r69])); });
|
|
280
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_6_div_5_img_1_Template, 1, 1, "img", 30);
|
|
281
|
+
i0.ɵɵelementStart(2, "p", 19);
|
|
282
|
+
i0.ɵɵtext(3);
|
|
283
|
+
i0.ɵɵelementEnd()();
|
|
284
|
+
} if (rf & 2) {
|
|
285
|
+
const item_r69 = ctx.$implicit;
|
|
286
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
287
|
+
const ctx_r67 = i0.ɵɵnextContext();
|
|
288
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c4, ctx_r67.isCheckBoxSelected(item_r69.label, control_r13.value)));
|
|
289
|
+
i0.ɵɵadvance(1);
|
|
290
|
+
i0.ɵɵproperty("ngIf", ctx_r67.isCheckBoxSelected(item_r69.label, control_r13.value) && ctx_r67.activeBtnIconUrl);
|
|
291
|
+
i0.ɵɵadvance(2);
|
|
292
|
+
i0.ɵɵtextInterpolate(item_r69.label);
|
|
293
|
+
} }
|
|
294
|
+
function DynamicFormComponent_ng_template_3_div_6_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
295
|
+
i0.ɵɵelementContainer(0, 6);
|
|
296
|
+
} if (rf & 2) {
|
|
297
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
298
|
+
i0.ɵɵnextContext();
|
|
299
|
+
const _r3 = i0.ɵɵreference(6);
|
|
300
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
301
|
+
} }
|
|
302
|
+
function DynamicFormComponent_ng_template_3_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
303
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "p", 13);
|
|
304
|
+
i0.ɵɵtext(2);
|
|
305
|
+
i0.ɵɵelementEnd();
|
|
306
|
+
i0.ɵɵelement(3, "div", 14);
|
|
307
|
+
i0.ɵɵelementStart(4, "div", 27);
|
|
308
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_6_div_5_Template, 4, 5, "div", 28);
|
|
309
|
+
i0.ɵɵelementEnd();
|
|
310
|
+
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_6_ng_container_6_Template, 1, 4, "ng-container", 16);
|
|
311
|
+
i0.ɵɵelementEnd();
|
|
312
|
+
} if (rf & 2) {
|
|
313
|
+
const ctx_r76 = i0.ɵɵnextContext();
|
|
314
|
+
const field_r12 = ctx_r76.$implicit;
|
|
315
|
+
const control_r13 = ctx_r76.control;
|
|
316
|
+
i0.ɵɵadvance(2);
|
|
317
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
318
|
+
i0.ɵɵadvance(3);
|
|
319
|
+
i0.ɵɵproperty("ngForOf", field_r12.itemsList);
|
|
320
|
+
i0.ɵɵadvance(1);
|
|
321
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
322
|
+
} }
|
|
323
|
+
function DynamicFormComponent_ng_template_3_div_7_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
324
|
+
i0.ɵɵelementContainer(0, 6);
|
|
325
|
+
} if (rf & 2) {
|
|
326
|
+
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
327
|
+
i0.ɵɵnextContext();
|
|
328
|
+
const _r3 = i0.ɵɵreference(6);
|
|
329
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
330
|
+
} }
|
|
331
|
+
function DynamicFormComponent_ng_template_3_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
332
|
+
const _r81 = i0.ɵɵgetCurrentView();
|
|
333
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "p", 19);
|
|
334
|
+
i0.ɵɵtext(2);
|
|
335
|
+
i0.ɵɵelementEnd();
|
|
336
|
+
i0.ɵɵelementStart(3, "mis-multi-select-dropdown", 32);
|
|
337
|
+
i0.ɵɵlistener("onChange", function DynamicFormComponent_ng_template_3_div_7_Template_mis_multi_select_dropdown_onChange_3_listener($event) { i0.ɵɵrestoreView(_r81); const ctx_r80 = i0.ɵɵnextContext(); const field_r12 = ctx_r80.$implicit; const control_r13 = ctx_r80.control; const formgroup_r14 = ctx_r80.formGroup; const ctx_r79 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r79.updateSelectedValueForMultiSelect(field_r12, control_r13, formgroup_r14, $event)); });
|
|
338
|
+
i0.ɵɵelementEnd();
|
|
339
|
+
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_7_ng_container_4_Template, 1, 4, "ng-container", 16);
|
|
340
|
+
i0.ɵɵelementEnd();
|
|
341
|
+
} if (rf & 2) {
|
|
342
|
+
const ctx_r82 = i0.ɵɵnextContext();
|
|
343
|
+
const field_r12 = ctx_r82.$implicit;
|
|
344
|
+
const control_r13 = ctx_r82.control;
|
|
345
|
+
i0.ɵɵadvance(2);
|
|
346
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
347
|
+
i0.ɵɵadvance(1);
|
|
348
|
+
i0.ɵɵproperty("width", "140px")("showSelectedCount", true)("dropdownListWidth", "256px")("searchEnabled", false)("hideApplyButton", true)("data", field_r12.itemsList)("selectedItems", control_r13.value);
|
|
349
|
+
i0.ɵɵadvance(1);
|
|
350
|
+
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
351
|
+
} }
|
|
352
|
+
function DynamicFormComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
353
|
+
i0.ɵɵtemplate(0, DynamicFormComponent_ng_template_3_div_0_Template, 6, 9, "div", 10);
|
|
354
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_1_Template, 6, 7, "div", 10);
|
|
355
|
+
i0.ɵɵtemplate(2, DynamicFormComponent_ng_template_3_div_2_Template, 8, 7, "div", 11);
|
|
356
|
+
i0.ɵɵtemplate(3, DynamicFormComponent_ng_template_3_div_3_Template, 5, 3, "div", 11);
|
|
357
|
+
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_4_Template, 5, 6, "div", 11);
|
|
358
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_5_Template, 7, 3, "div", 10);
|
|
359
|
+
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_6_Template, 7, 3, "div", 10);
|
|
360
|
+
i0.ɵɵtemplate(7, DynamicFormComponent_ng_template_3_div_7_Template, 5, 9, "div", 11);
|
|
361
|
+
} if (rf & 2) {
|
|
362
|
+
const field_r12 = ctx.$implicit;
|
|
363
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "input" && (field_r12.fieldInputType === "text" || field_r12.fieldInputType === "number"));
|
|
364
|
+
i0.ɵɵadvance(1);
|
|
365
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "input" && field_r12.fieldInputType === "textarea");
|
|
366
|
+
i0.ɵɵadvance(1);
|
|
367
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "input" && field_r12.fieldInputType === "date");
|
|
368
|
+
i0.ɵɵadvance(1);
|
|
369
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "boolean" && field_r12.fieldInputType === "toggle");
|
|
370
|
+
i0.ɵɵadvance(1);
|
|
371
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "singleSelect" && field_r12.fieldInputType === "dropdown");
|
|
372
|
+
i0.ɵɵadvance(1);
|
|
373
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "singleSelect" && field_r12.fieldInputType === "radio");
|
|
374
|
+
i0.ɵɵadvance(1);
|
|
375
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "multiSelect" && field_r12.fieldInputType === "checkbox");
|
|
376
|
+
i0.ɵɵadvance(1);
|
|
377
|
+
i0.ɵɵproperty("ngIf", field_r12.fieldType === "multiSelect" && field_r12.fieldInputType === "dropdown");
|
|
378
|
+
} }
|
|
379
|
+
function DynamicFormComponent_ng_template_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
380
|
+
i0.ɵɵelementContainerStart(0);
|
|
381
|
+
i0.ɵɵelementStart(1, "p", 34);
|
|
382
|
+
i0.ɵɵtext(2);
|
|
383
|
+
i0.ɵɵelementEnd();
|
|
384
|
+
i0.ɵɵelement(3, "div", 35);
|
|
385
|
+
i0.ɵɵelementContainerEnd();
|
|
386
|
+
} if (rf & 2) {
|
|
387
|
+
const error_r85 = ctx.$implicit;
|
|
388
|
+
i0.ɵɵadvance(2);
|
|
389
|
+
i0.ɵɵtextInterpolate1(" ", " \u2022 \u00A0" + error_r85.value, " ");
|
|
390
|
+
} }
|
|
391
|
+
function DynamicFormComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
392
|
+
i0.ɵɵelementStart(0, "div", 33);
|
|
393
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_5_ng_container_1_Template, 4, 1, "ng-container", 9);
|
|
394
|
+
i0.ɵɵpipe(2, "keyvalue");
|
|
395
|
+
i0.ɵɵelementEnd();
|
|
396
|
+
} if (rf & 2) {
|
|
397
|
+
const errors_r83 = ctx.$implicit;
|
|
398
|
+
i0.ɵɵadvance(1);
|
|
399
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, errors_r83));
|
|
400
|
+
} }
|
|
401
|
+
export class DynamicFormComponent {
|
|
402
|
+
constructor() {
|
|
403
|
+
/**
|
|
404
|
+
* formFields: Dynamic fields recieved from the API metadata to build a dynamic form
|
|
405
|
+
* formValues: Holds the value of the dynamic form with "key" being dynamic field "title"
|
|
406
|
+
* and value being the user input.
|
|
407
|
+
*/
|
|
408
|
+
this.formFields = [];
|
|
409
|
+
this.formValues = {};
|
|
410
|
+
// Need to deprecate these inputs and use constants.
|
|
411
|
+
this.activeBtnIconUrl = "";
|
|
412
|
+
this.calendarIconUrl = "";
|
|
413
|
+
/**
|
|
414
|
+
* formUpdated: Emits formValues Object whenever there is a change in the dynamic form.
|
|
415
|
+
*/
|
|
416
|
+
this.formUpdated = new EventEmitter();
|
|
417
|
+
/**
|
|
418
|
+
* formValid: Emits boolean depending on validity of the form
|
|
419
|
+
*/
|
|
420
|
+
this.formValid = new EventEmitter();
|
|
421
|
+
/**
|
|
422
|
+
* formInitialized: Emits dynamic form API on form initilization
|
|
423
|
+
*/
|
|
424
|
+
this.formInitialized = new EventEmitter();
|
|
425
|
+
}
|
|
426
|
+
ngOnInit() {
|
|
427
|
+
// Building the form
|
|
428
|
+
this.dynamicForm = this.generateDynamicForm(this.formFields, this.formValues);
|
|
429
|
+
// Subscribing to form changes and emiting values.
|
|
430
|
+
this.valueChangesSubscription$ = this.dynamicForm.valueChanges.subscribe(formValue => {
|
|
431
|
+
this.onFormValueChanges();
|
|
432
|
+
});
|
|
433
|
+
//api to expose functions
|
|
434
|
+
this.dynamicFormAPI = {
|
|
435
|
+
defaultFormValues: () => {
|
|
436
|
+
return this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);
|
|
437
|
+
}
|
|
438
|
+
};
|
|
439
|
+
this.formInitialized.emit(this.dynamicFormAPI);
|
|
440
|
+
this.formValid.emit(this.dynamicForm.valid);
|
|
441
|
+
}
|
|
442
|
+
ngOnDestroy() {
|
|
443
|
+
this.valueChangesSubscription$?.unsubscribe();
|
|
444
|
+
}
|
|
445
|
+
onFormValueChanges() {
|
|
446
|
+
let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm.value.dynamicFields);
|
|
447
|
+
this.formValid.emit(this.dynamicForm.valid);
|
|
448
|
+
this.formUpdated.emit(formValues);
|
|
449
|
+
console.log(formValues);
|
|
450
|
+
}
|
|
451
|
+
generateDynamicFieldsValueObject(formValues) {
|
|
452
|
+
let dynamicFieldsValue = {};
|
|
453
|
+
formValues.forEach((fieldValue, index) => {
|
|
454
|
+
let formattedValue = this.mapFormFieldToFormValue(this.formFields[index], fieldValue.value);
|
|
455
|
+
if (fieldValue.subFields?.length > 0) {
|
|
456
|
+
let formattedSubFieldsValues = {};
|
|
457
|
+
fieldValue.subFields.forEach((subFieldValue, subIndex) => {
|
|
458
|
+
let subFormField = this.formFields[index].subFields[subIndex];
|
|
459
|
+
formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue);
|
|
460
|
+
});
|
|
461
|
+
dynamicFieldsValue[this.formFields[index].configName] = {
|
|
462
|
+
value: formattedValue,
|
|
463
|
+
subFields: formattedSubFieldsValues
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
dynamicFieldsValue[this.formFields[index].configName] = formattedValue;
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
return dynamicFieldsValue;
|
|
471
|
+
}
|
|
472
|
+
generateDynamicForm(formFields, formValues) {
|
|
473
|
+
let formArray = new UntypedFormArray([]);
|
|
474
|
+
for (let field of formFields) {
|
|
475
|
+
let fieldValue = formValues[field.configName]?.value ? formValues[field.configName].value : formValues[field.configName];
|
|
476
|
+
let fieldControl = this.mapFormValueToFormField(field, fieldValue);
|
|
477
|
+
let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);
|
|
478
|
+
formArray.push(new UntypedFormGroup({
|
|
479
|
+
value: fieldControl,
|
|
480
|
+
subFields: subFieldsControls
|
|
481
|
+
}));
|
|
482
|
+
}
|
|
483
|
+
return new UntypedFormGroup({
|
|
484
|
+
dynamicFields: formArray
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
getDynamicFieldsControls() {
|
|
488
|
+
return this.dynamicForm.get("dynamicFields");
|
|
489
|
+
}
|
|
490
|
+
updateSubDynamicFields(field, formGroup, value) {
|
|
491
|
+
if (field.subFields?.length > 0) {
|
|
492
|
+
let subFieldsControls = this.generateSubDynamicFields(this.formValues, field, value);
|
|
493
|
+
formGroup.removeControl('subFields');
|
|
494
|
+
formGroup.addControl('subFields', subFieldsControls);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
updateSelectedValueForSingleSelect(field, control, formGroup, value) {
|
|
498
|
+
if (control.value?.value !== value.value) {
|
|
499
|
+
control.setValue(value);
|
|
500
|
+
}
|
|
501
|
+
else
|
|
502
|
+
control.setValue('');
|
|
503
|
+
this.updateSubDynamicFields(field, formGroup, value);
|
|
504
|
+
control.markAsTouched();
|
|
505
|
+
}
|
|
506
|
+
updateSelectedValueForMultiSelect(field, control, formGroup, values) {
|
|
507
|
+
let selectedValues = control.value;
|
|
508
|
+
for (let value of values) {
|
|
509
|
+
let itemIndex = selectedValues.findIndex(item => item.label === value.label);
|
|
510
|
+
if (itemIndex > -1) {
|
|
511
|
+
selectedValues.splice(itemIndex, 1);
|
|
512
|
+
}
|
|
513
|
+
else {
|
|
514
|
+
selectedValues.push({ ...value });
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
control.setValue(selectedValues);
|
|
518
|
+
this.updateSubDynamicFields(field, formGroup, values);
|
|
519
|
+
control.markAsTouched();
|
|
520
|
+
}
|
|
521
|
+
isCheckBoxSelected(value, selectedValues) {
|
|
522
|
+
return selectedValues.findIndex(item => item.label === value) > -1;
|
|
523
|
+
}
|
|
524
|
+
findSelectedIndex(subfields, value) {
|
|
525
|
+
const selectedIndex = subfields.findIndex(item => item.parentConfigValue === value);
|
|
526
|
+
return selectedIndex !== -1 ? selectedIndex : 0;
|
|
527
|
+
}
|
|
528
|
+
matchParentConfig(subfields, value) {
|
|
529
|
+
if (!subfields || subfields.length === 0) {
|
|
530
|
+
return false;
|
|
531
|
+
}
|
|
532
|
+
return subfields.some(item => item.parentConfigValue === value);
|
|
533
|
+
}
|
|
534
|
+
generateSubDynamicFields(formValues, parentField, parentValue) {
|
|
535
|
+
let controls = new UntypedFormArray([]);
|
|
536
|
+
let subFields = parentField.subFields;
|
|
537
|
+
let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {};
|
|
538
|
+
if (!subFields)
|
|
539
|
+
return controls;
|
|
540
|
+
if (parentField.fieldType === 'singleSelect') {
|
|
541
|
+
subFields = subFields.filter((subField) => subField.parentConfigValue === parentValue?.value);
|
|
542
|
+
}
|
|
543
|
+
else if (parentField.fieldType === 'multiSelect') {
|
|
544
|
+
let parentValues = new Set(parentValue.map((value) => value.value));
|
|
545
|
+
subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));
|
|
546
|
+
}
|
|
547
|
+
if (subFields?.length > 0) {
|
|
548
|
+
for (let subField of subFields) {
|
|
549
|
+
controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]));
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
return controls;
|
|
553
|
+
}
|
|
554
|
+
mapFormValueToFormField(formField, formValue) {
|
|
555
|
+
let validators = formField.validators ? [dynamicFieldValidator(formField.validators)] : [];
|
|
556
|
+
let control = new UntypedFormControl(null, validators);
|
|
557
|
+
if (formField.fieldType === "input") {
|
|
558
|
+
if (formField.fieldInputType === "text" || formField.fieldInputType === "textarea")
|
|
559
|
+
control.setValue(formValue ? formValue : "");
|
|
560
|
+
else if (formField.fieldInputType === "number")
|
|
561
|
+
control.setValue(formValue ? formValue : 0);
|
|
562
|
+
else if (formField.fieldInputType === "date") {
|
|
563
|
+
if (formValue && typeof formValue === "number") {
|
|
564
|
+
control.setValue(moment(formValue).tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));
|
|
565
|
+
}
|
|
566
|
+
else {
|
|
567
|
+
control.setValue(moment().tz(formField.fieldConfig.timezone).format(formField.fieldConfig.format));
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
else if (formField.fieldType === "singleSelect") {
|
|
572
|
+
const findSelectedValue = () => {
|
|
573
|
+
let index = formField.itemsList.findIndex(item => item.value === formValue);
|
|
574
|
+
return index >= 0 ? formField.itemsList[index] : "";
|
|
575
|
+
};
|
|
576
|
+
if (formField.fieldInputType === "dropdown") {
|
|
577
|
+
if (!formValue)
|
|
578
|
+
control.setValue(formField.itemsList[0]);
|
|
579
|
+
else
|
|
580
|
+
control.setValue(findSelectedValue());
|
|
581
|
+
}
|
|
582
|
+
else if (formField.fieldInputType === "radio") {
|
|
583
|
+
control.setValue(findSelectedValue());
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
else if (formField.fieldType === "multiSelect") {
|
|
587
|
+
if (formValue && Array.isArray(formValue)) {
|
|
588
|
+
let selectedValues = [];
|
|
589
|
+
for (let value of formValue) {
|
|
590
|
+
let index = formField.itemsList.findIndex(item => item.value === value);
|
|
591
|
+
if (index > -1)
|
|
592
|
+
selectedValues.push({ ...formField.itemsList[index] });
|
|
593
|
+
}
|
|
594
|
+
control.setValue(selectedValues);
|
|
595
|
+
}
|
|
596
|
+
else {
|
|
597
|
+
control.setValue([]);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
else if (formField.fieldType === "boolean") {
|
|
601
|
+
control.setValue(!!formValue);
|
|
602
|
+
}
|
|
603
|
+
else
|
|
604
|
+
control.setValue(null);
|
|
605
|
+
return control;
|
|
606
|
+
}
|
|
607
|
+
mapFormFieldToFormValue(formField, formValue) {
|
|
608
|
+
if (formField.fieldType === "input") {
|
|
609
|
+
if (formField.fieldInputType === "text" || formField.fieldInputType === "textarea")
|
|
610
|
+
return formValue;
|
|
611
|
+
else if (formField.fieldInputType === "number")
|
|
612
|
+
return +formValue;
|
|
613
|
+
else if (formField.fieldInputType === "date") {
|
|
614
|
+
return moment.tz(formValue, formField.fieldConfig.format, formField.fieldConfig.timezone).valueOf();
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
else if (formField.fieldType === "singleSelect") {
|
|
618
|
+
return formValue?.value ?? '';
|
|
619
|
+
}
|
|
620
|
+
else if (formField.fieldType === "multiSelect") {
|
|
621
|
+
return formValue?.map(item => item.value);
|
|
622
|
+
}
|
|
623
|
+
else if (formField.fieldType === "boolean") {
|
|
624
|
+
return formValue;
|
|
625
|
+
}
|
|
626
|
+
else
|
|
627
|
+
return formValue;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
DynamicFormComponent.ɵfac = function DynamicFormComponent_Factory(t) { return new (t || DynamicFormComponent)(); };
|
|
631
|
+
DynamicFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormComponent, selectors: [["mis-dynamic-form"]], inputs: { formFields: "formFields", formValues: "formValues", activeBtnIconUrl: "activeBtnIconUrl", calendarIconUrl: "calendarIconUrl" }, outputs: { formUpdated: "formUpdated", formValid: "formValid", formInitialized: "formInitialized" }, decls: 7, vars: 2, consts: [[3, "formGroup"], ["formArrayName", "dynamicFields"], [3, "formGroupName", 4, "ngFor", "ngForOf"], ["dynamicField", ""], ["dynamicFieldErrors", ""], [3, "formGroupName"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "sub-dynamic-form", 4, "ngIf"], [1, "sub-dynamic-form"], [4, "ngFor", "ngForOf"], ["class", "dynamic-field multi-line-field-container", 4, "ngIf"], ["class", "dynamic-field single-line-field-container", 4, "ngIf"], [1, "dynamic-field", "multi-line-field-container"], [1, "h7", "field-title-sm"], [2, "flex-basis", "100%"], [1, "input-field", "ip-text", 3, "type", "formControl", "ngStyle", "placeholder", "min", "ngModelChange"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], ["type", "text", 1, "input-field", "ip-textarea", 3, "ngStyle", "placeholder", "formControl", "ngModelChange"], [1, "dynamic-field", "single-line-field-container"], [1, "h6"], [1, "date-picker-container"], ["readonly", "", "misTzDp", "", 1, "date-picker", 3, "dpConfig", "selectedDate", "offsetY", "value", "dateChange"], ["dp", ""], ["alt", "data-picker", "class", "date-picker-icon", 3, "src", "click", 4, "ngIf"], ["alt", "data-picker", 1, "date-picker-icon", 3, "src", "click"], [3, "control", "valueChanged"], [3, "searchEnabled", "width", "data", "selectedItem", "onChange"], ["id", "checkboxes-container"], ["class", "radio-checkbox-common", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "radio-checkbox-common", 3, "ngClass", "click"], ["alt", "", 3, "src", 4, "ngIf"], ["alt", "", 3, "src"], [3, "width", "showSelectedCount", "dropdownListWidth", "searchEnabled", "hideApplyButton", "data", "selectedItems", "onChange"], ["id", "error-messages-container"], [1, "h8"], [2, "flex-basis", "100%", "height", "0"]], template: function DynamicFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
632
|
+
i0.ɵɵelementStart(0, "form", 0);
|
|
633
|
+
i0.ɵɵelementContainerStart(1, 1);
|
|
634
|
+
i0.ɵɵtemplate(2, DynamicFormComponent_ng_container_2_Template, 3, 8, "ng-container", 2);
|
|
635
|
+
i0.ɵɵelementContainerEnd();
|
|
636
|
+
i0.ɵɵelementEnd();
|
|
637
|
+
i0.ɵɵtemplate(3, DynamicFormComponent_ng_template_3_Template, 8, 8, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
638
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_5_Template, 3, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
639
|
+
} if (rf & 2) {
|
|
640
|
+
i0.ɵɵproperty("formGroup", ctx.dynamicForm);
|
|
641
|
+
i0.ɵɵadvance(2);
|
|
642
|
+
i0.ɵɵproperty("ngForOf", ctx.getDynamicFieldsControls().controls);
|
|
643
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormControlDirective, i2.FormGroupDirective, i2.FormGroupName, i2.FormArrayName, i3.DropdownComponent, i4.SwitchComponent, i5.MultiSelectDropdownComponent, i6.TzDatepickerDirective, i1.KeyValuePipe], styles: ["p[_ngcontent-%COMP%]{margin:0;cursor:default} .main-container{margin:0;max-width:100%}.sub-dynamic-form[_ngcontent-%COMP%]{padding-left:24px}.dynamic-field[_ngcontent-%COMP%] .container{height:32px!important}.single-line-field-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:flex-start;padding:28px 16px;flex-wrap:wrap;border-bottom:1px solid var(--grey-seperators)}.field-title-sm[_ngcontent-%COMP%]{margin-bottom:8px;cursor:default}.input-field[_ngcontent-%COMP%]{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text[_ngcontent-%COMP%]{height:44px;padding:8px 12px}.ip-textarea[_ngcontent-%COMP%]{max-height:94px;padding:8px}input[_ngcontent-%COMP%]:focus{outline:none}input[_ngcontent-%COMP%]::placeholder{color:var(--grey-seperators)}textarea[_ngcontent-%COMP%]:focus{outline:none}.date-picker-container[_ngcontent-%COMP%]{position:relative;width:140px}.date-picker-container[_ngcontent-%COMP%] .date-picker[_ngcontent-%COMP%]{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container[_ngcontent-%COMP%] .date-picker[_ngcontent-%COMP%]:hover{background-color:var(--grey-hover)}.date-picker-container[_ngcontent-%COMP%] .date-picker-icon[_ngcontent-%COMP%]{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form[_ngcontent-%COMP%] .dynamic-field[_ngcontent-%COMP%]:last-child{border-bottom:none!important}#checkboxes-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-muted);cursor:pointer}.radio-checkbox-common[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:8px}.checkbox-active[_ngcontent-%COMP%]{background-color:var(--pmry-500)}.checkbox-active[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-white)}#error-messages-container[_ngcontent-%COMP%]{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--sem-error)}"] });
|
|
644
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicFormComponent, [{
|
|
645
|
+
type: Component,
|
|
646
|
+
args: [{ selector: "mis-dynamic-form", template: "<form [formGroup]=\"dynamicForm\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls;\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i].subFields[findSelectedIndex(formFields[i]?.subFields, fieldControl.controls.value.value.value)],\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl\" class=\"date-picker-icon\" [src]=\"calendarIconUrl\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" \u2022 \" + error.value}}\n </p>\n <div style=\"flex-basis: 100%; height: 0\"></div>\n </ng-container>\n </div>\n</ng-template>", styles: ["p{margin:0;cursor:default}::ng-deep .main-container{margin:0;max-width:100%}.sub-dynamic-form{padding-left:24px}.dynamic-field ::ng-deep .container{height:32px!important}.single-line-field-container{display:flex;justify-content:space-between;align-items:center;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container{display:flex;justify-content:flex-start;align-items:flex-start;padding:28px 16px;flex-wrap:wrap;border-bottom:1px solid var(--grey-seperators)}.field-title-sm{margin-bottom:8px;cursor:default}.input-field{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text{height:44px;padding:8px 12px}.ip-textarea{max-height:94px;padding:8px}input:focus{outline:none}input::placeholder{color:var(--grey-seperators)}textarea:focus{outline:none}.date-picker-container{position:relative;width:140px}.date-picker-container .date-picker{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container .date-picker:hover{background-color:var(--grey-hover)}.date-picker-container .date-picker-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form .dynamic-field:last-child{border-bottom:none!important}#checkboxes-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common p{color:var(--text-muted);cursor:pointer}.radio-checkbox-common img{margin-right:8px}.checkbox-active{background-color:var(--pmry-500)}.checkbox-active p{color:var(--text-white)}#error-messages-container{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container p{color:var(--sem-error)}\n"] }]
|
|
647
|
+
}], function () { return []; }, { formFields: [{
|
|
648
|
+
type: Input
|
|
649
|
+
}], formValues: [{
|
|
650
|
+
type: Input
|
|
651
|
+
}], activeBtnIconUrl: [{
|
|
652
|
+
type: Input
|
|
653
|
+
}], calendarIconUrl: [{
|
|
654
|
+
type: Input
|
|
655
|
+
}], formUpdated: [{
|
|
656
|
+
type: Output
|
|
657
|
+
}], formValid: [{
|
|
658
|
+
type: Output
|
|
659
|
+
}], formInitialized: [{
|
|
660
|
+
type: Output
|
|
661
|
+
}] }); })();
|
|
662
|
+
export const dynamicFieldValidator = (validators) => {
|
|
663
|
+
return (control) => {
|
|
664
|
+
let value = control.value;
|
|
665
|
+
if (Array.isArray(value)) {
|
|
666
|
+
return null;
|
|
667
|
+
}
|
|
668
|
+
else if (typeof value === 'object') {
|
|
669
|
+
value = value?.value ? value.value : '';
|
|
670
|
+
}
|
|
671
|
+
let errors = null;
|
|
672
|
+
validators.forEach((validator) => {
|
|
673
|
+
let error = null;
|
|
674
|
+
let message = validator.message;
|
|
675
|
+
switch (validator.type) {
|
|
676
|
+
case "Required":
|
|
677
|
+
error = Validators.required(control);
|
|
678
|
+
if (error)
|
|
679
|
+
error = { Required: message };
|
|
680
|
+
break;
|
|
681
|
+
case "MinLength":
|
|
682
|
+
error = Validators.minLength(+validator.value)(control);
|
|
683
|
+
message = message.replace('${0}', error?.minlength.requiredLength);
|
|
684
|
+
if (error)
|
|
685
|
+
error = { MinLength: message };
|
|
686
|
+
break;
|
|
687
|
+
case "MaxLength":
|
|
688
|
+
error = Validators.maxLength(+validator.value)(control);
|
|
689
|
+
message = message.replace('${0}', error?.actualLength);
|
|
690
|
+
if (error)
|
|
691
|
+
error = { MaxLength: message };
|
|
692
|
+
break;
|
|
693
|
+
case "Email":
|
|
694
|
+
error = Validators.email(control);
|
|
695
|
+
if (error)
|
|
696
|
+
error = { Email: message };
|
|
697
|
+
break;
|
|
698
|
+
case "Custom":
|
|
699
|
+
error = Validators.pattern(`${validator.value}`)(control);
|
|
700
|
+
if (error)
|
|
701
|
+
error = { Custom: message };
|
|
702
|
+
break;
|
|
703
|
+
default:
|
|
704
|
+
break;
|
|
705
|
+
}
|
|
706
|
+
if (error)
|
|
707
|
+
errors = { ...errors, ...error };
|
|
708
|
+
});
|
|
709
|
+
return errors;
|
|
710
|
+
};
|
|
711
|
+
};
|
|
712
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0IsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEcsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBaUMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEosT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztJQ1FqQiw2QkFBd0Y7SUFDdEYsMkJBTWU7SUFDakIsMEJBQWU7Ozs7Ozs7O0lBTlgsZUFBaUM7SUFBakMsc0NBQWlDLGdRQUFBOzs7SUFIdkMsOEJBQXlOO0lBQ3ZOLDRHQVFlO0lBQ2pCLGlCQUFNOzs7SUFUc0MsZUFBNEM7SUFBNUMscUVBQTRDOzs7O0lBWDFGLGdDQUFrSDtJQUM5RywyQkFRYTtJQUNmLG9GQVVNO0lBQ1IsMEJBQWU7Ozs7OztJQXJCRCxvQ0FBbUI7SUFFN0IsZUFBaUM7SUFBakMsc0NBQWlDLGlJQUFBO0lBUUosZUFBd0w7SUFBeEwsa2FBQXdMOzs7O0lBOEJ6TiwyQkFJZTs7Ozs7SUFIYixzQ0FBdUMsMkVBQUE7Ozs7O0lBWjNDLCtCQUNnSCxZQUFBO0lBRTVHLFlBQ0Y7SUFBQSxpQkFBSTtJQUNKLDBCQUFvQztJQUNwQyxpQ0FJdUQ7SUFIckQsd1RBQWlCLGVBQUEsZ0VBQWdELENBQUEsSUFBQztJQURwRSxpQkFJdUQ7SUFDdkQs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SyxFQUFFLFlBQVksQ0FBQyxDQUFBO29CQUN0RCxJQUFHLEtBQUs7d0JBQUUsS0FBSyxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFBO29CQUN4QyxNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDakMsSUFBRyxLQUFLO3dCQUFFLEtBQUssR0FBRyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQTtvQkFDbEMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDekQsSUFBRyxLQUFLO3dCQUFFLEtBQUssR0FBRyxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUMsQ0FBQTtvQkFDbkMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO2FBQ1Q7WUFDRCxJQUFJLEtBQUs7Z0JBQUUsTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQTtRQUM3QyxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTnNEeW5hbWljRm9ybSB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5uYW1lc3BhY2VcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IFwibW9tZW50LXRpbWV6b25lXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWR5bmFtaWMtZm9ybVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogZm9ybUZpZWxkczogIER5bmFtaWMgZmllbGRzIHJlY2lldmVkIGZyb20gdGhlIEFQSSBtZXRhZGF0YSB0byBidWlsZCBhIGR5bmFtaWMgZm9ybVxuICAgKiBmb3JtVmFsdWVzOiAgSG9sZHMgdGhlIHZhbHVlIG9mIHRoZSBkeW5hbWljIGZvcm0gd2l0aCBcImtleVwiIGJlaW5nIGR5bmFtaWMgZmllbGQgXCJ0aXRsZVwiXG4gICAqICAgICAgICAgICAgICBhbmQgdmFsdWUgYmVpbmcgdGhlIHVzZXIgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKSBmb3JtRmllbGRzOiBBcnJheTxOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQ+ID0gW107XG4gIEBJbnB1dCgpIGZvcm1WYWx1ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgLy8gTmVlZCB0byBkZXByZWNhdGUgdGhlc2UgaW5wdXRzIGFuZCB1c2UgY29uc3RhbnRzLlxuICBASW5wdXQoKSBhY3RpdmVCdG5JY29uVXJsID0gXCJcIjtcbiAgQElucHV0KCkgY2FsZW5kYXJJY29uVXJsID0gXCJcIjtcbiAgLyoqXG4gICAqIGR5bmFtaWNGb3JtOiBDb25zdHJ1Y3RlZCB1c2luZyBmb3JtRmllbGRzIGFuZCBmb3JtVmFsdWVzKGluIGNhc2Ugb2YgZWRpdClcbiAgICovXG4gIGR5bmFtaWNGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBmb3JtVXBkYXRlZDogRW1pdHMgZm9ybVZhbHVlcyBPYmplY3Qgd2hlbmV2ZXIgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIGR5bmFtaWMgZm9ybS5cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4oKTtcbiAgLyoqXG4gICAqIGZvcm1WYWxpZDogRW1pdHMgYm9vbGVhbiBkZXBlbmRpbmcgb24gdmFsaWRpdHkgb2YgdGhlIGZvcm1cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtVmFsaWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8qKlxuICAgKiBmb3JtSW5pdGlhbGl6ZWQ6IEVtaXRzIGR5bmFtaWMgZm9ybSBBUEkgb24gZm9ybSBpbml0aWxpemF0aW9uXG4gICAqL1xuICBAT3V0cHV0KCkgZm9ybUluaXRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZHluYW1pY0Zvcm1BUEk6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGb3JtQVBJO1xuICB2YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEJ1aWxkaW5nIHRoZSBmb3JtXG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHRoaXMuZ2VuZXJhdGVEeW5hbWljRm9ybSh0aGlzLmZvcm1GaWVsZHMsIHRoaXMuZm9ybVZhbHVlcyk7XG5cbiAgICAvLyBTdWJzY3JpYmluZyB0byBmb3JtIGNoYW5nZXMgYW5kIGVtaXRpbmcgdmFsdWVzLlxuICAgIHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uJCA9IHRoaXMuZHluYW1pY0Zvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgdGhpcy5vbkZvcm1WYWx1ZUNoYW5nZXMoKTtcbiAgICB9KTtcblxuICAgIC8vYXBpIHRvIGV4cG9zZSBmdW5jdGlvbnNcbiAgICB0aGlzLmR5bmFtaWNGb3JtQVBJID0ge1xuICAgICAgZGVmYXVsdEZvcm1WYWx1ZXM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QodGhpcy5keW5hbWljRm9ybS52YWx1ZS5keW5hbWljRmllbGRzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuZm9ybUluaXRpYWxpemVkLmVtaXQodGhpcy5keW5hbWljRm9ybUFQSSk7XG4gICAgdGhpcy5mb3JtVmFsaWQuZW1pdCh0aGlzLmR5bmFtaWNGb3JtLnZhbGlkKTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiQ/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgb25Gb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGxldCBmb3JtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUR5bmFtaWNGaWVsZHNWYWx1ZU9iamVjdCh0aGlzLmR5bmFtaWNGb3JtLnZhbHVlLmR5bmFtaWNGaWVsZHMpO1xuICAgIHRoaXMuZm9ybVZhbGlkLmVtaXQodGhpcy5keW5hbWljRm9ybS52YWxpZCk7XG4gICAgdGhpcy5mb3JtVXBkYXRlZC5lbWl0KGZvcm1WYWx1ZXMpO1xuICAgIGNvbnNvbGUubG9nKGZvcm1WYWx1ZXMpXG4gIH1cbiAgZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QoZm9ybVZhbHVlczogQXJyYXk8YW55Pik6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGxldCBkeW5hbWljRmllbGRzVmFsdWUgPSB7fTtcbiAgICBmb3JtVmFsdWVzLmZvckVhY2goKGZpZWxkVmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLm1hcEZvcm1GaWVsZFRvRm9ybVZhbHVlKHRoaXMuZm9ybUZpZWxkc1tpbmRleF0sIGZpZWxkVmFsdWUudmFsdWUpO1xuICAgICAgaWYgKGZpZWxkVmFsdWUuc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBmb3JtYXR0ZWRTdWJGaWVsZHNWYWx1ZXMgPSB7fVxuICAgICAgICBmaWVsZFZhbHVlLnN1YkZpZWxkcy5mb3JFYWNoKChzdWJGaWVsZFZhbHVlLCBzdWJJbmRleCkgPT4ge1xuICAgICAgICAgIGxldCBzdWJGb3JtRmllbGQgPSB0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLnN1YkZpZWxkc1tzdWJJbmRleF1cbiAgICAgICAgICBmb3JtYXR0ZWRTdWJGaWVsZHNWYWx1ZXNbc3ViRm9ybUZpZWxkLmNvbmZpZ05hbWVdID0gdGhpcy5tYXBGb3JtRmllbGRUb0Zvcm1WYWx1ZShzdWJGb3JtRmllbGQsIHN1YkZpZWxkVmFsdWUpXG4gICAgICAgIH0pXG4gICAgICAgIGR5bmFtaWNGaWVsZHNWYWx1ZVt0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLmNvbmZpZ05hbWVdID0ge1xuICAgICAgICAgIHZhbHVlOiBmb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICBzdWJGaWVsZHM6IGZvcm1hdHRlZFN1YkZpZWxkc1ZhbHVlc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgZHluYW1pY0ZpZWxkc1ZhbHVlW3RoaXMuZm9ybUZpZWxkc1tpbmRleF0uY29uZmlnTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZHluYW1pY0ZpZWxkc1ZhbHVlO1xuICB9XG4gIGdlbmVyYXRlRHluYW1pY0Zvcm0oXG4gICAgZm9ybUZpZWxkczogQXJyYXk8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkPixcbiAgICBmb3JtVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gICk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIGxldCBmb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSlcblxuICAgIGZvciAobGV0IGZpZWxkIG9mIGZvcm1GaWVsZHMpIHtcbiAgICAgIGxldCBmaWVsZFZhbHVlID0gZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXT8udmFsdWUgPyBmb3JtVmFsdWVzW2ZpZWxkLmNvbmZpZ05hbWVdLnZhbHVlIDogZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXVxuICAgICAgbGV0IGZpZWxkQ29udHJvbCA9IHRoaXMubWFwRm9ybVZhbHVlVG9Gb3JtRmllbGQoZmllbGQsIGZpZWxkVmFsdWUpO1xuICAgICAgbGV0IHN1YkZpZWxkc0NvbnRyb2xzID0gdGhpcy5nZW5lcmF0ZVN1YkR5bmFtaWNGaWVsZHMoZm9ybVZhbHVlcywgZmllbGQsIGZpZWxkQ29udHJvbC52YWx1ZSk7XG4gICAgICBmb3JtQXJyYXkucHVzaChuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIHZhbHVlOiBmaWVsZENvbnRyb2wsXG4gICAgICAgIHN1YkZpZWxkczogc3ViRmllbGRzQ29udHJvbHNcbiAgICAgIH0pKVxuICAgIH0gIFxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICBkeW5hbWljRmllbGRzOiBmb3JtQXJyYXlcbiAgICB9KVxuICB9XG4gIFxuICBnZXREeW5hbWljRmllbGRzQ29udHJvbHMoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm0uZ2V0KFwiZHluYW1pY0ZpZWxkc1wiKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG4gIHVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoXG4gICAgZmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWU6IGFueVxuICApOiB2b2lkIHtcbiAgICBpZiAoZmllbGQuc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgc3ViRmllbGRzQ29udHJvbHMgPSB0aGlzLmdlbmVyYXRlU3ViRHluYW1pY0ZpZWxkcyh0aGlzLmZvcm1WYWx1ZXMsIGZpZWxkLCB2YWx1ZSk7XG4gICAgICBmb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnc3ViRmllbGRzJylcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKCdzdWJGaWVsZHMnLCBzdWJGaWVsZHNDb250cm9scylcbiAgICB9XG4gIH1cbiAgdXBkYXRlU2VsZWN0ZWRWYWx1ZUZvclNpbmdsZVNlbGVjdChcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWU6IGFueVxuICApOiB2b2lkIHtcbiAgICBpZiAoY29udHJvbC52YWx1ZT8udmFsdWUgIT09IHZhbHVlLnZhbHVlKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSBjb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1Hcm91cCwgdmFsdWUpO1xuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIHVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWVzOiBBcnJheTxhbnk+XG4gICk6IHZvaWQge1xuICAgIGxldCBzZWxlY3RlZFZhbHVlczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH0+ID0gY29udHJvbC52YWx1ZTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGxldCBpdGVtSW5kZXggPSBzZWxlY3RlZFZhbHVlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmxhYmVsID09PSB2YWx1ZS5sYWJlbCk7XG4gICAgICBpZiAoaXRlbUluZGV4ID4gLTEpIHtcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMuc3BsaWNlKGl0ZW1JbmRleCwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZFZhbHVlcy5wdXNoKHsgLi4udmFsdWUgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRWYWx1ZXMpO1xuICAgIHRoaXMudXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybUdyb3VwLCB2YWx1ZXMpO1xuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIGlzQ2hlY2tCb3hTZWxlY3RlZCh2YWx1ZTogc3RyaW5nLCBzZWxlY3RlZFZhbHVlczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlbGVjdGVkVmFsdWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0ubGFiZWwgPT09IHZhbHVlKSA+IC0xO1xuICB9XG5cbiAgZmluZFNlbGVjdGVkSW5kZXgoc3ViZmllbGRzLCB2YWx1ZSkge1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSBzdWJmaWVsZHMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5wYXJlbnRDb25maWdWYWx1ZSA9PT0gdmFsdWUpO1xuICAgIHJldHVybiBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IHNlbGVjdGVkSW5kZXggOiAwO1xuICB9XG5cbiAgbWF0Y2hQYXJlbnRDb25maWcoc3ViZmllbGRzLCB2YWx1ZSkge1xuICAgIGlmICghc3ViZmllbGRzIHx8IHN1YmZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHN1YmZpZWxkcy5zb21lKGl0ZW0gPT4gaXRlbS5wYXJlbnRDb25maWdWYWx1ZSA9PT0gdmFsdWUpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdWJEeW5hbWljRmllbGRzKFxuICAgIGZvcm1WYWx1ZXM6IGFueSxcbiAgICBwYXJlbnRGaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIHBhcmVudFZhbHVlOiBBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfT4gfCB7bGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhblxuICApOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICBsZXQgY29udHJvbHMgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSlcbiAgICBsZXQgc3ViRmllbGRzID0gcGFyZW50RmllbGQuc3ViRmllbGRzXG4gICAgbGV0IHN1YkZpZWxkc1ZhbHVlcyA9IGZvcm1WYWx1ZXNbcGFyZW50RmllbGQuY29uZmlnTmFtZV0/LnN1YkZpZWxkcyA/IGZvcm1WYWx1ZXNbcGFyZW50RmllbGQuY29uZmlnTmFtZV0uc3ViRmllbGRzIDoge31cbiAgICBpZighc3ViRmllbGRzKSByZXR1cm4gY29udHJvbHM7XG4gICAgaWYgKHBhcmVudEZpZWxkLmZpZWxkVHlwZSA9PT0gJ3NpbmdsZVNlbGVjdCcpIHtcbiAgICAgIHN1YkZpZWxkcyA9IHN1YkZpZWxkcy5maWx0ZXIoKHN1YkZpZWxkKSA9PiBzdWJGaWVsZC5wYXJlbnRDb25maWdWYWx1ZSA9PT0gKDx7bGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9PnBhcmVudFZhbHVlKT8udmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChwYXJlbnRGaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcpIHtcbiAgICAgIGxldCBwYXJlbnRWYWx1ZXMgPSBuZXcgU2V0KCg8QXJyYXk8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH0+PnBhcmVudFZhbHVlKS5tYXAoKHZhbHVlKSA9PiB2YWx1ZS52YWx1ZSkpO1xuICAgICAgc3ViRmllbGRzID0gc3ViRmllbGRzLmZpbHRlcigoc3ViRmllbGQpID0+IHBhcmVudFZhbHVlcy5oYXMoc3ViRmllbGQucGFyZW50Q29uZmlnVmFsdWUpKTtcbiAgICB9XG5cbiAgICBpZiAoc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAobGV0IHN1YkZpZWxkIG9mIHN1YkZpZWxkcykge1xuICAgICAgICAgIGNvbnRyb2xzLnB1c2godGhpcy5tYXBGb3JtVmFsdWVUb0Zvcm1GaWVsZChzdWJGaWVsZCwgc3ViRmllbGRzVmFsdWVzW3N1YkZpZWxkLmNvbmZpZ05hbWVdKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIHJldHVybiBjb250cm9scztcbiAgfVxuICBtYXBGb3JtVmFsdWVUb0Zvcm1GaWVsZChmb3JtRmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCwgZm9ybVZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGxldCB2YWxpZGF0b3JzID0gZm9ybUZpZWxkLnZhbGlkYXRvcnMgPyBbZHluYW1pY0ZpZWxkVmFsaWRhdG9yKGZvcm1GaWVsZC52YWxpZGF0b3JzKV06IFtdXG4gICAgbGV0IGNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIHZhbGlkYXRvcnMpO1xuXG4gICAgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiaW5wdXRcIikge1xuICAgICAgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0XCIgfHwgZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRhcmVhXCIpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybVZhbHVlID8gZm9ybVZhbHVlIDogXCJcIik7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwibnVtYmVyXCIpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybVZhbHVlID8gZm9ybVZhbHVlIDogMCk7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwiZGF0ZVwiKSB7XG4gICAgICAgIGlmIChmb3JtVmFsdWUgJiYgdHlwZW9mIGZvcm1WYWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUobW9tZW50KGZvcm1WYWx1ZSkudHooZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS5mb3JtYXQoZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUobW9tZW50KCkudHooZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS5mb3JtYXQoZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcInNpbmdsZVNlbGVjdFwiKSB7XG4gICAgICBjb25zdCBmaW5kU2VsZWN0ZWRWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IGluZGV4ID0gZm9ybUZpZWxkLml0ZW1zTGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSBmb3JtVmFsdWUpXG4gICAgICAgIHJldHVybiBpbmRleCA+PSAwID8gZm9ybUZpZWxkLml0ZW1zTGlzdFtpbmRleF06IFwiXCI7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRyb3Bkb3duXCIpIHtcbiAgICAgICAgaWYgKCFmb3JtVmFsdWUpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybUZpZWxkLml0ZW1zTGlzdFswXSk7XG4gICAgICAgIGVsc2UgY29udHJvbC5zZXRWYWx1ZShmaW5kU2VsZWN0ZWRWYWx1ZSgpKVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInJhZGlvXCIpIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShmaW5kU2VsZWN0ZWRWYWx1ZSgpKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJtdWx0aVNlbGVjdFwiKSB7XG4gICAgICBpZiAoZm9ybVZhbHVlICYmIEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSkge1xuICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgZm9ybVZhbHVlKSB7XG4gICAgICAgICAgbGV0IGluZGV4ID0gZm9ybUZpZWxkLml0ZW1zTGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHNlbGVjdGVkVmFsdWVzLnB1c2goeyAuLi5mb3JtRmllbGQuaXRlbXNMaXN0W2luZGV4XSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLnNldFZhbHVlKHNlbGVjdGVkVmFsdWVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUoISFmb3JtVmFsdWUpO1xuICAgIH0gZWxzZSBjb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgIHJldHVybiBjb250cm9sO1xuICB9XG4gIG1hcEZvcm1GaWVsZFRvRm9ybVZhbHVlKGZvcm1GaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLCBmb3JtVmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiaW5wdXRcIikge1xuICAgICAgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0XCIgfHwgZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRhcmVhXCIpIHJldHVybiBmb3JtVmFsdWU7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwibnVtYmVyXCIpIHJldHVybiArZm9ybVZhbHVlO1xuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRhdGVcIikge1xuICAgICAgICByZXR1cm4gbW9tZW50LnR6KGZvcm1WYWx1ZSwgZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCwgZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcInNpbmdsZVNlbGVjdFwiKSB7XG4gICAgICByZXR1cm4gZm9ybVZhbHVlPy52YWx1ZSA/PyAnJztcbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwibXVsdGlTZWxlY3RcIikge1xuICAgICAgcmV0dXJuIGZvcm1WYWx1ZT8ubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIGZvcm1WYWx1ZTtcbiAgICB9IGVsc2UgcmV0dXJuIGZvcm1WYWx1ZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZHluYW1pY0ZpZWxkVmFsaWRhdG9yID0gKHZhbGlkYXRvcnM6IEFycmF5PE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZFZhbGlkYXRvcj4pOiBWYWxpZGF0b3JGbiA9PiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGxldCB2YWx1ZSA9IGNvbnRyb2wudmFsdWVcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlPy52YWx1ZSA/IHZhbHVlLnZhbHVlIDogJydcbiAgICB9XG4gICAgbGV0IGVycm9ycyA9IG51bGxcblxuICAgIHZhbGlkYXRvcnMuZm9yRWFjaCgodmFsaWRhdG9yKSA9PiB7XG4gICAgICBsZXQgZXJyb3IgPSBudWxsXG4gICAgICBsZXQgbWVzc2FnZSA9IHZhbGlkYXRvci5tZXNzYWdlXG4gICAgICBzd2l0Y2ggKHZhbGlkYXRvci50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJSZXF1aXJlZFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5yZXF1aXJlZChjb250cm9sKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHtSZXF1aXJlZDogbWVzc2FnZX1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIk1pbkxlbmd0aFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5taW5MZW5ndGgoK3ZhbGlkYXRvci52YWx1ZSkoY29udHJvbClcbiAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCckezB9JywgZXJyb3I/Lm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7IE1pbkxlbmd0aDogbWVzc2FnZSB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJNYXhMZW5ndGhcIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMubWF4TGVuZ3RoKCt2YWxpZGF0b3IudmFsdWUpKGNvbnRyb2wpXG4gICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgnJHswfScsIGVycm9yPy5hY3R1YWxMZW5ndGgpXG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0geyBNYXhMZW5ndGg6IG1lc3NhZ2UgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiRW1haWxcIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMuZW1haWwoY29udHJvbClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7RW1haWw6IG1lc3NhZ2V9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJDdXN0b21cIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMucGF0dGVybihgJHt2YWxpZGF0b3IudmFsdWV9YCkoY29udHJvbClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7Q3VzdG9tOiBtZXNzYWdlfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSBlcnJvcnMgPSB7IC4uLmVycm9ycywgLi4uZXJyb3IgfVxuICAgIH0pXG4gICAgcmV0dXJuIGVycm9yc1xuICB9XG59IiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJkeW5hbWljRm9ybVwiPlxuICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJkeW5hbWljRmllbGRzXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09XCJpXCIgKm5nRm9yPVwibGV0IGZpZWxkQ29udHJvbCBvZiBnZXREeW5hbWljRmllbGRzQ29udHJvbHMoKS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgJGltcGxpY2l0OiBmb3JtRmllbGRzW2ldLFxuICAgICAgICAgIGZvcm1Hcm91cDogZmllbGRDb250cm9sLFxuICAgICAgICAgIGNvbnRyb2w6IGZpZWxkQ29udHJvbC5jb250cm9scy52YWx1ZVxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzcz1cInN1Yi1keW5hbWljLWZvcm1cIiAqbmdJZj1cImZpZWxkQ29udHJvbC52YWx1ZSAmJiAoISFmb3JtRmllbGRzW2ldPy5zdWJGaWVsZHMgJiYgZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzPy5sZW5ndGggPiAwICYmIG1hdGNoUGFyZW50Q29uZmlnKGZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcywgZmllbGRDb250cm9sLmNvbnRyb2xzLnZhbHVlLnZhbHVlLnZhbHVlKSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViRmllbGRDb250cm9sIG9mIGZpZWxkQ29udHJvbC5jb250cm9scy5zdWJGaWVsZHMuY29udHJvbHM7XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZm9ybUZpZWxkc1tpXS5zdWJGaWVsZHNbZmluZFNlbGVjdGVkSW5kZXgoZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzLCBmaWVsZENvbnRyb2wuY29udHJvbHMudmFsdWUudmFsdWUudmFsdWUpXSxcbiAgICAgICAgICAgICAgY29udHJvbDogc3ViRmllbGRDb250cm9sXG4gICAgICAgICAgICB9XCI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9mb3JtPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0ZpZWxkIGxldC1maWVsZCBsZXQtY29udHJvbD1cImNvbnRyb2xcIiBsZXQtZm9ybWdyb3VwPVwiZm9ybUdyb3VwXCI+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdpbnB1dCcgZmllbGRJbnB1dFR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIC0tPlxuICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBtdWx0aS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdpbnB1dCcgJiYgKGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndGV4dCcgfHwgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdudW1iZXInKVwiPlxuICAgIDxwIGNsYXNzPVwiaDcgZmllbGQtdGl0bGUtc21cIj5cbiAgICAgIHt7IGZpZWxkLnRpdGxlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlXCI+PC9kaXY+XG4gICAgPGlucHV0IGNsYXNzPVwiaW5wdXQtZmllbGQgaXAtdGV4dFwiIFt0eXBlXT1cImZpZWxkLmZpZWxkSW5wdXRUeXBlXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCIgXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlcic6IGNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9ycyA/ICcxcHggc29saWQgI0IwMDAyMCc6ICcnfVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJUZXh0ID8gZmllbGQucGxhY2Vob2xkZXJUZXh0IDogJ0lucHV0IFRleHQnXCIgXG4gICAgICBbbWluXT1cImZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnbnVtYmVyJyA/IDAgOiAnJyBcIi8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIiBcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiXG4gICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ3RleHRhcmVhJyAtLT5cbiAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnaW5wdXQnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndGV4dGFyZWEnXCI+XG4gICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAge3sgZmllbGQudGl0bGUgfX1cbiAgICA8L3A+XG4gICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICA8dGV4dGFyZWEgY2xhc3M9XCJpbnB1dC1maWVsZCBpcC10ZXh0YXJlYVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyJzogY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzID8gJzFweCBzb2xpZCAjQjAwMDIwJzogJyd9XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclRleHQgPyBmaWVsZC5wbGFjZWhvbGRlclRleHQgOiAnSW5wdXQgVGV4dCdcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiPjwvdGV4dGFyZWE+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdpbnB1dCcgZmllbGRJbnB1dFR5cGU6ICdkYXRlJyAtLT5cbiAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgc2luZ2xlLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2RhdGUnXCI+XG4gICAgPHAgY2xhc3M9XCJoNlwiPlxuICAgICAge3sgZmllbGQudGl0bGUgfX1cbiAgICA8L3A+XG4gICAgPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZGF0ZS1waWNrZXJcIiByZWFkb25seSBtaXNUekRwIFtkcENvbmZpZ109XCJmaWVsZC5maWVsZENvbmZpZ1wiXG4gICAgICAgIChkYXRlQ2hhbmdlKT1cImNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiIFtzZWxlY3RlZERhdGVdPVwiY29udHJvbC52YWx1ZVwiIFtvZmZzZXRZXT1cIjBcIlxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiICNkcCAvPlxuICAgICAgPGltZyBhbHQ9XCJkYXRhLXBpY2tlclwiICpuZ0lmPVwiY2FsZW5kYXJJY29uVXJsXCIgY2xhc3M9XCJkYXRlLXBpY2tlci1pY29uXCIgW3NyY109XCJjYWxlbmRhckljb25VcmxcIlxuICAgICAgICAoY2xpY2spPVwiZHAuY2xpY2soKVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdib29sZWFuJyBmaWVsZElucHV0VHlwZTogJ3RvZ2dsZScgLS0+XG4gIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdib29sZWFuJyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ3RvZ2dsZSdcIj5cbiAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICB7eyBmaWVsZC50aXRsZSB9fVxuICAgIDwvcD5cbiAgICA8bWlzLXN3aXRjaCBbY29udHJvbF09XCJjb250cm9sXCIgKHZhbHVlQ2hhbmdlZCk9XCJ1cGRhdGVTdWJEeW5hbWljRmllbGRzKGZpZWxkLCBmb3JtZ3JvdXAsICRldmVudClcIj48L21pcy1zd2l0Y2g+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdzaW5nbGVTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAnZHJvcGRvd24nIC0tPlxuICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2Ryb3Bkb3duJ1wiPlxuICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgIHt7IGZpZWxkLnRpdGxlIH19XG4gICAgPC9wPlxuICAgIDxtaXMtZHJvcGRvd24gW3NlYXJjaEVuYWJsZWRdPVwiZmFsc2VcIiBbd2lkdGhdPVwiJzE0MHB4J1wiIFtkYXRhXT1cImZpZWxkLml0ZW1zTGlzdFwiIFtzZWxlY3RlZEl0ZW1dPVwiY29udHJvbC52YWx1ZVwiXG4gICAgICAob25DaGFuZ2UpPVwidXBkYXRlU2VsZWN0ZWRWYWx1ZUZvclNpbmdsZVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCAkZXZlbnQpO1wiPlxuICAgIDwvbWlzLWRyb3Bkb3duPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnc2luZ2xlU2VsZWN0JyBmaWVsZElucHV0VHlwZTogJ3JhZGlvJyAtLT5cbiAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ3JhZGlvJ1wiPlxuICAgIDxwIGNsYXNzPVwiaDcgZmllbGQtdGl0bGUtc21cIj5cbiAgICAgIHt7IGZpZWxkLnRpdGxlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlXCI+PC9kaXY+XG4gICAgPGRpdiBpZD1cImNoZWNrYm94ZXMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tY2hlY2tib3gtY29tbW9uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmllbGQuaXRlbXNMaXN0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnY2hlY2tib3gtYWN0aXZlJzogaXRlbS5sYWJlbCA9PT0gY29udHJvbC52YWx1ZT8ubGFiZWwgfVwiXG4gICAgICAgIChjbGljayk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yU2luZ2xlU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsIGl0ZW0pO1wiPlxuICAgICAgICA8aW1nICpuZ0lmPVwiKGl0ZW0ubGFiZWwgPT09IGNvbnRyb2wudmFsdWU/LmxhYmVsKSAmJiBhY3RpdmVCdG5JY29uVXJsXCIgW3NyY109XCJhY3RpdmVCdG5JY29uVXJsXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgPHAgY2xhc3M9XCJoNlwiPnt7IGl0ZW0ubGFiZWwgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8IS0tIGZpZWxkVHlwZTogJ211bHRpU2VsZWN0JyBmaWVsZElucHV0VHlwZTogJ2NoZWNrYm94JyAtLT5cbiAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnbXVsdGlTZWxlY3QnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnY2hlY2tib3gnXCI+XG4gICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAge3sgZmllbGQudGl0bGUgfX1cbiAgICA8L3A+XG4gICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY2hlY2tib3hlcy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby1jaGVja2JveC1jb21tb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWVsZC5pdGVtc0xpc3RcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdjaGVja2JveC1hY3RpdmUnOiBpc0NoZWNrQm94U2VsZWN0ZWQoaXRlbS5sYWJlbCwgY29udHJvbC52YWx1ZSkgfVwiXG4gICAgICAgIChjbGljayk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yTXVsdGlTZWxlY3QoZmllbGQsIGNvbnRyb2wsIGZvcm1ncm91cCwgW2l0ZW1dKVwiPlxuICAgICAgICA8aW1nICpuZ0lmPVwiaXNDaGVja0JveFNlbGVjdGVkKGl0ZW0ubGFiZWwsIGNvbnRyb2wudmFsdWUpICYmIGFjdGl2ZUJ0bkljb25VcmxcIiBbc3JjXT1cImFjdGl2ZUJ0bkljb25VcmxcIlxuICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj57eyBpdGVtLmxhYmVsIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdtdWx0aVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdkcm9wZG93bicgLS0+XG4gIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICB7eyBmaWVsZC50aXRsZSB9fVxuICAgIDwvcD5cbiAgICA8bWlzLW11bHRpLXNlbGVjdC1kcm9wZG93biBbd2lkdGhdPVwiJzE0MHB4J1wiIFtzaG93U2VsZWN0ZWRDb3VudF09XCJ0cnVlXCIgW2Ryb3Bkb3duTGlzdFdpZHRoXT1cIicyNTZweCdcIlxuICAgICAgW3NlYXJjaEVuYWJsZWRdPVwiZmFsc2VcIiBbaGlkZUFwcGx5QnV0dG9uXT1cInRydWVcIiBbZGF0YV09XCJmaWVsZC5pdGVtc0xpc3RcIlxuICAgICAgW3NlbGVjdGVkSXRlbXNdPVwiY29udHJvbC52YWx1ZVwiIChvbkNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yTXVsdGlTZWxlY3QoZmllbGQsIGNvbnRyb2wsIGZvcm1ncm91cCwgJGV2ZW50KTtcIj48L21pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0ZpZWxkRXJyb3JzIGxldC1lcnJvcnM+XG4gIDxkaXYgaWQ9XCJlcnJvci1tZXNzYWdlcy1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnMgfCBrZXl2YWx1ZVwiPlxuICAgICAgPHAgY2xhc3M9XCJoOFwiPlxuICAgICAgICB7e1wiIOKAoiAmbmJzcDtcIiArIGVycm9yLnZhbHVlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlOyBoZWlnaHQ6IDBcIj48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|