@acorex/components 20.2.0-next.18 → 20.2.0-next.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/autocomplete/index.d.ts +2 -6
  2. package/calendar/index.d.ts +1 -1
  3. package/fesm2022/acorex-components-autocomplete.mjs +3 -19
  4. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  5. package/fesm2022/acorex-components-calendar.mjs +5 -3
  6. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  7. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  8. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  9. package/fesm2022/acorex-components-cron-job.mjs +6 -6
  10. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  11. package/fesm2022/acorex-components-list.mjs +14 -6
  12. package/fesm2022/acorex-components-list.mjs.map +1 -1
  13. package/fesm2022/acorex-components-media-viewer.mjs +4 -4
  14. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  15. package/fesm2022/acorex-components-menu.mjs +11 -2
  16. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  17. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  18. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  19. package/fesm2022/acorex-components-query-builder.mjs +1 -1
  20. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  21. package/fesm2022/acorex-components-rail-navigation.mjs +11 -0
  22. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  23. package/fesm2022/acorex-components-rest-api-generator.mjs +1 -1
  24. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  25. package/fesm2022/acorex-components-rrule.mjs +1 -1
  26. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  27. package/fesm2022/acorex-components-scheduler.mjs +1 -1
  28. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  29. package/fesm2022/acorex-components-select-box.mjs +19 -62
  30. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-selection-list-2.mjs +2 -5
  32. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  33. package/fesm2022/acorex-components-selection-list.mjs +4 -7
  34. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  35. package/fesm2022/acorex-components-side-menu.mjs +3 -3
  36. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  37. package/fesm2022/acorex-components-tag-box.mjs +12 -24
  38. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-wysiwyg.mjs +1 -1
  40. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  41. package/list/index.d.ts +9 -3
  42. package/menu/index.d.ts +2 -0
  43. package/package.json +9 -13
  44. package/rail-navigation/index.d.ts +11 -0
  45. package/select-box/index.d.ts +2 -11
  46. package/tag-box/index.d.ts +2 -2
  47. package/data-list/README.md +0 -356
  48. package/data-list/index.d.ts +0 -102
  49. package/fesm2022/acorex-components-data-list.mjs +0 -386
  50. package/fesm2022/acorex-components-data-list.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-query-builder.mjs","sources":["../tmp-esm2022/query-builder/lib/query-builder.component.js","../tmp-esm2022/query-builder/lib/query-builder.module.js","../tmp-esm2022/query-builder/acorex-components-query-builder.js"],"sourcesContent":["import { AXComponent, AXDataSource } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDateTimeBoxComponent } from '@acorex/components/datetime-box';\nimport { AXDecoratorClearButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXQueryBuilderComponent {\n constructor() {\n this.columnData = input.required(...(ngDevMode ? [{ debugName: \"columnData\" }] : []));\n this.queryData = model.required(...(ngDevMode ? [{ debugName: \"queryData\" }] : []));\n this.onValueChanged = output();\n this.selectBoxRef = viewChild('reRender', ...(ngDevMode ? [{ debugName: \"selectBoxRef\" }] : []));\n this.selectedItem = signal(null, ...(ngDevMode ? [{ debugName: \"selectedItem\" }] : []));\n this.ds = new AXDataSource({\n load: async (e) => {\n return {\n items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.operators[this.selectedItem().type].length,\n };\n },\n key: 'id',\n pageSize: 20,\n });\n this.operators = {\n string: [\n 'Starts With',\n 'Does Not Start With',\n 'Ends With',\n 'Does Not End With',\n 'Contains',\n 'Does Not Contain',\n 'Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Empty',\n 'Is Not Empty',\n 'Is Null',\n 'Is Not Null',\n ],\n boolean: ['Equal', 'Not Equal'],\n number: [\n 'Equal',\n 'Greater Than Or Equal',\n 'Greater Than',\n 'Between',\n 'Less Than',\n 'Not Between',\n 'Less Than Or Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Null',\n 'Is Not Null',\n ],\n date: [\n 'Equal',\n 'Greater Than',\n 'Greater Than Or Equal',\n 'Less Than',\n 'Less Than Or Equal',\n 'Not Equal',\n 'Between',\n 'Not Between',\n ],\n };\n this.#eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n conditionHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.condition = e.data;\n return copy;\n });\n }\n columnDataHandler(e, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.label = selectedItem.label;\n find.field = selectedItem.field;\n find.type = selectedItem.type;\n if (selectedItem.values)\n find.inputValues = selectedItem.values;\n return copy;\n });\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n operatorDataHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.operator = e.value;\n return copy;\n });\n }\n recursiveFind(array, predicate, nestedKey) {\n for (const item of array) {\n if (predicate(item)) {\n return item;\n }\n if (Array.isArray(item[nestedKey])) {\n const found = this.recursiveFind(item[nestedKey], predicate, nestedKey);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n recursiveRemove(array, predicate, nestedKey) {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey])\n ? this.recursiveRemove(item[nestedKey], predicate, nestedKey)\n : item[nestedKey],\n }));\n }\n addRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n });\n return copy;\n });\n }\n addGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n condition: 'and',\n rules: [{ id: Math.random() }],\n });\n return copy;\n });\n }\n booleanValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.target.value;\n return copy;\n });\n }\n stringValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n numberValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n dateValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n removeGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n removeRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n trackById(_, item) {\n return item.id;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXQueryBuilderComponent, isStandalone: true, selector: \"ax-query-builder\", inputs: { columnData: { classPropertyName: \"columnData\", publicName: \"columnData\", isSignal: true, isRequired: true, transformFunction: null }, queryData: { classPropertyName: \"queryData\", publicName: \"queryData\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { queryData: \"queryDataChange\", onValueChanged: \"onValueChanged\" }, providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }], viewQueries: [{ propertyName: \"selectBoxRef\", first: true, predicate: [\"reRender\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@for (item of queryData(); track trackById(i, item); let i = $index) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: item, index: i }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n}\\n\\n<ng-template #query let-item let-index=\\\"index\\\">\\n @if (item.condition) {\\n <div class=\\\"ax-recursive-container\\\">\\n <div class=\\\"ax-add-condition-container\\\">\\n <ax-button-group\\n selection=\\\"single\\\"\\n (selectedButtonChange)=\\\"conditionHandler($event, item)\\\"\\n color=\\\"primary\\\"\\n class=\\\"ax-sm\\\"\\n >\\n <ax-button-group-item data=\\\"and\\\" [selected]=\\\"item.condition === 'and'\\\" text=\\\"And\\\"> </ax-button-group-item>\\n <ax-button-group-item data=\\\"or\\\" [selected]=\\\"item.condition === 'or'\\\" text=\\\"Or\\\"> </ax-button-group-item>\\n </ax-button-group>\\n <ax-button\\n (onClick)=\\\"addRulesHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Rules\\\"\\n ></ax-button>\\n <ax-button\\n (onClick)=\\\"addGroupHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Group\\\"\\n ></ax-button>\\n @if (index !== 0) {\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"removeGroupHandler(item)\\\" class=\\\"ax-sm\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n }\\n </div>\\n\\n @for (child of item.rules; track trackById($index, child)) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n }\\n </div>\\n } @else {\\n <div class=\\\"ax-rules-container\\\">\\n <div class=\\\"ax-input-rules-container\\\">\\n <ax-select-box\\n (onValueChanged)=\\\"columnDataHandler($event, item)\\\"\\n valueField=\\\"field\\\"\\n textField=\\\"label\\\"\\n [dataSource]=\\\"columnData()\\\"\\n placeholder=\\\"Select Field\\\"\\n >\\n </ax-select-box>\\n\\n <ax-select-box\\n #reRender\\n [disabled]=\\\"!item.field\\\"\\n name=\\\"selectBoxOperator\\\"\\n (onValueChanged)=\\\"operatorDataHandler($event, item)\\\"\\n [dataSource]=\\\"ds\\\"\\n placeholder=\\\"Select Operator\\\"\\n >\\n </ax-select-box>\\n\\n @switch (item.type) {\\n @case ('boolean') {\\n <div class=\\\"ax-boolean-value-input-container\\\">\\n @for (boolean of item.inputValues; track $index) {\\n <label>{{ boolean }}</label>\\n <input name=\\\"same\\\" [value]=\\\"boolean\\\" (input)=\\\"booleanValueHandler($event, item)\\\" type=\\\"radio\\\" />\\n }\\n </div>\\n }\\n @case ('string') {\\n <ax-text-box (onValueChanged)=\\\"stringValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-text-box>\\n }\\n @case ('number') {\\n <ax-number-box (onValueChanged)=\\\"numberValueHandler($event, item)\\\"></ax-number-box>\\n }\\n @case ('date') {\\n <ax-datetime-box format=\\\"yyyy/MM/dd\\\" (onValueChanged)=\\\"dateValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-datetime-box>\\n }\\n }\\n </div>\\n <ax-button (onClick)=\\\"removeRulesHandler(item)\\\" look=\\\"blank\\\" class=\\\"ax-md\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n </div>\\n }\\n</ng-template>\\n\", styles: [\"ax-query-builder{border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);padding:1rem;width:100%;display:block}ax-query-builder .ax-add-condition-container{display:flex;gap:.5rem;margin-block:.5rem}ax-query-builder .ax-recursive-container{border-inline-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding-inline-start:1rem}ax-query-builder .ax-rules-container{display:flex;align-items:center;margin-block:.5rem}ax-query-builder .ax-rules-container .ax-input-rules-container{display:flex;align-items:center;gap:.5rem;width:100%}ax-query-builder .ax-rules-container:not(:last-child){margin-bottom:.5rem}ax-query-builder .ax-boolean-value-input-container{display:flex;gap:.5rem;align-items:center}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXButtonGroupComponent, selector: \"ax-button-group\", inputs: [\"disabled\", \"color\", \"look\", \"selection\"], outputs: [\"onBlur\", \"onFocus\", \"lookChange\", \"colorChange\", \"disabledChange\", \"onClick\", \"selectionChange\", \"selectedButtonChange\"] }, { kind: \"component\", type: AXButtonGroupItemComponent, selector: \"ax-button-group-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"component\", type: AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"component\", type: AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: AXNumberBoxComponent, selector: \"ax-number-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"type\", \"changeOnScroll\", \"allDigits\", \"thousandsSeparator\", \"padDecimalZeros\", \"step\", \"decimals\", \"decimalStep\", \"showSpinButtons\", \"minValue\", \"maxValue\", \"class\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"component\", type: AXDateTimeBoxComponent, selector: \"ax-datetime-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"depth\", \"id\", \"type\", \"look\", \"holidayDates\", \"allowTyping\", \"calendar\", \"picker\", \"format\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"onOpened\", \"onClosed\", \"readonlyChange\", \"disabledChange\", \"formatChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-query-builder', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ], providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }], template: \"@for (item of queryData(); track trackById(i, item); let i = $index) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: item, index: i }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n}\\n\\n<ng-template #query let-item let-index=\\\"index\\\">\\n @if (item.condition) {\\n <div class=\\\"ax-recursive-container\\\">\\n <div class=\\\"ax-add-condition-container\\\">\\n <ax-button-group\\n selection=\\\"single\\\"\\n (selectedButtonChange)=\\\"conditionHandler($event, item)\\\"\\n color=\\\"primary\\\"\\n class=\\\"ax-sm\\\"\\n >\\n <ax-button-group-item data=\\\"and\\\" [selected]=\\\"item.condition === 'and'\\\" text=\\\"And\\\"> </ax-button-group-item>\\n <ax-button-group-item data=\\\"or\\\" [selected]=\\\"item.condition === 'or'\\\" text=\\\"Or\\\"> </ax-button-group-item>\\n </ax-button-group>\\n <ax-button\\n (onClick)=\\\"addRulesHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Rules\\\"\\n ></ax-button>\\n <ax-button\\n (onClick)=\\\"addGroupHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Group\\\"\\n ></ax-button>\\n @if (index !== 0) {\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"removeGroupHandler(item)\\\" class=\\\"ax-sm\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n }\\n </div>\\n\\n @for (child of item.rules; track trackById($index, child)) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n }\\n </div>\\n } @else {\\n <div class=\\\"ax-rules-container\\\">\\n <div class=\\\"ax-input-rules-container\\\">\\n <ax-select-box\\n (onValueChanged)=\\\"columnDataHandler($event, item)\\\"\\n valueField=\\\"field\\\"\\n textField=\\\"label\\\"\\n [dataSource]=\\\"columnData()\\\"\\n placeholder=\\\"Select Field\\\"\\n >\\n </ax-select-box>\\n\\n <ax-select-box\\n #reRender\\n [disabled]=\\\"!item.field\\\"\\n name=\\\"selectBoxOperator\\\"\\n (onValueChanged)=\\\"operatorDataHandler($event, item)\\\"\\n [dataSource]=\\\"ds\\\"\\n placeholder=\\\"Select Operator\\\"\\n >\\n </ax-select-box>\\n\\n @switch (item.type) {\\n @case ('boolean') {\\n <div class=\\\"ax-boolean-value-input-container\\\">\\n @for (boolean of item.inputValues; track $index) {\\n <label>{{ boolean }}</label>\\n <input name=\\\"same\\\" [value]=\\\"boolean\\\" (input)=\\\"booleanValueHandler($event, item)\\\" type=\\\"radio\\\" />\\n }\\n </div>\\n }\\n @case ('string') {\\n <ax-text-box (onValueChanged)=\\\"stringValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-text-box>\\n }\\n @case ('number') {\\n <ax-number-box (onValueChanged)=\\\"numberValueHandler($event, item)\\\"></ax-number-box>\\n }\\n @case ('date') {\\n <ax-datetime-box format=\\\"yyyy/MM/dd\\\" (onValueChanged)=\\\"dateValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-datetime-box>\\n }\\n }\\n </div>\\n <ax-button (onClick)=\\\"removeRulesHandler(item)\\\" look=\\\"blank\\\" class=\\\"ax-md\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n </div>\\n }\\n</ng-template>\\n\", styles: [\"ax-query-builder{border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);padding:1rem;width:100%;display:block}ax-query-builder .ax-add-condition-container{display:flex;gap:.5rem;margin-block:.5rem}ax-query-builder .ax-recursive-container{border-inline-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding-inline-start:1rem}ax-query-builder .ax-rules-container{display:flex;align-items:center;margin-block:.5rem}ax-query-builder .ax-rules-container .ax-input-rules-container{display:flex;align-items:center;gap:.5rem;width:100%}ax-query-builder .ax-rules-container:not(:last-child){margin-bottom:.5rem}ax-query-builder .ax-boolean-value-input-container{display:flex;gap:.5rem;align-items:center}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvc3JjL2xpYi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcXVlcnktYnVpbGRlci9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQXNCdkIsTUFBTSxPQUFPLHVCQUF1QjtJQXBCcEM7UUFxQkUsZUFBVSxHQUFHLEtBQUssQ0FB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Q0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0UsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsU0FBUyxDQUFDLENBQVMsRUFBRSxJQUFTO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOzhHQTlNVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixpYUFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsb0pDdkM3RSxxaEhBOEZBLDZ6QkRsRUksZ0JBQWdCLG9KQUNoQixzQkFBc0IscVBBQ3RCLDBCQUEwQiw0TUFDMUIsaUJBQWlCLDJVQUNqQix3QkFBd0Isc0VBQ3hCLG9CQUFvQiwwb0JBQ3BCLGtCQUFrQixrWUFDbEIsK0JBQStCLDhFQUMvQixvQkFBb0IsZ2VBQ3BCLHNCQUFzQjs7MkZBSWIsdUJBQXVCO2tCQXBCbkMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLCtCQUErQjt3QkFDL0Isb0JBQW9CO3dCQUNwQixzQkFBc0I7cUJBQ3ZCLGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyx5QkFBeUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQsIEFYRGF0YVNvdXJjZSwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhCdXR0b25Hcm91cENvbXBvbmVudCwgQVhCdXR0b25Hcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94JztcbmltcG9ydCB7IEFYRGVjb3JhdG9yQ2xlYXJCdXR0b25Db21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTnVtYmVyQm94Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gnO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1xdWVyeS1idWlsZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBWEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEFYQnV0dG9uR3JvdXBJdGVtQ29tcG9uZW50LFxuICAgIEFYQnV0dG9uQ29tcG9uZW50LFxuICAgIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCxcbiAgICBBWFNlbGVjdEJveENvbXBvbmVudCxcbiAgICBBWFRleHRCb3hDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JDbGVhckJ1dHRvbkNvbXBvbmVudCxcbiAgICBBWE51bWJlckJveENvbXBvbmVudCxcbiAgICBBWERhdGVUaW1lQm94Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhRdWVyeUJ1aWxkZXJDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyQ29tcG9uZW50IHtcbiAgY29sdW1uRGF0YSA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xuICBxdWVyeURhdGEgPSBtb2RlbC5yZXF1aXJlZDxhbnlbXT4oKTtcbiAgb25WYWx1ZUNoYW5nZWQgPSBvdXRwdXQ8YW55W10+KCk7XG4gIHByb3RlY3RlZCBzZWxlY3RCb3hSZWYgPSB2aWV3Q2hpbGQ8QVhTZWxlY3RCb3hDb21wb25lbnQ+KCdyZVJlbmRlcicpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRJdGVtID0gc2lnbmFsPGFueT4obnVsbCk7XG5cbiAgZHMgPSBuZXcgQVhEYXRhU291cmNlKHtcbiAgICBsb2FkOiBhc3luYyAoZSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXRlbXM6IHRoaXMub3BlcmF0b3JzW3RoaXMuc2VsZWN0ZWRJdGVtKCkudHlwZV0uc2xpY2UoZS5za2lwLCAoZS5za2lwID8/IDApICsgKGUudGFrZSA/PyAwKSksXG4gICAgICAgIHRvdGFsOiB0aGlzLm9wZXJhdG9yc1t0aGlzLnNlbGVjdGVkSXRlbSgpLnR5cGVdLmxlbmd0aCxcbiAgICAgIH07XG4gICAgfSxcbiAgICBrZXk6ICdpZCcsXG4gICAgcGFnZVNpemU6IDIwLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgb3BlcmF0b3JzID0ge1xuICAgIHN0cmluZzogW1xuICAgICAgJ1N0YXJ0cyBXaXRoJyxcbiAgICAgICdEb2VzIE5vdCBTdGFydCBXaXRoJyxcbiAgICAgICdFbmRzIFdpdGgnLFxuICAgICAgJ0RvZXMgTm90IEVuZCBXaXRoJyxcbiAgICAgICdDb250YWlucycsXG4gICAgICAnRG9lcyBOb3QgQ29udGFpbicsXG4gICAgICAnRXF1YWwnLFxuICAgICAgJ05vdCBFcXVhbCcsXG4gICAgICAnSW4nLFxuICAgICAgJ05vdCBJbicsXG4gICAgICAnSXMgRW1wdHknLFxuICAgICAgJ0lzIE5vdCBFbXB0eScsXG4gICAgICAnSXMgTnVsbCcsXG4gICAgICAnSXMgTm90IE51bGwnLFxuICAgIF0sXG4gICAgYm9vbGVhbjogWydFcXVhbCcsICdOb3QgRXF1YWwnXSxcbiAgICBudW1iZXI6IFtcbiAgICAgICdFcXVhbCcsXG4gICAgICAnR3JlYXRlciBUaGFuIE9yIEVxdWFsJyxcbiAgICAgICdHcmVhdGVyIFRoYW4nLFxuICAgICAgJ0JldHdlZW4nLFxuICAgICAgJ0xlc3MgVGhhbicsXG4gICAgICAnTm90IEJldHdlZW4nLFxuICAgICAgJ0xlc3MgVGhhbiBPciBFcXVhbCcsXG4gICAgICAnTm90IEVxdWFsJyxcbiAgICAgICdJbicsXG4gICAgICAnTm90IEluJyxcbiAgICAgICdJcyBOdWxsJyxcbiAgICAgICdJcyBOb3QgTnVsbCcsXG4gICAgXSxcbiAgICBkYXRlOiBbXG4gICAgICAnRXF1YWwnLFxuICAgICAgJ0dyZWF0ZXIgVGhhbicsXG4gICAgICAnR3JlYXRlciBUaGFuIE9yIEVxdWFsJyxcbiAgICAgICdMZXNzIFRoYW4nLFxuICAgICAgJ0xlc3MgVGhhbiBPciBFcXVhbCcsXG4gICAgICAnTm90IEVxdWFsJyxcbiAgICAgICdCZXR3ZWVuJyxcbiAgICAgICdOb3QgQmV0d2VlbicsXG4gICAgXSxcbiAgfTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQodGhpcy5xdWVyeURhdGEoKSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBjb25kaXRpb25IYW5kbGVyKGU6IEFYQnV0dG9uR3JvdXBJdGVtQ29tcG9uZW50LCBpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLmNvbmRpdGlvbiA9IGUuZGF0YTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbHVtbkRhdGFIYW5kbGVyKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55PiwgaSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldChpKTtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBlLmNvbXBvbmVudC5zZWxlY3RlZEl0ZW1zWzBdO1xuXG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLmxhYmVsID0gc2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgZmluZC5maWVsZCA9IHNlbGVjdGVkSXRlbS5maWVsZDtcbiAgICAgIGZpbmQudHlwZSA9IHNlbGVjdGVkSXRlbS50eXBlO1xuICAgICAgaWYgKHNlbGVjdGVkSXRlbS52YWx1ZXMpIGZpbmQuaW5wdXRWYWx1ZXMgPSBzZWxlY3RlZEl0ZW0udmFsdWVzO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdEJveFJlZigpLnJlZnJlc2goKTtcbiAgICB0aGlzLnNlbGVjdEJveFJlZigpLnJlc2V0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlcmF0b3JEYXRhSGFuZGxlcihlLCBpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLm9wZXJhdG9yID0gZS52YWx1ZTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWN1cnNpdmVGaW5kKGFycmF5LCBwcmVkaWNhdGUsIG5lc3RlZEtleSkge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnJheSkge1xuICAgICAgaWYgKHByZWRpY2F0ZShpdGVtKSkge1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1bbmVzdGVkS2V5XSkpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnJlY3Vyc2l2ZUZpbmQoaXRlbVtuZXN0ZWRLZXldLCBwcmVkaWNhdGUsIG5lc3RlZEtleSk7XG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVjdXJzaXZlUmVtb3ZlKGFycmF5OiBhbnlbXSwgcHJlZGljYXRlOiAoaXRlbTogYW55KSA9PiBib29sZWFuLCBuZXN0ZWRLZXk6IHN0cmluZyk6IGFueVtdIHtcbiAgICByZXR1cm4gYXJyYXlcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFwcmVkaWNhdGUoaXRlbSkpXG4gICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBbbmVzdGVkS2V5XTogQXJyYXkuaXNBcnJheShpdGVtW25lc3RlZEtleV0pXG4gICAgICAgICAgPyB0aGlzLnJlY3Vyc2l2ZVJlbW92ZShpdGVtW25lc3RlZEtleV0sIHByZWRpY2F0ZSwgbmVzdGVkS2V5KVxuICAgICAgICAgIDogaXRlbVtuZXN0ZWRLZXldLFxuICAgICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFJ1bGVzSGFuZGxlcihpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLnJ1bGVzLnB1c2goe1xuICAgICAgICBpZDogTWF0aC5yYW5kb20oKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWRkR3JvdXBIYW5kbGVyKGkpIHtcbiAgICB0aGlzLnF1ZXJ5RGF0YS51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl07XG4gICAgICBjb25zdCBmaW5kID0gdGhpcy5yZWN1cnNpdmVGaW5kKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIGZpbmQucnVsZXMucHVzaCh7XG4gICAgICAgIGlkOiBNYXRoLnJhbmRvbSgpLFxuICAgICAgICBjb25kaXRpb246ICdhbmQnLFxuICAgICAgICBydWxlczogW3sgaWQ6IE1hdGgucmFuZG9tKCkgfV0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJvb2xlYW5WYWx1ZUhhbmRsZXIoZSwgaSkge1xuICAgIHRoaXMucXVlcnlEYXRhLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XTtcbiAgICAgIGNvbnN0IGZpbmQgPSB0aGlzLnJlY3Vyc2l2ZUZpbmQoY29weSwgKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGkuaWQsICdydWxlcycpO1xuICAgICAgZmluZC52YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RyaW5nVmFsdWVIYW5kbGVyKGUsIGkpIHtcbiAgICB0aGlzLnF1ZXJ5RGF0YS51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl07XG4gICAgICBjb25zdCBmaW5kID0gdGhpcy5yZWN1cnNpdmVGaW5kKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIGZpbmQudmFsdWUgPSBlLnZhbHVlO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbnVtYmVyVmFsdWVIYW5kbGVyKGUsIGkpIHtcbiAgICB0aGlzLnF1ZXJ5RGF0YS51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl07XG4gICAgICBjb25zdCBmaW5kID0gdGhpcy5yZWN1cnNpdmVGaW5kKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIGZpbmQudmFsdWUgPSBlLnZhbHVlO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGF0ZVZhbHVlSGFuZGxlcihlLCBpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLnZhbHVlID0gZS52YWx1ZTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUdyb3VwSGFuZGxlcihpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5yZWN1cnNpdmVSZW1vdmUoY29weSwgKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGkuaWQsICdydWxlcycpO1xuICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVSdWxlc0hhbmRsZXIoaSkge1xuICAgIHRoaXMucXVlcnlEYXRhLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XTtcbiAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMucmVjdXJzaXZlUmVtb3ZlKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tCeUlkKF86IG51bWJlciwgaXRlbTogYW55KTogbnVtYmVyIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxufVxuIiwiQGZvciAoaXRlbSBvZiBxdWVyeURhdGEoKTsgdHJhY2sgdHJhY2tCeUlkKGksIGl0ZW0pOyBsZXQgaSA9ICRpbmRleCkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGkgfVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInF1ZXJ5XCI+IDwvbmctY29udGFpbmVyPlxufVxuXG48bmctdGVtcGxhdGUgI3F1ZXJ5IGxldC1pdGVtIGxldC1pbmRleD1cImluZGV4XCI+XG4gIEBpZiAoaXRlbS5jb25kaXRpb24pIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmVjdXJzaXZlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWFkZC1jb25kaXRpb24tY29udGFpbmVyXCI+XG4gICAgICAgIDxheC1idXR0b24tZ3JvdXBcbiAgICAgICAgICBzZWxlY3Rpb249XCJzaW5nbGVcIlxuICAgICAgICAgIChzZWxlY3RlZEJ1dHRvbkNoYW5nZSk9XCJjb25kaXRpb25IYW5kbGVyKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtYnV0dG9uLWdyb3VwLWl0ZW0gZGF0YT1cImFuZFwiIFtzZWxlY3RlZF09XCJpdGVtLmNvbmRpdGlvbiA9PT0gJ2FuZCdcIiB0ZXh0PVwiQW5kXCI+IDwvYXgtYnV0dG9uLWdyb3VwLWl0ZW0+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1ncm91cC1pdGVtIGRhdGE9XCJvclwiIFtzZWxlY3RlZF09XCJpdGVtLmNvbmRpdGlvbiA9PT0gJ29yJ1wiIHRleHQ9XCJPclwiPiA8L2F4LWJ1dHRvbi1ncm91cC1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1ncm91cD5cbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIChvbkNsaWNrKT1cImFkZFJ1bGVzSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICBsb29rPVwiYmxhbmtcIlxuICAgICAgICAgIHRleHQ9XCJBZGQgUnVsZXNcIlxuICAgICAgICA+PC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAob25DbGljayk9XCJhZGRHcm91cEhhbmRsZXIoaXRlbSlcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgICAgICB0ZXh0PVwiQWRkIEdyb3VwXCJcbiAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICBAaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJyZW1vdmVHcm91cEhhbmRsZXIoaXRlbSlcIiBjbGFzcz1cImF4LXNtXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tdHJhc2hcIj48L2F4LWljb24+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAZm9yIChjaGlsZCBvZiBpdGVtLnJ1bGVzOyB0cmFjayB0cmFja0J5SWQoJGluZGV4LCBjaGlsZCkpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJxdWVyeVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LXJ1bGVzLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWlucHV0LXJ1bGVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjb2x1bW5EYXRhSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiZmllbGRcIlxuICAgICAgICAgIHRleHRGaWVsZD1cImxhYmVsXCJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJjb2x1bW5EYXRhKClcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEZpZWxkXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG5cbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAjcmVSZW5kZXJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWl0ZW0uZmllbGRcIlxuICAgICAgICAgIG5hbWU9XCJzZWxlY3RCb3hPcGVyYXRvclwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIm9wZXJhdG9yRGF0YUhhbmRsZXIoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZHNcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IE9wZXJhdG9yXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG5cbiAgICAgICAgQHN3aXRjaCAoaXRlbS50eXBlKSB7XG4gICAgICAgICAgQGNhc2UgKCdib29sZWFuJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWJvb2xlYW4tdmFsdWUtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIEBmb3IgKGJvb2xlYW4gb2YgaXRlbS5pbnB1dFZhbHVlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7IGJvb2xlYW4gfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwic2FtZVwiIFt2YWx1ZV09XCJib29sZWFuXCIgKGlucHV0KT1cImJvb2xlYW5WYWx1ZUhhbmRsZXIoJGV2ZW50LCBpdGVtKVwiIHR5cGU9XCJyYWRpb1wiIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ3N0cmluZycpIHtcbiAgICAgICAgICAgIDxheC10ZXh0LWJveCAob25WYWx1ZUNoYW5nZWQpPVwic3RyaW5nVmFsdWVIYW5kbGVyKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlICgnbnVtYmVyJykge1xuICAgICAgICAgICAgPGF4LW51bWJlci1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cIm51bWJlclZhbHVlSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCI+PC9heC1udW1iZXItYm94PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ2RhdGUnKSB7XG4gICAgICAgICAgICA8YXgtZGF0ZXRpbWUtYm94IGZvcm1hdD1cInl5eXkvTU0vZGRcIiAob25WYWx1ZUNoYW5nZWQpPVwiZGF0ZVZhbHVlSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgICAgICA8L2F4LWRhdGV0aW1lLWJveD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGF4LWJ1dHRvbiAob25DbGljayk9XCJyZW1vdmVSdWxlc0hhbmRsZXIoaXRlbSlcIiBsb29rPVwiYmxhbmtcIiBjbGFzcz1cImF4LW1kXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljb24gYXgtaWNvbi10cmFzaFwiPjwvYXgtaWNvbj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXQueryBuilderComponent } from './query-builder.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXQueryBuilderComponent];\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\nexport class AXQueryBuilderModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, imports: [AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule, AXQueryBuilderComponent], exports: [AXQueryBuilderComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvc3JjL2xpYi9xdWVyeS1idWlsZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVwRSxNQUFNLFNBQVMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFNUMsTUFBTSxPQUFPLEdBQUc7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsWUFBWTtDQUNiLENBQUM7QUFPRixNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQWYvQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsWUFBWSxFQVZLLHVCQUF1QixhQUF2Qix1QkFBdUI7K0dBa0I3QixvQkFBb0IsWUFKbEIsT0FBTyxFQUFLLFNBQVM7OzJGQUl2QixvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkdyb3VwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBBWERhdGVUaW1lQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGV0aW1lLWJveCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gnO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhRdWVyeUJ1aWxkZXJDb21wb25lbnRdO1xuXG5jb25zdCBNT0RVTEVTID0gW1xuICBBWEJ1dHRvbkdyb3VwTW9kdWxlLFxuICBBWERlY29yYXRvck1vZHVsZSxcbiAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gIEFYQnV0dG9uTW9kdWxlLFxuICBBWFRleHRCb3hNb2R1bGUsXG4gIEFYTnVtYmVyQm94TW9kdWxlLFxuICBBWERhdGVUaW1lQm94TW9kdWxlLFxuICBDb21tb25Nb2R1bGUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcXVlcnktYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcXVlcnktYnVpbGRlci9zcmMvYWNvcmV4LWNvbXBvbmVudHMtcXVlcnktYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-query-builder.mjs","sources":["../tmp-esm2022/query-builder/lib/query-builder.component.js","../tmp-esm2022/query-builder/lib/query-builder.module.js","../tmp-esm2022/query-builder/acorex-components-query-builder.js"],"sourcesContent":["import { AXComponent, AXDataSource } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDateTimeBoxComponent } from '@acorex/components/datetime-box';\nimport { AXDecoratorClearButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXQueryBuilderComponent {\n constructor() {\n this.columnData = input.required(...(ngDevMode ? [{ debugName: \"columnData\" }] : []));\n this.queryData = model.required(...(ngDevMode ? [{ debugName: \"queryData\" }] : []));\n this.onValueChanged = output();\n this.selectBoxRef = viewChild('reRender', ...(ngDevMode ? [{ debugName: \"selectBoxRef\" }] : []));\n this.selectedItem = signal(null, ...(ngDevMode ? [{ debugName: \"selectedItem\" }] : []));\n this.ds = new AXDataSource({\n load: async (e) => {\n return {\n items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.operators[this.selectedItem().type].length,\n };\n },\n key: 'id',\n pageSize: 20,\n });\n this.operators = {\n string: [\n 'Starts With',\n 'Does Not Start With',\n 'Ends With',\n 'Does Not End With',\n 'Contains',\n 'Does Not Contain',\n 'Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Empty',\n 'Is Not Empty',\n 'Is Null',\n 'Is Not Null',\n ],\n boolean: ['Equal', 'Not Equal'],\n number: [\n 'Equal',\n 'Greater Than Or Equal',\n 'Greater Than',\n 'Between',\n 'Less Than',\n 'Not Between',\n 'Less Than Or Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Null',\n 'Is Not Null',\n ],\n date: [\n 'Equal',\n 'Greater Than',\n 'Greater Than Or Equal',\n 'Less Than',\n 'Less Than Or Equal',\n 'Not Equal',\n 'Between',\n 'Not Between',\n ],\n };\n this.#eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #eff;\n conditionHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.condition = e.data;\n return copy;\n });\n }\n columnDataHandler(e, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.label = selectedItem.label;\n find.field = selectedItem.field;\n find.type = selectedItem.type;\n if (selectedItem.values)\n find.inputValues = selectedItem.values;\n return copy;\n });\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n operatorDataHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.operator = e.value;\n return copy;\n });\n }\n recursiveFind(array, predicate, nestedKey) {\n for (const item of array) {\n if (predicate(item)) {\n return item;\n }\n if (Array.isArray(item[nestedKey])) {\n const found = this.recursiveFind(item[nestedKey], predicate, nestedKey);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n recursiveRemove(array, predicate, nestedKey) {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey])\n ? this.recursiveRemove(item[nestedKey], predicate, nestedKey)\n : item[nestedKey],\n }));\n }\n addRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n });\n return copy;\n });\n }\n addGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n condition: 'and',\n rules: [{ id: Math.random() }],\n });\n return copy;\n });\n }\n booleanValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.target.value;\n return copy;\n });\n }\n stringValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n numberValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n dateValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n removeGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n removeRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n trackById(_, item) {\n return item.id;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXQueryBuilderComponent, isStandalone: true, selector: \"ax-query-builder\", inputs: { columnData: { classPropertyName: \"columnData\", publicName: \"columnData\", isSignal: true, isRequired: true, transformFunction: null }, queryData: { classPropertyName: \"queryData\", publicName: \"queryData\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { queryData: \"queryDataChange\", onValueChanged: \"onValueChanged\" }, providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }], viewQueries: [{ propertyName: \"selectBoxRef\", first: true, predicate: [\"reRender\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@for (item of queryData(); track trackById(i, item); let i = $index) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: item, index: i }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n}\\n\\n<ng-template #query let-item let-index=\\\"index\\\">\\n @if (item.condition) {\\n <div class=\\\"ax-recursive-container\\\">\\n <div class=\\\"ax-add-condition-container\\\">\\n <ax-button-group\\n selection=\\\"single\\\"\\n (selectedButtonChange)=\\\"conditionHandler($event, item)\\\"\\n color=\\\"primary\\\"\\n class=\\\"ax-sm\\\"\\n >\\n <ax-button-group-item data=\\\"and\\\" [selected]=\\\"item.condition === 'and'\\\" text=\\\"And\\\"> </ax-button-group-item>\\n <ax-button-group-item data=\\\"or\\\" [selected]=\\\"item.condition === 'or'\\\" text=\\\"Or\\\"> </ax-button-group-item>\\n </ax-button-group>\\n <ax-button\\n (onClick)=\\\"addRulesHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Rules\\\"\\n ></ax-button>\\n <ax-button\\n (onClick)=\\\"addGroupHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Group\\\"\\n ></ax-button>\\n @if (index !== 0) {\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"removeGroupHandler(item)\\\" class=\\\"ax-sm\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n }\\n </div>\\n\\n @for (child of item.rules; track trackById($index, child)) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n }\\n </div>\\n } @else {\\n <div class=\\\"ax-rules-container\\\">\\n <div class=\\\"ax-input-rules-container\\\">\\n <ax-select-box\\n (onValueChanged)=\\\"columnDataHandler($event, item)\\\"\\n valueField=\\\"field\\\"\\n textField=\\\"label\\\"\\n [dataSource]=\\\"columnData()\\\"\\n placeholder=\\\"Select Field\\\"\\n >\\n </ax-select-box>\\n\\n <ax-select-box\\n #reRender\\n [disabled]=\\\"!item.field\\\"\\n name=\\\"selectBoxOperator\\\"\\n (onValueChanged)=\\\"operatorDataHandler($event, item)\\\"\\n [dataSource]=\\\"ds\\\"\\n placeholder=\\\"Select Operator\\\"\\n >\\n </ax-select-box>\\n\\n @switch (item.type) {\\n @case ('boolean') {\\n <div class=\\\"ax-boolean-value-input-container\\\">\\n @for (boolean of item.inputValues; track $index) {\\n <label>{{ boolean }}</label>\\n <input name=\\\"same\\\" [value]=\\\"boolean\\\" (input)=\\\"booleanValueHandler($event, item)\\\" type=\\\"radio\\\" />\\n }\\n </div>\\n }\\n @case ('string') {\\n <ax-text-box (onValueChanged)=\\\"stringValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-text-box>\\n }\\n @case ('number') {\\n <ax-number-box (onValueChanged)=\\\"numberValueHandler($event, item)\\\"></ax-number-box>\\n }\\n @case ('date') {\\n <ax-datetime-box format=\\\"yyyy/MM/dd\\\" (onValueChanged)=\\\"dateValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-datetime-box>\\n }\\n }\\n </div>\\n <ax-button (onClick)=\\\"removeRulesHandler(item)\\\" look=\\\"blank\\\" class=\\\"ax-md\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n </div>\\n }\\n</ng-template>\\n\", styles: [\"ax-query-builder{border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);padding:1rem;width:100%;display:block}ax-query-builder .ax-add-condition-container{display:flex;gap:.5rem;margin-block:.5rem}ax-query-builder .ax-recursive-container{border-inline-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding-inline-start:1rem}ax-query-builder .ax-rules-container{display:flex;align-items:center;margin-block:.5rem}ax-query-builder .ax-rules-container .ax-input-rules-container{display:flex;align-items:center;gap:.5rem;width:100%}ax-query-builder .ax-rules-container:not(:last-child){margin-bottom:.5rem}ax-query-builder .ax-boolean-value-input-container{display:flex;gap:.5rem;align-items:center}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXButtonGroupComponent, selector: \"ax-button-group\", inputs: [\"disabled\", \"color\", \"look\", \"selection\"], outputs: [\"onBlur\", \"onFocus\", \"lookChange\", \"colorChange\", \"disabledChange\", \"onClick\", \"selectionChange\", \"selectedButtonChange\"] }, { kind: \"component\", type: AXButtonGroupItemComponent, selector: \"ax-button-group-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"component\", type: AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"component\", type: AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: AXNumberBoxComponent, selector: \"ax-number-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"type\", \"changeOnScroll\", \"allDigits\", \"thousandsSeparator\", \"padDecimalZeros\", \"step\", \"decimals\", \"decimalStep\", \"showSpinButtons\", \"minValue\", \"maxValue\", \"class\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"component\", type: AXDateTimeBoxComponent, selector: \"ax-datetime-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"depth\", \"id\", \"type\", \"look\", \"holidayDates\", \"allowTyping\", \"calendar\", \"picker\", \"format\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"onOpened\", \"onClosed\", \"readonlyChange\", \"disabledChange\", \"formatChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-query-builder', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ], providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }], template: \"@for (item of queryData(); track trackById(i, item); let i = $index) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: item, index: i }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n}\\n\\n<ng-template #query let-item let-index=\\\"index\\\">\\n @if (item.condition) {\\n <div class=\\\"ax-recursive-container\\\">\\n <div class=\\\"ax-add-condition-container\\\">\\n <ax-button-group\\n selection=\\\"single\\\"\\n (selectedButtonChange)=\\\"conditionHandler($event, item)\\\"\\n color=\\\"primary\\\"\\n class=\\\"ax-sm\\\"\\n >\\n <ax-button-group-item data=\\\"and\\\" [selected]=\\\"item.condition === 'and'\\\" text=\\\"And\\\"> </ax-button-group-item>\\n <ax-button-group-item data=\\\"or\\\" [selected]=\\\"item.condition === 'or'\\\" text=\\\"Or\\\"> </ax-button-group-item>\\n </ax-button-group>\\n <ax-button\\n (onClick)=\\\"addRulesHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Rules\\\"\\n ></ax-button>\\n <ax-button\\n (onClick)=\\\"addGroupHandler(item)\\\"\\n class=\\\"ax-sm\\\"\\n color=\\\"primary\\\"\\n look=\\\"blank\\\"\\n text=\\\"Add Group\\\"\\n ></ax-button>\\n @if (index !== 0) {\\n <ax-button look=\\\"blank\\\" (onClick)=\\\"removeGroupHandler(item)\\\" class=\\\"ax-sm\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n }\\n </div>\\n\\n @for (child of item.rules; track trackById($index, child)) {\\n <ng-container [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\" [ngTemplateOutlet]=\\\"query\\\"> </ng-container>\\n }\\n </div>\\n } @else {\\n <div class=\\\"ax-rules-container\\\">\\n <div class=\\\"ax-input-rules-container\\\">\\n <ax-select-box\\n (onValueChanged)=\\\"columnDataHandler($event, item)\\\"\\n valueField=\\\"field\\\"\\n textField=\\\"label\\\"\\n [dataSource]=\\\"columnData()\\\"\\n placeholder=\\\"Select Field\\\"\\n >\\n </ax-select-box>\\n\\n <ax-select-box\\n #reRender\\n [disabled]=\\\"!item.field\\\"\\n name=\\\"selectBoxOperator\\\"\\n (onValueChanged)=\\\"operatorDataHandler($event, item)\\\"\\n [dataSource]=\\\"ds\\\"\\n placeholder=\\\"Select Operator\\\"\\n >\\n </ax-select-box>\\n\\n @switch (item.type) {\\n @case ('boolean') {\\n <div class=\\\"ax-boolean-value-input-container\\\">\\n @for (boolean of item.inputValues; track $index) {\\n <label>{{ boolean }}</label>\\n <input name=\\\"same\\\" [value]=\\\"boolean\\\" (input)=\\\"booleanValueHandler($event, item)\\\" type=\\\"radio\\\" />\\n }\\n </div>\\n }\\n @case ('string') {\\n <ax-text-box (onValueChanged)=\\\"stringValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-text-box>\\n }\\n @case ('number') {\\n <ax-number-box (onValueChanged)=\\\"numberValueHandler($event, item)\\\"></ax-number-box>\\n }\\n @case ('date') {\\n <ax-datetime-box format=\\\"yyyy/MM/dd\\\" (onValueChanged)=\\\"dateValueHandler($event, item)\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-datetime-box>\\n }\\n }\\n </div>\\n <ax-button (onClick)=\\\"removeRulesHandler(item)\\\" look=\\\"blank\\\" class=\\\"ax-md\\\" color=\\\"danger\\\">\\n <ax-icon icon=\\\"ax-icon ax-icon-trash\\\"></ax-icon>\\n </ax-button>\\n </div>\\n }\\n</ng-template>\\n\", styles: [\"ax-query-builder{border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-radius:var(--ax-sys-border-radius);padding:1rem;width:100%;display:block}ax-query-builder .ax-add-condition-container{display:flex;gap:.5rem;margin-block:.5rem}ax-query-builder .ax-recursive-container{border-inline-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding-inline-start:1rem}ax-query-builder .ax-rules-container{display:flex;align-items:center;margin-block:.5rem}ax-query-builder .ax-rules-container .ax-input-rules-container{display:flex;align-items:center;gap:.5rem;width:100%}ax-query-builder .ax-rules-container:not(:last-child){margin-bottom:.5rem}ax-query-builder .ax-boolean-value-input-container{display:flex;gap:.5rem;align-items:center}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvc3JjL2xpYi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcXVlcnktYnVpbGRlci9zcmMvbGliL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQXNCdkIsTUFBTSxPQUFPLHVCQUF1QjtJQXBCcEM7UUFxQkUsZUFBVSxHQUFHLEtBQUssQ0FB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Q0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0UsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsU0FBUyxDQUFDLENBQVMsRUFBRSxJQUFTO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOzhHQTlNVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixpYUFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsb0pDdkM3RSxxaEhBOEZBLDZ6QkRsRUksZ0JBQWdCLG9KQUNoQixzQkFBc0IscVBBQ3RCLDBCQUEwQiw0TUFDMUIsaUJBQWlCLDJVQUNqQix3QkFBd0Isc0VBQ3hCLG9CQUFvQix5bUJBQ3BCLGtCQUFrQixrWUFDbEIsK0JBQStCLDhFQUMvQixvQkFBb0IsZ2VBQ3BCLHNCQUFzQjs7MkZBSWIsdUJBQXVCO2tCQXBCbkMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLCtCQUErQjt3QkFDL0Isb0JBQW9CO3dCQUNwQixzQkFBc0I7cUJBQ3ZCLGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyx5QkFBeUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb21wb25lbnQsIEFYRGF0YVNvdXJjZSwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhCdXR0b25Hcm91cENvbXBvbmVudCwgQVhCdXR0b25Hcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94JztcbmltcG9ydCB7IEFYRGVjb3JhdG9yQ2xlYXJCdXR0b25Db21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTnVtYmVyQm94Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gnO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1xdWVyeS1idWlsZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBWEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEFYQnV0dG9uR3JvdXBJdGVtQ29tcG9uZW50LFxuICAgIEFYQnV0dG9uQ29tcG9uZW50LFxuICAgIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCxcbiAgICBBWFNlbGVjdEJveENvbXBvbmVudCxcbiAgICBBWFRleHRCb3hDb21wb25lbnQsXG4gICAgQVhEZWNvcmF0b3JDbGVhckJ1dHRvbkNvbXBvbmVudCxcbiAgICBBWE51bWJlckJveENvbXBvbmVudCxcbiAgICBBWERhdGVUaW1lQm94Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhRdWVyeUJ1aWxkZXJDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyQ29tcG9uZW50IHtcbiAgY29sdW1uRGF0YSA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xuICBxdWVyeURhdGEgPSBtb2RlbC5yZXF1aXJlZDxhbnlbXT4oKTtcbiAgb25WYWx1ZUNoYW5nZWQgPSBvdXRwdXQ8YW55W10+KCk7XG4gIHByb3RlY3RlZCBzZWxlY3RCb3hSZWYgPSB2aWV3Q2hpbGQ8QVhTZWxlY3RCb3hDb21wb25lbnQ+KCdyZVJlbmRlcicpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRJdGVtID0gc2lnbmFsPGFueT4obnVsbCk7XG5cbiAgZHMgPSBuZXcgQVhEYXRhU291cmNlKHtcbiAgICBsb2FkOiBhc3luYyAoZSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXRlbXM6IHRoaXMub3BlcmF0b3JzW3RoaXMuc2VsZWN0ZWRJdGVtKCkudHlwZV0uc2xpY2UoZS5za2lwLCAoZS5za2lwID8/IDApICsgKGUudGFrZSA/PyAwKSksXG4gICAgICAgIHRvdGFsOiB0aGlzLm9wZXJhdG9yc1t0aGlzLnNlbGVjdGVkSXRlbSgpLnR5cGVdLmxlbmd0aCxcbiAgICAgIH07XG4gICAgfSxcbiAgICBrZXk6ICdpZCcsXG4gICAgcGFnZVNpemU6IDIwLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgb3BlcmF0b3JzID0ge1xuICAgIHN0cmluZzogW1xuICAgICAgJ1N0YXJ0cyBXaXRoJyxcbiAgICAgICdEb2VzIE5vdCBTdGFydCBXaXRoJyxcbiAgICAgICdFbmRzIFdpdGgnLFxuICAgICAgJ0RvZXMgTm90IEVuZCBXaXRoJyxcbiAgICAgICdDb250YWlucycsXG4gICAgICAnRG9lcyBOb3QgQ29udGFpbicsXG4gICAgICAnRXF1YWwnLFxuICAgICAgJ05vdCBFcXVhbCcsXG4gICAgICAnSW4nLFxuICAgICAgJ05vdCBJbicsXG4gICAgICAnSXMgRW1wdHknLFxuICAgICAgJ0lzIE5vdCBFbXB0eScsXG4gICAgICAnSXMgTnVsbCcsXG4gICAgICAnSXMgTm90IE51bGwnLFxuICAgIF0sXG4gICAgYm9vbGVhbjogWydFcXVhbCcsICdOb3QgRXF1YWwnXSxcbiAgICBudW1iZXI6IFtcbiAgICAgICdFcXVhbCcsXG4gICAgICAnR3JlYXRlciBUaGFuIE9yIEVxdWFsJyxcbiAgICAgICdHcmVhdGVyIFRoYW4nLFxuICAgICAgJ0JldHdlZW4nLFxuICAgICAgJ0xlc3MgVGhhbicsXG4gICAgICAnTm90IEJldHdlZW4nLFxuICAgICAgJ0xlc3MgVGhhbiBPciBFcXVhbCcsXG4gICAgICAnTm90IEVxdWFsJyxcbiAgICAgICdJbicsXG4gICAgICAnTm90IEluJyxcbiAgICAgICdJcyBOdWxsJyxcbiAgICAgICdJcyBOb3QgTnVsbCcsXG4gICAgXSxcbiAgICBkYXRlOiBbXG4gICAgICAnRXF1YWwnLFxuICAgICAgJ0dyZWF0ZXIgVGhhbicsXG4gICAgICAnR3JlYXRlciBUaGFuIE9yIEVxdWFsJyxcbiAgICAgICdMZXNzIFRoYW4nLFxuICAgICAgJ0xlc3MgVGhhbiBPciBFcXVhbCcsXG4gICAgICAnTm90IEVxdWFsJyxcbiAgICAgICdCZXR3ZWVuJyxcbiAgICAgICdOb3QgQmV0d2VlbicsXG4gICAgXSxcbiAgfTtcblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQodGhpcy5xdWVyeURhdGEoKSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBjb25kaXRpb25IYW5kbGVyKGU6IEFYQnV0dG9uR3JvdXBJdGVtQ29tcG9uZW50LCBpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLmNvbmRpdGlvbiA9IGUuZGF0YTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbHVtbkRhdGFIYW5kbGVyKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55PiwgaSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldChpKTtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBlLmNvbXBvbmVudC5zZWxlY3RlZEl0ZW1zWzBdO1xuXG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLmxhYmVsID0gc2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgZmluZC5maWVsZCA9IHNlbGVjdGVkSXRlbS5maWVsZDtcbiAgICAgIGZpbmQudHlwZSA9IHNlbGVjdGVkSXRlbS50eXBlO1xuICAgICAgaWYgKHNlbGVjdGVkSXRlbS52YWx1ZXMpIGZpbmQuaW5wdXRWYWx1ZXMgPSBzZWxlY3RlZEl0ZW0udmFsdWVzO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdEJveFJlZigpLnJlZnJlc2goKTtcbiAgICB0aGlzLnNlbGVjdEJveFJlZigpLnJlc2V0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlcmF0b3JEYXRhSGFuZGxlcihlLCBpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLm9wZXJhdG9yID0gZS52YWx1ZTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWN1cnNpdmVGaW5kKGFycmF5LCBwcmVkaWNhdGUsIG5lc3RlZEtleSkge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnJheSkge1xuICAgICAgaWYgKHByZWRpY2F0ZShpdGVtKSkge1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1bbmVzdGVkS2V5XSkpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnJlY3Vyc2l2ZUZpbmQoaXRlbVtuZXN0ZWRLZXldLCBwcmVkaWNhdGUsIG5lc3RlZEtleSk7XG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVjdXJzaXZlUmVtb3ZlKGFycmF5OiBhbnlbXSwgcHJlZGljYXRlOiAoaXRlbTogYW55KSA9PiBib29sZWFuLCBuZXN0ZWRLZXk6IHN0cmluZyk6IGFueVtdIHtcbiAgICByZXR1cm4gYXJyYXlcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFwcmVkaWNhdGUoaXRlbSkpXG4gICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBbbmVzdGVkS2V5XTogQXJyYXkuaXNBcnJheShpdGVtW25lc3RlZEtleV0pXG4gICAgICAgICAgPyB0aGlzLnJlY3Vyc2l2ZVJlbW92ZShpdGVtW25lc3RlZEtleV0sIHByZWRpY2F0ZSwgbmVzdGVkS2V5KVxuICAgICAgICAgIDogaXRlbVtuZXN0ZWRLZXldLFxuICAgICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFJ1bGVzSGFuZGxlcihpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLnJ1bGVzLnB1c2goe1xuICAgICAgICBpZDogTWF0aC5yYW5kb20oKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWRkR3JvdXBIYW5kbGVyKGkpIHtcbiAgICB0aGlzLnF1ZXJ5RGF0YS51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl07XG4gICAgICBjb25zdCBmaW5kID0gdGhpcy5yZWN1cnNpdmVGaW5kKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIGZpbmQucnVsZXMucHVzaCh7XG4gICAgICAgIGlkOiBNYXRoLnJhbmRvbSgpLFxuICAgICAgICBjb25kaXRpb246ICdhbmQnLFxuICAgICAgICBydWxlczogW3sgaWQ6IE1hdGgucmFuZG9tKCkgfV0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJvb2xlYW5WYWx1ZUhhbmRsZXIoZSwgaSkge1xuICAgIHRoaXMucXVlcnlEYXRhLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XTtcbiAgICAgIGNvbnN0IGZpbmQgPSB0aGlzLnJlY3Vyc2l2ZUZpbmQoY29weSwgKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGkuaWQsICdydWxlcycpO1xuICAgICAgZmluZC52YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RyaW5nVmFsdWVIYW5kbGVyKGUsIGkpIHtcbiAgICB0aGlzLnF1ZXJ5RGF0YS51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl07XG4gICAgICBjb25zdCBmaW5kID0gdGhpcy5yZWN1cnNpdmVGaW5kKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIGZpbmQudmFsdWUgPSBlLnZhbHVlO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbnVtYmVyVmFsdWVIYW5kbGVyKGUsIGkpIHtcbiAgICB0aGlzLnF1ZXJ5RGF0YS51cGRhdGUoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl07XG4gICAgICBjb25zdCBmaW5kID0gdGhpcy5yZWN1cnNpdmVGaW5kKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIGZpbmQudmFsdWUgPSBlLnZhbHVlO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGF0ZVZhbHVlSGFuZGxlcihlLCBpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmluZCA9IHRoaXMucmVjdXJzaXZlRmluZChjb3B5LCAoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaS5pZCwgJ3J1bGVzJyk7XG4gICAgICBmaW5kLnZhbHVlID0gZS52YWx1ZTtcbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUdyb3VwSGFuZGxlcihpKSB7XG4gICAgdGhpcy5xdWVyeURhdGEudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdO1xuICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5yZWN1cnNpdmVSZW1vdmUoY29weSwgKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGkuaWQsICdydWxlcycpO1xuICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVSdWxlc0hhbmRsZXIoaSkge1xuICAgIHRoaXMucXVlcnlEYXRhLnVwZGF0ZSgocHJldikgPT4ge1xuICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XTtcbiAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMucmVjdXJzaXZlUmVtb3ZlKGNvcHksIChpdGVtKSA9PiBpdGVtLmlkID09PSBpLmlkLCAncnVsZXMnKTtcbiAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tCeUlkKF86IG51bWJlciwgaXRlbTogYW55KTogbnVtYmVyIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxufVxuIiwiQGZvciAoaXRlbSBvZiBxdWVyeURhdGEoKTsgdHJhY2sgdHJhY2tCeUlkKGksIGl0ZW0pOyBsZXQgaSA9ICRpbmRleCkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGkgfVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInF1ZXJ5XCI+IDwvbmctY29udGFpbmVyPlxufVxuXG48bmctdGVtcGxhdGUgI3F1ZXJ5IGxldC1pdGVtIGxldC1pbmRleD1cImluZGV4XCI+XG4gIEBpZiAoaXRlbS5jb25kaXRpb24pIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmVjdXJzaXZlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWFkZC1jb25kaXRpb24tY29udGFpbmVyXCI+XG4gICAgICAgIDxheC1idXR0b24tZ3JvdXBcbiAgICAgICAgICBzZWxlY3Rpb249XCJzaW5nbGVcIlxuICAgICAgICAgIChzZWxlY3RlZEJ1dHRvbkNoYW5nZSk9XCJjb25kaXRpb25IYW5kbGVyKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtYnV0dG9uLWdyb3VwLWl0ZW0gZGF0YT1cImFuZFwiIFtzZWxlY3RlZF09XCJpdGVtLmNvbmRpdGlvbiA9PT0gJ2FuZCdcIiB0ZXh0PVwiQW5kXCI+IDwvYXgtYnV0dG9uLWdyb3VwLWl0ZW0+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1ncm91cC1pdGVtIGRhdGE9XCJvclwiIFtzZWxlY3RlZF09XCJpdGVtLmNvbmRpdGlvbiA9PT0gJ29yJ1wiIHRleHQ9XCJPclwiPiA8L2F4LWJ1dHRvbi1ncm91cC1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1ncm91cD5cbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIChvbkNsaWNrKT1cImFkZFJ1bGVzSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICBsb29rPVwiYmxhbmtcIlxuICAgICAgICAgIHRleHQ9XCJBZGQgUnVsZXNcIlxuICAgICAgICA+PC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAob25DbGljayk9XCJhZGRHcm91cEhhbmRsZXIoaXRlbSlcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgICAgICB0ZXh0PVwiQWRkIEdyb3VwXCJcbiAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICBAaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwiYmxhbmtcIiAob25DbGljayk9XCJyZW1vdmVHcm91cEhhbmRsZXIoaXRlbSlcIiBjbGFzcz1cImF4LXNtXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tdHJhc2hcIj48L2F4LWljb24+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAZm9yIChjaGlsZCBvZiBpdGVtLnJ1bGVzOyB0cmFjayB0cmFja0J5SWQoJGluZGV4LCBjaGlsZCkpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJxdWVyeVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LXJ1bGVzLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWlucHV0LXJ1bGVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJjb2x1bW5EYXRhSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiZmllbGRcIlxuICAgICAgICAgIHRleHRGaWVsZD1cImxhYmVsXCJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJjb2x1bW5EYXRhKClcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEZpZWxkXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG5cbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAjcmVSZW5kZXJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWl0ZW0uZmllbGRcIlxuICAgICAgICAgIG5hbWU9XCJzZWxlY3RCb3hPcGVyYXRvclwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIm9wZXJhdG9yRGF0YUhhbmRsZXIoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZHNcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IE9wZXJhdG9yXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG5cbiAgICAgICAgQHN3aXRjaCAoaXRlbS50eXBlKSB7XG4gICAgICAgICAgQGNhc2UgKCdib29sZWFuJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWJvb2xlYW4tdmFsdWUtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIEBmb3IgKGJvb2xlYW4gb2YgaXRlbS5pbnB1dFZhbHVlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7IGJvb2xlYW4gfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwic2FtZVwiIFt2YWx1ZV09XCJib29sZWFuXCIgKGlucHV0KT1cImJvb2xlYW5WYWx1ZUhhbmRsZXIoJGV2ZW50LCBpdGVtKVwiIHR5cGU9XCJyYWRpb1wiIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ3N0cmluZycpIHtcbiAgICAgICAgICAgIDxheC10ZXh0LWJveCAob25WYWx1ZUNoYW5nZWQpPVwic3RyaW5nVmFsdWVIYW5kbGVyKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlICgnbnVtYmVyJykge1xuICAgICAgICAgICAgPGF4LW51bWJlci1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cIm51bWJlclZhbHVlSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCI+PC9heC1udW1iZXItYm94PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ2RhdGUnKSB7XG4gICAgICAgICAgICA8YXgtZGF0ZXRpbWUtYm94IGZvcm1hdD1cInl5eXkvTU0vZGRcIiAob25WYWx1ZUNoYW5nZWQpPVwiZGF0ZVZhbHVlSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgICAgICA8L2F4LWRhdGV0aW1lLWJveD5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGF4LWJ1dHRvbiAob25DbGljayk9XCJyZW1vdmVSdWxlc0hhbmRsZXIoaXRlbSlcIiBsb29rPVwiYmxhbmtcIiBjbGFzcz1cImF4LW1kXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljb24gYXgtaWNvbi10cmFzaFwiPjwvYXgtaWNvbj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXQueryBuilderComponent } from './query-builder.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXQueryBuilderComponent];\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\nexport class AXQueryBuilderModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, imports: [AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule, AXQueryBuilderComponent], exports: [AXQueryBuilderComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXQueryBuilderModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvc3JjL2xpYi9xdWVyeS1idWlsZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVwRSxNQUFNLFNBQVMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFNUMsTUFBTSxPQUFPLEdBQUc7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsWUFBWTtDQUNiLENBQUM7QUFPRixNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQWYvQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsWUFBWSxFQVZLLHVCQUF1QixhQUF2Qix1QkFBdUI7K0dBa0I3QixvQkFBb0IsWUFKbEIsT0FBTyxFQUFLLFNBQVM7OzJGQUl2QixvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkdyb3VwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBBWERhdGVUaW1lQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGV0aW1lLWJveCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gnO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhRdWVyeUJ1aWxkZXJDb21wb25lbnRdO1xuXG5jb25zdCBNT0RVTEVTID0gW1xuICBBWEJ1dHRvbkdyb3VwTW9kdWxlLFxuICBBWERlY29yYXRvck1vZHVsZSxcbiAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gIEFYQnV0dG9uTW9kdWxlLFxuICBBWFRleHRCb3hNb2R1bGUsXG4gIEFYTnVtYmVyQm94TW9kdWxlLFxuICBBWERhdGVUaW1lQm94TW9kdWxlLFxuICBDb21tb25Nb2R1bGUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcXVlcnktYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvcXVlcnktYnVpbGRlci9zcmMvYWNvcmV4LWNvbXBvbmVudHMtcXVlcnktYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -8,8 +8,15 @@ import { Subject } from 'rxjs';
8
8
  class AXRailNavigationService {
9
9
  constructor() {
10
10
  this.activeItem = new Subject();
11
+ /**
12
+ * Observable that emits the currently active rail navigation item.
13
+ */
11
14
  this.activeItem$ = this.activeItem.asObservable();
12
15
  }
16
+ /**
17
+ * Sets the specified item as the active rail navigation item.
18
+ * @param item - The rail navigation item to set as active
19
+ */
13
20
  setActive(item) {
14
21
  this.activeItem.next(item);
15
22
  }
@@ -69,6 +76,10 @@ class AXRailNavigationItemComponent extends MXBaseComponent {
69
76
  nativeEvent: e,
70
77
  });
71
78
  }
79
+ /**
80
+ * Gets the height and top position of the item.
81
+ * @returns Object containing height and top position
82
+ */
72
83
  getStats() {
73
84
  return {
74
85
  height: this.getHostElement().clientHeight,