@pepperi-addons/ngx-lib 0.2.61 → 0.3.2
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/address/address.component.theme.scss +4 -7
- package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
- package/attachment/attachment.component.d.ts +1 -0
- package/attachment/attachment.component.theme.scss +3 -2
- package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
- package/bread-crumbs/bread-crumbs.component.theme.scss +7 -7
- package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
- package/bundles/pepperi-addons-ngx-lib-address.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-button.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +4 -1
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-color.umd.js +8 -3
- package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-date.umd.js +4 -1
- package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-form.umd.js +19 -16
- package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-image.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-list.umd.js +3 -3
- package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1104 -0
- package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -0
- package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-select.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-separator.umd.js +9 -1
- package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-signature.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-slider.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +306 -39
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +5 -3
- package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib.umd.js +3 -1
- package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
- package/button/button.component.theme.scss +0 -2
- package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
- package/checkbox/checkbox.component.theme.scss +0 -2
- package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
- package/color/color-picker.component.theme.scss +122 -128
- package/color/color.component.d.ts +1 -0
- package/color/color.component.theme.scss +0 -7
- package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
- package/core/customization/customization.service.d.ts +1 -0
- package/date/date.component.theme.scss +163 -169
- package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
- package/dialog/dialog.component.theme.scss +4 -4
- package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
- package/esm2015/address/address.component.js +2 -2
- package/esm2015/attachment/attachment.component.js +8 -3
- package/esm2015/bread-crumbs/bread-crumbs.component.js +2 -2
- package/esm2015/button/button.component.js +2 -2
- package/esm2015/checkbox/checkbox.component.js +5 -2
- package/esm2015/color/color-picker.component.js +2 -2
- package/esm2015/color/color.component.js +8 -3
- package/esm2015/core/customization/customization.service.js +4 -2
- package/esm2015/date/date.component.js +5 -2
- package/esm2015/dialog/dialog.component.js +2 -2
- package/esm2015/field-title/field-title.component.js +2 -2
- package/esm2015/files-uploader/files-uploader.component.js +2 -2
- package/esm2015/form/indicators.component.js +2 -2
- package/esm2015/form/internal-button.component.js +20 -17
- package/esm2015/group-buttons/group-buttons.component.js +2 -2
- package/esm2015/image/image.component.js +8 -3
- package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
- package/esm2015/list/list-total.component.js +2 -2
- package/esm2015/list/virtual-scroller.js +3 -3
- package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
- package/esm2015/query-builder/common/model/field.js +2 -0
- package/esm2015/query-builder/common/model/filter.js +2 -0
- package/esm2015/query-builder/common/model/legacy.js +2 -0
- package/esm2015/query-builder/common/model/operator-unit.js +42 -0
- package/esm2015/query-builder/common/model/operator.js +207 -0
- package/esm2015/query-builder/common/model/structure.js +2 -0
- package/esm2015/query-builder/common/model/type-map.js +27 -0
- package/esm2015/query-builder/common/model/type.js +6 -0
- package/esm2015/query-builder/common/services/output-query.service.js +111 -0
- package/esm2015/query-builder/common/services/type-convertor.service.js +40 -0
- package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -0
- package/esm2015/query-builder/public-api.js +8 -0
- package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +116 -0
- package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +64 -0
- package/esm2015/query-builder/query-builder.component.js +104 -0
- package/esm2015/query-builder/query-builder.module.js +35 -0
- package/esm2015/query-builder/query-builder.service.js +282 -0
- package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
- package/esm2015/select/select.component.js +8 -3
- package/esm2015/separator/separator.component.js +10 -2
- package/esm2015/side-bar/side-bar.component.js +2 -2
- package/esm2015/signature/signature.component.js +8 -3
- package/esm2015/slider/slider.component.js +2 -2
- package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
- package/esm2015/smart-filters/common/model/base-filter-component.js +35 -8
- package/esm2015/smart-filters/common/model/creator.js +8 -2
- package/esm2015/smart-filters/common/model/field.js +12 -1
- package/esm2015/smart-filters/common/model/operator.js +8 -8
- package/esm2015/smart-filters/common/model/type.js +1 -1
- package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
- package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
- package/esm2015/smart-filters/number-filter/number-filter.component.js +27 -2
- package/esm2015/smart-filters/public-api.js +2 -1
- package/esm2015/smart-filters/smart-filters.component.js +2 -2
- package/esm2015/smart-filters/smart-filters.module.js +16 -3
- package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
- package/esm2015/textarea/textarea.component.js +8 -3
- package/esm2015/textbox/textbox.component.js +6 -4
- package/esm2015/top-bar/top-bar.component.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +4 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.js +8 -3
- package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.js +4 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.js +19 -16
- package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.js +3 -3
- package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1014 -0
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.js +9 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +293 -36
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.js +5 -3
- package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.js +3 -1
- package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
- package/field-title/field-title.component.theme.scss +0 -2
- package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
- package/files-uploader/files-uploader.component.theme.scss +3 -2
- package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
- package/form/indicators.component.theme.scss +5 -5
- package/form/internal-button.component.d.ts +0 -1
- package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
- package/group-buttons/group-buttons.component.theme.scss +11 -11
- package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
- package/image/image.component.d.ts +1 -0
- package/image/image.component.theme.scss +28 -27
- package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
- package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
- package/images-filmstrip/images-filmstrip.component.theme.scss +27 -26
- package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
- package/list/list-total.component.theme.scss +6 -6
- package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
- package/package.json +5 -5
- package/page-layout/page-layout.component.theme.scss +6 -6
- package/pepperi-addons-ngx-lib.metadata.json +1 -1
- package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +1 -0
- package/quantity-selector/quantity-selector.component.theme.scss +21 -21
- package/query-builder/common/model/field.d.ts +8 -0
- package/query-builder/common/model/filter.d.ts +6 -0
- package/query-builder/common/model/legacy.d.ts +29 -0
- package/query-builder/common/model/operator-unit.d.ts +13 -0
- package/query-builder/common/model/operator.d.ts +21 -0
- package/query-builder/common/model/structure.d.ts +4 -0
- package/query-builder/common/model/type-map.d.ts +12 -0
- package/query-builder/common/model/type.d.ts +4 -0
- package/query-builder/common/services/output-query.service.d.ts +44 -0
- package/query-builder/common/services/type-convertor.service.d.ts +10 -0
- package/query-builder/package.json +14 -0
- package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +8 -0
- package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -0
- package/query-builder/public-api.d.ts +4 -0
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +37 -0
- package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -0
- package/query-builder/query-builder-section/query-builder-section.component.theme.scss +7 -0
- package/query-builder/query-builder.component.d.ts +35 -0
- package/query-builder/query-builder.module.d.ts +2 -0
- package/query-builder/query-builder.service.d.ts +94 -0
- package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
- package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
- package/rich-html-textarea/rich-html-textarea.component.theme.scss +77 -70
- package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
- package/select/select.component.d.ts +1 -0
- package/select/select.component.theme.scss +98 -2
- package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
- package/separator/separator.component.theme.scss +1 -1
- package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
- package/side-bar/side-bar.component.theme.scss +17 -16
- package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
- package/signature/signature.component.d.ts +1 -0
- package/signature/signature.component.theme.scss +5 -21
- package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
- package/slider/slider.component.theme.scss +54 -53
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +6 -1
- package/smart-filters/common/model/base-filter-component.d.ts +7 -0
- package/smart-filters/common/model/field.d.ts +4 -0
- package/smart-filters/common/model/operator.d.ts +1 -0
- package/smart-filters/common/model/type.d.ts +2 -2
- package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
- package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
- package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
- package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
- package/smart-filters/public-api.d.ts +1 -0
- package/smart-filters/smart-filters.component.theme.scss +6 -7
- package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
- package/src/assets/i18n/en.ngx-lib.json +2 -1
- package/src/core/style/abstracts/breakpoints.scss +4 -2
- package/src/core/style/abstracts/functions.scss +232 -216
- package/src/core/style/abstracts/mixins.scss +191 -188
- package/src/core/style/base/base.scss +125 -124
- package/src/core/style/base/grids.scss +1 -1
- package/src/core/style/base/typography.scss +66 -62
- package/src/core/style/components/button.scss +57 -60
- package/src/core/style/components/checkbox.scss +41 -38
- package/src/core/style/components/datetime.scss +182 -22
- package/src/core/style/components/file.scss +159 -141
- package/src/core/style/components/general.scss +176 -287
- package/src/core/style/components/input.scss +22 -24
- package/src/core/style/components/quantity-selector.scss +15 -12
- package/src/core/style/components/radio-button.scss +22 -38
- package/src/core/style/components/select.scss +184 -182
- package/src/core/style/components/signature.scss +14 -12
- package/src/core/style/components/splitter.scss +58 -55
- package/src/core/style/components/textarea.scss +90 -78
- package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
- package/textarea/textarea.component.d.ts +1 -0
- package/textarea/textarea.component.theme.scss +3 -2
- package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
- package/textbox/textbox.component.theme.scss +1 -1
- package/theming.scss +50 -144
- package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
- package/top-bar/top-bar.component.theme.scss +7 -7
- package/form/form.component.theme.scss +0 -2
- package/form/internal-button.component.theme.scss +0 -2
- package/form/internal-menu.component.theme.scss +0 -3
- package/list/list-actions.component.theme.scss +0 -3
- package/list/list-carousel.component.theme.scss +0 -9
- package/list/list-chooser.component.theme.scss +0 -3
- package/list/list-pager.component.theme.scss +0 -3
- package/list/list-sorting.component.theme.scss +0 -3
- package/list/list-views.component.theme.scss +0 -3
- package/list/list.component.theme.scss +0 -5
- package/list/list_old.component.theme.scss +0 -5
- package/menu/menu.component.theme.scss +0 -2
- package/search/search.component.theme.scss +0 -3
- package/textbox-icon/textbox-icon.component.theme.scss +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-smart-filters.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-lib/smart-filters/smart-filters.component.ts","../../../projects/ngx-lib/smart-filters/common/filter-actions.component.ts","../../../projects/ngx-lib/smart-filters/common/model/operator.ts","../../../projects/ngx-lib/smart-filters/common/model/base-filter-component.ts","../../../projects/ngx-lib/smart-filters/boolean-filter/boolean-filter.component.ts","../../../projects/ngx-lib/smart-filters/date-filter/date-filter.component.ts","../../../projects/ngx-lib/smart-filters/multi-select-filter/multi-select-filter.component.ts","../../../projects/ngx-lib/smart-filters/number-filter/number-filter.component.ts","../../../projects/ngx-lib/smart-filters/smart-filters.module.ts","../../../projects/ngx-lib/smart-filters/common/model/field.ts","../../../projects/ngx-lib/smart-filters/common/model/creator.ts","../../../projects/ngx-lib/smart-filters/public-api.ts","../../../projects/ngx-lib/smart-filters/pepperi-addons-ngx-lib-smart-filters.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n ElementRef,\n} from '@angular/core';\nimport {\n IPepSmartFilterField,\n PepSmartFilterBaseField,\n} from './common/model/field';\nimport { PepLayoutService } from '@pepperi-addons/ngx-lib';\nimport { IPepSmartFilterData } from './common/model/filter';\n\n@Component({\n selector: 'pep-smart-filters',\n templateUrl: './smart-filters.component.html',\n styleUrls: ['./smart-filters.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSmartFiltersComponent {\n\n @Input() title = '';\n\n filtersDataMap: Map<string, IPepSmartFilterData> = new Map<\n string,\n IPepSmartFilterData\n >();\n\n private _filters: IPepSmartFilterData[] = [];\n @Input()\n set filters(value: IPepSmartFilterData[]) {\n this._filters = value;\n this.setupFilters(value);\n }\n get filters(): IPepSmartFilterData[] {\n this._filters = [...this.filtersDataMap.keys()]\n // .filter((key) => this.filtersDataMap.get(key) !== null)\n .map((key) => {\n if (key) {\n return this.filtersDataMap.get(key);\n }\n });\n\n return this._filters;\n }\n\n private _fields: Array<IPepSmartFilterField> = [];\n @Input()\n set fields(value: Array<IPepSmartFilterField>) {\n this._fields = value;\n }\n get fields(): Array<IPepSmartFilterField> {\n return this._fields;\n }\n\n private _useAsWebComponent = false;\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n // @Output()\n // filtersClear: EventEmitter<void> = new EventEmitter<void>();\n @Output()\n filtersChange: EventEmitter<IPepSmartFilterData[]> = new EventEmitter<\n IPepSmartFilterData[]\n >();\n\n @Output()\n fieldToggleChange: EventEmitter<IPepSmartFilterField> = new EventEmitter<IPepSmartFilterField>();\n\n expansionPanelHeaderHeight = '*';\n\n constructor(\n private hostElement: ElementRef,\n public layoutService: PepLayoutService\n ) { }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.clearFilters = this.clearFilters.bind(\n this\n );\n this.hostElement.nativeElement.clearFilter = this.clearFilter.bind(\n this\n );\n this.hostElement.nativeElement.toggleField = this.toggleField.bind(\n this\n );\n }\n\n private setupFilters(value: IPepSmartFilterData[]) {\n this.filtersDataMap.clear();\n if (value) {\n value.forEach((filter) => {\n // Validate before add the filter into the map.\n let currentField = null;\n\n if (this.fields && this.fields.length > 0) {\n currentField = this.fields.find(\n (field) => field.id === filter.fieldId\n ) as PepSmartFilterBaseField;\n }\n\n if (currentField) {\n // Only if the operator is from the same type\n if (\n filter.operator.componentType.includes(\n currentField.componentType\n )\n ) {\n let isOperatorUnitValid = true;\n if (filter.operatorUnit) {\n // Only if the operator unit is not from the same type\n if (\n !filter.operatorUnit.componentType.includes(\n currentField.componentType\n )\n ) {\n isOperatorUnitValid = false;\n }\n }\n\n // Add the filter.\n if (isOperatorUnitValid) {\n this.filtersDataMap.set(filter.fieldId, filter);\n }\n }\n }\n });\n }\n }\n\n private raiseFiltersChange(): void {\n this.filtersChange.emit(this.filters);\n }\n\n toggleField(index: number, isOpen: boolean): void {\n this.fields[index].isOpen = isOpen;\n this.fieldToggleChange.emit(this.fields[index]);\n }\n\n clearFilters() {\n this.filtersDataMap.clear();\n }\n\n clearFilter(fieldId: string) {\n this.filtersDataMap.delete(fieldId);\n }\n\n // Clear all the filters and raise event that filters has change.\n onFiltersClear() {\n this.clearFilters();\n this.raiseFiltersChange();\n }\n\n // Clear the filter and raise event that filters has change.\n onFilterClear(field: IPepSmartFilterField) {\n this.clearFilter(field.id);\n this.raiseFiltersChange();\n }\n\n // Set the filter and raise event that filters has change.\n onFilterChange(\n field: IPepSmartFilterField,\n filterData: IPepSmartFilterData\n ) {\n this.clearFilter(field.id);\n this.filtersDataMap.set(field.id, filterData);\n this.raiseFiltersChange();\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'pep-filter-actions',\n templateUrl: './filter-actions.component.html',\n styleUrls: ['./filter-actions.component.scss'],\n})\nexport class PepFilterActionsComponent {\n @Input() form: FormGroup;\n\n @Output() clearClick: EventEmitter<void> = new EventEmitter<void>();\n @Output() applyClick: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n clear() {\n this.clearClick.emit();\n }\n\n apply() {\n this.applyClick.emit();\n }\n}\n","import {\n PepSmartFilterComponentType,\n PepSmartFilterOperatorType,\n PepSmartFilterOperatorUnitType,\n} from './type';\nexport class IPepSmartFilterOperator {\n id: PepSmartFilterOperatorType;\n name: string;\n short: string;\n componentType: PepSmartFilterComponentType[];\n}\n\nconst Equals: IPepSmartFilterOperator = {\n id: 'eq',\n name: 'EQUAL',\n short: '=',\n componentType: [\n 'number',\n 'boolean'\n // 'multi-select',\n // 'date',\n // 'text',\n // 'auto-complete',\n // 'select',\n ],\n};\n\nconst NotEqual: IPepSmartFilterOperator = {\n id: 'neq',\n name: 'NOT_EQUAL',\n short: '<>',\n componentType: [\n 'number',\n // 'multi-select',\n // 'date',\n // 'text',\n // 'auto-complete',\n // 'select',\n ],\n};\n\nconst LessThan: IPepSmartFilterOperator = {\n id: 'lt',\n name: 'LESS_THEN',\n short: '<',\n componentType: ['number'],\n};\n\n// const LessThanOrEquals: IPepSmartFilterOperator = {\n// id: 'ltoe',\n// name: 'LESS_THEN_OR_EQUAL',\n// short: '<=',\n// type: ['number'],\n// };\n\nconst GreaterThan: IPepSmartFilterOperator = {\n id: 'gt',\n name: 'GREATER_THEN',\n short: '>',\n componentType: ['number'],\n};\n\n// const GreaterThanOrEquals: IPepSmartFilterOperator = {\n// id: 'gtoe',\n// name: 'GREATER_THEN_OR_EQUAL',\n// short: '>=',\n// type: ['number'],\n// };\n\nconst NumberRange: IPepSmartFilterOperator = {\n id: 'numberRange',\n name: 'NUMBER_RANGE',\n short: 'Range',\n componentType: ['number'],\n};\n\n// const Contains: Operator = {\n// id: 'contains',\n// name: 'Contains',\n// short: 'Contains',\n// type: ['text'],\n// };\n\n// const BeginsWith: Operator = {\n// id: 'beginsWith',\n// name: 'Begins With',\n// short: 'Begins With',\n// type: ['text'],\n// };\n\n// const EndsWith: Operator = {\n// id: 'endsWith',\n// name: 'Ends With',\n// short: 'End With',\n// type: ['text'],\n// };\n\n// const After: Operator = {\n// id: 'after',\n// name: 'After',\n// short: 'After',\n// type: ['date'],\n// };\n\n// const Before: Operator = {\n// id: 'before',\n// name: 'Before',\n// short: 'Before',\n// type: ['date'],\n// };\n\nconst InTheLast: IPepSmartFilterOperator = {\n id: 'inTheLast',\n name: 'IN_THE_LAST',\n short: 'In the last',\n componentType: ['date'],\n};\n\nconst Today: IPepSmartFilterOperator = {\n id: 'today',\n name: 'TODAY',\n short: 'Today',\n componentType: ['date'],\n};\n\nconst ThisWeek: IPepSmartFilterOperator = {\n id: 'thisWeek',\n name: 'THIS_WEEK',\n short: 'This week',\n componentType: ['date'],\n};\n\nconst ThisMonth: IPepSmartFilterOperator = {\n id: 'thisMonth',\n name: 'THIS_MONTH',\n short: 'This month',\n componentType: ['date'],\n};\n\nconst DateRange: IPepSmartFilterOperator = {\n id: 'dateRange',\n name: 'DATE_RANGE',\n short: 'Range',\n componentType: ['date'],\n};\n\nconst DueIn: IPepSmartFilterOperator = {\n id: 'dueIn',\n name: 'DUE_IN',\n short: 'Due in',\n componentType: ['date'],\n};\n\nconst On: IPepSmartFilterOperator = {\n id: 'on',\n name: 'ON',\n short: 'On',\n componentType: ['date'],\n};\n\nconst NotInTheLast: IPepSmartFilterOperator = {\n id: 'notInTheLast',\n name: 'NOT_IN_THE_LAST',\n short: 'Not in the last',\n componentType: ['date'],\n};\n\nconst NotDueIn: IPepSmartFilterOperator = {\n id: 'notDueIn',\n name: 'NOT_DUE_IN',\n short: 'Not due in',\n componentType: ['date'],\n};\n\nconst IsEmpty: IPepSmartFilterOperator = {\n id: 'isEmpty',\n name: 'IS_EMPTY',\n short: 'Is empty',\n componentType: ['date'],\n};\n\nconst IsNotEmpty: IPepSmartFilterOperator = {\n id: 'isNotEmpty',\n name: 'IS_NOT_EMPTY',\n short: 'Is not empty',\n componentType: ['date'],\n};\n\nconst In: IPepSmartFilterOperator = {\n id: 'in',\n name: 'IN',\n short: 'In',\n componentType: ['multi-select'],\n};\n\nexport const PepSmartFilterOperators = {\n Equals: Equals,\n NotEqual: NotEqual,\n LessThan: LessThan,\n // LessThanOrEquals: LessThanOrEquals,\n GreaterThan: GreaterThan,\n // GreaterThanOrEquals: GreaterThanOrEquals,\n NumberRange: NumberRange,\n // Contains: Contains,\n // BeginsWith: BeginsWith,\n // EndsWith: EndsWith,\n // After: After,\n // Before: Before,\n InTheLast: InTheLast,\n Today: Today,\n ThisWeek: ThisWeek,\n ThisMonth: ThisMonth,\n DateRange: DateRange,\n DueIn: DueIn,\n On: On,\n NotInTheLast: NotInTheLast,\n NotDueIn: NotDueIn,\n IsEmpty: IsEmpty,\n IsNotEmpty: IsNotEmpty,\n In: In,\n};\n\nexport class IPepSmartFilterOperatorUnit {\n id: PepSmartFilterOperatorUnitType;\n name: string;\n componentType: PepSmartFilterComponentType[];\n}\n\nconst Days: IPepSmartFilterOperatorUnit = {\n id: 'days',\n name: 'DAYS',\n componentType: ['date'],\n};\n\nconst Weeks: IPepSmartFilterOperatorUnit = {\n id: 'weeks',\n name: 'WEEKS',\n componentType: ['date'],\n};\n\nconst Months: IPepSmartFilterOperatorUnit = {\n id: 'months',\n name: 'MONTHS',\n componentType: ['date'],\n};\n\nconst Years: IPepSmartFilterOperatorUnit = {\n id: 'years',\n name: 'YEARS',\n componentType: ['date'],\n};\n\nexport const PepSmartFilterOperatorUnits = {\n Days: Days,\n Weeks: Weeks,\n Months: Months,\n Years: Years,\n};\n","import {\n Directive,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n AfterViewInit,\n Output,\n ChangeDetectorRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ViewChild,\n ComponentFactoryResolver,\n ComponentFactory,\n ComponentRef,\n Injector,\n ElementRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { Observable, Subject } from 'rxjs';\nimport { PepValidatorService } from '@pepperi-addons/ngx-lib';\nimport {\n IPepSmartFilterOperator,\n IPepSmartFilterOperatorUnit,\n PepSmartFilterOperators,\n PepSmartFilterOperatorUnits,\n} from './operator';\nimport { forwardRef } from '@angular/core';\nimport { IPepSmartFilterData, IPepSmartFilterDataValue } from './filter';\nimport { PepSmartFilterBaseField } from './field';\nimport { takeUntil } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepFilterActionsComponent } from '../filter-actions.component';\n\n@Directive({})\nexport abstract class BaseFilterComponent\n implements OnInit, OnChanges, OnDestroy {\n private readonly _destroyed: Subject<void>;\n private actionsContainerRef: ComponentRef<PepFilterActionsComponent>;\n\n private _fieldIdWithNoDots = '';\n private _field: PepSmartFilterBaseField;\n @Input()\n set field(value: PepSmartFilterBaseField) {\n this._field = value;\n this._fieldIdWithNoDots = value ? value.id.replace(/\\./g, '_') : '';\n this.setupForm();\n }\n get field(): PepSmartFilterBaseField {\n return this._field;\n }\n\n private _filter: IPepSmartFilterData;\n @Input()\n set filter(value: IPepSmartFilterData) {\n this._filter = value;\n this.setupFilter();\n }\n get filter(): IPepSmartFilterData {\n return this._filter;\n }\n\n @Output() filterClear: EventEmitter<void> = new EventEmitter<void>();\n @Output()\n filterChange: EventEmitter<IPepSmartFilterData> = new EventEmitter<IPepSmartFilterData>();\n\n private _operator: IPepSmartFilterOperator;\n set operator(operator: IPepSmartFilterOperator) {\n if (operator?.id != this._operator?.id) {\n // Validate operator\n const index = this.operators.findIndex((o) => o.id === operator.id);\n if (index >= 0) {\n this._operator = this.operators[index];\n } else {\n this._operator = this.operators[0];\n }\n\n this.form.reset();\n this.updateValidity();\n }\n }\n get operator(): IPepSmartFilterOperator {\n return this._operator;\n }\n\n private _operatorUnit: IPepSmartFilterOperatorUnit;\n set operatorUnit(operatorUnit: IPepSmartFilterOperatorUnit) {\n // Validate operator unit\n if (operatorUnit === undefined) {\n this._operatorUnit = undefined;\n } else {\n const index = this.operatorUnits.findIndex(\n (ou) => ou.id === operatorUnit.id\n );\n if (index >= 0) {\n this._operatorUnit = this.operatorUnits[index];\n } else {\n this._operatorUnit = this.operatorUnits[0];\n }\n }\n }\n get operatorUnit(): IPepSmartFilterOperatorUnit {\n return this._operatorUnit;\n }\n\n get firstControlKey() {\n return this.field ? `${this._fieldIdWithNoDots}_first` : 'first';\n }\n get firstControl(): AbstractControl {\n return this.form.get(this.firstControlKey);\n }\n get secondControlKey() {\n return this.field ? `${this._fieldIdWithNoDots}_second` : 'second';\n }\n get secondControl(): AbstractControl {\n return this.form.get(this.secondControlKey);\n }\n\n protected operators: IPepSmartFilterOperator[];\n protected operatorUnits: IPepSmartFilterOperatorUnit[];\n\n protected readonly OPERATORS_TRANSLATION_PREFIX = 'SMART_FILTERS.OPERATORS';\n protected readonly OPERATOR_UNITS_TRANSLATION_PREFIX =\n 'SMART_FILTERS.OPERATOR_UNITS';\n\n form: FormGroup;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n private resolver: ComponentFactoryResolver,\n private builder: FormBuilder,\n protected translate: TranslateService,\n protected validator: PepValidatorService,\n protected renderer: Renderer2\n ) {\n this._destroyed = new Subject();\n }\n\n private createActionsComponent() {\n const factory: ComponentFactory<PepFilterActionsComponent> = this.resolver.resolveComponentFactory(\n PepFilterActionsComponent\n );\n\n this.actionsContainerRef = factory.create(this.injector);\n this.actionsContainerRef.instance.form = this.form;\n this.actionsContainerRef.instance.applyClick.subscribe(() =>\n this.applyFilter()\n );\n this.actionsContainerRef.instance.clearClick.subscribe(() =>\n this.clearFilter()\n );\n\n this.viewContainerRef.insert(this.actionsContainerRef.hostView);\n }\n\n private setupForm() {\n const formValue = {};\n formValue[this.firstControlKey] = [];\n formValue[this.secondControlKey] = [];\n // this.form.patchValue(formValue);\n\n this.form = this.builder.group(formValue);\n // this.form[this.firstControlKey] = [];\n // this.form[this.secondControlKey] = [];\n\n this.setupOperators();\n\n this.createActionsComponent();\n }\n\n private setupOperators() {\n // Get the operators by componentType.\n this.operators = Object.keys(PepSmartFilterOperators)\n .filter((key) => {\n return PepSmartFilterOperators[key].componentType.includes(\n this.field.componentType\n );\n })\n .map((key) => PepSmartFilterOperators[key]);\n\n // Filter by from field.operators input if exist.\n if (this.field.operators?.length > 0) {\n this.operators = this.operators.filter((o1) =>\n this.field.operators.some((o2) => o1.id === o2)\n );\n }\n\n // Get the operator units by componentType.\n this.operatorUnits = Object.keys(PepSmartFilterOperatorUnits)\n .filter((key) => {\n return PepSmartFilterOperatorUnits[key].componentType.includes(\n this.field.componentType\n );\n })\n .map((key) => PepSmartFilterOperatorUnits[key]);\n\n // Filter by from field.operatorsUnits input if exist.\n if (this.field.operatorUnits?.length > 0) {\n this.operatorUnits = this.operatorUnits.filter((o1) =>\n this.field.operatorUnits.some((o2) => o1.id === o2)\n );\n }\n\n // Load translation before get the options in the children.\n this.translate.get('SMART_FILTERS.TITLE').subscribe((res) => {\n this.loadOperatorsOptions();\n });\n }\n\n private setupFilter() {\n if (this.filter) {\n this.operator = this.filter.operator;\n this.operatorUnit = this.filter.operatorUnit;\n const formValue = {};\n formValue[this.firstControlKey] = this.filter.value.first;\n formValue[this.secondControlKey] = this.filter.value.second;\n this.form.patchValue(formValue);\n } else {\n this.operator = this.getDefaultOperator();\n this.operatorUnit = this.getDefaultOperatorUnit();\n this.clearFilter(false);\n }\n }\n\n protected getDestroyer() {\n return takeUntil(this._destroyed);\n }\n\n private updateValidity() {\n this.setFieldsStateAndValidators();\n\n this.firstControl.updateValueAndValidity();\n this.secondControl.updateValueAndValidity();\n }\n // Load the operators options from the translation.\n protected loadOperatorsOptions(): void {\n // Not implemented in the base\n }\n\n // Set default validators - some childs override this.\n protected setFieldsStateAndValidators(): void {\n this.firstControl.setValidators(Validators.required);\n this.secondControl.setValidators(Validators.required);\n this.secondControl.disable();\n }\n\n // Return undefined - some childs override this.\n protected getDefaultOperatorUnit(): IPepSmartFilterOperatorUnit {\n return undefined;\n }\n\n protected initFilter() {\n // Not implemented in the base\n }\n\n abstract getDefaultOperator(): IPepSmartFilterOperator;\n abstract getFilterValue(): IPepSmartFilterDataValue;\n\n clearFilter(emitEvent = true) {\n this._filter = null;\n this.form.reset();\n this.initFilter();\n\n if (emitEvent) {\n this.filterClear.emit();\n }\n }\n\n applyFilter() {\n const filterValue = this.getFilterValue();\n\n // If the filter is not null declare it, else - clear it.\n if (filterValue) {\n const filter = {\n fieldId: this.field.id,\n operator: this.operator,\n operatorUnit: this.operatorUnit,\n value: filterValue,\n };\n this._filter = filter;\n this.filterChange.emit(filter);\n } else {\n this.clearFilter();\n }\n }\n\n ngOnInit(): void {\n if (this.form) {\n this.updateValidity();\n }\n }\n\n ngOnChanges(): void {\n // if (this.form) {\n // this.updateValidity();\n // }\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n\n this.actionsContainerRef.destroy();\n }\n\n // writeValue(value: IPepSmartFilterDataValue): void {\n // if (value) {\n // this.form.setValue(\n // {\n // first: value.first,\n // second: value.second || null,\n // },\n // { emitEvent: false }\n // );\n // } else {\n // this.form.reset();\n // }\n // }\n\n // registerOnChange(fn: any): void {\n // this.form.valueChanges.subscribe(fn);\n // }\n\n // onTouched: () => void = () => {\n // /* Do nothing */\n // };\n\n // registerOnTouched(fn: any): void {\n // this.onTouched = fn;\n // }\n\n // setDisabledState?(isDisabled: boolean): void {\n // isDisabled ? this.form.disable() : this.form.enable();\n // }\n\n // validate(control: AbstractControl): ValidationErrors {\n // return this.form.valid ? null : { PepFilterIsNotValid: true };\n // }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\n\n@Component({\n selector: 'pep-boolean-filter',\n templateUrl: './boolean-filter.component.html',\n styleUrls: ['./boolean-filter.component.scss'],\n})\nexport class PepBooleanFilterComponent extends BaseFilterComponent {\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.Equals;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = { first: this.firstControl.value || false };\n return filterValue;\n }\n\n // // Override\n // setFieldsStateAndValidators(): void {\n // this.secondControl.disable();\n // }\n}\n","import { Component } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n IPepSmartFilterOperatorUnit,\n PepSmartFilterOperators,\n PepSmartFilterOperatorUnits,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { Validators } from '@angular/forms';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-date-filter',\n templateUrl: './date-filter.component.html',\n styleUrls: ['./date-filter.component.scss'],\n})\nexport class PepDateFilterComponent extends BaseFilterComponent {\n PepSmartFilterOperators = PepSmartFilterOperators;\n chooseTimeOptions: Array<IPepOption> = [];\n chooseTimeUnitOptions: Array<IPepOption> = [];\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.InTheLast;\n }\n\n // Override\n getDefaultOperatorUnit(): IPepSmartFilterOperatorUnit {\n if (this.operator === PepSmartFilterOperators.InTheLast ||\n this.operator === PepSmartFilterOperators.NotInTheLast ||\n this.operator === PepSmartFilterOperators.DueIn ||\n this.operator === PepSmartFilterOperators.NotDueIn) {\n return PepSmartFilterOperatorUnits.Months;\n } else {\n return undefined;\n }\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = {\n first: this.firstControl.value,\n };\n\n if (this.operator === PepSmartFilterOperators.DateRange) {\n filterValue['second'] = this.secondControl.value;\n }\n\n return filterValue;\n }\n\n // Override\n loadOperatorsOptions() {\n this.chooseTimeOptions = this.operators.map((operator) => {\n return {\n key: operator.id,\n value: this.translate.instant(\n `${this.OPERATORS_TRANSLATION_PREFIX}.${operator.name}`\n ),\n };\n });\n\n this.chooseTimeUnitOptions = this.operatorUnits.map((operatorUnit) => {\n return {\n key: operatorUnit.id,\n value: this.translate.instant(\n `${this.OPERATOR_UNITS_TRANSLATION_PREFIX}.${operatorUnit.name}`\n ),\n };\n });\n }\n\n // Override\n setFieldsStateAndValidators(): void {\n this.firstControl.enable();\n\n if (this.operator === PepSmartFilterOperators.DateRange) {\n this.firstControl.setValidators(Validators.required);\n this.secondControl.enable();\n this.secondControl.setValidators(Validators.required);\n } else if (\n this.operator === PepSmartFilterOperators.InTheLast ||\n this.operator === PepSmartFilterOperators.NotInTheLast ||\n this.operator === PepSmartFilterOperators.DueIn ||\n this.operator === PepSmartFilterOperators.NotDueIn\n ) {\n this.firstControl.setValidators([\n Validators.required,\n this.validator.numberValidator(),\n ]);\n this.secondControl.disable();\n } else {\n // Disable 'first' field.\n if (\n this.operator === PepSmartFilterOperators.Today ||\n this.operator === PepSmartFilterOperators.ThisWeek ||\n this.operator === PepSmartFilterOperators.ThisMonth ||\n this.operator === PepSmartFilterOperators.IsEmpty ||\n this.operator === PepSmartFilterOperators.IsNotEmpty\n ) {\n this.firstControl.disable();\n }\n\n // Default disable 'second' field.\n super.setFieldsStateAndValidators();\n }\n }\n\n onOperatorChanged(value: string) {\n const operator = Object.values(PepSmartFilterOperators).find(\n (operator) => operator.id === value\n );\n\n this.operator = operator;\n this.operatorUnit = this.getDefaultOperatorUnit();\n }\n\n onTimeUnitChanged(value: string) {\n const operatorUnit = Object.values(PepSmartFilterOperatorUnits).find(\n (operatorUnit) => operatorUnit.id === value\n );\n this.operatorUnit = operatorUnit;\n }\n}\n","import {\n AfterViewInit,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { IPepSmartFilterFieldOption } from '../common/model/field';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { VirtualScrollerComponent } from 'ngx-virtual-scroller';\n\nclass PepMultiSelectFilterOption implements IPepSmartFilterFieldOption {\n value: string;\n count?: number;\n selected = false;\n}\n\n@Component({\n selector: 'pep-multi-select-filter',\n templateUrl: './multi-select-filter.component.html',\n styleUrls: ['./multi-select-filter.component.scss'],\n})\nexport class PepMultiSelectFilterComponent\n extends BaseFilterComponent\n implements OnInit, AfterViewInit {\n options: PepMultiSelectFilterOption[] = [];\n filteredOptions$: Observable<any>;\n searchControl = new FormControl();\n\n @ViewChild('optionsContainer')\n optionsContainer: ElementRef;\n\n private readonly MAX_OPTIONS_TO_SHOW = 6.35;\n @ViewChild(VirtualScrollerComponent)\n private virtualScroller: VirtualScrollerComponent;\n\n numberOptionsToShowSearch = 10;\n\n ngOnInit() {\n super.ngOnInit;\n\n if (this.field.options?.length > 0) {\n this.options = this.field.options.map((opt) => {\n return { value: opt.value, count: opt.count, selected: false };\n });\n } else {\n this.searchControl.disable();\n }\n\n // Init the selected values from first value.\n const firstControl = this.firstControl;\n if (firstControl.value) {\n this.initOptionsSelectedValues(firstControl.value);\n }\n\n // Add subscription for the first value change to set the selected options.\n firstControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe((selectedValues: string[]) => {\n this.initOptionsSelectedValues(selectedValues);\n });\n\n // Filter the options by the search control.\n this.filteredOptions$ = this.searchControl.valueChanges.pipe(\n this.getDestroyer(),\n startWith<any>(''),\n map((option) =>\n typeof option === 'string' ? option : option && option.value\n ),\n map((value) => (value ? this.filterOptions(value) : this.options))\n );\n\n // Each time the filter change.\n this.filteredOptions$.subscribe(\n (filterdOptions: PepMultiSelectFilterOption[]) => {\n this.calcOptionsHeight(filterdOptions.length);\n setTimeout(() => {\n // 8 is the padding top of the multi-select-options\n this.virtualScroller.scrollToPosition(-8);\n }, 125);\n }\n );\n }\n\n ngAfterViewInit(): void {\n // Calc for the first time.\n this.calcOptionsHeight(this.options.length);\n }\n\n initOptionsSelectedValues(selectedValues: string[]): void {\n this.options.forEach((opt) => {\n const isValueSelected =\n selectedValues && selectedValues.includes(opt.value);\n opt.selected = isValueSelected;\n });\n }\n\n private calcOptionsHeight(optionsCount: number) {\n if (this.optionsContainer) {\n const optionsToShow =\n optionsCount > this.MAX_OPTIONS_TO_SHOW\n ? this.MAX_OPTIONS_TO_SHOW\n : optionsCount;\n // optionsToShow * 2.25 is 1 option height + 1 is the padding top & bottom of the container.\n const optionsHeight = optionsToShow * 2.25 + 1 + 'rem';\n\n this.renderer.setStyle(\n this.optionsContainer.nativeElement,\n 'height',\n optionsHeight\n );\n }\n }\n\n private filterOptions(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.options.filter(\n (opt) =>\n opt.value &&\n opt.value.toLowerCase().includes(filterValue.toLowerCase())\n );\n }\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.In;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const selectedValues = this.options\n .filter((opt) => opt.selected)\n .map((opt) => opt.value);\n const filterValue = {\n first: selectedValues,\n };\n\n return selectedValues.length > 0 ? filterValue : null;\n }\n\n // Override\n initFilter() {\n this.options.forEach((opt) => (opt.selected = false));\n this.searchControl.setValue('');\n }\n\n onOptionChange(\n option: PepMultiSelectFilterOption,\n event: MatCheckboxChange\n ) {\n option.selected = event.checked;\n this.firstControl.setValue(\n this.options.filter((opt) => opt.selected).map((opt) => opt.value),\n { emitEvent: false }\n );\n }\n}\n","import { Component, OnChanges, OnInit } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { Validators } from '@angular/forms';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pep-number-filter',\n templateUrl: './number-filter.component.html',\n styleUrls: ['./number-filter.component.scss'],\n})\nexport class PepNumberFilterComponent extends BaseFilterComponent implements OnInit {\n PepSmartFilterOperators = PepSmartFilterOperators;\n chooseTypeOptions: Array<IPepOption> = [];\n\n ngOnInit() {\n this.firstControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe(() => {\n this.setFieldsStateAndValidators();\n });\n\n this.secondControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe(() => {\n this.setFieldsStateAndValidators();\n });\n }\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.Equals;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = {\n first: this.firstControl.value,\n };\n\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n filterValue['second'] = this.secondControl.value;\n }\n\n return filterValue;\n }\n\n // Override\n loadOperatorsOptions() {\n this.chooseTypeOptions = this.operators.map((operator) => {\n return {\n key: operator.id,\n value: this.translate.instant(\n `${this.OPERATORS_TRANSLATION_PREFIX}.${operator.name}`\n ),\n };\n });\n }\n\n // Override\n setFieldsStateAndValidators(): void {\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n const firstValidators = [Validators.required];\n if (this.secondControl.value) {\n firstValidators.push(this.validator.isLessThan(this.secondControl));\n }\n this.firstControl.setValidators(firstValidators);\n\n\n this.secondControl.enable();\n const secondValidators = [Validators.required];\n if (this.firstControl.value) {\n secondValidators.push(this.validator.isGreaterThan(this.firstControl));\n }\n this.secondControl.setValidators(secondValidators);\n } else {\n super.setFieldsStateAndValidators();\n }\n }\n\n onOperatorChanged(value: string) {\n const operator = Object.values(PepSmartFilterOperators).find(\n (operator) => operator.id === value\n );\n this.operator = operator;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRadioModule } from '@angular/material/radio';\n\nimport { VirtualScrollerModule } from 'ngx-virtual-scroller';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';\nimport { PepDateModule } from '@pepperi-addons/ngx-lib/date';\nimport { PepSelectModule } from '@pepperi-addons/ngx-lib/select';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconNumberMinus,\n pepIconNumberPlus,\n} from '@pepperi-addons/ngx-lib/icon';\n\n// import { BaseFilterComponent } from './common/model/base-filter-component';\nimport { PepSmartFiltersComponent } from './smart-filters.component';\nimport { PepFilterActionsComponent } from './common/filter-actions.component';\nimport { PepBooleanFilterComponent } from './boolean-filter/boolean-filter.component';\nimport { PepDateFilterComponent } from './date-filter/date-filter.component';\nimport { PepMultiSelectFilterComponent } from './multi-select-filter/multi-select-filter.component';\nimport { PepNumberFilterComponent } from './number-filter/number-filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n // Material modules\n MatCommonModule,\n MatCheckboxModule,\n MatChipsModule,\n MatExpansionModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatRadioModule,\n // External modules\n VirtualScrollerModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepCheckboxModule,\n PepDateModule,\n PepSelectModule,\n PepTextboxModule,\n PepSearchModule,\n PepIconModule,\n ],\n exports: [PepSmartFiltersComponent],\n declarations: [\n // BaseFilterComponent,\n PepSmartFiltersComponent,\n PepFilterActionsComponent,\n PepBooleanFilterComponent,\n PepDateFilterComponent,\n PepMultiSelectFilterComponent,\n PepNumberFilterComponent,\n ],\n})\nexport class PepSmartFiltersModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconNumberMinus,\n pepIconNumberPlus,\n ]);\n }\n}\n","import {\n IPepSmartFilterOperator,\n IPepSmartFilterOperatorUnit,\n} from './operator';\nimport {\n PepSmartFilterComponentType,\n PepSmartFilterType,\n PepSmartFilterOperatorType,\n PepSmartFilterOperatorUnitType,\n} from './type';\n\nexport interface IPepSmartFilterFieldOption {\n value: string;\n count?: number;\n}\n\nexport interface IPepSmartFilterField {\n id: string;\n name: string;\n isOpen?: boolean;\n options?: IPepSmartFilterFieldOption[];\n operators?: PepSmartFilterOperatorType[];\n operatorUnits?: PepSmartFilterOperatorUnitType[];\n}\n\n// Base field\n// ------------------------------\nexport abstract class PepSmartFilterBaseField implements IPepSmartFilterField {\n id: string;\n name: string;\n isOpen?: boolean;\n options?: IPepSmartFilterFieldOption[];\n operators?: PepSmartFilterOperatorType[];\n operatorUnits?: PepSmartFilterOperatorUnitType[];\n\n protected _componentType: PepSmartFilterComponentType;\n get componentType(): PepSmartFilterComponentType {\n return this._componentType;\n }\n\n private _type: PepSmartFilterType;\n get type(): PepSmartFilterType {\n return this._type;\n }\n\n constructor(field: IPepSmartFilterField) {\n this.id = field.id;\n this.name = field.name;\n this.isOpen = field.isOpen;\n this.options = field.options;\n this.operators = field.operators;\n this.operatorUnits = field.operatorUnits;\n\n this._type = this.getType();\n }\n\n protected abstract getType(): PepSmartFilterType;\n}\n\n// Boolean field\n// ------------------------------\nexport class PepSmartFilterBooleanField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'boolean';\n }\n\n getType(): PepSmartFilterType {\n return 'boolean';\n }\n}\n\n// Date fields\n// ------------------------------\nexport abstract class PepSmartFilterDateBaseField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'date';\n }\n}\nexport class PepSmartFilterDateField extends PepSmartFilterDateBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'date';\n }\n}\nexport class PepSmartFilterDateTimeField extends PepSmartFilterDateBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'date-time';\n }\n}\n\n// Multi select field\n// ------------------------------\nexport class PepSmartFilterMultiSelectField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'multi-select';\n }\n\n getType(): PepSmartFilterType {\n return 'multi-select';\n }\n}\n\n// Number fields\n// ------------------------------\nexport abstract class PepSmartFilterNumberBaseField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'number';\n }\n}\nexport class PepSmartFilterIntField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'int';\n }\n}\nexport class PepSmartFilterRealField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'real';\n }\n}\nexport class PepSmartFilterCurrencyField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'currency';\n }\n}\nexport class PepSmartFilterPercentageField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'percentage';\n }\n}\n","import {\n IPepSmartFilterField,\n PepSmartFilterBaseField,\n PepSmartFilterBooleanField,\n PepSmartFilterDateField,\n PepSmartFilterMultiSelectField,\n PepSmartFilterIntField,\n PepSmartFilterDateTimeField,\n PepSmartFilterPercentageField,\n PepSmartFilterCurrencyField,\n PepSmartFilterRealField,\n} from './field';\nimport { IPepSmartFilterData } from './filter';\nimport { IPepSmartFilterOperator, IPepSmartFilterOperatorUnit } from './operator';\nimport { PepSmartFilterType } from './type';\n\nfunction createBooleanSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterBooleanField(data);\n}\n\nfunction createDateSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterDateField(data);\n}\n\nfunction createDateTimeSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterDateTimeField(data);\n}\n\nfunction createMultiSelectSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterMultiSelectField(data);\n}\n\nfunction createIntSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterIntField(data);\n}\n\nfunction createRealSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterRealField(data);\n}\n\nfunction createCurrencySmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterCurrencyField(data);\n}\n\nfunction createPercentageSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterPercentageField(data);\n}\n\nexport function createSmartFilterField(\n data: IPepSmartFilterField,\n type: PepSmartFilterType\n): PepSmartFilterBaseField {\n let field: PepSmartFilterBaseField;\n\n switch (type) {\n case 'boolean':\n field = createBooleanSmartFilterField(data);\n break;\n case 'date':\n field = createDateSmartFilterField(data);\n break;\n case 'date-time':\n field = createDateTimeSmartFilterField(data);\n break;\n case 'multi-select':\n field = createMultiSelectSmartFilterField(data);\n break;\n case 'int':\n field = createIntSmartFilterField(data);\n break;\n case 'real':\n field = createRealSmartFilterField(data);\n break;\n case 'currency':\n field = createCurrencySmartFilterField(data);\n break;\n case 'percentage':\n field = createPercentageSmartFilterField(data);\n break;\n\n default:\n field = createMultiSelectSmartFilterField(data);\n break;\n }\n\n return field;\n}\n\nexport function createSmartFilter(\n fieldId: string,\n operator: IPepSmartFilterOperator,\n first: any,\n second?: any,\n operatorUnit?: IPepSmartFilterOperatorUnit\n): IPepSmartFilterData {\n return {\n fieldId: fieldId,\n operator: operator,\n operatorUnit: operatorUnit,\n value: {\n first: first,\n second: second,\n },\n };\n}","/*\n * Public API Surface of ngx-lib/smart-filters\n */\nexport * from './smart-filters.module';\nexport * from './smart-filters.component';\nexport * from './common/model/base-filter-component';\nexport * from './common/filter-actions.component';\nexport * from './boolean-filter/boolean-filter.component';\nexport * from './date-filter/date-filter.component';\nexport * from './multi-select-filter/multi-select-filter.component';\nexport * from './number-filter/number-filter.component';\n\n// Model\nexport * from './common/model/creator';\nexport * from './common/model/field';\nexport * from './common/model/filter';\nexport * from './common/model/operator';\nexport * from './common/model/type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","Component","ChangeDetectionStrategy","ElementRef","PepLayoutService","Input","Output","Subject","takeUntil","Validators","Directive","ViewContainerRef","Injector","ComponentFactoryResolver","FormBuilder","TranslateService","PepValidatorService","Renderer2","FormControl","distinctUntilChanged","startWith","map","ViewChild","VirtualScrollerComponent","pepIconNumberMinus","pepIconNumberPlus","NgModule","CommonModule","ReactiveFormsModule","FlexLayoutModule","MatCommonModule","MatCheckboxModule","MatChipsModule","MatExpansionModule","MatIconModule","MatFormFieldModule","MatInputModule","MatRadioModule","VirtualScrollerModule","PepNgxLibModule","PepCheckboxModule","PepDateModule","PepSelectModule","PepTextboxModule","PepSearchModule","PepIconModule","PepIconRegistry"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-smart-filters.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-lib/smart-filters/smart-filters.component.ts","../../../projects/ngx-lib/smart-filters/common/filter-actions.component.ts","../../../projects/ngx-lib/smart-filters/common/model/operator.ts","../../../projects/ngx-lib/smart-filters/common/model/base-filter-component.ts","../../../projects/ngx-lib/smart-filters/text-filter/text-filter.component.ts","../../../projects/ngx-lib/smart-filters/boolean-filter/boolean-filter.component.ts","../../../projects/ngx-lib/smart-filters/date-filter/date-filter.component.ts","../../../projects/ngx-lib/smart-filters/multi-select-filter/multi-select-filter.component.ts","../../../projects/ngx-lib/smart-filters/number-filter/number-filter.component.ts","../../../projects/ngx-lib/smart-filters/smart-filters.module.ts","../../../projects/ngx-lib/smart-filters/common/model/field.ts","../../../projects/ngx-lib/smart-filters/common/model/creator.ts","../../../projects/ngx-lib/smart-filters/public-api.ts","../../../projects/ngx-lib/smart-filters/pepperi-addons-ngx-lib-smart-filters.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n ElementRef,\n} from '@angular/core';\nimport {\n IPepSmartFilterField,\n PepSmartFilterBaseField,\n} from './common/model/field';\nimport { PepLayoutService } from '@pepperi-addons/ngx-lib';\nimport { IPepSmartFilterData } from './common/model/filter';\n\n@Component({\n selector: 'pep-smart-filters',\n templateUrl: './smart-filters.component.html',\n styleUrls: ['./smart-filters.component.scss', './smart-filters.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSmartFiltersComponent {\n\n @Input() title = '';\n\n filtersDataMap: Map<string, IPepSmartFilterData> = new Map<\n string,\n IPepSmartFilterData\n >();\n\n private _filters: IPepSmartFilterData[] = [];\n @Input()\n set filters(value: IPepSmartFilterData[]) {\n this._filters = value;\n this.setupFilters(value);\n }\n get filters(): IPepSmartFilterData[] {\n this._filters = [...this.filtersDataMap.keys()]\n // .filter((key) => this.filtersDataMap.get(key) !== null)\n .map((key) => {\n if (key) {\n return this.filtersDataMap.get(key);\n }\n });\n\n return this._filters;\n }\n\n private _fields: Array<IPepSmartFilterField> = [];\n @Input()\n set fields(value: Array<IPepSmartFilterField>) {\n this._fields = value;\n }\n get fields(): Array<IPepSmartFilterField> {\n return this._fields;\n }\n\n private _useAsWebComponent = false;\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n // @Output()\n // filtersClear: EventEmitter<void> = new EventEmitter<void>();\n @Output()\n filtersChange: EventEmitter<IPepSmartFilterData[]> = new EventEmitter<\n IPepSmartFilterData[]\n >();\n\n @Output()\n fieldToggleChange: EventEmitter<IPepSmartFilterField> = new EventEmitter<IPepSmartFilterField>();\n\n expansionPanelHeaderHeight = '*';\n\n constructor(\n private hostElement: ElementRef,\n public layoutService: PepLayoutService\n ) { }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.clearFilters = this.clearFilters.bind(\n this\n );\n this.hostElement.nativeElement.clearFilter = this.clearFilter.bind(\n this\n );\n this.hostElement.nativeElement.toggleField = this.toggleField.bind(\n this\n );\n }\n\n private setupFilters(value: IPepSmartFilterData[]) {\n this.filtersDataMap.clear();\n if (value) {\n value.forEach((filter) => {\n // Validate before add the filter into the map.\n let currentField = null;\n\n if (this.fields && this.fields.length > 0) {\n currentField = this.fields.find(\n (field) => field.id === filter.fieldId\n ) as PepSmartFilterBaseField;\n }\n\n if (currentField) {\n // Only if the operator is from the same type\n if (\n filter.operator.componentType.includes(\n currentField.componentType\n )\n ) {\n let isOperatorUnitValid = true;\n if (filter.operatorUnit) {\n // Only if the operator unit is not from the same type\n if (\n !filter.operatorUnit.componentType.includes(\n currentField.componentType\n )\n ) {\n isOperatorUnitValid = false;\n }\n }\n\n // Add the filter.\n if (isOperatorUnitValid) {\n this.filtersDataMap.set(filter.fieldId, filter);\n }\n }\n }\n });\n }\n }\n\n private raiseFiltersChange(): void {\n this.filtersChange.emit(this.filters);\n }\n\n toggleField(index: number, isOpen: boolean): void {\n this.fields[index].isOpen = isOpen;\n this.fieldToggleChange.emit(this.fields[index]);\n }\n\n clearFilters() {\n this.filtersDataMap.clear();\n }\n\n clearFilter(fieldId: string) {\n this.filtersDataMap.delete(fieldId);\n }\n\n // Clear all the filters and raise event that filters has change.\n onFiltersClear() {\n this.clearFilters();\n this.raiseFiltersChange();\n }\n\n // Clear the filter and raise event that filters has change.\n onFilterClear(field: IPepSmartFilterField) {\n this.clearFilter(field.id);\n this.raiseFiltersChange();\n }\n\n // Set the filter and raise event that filters has change.\n onFilterChange(\n field: IPepSmartFilterField,\n filterData: IPepSmartFilterData\n ) {\n this.clearFilter(field.id);\n this.filtersDataMap.set(field.id, filterData);\n this.raiseFiltersChange();\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'pep-filter-actions',\n templateUrl: './filter-actions.component.html',\n styleUrls: ['./filter-actions.component.scss'],\n})\nexport class PepFilterActionsComponent {\n @Input() form: FormGroup;\n\n @Output() clearClick: EventEmitter<void> = new EventEmitter<void>();\n @Output() applyClick: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n clear() {\n this.clearClick.emit();\n }\n\n apply() {\n this.applyClick.emit();\n }\n}\n","import {\n PepSmartFilterComponentType,\n PepSmartFilterOperatorType,\n PepSmartFilterOperatorUnitType,\n} from './type';\nexport class IPepSmartFilterOperator {\n id: PepSmartFilterOperatorType;\n name: string;\n short: string;\n componentType: PepSmartFilterComponentType[];\n}\n\nconst Equals: IPepSmartFilterOperator = {\n id: 'eq',\n name: 'EQUAL',\n short: '=',\n componentType: [\n 'number',\n 'boolean'\n // 'multi-select',\n // 'date',\n // 'text',\n // 'auto-complete',\n // 'select',\n ],\n};\n\nconst NotEqual: IPepSmartFilterOperator = {\n id: 'neq',\n name: 'NOT_EQUAL',\n short: '<>',\n componentType: [\n 'number',\n // 'multi-select',\n // 'date',\n // 'text',\n // 'auto-complete',\n // 'select',\n ],\n};\n\nconst LessThan: IPepSmartFilterOperator = {\n id: 'lt',\n name: 'LESS_THEN',\n short: '<',\n componentType: ['number'],\n};\n\n// const LessThanOrEquals: IPepSmartFilterOperator = {\n// id: 'ltoe',\n// name: 'LESS_THEN_OR_EQUAL',\n// short: '<=',\n// type: ['number'],\n// };\n\nconst GreaterThan: IPepSmartFilterOperator = {\n id: 'gt',\n name: 'GREATER_THEN',\n short: '>',\n componentType: ['number'],\n};\n\n// const GreaterThanOrEquals: IPepSmartFilterOperator = {\n// id: 'gtoe',\n// name: 'GREATER_THEN_OR_EQUAL',\n// short: '>=',\n// type: ['number'],\n// };\n\nconst NumberRange: IPepSmartFilterOperator = {\n id: 'numberRange',\n name: 'NUMBER_RANGE',\n short: 'Range',\n componentType: ['number'],\n};\n\nconst Contains: IPepSmartFilterOperator = {\n id: 'contains',\n name: 'CONTAINS',\n short: 'Contains',\n componentType: ['text'],\n};\n\n// const BeginsWith: Operator = {\n// id: 'beginsWith',\n// name: 'Begins With',\n// short: 'Begins With',\n// type: ['text'],\n// };\n\n// const EndsWith: Operator = {\n// id: 'endsWith',\n// name: 'Ends With',\n// short: 'End With',\n// type: ['text'],\n// };\n\n// const After: Operator = {\n// id: 'after',\n// name: 'After',\n// short: 'After',\n// type: ['date'],\n// };\n\n// const Before: Operator = {\n// id: 'before',\n// name: 'Before',\n// short: 'Before',\n// type: ['date'],\n// };\n\nconst InTheLast: IPepSmartFilterOperator = {\n id: 'inTheLast',\n name: 'IN_THE_LAST',\n short: 'In the last',\n componentType: ['date'],\n};\n\nconst Today: IPepSmartFilterOperator = {\n id: 'today',\n name: 'TODAY',\n short: 'Today',\n componentType: ['date'],\n};\n\nconst ThisWeek: IPepSmartFilterOperator = {\n id: 'thisWeek',\n name: 'THIS_WEEK',\n short: 'This week',\n componentType: ['date'],\n};\n\nconst ThisMonth: IPepSmartFilterOperator = {\n id: 'thisMonth',\n name: 'THIS_MONTH',\n short: 'This month',\n componentType: ['date'],\n};\n\nconst DateRange: IPepSmartFilterOperator = {\n id: 'dateRange',\n name: 'DATE_RANGE',\n short: 'Range',\n componentType: ['date'],\n};\n\nconst DueIn: IPepSmartFilterOperator = {\n id: 'dueIn',\n name: 'DUE_IN',\n short: 'Due in',\n componentType: ['date'],\n};\n\nconst On: IPepSmartFilterOperator = {\n id: 'on',\n name: 'ON',\n short: 'On',\n componentType: ['date'],\n};\n\nconst NotInTheLast: IPepSmartFilterOperator = {\n id: 'notInTheLast',\n name: 'NOT_IN_THE_LAST',\n short: 'Not in the last',\n componentType: ['date'],\n};\n\nconst NotDueIn: IPepSmartFilterOperator = {\n id: 'notDueIn',\n name: 'NOT_DUE_IN',\n short: 'Not due in',\n componentType: ['date'],\n};\n\nconst IsEmpty: IPepSmartFilterOperator = {\n id: 'isEmpty',\n name: 'IS_EMPTY',\n short: 'Is empty',\n componentType: ['date'],\n};\n\nconst IsNotEmpty: IPepSmartFilterOperator = {\n id: 'isNotEmpty',\n name: 'IS_NOT_EMPTY',\n short: 'Is not empty',\n componentType: ['date'],\n};\n\nconst In: IPepSmartFilterOperator = {\n id: 'in',\n name: 'IN',\n short: 'In',\n componentType: ['multi-select'],\n};\n\nexport const PepSmartFilterOperators = {\n Equals: Equals,\n NotEqual: NotEqual,\n LessThan: LessThan,\n // LessThanOrEquals: LessThanOrEquals,\n GreaterThan: GreaterThan,\n // GreaterThanOrEquals: GreaterThanOrEquals,\n NumberRange: NumberRange,\n Contains: Contains,\n // BeginsWith: BeginsWith,\n // EndsWith: EndsWith,\n // After: After,\n // Before: Before,\n InTheLast: InTheLast,\n Today: Today,\n ThisWeek: ThisWeek,\n ThisMonth: ThisMonth,\n DateRange: DateRange,\n DueIn: DueIn,\n On: On,\n NotInTheLast: NotInTheLast,\n NotDueIn: NotDueIn,\n IsEmpty: IsEmpty,\n IsNotEmpty: IsNotEmpty,\n In: In,\n};\n\nexport class IPepSmartFilterOperatorUnit {\n id: PepSmartFilterOperatorUnitType;\n name: string;\n componentType: PepSmartFilterComponentType[];\n}\n\nconst Days: IPepSmartFilterOperatorUnit = {\n id: 'days',\n name: 'DAYS',\n componentType: ['date'],\n};\n\nconst Weeks: IPepSmartFilterOperatorUnit = {\n id: 'weeks',\n name: 'WEEKS',\n componentType: ['date'],\n};\n\nconst Months: IPepSmartFilterOperatorUnit = {\n id: 'months',\n name: 'MONTHS',\n componentType: ['date'],\n};\n\nconst Years: IPepSmartFilterOperatorUnit = {\n id: 'years',\n name: 'YEARS',\n componentType: ['date'],\n};\n\nexport const PepSmartFilterOperatorUnits = {\n Days: Days,\n Weeks: Weeks,\n Months: Months,\n Years: Years,\n};\n","import {\n Directive,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n AfterViewInit,\n Output,\n ChangeDetectorRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ViewChild,\n ComponentFactoryResolver,\n ComponentFactory,\n ComponentRef,\n Injector,\n ElementRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { Observable, Subject } from 'rxjs';\nimport { PepValidatorService } from '@pepperi-addons/ngx-lib';\nimport {\n IPepSmartFilterOperator,\n IPepSmartFilterOperatorUnit,\n PepSmartFilterOperators,\n PepSmartFilterOperatorUnits,\n} from './operator';\nimport { forwardRef } from '@angular/core';\nimport { IPepSmartFilterData, IPepSmartFilterDataValue } from './filter';\nimport { PepSmartFilterBaseField } from './field';\nimport { takeUntil } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepFilterActionsComponent } from '../filter-actions.component';\n\n\n@Directive({})\nexport abstract class BaseFilterComponent\n implements OnInit, OnChanges, OnDestroy {\n private readonly _destroyed: Subject<void>;\n private actionsContainerRef: ComponentRef<PepFilterActionsComponent>;\n\n private _fieldIdWithNoDots = '';\n private _field: PepSmartFilterBaseField;\n @Input()\n set field(value: PepSmartFilterBaseField) {\n this._field = value;\n this._fieldIdWithNoDots = value ? value.id.replace(/\\./g, '_') : '';\n this.setupForm();\n }\n get field(): PepSmartFilterBaseField {\n return this._field;\n }\n\n private _filter: IPepSmartFilterData;\n @Input()\n set filter(value: IPepSmartFilterData) {\n this._filter = value;\n this.setupFilter();\n }\n get filter(): IPepSmartFilterData {\n return this._filter;\n }\n protected _parentForm: FormGroup;\n @Input()\n set parentForm(form: FormGroup) {\n this._parentForm = form;\n this.updateParentForm();\n }\n @Input() emitOnChange = false;\n @Input() inline = false;\n @Input() showActionButtons = true;\n @Input() renderTitle = true;\n\n @Output() filterClear: EventEmitter<void> = new EventEmitter<void>();\n @Output()\n filterChange: EventEmitter<IPepSmartFilterData> = new EventEmitter<IPepSmartFilterData>();\n\n private _operator: IPepSmartFilterOperator;\n set operator(operator: IPepSmartFilterOperator) {\n if (operator?.id != this._operator?.id) {\n // Validate operator\n const index = this.operators.findIndex((o) => o.id === operator.id);\n if (index >= 0) {\n this._operator = this.operators[index];\n } else {\n this._operator = this.operators[0];\n }\n\n this.form.reset();\n this.updateValidity();\n }\n }\n get operator(): IPepSmartFilterOperator {\n return this._operator;\n }\n\n private _operatorUnit: IPepSmartFilterOperatorUnit;\n set operatorUnit(operatorUnit: IPepSmartFilterOperatorUnit) {\n // Validate operator unit\n if (operatorUnit) {\n const index = this.operatorUnits.findIndex(\n (ou) => ou.id === operatorUnit.id\n );\n if (index >= 0) {\n this._operatorUnit = this.operatorUnits[index];\n } else {\n this._operatorUnit = this.operatorUnits[0];\n }\n } else {\n this._operatorUnit = undefined;\n }\n }\n get operatorUnit(): IPepSmartFilterOperatorUnit {\n return this._operatorUnit;\n }\n\n get firstControlKey() {\n return this.field ? `${this._fieldIdWithNoDots}_first` : 'first';\n }\n get firstControl(): AbstractControl {\n return this.form.get(this.firstControlKey);\n }\n get secondControlKey() {\n return this.field ? `${this._fieldIdWithNoDots}_second` : 'second';\n }\n get secondControl(): AbstractControl {\n return this.form.get(this.secondControlKey);\n }\n\n protected operators: IPepSmartFilterOperator[];\n protected operatorUnits: IPepSmartFilterOperatorUnit[];\n\n protected readonly OPERATORS_TRANSLATION_PREFIX = 'SMART_FILTERS.OPERATORS';\n protected readonly OPERATOR_UNITS_TRANSLATION_PREFIX =\n 'SMART_FILTERS.OPERATOR_UNITS';\n\n form: FormGroup;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n private resolver: ComponentFactoryResolver,\n private builder: FormBuilder,\n protected translate: TranslateService,\n protected validator: PepValidatorService,\n protected renderer: Renderer2\n ) {\n this._destroyed = new Subject();\n }\n\n private createActionsComponent() {\n const factory: ComponentFactory<PepFilterActionsComponent> = this.resolver.resolveComponentFactory(\n PepFilterActionsComponent\n );\n\n this.actionsContainerRef = factory.create(this.injector);\n this.actionsContainerRef.instance.form = this.form;\n this.actionsContainerRef.instance.applyClick.subscribe(() =>\n this.applyFilter()\n );\n this.actionsContainerRef.instance.clearClick.subscribe(() =>\n this.clearFilter()\n );\n\n this.viewContainerRef.insert(this.actionsContainerRef.hostView);\n }\n\n private setupForm() {\n const formValue = {};\n formValue[this.firstControlKey] = [];\n formValue[this.secondControlKey] = [];\n // this.form.patchValue(formValue); \n this.form = this.builder.group(formValue);\n // this.form[this.firstControlKey] = [];\n // this.form[this.secondControlKey] = [];\n\n this.setupOperators();\n\n if (this.showActionButtons) {\n this.createActionsComponent();\n }\n }\n\n private setupOperators() {\n // Get the operators by componentType.\n this.operators = Object.keys(PepSmartFilterOperators)\n .filter((key) => {\n return PepSmartFilterOperators[key].componentType.includes(\n this.field.componentType\n );\n })\n .map((key) => PepSmartFilterOperators[key]);\n\n // Filter by from field.operators input if exist.\n if (this.field.operators?.length > 0) {\n this.operators = this.operators.filter((o1) =>\n this.field.operators.some((o2) => o1.id === o2)\n );\n }\n\n // Get the operator units by componentType.\n this.operatorUnits = Object.keys(PepSmartFilterOperatorUnits)\n .filter((key) => {\n return PepSmartFilterOperatorUnits[key].componentType.includes(\n this.field.componentType\n );\n })\n .map((key) => PepSmartFilterOperatorUnits[key]);\n\n // Filter by from field.operatorsUnits input if exist.\n if (this.field.operatorUnits?.length > 0) {\n this.operatorUnits = this.operatorUnits.filter((o1) =>\n this.field.operatorUnits.some((o2) => o1.id === o2)\n );\n }\n\n // Load translation before get the options in the children.\n this.translate.get('SMART_FILTERS.TITLE').subscribe((res) => {\n this.loadOperatorsOptions();\n });\n }\n\n private setupFilter() {\n if (this.filter) {\n this.operator = this.filter.operator;\n this.operatorUnit = this.filter.operatorUnit;\n const formValue = {};\n formValue[this.firstControlKey] = this.filter.value.first;\n formValue[this.secondControlKey] = this.filter.value.second;\n this.form.patchValue(formValue);\n } else {\n this.operator = this.getDefaultOperator();\n this.operatorUnit = this.getDefaultOperatorUnit();\n this.clearFilter(false);\n }\n }\n\n protected updateParentForm() {\n this._parentForm.setControl('fieldId', this.builder.control(this.field.id));\n this._parentForm.setControl('fieldType', this.builder.control(this.field.type));\n this._parentForm.setControl('operator', this.builder.control(this.operator));\n this._parentForm.setControl('operatorUnit', this.builder.control(this.operatorUnit));\n this._parentForm.setControl('values', this.builder.group({\n first: this.firstControl,\n second: this.secondControl\n }));\n }\n\n protected getDestroyer() {\n return takeUntil(this._destroyed);\n }\n\n private updateValidity() {\n this.setFieldsStateAndValidators();\n\n this.firstControl.updateValueAndValidity();\n this.secondControl.updateValueAndValidity();\n }\n // Load the operators options from the translation.\n protected loadOperatorsOptions(): void {\n // Not implemented in the base\n }\n\n // Set default validators - some childs override this.\n protected setFieldsStateAndValidators(): void {\n this.firstControl.setValidators(Validators.required);\n this.secondControl.setValidators(Validators.required);\n this.secondControl.disable();\n }\n\n // Return undefined - some childs override this.\n protected getDefaultOperatorUnit(): IPepSmartFilterOperatorUnit {\n return undefined;\n }\n\n protected initFilter() {\n // Not implemented in the base\n }\n\n abstract getDefaultOperator(): IPepSmartFilterOperator;\n abstract getFilterValue(): IPepSmartFilterDataValue;\n\n clearFilter(emitEvent = true) {\n this._filter = null;\n this.form.reset();\n this.initFilter();\n\n if (emitEvent) {\n this.filterClear.emit();\n }\n }\n\n applyFilter() {\n const filterValue = this.getFilterValue();\n\n // If the filter is not null declare it, else - clear it.\n if (filterValue) {\n const filter = {\n fieldId: this.field.id,\n operator: this.operator,\n operatorUnit: this.operatorUnit,\n value: filterValue,\n };\n this._filter = filter;\n this.filterChange.emit(filter);\n } else {\n this.clearFilter();\n }\n }\n\n ngOnInit(): void {\n if (this.form) {\n this.updateValidity();\n }\n }\n\n ngOnChanges(): void {\n // if (this.form) {\n // this.updateValidity();\n // }\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n\n if (this.showActionButtons) {\n this.actionsContainerRef.destroy();\n }\n }\n\n // writeValue(value: IPepSmartFilterDataValue): void {\n // if (value) {\n // this.form.setValue(\n // {\n // first: value.first,\n // second: value.second || null,\n // },\n // { emitEvent: false }\n // );\n // } else {\n // this.form.reset();\n // }\n // }\n\n // registerOnChange(fn: any): void {\n // this.form.valueChanges.subscribe(fn);\n // }\n\n // onTouched: () => void = () => {\n // /* Do nothing */\n // };\n\n // registerOnTouched(fn: any): void {\n // this.onTouched = fn;\n // }\n\n // setDisabledState?(isDisabled: boolean): void {\n // isDisabled ? this.form.disable() : this.form.enable();\n // }\n\n // validate(control: AbstractControl): ValidationErrors {\n // return this.form.valid ? null : { PepFilterIsNotValid: true };\n // }\n}\n","import { Component, OnChanges, OnInit } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\n\n@Component({\n selector: 'pep-text-filter',\n templateUrl: './text-filter.component.html',\n styleUrls: ['./text-filter.component.scss'],\n})\nexport class PepTextFilterComponent extends BaseFilterComponent implements OnInit {\n chooseTypeOptions: Array<IPepOption> = [];\n operatorWidth = '38%';\n firstControlWidth = '62%';\n\n ngOnInit() {\n this.firstControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe(() => {\n this.setFieldsStateAndValidators();\n });\n }\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.Equals;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = {\n first: this.firstControl.value,\n };\n\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n filterValue['second'] = this.secondControl.value;\n }\n\n return filterValue;\n }\n\n // Override\n loadOperatorsOptions() {\n this.chooseTypeOptions = this.operators.map((operator) => {\n return {\n key: operator.id,\n value: this.translate.instant(\n `${this.OPERATORS_TRANSLATION_PREFIX}.${operator.name}`\n ),\n };\n });\n }\n\n // Override\n setFieldsStateAndValidators(): void {\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n const firstValidators = [Validators.required];\n if (this.secondControl.value) {\n firstValidators.push(this.validator.isLessThan(this.secondControl));\n }\n this.firstControl.setValidators(firstValidators);\n } else {\n super.setFieldsStateAndValidators();\n }\n }\n\n onOperatorChanged(value: string) {\n const operator = Object.values(PepSmartFilterOperators).find(\n (operator) => operator.id === value\n );\n this.operator = operator;\n if (this._parentForm) {\n this.updateParentForm();\n }\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n onValueChanged() {\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-boolean-filter',\n templateUrl: './boolean-filter.component.html',\n styleUrls: ['./boolean-filter.component.scss'],\n})\nexport class PepBooleanFilterComponent extends BaseFilterComponent implements OnInit {\n @Input() options: IPepOption[] = [];\n\n ngOnInit() {\n //\n }\n\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.Equals;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = { first: this.firstControl.value || false };\n return filterValue;\n }\n\n onValueChanged(value) {\n this.firstControl.setValue(value);\n\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n // // Override\n // setFieldsStateAndValidators(): void {\n // this.secondControl.disable();\n // }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n IPepSmartFilterOperatorUnit,\n PepSmartFilterOperators,\n PepSmartFilterOperatorUnits,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { Validators } from '@angular/forms';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-date-filter',\n templateUrl: './date-filter.component.html',\n styleUrls: ['./date-filter.component.scss'],\n})\nexport class PepDateFilterComponent extends BaseFilterComponent implements OnInit {\n PepSmartFilterOperators = PepSmartFilterOperators;\n chooseTimeOptions: Array<IPepOption> = [];\n chooseTimeUnitOptions: Array<IPepOption> = [];\n operatorWidth: string;\n fieldsWidth: string;\n\n ngOnInit() {\n if (this.inline) {\n this.setControlsWidth();\n }\n }\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.InTheLast;\n }\n\n // Override\n getDefaultOperatorUnit(): IPepSmartFilterOperatorUnit {\n if (this.operator === PepSmartFilterOperators.InTheLast ||\n this.operator === PepSmartFilterOperators.NotInTheLast ||\n this.operator === PepSmartFilterOperators.DueIn ||\n this.operator === PepSmartFilterOperators.NotDueIn) {\n return PepSmartFilterOperatorUnits.Months;\n } else {\n return undefined;\n }\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = {\n first: this.firstControl.value,\n };\n\n if (this.operator === PepSmartFilterOperators.DateRange) {\n filterValue['second'] = this.secondControl.value;\n }\n\n return filterValue;\n }\n\n // Override\n loadOperatorsOptions() {\n this.chooseTimeOptions = this.operators.map((operator) => {\n return {\n key: operator.id,\n value: this.translate.instant(\n `${this.OPERATORS_TRANSLATION_PREFIX}.${operator.name}`\n ),\n };\n });\n\n this.chooseTimeUnitOptions = this.operatorUnits.map((operatorUnit) => {\n return {\n key: operatorUnit.id,\n value: this.translate.instant(\n `${this.OPERATOR_UNITS_TRANSLATION_PREFIX}.${operatorUnit.name}`\n ),\n };\n });\n }\n\n // Override\n setFieldsStateAndValidators(): void {\n this.firstControl.enable();\n\n if (this.operator === PepSmartFilterOperators.DateRange) {\n this.firstControl.setValidators(Validators.required);\n this.secondControl.enable();\n this.secondControl.setValidators(Validators.required);\n } else if (\n this.operator === PepSmartFilterOperators.InTheLast ||\n this.operator === PepSmartFilterOperators.NotInTheLast ||\n this.operator === PepSmartFilterOperators.DueIn ||\n this.operator === PepSmartFilterOperators.NotDueIn\n ) {\n this.firstControl.setValidators([\n Validators.required,\n this.validator.numberValidator(),\n ]);\n this.secondControl.disable();\n } else {\n // Disable 'first' field.\n if (\n this.operator === PepSmartFilterOperators.Today ||\n this.operator === PepSmartFilterOperators.ThisWeek ||\n this.operator === PepSmartFilterOperators.ThisMonth ||\n this.operator === PepSmartFilterOperators.IsEmpty ||\n this.operator === PepSmartFilterOperators.IsNotEmpty\n ) {\n this.firstControl.disable();\n }\n\n // Default disable 'second' field.\n super.setFieldsStateAndValidators();\n }\n }\n\n setControlsWidth() {\n if (\n this.operator === PepSmartFilterOperators.Today ||\n this.operator === PepSmartFilterOperators.ThisWeek ||\n this.operator === PepSmartFilterOperators.ThisMonth ||\n this.operator === PepSmartFilterOperators.IsEmpty ||\n this.operator === PepSmartFilterOperators.IsNotEmpty\n ) {\n this.operatorWidth = 'auto';\n this.fieldsWidth = '0%';\n } else if (this.operator === PepSmartFilterOperators.On) {\n this.operatorWidth = '38%';\n this.fieldsWidth = '62%';\n } else {\n this.operatorWidth = '30%';\n this.fieldsWidth = '70%';\n }\n }\n\n onOperatorChanged(value: string) {\n const operator = Object.values(PepSmartFilterOperators).find(\n (operator) => operator.id === value\n );\n\n this.operator = operator;\n this.operatorUnit = this.getDefaultOperatorUnit();\n if (this.inline) {\n this.setControlsWidth();\n }\n if (this._parentForm) {\n this.updateParentForm();\n }\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n onTimeUnitChanged(value: string) {\n const operatorUnit = Object.values(PepSmartFilterOperatorUnits).find(\n (operatorUnit) => operatorUnit.id === value\n );\n this.operatorUnit = operatorUnit;\n if (this._parentForm) {\n this.updateParentForm();\n }\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n onDateValueChanged() {\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n}\n","import {\n AfterViewInit,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { IPepSmartFilterFieldOption } from '../common/model/field';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { VirtualScrollerComponent } from 'ngx-virtual-scroller';\n\nclass PepMultiSelectFilterOption implements IPepSmartFilterFieldOption {\n value: string;\n count?: number;\n selected = false;\n}\n\n@Component({\n selector: 'pep-multi-select-filter',\n templateUrl: './multi-select-filter.component.html',\n styleUrls: ['./multi-select-filter.component.scss'],\n})\nexport class PepMultiSelectFilterComponent\n extends BaseFilterComponent\n implements OnInit, AfterViewInit {\n options: PepMultiSelectFilterOption[] = [];\n filteredOptions$: Observable<any>;\n searchControl = new FormControl();\n //inline props\n selected = '';\n inlineOptions: IPepOption[] = [];\n\n @ViewChild('optionsContainer')\n optionsContainer: ElementRef;\n\n private readonly MAX_OPTIONS_TO_SHOW = 6.35;\n @ViewChild(VirtualScrollerComponent)\n private virtualScroller: VirtualScrollerComponent;\n\n numberOptionsToShowSearch = 10;\n\n ngOnInit() {\n super.ngOnInit;\n\n if (this.inline) {\n this.inlineControlInit();\n } else {\n this.noneInlineControlInit();\n }\n }\n\n\n ngAfterViewInit(): void {\n // Calc for the first time.\n this.calcOptionsHeight(this.options.length);\n }\n\n private inlineControlInit() {\n //load options from field \n this.inlineOptions = this.field?.options?.length > 0 ? this.field.options as IPepOption[] : [];\n\n // Init the selected values from first value. \n if (this.firstControl?.value?.length > 0) {\n this.selected = this.firstControl.value.join(';');\n }\n }\n\n private noneInlineControlInit() {\n if (this.field.options?.length > 0) {\n this.options = this.field.options.map((opt) => {\n return { value: opt.value, count: opt.count, selected: false };\n });\n } else {\n this.searchControl.disable();\n }\n\n // Init the selected values from first value.\n const firstControl = this.firstControl;\n if (firstControl.value) {\n this.initOptionsSelectedValues(firstControl.value);\n }\n\n // Add subscription for the first value change to set the selected options.\n firstControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe((selectedValues: string[]) => {\n this.initOptionsSelectedValues(selectedValues);\n });\n\n // Filter the options by the search control.\n this.filteredOptions$ = this.searchControl.valueChanges.pipe(\n this.getDestroyer(),\n startWith<any>(''),\n map((option) =>\n typeof option === 'string' ? option : option && option.value\n ),\n map((value) => (value ? this.filterOptions(value) : this.options))\n );\n\n // Each time the filter change.\n this.filteredOptions$.subscribe(\n (filterdOptions: PepMultiSelectFilterOption[]) => {\n this.calcOptionsHeight(filterdOptions.length);\n setTimeout(() => {\n // 8 is the padding top of the multi-select-options\n this.virtualScroller.scrollToPosition(-8);\n }, 125);\n }\n );\n\n }\n\n initOptionsSelectedValues(selectedValues: string[]): void {\n this.options.forEach((opt) => {\n const isValueSelected =\n selectedValues && selectedValues.includes(opt.value);\n opt.selected = isValueSelected;\n });\n }\n\n private calcOptionsHeight(optionsCount: number) {\n if (this.optionsContainer) {\n const optionsToShow =\n optionsCount > this.MAX_OPTIONS_TO_SHOW\n ? this.MAX_OPTIONS_TO_SHOW\n : optionsCount;\n // optionsToShow * 2.25 is 1 option height + 1 is the padding top & bottom of the container.\n const optionsHeight = optionsToShow * 2.25 + 1 + 'rem';\n\n this.renderer.setStyle(\n this.optionsContainer.nativeElement,\n 'height',\n optionsHeight\n );\n }\n }\n\n private filterOptions(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.options.filter(\n (opt) =>\n opt.value &&\n opt.value.toLowerCase().includes(filterValue.toLowerCase())\n );\n }\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.In;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n if (this.inline) {\n return {\n first: this.firstControl.value\n };\n } else {\n const selectedValues = this.options\n .filter((opt) => opt.selected)\n .map((opt) => opt.value);\n const filterValue = {\n first: selectedValues,\n };\n\n return selectedValues.length > 0 ? filterValue : null;\n }\n\n }\n\n // Override\n initFilter() {\n this.options.forEach((opt) => (opt.selected = false));\n this.searchControl.setValue('');\n }\n\n onOptionChange(\n option: PepMultiSelectFilterOption,\n event: MatCheckboxChange\n ) {\n option.selected = event.checked;\n this.firstControl.setValue(\n this.options.filter((opt) => opt.selected).map((opt) => opt.value),\n { emitEvent: false }\n );\n }\n\n onMultiSelectChanged(value: string) {\n if (value) {\n const selected: string[] = value.split(';');\n this.firstControl.setValue(selected);\n } else {\n this.firstControl.setValue(null);\n }\n\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n}\n","import { Component, OnChanges, OnInit } from '@angular/core';\nimport { BaseFilterComponent } from '../common/model/base-filter-component';\nimport {\n IPepSmartFilterOperator,\n PepSmartFilterOperators,\n} from '../common/model/operator';\nimport { IPepSmartFilterDataValue } from '../common/model/filter';\nimport { Validators } from '@angular/forms';\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pep-number-filter',\n templateUrl: './number-filter.component.html',\n styleUrls: ['./number-filter.component.scss'],\n})\nexport class PepNumberFilterComponent extends BaseFilterComponent implements OnInit {\n PepSmartFilterOperators = PepSmartFilterOperators;\n chooseTypeOptions: Array<IPepOption> = [];\n operatorWidth = '38%';\n fieldsWidth = '70%';\n\n ngOnInit() {\n this.firstControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe(() => {\n this.setFieldsStateAndValidators();\n });\n\n this.secondControl.valueChanges\n .pipe(this.getDestroyer(), distinctUntilChanged())\n .subscribe(() => {\n this.setFieldsStateAndValidators();\n });\n this.setControlsWidth();\n }\n\n // Override\n getDefaultOperator(): IPepSmartFilterOperator {\n return PepSmartFilterOperators.Equals;\n }\n\n // Override\n getFilterValue(): IPepSmartFilterDataValue {\n const filterValue = {\n first: this.firstControl.value,\n };\n\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n filterValue['second'] = this.secondControl.value;\n }\n\n return filterValue;\n }\n\n // Override\n loadOperatorsOptions() {\n this.chooseTypeOptions = this.operators.map((operator) => {\n return {\n key: operator.id,\n value: this.translate.instant(\n `${this.OPERATORS_TRANSLATION_PREFIX}.${operator.name}`\n ),\n };\n });\n }\n\n // Override\n setFieldsStateAndValidators(): void {\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n const firstValidators = [Validators.required];\n if (this.secondControl.value) {\n firstValidators.push(this.validator.isLessThan(this.secondControl));\n }\n this.firstControl.setValidators(firstValidators);\n\n\n this.secondControl.enable();\n const secondValidators = [Validators.required];\n if (this.firstControl.value) {\n secondValidators.push(this.validator.isGreaterThan(this.firstControl));\n }\n this.secondControl.setValidators(secondValidators);\n } else {\n super.setFieldsStateAndValidators();\n }\n }\n\n setControlsWidth() {\n if (this.operator === PepSmartFilterOperators.NumberRange) {\n this.operatorWidth = '30%';\n this.fieldsWidth = '70%';\n } else {\n this.operatorWidth = '38%';\n this.fieldsWidth = '62%';\n }\n }\n\n onOperatorChanged(value: string) {\n const operator = Object.values(PepSmartFilterOperators).find(\n (operator) => operator.id === value\n );\n this.operator = operator;\n if (this._parentForm) {\n this.updateParentForm();\n }\n if (this.emitOnChange) {\n this.applyFilter();\n }\n this.setControlsWidth();\n }\n\n onValueChanged() {\n if (this.emitOnChange) {\n this.applyFilter();\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRadioModule } from '@angular/material/radio';\n\nimport { VirtualScrollerModule } from 'ngx-virtual-scroller';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';\nimport { PepDateModule } from '@pepperi-addons/ngx-lib/date';\nimport { PepSelectModule } from '@pepperi-addons/ngx-lib/select';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconNumberMinus,\n pepIconNumberPlus,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\n\n// import { BaseFilterComponent } from './common/model/base-filter-component';\nimport { PepSmartFiltersComponent } from './smart-filters.component';\nimport { PepFilterActionsComponent } from './common/filter-actions.component';\nimport { PepTextFilterComponent } from './text-filter/text-filter.component';\nimport { PepBooleanFilterComponent } from './boolean-filter/boolean-filter.component';\nimport { PepDateFilterComponent } from './date-filter/date-filter.component';\nimport { PepMultiSelectFilterComponent } from './multi-select-filter/multi-select-filter.component';\nimport { PepNumberFilterComponent } from './number-filter/number-filter.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n // Material modules\n MatCommonModule,\n MatCheckboxModule,\n MatChipsModule,\n MatExpansionModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatRadioModule,\n // External modules\n VirtualScrollerModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepCheckboxModule,\n PepDateModule,\n PepSelectModule,\n PepTextboxModule,\n PepSearchModule,\n PepIconModule,\n PepButtonModule,\n PepGroupButtonsModule\n ],\n exports: [\n PepSmartFiltersComponent,\n PepTextFilterComponent,\n PepBooleanFilterComponent,\n PepDateFilterComponent,\n PepMultiSelectFilterComponent,\n PepNumberFilterComponent\n ],\n declarations: [\n // BaseFilterComponent,\n PepSmartFiltersComponent,\n PepFilterActionsComponent,\n PepTextFilterComponent,\n PepBooleanFilterComponent,\n PepDateFilterComponent,\n PepMultiSelectFilterComponent,\n PepNumberFilterComponent\n ],\n})\nexport class PepSmartFiltersModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconNumberMinus,\n pepIconNumberPlus,\n ]);\n }\n}\n","import {\n IPepSmartFilterOperator,\n IPepSmartFilterOperatorUnit,\n} from './operator';\nimport {\n PepSmartFilterComponentType,\n PepSmartFilterType,\n PepSmartFilterOperatorType,\n PepSmartFilterOperatorUnitType,\n} from './type';\n\nexport interface IPepSmartFilterFieldOption {\n value: string;\n count?: number;\n}\n\nexport interface IPepSmartFilterField {\n id: string;\n name: string;\n isOpen?: boolean;\n options?: IPepSmartFilterFieldOption[];\n operators?: PepSmartFilterOperatorType[];\n operatorUnits?: PepSmartFilterOperatorUnitType[];\n}\n\n// Base field\n// ------------------------------\nexport abstract class PepSmartFilterBaseField implements IPepSmartFilterField {\n id: string;\n name: string;\n isOpen?: boolean;\n options?: IPepSmartFilterFieldOption[];\n operators?: PepSmartFilterOperatorType[];\n operatorUnits?: PepSmartFilterOperatorUnitType[];\n\n protected _componentType: PepSmartFilterComponentType;\n get componentType(): PepSmartFilterComponentType {\n return this._componentType;\n }\n\n private _type: PepSmartFilterType;\n get type(): PepSmartFilterType {\n return this._type;\n }\n\n constructor(field: IPepSmartFilterField) {\n this.id = field.id;\n this.name = field.name;\n this.isOpen = field.isOpen;\n this.options = field.options;\n this.operators = field.operators;\n this.operatorUnits = field.operatorUnits;\n\n this._type = this.getType();\n }\n\n protected abstract getType(): PepSmartFilterType;\n}\n// Text field\n// ------------------------------\nexport class PepSmartFilterTextField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'text';\n }\n\n getType(): PepSmartFilterType {\n return 'text';\n }\n}\n\n\n// Boolean field\n// ------------------------------\nexport class PepSmartFilterBooleanField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'boolean';\n }\n\n getType(): PepSmartFilterType {\n return 'boolean';\n }\n}\n\n// Date fields\n// ------------------------------\nexport abstract class PepSmartFilterDateBaseField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'date';\n }\n}\nexport class PepSmartFilterDateField extends PepSmartFilterDateBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'date';\n }\n}\nexport class PepSmartFilterDateTimeField extends PepSmartFilterDateBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'date-time';\n }\n}\n\n// Multi select field\n// ------------------------------\nexport class PepSmartFilterMultiSelectField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'multi-select';\n }\n\n getType(): PepSmartFilterType {\n return 'multi-select';\n }\n}\n\n// Number fields\n// ------------------------------\nexport abstract class PepSmartFilterNumberBaseField extends PepSmartFilterBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n this._componentType = 'number';\n }\n}\nexport class PepSmartFilterIntField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'int';\n }\n}\nexport class PepSmartFilterRealField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'real';\n }\n}\nexport class PepSmartFilterCurrencyField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'currency';\n }\n}\nexport class PepSmartFilterPercentageField extends PepSmartFilterNumberBaseField {\n constructor(field: IPepSmartFilterField) {\n super(field);\n }\n\n getType(): PepSmartFilterType {\n return 'percentage';\n }\n}\n","import {\n IPepSmartFilterField,\n PepSmartFilterBaseField,\n PepSmartFilterTextField,\n PepSmartFilterBooleanField,\n PepSmartFilterDateField,\n PepSmartFilterMultiSelectField,\n PepSmartFilterIntField,\n PepSmartFilterDateTimeField,\n PepSmartFilterPercentageField,\n PepSmartFilterCurrencyField,\n PepSmartFilterRealField,\n} from './field';\nimport { IPepSmartFilterData } from './filter';\nimport { IPepSmartFilterOperator, IPepSmartFilterOperatorUnit } from './operator';\nimport { PepSmartFilterType } from './type';\n\nfunction createTextSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterTextField(data);\n}\n\nfunction createBooleanSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterBooleanField(data);\n}\n\nfunction createDateSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterDateField(data);\n}\n\nfunction createDateTimeSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterDateTimeField(data);\n}\n\nfunction createMultiSelectSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterMultiSelectField(data);\n}\n\nfunction createIntSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterIntField(data);\n}\n\nfunction createRealSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterRealField(data);\n}\n\nfunction createCurrencySmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterCurrencyField(data);\n}\n\nfunction createPercentageSmartFilterField(data: IPepSmartFilterField) {\n return new PepSmartFilterPercentageField(data);\n}\n\nexport function createSmartFilterField(\n data: IPepSmartFilterField,\n type: PepSmartFilterType\n): PepSmartFilterBaseField {\n let field: PepSmartFilterBaseField;\n\n switch (type) {\n case 'text':\n field = createTextSmartFilterField(data);\n break;\n case 'boolean':\n field = createBooleanSmartFilterField(data);\n break;\n case 'date':\n field = createDateSmartFilterField(data);\n break;\n case 'date-time':\n field = createDateTimeSmartFilterField(data);\n break;\n case 'multi-select':\n field = createMultiSelectSmartFilterField(data);\n break;\n case 'int':\n field = createIntSmartFilterField(data);\n break;\n case 'real':\n field = createRealSmartFilterField(data);\n break;\n case 'currency':\n field = createCurrencySmartFilterField(data);\n break;\n case 'percentage':\n field = createPercentageSmartFilterField(data);\n break;\n default:\n field = createMultiSelectSmartFilterField(data);\n break;\n }\n\n return field;\n}\n\nexport function createSmartFilter(\n fieldId: string,\n operator: IPepSmartFilterOperator,\n first: any,\n second?: any,\n operatorUnit?: IPepSmartFilterOperatorUnit\n): IPepSmartFilterData {\n return {\n fieldId: fieldId,\n operator: operator,\n operatorUnit: operatorUnit,\n value: {\n first: first,\n second: second,\n },\n };\n}","/*\n * Public API Surface of ngx-lib/smart-filters\n */\nexport * from './smart-filters.module';\nexport * from './smart-filters.component';\nexport * from './common/model/base-filter-component';\nexport * from './common/filter-actions.component';\nexport * from './boolean-filter/boolean-filter.component';\nexport * from './date-filter/date-filter.component';\nexport * from './multi-select-filter/multi-select-filter.component';\nexport * from './number-filter/number-filter.component';\nexport * from './text-filter/text-filter.component';\n\n// Model\nexport * from './common/model/creator';\nexport * from './common/model/field';\nexport * from './common/model/filter';\nexport * from './common/model/operator';\nexport * from './common/model/type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","Component","ChangeDetectionStrategy","ElementRef","PepLayoutService","Input","Output","Subject","takeUntil","Validators","Directive","ViewContainerRef","Injector","ComponentFactoryResolver","FormBuilder","TranslateService","PepValidatorService","Renderer2","distinctUntilChanged","FormControl","startWith","map","ViewChild","VirtualScrollerComponent","pepIconNumberMinus","pepIconNumberPlus","NgModule","CommonModule","ReactiveFormsModule","FlexLayoutModule","MatCommonModule","MatCheckboxModule","MatChipsModule","MatExpansionModule","MatIconModule","MatFormFieldModule","MatInputModule","MatRadioModule","VirtualScrollerModule","PepNgxLibModule","PepCheckboxModule","PepDateModule","PepSelectModule","PepTextboxModule","PepSearchModule","PepIconModule","PepButtonModule","PepGroupButtonsModule","PepIconRegistry"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7D,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,EAAE,CAAC;IACd,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QC1JI,kCACY,WAAuB,EACxB,aAA+B;YAD9B,gBAAW,GAAX,WAAW,CAAY;YACxB,kBAAa,GAAb,aAAa,CAAkB;YA3DjC,UAAK,GAAG,EAAE,CAAC;YAEpB,mBAAc,GAAqC,IAAI,GAAG,EAGvD,CAAC;YAEI,aAAQ,GAA0B,EAAE,CAAC;YAkBrC,YAAO,GAAgC,EAAE,CAAC;YAS1C,uBAAkB,GAAG,KAAK,CAAC;;;YAcnC,kBAAa,GAAwC,IAAIA,iBAAY,EAElE,CAAC;YAGJ,sBAAiB,GAAuC,IAAIA,iBAAY,EAAwB,CAAC;YAEjG,+BAA0B,GAAG,GAAG,CAAC;SAK5B;QApDL,sBACI,6CAAO;iBAIX;gBAAA,iBAUC;gBATG,IAAI,CAAC,QAAQ,GAAG,yBAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAEzC,GAAG,CAAC,UAAC,GAAG;oBACL,IAAI,GAAG,EAAE;wBACL,OAAO,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACvC;iBACJ,CAAC,CAAC;gBAEP,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;iBAfD,UACY,KAA4B;gBACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC5B;;;WAAA;QAcD,sBACI,4CAAM;iBAGV;gBACI,OAAO,IAAI,CAAC,OAAO,CAAC;aACvB;iBAND,UACW,KAAkC;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;;;WAAA;QAMD,sBACI,uDAAiB;iBAKrB;gBACI,OAAO,IAAI,CAAC,kBAAkB,CAAC;aAClC;iBARD,UACsB,KAAc;gBAChC,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,4BAA4B,EAAE,CAAC;iBACvC;aACJ;;;WAAA;QAsBO,+DAA4B,GAA5B;;YAEJ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAChE,IAAI,CACP,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC9D,IAAI,CACP,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC9D,IAAI,CACP,CAAC;SACL;QAEO,+CAAY,GAAZ,UAAa,KAA4B;YAAzC,iBAwCP;YAvCG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE;gBACP,KAAK,CAAC,OAAO,CAAC,UAAC,MAAM;;oBAEjB,IAAI,YAAY,GAAG,IAAI,CAAC;oBAExB,IAAI,KAAI,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBACvC,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAC3B,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,GAAA,CACd,CAAC;qBAChC;oBAED,IAAI,YAAY,EAAE;;wBAEd,IACI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAClC,YAAY,CAAC,aAAa,CAC7B,EACH;4BACE,IAAI,mBAAmB,GAAG,IAAI,CAAC;4BAC/B,IAAI,MAAM,CAAC,YAAY,EAAE;;gCAErB,IACI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CACvC,YAAY,CAAC,aAAa,CAC7B,EACH;oCACE,mBAAmB,GAAG,KAAK,CAAC;iCAC/B;6BACJ;;4BAGD,IAAI,mBAAmB,EAAE;gCACrB,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;6BACnD;yBACJ;qBACJ;iBACJ,CAAC,CAAC;aACN;SACJ;QAEO,qDAAkB,GAAlB;YACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;QAED,8CAAW,GAAX,UAAY,KAAa,EAAE,MAAe;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;QAED,+CAAY,GAAZ;YACI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC/B;QAED,8CAAW,GAAX,UAAY,OAAe;YACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvC;;QAGD,iDAAc,GAAd;YACI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;;QAGD,gDAAa,GAAb,UAAc,KAA2B;YACrC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;;QAGD,iDAAc,GAAd,UACI,KAA2B,EAC3B,UAA+B;YAE/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;;;;gBAlKJC,cAAS,SAAC;oBACP,QAAQ,EAAE,mBAAmB;oBAC7B,quIAA6C;oBAE7C,eAAe,EAAEC,4BAAuB,CAAC,MAAM;;iBAClD;;;gBAdGC,eAAU;gBAMLC,uBAAgB;;;wBAWpBC,UAAK;0BAQLA,UAAK;yBAkBLA,UAAK;oCASLA,UAAK;gCAYLC,WAAM;oCAKNA,WAAM;;;;QCxEX;YAQc,eAAU,GAAuB,IAAIN,iBAAY,EAAQ,CAAC;YAC1D,eAAU,GAA0B,IAAIA,iBAAY,EAAW,CAAC;SAS7E;QAPG,yCAAK,GAAL;YACI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;QAED,yCAAK,GAAL;YACI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;;;;gBAjBJC,cAAS,SAAC;oBACP,QAAQ,EAAE,oBAAoB;oBAC9B,kbAA8C;;iBAEjD;;;uBAEII,UAAK;6BAELC,WAAM;6BACNA,WAAM;;;;QCPX;SAKC;sCAAA;KAAA,IAAA;IAED,IAAM,MAAM,GAA4B;QACpC,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,aAAa,EAAE;YACX,QAAQ;YACR,SAAS;;;;;;SAMZ;KACJ,CAAC;IAEF,IAAM,QAAQ,GAA4B;QACtC,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE;YACX,QAAQ;;;;;;SAMX;KACJ,CAAC;IAEF,IAAM,QAAQ,GAA4B;QACtC,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,CAAC,QAAQ,CAAC;KAC5B,CAAC;IAEF;IACA;IACA;IACA;IACA;IACA;IAEA,IAAM,WAAW,GAA4B;QACzC,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,CAAC,QAAQ,CAAC;KAC5B,CAAC;IAEF;IACA;IACA;IACA;IACA;IACA;IAEA,IAAM,WAAW,GAA4B;QACzC,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,QAAQ,CAAC;KAC5B,CAAC;IAEF,IAAM,QAAQ,GAA4B;QACtC,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IAEA,IAAM,SAAS,GAA4B;QACvC,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,KAAK,GAA4B;QACnC,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,QAAQ,GAA4B;QACtC,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,SAAS,GAA4B;QACvC,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,SAAS,GAA4B;QACvC,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,KAAK,GAA4B;QACnC,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,EAAE,GAA4B;QAChC,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,YAAY,GAA4B;QAC1C,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,iBAAiB;QACxB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,QAAQ,GAA4B;QACtC,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,OAAO,GAA4B;QACrC,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,UAAU,GAA4B;QACxC,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,EAAE,GAA4B;QAChC,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,CAAC,cAAc,CAAC;KAClC,CAAC;QAEW,uBAAuB,GAAG;QACnC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;;QAElB,WAAW,EAAE,WAAW;;QAExB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,QAAQ;;;;;QAKlB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,KAAK;QACZ,EAAE,EAAE,EAAE;QACN,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,UAAU;QACtB,EAAE,EAAE,EAAE;MACR;;QAEF;SAIC;0CAAA;KAAA,IAAA;IAED,IAAM,IAAI,GAAgC;QACtC,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,KAAK,GAAgC;QACvC,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,MAAM,GAAgC;QACxC,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;IAEF,IAAM,KAAK,GAAgC;QACvC,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,CAAC,MAAM,CAAC;KAC1B,CAAC;QAEW,2BAA2B,GAAG;QACvC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,KAAK;;;;QC1GZ,6BACY,gBAAkC,EAClC,QAAkB,EAClB,QAAkC,EAClC,OAAoB,EAClB,SAA2B,EAC3B,SAA8B,EAC9B,QAAmB;YANrB,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,aAAQ,GAAR,QAAQ,CAAU;YAClB,aAAQ,GAAR,QAAQ,CAA0B;YAClC,YAAO,GAAP,OAAO,CAAa;YAClB,cAAS,GAAT,SAAS,CAAkB;YAC3B,cAAS,GAAT,SAAS,CAAqB;YAC9B,aAAQ,GAAR,QAAQ,CAAW;YAxGzB,uBAAkB,GAAG,EAAE,CAAC;YA2BvB,iBAAY,GAAG,KAAK,CAAC;YACrB,WAAM,GAAG,KAAK,CAAC;YACf,sBAAiB,GAAG,IAAI,CAAC;YACzB,gBAAW,GAAG,IAAI,CAAC;YAElB,gBAAW,GAAuB,IAAIN,iBAAY,EAAQ,CAAC;YAErE,iBAAY,GAAsC,IAAIA,iBAAY,EAAuB,CAAC;YAyDvE,iCAA4B,GAAG,yBAAyB,CAAC;YACzD,sCAAiC,GAChD,8BAA8B,CAAC;YAa/B,IAAI,CAAC,UAAU,GAAG,IAAIO,YAAO,EAAE,CAAC;SACnC;QAzGD,sBACI,sCAAK;iBAKT;gBACI,OAAO,IAAI,CAAC,MAAM,CAAC;aACtB;iBARD,UACU,KAA8B;gBACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,kBAAkB,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;gBACpE,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;;;WAAA;QAMD,sBACI,uCAAM;iBAIV;gBACI,OAAO,IAAI,CAAC,OAAO,CAAC;aACvB;iBAPD,UACW,KAA0B;gBACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;;;WAAA;QAKD,sBACI,2CAAU;iBADd,UACe,IAAe;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;;;WAAA;QAWD,sBAAI,yCAAQ;iBAcZ;gBACI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBAhBD,UAAa,QAAiC;;gBAC1C,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,MAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,EAAE,CAAA,EAAE;;oBAEpC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAA,CAAC,CAAC;oBACpE,IAAI,KAAK,IAAI,CAAC,EAAE;wBACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBAC1C;yBAAM;wBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBACtC;oBAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,cAAc,EAAE,CAAC;iBACzB;aACJ;;;WAAA;QAMD,sBAAI,6CAAY;iBAehB;gBACI,OAAO,IAAI,CAAC,aAAa,CAAC;aAC7B;iBAjBD,UAAiB,YAAyC;;gBAEtD,IAAI,YAAY,EAAE;oBACd,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CACtC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,GAAA,CACpC,CAAC;oBACF,IAAI,KAAK,IAAI,CAAC,EAAE;wBACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;qBAClD;yBAAM;wBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC9C;iBACJ;qBAAM;oBACH,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;iBAClC;aACJ;;;WAAA;QAKD,sBAAI,gDAAe;iBAAnB;gBACI,OAAO,IAAI,CAAC,KAAK,GAAM,IAAI,CAAC,kBAAkB,WAAQ,GAAG,OAAO,CAAC;aACpE;;;WAAA;QACD,sBAAI,6CAAY;iBAAhB;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC9C;;;WAAA;QACD,sBAAI,iDAAgB;iBAApB;gBACI,OAAO,IAAI,CAAC,KAAK,GAAM,IAAI,CAAC,kBAAkB,YAAS,GAAG,QAAQ,CAAC;aACtE;;;WAAA;QACD,sBAAI,8CAAa;iBAAjB;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC/C;;;WAAA;QAuBO,oDAAsB,GAAtB;YAAA,iBAeP;YAdG,IAAM,OAAO,GAAgD,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAC9F,yBAAyB,CAC5B,CAAC;YAEF,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,cACnD,OAAA,KAAI,CAAC,WAAW,EAAE,GAAA,CACrB,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,cACnD,OAAA,KAAI,CAAC,WAAW,EAAE,GAAA,CACrB,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SACnE;QAEO,uCAAS,GAAT;YACJ,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;;YAEtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;;YAI1C,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;SACJ;QAEO,4CAAc,GAAd;YAAA,iBAqCP;;;YAnCG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC;iBAChD,MAAM,CAAC,UAAC,GAAG;gBACR,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,CACtD,KAAI,CAAC,KAAK,CAAC,aAAa,CAC3B,CAAC;aACL,CAAC;iBACD,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,uBAAuB,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;;YAGhD,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,EAAE,IACtC,OAAA,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,GAAA,CAClD,CAAC;aACL;;YAGD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC;iBACxD,MAAM,CAAC,UAAC,GAAG;gBACR,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,CAC1D,KAAI,CAAC,KAAK,CAAC,aAAa,CAC3B,CAAC;aACL,CAAC;iBACD,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,2BAA2B,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;;YAGpD,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,MAAM,IAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,EAAE,IAC9C,OAAA,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,GAAA,CACtD,CAAC;aACL;;YAGD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;gBACpD,KAAI,CAAC,oBAAoB,EAAE,CAAC;aAC/B,CAAC,CAAC;SACN;QAEO,yCAAW,GAAX;YACJ,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC7C,IAAM,SAAS,GAAG,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC1D,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aACnC;iBAAM;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC3B;SACJ;QAES,8CAAgB,GAAhB;YACN,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrD,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,MAAM,EAAE,IAAI,CAAC,aAAa;aAC7B,CAAC,CAAC,CAAC;SACP;QAES,0CAAY,GAAZ;YACN,OAAOC,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACrC;QAEO,4CAAc,GAAd;YACJ,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAEnC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;SAC/C;;QAES,kDAAoB,GAApB;;SAET;;QAGS,yDAA2B,GAA3B;YACN,IAAI,CAAC,YAAY,CAAC,aAAa,CAACC,gBAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,aAAa,CAAC,aAAa,CAACA,gBAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;SAChC;;QAGS,oDAAsB,GAAtB;YACN,OAAO,SAAS,CAAC;SACpB;QAES,wCAAU,GAAV;;SAET;QAKD,yCAAW,GAAX,UAAY,SAAgB;YAAhB,0BAAA,EAAA,gBAAgB;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAC3B;SACJ;QAED,yCAAW,GAAX;YACI,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;;YAG1C,IAAI,WAAW,EAAE;gBACb,IAAM,MAAM,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;oBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,KAAK,EAAE,WAAW;iBACrB,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAClC;iBAAM;gBACH,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;QAED,sCAAQ,GAAR;YACI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,cAAc,EAAE,CAAC;aACzB;SACJ;QAED,yCAAW,GAAX;;;;SAIC;QAED,yCAAW,GAAX;YACI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;aACtC;SACJ;;;;gBAtSJC,cAAS,SAAC,EAAE;;;gBAlCTC,qBAAgB;gBAKhBC,aAAQ;gBAHRC,6BAAwB;gBAQxBC,iBAAW;gBAoBNC,uBAAgB;gBAXhBC,0BAAmB;gBArBxBC,cAAS;;;wBA4CRZ,UAAK;yBAWLA,UAAK;6BASLA,UAAK;+BAKLA,UAAK;yBACLA,UAAK;oCACLA,UAAK;8BACLA,UAAK;8BAELC,WAAM;+BACNA,WAAM;;;;QCtEiC,0CAAmB;QAL/D;YAAA,6EAgFC;YA1EG,uBAAiB,GAAsB,EAAE,CAAC;YAC1C,mBAAa,GAAG,KAAK,CAAC;YACtB,uBAAiB,GAAG,KAAK,CAAC;;SAwE7B;QAtEG,yCAAQ,GAAR;YAAA,iBAMC;YALG,IAAI,CAAC,YAAY,CAAC,YAAY;iBACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAEY,8BAAoB,EAAE,CAAC;iBACjD,SAAS,CAAC;gBACP,KAAI,CAAC,2BAA2B,EAAE,CAAC;aACtC,CAAC,CAAC;SACV;;QAGD,mDAAkB,GAAlB;YACI,OAAO,uBAAuB,CAAC,MAAM,CAAC;SACzC;;QAGD,+CAAc,GAAd;YACI,IAAM,WAAW,GAAG;gBAChB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;aACjC,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,WAAW,EAAE;gBACvD,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aACpD;YAED,OAAO,WAAW,CAAC;SACtB;;QAGD,qDAAoB,GAApB;YAAA,iBASC;YARG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ;gBACjD,OAAO;oBACH,GAAG,EAAE,QAAQ,CAAC,EAAE;oBAChB,KAAK,EAAE,KAAI,CAAC,SAAS,CAAC,OAAO,CACtB,KAAI,CAAC,4BAA4B,SAAI,QAAQ,CAAC,IAAM,CAC1D;iBACJ,CAAC;aACL,CAAC,CAAC;SACN;;QAGD,4DAA2B,GAA3B;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,WAAW,EAAE;gBACvD,IAAM,eAAe,GAAG,CAACT,gBAAU,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;oBAC1B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACvE;gBACD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;aACpD;iBAAM;gBACH,iBAAM,2BAA2B,WAAE,CAAC;aACvC;SACJ;QAED,kDAAiB,GAAjB,UAAkB,KAAa;YAC3B,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACxD,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,EAAE,KAAK,KAAK,GAAA,CACtC,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;QAED,+CAAc,GAAd;YACI,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;;KAzEL,CAA4C,mBAAmB;;gBAL9DR,cAAS,SAAC;oBACP,QAAQ,EAAE,iBAAiB;oBAC3B,m1BAA2C;;iBAE9C;;;;QCD8C,6CAAmB;QALlE;YAAA,6EAmCC;YA7BY,aAAO,GAAiB,EAAE,CAAC;;;;;;SA6BvC;QA3BG,4CAAQ,GAAR;;SAEC;;QAID,sDAAkB,GAAlB;YACI,OAAO,uBAAuB,CAAC,MAAM,CAAC;SACzC;;QAGD,kDAAc,GAAd;YACI,IAAM,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAChE,OAAO,WAAW,CAAC;SACtB;QAED,kDAAc,GAAd,UAAe,KAAK;YAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAElC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;;KAzBL,CAA+C,mBAAmB;;gBALjEA,cAAS,SAAC;oBACP,QAAQ,EAAE,oBAAoB;oBAC9B,yyBAA8C;;iBAEjD;;;0BAEII,UAAK;;;;QCEkC,0CAAmB;QAL/D;YAAA,6EAiKC;YA3JG,6BAAuB,GAAG,uBAAuB,CAAC;YAClD,uBAAiB,GAAsB,EAAE,CAAC;YAC1C,2BAAqB,GAAsB,EAAE,CAAC;;SAyJjD;QArJG,yCAAQ,GAAR;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;SACJ;;QAGD,mDAAkB,GAAlB;YACI,OAAO,uBAAuB,CAAC,SAAS,CAAC;SAC5C;;QAGD,uDAAsB,GAAtB;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS;gBACnD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,YAAY;gBACtD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,KAAK;gBAC/C,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,QAAQ,EAAE;gBACpD,OAAO,2BAA2B,CAAC,MAAM,CAAC;aAC7C;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;SACJ;;QAGD,+CAAc,GAAd;YACI,IAAM,WAAW,GAAG;gBAChB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;aACjC,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS,EAAE;gBACrD,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aACpD;YAED,OAAO,WAAW,CAAC;SACtB;;QAGD,qDAAoB,GAApB;YAAA,iBAkBC;YAjBG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ;gBACjD,OAAO;oBACH,GAAG,EAAE,QAAQ,CAAC,EAAE;oBAChB,KAAK,EAAE,KAAI,CAAC,SAAS,CAAC,OAAO,CACtB,KAAI,CAAC,4BAA4B,SAAI,QAAQ,CAAC,IAAM,CAC1D;iBACJ,CAAC;aACL,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,YAAY;gBAC7D,OAAO;oBACH,GAAG,EAAE,YAAY,CAAC,EAAE;oBACpB,KAAK,EAAE,KAAI,CAAC,SAAS,CAAC,OAAO,CACtB,KAAI,CAAC,iCAAiC,SAAI,YAAY,CAAC,IAAM,CACnE;iBACJ,CAAC;aACL,CAAC,CAAC;SACN;;QAGD,4DAA2B,GAA3B;YACI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS,EAAE;gBACrD,IAAI,CAAC,YAAY,CAAC,aAAa,CAACI,gBAAU,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,aAAa,CAACA,gBAAU,CAAC,QAAQ,CAAC,CAAC;aACzD;iBAAM,IACH,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS;gBACnD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,YAAY;gBACtD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,KAAK;gBAC/C,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,QAAQ,EACpD;gBACE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBAC5BA,gBAAU,CAAC,QAAQ;oBACnB,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;iBACnC,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAChC;iBAAM;;gBAEH,IACI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,KAAK;oBAC/C,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,QAAQ;oBAClD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS;oBACnD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,OAAO;oBACjD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,UAAU,EACtD;oBACE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;iBAC/B;;gBAGD,iBAAM,2BAA2B,WAAE,CAAC;aACvC;SACJ;QAED,iDAAgB,GAAhB;YACI,IACI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,KAAK;gBAC/C,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,QAAQ;gBAClD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS;gBACnD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,OAAO;gBACjD,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,UAAU,EACtD;gBACE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aAC3B;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,EAAE,EAAE;gBACrD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC5B;SACJ;QAED,kDAAiB,GAAjB,UAAkB,KAAa;YAC3B,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACxD,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,EAAE,KAAK,KAAK,GAAA,CACtC,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;QAED,kDAAiB,GAAjB,UAAkB,KAAa;YAC3B,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAChE,UAAC,YAAY,IAAK,OAAA,YAAY,CAAC,EAAE,KAAK,KAAK,GAAA,CAC9C,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;QAED,mDAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;;KA1JL,CAA4C,mBAAmB;;gBAL9DR,cAAS,SAAC;oBACP,QAAQ,EAAE,iBAAiB;oBAC3B,6wGAA2C;;iBAE9C;;;ICOD;QAAA;YAGI,aAAQ,GAAG,KAAK,CAAC;SACpB;yCAAA;KAAA,IAAA;;QAQW,iDAAmB;QAN/B;YAAA,6EAuLC;YA/KG,aAAO,GAAiC,EAAE,CAAC;YAE3C,mBAAa,GAAG,IAAIkB,iBAAW,EAAE,CAAC;;YAElC,cAAQ,GAAG,EAAE,CAAC;YACd,mBAAa,GAAiB,EAAE,CAAC;YAKhB,yBAAmB,GAAG,IAAI,CAAC;YAI5C,+BAAyB,GAAG,EAAE,CAAC;;SAiKlC;QA/JG,gDAAQ,GAAR;YACI,iBAAM,QAAQ,CAAC;YAEf,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAChC;SACJ;QAGD,uDAAe,GAAf;;YAEI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC/C;QAEO,yDAAiB,GAAjB;;;YAEJ,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,0CAAE,MAAM,IAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAuB,GAAG,EAAE,CAAC;;YAG/F,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,0CAAE,MAAM,IAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrD;SACJ;QAEO,6DAAqB,GAArB;YAAA,iBA2CP;;YA1CG,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG;oBACtC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;iBAClE,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAChC;;YAGD,IAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,YAAY,CAAC,KAAK,EAAE;gBACpB,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACtD;;YAGD,YAAY,CAAC,YAAY;iBACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAED,8BAAoB,EAAE,CAAC;iBACjD,SAAS,CAAC,UAAC,cAAwB;gBAChC,KAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;aAClD,CAAC,CAAC;;YAGP,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EAAE,EACnBE,mBAAS,CAAM,EAAE,CAAC,EAClBC,aAAG,CAAC,UAAC,MAAM,IACP,OAAA,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,GAAA,CAC/D,EACDA,aAAG,CAAC,UAAC,KAAK,IAAK,QAAC,KAAK,GAAG,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,OAAO,IAAC,CAAC,CACrE,CAAC;;YAGF,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC3B,UAAC,cAA4C;gBACzC,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC9C,UAAU,CAAC;;oBAEP,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7C,EAAE,GAAG,CAAC,CAAC;aACX,CACJ,CAAC;SAEL;QAED,iEAAyB,GAAzB,UAA0B,cAAwB;YAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG;gBACrB,IAAM,eAAe,GACjB,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzD,GAAG,CAAC,QAAQ,GAAG,eAAe,CAAC;aAClC,CAAC,CAAC;SACN;QAEO,yDAAiB,GAAjB,UAAkB,YAAoB;YAC1C,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAM,aAAa,GACf,YAAY,GAAG,IAAI,CAAC,mBAAmB;sBACjC,IAAI,CAAC,mBAAmB;sBACxB,YAAY,CAAC;;gBAEvB,IAAM,aAAa,GAAG,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;gBAEvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,gBAAgB,CAAC,aAAa,EACnC,QAAQ,EACR,aAAa,CAChB,CAAC;aACL;SACJ;QAEO,qDAAa,GAAb,UAAc,KAAa;YAC/B,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACtB,UAAC,GAAG,IACA,OAAA,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAA,CAClE,CAAC;SACL;;QAGD,0DAAkB,GAAlB;YACI,OAAO,uBAAuB,CAAC,EAAE,CAAC;SACrC;;QAGD,sDAAc,GAAd;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO;oBACH,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;iBACjC,CAAC;aACL;iBAAM;gBACH,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO;qBAC9B,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,QAAQ,GAAA,CAAC;qBAC7B,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,GAAA,CAAC,CAAC;gBAC7B,IAAM,WAAW,GAAG;oBAChB,KAAK,EAAE,cAAc;iBACxB,CAAC;gBAEF,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;aACzD;SAEJ;;QAGD,kDAAU,GAAV;YACI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,IAAC,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACnC;QAED,sDAAc,GAAd,UACI,MAAkC,EAClC,KAAwB;YAExB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,QAAQ,CACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,QAAQ,GAAA,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,GAAA,CAAC,EAClE,EAAE,SAAS,EAAE,KAAK,EAAE,CACvB,CAAC;SACL;QAED,4DAAoB,GAApB,UAAqB,KAAa;YAC9B,IAAI,KAAK,EAAE;gBACP,IAAM,QAAQ,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACxC;iBAAM;gBACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACpC;YAED,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;;KAhLL,CACY,mBAAmB;;gBAN9BpB,cAAS,SAAC;oBACP,QAAQ,EAAE,yBAAyB;oBACnC,i6DAAmD;;iBAEtD;;;mCAWIqB,cAAS,SAAC,kBAAkB;kCAI5BA,cAAS,SAACC,2CAAwB;;;;QChCO,4CAAmB;QALjE;YAAA,6EA2GC;YArGG,6BAAuB,GAAG,uBAAuB,CAAC;YAClD,uBAAiB,GAAsB,EAAE,CAAC;YAC1C,mBAAa,GAAG,KAAK,CAAC;YACtB,iBAAW,GAAG,KAAK,CAAC;;SAkGvB;QAhGG,2CAAQ,GAAR;YAAA,iBAaC;YAZG,IAAI,CAAC,YAAY,CAAC,YAAY;iBACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAEL,8BAAoB,EAAE,CAAC;iBACjD,SAAS,CAAC;gBACP,KAAI,CAAC,2BAA2B,EAAE,CAAC;aACtC,CAAC,CAAC;YAEP,IAAI,CAAC,aAAa,CAAC,YAAY;iBAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAEA,8BAAoB,EAAE,CAAC;iBACjD,SAAS,CAAC;gBACP,KAAI,CAAC,2BAA2B,EAAE,CAAC;aACtC,CAAC,CAAC;YACP,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;;QAGD,qDAAkB,GAAlB;YACI,OAAO,uBAAuB,CAAC,MAAM,CAAC;SACzC;;QAGD,iDAAc,GAAd;YACI,IAAM,WAAW,GAAG;gBAChB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;aACjC,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,WAAW,EAAE;gBACvD,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aACpD;YAED,OAAO,WAAW,CAAC;SACtB;;QAGD,uDAAoB,GAApB;YAAA,iBASC;YARG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ;gBACjD,OAAO;oBACH,GAAG,EAAE,QAAQ,CAAC,EAAE;oBAChB,KAAK,EAAE,KAAI,CAAC,SAAS,CAAC,OAAO,CACtB,KAAI,CAAC,4BAA4B,SAAI,QAAQ,CAAC,IAAM,CAC1D;iBACJ,CAAC;aACL,CAAC,CAAC;SACN;;QAGD,8DAA2B,GAA3B;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,WAAW,EAAE;gBACvD,IAAM,eAAe,GAAG,CAACT,gBAAU,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;oBAC1B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBACvE;gBACD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAGjD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAM,gBAAgB,GAAG,CAACA,gBAAU,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;oBACzB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC1E;gBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;aACtD;iBAAM;gBACH,iBAAM,2BAA2B,WAAE,CAAC;aACvC;SACJ;QAED,mDAAgB,GAAhB;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,CAAC,WAAW,EAAE;gBACvD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC5B;SACJ;QAED,oDAAiB,GAAjB,UAAkB,KAAa;YAC3B,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACxD,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,EAAE,KAAK,KAAK,GAAA,CACtC,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;QAED,iDAAc,GAAd;YACI,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;SACJ;;KApGL,CAA8C,mBAAmB;;gBALhER,cAAS,SAAC;oBACP,QAAQ,EAAE,mBAAmB;oBAC7B,2mEAA6C;;iBAEhD;;;;QCyEG,+BAAoB,eAAgC;YAAhC,oBAAe,GAAf,eAAe,CAAiB;YAChD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;gBAC/BuB,uBAAkB;gBAClBC,sBAAiB;aACpB,CAAC,CAAC;SACN;;;;gBApDJC,aAAQ,SAAC;oBACN,OAAO,EAAE;wBACLC,mBAAY;wBACZC,yBAAmB;wBACnBC,2BAAgB;;wBAEhBC,sBAAe;wBACfC,0BAAiB;wBACjBC,oBAAc;wBACdC,4BAAkB;wBAClBC,oBAAa;wBACbC,4BAAkB;wBAClBC,oBAAc;wBACdC,oBAAc;;wBAEdC,wCAAqB;;wBAErBC,sBAAe;wBACfC,4BAAiB;wBACjBC,kBAAa;wBACbC,sBAAe;wBACfC,wBAAgB;wBAChBC,sBAAe;wBACfC,kBAAa;wBACbC,sBAAe;wBACfC,kCAAqB;qBACxB;oBACD,OAAO,EAAE;wBACL,wBAAwB;wBACxB,sBAAsB;wBACtB,yBAAyB;wBACzB,sBAAsB;wBACtB,6BAA6B;wBAC7B,wBAAwB;qBAC3B;oBACD,YAAY,EAAE;;wBAEV,wBAAwB;wBACxB,yBAAyB;wBACzB,sBAAsB;wBACtB,yBAAyB;wBACzB,sBAAsB;wBACtB,6BAA6B;wBAC7B,wBAAwB;qBAC3B;iBACJ;;;gBA7DGC,oBAAe;;;ICAnB;IACA;;QAmBI,iCAAY,KAA2B;YACnC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAEzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC/B;QAlBD,sBAAI,kDAAa;iBAAjB;gBACI,OAAO,IAAI,CAAC,cAAc,CAAC;aAC9B;;;WAAA;QAGD,sBAAI,yCAAI;iBAAR;gBACI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;;;WAAA;sCAcJ;KAAA,IAAA;IACD;IACA;;QAC6C,2CAAuB;QAChE,iCAAY,KAA2B;YAAvC,YACI,kBAAM,KAAK,CAAC,SAEf;YADG,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;;SAChC;QAED,yCAAO,GAAP;YACI,OAAO,MAAM,CAAC;SACjB;sCACJ;KATD,CAA6C,uBAAuB,GASnE;IAGD;IACA;;QACgD,8CAAuB;QACnE,oCAAY,KAA2B;YAAvC,YACI,kBAAM,KAAK,CAAC,SAEf;YADG,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC;;SACnC;QAED,4CAAO,GAAP;YACI,OAAO,SAAS,CAAC;SACpB;yCACJ;KATD,CAAgD,uBAAuB,GAStE;IAED;IACA;;QAC0D,+CAAuB;QAC7E,qCAAY,KAA2B;YAAvC,YACI,kBAAM,KAAK,CAAC,SAEf;YADG,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;;SAChC;0CACJ;KALD,CAA0D,uBAAuB,GAKhF;;QAC4C,2CAA2B;QACpE,iCAAY,KAA2B;mBACnC,kBAAM,KAAK,CAAC;SACf;QAED,yCAAO,GAAP;YACI,OAAO,MAAM,CAAC;SACjB;sCACJ;KARD,CAA6C,2BAA2B,GAQvE;;QACgD,+CAA2B;QACxE,qCAAY,KAA2B;mBACnC,kBAAM,KAAK,CAAC;SACf;QAED,6CAAO,GAAP;YACI,OAAO,WAAW,CAAC;SACtB;0CACJ;KARD,CAAiD,2BAA2B,GAQ3E;IAED;IACA;;QACoD,kDAAuB;QACvE,wCAAY,KAA2B;YAAvC,YACI,kBAAM,KAAK,CAAC,SAEf;YADG,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;SACxC;QAED,gDAAO,GAAP;YACI,OAAO,cAAc,CAAC;SACzB;6CACJ;KATD,CAAoD,uBAAuB,GAS1E;IAED;IACA;;QAC4D,iDAAuB;QAC/E,uCAAY,KAA2B;YAAvC,YACI,kBAAM,KAAK,CAAC,SAEf;YADG,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;;SAClC;4CACJ;KALD,CAA4D,uBAAuB,GAKlF;;QAC2C,0CAA6B;QACrE,gCAAY,KAA2B;mBACnC,kBAAM,KAAK,CAAC;SACf;QAED,wCAAO,GAAP;YACI,OAAO,KAAK,CAAC;SAChB;qCACJ;KARD,CAA4C,6BAA6B,GAQxE;;QAC4C,2CAA6B;QACtE,iCAAY,KAA2B;mBACnC,kBAAM,KAAK,CAAC;SACf;QAED,yCAAO,GAAP;YACI,OAAO,MAAM,CAAC;SACjB;sCACJ;KARD,CAA6C,6BAA6B,GAQzE;;QACgD,+CAA6B;QAC1E,qCAAY,KAA2B;mBACnC,kBAAM,KAAK,CAAC;SACf;QAED,6CAAO,GAAP;YACI,OAAO,UAAU,CAAC;SACrB;0CACJ;KARD,CAAiD,6BAA6B,GAQ7E;;QACkD,iDAA6B;QAC5E,uCAAY,KAA2B;mBACnC,kBAAM,KAAK,CAAC;SACf;QAED,+CAAO,GAAP;YACI,OAAO,YAAY,CAAC;SACvB;4CACJ;KARD,CAAmD,6BAA6B;;IC/IhF,SAAS,0BAA0B,CAAC,IAA0B;QAC1D,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,6BAA6B,CAAC,IAA0B;QAC7D,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,0BAA0B,CAAC,IAA0B;QAC1D,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,8BAA8B,CAAC,IAA0B;QAC9D,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,iCAAiC,CAAC,IAA0B;QACjE,OAAO,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,yBAAyB,CAAC,IAA0B;QACzD,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,0BAA0B,CAAC,IAA0B;QAC1D,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,8BAA8B,CAAC,IAA0B;QAC9D,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,gCAAgC,CAAC,IAA0B;QAChE,OAAO,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;aAEe,sBAAsB,CAClC,IAA0B,EAC1B,IAAwB;QAExB,IAAI,KAA8B,CAAC;QAEnC,QAAQ,IAAI;YACR,KAAK,MAAM;gBACP,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,SAAS;gBACV,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM;YACV,KAAK,MAAM;gBACP,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,WAAW;gBACZ,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM;YACV,KAAK,cAAc;gBACf,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM;YACV,KAAK,KAAK;gBACN,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM;YACV,KAAK,MAAM;gBACP,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,UAAU;gBACX,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM;YACV,KAAK,YAAY;gBACb,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM;YACV;gBACI,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM;SACb;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;aAEe,iBAAiB,CAC7B,OAAe,EACf,QAAiC,EACjC,KAAU,EACV,MAAY,EACZ,YAA0C;QAE1C,OAAO;YACH,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,YAAY;YAC1B,KAAK,EAAE;gBACH,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACjB;SACJ,CAAC;IACN;;IC/GA;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|