@elite.framework/ng.ui.core 1.0.95 → 1.0.97

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.
@@ -1 +1 @@
1
- {"version":3,"file":"elite.framework-ng.ui.core-formly-ui-all.mjs","sources":["../tmp-esm2022/formly-ui-all/lib/formly-ui-all-module.js","../tmp-esm2022/formly-ui-all/lib/formly-all.config.js","../tmp-esm2022/formly-ui-all/elite.framework-ng.ui.core-formly-ui-all.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUiAllModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVpLWFsbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS11aS1hbGwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUZsQixZQUFZO3dHQUVYLGlCQUFpQixZQUZsQixZQUFZOzsyRkFFWCxpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VWlBbGxNb2R1bGUge31cbiJdfQ==","import { AttachmentTypeComponent } from \"@elite.framework/ng.ui.core/attachments\";\nimport { CollapsibleWrapper } from \"@elite.framework/ng.ui.core/collapsible\";\nimport { ColorPickerComponent } from \"@elite.framework/ng.ui.core/color-picker\";\nimport { ConditionExpressionBuilderType } from \"@elite.framework/ng.ui.core/condition-editor\";\nimport { CustomSwitchFieldComponent } from \"@elite.framework/ng.ui.core/custom-switch\";\nimport { FormlyFieldButton } from \"@elite.framework/ng.ui.core/form-button\";\nimport { FormlyTemplateType } from \"@elite.framework/ng.ui.core/form-template\";\nimport { FormlyAvatarImageComponent } from \"@elite.framework/ng.ui.core/formly-avatar-image\";\nimport { FormlyAvatarLabelComponent } from \"@elite.framework/ng.ui.core/formly-avatar-label\";\nimport { FormlyButtonComponent } from \"@elite.framework/ng.ui.core/formly-button\";\nimport { FormlySelectionButtonComponent } from \"@elite.framework/ng.ui.core/formly-button-selector\";\nimport { FormlySplitButtonComponent } from \"@elite.framework/ng.ui.core/formly-split-button\";\nimport { UsernameWithDomainComponent } from \"@elite.framework/ng.ui.core/formly-username-with-domain\";\nimport { ColumnsBuilderComponent, GroupBuilderComponent, GroupTypeComponent, QueryBuilderComponent, SortBuilderComponent, TabTypeComponent } from \"@elite.framework/ng.ui.core/generic-search-advanced\";\nimport { GenericSelectorTypeComponent } from \"@elite.framework/ng.ui.core/generic-selector\";\nimport { IconPickerComponent } from \"@elite.framework/ng.ui.core/icon-picker\";\nimport { InputSwitchTypeComponent } from \"@elite.framework/ng.ui.core/input-switch\";\nimport { InputWithIconType } from \"@elite.framework/ng.ui.core/input-with-icon\";\nimport { LabelTypeComponent, ClickableLabelTypeComponent, CustomTypeComponent } from \"@elite.framework/ng.ui.core/label-type\";\nimport { RepeatTypeComponent } from \"@elite.framework/ng.ui.core/repeat\";\nimport { TabsTypeComponent } from \"@elite.framework/ng.ui.core/tabs\";\nimport { OptionTagTypeComponent, TagTypeComponent, ColorTagTypeComponent } from \"@elite.framework/ng.ui.core/tag-type\";\nimport { RichTextEditorTypeComponent } from \"@elite.framework/ng.ui.core/text-editor\";\nimport { PanelWrapperComponent, LabelWrapperComponent, TdWrapperComponent, CustomFieldWrapper } from \"@elite.framework/ng.ui.core/wrappers\";\nexport function provideAllFormlyFields() {\n const fields = [\n withFormlyFieldInputWithIcon,\n withFormlyFieldAttachment,\n withFormlyFieldRichTextEditor,\n withFormlyFieldGenericSelector,\n withFormlyFieldSwitch,\n withFormlyFieldUsernameWithDomain,\n withFormlyFieldCustomSwitch,\n withFormlyFieldFormlySplit,\n withFormlyFieldButtonSelection,\n withFormlyFieldAvatarLabelButton,\n withFormlyFieldFormlyButton,\n withFormlyFieldLabelType,\n withFormlyFieldClickableLabelType,\n withFormlyFieldOptionTag,\n withFormlyFieldRepeat,\n withFormlyFieldTabs,\n withFormlyFieldTag,\n withFormlyFieldColorTag,\n withFormlyFieldConditionBuilder,\n withFormlyFieldIconPicker,\n withFormlyFieldColorPicker,\n withFormlyFieldTemplate,\n withFormlyFieldButton,\n withFormlyFieldAvatarImage,\n withFormlyWrappers,\n withFormlyQueryBuilder,\n ];\n // Call each provider function to get the Provider object\n return fields.map(fn => fn());\n}\n// ---- Field Providers ----\nexport function withFormlyQueryBuilder() {\n return {\n types: [\n {\n name: 'query-builder',\n component: QueryBuilderComponent\n },\n {\n name: 'sort-builder',\n component: SortBuilderComponent\n },\n {\n name: 'group', component: GroupTypeComponent\n },\n {\n name: 'tab-type',\n component: TabTypeComponent\n },\n {\n name: 'group-builder',\n component: GroupBuilderComponent\n },\n {\n name: 'columns-builder',\n component: ColumnsBuilderComponent\n },\n ],\n };\n}\nexport function withFormlyFieldInputWithIcon() {\n return {\n types: [\n {\n name: 'inputWithIcon',\n component: InputWithIconType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAttachment() {\n return {\n types: [\n {\n name: 'attachment-type',\n component: AttachmentTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldRichTextEditor() {\n return {\n types: [\n {\n name: 'rich-text-editor',\n component: RichTextEditorTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldGenericSelector() {\n return {\n types: [\n {\n name: 'generic-selector',\n component: GenericSelectorTypeComponent,\n wrappers: ['form-field'],\n // defaultOptions: {\n // props: {\n // loadDefaultField: 'isDefault', // 👈 default value\n // loadDefaultValue: true, // 👈 default value\n // loadDefault: true, // 👈 default value\n // fixedFilters:{\n // isActive:true\n // }\n // },\n // },\n },\n ],\n };\n}\nexport function globalGenericSelectorExtension() {\n return {\n extensions: [\n {\n name: 'generic-selector-defaults',\n extension: {\n prePopulate(field) {\n if (field.type === 'generic-selector') {\n field.props = {\n loadDefaultField: 'isDefault',\n loadDefaultValue: true,\n loadDefault: true,\n fixedFilters: {\n isActive: true\n },\n ...field.props, // 👈 keep per-field overrides\n };\n }\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldSwitch() {\n return {\n types: [\n {\n name: 'switch',\n component: InputSwitchTypeComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldUsernameWithDomain() {\n return {\n types: [\n {\n name: 'username-with-domain',\n component: UsernameWithDomainComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldCustomSwitch() {\n return {\n types: [\n {\n name: 'custom-switch',\n component: CustomSwitchFieldComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldFormlySplit() {\n return {\n types: [\n {\n name: 'Formly-Split',\n component: FormlySplitButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldButtonSelection() {\n return {\n types: [\n {\n name: 'Button-Selection',\n component: FormlySelectionButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarLabelButton() {\n return {\n types: [\n {\n name: 'avatar-label-button',\n component: FormlyAvatarLabelComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldFormlyButton() {\n return {\n types: [\n {\n name: 'formly-button',\n component: FormlyButtonComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldLabelType() {\n return {\n types: [\n {\n name: 'label-type',\n component: LabelTypeComponent,\n },\n {\n name: 'custom-label-type',\n component: CustomTypeComponent,\n wrappers: ['field-wrapper']\n },\n ],\n };\n}\nexport function withFormlyFieldClickableLabelType() {\n return {\n types: [\n {\n name: 'clickable-label-type',\n component: ClickableLabelTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldOptionTag() {\n return {\n types: [\n {\n name: 'option-tag',\n component: OptionTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldRepeat() {\n return {\n types: [\n {\n name: 'repeat',\n component: RepeatTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTabs() {\n return {\n types: [\n {\n name: 'tabs',\n component: TabsTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTag() {\n return {\n types: [\n {\n name: 'tag',\n component: TagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldColorTag() {\n return {\n types: [\n {\n name: 'color-tag',\n component: ColorTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldConditionBuilder() {\n return {\n types: [\n {\n name: 'condition-builder',\n component: ConditionExpressionBuilderType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldIconPicker() {\n return {\n types: [\n {\n name: 'icon-picker',\n component: IconPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldColorPicker() {\n return {\n types: [\n {\n name: 'color-picker',\n component: ColorPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldTemplate() {\n return {\n types: [\n {\n name: 'template',\n component: FormlyTemplateType,\n },\n ],\n };\n}\nexport function withFormlyFieldButton() {\n return {\n types: [\n {\n name: 'button',\n component: FormlyFieldButton,\n wrappers: ['form-field'],\n defaultOptions: {\n props: {\n btnType: 'default',\n type: 'button',\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarImage() {\n return {\n types: [\n {\n name: 'avatar-image',\n component: FormlyAvatarImageComponent,\n },\n ],\n };\n}\nexport function withFormlyWrappers() {\n return {\n wrappers: [\n { name: 'panel', component: PanelWrapperComponent },\n { name: 'label', component: LabelWrapperComponent },\n { name: 'td', component: TdWrapperComponent },\n { name: 'collapsible', component: CollapsibleWrapper },\n { name: 'field-wrapper', component: CustomFieldWrapper },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWFsbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS1hbGwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hNLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4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QUN4QixjQUFjLEVBQUU7b0JBQ2QsS0FBSyxFQUFFO3dCQUNMLE9BQU8sRUFBRSxTQUFTO3dCQUNsQixJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxjQUFjO2dCQUNwQixTQUFTLEVBQUUsMEJBQTBCO2FBQ3RDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsT0FBTztRQUNMLFFBQVEsRUFBRTtZQUNSLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7WUFDbkQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtZQUNuRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO1lBQzdDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7WUFDdEQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtTQUN6RDtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2F0dGFjaG1lbnRzXCI7XHJcbmltcG9ydCB7IENvbGxhcHNpYmxlV3JhcHBlciB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29sbGFwc2libGVcIjtcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbG9yLXBpY2tlclwiO1xyXG5pbXBvcnQgeyBDb25kaXRpb25FeHByZXNzaW9uQnVpbGRlclR5cGUgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbmRpdGlvbi1lZGl0b3JcIjtcclxuaW1wb3J0IHsgQ3VzdG9tU3dpdGNoRmllbGRDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2N1c3RvbS1zd2l0Y2hcIjtcclxuaW1wb3J0IHsgRm9ybWx5RmllbGRCdXR0b24gfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm0tYnV0dG9uXCI7XHJcbmltcG9ydCB7IEZvcm1seVRlbXBsYXRlVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybS10ZW1wbGF0ZVwiO1xyXG5pbXBvcnQgeyBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWF2YXRhci1pbWFnZVwiO1xyXG5pbXBvcnQgeyBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWF2YXRhci1sYWJlbFwiO1xyXG5pbXBvcnQgeyBGb3JtbHlCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1idXR0b25cIjtcclxuaW1wb3J0IHsgRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uLXNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktc3BsaXQtYnV0dG9uXCI7XHJcbmltcG9ydCB7IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluXCI7XHJcbmltcG9ydCB7IENvbHVtbnNCdWlsZGVyQ29tcG9uZW50LCBHcm91cEJ1aWxkZXJDb21wb25lbnQsIEdyb3VwVHlwZUNvbXBvbmVudCwgUXVlcnlCdWlsZGVyQ29tcG9uZW50LCBTb3J0QnVpbGRlckNvbXBvbmVudCwgVGFiVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWFyY2gtYWR2YW5jZWRcIjtcclxuaW1wb3J0IHsgR2VuZXJpY1NlbGVjdG9yVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZ2VuZXJpYy1zZWxlY3RvclwiO1xyXG5pbXBvcnQgeyBJY29uUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9pY29uLXBpY2tlclwiO1xyXG5pbXBvcnQgeyBJbnB1dFN3aXRjaFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2lucHV0LXN3aXRjaFwiO1xyXG5pbXBvcnQgeyBJbnB1dFdpdGhJY29uVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvaW5wdXQtd2l0aC1pY29uXCI7XHJcbmltcG9ydCB7IExhYmVsVHlwZUNvbXBvbmVudCwgQ2xpY2thYmxlTGFiZWxUeXBlQ29tcG9uZW50LCBDdXN0b21UeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9sYWJlbC10eXBlXCI7XHJcbmltcG9ydCB7IFJlcGVhdFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3JlcGVhdFwiO1xyXG5pbXBvcnQgeyBUYWJzVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvdGFic1wiO1xyXG5pbXBvcnQgeyBPcHRpb25UYWdUeXBlQ29tcG9uZW50LCBUYWdUeXBlQ29tcG9uZW50LCBDb2xvclRhZ1R5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3RhZy10eXBlXCI7XHJcbmltcG9ydCB7IFJpY2hUZXh0RWRpdG9yVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvdGV4dC1lZGl0b3JcIjtcclxuaW1wb3J0IHsgUGFuZWxXcmFwcGVyQ29tcG9uZW50LCBMYWJlbFdyYXBwZXJDb21wb25lbnQsIFRkV3JhcHBlckNvbXBvbmVudCwgQ3VzdG9tRmllbGRXcmFwcGVyIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS93cmFwcGVyc1wiO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcclxuaW1wb3J0IHsgQ29uZmlnT3B0aW9uLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBbGxGb3JtbHlGaWVsZHMoKTogQ29uZmlnT3B0aW9uW10ge1xyXG4gIGNvbnN0IGZpZWxkcyA9IFtcclxuXHJcbiAgICB3aXRoRm9ybWx5RmllbGRJbnB1dFdpdGhJY29uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQXR0YWNobWVudCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFJpY2hUZXh0RWRpdG9yLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkR2VuZXJpY1NlbGVjdG9yLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkU3dpdGNoLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVXNlcm5hbWVXaXRoRG9tYWluLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ3VzdG9tU3dpdGNoLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkRm9ybWx5U3BsaXQsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRCdXR0b25TZWxlY3Rpb24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRBdmF0YXJMYWJlbEJ1dHRvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEZvcm1seUJ1dHRvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZExhYmVsVHlwZSxcclxuICAgIHdpdGhGb3JtbHlGaWVsZENsaWNrYWJsZUxhYmVsVHlwZSxcclxuICAgIHdpdGhGb3JtbHlGaWVsZE9wdGlvblRhZyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFJlcGVhdCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFRhYnMsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRUYWcsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDb2xvclRhZyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZENvbmRpdGlvbkJ1aWxkZXIsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ29sb3JQaWNrZXIsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSxcclxuICAgIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEF2YXRhckltYWdlLFxyXG4gICAgd2l0aEZvcm1seVdyYXBwZXJzLFxyXG4gICAgd2l0aEZvcm1seVF1ZXJ5QnVpbGRlcixcclxuICBdO1xyXG5cclxuICAvLyBDYWxsIGVhY2ggcHJvdmlkZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBQcm92aWRlciBvYmplY3RcclxuICByZXR1cm4gZmllbGRzLm1hcChmbiA9PiBmbigpKTtcclxufVxyXG5cclxuXHJcbi8vIC0tLS0gRmllbGQgUHJvdmlkZXJzIC0tLS1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seVF1ZXJ5QnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAncXVlcnktYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFF1ZXJ5QnVpbGRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3NvcnQtYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFNvcnRCdWlsZGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnZ3JvdXAnLCBjb21wb25lbnQ6IEdyb3VwVHlwZUNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3RhYi10eXBlJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogVGFiVHlwZUNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3JvdXAtYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogR3JvdXBCdWlsZGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY29sdW1ucy1idWlsZGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBDb2x1bW5zQnVpbGRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJbnB1dFdpdGhJY29uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaW5wdXRXaXRoSWNvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBJbnB1dFdpdGhJY29uVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdHRhY2htZW50KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXR0YWNobWVudC10eXBlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEF0dGFjaG1lbnRUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFJpY2hUZXh0RWRpdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmljaC10ZXh0LWVkaXRvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBSaWNoVGV4dEVkaXRvclR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkR2VuZXJpY1NlbGVjdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnZ2VuZXJpYy1zZWxlY3RvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBHZW5lcmljU2VsZWN0b3JUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgICAvLyBkZWZhdWx0T3B0aW9uczoge1xyXG4gICAgICAgIC8vICAgcHJvcHM6IHtcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHRGaWVsZDogJ2lzRGVmYXVsdCcsICAgLy8g8J+RiCBkZWZhdWx0IHZhbHVlXHJcbiAgICAgICAgLy8gICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsICAgICAvLyDwn5GIIGRlZmF1bHQgdmFsdWVcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHQ6IHRydWUsICAgICAgIC8vIPCfkYggZGVmYXVsdCB2YWx1ZVxyXG5cclxuICAgICAgICAvLyAgICAgZml4ZWRGaWx0ZXJzOntcclxuICAgICAgICAvLyAgICAgICBpc0FjdGl2ZTp0cnVlXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2xvYmFsR2VuZXJpY1NlbGVjdG9yRXh0ZW5zaW9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGV4dGVuc2lvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdnZW5lcmljLXNlbGVjdG9yLWRlZmF1bHRzJyxcclxuICAgICAgICBleHRlbnNpb246IHtcclxuICAgICAgICAgIHByZVBvcHVsYXRlKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xyXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dlbmVyaWMtc2VsZWN0b3InKSB7XHJcbiAgICAgICAgICAgICAgZmllbGQucHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdEZpZWxkOiAnaXNEZWZhdWx0JyxcclxuICAgICAgICAgICAgICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZpeGVkRmlsdGVyczp7XHJcbiAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOnRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi5maWVsZC5wcm9wcywgLy8g8J+RiCBrZWVwIHBlci1maWVsZCBvdmVycmlkZXNcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRTd2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdzd2l0Y2gnLFxyXG4gICAgICAgIGNvbXBvbmVudDogSW5wdXRTd2l0Y2hUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFVzZXJuYW1lV2l0aERvbWFpbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3VzZXJuYW1lLXdpdGgtZG9tYWluJyxcclxuICAgICAgICBjb21wb25lbnQ6IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDdXN0b21Td2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjdXN0b20tc3dpdGNoJyxcclxuICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVN3aXRjaEZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seVNwbGl0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnRm9ybWx5LVNwbGl0JyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvblNlbGVjdGlvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ0J1dHRvbi1TZWxlY3Rpb24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEF2YXRhckxhYmVsQnV0dG9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXZhdGFyLWxhYmVsLWJ1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seUJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2Zvcm1seS1idXR0b24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnbGFiZWwtdHlwZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBMYWJlbFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdjdXN0b20tbGFiZWwtdHlwZScsXHJcbiAgICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgICB3cmFwcGVyczpbJ2ZpZWxkLXdyYXBwZXInXVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ2xpY2thYmxlTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY2xpY2thYmxlLWxhYmVsLXR5cGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2xpY2thYmxlTGFiZWxUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkT3B0aW9uVGFnKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnb3B0aW9uLXRhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBPcHRpb25UYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkUmVwZWF0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmVwZWF0JyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGVhdFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUYWJzKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGFicycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWJzVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjb2xvci10YWcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ29sb3JUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbmRpdGlvbi1idWlsZGVyJyxcclxuICAgICAgICBjb21wb25lbnQ6IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaWNvbi1waWNrZXInLFxyXG4gICAgICAgIGNvbXBvbmVudDogSWNvblBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RlbXBsYXRlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVRlbXBsYXRlVHlwZSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2J1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcclxuICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIGJ0blR5cGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhci1pbWFnZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlXcmFwcGVycygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB3cmFwcGVyczogW1xyXG4gICAgICB7IG5hbWU6ICdwYW5lbCcsIGNvbXBvbmVudDogUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgbmFtZTogJ2xhYmVsJywgY29tcG9uZW50OiBMYWJlbFdyYXBwZXJDb21wb25lbnQgfSxcclxuICAgICAgeyBuYW1lOiAndGQnLCBjb21wb25lbnQ6IFRkV3JhcHBlckNvbXBvbmVudCB9LFxyXG4gICAgICB7IG5hbWU6ICdjb2xsYXBzaWJsZScsIGNvbXBvbmVudDogQ29sbGFwc2libGVXcmFwcGVyIH0sXHJcbiAgICAgIHsgbmFtZTogJ2ZpZWxkLXdyYXBwZXInLCBjb21wb25lbnQ6IEN1c3RvbUZpZWxkV3JhcHBlciB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVpLWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdWktYWxsL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktdWktYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elite.framework-ng.ui.core-formly-ui-all.mjs","sources":["../tmp-esm2022/formly-ui-all/lib/formly-ui-all-module.js","../tmp-esm2022/formly-ui-all/lib/formly-all.config.js","../tmp-esm2022/formly-ui-all/elite.framework-ng.ui.core-formly-ui-all.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUiAllModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVpLWFsbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS11aS1hbGwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUZsQixZQUFZO3dHQUVYLGlCQUFpQixZQUZsQixZQUFZOzsyRkFFWCxpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VWlBbGxNb2R1bGUge31cbiJdfQ==","import { AttachmentTypeComponent } from \"@elite.framework/ng.ui.core/attachments\";\nimport { CollapsibleWrapper } from \"@elite.framework/ng.ui.core/collapsible\";\nimport { ColorPickerComponent } from \"@elite.framework/ng.ui.core/color-picker\";\nimport { ConditionExpressionBuilderType } from \"@elite.framework/ng.ui.core/condition-editor\";\nimport { CustomSwitchFieldComponent } from \"@elite.framework/ng.ui.core/custom-switch\";\nimport { FormlyFieldButton } from \"@elite.framework/ng.ui.core/form-button\";\nimport { FormlyTemplateType } from \"@elite.framework/ng.ui.core/form-template\";\nimport { FormlyAvatarImageComponent } from \"@elite.framework/ng.ui.core/formly-avatar-image\";\nimport { FormlyAvatarLabelComponent } from \"@elite.framework/ng.ui.core/formly-avatar-label\";\nimport { FormlyButtonComponent } from \"@elite.framework/ng.ui.core/formly-button\";\nimport { FormlySelectionButtonComponent } from \"@elite.framework/ng.ui.core/formly-button-selector\";\nimport { FormlySplitButtonComponent } from \"@elite.framework/ng.ui.core/formly-split-button\";\nimport { UsernameWithDomainComponent } from \"@elite.framework/ng.ui.core/formly-username-with-domain\";\nimport { ColumnsBuilderComponent, GroupBuilderComponent, GroupTypeComponent, QueryBuilderComponent, SortBuilderComponent, TabTypeComponent } from \"@elite.framework/ng.ui.core/generic-search-advanced\";\nimport { GenericSelectorTypeComponent } from \"@elite.framework/ng.ui.core/generic-selector\";\nimport { IconPickerComponent } from \"@elite.framework/ng.ui.core/icon-picker\";\nimport { InputSwitchTypeComponent } from \"@elite.framework/ng.ui.core/input-switch\";\nimport { InputWithIconType } from \"@elite.framework/ng.ui.core/input-with-icon\";\nimport { LabelTypeComponent, ClickableLabelTypeComponent, CustomTypeComponent } from \"@elite.framework/ng.ui.core/label-type\";\nimport { RepeatTableViewType, RepeatTypeComponent } from \"@elite.framework/ng.ui.core/repeat\";\nimport { TabsTypeComponent } from \"@elite.framework/ng.ui.core/tabs\";\nimport { OptionTagTypeComponent, TagTypeComponent, ColorTagTypeComponent } from \"@elite.framework/ng.ui.core/tag-type\";\nimport { RichTextEditorTypeComponent } from \"@elite.framework/ng.ui.core/text-editor\";\nimport { PanelWrapperComponent, LabelWrapperComponent, TdWrapperComponent, CustomFieldWrapper } from \"@elite.framework/ng.ui.core/wrappers\";\nexport function provideAllFormlyFields() {\n const fields = [\n withFormlyFieldInputWithIcon,\n withFormlyFieldAttachment,\n withFormlyFieldRichTextEditor,\n withFormlyFieldGenericSelector,\n withFormlyFieldSwitch,\n withFormlyFieldUsernameWithDomain,\n withFormlyFieldCustomSwitch,\n withFormlyFieldFormlySplit,\n withFormlyFieldButtonSelection,\n withFormlyFieldAvatarLabelButton,\n withFormlyFieldFormlyButton,\n withFormlyFieldLabelType,\n withFormlyFieldClickableLabelType,\n withFormlyFieldOptionTag,\n withFormlyFieldRepeat,\n withFormlyFieldTabs,\n withFormlyFieldTag,\n withFormlyFieldColorTag,\n withFormlyFieldConditionBuilder,\n withFormlyFieldIconPicker,\n withFormlyFieldColorPicker,\n withFormlyFieldTemplate,\n withFormlyFieldButton,\n withFormlyFieldAvatarImage,\n withFormlyWrappers,\n withFormlyQueryBuilder,\n ];\n // Call each provider function to get the Provider object\n return fields.map(fn => fn());\n}\n// ---- Field Providers ----\nexport function withFormlyQueryBuilder() {\n return {\n types: [\n {\n name: 'query-builder',\n component: QueryBuilderComponent\n },\n {\n name: 'sort-builder',\n component: SortBuilderComponent\n },\n {\n name: 'group', component: GroupTypeComponent\n },\n {\n name: 'tab-type',\n component: TabTypeComponent\n },\n {\n name: 'group-builder',\n component: GroupBuilderComponent\n },\n {\n name: 'columns-builder',\n component: ColumnsBuilderComponent\n },\n ],\n };\n}\nexport function withFormlyFieldInputWithIcon() {\n return {\n types: [\n {\n name: 'inputWithIcon',\n component: InputWithIconType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAttachment() {\n return {\n types: [\n {\n name: 'attachment-type',\n component: AttachmentTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldRichTextEditor() {\n return {\n types: [\n {\n name: 'rich-text-editor',\n component: RichTextEditorTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldGenericSelector() {\n return {\n types: [\n {\n name: 'generic-selector',\n component: GenericSelectorTypeComponent,\n wrappers: ['form-field'],\n // defaultOptions: {\n // props: {\n // loadDefaultField: 'isDefault', // 👈 default value\n // loadDefaultValue: true, // 👈 default value\n // loadDefault: true, // 👈 default value\n // fixedFilters:{\n // isActive:true\n // }\n // },\n // },\n },\n ],\n };\n}\nexport function globalGenericSelectorExtension() {\n return {\n extensions: [\n {\n name: 'generic-selector-defaults',\n extension: {\n prePopulate(field) {\n if (field.type === 'generic-selector') {\n field.props = {\n loadDefaultField: 'isDefault',\n loadDefaultValue: true,\n loadDefault: true,\n fixedFilters: {\n isActive: true\n },\n ...field.props, // 👈 keep per-field overrides\n };\n }\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldSwitch() {\n return {\n types: [\n {\n name: 'switch',\n component: InputSwitchTypeComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldUsernameWithDomain() {\n return {\n types: [\n {\n name: 'username-with-domain',\n component: UsernameWithDomainComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldCustomSwitch() {\n return {\n types: [\n {\n name: 'custom-switch',\n component: CustomSwitchFieldComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldFormlySplit() {\n return {\n types: [\n {\n name: 'Formly-Split',\n component: FormlySplitButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldButtonSelection() {\n return {\n types: [\n {\n name: 'Button-Selection',\n component: FormlySelectionButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarLabelButton() {\n return {\n types: [\n {\n name: 'avatar-label-button',\n component: FormlyAvatarLabelComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldFormlyButton() {\n return {\n types: [\n {\n name: 'formly-button',\n component: FormlyButtonComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldLabelType() {\n return {\n types: [\n {\n name: 'label-type',\n component: LabelTypeComponent,\n },\n {\n name: 'custom-label-type',\n component: CustomTypeComponent,\n wrappers: ['field-wrapper']\n },\n ],\n };\n}\nexport function withFormlyFieldClickableLabelType() {\n return {\n types: [\n {\n name: 'clickable-label-type',\n component: ClickableLabelTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldOptionTag() {\n return {\n types: [\n {\n name: 'option-tag',\n component: OptionTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldRepeat() {\n return {\n types: [\n {\n name: 'repeat',\n component: RepeatTypeComponent,\n },\n {\n name: 'repeat-table-view',\n component: RepeatTableViewType,\n },\n ],\n };\n}\nexport function withFormlyFieldTabs() {\n return {\n types: [\n {\n name: 'tabs',\n component: TabsTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTag() {\n return {\n types: [\n {\n name: 'tag',\n component: TagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldColorTag() {\n return {\n types: [\n {\n name: 'color-tag',\n component: ColorTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldConditionBuilder() {\n return {\n types: [\n {\n name: 'condition-builder',\n component: ConditionExpressionBuilderType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldIconPicker() {\n return {\n types: [\n {\n name: 'icon-picker',\n component: IconPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldColorPicker() {\n return {\n types: [\n {\n name: 'color-picker',\n component: ColorPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldTemplate() {\n return {\n types: [\n {\n name: 'template',\n component: FormlyTemplateType,\n },\n ],\n };\n}\nexport function withFormlyFieldButton() {\n return {\n types: [\n {\n name: 'button',\n component: FormlyFieldButton,\n wrappers: ['form-field'],\n defaultOptions: {\n props: {\n btnType: 'default',\n type: 'button',\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarImage() {\n return {\n types: [\n {\n name: 'avatar-image',\n component: FormlyAvatarImageComponent,\n },\n ],\n };\n}\nexport function withFormlyWrappers() {\n return {\n wrappers: [\n { name: 'panel', component: PanelWrapperComponent },\n { name: 'label', component: LabelWrapperComponent },\n { name: 'td', component: TdWrapperComponent },\n { name: 'collapsible', component: CollapsibleWrapper },\n { name: 'field-wrapper', component: CustomFieldWrapper },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWFsbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS1hbGwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hNLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4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QUksRUFBRSxRQUFRO2dCQUNkLFNBQVMsRUFBRSxpQkFBaUI7Z0JBQzVCLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDeEIsY0FBYyxFQUFFO29CQUNkLEtBQUssRUFBRTt3QkFDTCxPQUFPLEVBQUUsU0FBUzt3QkFDbEIsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE9BQU87UUFDTCxLQUFLLEVBQUU7WUFDTDtnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsU0FBUyxFQUFFLDBCQUEwQjthQUN0QztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU87UUFDTCxRQUFRLEVBQUU7WUFDUixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO1lBQ25ELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7WUFDbkQsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtZQUM3QyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO1lBQ3RELEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7U0FDekQ7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dGFjaG1lbnRUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9hdHRhY2htZW50c1wiO1xyXG5pbXBvcnQgeyBDb2xsYXBzaWJsZVdyYXBwZXIgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbGxhcHNpYmxlXCI7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9jb2xvci1waWNrZXJcIjtcclxuaW1wb3J0IHsgQ29uZGl0aW9uRXhwcmVzc2lvbkJ1aWxkZXJUeXBlIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9jb25kaXRpb24tZWRpdG9yXCI7XHJcbmltcG9ydCB7IEN1c3RvbVN3aXRjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9jdXN0b20tc3dpdGNoXCI7XHJcbmltcG9ydCB7IEZvcm1seUZpZWxkQnV0dG9uIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtLWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBGb3JtbHlUZW1wbGF0ZVR5cGUgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm0tdGVtcGxhdGVcIjtcclxuaW1wb3J0IHsgRm9ybWx5QXZhdGFySW1hZ2VDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1hdmF0YXItaW1hZ2VcIjtcclxuaW1wb3J0IHsgRm9ybWx5QXZhdGFyTGFiZWxDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1hdmF0YXItbGFiZWxcIjtcclxuaW1wb3J0IHsgRm9ybWx5QnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uXCI7XHJcbmltcG9ydCB7IEZvcm1seVNlbGVjdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWJ1dHRvbi1zZWxlY3RvclwiO1xyXG5pbXBvcnQgeyBGb3JtbHlTcGxpdEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LXNwbGl0LWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBVc2VybmFtZVdpdGhEb21haW5Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS11c2VybmFtZS13aXRoLWRvbWFpblwiO1xyXG5pbXBvcnQgeyBDb2x1bW5zQnVpbGRlckNvbXBvbmVudCwgR3JvdXBCdWlsZGVyQ29tcG9uZW50LCBHcm91cFR5cGVDb21wb25lbnQsIFF1ZXJ5QnVpbGRlckNvbXBvbmVudCwgU29ydEJ1aWxkZXJDb21wb25lbnQsIFRhYlR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2dlbmVyaWMtc2VhcmNoLWFkdmFuY2VkXCI7XHJcbmltcG9ydCB7IEdlbmVyaWNTZWxlY3RvclR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2dlbmVyaWMtc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgSWNvblBpY2tlckNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvaWNvbi1waWNrZXJcIjtcclxuaW1wb3J0IHsgSW5wdXRTd2l0Y2hUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9pbnB1dC1zd2l0Y2hcIjtcclxuaW1wb3J0IHsgSW5wdXRXaXRoSWNvblR5cGUgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2lucHV0LXdpdGgtaWNvblwiO1xyXG5pbXBvcnQgeyBMYWJlbFR5cGVDb21wb25lbnQsIENsaWNrYWJsZUxhYmVsVHlwZUNvbXBvbmVudCwgQ3VzdG9tVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvbGFiZWwtdHlwZVwiO1xyXG5pbXBvcnQgeyBSZXBlYXRUYWJsZVZpZXdUeXBlLCBSZXBlYXRUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9yZXBlYXRcIjtcclxuaW1wb3J0IHsgVGFic1R5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3RhYnNcIjtcclxuaW1wb3J0IHsgT3B0aW9uVGFnVHlwZUNvbXBvbmVudCwgVGFnVHlwZUNvbXBvbmVudCwgQ29sb3JUYWdUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS90YWctdHlwZVwiO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvclR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3RleHQtZWRpdG9yXCI7XHJcbmltcG9ydCB7IFBhbmVsV3JhcHBlckNvbXBvbmVudCwgTGFiZWxXcmFwcGVyQ29tcG9uZW50LCBUZFdyYXBwZXJDb21wb25lbnQsIEN1c3RvbUZpZWxkV3JhcHBlciB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvd3JhcHBlcnNcIjtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXHJcbmltcG9ydCB7IENvbmZpZ09wdGlvbiwgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tIFwiQG5neC1mb3JtbHkvY29yZVwiO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQWxsRm9ybWx5RmllbGRzKCk6IENvbmZpZ09wdGlvbltdIHtcclxuICBjb25zdCBmaWVsZHMgPSBbXHJcblxyXG4gICAgd2l0aEZvcm1seUZpZWxkSW5wdXRXaXRoSWNvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEF0dGFjaG1lbnQsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRSaWNoVGV4dEVkaXRvcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEdlbmVyaWNTZWxlY3RvcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZFN3aXRjaCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFVzZXJuYW1lV2l0aERvbWFpbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEN1c3RvbVN3aXRjaCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZEZvcm1seVNwbGl0LFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQnV0dG9uU2VsZWN0aW9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQXZhdGFyTGFiZWxCdXR0b24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRGb3JtbHlCdXR0b24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRMYWJlbFR5cGUsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDbGlja2FibGVMYWJlbFR5cGUsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRPcHRpb25UYWcsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRSZXBlYXQsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRUYWJzLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVGFnLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDb25kaXRpb25CdWlsZGVyLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkSWNvblBpY2tlcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZENvbG9yUGlja2VyLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVGVtcGxhdGUsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRCdXR0b24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSxcclxuICAgIHdpdGhGb3JtbHlXcmFwcGVycyxcclxuICAgIHdpdGhGb3JtbHlRdWVyeUJ1aWxkZXIsXHJcbiAgXTtcclxuXHJcbiAgLy8gQ2FsbCBlYWNoIHByb3ZpZGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgUHJvdmlkZXIgb2JqZWN0XHJcbiAgcmV0dXJuIGZpZWxkcy5tYXAoZm4gPT4gZm4oKSk7XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tIEZpZWxkIFByb3ZpZGVycyAtLS0tXHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlRdWVyeUJ1aWxkZXIoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3F1ZXJ5LWJ1aWxkZXInLFxyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBRdWVyeUJ1aWxkZXJDb21wb25lbnRcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdzb3J0LWJ1aWxkZXInLFxyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBTb3J0QnVpbGRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2dyb3VwJywgY29tcG9uZW50OiBHcm91cFR5cGVDb21wb25lbnRcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICd0YWItdHlwZScsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFRhYlR5cGVDb21wb25lbnRcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dyb3VwLWJ1aWxkZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEdyb3VwQnVpbGRlckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2NvbHVtbnMtYnVpbGRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ29sdW1uc0J1aWxkZXJDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkSW5wdXRXaXRoSWNvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2lucHV0V2l0aEljb24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogSW5wdXRXaXRoSWNvblR5cGUsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQXR0YWNobWVudCgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F0dGFjaG1lbnQtdHlwZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBBdHRhY2htZW50VHlwZUNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRSaWNoVGV4dEVkaXRvcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JpY2gtdGV4dC1lZGl0b3InLFxyXG4gICAgICAgIGNvbXBvbmVudDogUmljaFRleHRFZGl0b3JUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEdlbmVyaWNTZWxlY3RvcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2dlbmVyaWMtc2VsZWN0b3InLFxyXG4gICAgICAgIGNvbXBvbmVudDogR2VuZXJpY1NlbGVjdG9yVHlwZUNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgICAgLy8gZGVmYXVsdE9wdGlvbnM6IHtcclxuICAgICAgICAvLyAgIHByb3BzOiB7XHJcbiAgICAgICAgLy8gICAgIGxvYWREZWZhdWx0RmllbGQ6ICdpc0RlZmF1bHQnLCAgIC8vIPCfkYggZGVmYXVsdCB2YWx1ZVxyXG4gICAgICAgIC8vICAgICBsb2FkRGVmYXVsdFZhbHVlOiB0cnVlLCAgICAgLy8g8J+RiCBkZWZhdWx0IHZhbHVlXHJcbiAgICAgICAgLy8gICAgIGxvYWREZWZhdWx0OiB0cnVlLCAgICAgICAvLyDwn5GIIGRlZmF1bHQgdmFsdWVcclxuXHJcbiAgICAgICAgLy8gICAgIGZpeGVkRmlsdGVyczp7XHJcbiAgICAgICAgLy8gICAgICAgaXNBY3RpdmU6dHJ1ZVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICB9LFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JhbEdlbmVyaWNTZWxlY3RvckV4dGVuc2lvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICBleHRlbnNpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnZ2VuZXJpYy1zZWxlY3Rvci1kZWZhdWx0cycsXHJcbiAgICAgICAgZXh0ZW5zaW9uOiB7XHJcbiAgICAgICAgICBwcmVQb3B1bGF0ZShmaWVsZDogRm9ybWx5RmllbGRDb25maWcpIHtcclxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdnZW5lcmljLXNlbGVjdG9yJykge1xyXG4gICAgICAgICAgICAgIGZpZWxkLnByb3BzID0ge1xyXG4gICAgICAgICAgICAgICAgbG9hZERlZmF1bHRGaWVsZDogJ2lzRGVmYXVsdCcsXHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdFZhbHVlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbG9hZERlZmF1bHQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBmaXhlZEZpbHRlcnM6e1xyXG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZTp0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgLi4uZmllbGQucHJvcHMsIC8vIPCfkYgga2VlcCBwZXItZmllbGQgb3ZlcnJpZGVzXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkU3dpdGNoKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnc3dpdGNoJyxcclxuICAgICAgICBjb21wb25lbnQ6IElucHV0U3dpdGNoVHlwZUNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRVc2VybmFtZVdpdGhEb21haW4oKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICd1c2VybmFtZS13aXRoLWRvbWFpbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBVc2VybmFtZVdpdGhEb21haW5Db21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ3VzdG9tU3dpdGNoKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY3VzdG9tLXN3aXRjaCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBDdXN0b21Td2l0Y2hGaWVsZENvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRGb3JtbHlTcGxpdCgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ0Zvcm1seS1TcGxpdCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlTcGxpdEJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRCdXR0b25TZWxlY3Rpb24oKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdCdXR0b24tU2VsZWN0aW9uJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVNlbGVjdGlvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdmF0YXJMYWJlbEJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhci1sYWJlbC1idXR0b24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5QXZhdGFyTGFiZWxDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRGb3JtbHlCdXR0b24oKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdmb3JtbHktYnV0dG9uJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZExhYmVsVHlwZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xhYmVsLXR5cGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogTGFiZWxUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnY3VzdG9tLWxhYmVsLXR5cGUnLFxyXG4gICAgICAgICAgY29tcG9uZW50OiBDdXN0b21UeXBlQ29tcG9uZW50LFxyXG4gICAgICAgICAgd3JhcHBlcnM6WydmaWVsZC13cmFwcGVyJ11cclxuICAgICAgICB9LFxyXG5cclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZENsaWNrYWJsZUxhYmVsVHlwZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NsaWNrYWJsZS1sYWJlbC10eXBlJyxcclxuICAgICAgICBjb21wb25lbnQ6IENsaWNrYWJsZUxhYmVsVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZE9wdGlvblRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ29wdGlvbi10YWcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogT3B0aW9uVGFnVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFJlcGVhdCgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JlcGVhdCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBSZXBlYXRUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JlcGVhdC10YWJsZS12aWV3JyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGVhdFRhYmxlVmlld1R5cGUsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUYWJzKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGFicycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWJzVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjb2xvci10YWcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ29sb3JUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbmRpdGlvbi1idWlsZGVyJyxcclxuICAgICAgICBjb21wb25lbnQ6IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaWNvbi1waWNrZXInLFxyXG4gICAgICAgIGNvbXBvbmVudDogSWNvblBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RlbXBsYXRlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVRlbXBsYXRlVHlwZSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2J1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcclxuICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIGJ0blR5cGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhci1pbWFnZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlXcmFwcGVycygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB3cmFwcGVyczogW1xyXG4gICAgICB7IG5hbWU6ICdwYW5lbCcsIGNvbXBvbmVudDogUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgbmFtZTogJ2xhYmVsJywgY29tcG9uZW50OiBMYWJlbFdyYXBwZXJDb21wb25lbnQgfSxcclxuICAgICAgeyBuYW1lOiAndGQnLCBjb21wb25lbnQ6IFRkV3JhcHBlckNvbXBvbmVudCB9LFxyXG4gICAgICB7IG5hbWU6ICdjb2xsYXBzaWJsZScsIGNvbXBvbmVudDogQ29sbGFwc2libGVXcmFwcGVyIH0sXHJcbiAgICAgIHsgbmFtZTogJ2ZpZWxkLXdyYXBwZXInLCBjb21wb25lbnQ6IEN1c3RvbUZpZWxkV3JhcHBlciB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVpLWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdWktYWxsL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktdWktYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
@@ -1497,7 +1497,7 @@ class QueryBuilderComponent extends FieldType {
1497
1497
  }
1498
1498
  }
1499
1499
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: QueryBuilderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1500
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: QueryBuilderComponent, isStandalone: true, selector: "formly-query-builder", usesInheritance: true, ngImport: i0, template: "<div>\r\n\r\n <!-- Groups Container with Connecting Lines -->\r\n <div class=\"groups-container\" #groupsContainer>\r\n <div *ngFor=\"let group of groups; let groupIndex = index\"\r\n class=\"group-wrapper relative\"\r\n #groupElement>\r\n\r\n <!-- Vertical Connector Line from Previous Group -->\r\n<div *ngIf=\"groupIndex > 0\" class=\"vertical-connector\">\r\n <div class=\"vertical-line\"></div>\r\n\r\n <!-- Operator Button -->\r\n <button\r\n type=\"button\"\r\n class=\"group-logical-operator-box\"\r\n [class.and]=\"group.groupLogicalOperator === 'and'\"\r\n [class.or]=\"group.groupLogicalOperator === 'or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <span class=\"operator-text\">\r\n {{ getLogicalOperatorText(group.groupLogicalOperator || 'and') }}\r\n </span>\r\n <div class=\"connector-arrow\"></div>\r\n </button>\r\n\r\n <!-- Popover -->\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-12rem\">\r\n <p-listbox\r\n [options]=\"logicalOperators\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.groupLogicalOperator\"\r\n (onChange)=\" opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n</div>\r\n\r\n <div class=\"group-container mb-6 p-1 bg-white rounded-lg border-l-4 border-t-1 border-b-1 border-r-1 shadow-sm transition-all duration-300 relative\"\r\n [class.border-blue-500]=\"group.logicalOperator === 'and'\"\r\n [class.border-or-500]=\"group.logicalOperator === 'or'\"\r\n [class.pulse]=\"groupIndex === 0\">\r\n\r\n <!-- Rounded Button for \"\u0631\u0628\u0637 \u0627\u0644\u0634\u0631\u0648\u0637\" on left border -->\r\n<div\r\n class=\"absolute -left-4 top-1/2 transform -translate-y-1/2 z-10 transition-all duration-300\"\r\n\r\n>\r\n\r\n\r\n\r\n<!-- Logical Operator Popover Button -->\r\n<p-button\r\n [severity]=\"group.logicalOperator === 'and' ? 'success' : 'info'\"\r\n [styleClass]=\"group.logicalOperator === 'and'\r\n ? 'p-button-icon-only p-button-rounded p-button-sm logical-and'\r\n : 'p-button-icon-only p-button-rounded p-button-sm logical-or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n {{group.logicalOperator === 'and' ? ('and' | translate) : ('or' | translate)}}\r\n</p-button>\r\n\r\n<!-- Popover for Operator Selection -->\r\n<p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-10rem\">\r\n <p-listbox\r\n [options]=\"[\r\n { label: 'and' | translate, value: 'and' },\r\n { label: 'or' | translate, value: 'or' }\r\n ]\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.logicalOperator\"\r\n (onChange)=\"updateValue(); opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ item.label }}\r\n </ng-template>\r\n </p-listbox>\r\n </div>\r\n</p-popover>\r\n\r\n</div>\r\n\r\n\r\n\r\n <!-- Group Header -->\r\n <div class=\"group-header-wrapper mb-4 pl-8\">\r\n <div class=\"group-header flex justify-between items-center\">\r\n\r\n <div class=\"flex gap-1\">\r\n <button\r\n pButton\r\n icon=\"pi pi-plus\"\r\n type=\"button\"\r\n class=\"p-button-success p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"addCondition(groupIndex)\"\r\n pTooltip=\"{{ 'ADD_CONDITION' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n @if (filterCount > 0) {\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-outlined p-button-sm\"\r\n (click)=\"toggleAppliedFilters()\">\r\n {{ (showAppliedFilters ? 'SHOW_ALL' : 'SHOW_APPLIED') | translate }}\r\n </button>\r\n }\r\n <button\r\n *ngIf=\"groups.length > 1\"\r\n pButton\r\n icon=\"pi pi-times\"\r\n type=\"button\"\r\n class=\"p-button-danger p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"removeGroup(groupIndex)\"\r\n pTooltip=\"{{ 'DELETE_GROUP' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Conditions in this group -->\r\n <div *ngFor=\"let condition of group.conditions; let conditionIndex = index\"\r\n class=\"p-1 bg-gray-50 \">\r\n <div class=\"grid grid-cols-1 gap-1 items-center\">\r\n <!-- Field Selector -->\r\n <div class=\"md:col-span-2\">\r\n <div class=\"flex w-full rounded-md overflow-hidden border border-gray-300 bg-white shadow-sm\">\r\n <!-- Field Selector Button -->\r\n <div style=\"align-items: center;display: flex; min-width: 130px;max-width: 130px;\" class=\"flex-shrink-0 \">\r\n <button\r\n type=\"button\"\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-between w-full px-3 py-2 text-sm bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:z-10\"\r\n (click)=\"overlay.toggle($event)\">\r\n <span style=\"\r\n display: inline-block;\r\n max-width: 100px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n \">{{ getFieldLabel(condition.field) || ('SELECT_FIELD' | translate) }}</span>\r\n <i class=\"pi pi-chevron-down mr-2 ml-2 text-xs\"></i>\r\n </button>\r\n\r\n <!-- Overlay Content -->\r\n <p-popover #overlay appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n tabindex=\"0\"\r\n [options]=\"props['fields']\"\r\n optionLabel=\"label\"\r\n optionValue=\"key\"\r\n [(ngModel)]=\"condition.field\"\r\n (onChange)=\"onFieldChange(condition, groupIndex, conditionIndex); overlay.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Operator Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0 border-l border-r border-gray-300\">\r\n <button\r\n type=\"button\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-gray-50 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:z-10\"\r\n style=\"height: -webkit-fill-available;\"\r\n pTooltip=\"{{ getOperatorLabel(condition.operator).label }}\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <i [class]=\"getOperatorLabel(condition.operator).icon\"></i>\r\n </button>\r\n\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n [options]=\"condition.operatorsForField\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"condition.operator\"\r\n (onChange)=\"updateValue();opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Form Field -->\r\n <div style=\"background: #f9fafb\" class=\"flex-grow p-1\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"[condition.valueFieldConfig]\"\r\n [model]=\"model\">\r\n </formly-form>\r\n </div>\r\n\r\n\r\n\r\n <!-- Delete Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0\">\r\n <button\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-red-50 text-red-600 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:z-10\"\r\n type=\"button\"\r\n (click)=\"removeCondition(groupIndex, conditionIndex)\"\r\n pTooltip=\"\u062D\u0630\u0641 \u0627\u0644\u0634\u0631\u0637\"\r\n tooltipPosition=\"top\">\r\n <i class=\"pi pi-times\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Group Footer -->\r\n <div class=\"group-footer flex justify-between items-center mt-3 pt-3 border-t border-gray-200 \">\r\n <small class=\"text-gray-500\">\r\n {{ group.conditions.length }} \u0634\u0631\u0637 \u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629\r\n </small>\r\n <small class=\"text-gray-500\">\r\n <span *ngIf=\"groupIndex > 0\">\r\n \u0645\u0631\u062A\u0628\u0637 \u0645\u0639 \u0627\u0644\u0633\u0627\u0628\u0642\u0629 \u0628\u0640 <strong [class.text-blue-600]=\"group.groupLogicalOperator === 'and'\"\r\n [class.text-amber-600]=\"group.groupLogicalOperator === 'or'\">\r\n {{ group.groupLogicalOperator === 'and' ? '\u0648' : '\u0623\u0648' }}\r\n </strong>\r\n </span>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n<div class=\"flex flex-wrap gap-3 mt-6\">\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'GROUP' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addGroup();\">\r\n </button>\r\n\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'CONDITION' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addConditionToLastGroup()\">\r\n </button>\r\n\r\n <button\r\n *ngIf=\"groups.length > 0\"\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-trash\"\r\n [label]=\"'CLEAR' | translate\"\r\n class=\"p-button-danger p-button-outlined p-button-sm !bg-white !border !border-red-500 !text-red-600 hover:!bg-red-50 transition-colors flex items-center gap-2\"\r\n (click)=\"clearAll()\">\r\n </button>\r\n</div>\r\n\r\n<!-- Empty State -->\r\n<div *ngIf=\"groups.length === 0\" class=\"empty-state text-center p-6 border-2 border-dashed border-gray-300 rounded-xl bg-gray-50\">\r\n <i class=\"pi pi-search text-4xl text-gray-400 mb-3\"></i>\r\n <p class=\"text-gray-500 mb-4\">{{ 'NO_SEARCH_CONDITIONS' | translate }}</p>\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'ADD_SEARCH_CONDITION' | translate\"\r\n class=\"p-button-outlined !px-4 !py-2\"\r\n (click)=\"addGroup()\">\r\n </button>\r\n</div>\r\n</div>\r\n", styles: [".vertical-connector{position:relative;display:flex;justify-content:center;margin-bottom:1rem}.vertical-line{position:absolute;top:-1rem;height:1rem;width:2px;background-color:#d1d5db}.group-logical-operator-box{position:relative;padding:.25rem .75rem;border-radius:.375rem;font-weight:500;font-size:.75rem;z-index:10;transition:all .3s ease}.group-logical-operator-box.and{background-color:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.group-logical-operator-box.or{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.connector-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.group-logical-operator-box.and .connector-arrow{border-top:6px solid #93c5fd}.group-logical-operator-box.or .connector-arrow{border-top:6px solid #fcd34d}.border-blue-500{border-color:#93c5fd}.border-or-500{border-color:#fcd34d}.border-t-1{border-top-width:1px}.border-b-1{border-bottom-width:1px}.border-r-1{border-right-width:1px}.p-popover-content{padding:5px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: SelectModule }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i6$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "ngmodule", type: MenuModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i6$2.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ListboxModule }, { kind: "component", type: i7$1.Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "styleClass", "listStyle", "listStyleClass", "readonly", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark", "dragdrop", "fluid"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad", "onDrop"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }] });
1500
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: QueryBuilderComponent, isStandalone: true, selector: "formly-query-builder", usesInheritance: true, ngImport: i0, template: "<div>\r\n\r\n <!-- Groups Container with Connecting Lines -->\r\n <div class=\"groups-container\" #groupsContainer>\r\n <div *ngFor=\"let group of groups; let groupIndex = index\"\r\n class=\"group-wrapper relative\"\r\n #groupElement>\r\n\r\n <!-- Vertical Connector Line from Previous Group -->\r\n<div *ngIf=\"groupIndex > 0\" class=\"vertical-connector\">\r\n <div class=\"vertical-line\"></div>\r\n\r\n <!-- Operator Button -->\r\n <button\r\n type=\"button\"\r\n class=\"group-logical-operator-box\"\r\n [class.and]=\"group.groupLogicalOperator === 'and'\"\r\n [class.or]=\"group.groupLogicalOperator === 'or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <span class=\"operator-text\">\r\n {{ getLogicalOperatorText(group.groupLogicalOperator || 'and') }}\r\n </span>\r\n <div class=\"connector-arrow\"></div>\r\n </button>\r\n\r\n <!-- Popover -->\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-12rem\">\r\n <p-listbox\r\n [options]=\"logicalOperators\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.groupLogicalOperator\"\r\n (onChange)=\" opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n</div>\r\n\r\n <div class=\"group-container mb-6 p-1 bg-white rounded-lg border-l-4 border-t-1 border-b-1 border-r-1 shadow-sm transition-all duration-300 relative\"\r\n [class.border-blue-500]=\"group.logicalOperator === 'and'\"\r\n [class.border-or-500]=\"group.logicalOperator === 'or'\"\r\n [class.pulse]=\"groupIndex === 0\">\r\n\r\n <!-- Rounded Button for \"\u0631\u0628\u0637 \u0627\u0644\u0634\u0631\u0648\u0637\" on left border -->\r\n<div\r\n class=\"absolute -left-4 top-1/2 transform -translate-y-1/2 z-10 transition-all duration-300\"\r\n\r\n>\r\n\r\n\r\n\r\n<!-- Logical Operator Popover Button -->\r\n<p-button\r\n [severity]=\"group.logicalOperator === 'and' ? 'success' : 'info'\"\r\n [styleClass]=\"group.logicalOperator === 'and'\r\n ? 'p-button-icon-only p-button-rounded p-button-sm logical-and'\r\n : 'p-button-icon-only p-button-rounded p-button-sm logical-or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n {{group.logicalOperator === 'and' ? ('and' | translate) : ('or' | translate)}}\r\n</p-button>\r\n\r\n<!-- Popover for Operator Selection -->\r\n<p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-10rem\">\r\n <p-listbox\r\n [options]=\"[\r\n { label: 'and' | translate, value: 'and' },\r\n { label: 'or' | translate, value: 'or' }\r\n ]\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.logicalOperator\"\r\n (onChange)=\"updateValue(); opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ item.label }}\r\n </ng-template>\r\n </p-listbox>\r\n </div>\r\n</p-popover>\r\n\r\n</div>\r\n\r\n\r\n\r\n <!-- Group Header -->\r\n <div class=\"group-header-wrapper mb-4 pl-8\">\r\n <div class=\"group-header flex justify-between items-center\">\r\n\r\n <div class=\"flex gap-1\">\r\n <button\r\n pButton\r\n icon=\"pi pi-plus\"\r\n type=\"button\"\r\n class=\"p-button-success p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"addCondition(groupIndex)\"\r\n pTooltip=\"{{ 'ADD_CONDITION' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n <!-- @if (filterCount > 0) {\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-outlined p-button-sm\"\r\n (click)=\"toggleAppliedFilters()\">\r\n {{ (showAppliedFilters ? 'SHOW_ALL' : 'SHOW_APPLIED') | translate }}\r\n </button>\r\n } -->\r\n <button\r\n *ngIf=\"groups.length > 1\"\r\n pButton\r\n icon=\"pi pi-times\"\r\n type=\"button\"\r\n class=\"p-button-danger p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"removeGroup(groupIndex)\"\r\n pTooltip=\"{{ 'DELETE_GROUP' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Conditions in this group -->\r\n <div *ngFor=\"let condition of group.conditions; let conditionIndex = index\"\r\n class=\"p-1 bg-gray-50 \">\r\n <div class=\"grid grid-cols-1 gap-1 items-center\">\r\n <!-- Field Selector -->\r\n <div class=\"md:col-span-2\">\r\n <div class=\"flex w-full rounded-md overflow-hidden border border-gray-300 bg-white shadow-sm\">\r\n <!-- Field Selector Button -->\r\n <div style=\"align-items: center;display: flex; min-width: 130px;max-width: 130px;\" class=\"flex-shrink-0 \">\r\n <button\r\n type=\"button\"\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-between w-full px-3 py-2 text-sm bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:z-10\"\r\n (click)=\"overlay.toggle($event)\">\r\n <span style=\"\r\n display: inline-block;\r\n max-width: 100px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n \">{{ getFieldLabel(condition.field) || ('SELECT_FIELD' | translate) }}</span>\r\n <i class=\"pi pi-chevron-down mr-2 ml-2 text-xs\"></i>\r\n </button>\r\n\r\n <!-- Overlay Content -->\r\n <p-popover #overlay appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n tabindex=\"0\"\r\n [options]=\"props['fields']\"\r\n optionLabel=\"label\"\r\n optionValue=\"key\"\r\n [(ngModel)]=\"condition.field\"\r\n (onChange)=\"onFieldChange(condition, groupIndex, conditionIndex); overlay.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Operator Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0 border-l border-r border-gray-300\">\r\n <button\r\n type=\"button\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-gray-50 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:z-10\"\r\n style=\"height: -webkit-fill-available;\"\r\n pTooltip=\"{{ getOperatorLabel(condition.operator).label }}\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <i [class]=\"getOperatorLabel(condition.operator).icon\"></i>\r\n </button>\r\n\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n [options]=\"condition.operatorsForField\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"condition.operator\"\r\n (onChange)=\"updateValue();opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Form Field -->\r\n <div style=\"background: #f9fafb\" class=\"flex-grow p-1\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"[condition.valueFieldConfig]\"\r\n [model]=\"model\">\r\n </formly-form>\r\n </div>\r\n\r\n\r\n\r\n <!-- Delete Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0\">\r\n <button\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-red-50 text-red-600 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:z-10\"\r\n type=\"button\"\r\n (click)=\"removeCondition(groupIndex, conditionIndex)\"\r\n pTooltip=\"\u062D\u0630\u0641 \u0627\u0644\u0634\u0631\u0637\"\r\n tooltipPosition=\"top\">\r\n <i class=\"pi pi-times\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Group Footer -->\r\n <div class=\"group-footer flex justify-between items-center mt-3 pt-3 border-t border-gray-200 \">\r\n <small class=\"text-gray-500\">\r\n {{ group.conditions.length }} \u0634\u0631\u0637 \u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629\r\n </small>\r\n <small class=\"text-gray-500\">\r\n <span *ngIf=\"groupIndex > 0\">\r\n \u0645\u0631\u062A\u0628\u0637 \u0645\u0639 \u0627\u0644\u0633\u0627\u0628\u0642\u0629 \u0628\u0640 <strong [class.text-blue-600]=\"group.groupLogicalOperator === 'and'\"\r\n [class.text-amber-600]=\"group.groupLogicalOperator === 'or'\">\r\n {{ group.groupLogicalOperator === 'and' ? '\u0648' : '\u0623\u0648' }}\r\n </strong>\r\n </span>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n<div class=\"flex flex-wrap gap-3 mt-6\">\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'GROUP' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addGroup();\">\r\n </button>\r\n\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'CONDITION' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addConditionToLastGroup()\">\r\n </button>\r\n\r\n <button\r\n *ngIf=\"groups.length > 0\"\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-trash\"\r\n [label]=\"'CLEAR' | translate\"\r\n class=\"p-button-danger p-button-outlined p-button-sm !bg-white !border !border-red-500 !text-red-600 hover:!bg-red-50 transition-colors flex items-center gap-2\"\r\n (click)=\"clearAll()\">\r\n </button>\r\n</div>\r\n\r\n<!-- Empty State -->\r\n<div *ngIf=\"groups.length === 0\" class=\"empty-state text-center p-6 border-2 border-dashed border-gray-300 rounded-xl bg-gray-50\">\r\n <i class=\"pi pi-search text-4xl text-gray-400 mb-3\"></i>\r\n <p class=\"text-gray-500 mb-4\">{{ 'NO_SEARCH_CONDITIONS' | translate }}</p>\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'ADD_SEARCH_CONDITION' | translate\"\r\n class=\"p-button-outlined !px-4 !py-2\"\r\n (click)=\"addGroup()\">\r\n </button>\r\n</div>\r\n</div>\r\n", styles: [".vertical-connector{position:relative;display:flex;justify-content:center;margin-bottom:1rem}.vertical-line{position:absolute;top:-1rem;height:1rem;width:2px;background-color:#d1d5db}.group-logical-operator-box{position:relative;padding:.25rem .75rem;border-radius:.375rem;font-weight:500;font-size:.75rem;z-index:10;transition:all .3s ease}.group-logical-operator-box.and{background-color:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.group-logical-operator-box.or{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.connector-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.group-logical-operator-box.and .connector-arrow{border-top:6px solid #93c5fd}.group-logical-operator-box.or .connector-arrow{border-top:6px solid #fcd34d}.border-blue-500{border-color:#93c5fd}.border-or-500{border-color:#fcd34d}.border-t-1{border-top-width:1px}.border-b-1{border-bottom-width:1px}.border-r-1{border-right-width:1px}.p-popover-content{padding:5px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: SelectModule }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "ngmodule", type: CheckboxModule }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i6$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "ngmodule", type: MenuModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: InputGroupModule }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i6$2.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ListboxModule }, { kind: "component", type: i7$1.Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "styleClass", "listStyle", "listStyleClass", "readonly", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark", "dragdrop", "fluid"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad", "onDrop"] }, { kind: "pipe", type: i4$1.TranslatePipe, name: "translate" }] });
1501
1501
  }
1502
1502
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: QueryBuilderComponent, decorators: [{
1503
1503
  type: Component,
@@ -1519,7 +1519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
1519
1519
  InputGroupAddonModule,
1520
1520
  PopoverModule,
1521
1521
  ListboxModule
1522
- ], template: "<div>\r\n\r\n <!-- Groups Container with Connecting Lines -->\r\n <div class=\"groups-container\" #groupsContainer>\r\n <div *ngFor=\"let group of groups; let groupIndex = index\"\r\n class=\"group-wrapper relative\"\r\n #groupElement>\r\n\r\n <!-- Vertical Connector Line from Previous Group -->\r\n<div *ngIf=\"groupIndex > 0\" class=\"vertical-connector\">\r\n <div class=\"vertical-line\"></div>\r\n\r\n <!-- Operator Button -->\r\n <button\r\n type=\"button\"\r\n class=\"group-logical-operator-box\"\r\n [class.and]=\"group.groupLogicalOperator === 'and'\"\r\n [class.or]=\"group.groupLogicalOperator === 'or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <span class=\"operator-text\">\r\n {{ getLogicalOperatorText(group.groupLogicalOperator || 'and') }}\r\n </span>\r\n <div class=\"connector-arrow\"></div>\r\n </button>\r\n\r\n <!-- Popover -->\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-12rem\">\r\n <p-listbox\r\n [options]=\"logicalOperators\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.groupLogicalOperator\"\r\n (onChange)=\" opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n</div>\r\n\r\n <div class=\"group-container mb-6 p-1 bg-white rounded-lg border-l-4 border-t-1 border-b-1 border-r-1 shadow-sm transition-all duration-300 relative\"\r\n [class.border-blue-500]=\"group.logicalOperator === 'and'\"\r\n [class.border-or-500]=\"group.logicalOperator === 'or'\"\r\n [class.pulse]=\"groupIndex === 0\">\r\n\r\n <!-- Rounded Button for \"\u0631\u0628\u0637 \u0627\u0644\u0634\u0631\u0648\u0637\" on left border -->\r\n<div\r\n class=\"absolute -left-4 top-1/2 transform -translate-y-1/2 z-10 transition-all duration-300\"\r\n\r\n>\r\n\r\n\r\n\r\n<!-- Logical Operator Popover Button -->\r\n<p-button\r\n [severity]=\"group.logicalOperator === 'and' ? 'success' : 'info'\"\r\n [styleClass]=\"group.logicalOperator === 'and'\r\n ? 'p-button-icon-only p-button-rounded p-button-sm logical-and'\r\n : 'p-button-icon-only p-button-rounded p-button-sm logical-or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n {{group.logicalOperator === 'and' ? ('and' | translate) : ('or' | translate)}}\r\n</p-button>\r\n\r\n<!-- Popover for Operator Selection -->\r\n<p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-10rem\">\r\n <p-listbox\r\n [options]=\"[\r\n { label: 'and' | translate, value: 'and' },\r\n { label: 'or' | translate, value: 'or' }\r\n ]\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.logicalOperator\"\r\n (onChange)=\"updateValue(); opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ item.label }}\r\n </ng-template>\r\n </p-listbox>\r\n </div>\r\n</p-popover>\r\n\r\n</div>\r\n\r\n\r\n\r\n <!-- Group Header -->\r\n <div class=\"group-header-wrapper mb-4 pl-8\">\r\n <div class=\"group-header flex justify-between items-center\">\r\n\r\n <div class=\"flex gap-1\">\r\n <button\r\n pButton\r\n icon=\"pi pi-plus\"\r\n type=\"button\"\r\n class=\"p-button-success p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"addCondition(groupIndex)\"\r\n pTooltip=\"{{ 'ADD_CONDITION' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n @if (filterCount > 0) {\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-outlined p-button-sm\"\r\n (click)=\"toggleAppliedFilters()\">\r\n {{ (showAppliedFilters ? 'SHOW_ALL' : 'SHOW_APPLIED') | translate }}\r\n </button>\r\n }\r\n <button\r\n *ngIf=\"groups.length > 1\"\r\n pButton\r\n icon=\"pi pi-times\"\r\n type=\"button\"\r\n class=\"p-button-danger p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"removeGroup(groupIndex)\"\r\n pTooltip=\"{{ 'DELETE_GROUP' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Conditions in this group -->\r\n <div *ngFor=\"let condition of group.conditions; let conditionIndex = index\"\r\n class=\"p-1 bg-gray-50 \">\r\n <div class=\"grid grid-cols-1 gap-1 items-center\">\r\n <!-- Field Selector -->\r\n <div class=\"md:col-span-2\">\r\n <div class=\"flex w-full rounded-md overflow-hidden border border-gray-300 bg-white shadow-sm\">\r\n <!-- Field Selector Button -->\r\n <div style=\"align-items: center;display: flex; min-width: 130px;max-width: 130px;\" class=\"flex-shrink-0 \">\r\n <button\r\n type=\"button\"\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-between w-full px-3 py-2 text-sm bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:z-10\"\r\n (click)=\"overlay.toggle($event)\">\r\n <span style=\"\r\n display: inline-block;\r\n max-width: 100px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n \">{{ getFieldLabel(condition.field) || ('SELECT_FIELD' | translate) }}</span>\r\n <i class=\"pi pi-chevron-down mr-2 ml-2 text-xs\"></i>\r\n </button>\r\n\r\n <!-- Overlay Content -->\r\n <p-popover #overlay appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n tabindex=\"0\"\r\n [options]=\"props['fields']\"\r\n optionLabel=\"label\"\r\n optionValue=\"key\"\r\n [(ngModel)]=\"condition.field\"\r\n (onChange)=\"onFieldChange(condition, groupIndex, conditionIndex); overlay.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Operator Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0 border-l border-r border-gray-300\">\r\n <button\r\n type=\"button\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-gray-50 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:z-10\"\r\n style=\"height: -webkit-fill-available;\"\r\n pTooltip=\"{{ getOperatorLabel(condition.operator).label }}\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <i [class]=\"getOperatorLabel(condition.operator).icon\"></i>\r\n </button>\r\n\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n [options]=\"condition.operatorsForField\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"condition.operator\"\r\n (onChange)=\"updateValue();opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Form Field -->\r\n <div style=\"background: #f9fafb\" class=\"flex-grow p-1\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"[condition.valueFieldConfig]\"\r\n [model]=\"model\">\r\n </formly-form>\r\n </div>\r\n\r\n\r\n\r\n <!-- Delete Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0\">\r\n <button\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-red-50 text-red-600 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:z-10\"\r\n type=\"button\"\r\n (click)=\"removeCondition(groupIndex, conditionIndex)\"\r\n pTooltip=\"\u062D\u0630\u0641 \u0627\u0644\u0634\u0631\u0637\"\r\n tooltipPosition=\"top\">\r\n <i class=\"pi pi-times\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Group Footer -->\r\n <div class=\"group-footer flex justify-between items-center mt-3 pt-3 border-t border-gray-200 \">\r\n <small class=\"text-gray-500\">\r\n {{ group.conditions.length }} \u0634\u0631\u0637 \u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629\r\n </small>\r\n <small class=\"text-gray-500\">\r\n <span *ngIf=\"groupIndex > 0\">\r\n \u0645\u0631\u062A\u0628\u0637 \u0645\u0639 \u0627\u0644\u0633\u0627\u0628\u0642\u0629 \u0628\u0640 <strong [class.text-blue-600]=\"group.groupLogicalOperator === 'and'\"\r\n [class.text-amber-600]=\"group.groupLogicalOperator === 'or'\">\r\n {{ group.groupLogicalOperator === 'and' ? '\u0648' : '\u0623\u0648' }}\r\n </strong>\r\n </span>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n<div class=\"flex flex-wrap gap-3 mt-6\">\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'GROUP' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addGroup();\">\r\n </button>\r\n\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'CONDITION' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addConditionToLastGroup()\">\r\n </button>\r\n\r\n <button\r\n *ngIf=\"groups.length > 0\"\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-trash\"\r\n [label]=\"'CLEAR' | translate\"\r\n class=\"p-button-danger p-button-outlined p-button-sm !bg-white !border !border-red-500 !text-red-600 hover:!bg-red-50 transition-colors flex items-center gap-2\"\r\n (click)=\"clearAll()\">\r\n </button>\r\n</div>\r\n\r\n<!-- Empty State -->\r\n<div *ngIf=\"groups.length === 0\" class=\"empty-state text-center p-6 border-2 border-dashed border-gray-300 rounded-xl bg-gray-50\">\r\n <i class=\"pi pi-search text-4xl text-gray-400 mb-3\"></i>\r\n <p class=\"text-gray-500 mb-4\">{{ 'NO_SEARCH_CONDITIONS' | translate }}</p>\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'ADD_SEARCH_CONDITION' | translate\"\r\n class=\"p-button-outlined !px-4 !py-2\"\r\n (click)=\"addGroup()\">\r\n </button>\r\n</div>\r\n</div>\r\n", styles: [".vertical-connector{position:relative;display:flex;justify-content:center;margin-bottom:1rem}.vertical-line{position:absolute;top:-1rem;height:1rem;width:2px;background-color:#d1d5db}.group-logical-operator-box{position:relative;padding:.25rem .75rem;border-radius:.375rem;font-weight:500;font-size:.75rem;z-index:10;transition:all .3s ease}.group-logical-operator-box.and{background-color:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.group-logical-operator-box.or{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.connector-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.group-logical-operator-box.and .connector-arrow{border-top:6px solid #93c5fd}.group-logical-operator-box.or .connector-arrow{border-top:6px solid #fcd34d}.border-blue-500{border-color:#93c5fd}.border-or-500{border-color:#fcd34d}.border-t-1{border-top-width:1px}.border-b-1{border-bottom-width:1px}.border-r-1{border-right-width:1px}.p-popover-content{padding:5px!important}\n"] }]
1522
+ ], template: "<div>\r\n\r\n <!-- Groups Container with Connecting Lines -->\r\n <div class=\"groups-container\" #groupsContainer>\r\n <div *ngFor=\"let group of groups; let groupIndex = index\"\r\n class=\"group-wrapper relative\"\r\n #groupElement>\r\n\r\n <!-- Vertical Connector Line from Previous Group -->\r\n<div *ngIf=\"groupIndex > 0\" class=\"vertical-connector\">\r\n <div class=\"vertical-line\"></div>\r\n\r\n <!-- Operator Button -->\r\n <button\r\n type=\"button\"\r\n class=\"group-logical-operator-box\"\r\n [class.and]=\"group.groupLogicalOperator === 'and'\"\r\n [class.or]=\"group.groupLogicalOperator === 'or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <span class=\"operator-text\">\r\n {{ getLogicalOperatorText(group.groupLogicalOperator || 'and') }}\r\n </span>\r\n <div class=\"connector-arrow\"></div>\r\n </button>\r\n\r\n <!-- Popover -->\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-12rem\">\r\n <p-listbox\r\n [options]=\"logicalOperators\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.groupLogicalOperator\"\r\n (onChange)=\" opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n</div>\r\n\r\n <div class=\"group-container mb-6 p-1 bg-white rounded-lg border-l-4 border-t-1 border-b-1 border-r-1 shadow-sm transition-all duration-300 relative\"\r\n [class.border-blue-500]=\"group.logicalOperator === 'and'\"\r\n [class.border-or-500]=\"group.logicalOperator === 'or'\"\r\n [class.pulse]=\"groupIndex === 0\">\r\n\r\n <!-- Rounded Button for \"\u0631\u0628\u0637 \u0627\u0644\u0634\u0631\u0648\u0637\" on left border -->\r\n<div\r\n class=\"absolute -left-4 top-1/2 transform -translate-y-1/2 z-10 transition-all duration-300\"\r\n\r\n>\r\n\r\n\r\n\r\n<!-- Logical Operator Popover Button -->\r\n<p-button\r\n [severity]=\"group.logicalOperator === 'and' ? 'success' : 'info'\"\r\n [styleClass]=\"group.logicalOperator === 'and'\r\n ? 'p-button-icon-only p-button-rounded p-button-sm logical-and'\r\n : 'p-button-icon-only p-button-rounded p-button-sm logical-or'\"\r\n (click)=\"opPopover.toggle($event)\">\r\n {{group.logicalOperator === 'and' ? ('and' | translate) : ('or' | translate)}}\r\n</p-button>\r\n\r\n<!-- Popover for Operator Selection -->\r\n<p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-10rem\">\r\n <p-listbox\r\n [options]=\"[\r\n { label: 'and' | translate, value: 'and' },\r\n { label: 'or' | translate, value: 'or' }\r\n ]\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"group.logicalOperator\"\r\n (onChange)=\"updateValue(); opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n <ng-template let-item pTemplate=\"item\">\r\n {{ item.label }}\r\n </ng-template>\r\n </p-listbox>\r\n </div>\r\n</p-popover>\r\n\r\n</div>\r\n\r\n\r\n\r\n <!-- Group Header -->\r\n <div class=\"group-header-wrapper mb-4 pl-8\">\r\n <div class=\"group-header flex justify-between items-center\">\r\n\r\n <div class=\"flex gap-1\">\r\n <button\r\n pButton\r\n icon=\"pi pi-plus\"\r\n type=\"button\"\r\n class=\"p-button-success p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"addCondition(groupIndex)\"\r\n pTooltip=\"{{ 'ADD_CONDITION' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n <!-- @if (filterCount > 0) {\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-outlined p-button-sm\"\r\n (click)=\"toggleAppliedFilters()\">\r\n {{ (showAppliedFilters ? 'SHOW_ALL' : 'SHOW_APPLIED') | translate }}\r\n </button>\r\n } -->\r\n <button\r\n *ngIf=\"groups.length > 1\"\r\n pButton\r\n icon=\"pi pi-times\"\r\n type=\"button\"\r\n class=\"p-button-danger p-button p-button-sm !p-1.5 rounded-md transition-colors\"\r\n (click)=\"removeGroup(groupIndex)\"\r\n pTooltip=\"{{ 'DELETE_GROUP' | translate }}\"\r\n tooltipPosition=\"top\">\r\n </button>\r\n</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Conditions in this group -->\r\n <div *ngFor=\"let condition of group.conditions; let conditionIndex = index\"\r\n class=\"p-1 bg-gray-50 \">\r\n <div class=\"grid grid-cols-1 gap-1 items-center\">\r\n <!-- Field Selector -->\r\n <div class=\"md:col-span-2\">\r\n <div class=\"flex w-full rounded-md overflow-hidden border border-gray-300 bg-white shadow-sm\">\r\n <!-- Field Selector Button -->\r\n <div style=\"align-items: center;display: flex; min-width: 130px;max-width: 130px;\" class=\"flex-shrink-0 \">\r\n <button\r\n type=\"button\"\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-between w-full px-3 py-2 text-sm bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:z-10\"\r\n (click)=\"overlay.toggle($event)\">\r\n <span style=\"\r\n display: inline-block;\r\n max-width: 100px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n \">{{ getFieldLabel(condition.field) || ('SELECT_FIELD' | translate) }}</span>\r\n <i class=\"pi pi-chevron-down mr-2 ml-2 text-xs\"></i>\r\n </button>\r\n\r\n <!-- Overlay Content -->\r\n <p-popover #overlay appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n tabindex=\"0\"\r\n [options]=\"props['fields']\"\r\n optionLabel=\"label\"\r\n optionValue=\"key\"\r\n [(ngModel)]=\"condition.field\"\r\n (onChange)=\"onFieldChange(condition, groupIndex, conditionIndex); overlay.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Operator Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0 border-l border-r border-gray-300\">\r\n <button\r\n type=\"button\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-gray-50 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:z-10\"\r\n style=\"height: -webkit-fill-available;\"\r\n pTooltip=\"{{ getOperatorLabel(condition.operator).label }}\"\r\n (click)=\"opPopover.toggle($event)\">\r\n <i [class]=\"getOperatorLabel(condition.operator).icon\"></i>\r\n </button>\r\n\r\n <p-popover #opPopover appendTo=\"body\">\r\n <div class=\"w-60\">\r\n <p-listbox\r\n [options]=\"condition.operatorsForField\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n [(ngModel)]=\"condition.operator\"\r\n (onChange)=\"updateValue();opPopover.toggle($event)\"\r\n [style]=\"{ width: '100%' }\">\r\n </p-listbox>\r\n </div>\r\n </p-popover>\r\n </div>\r\n <!-- Form Field -->\r\n <div style=\"background: #f9fafb\" class=\"flex-grow p-1\">\r\n <formly-form\r\n [form]=\"form\"\r\n [fields]=\"[condition.valueFieldConfig]\"\r\n [model]=\"model\">\r\n </formly-form>\r\n </div>\r\n\r\n\r\n\r\n <!-- Delete Button -->\r\n <div style=\"align-items: center;display: flex;\" class=\"flex-shrink-0\">\r\n <button\r\n style=\"height: -webkit-fill-available;\"\r\n class=\"flex items-center justify-center w-full px-3 py-2 text-sm bg-red-50 text-red-600 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:z-10\"\r\n type=\"button\"\r\n (click)=\"removeCondition(groupIndex, conditionIndex)\"\r\n pTooltip=\"\u062D\u0630\u0641 \u0627\u0644\u0634\u0631\u0637\"\r\n tooltipPosition=\"top\">\r\n <i class=\"pi pi-times\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Group Footer -->\r\n <div class=\"group-footer flex justify-between items-center mt-3 pt-3 border-t border-gray-200 \">\r\n <small class=\"text-gray-500\">\r\n {{ group.conditions.length }} \u0634\u0631\u0637 \u0641\u064A \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629\r\n </small>\r\n <small class=\"text-gray-500\">\r\n <span *ngIf=\"groupIndex > 0\">\r\n \u0645\u0631\u062A\u0628\u0637 \u0645\u0639 \u0627\u0644\u0633\u0627\u0628\u0642\u0629 \u0628\u0640 <strong [class.text-blue-600]=\"group.groupLogicalOperator === 'and'\"\r\n [class.text-amber-600]=\"group.groupLogicalOperator === 'or'\">\r\n {{ group.groupLogicalOperator === 'and' ? '\u0648' : '\u0623\u0648' }}\r\n </strong>\r\n </span>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n<div class=\"flex flex-wrap gap-3 mt-6\">\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'GROUP' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addGroup();\">\r\n </button>\r\n\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'CONDITION' | translate\"\r\n class=\"p-button-outlined p-button-sm !bg-white !border !border-blue-500 !text-blue-600 hover:!bg-blue-50 transition-colors flex items-center gap-2\"\r\n (click)=\"addConditionToLastGroup()\">\r\n </button>\r\n\r\n <button\r\n *ngIf=\"groups.length > 0\"\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-trash\"\r\n [label]=\"'CLEAR' | translate\"\r\n class=\"p-button-danger p-button-outlined p-button-sm !bg-white !border !border-red-500 !text-red-600 hover:!bg-red-50 transition-colors flex items-center gap-2\"\r\n (click)=\"clearAll()\">\r\n </button>\r\n</div>\r\n\r\n<!-- Empty State -->\r\n<div *ngIf=\"groups.length === 0\" class=\"empty-state text-center p-6 border-2 border-dashed border-gray-300 rounded-xl bg-gray-50\">\r\n <i class=\"pi pi-search text-4xl text-gray-400 mb-3\"></i>\r\n <p class=\"text-gray-500 mb-4\">{{ 'NO_SEARCH_CONDITIONS' | translate }}</p>\r\n <button\r\n pButton\r\n type=\"button\"\r\n icon=\"pi pi-plus\"\r\n [label]=\"'ADD_SEARCH_CONDITION' | translate\"\r\n class=\"p-button-outlined !px-4 !py-2\"\r\n (click)=\"addGroup()\">\r\n </button>\r\n</div>\r\n</div>\r\n", styles: [".vertical-connector{position:relative;display:flex;justify-content:center;margin-bottom:1rem}.vertical-line{position:absolute;top:-1rem;height:1rem;width:2px;background-color:#d1d5db}.group-logical-operator-box{position:relative;padding:.25rem .75rem;border-radius:.375rem;font-weight:500;font-size:.75rem;z-index:10;transition:all .3s ease}.group-logical-operator-box.and{background-color:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.group-logical-operator-box.or{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.connector-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.group-logical-operator-box.and .connector-arrow{border-top:6px solid #93c5fd}.group-logical-operator-box.or .connector-arrow{border-top:6px solid #fcd34d}.border-blue-500{border-color:#93c5fd}.border-or-500{border-color:#fcd34d}.border-t-1{border-top-width:1px}.border-b-1{border-bottom-width:1px}.border-r-1{border-right-width:1px}.p-popover-content{padding:5px!important}\n"] }]
1523
1523
  }] });
1524
1524
 
1525
1525
  // tab-type.component.ts