@acorex/components 19.11.0-next.2 → 19.11.0-next.3

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 (75) hide show
  1. package/autocomplete/README.md +3 -0
  2. package/autocomplete/index.d.ts +2 -0
  3. package/autocomplete/lib/autocomplete.component.d.ts +113 -0
  4. package/autocomplete/lib/autocomplete.module.d.ts +7 -0
  5. package/common/lib/classes/components.class.d.ts +14 -1
  6. package/data-table/lib/columns/row-select-column.component.d.ts +8 -7
  7. package/dropdown/lib/dropdown-box.component.d.ts +2 -1
  8. package/dropdown/lib/dropdown-panel.component.d.ts +3 -1
  9. package/dropdown-button/lib/dropdown-button.component.d.ts +1 -1
  10. package/fesm2022/acorex-components-autocomplete.mjs +317 -0
  11. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -0
  12. package/fesm2022/acorex-components-color-box.mjs +1 -1
  13. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  14. package/fesm2022/acorex-components-common.mjs +650 -610
  15. package/fesm2022/acorex-components-common.mjs.map +1 -1
  16. package/fesm2022/acorex-components-conversation.mjs +2 -2
  17. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  18. package/fesm2022/acorex-components-data-pager.mjs +13 -16
  19. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  20. package/fesm2022/acorex-components-data-table.mjs +52 -29
  21. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  22. package/fesm2022/acorex-components-datetime-box.mjs +1 -1
  23. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  24. package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
  25. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  26. package/fesm2022/acorex-components-dropdown.mjs +12 -4
  27. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  28. package/fesm2022/acorex-components-grid-layout-builder.mjs +122 -507
  29. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  30. package/fesm2022/acorex-components-image-editor.mjs +303 -172
  31. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  32. package/fesm2022/acorex-components-loading.mjs +2 -2
  33. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  34. package/fesm2022/acorex-components-map.mjs +6 -16
  35. package/fesm2022/acorex-components-map.mjs.map +1 -1
  36. package/fesm2022/acorex-components-media-viewer.mjs +2 -2
  37. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  38. package/fesm2022/acorex-components-query-builder.mjs +19 -8
  39. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  40. package/fesm2022/acorex-components-scheduler.mjs +1 -1
  41. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  42. package/fesm2022/acorex-components-select-box.mjs +1 -1
  43. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  44. package/fesm2022/acorex-components-tag-box.mjs +121 -0
  45. package/fesm2022/acorex-components-tag-box.mjs.map +1 -0
  46. package/fesm2022/acorex-components-tag.mjs +2 -2
  47. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  48. package/fesm2022/acorex-components-text-box.mjs +2 -2
  49. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  50. package/grid-layout-builder/index.d.ts +0 -1
  51. package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +1 -2
  52. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +34 -188
  53. package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +4 -56
  54. package/grid-layout-builder/lib/types.d.ts +8 -12
  55. package/image-editor/index.d.ts +7 -2
  56. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +4 -1
  57. package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +3 -8
  58. package/image-editor/lib/image-editor-tools/image-editor-header/image-editor-header.component.d.ts +12 -0
  59. package/image-editor/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.d.ts +18 -0
  60. package/image-editor/lib/image-editor-tools/image-editor-history/image-editor-history.component.d.ts +13 -0
  61. package/image-editor/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.d.ts +18 -0
  62. package/image-editor/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.d.ts +16 -0
  63. package/image-editor/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.d.ts +12 -0
  64. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +7 -1
  65. package/image-editor/lib/image-editor.module.d.ts +10 -6
  66. package/image-editor/lib/image-editor.service.d.ts +6 -10
  67. package/package.json +9 -1
  68. package/query-builder/lib/query-builder.component.d.ts +5 -2
  69. package/tag-box/README.md +3 -0
  70. package/tag-box/index.d.ts +2 -0
  71. package/tag-box/lib/tag-box.component.d.ts +30 -0
  72. package/tag-box/lib/tag-box.module.d.ts +7 -0
  73. package/grid-layout-builder/lib/grid-layout-widget.directive.d.ts +0 -106
  74. package/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.d.ts +0 -17
  75. package/image-editor/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.d.ts +0 -34
@@ -1,5 +1,6 @@
1
1
  import { AXButtonComponent, AXButtonModule } from '@acorex/components/button';
2
2
  import { AXButtonGroupComponent, AXButtonGroupItemComponent, AXButtonGroupModule } from '@acorex/components/button-group';
3
+ import { AXDataSource } from '@acorex/components/common';
3
4
  import { AXDateTimeBoxComponent, AXDateTimeBoxModule } from '@acorex/components/datetime-box';
4
5
  import { AXDecoratorIconComponent, AXDecoratorClearButtonComponent, AXDecoratorModule } from '@acorex/components/decorators';
5
6
  import { AXNumberBoxComponent, AXNumberBoxModule } from '@acorex/components/number-box';
@@ -7,14 +8,25 @@ import { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/sele
7
8
  import { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/text-box';
8
9
  import { NgFor, NgTemplateOutlet, CommonModule } from '@angular/common';
9
10
  import * as i0 from '@angular/core';
10
- import { signal, input, model, output, effect, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
11
+ import { input, model, output, viewChild, signal, effect, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
11
12
 
12
13
  class AXQueryBuilderComponent {
13
14
  constructor() {
14
- this.reRender = signal(true);
15
15
  this.columnData = input.required();
16
16
  this.queryData = model.required();
17
17
  this.onValueChanged = output();
18
+ this.selectBoxRef = viewChild('reRender');
19
+ this.selectedItem = signal(null);
20
+ this.ds = new AXDataSource({
21
+ load: async (e) => {
22
+ return {
23
+ items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),
24
+ total: this.operators[this.selectedItem().type].length,
25
+ };
26
+ },
27
+ key: 'id',
28
+ pageSize: 20,
29
+ });
18
30
  this.operators = {
19
31
  string: [
20
32
  'Starts With',
@@ -63,6 +75,7 @@ class AXQueryBuilderComponent {
63
75
  });
64
76
  }
65
77
  columnDataHandler(e, i) {
78
+ this.selectedItem.set(i);
66
79
  const selectedItem = e.component.selectedItems[0];
67
80
  this.queryData.update((prev) => {
68
81
  const copy = [...prev];
@@ -74,10 +87,8 @@ class AXQueryBuilderComponent {
74
87
  find.inputValues = selectedItem.values;
75
88
  return copy;
76
89
  });
77
- this.reRender.set(false);
78
- setTimeout(() => {
79
- this.reRender.set(true);
80
- });
90
+ this.selectBoxRef().refresh();
91
+ this.selectBoxRef().reset();
81
92
  }
82
93
  operatorDataHandler(e, i) {
83
94
  this.queryData.update((prev) => {
@@ -181,7 +192,7 @@ class AXQueryBuilderComponent {
181
192
  return item.id;
182
193
  }
183
194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
184
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.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" }, ngImport: i0, template: "<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\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 selection=\"single\" (selectedButtonChange)=\"conditionHandler($event, item)\" color=\"primary\" class=\"ax-sm\">\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 (onClick)=\"addRulesHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Rules\"></ax-button>\n <ax-button (onClick)=\"addGroupHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Group\"></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 <ng-container *ngFor=\"let child of item.rules; trackBy: trackById\" [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\">\n </ng-container>\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 @if (reRender()) {\n <ax-select-box\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"operators[item.type] || []\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n }\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: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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", "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", "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", "changeOnScroll", "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", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.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" }, viewQueries: [{ propertyName: "selectBoxRef", first: true, predicate: ["reRender"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\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 selection=\"single\" (selectedButtonChange)=\"conditionHandler($event, item)\" color=\"primary\" class=\"ax-sm\">\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 (onClick)=\"addRulesHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Rules\"></ax-button>\n <ax-button (onClick)=\"addGroupHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Group\"></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 <ng-container *ngFor=\"let child of item.rules; trackBy: trackById\" [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\">\n </ng-container>\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: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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", "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", "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", "changeOnScroll", "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", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
185
196
  }
186
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{
187
198
  type: Component,
@@ -197,7 +208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
197
208
  AXDecoratorClearButtonComponent,
198
209
  AXNumberBoxComponent,
199
210
  AXDateTimeBoxComponent,
200
- ], template: "<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\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 selection=\"single\" (selectedButtonChange)=\"conditionHandler($event, item)\" color=\"primary\" class=\"ax-sm\">\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 (onClick)=\"addRulesHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Rules\"></ax-button>\n <ax-button (onClick)=\"addGroupHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Group\"></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 <ng-container *ngFor=\"let child of item.rules; trackBy: trackById\" [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\">\n </ng-container>\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 @if (reRender()) {\n <ax-select-box\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"operators[item.type] || []\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n }\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"] }]
211
+ ], template: "<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\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 selection=\"single\" (selectedButtonChange)=\"conditionHandler($event, item)\" color=\"primary\" class=\"ax-sm\">\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 (onClick)=\"addRulesHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Rules\"></ax-button>\n <ax-button (onClick)=\"addGroupHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Group\"></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 <ng-container *ngFor=\"let child of item.rules; trackBy: trackById\" [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\">\n </ng-container>\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"] }]
201
212
  }] });
202
213
 
203
214
  const COMPONENT = [AXQueryBuilderComponent];
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-query-builder.mjs","sources":["../../../../libs/components/query-builder/src/lib/query-builder.component.ts","../../../../libs/components/query-builder/src/lib/query-builder.component.html","../../../../libs/components/query-builder/src/lib/query-builder.module.ts","../../../../libs/components/query-builder/src/acorex-components-query-builder.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXValueChangedEvent } from '@acorex/components/common';\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 { NgFor, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, output, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgFor,\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ],\n})\nexport class AXQueryBuilderComponent {\n protected reRender = signal(true);\n\n columnData = input.required<any[]>();\n queryData = model.required<any[]>();\n onValueChanged = output<any[]>();\n\n protected 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: ['Equal', 'Greater Than', 'Greater Than Or Equal', 'Less Than', 'Less Than Or Equal', 'Not Equal', 'Between', 'Not Between'],\n };\n\n #eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n });\n\n protected conditionHandler(e: AXButtonGroupItemComponent, 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\n protected columnDataHandler(e: AXValueChangedEvent<any>, i) {\n const selectedItem = e.component.selectedItems[0];\n\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) find.inputValues = selectedItem.values;\n return copy;\n });\n\n this.reRender.set(false);\n setTimeout(() => {\n this.reRender.set(true);\n });\n }\n\n protected 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\n private 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\n private recursiveRemove(array: any[], predicate: (item: any) => boolean, nestedKey: string): any[] {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey]) ? this.recursiveRemove(item[nestedKey], predicate, nestedKey) : item[nestedKey],\n }));\n }\n\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected trackById(_: number, item: any): number {\n return item.id;\n }\n}\n","<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\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 selection=\"single\" (selectedButtonChange)=\"conditionHandler($event, item)\" color=\"primary\" class=\"ax-sm\">\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 (onClick)=\"addRulesHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Rules\"></ax-button>\n <ax-button (onClick)=\"addGroupHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Group\"></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 <ng-container *ngFor=\"let child of item.rules; trackBy: trackById\" [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\">\n </ng-container>\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 @if (reRender()) {\n <ax-select-box\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"operators[item.type] || []\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n }\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","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';\n\nconst COMPONENT = [AXQueryBuilderComponent];\n\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXQueryBuilderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MA+Ba,uBAAuB,CAAA;AApBpC,IAAA,WAAA,GAAA;AAqBY,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;AAEjC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAS;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAS;QACnC,IAAc,CAAA,cAAA,GAAG,MAAM,EAAS;AAEtB,QAAA,IAAA,CAAA,SAAS,GAAG;AACpB,YAAA,MAAM,EAAE;gBACN,aAAa;gBACb,qBAAqB;gBACrB,WAAW;gBACX,mBAAmB;gBACnB,UAAU;gBACV,kBAAkB;gBAClB,OAAO;gBACP,WAAW;gBACX,IAAI;gBACJ,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,SAAS;gBACT,aAAa;AACd,aAAA;AACD,YAAA,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;AAC/B,YAAA,MAAM,EAAE;gBACN,OAAO;gBACP,uBAAuB;gBACvB,cAAc;gBACd,SAAS;gBACT,WAAW;gBACX,aAAa;gBACb,oBAAoB;gBACpB,WAAW;gBACX,IAAI;gBACJ,QAAQ;gBACR,SAAS;gBACT,aAAa;AACd,aAAA;AACD,YAAA,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC;SACnI;AAED,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAK;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAC5C,SAAC,CAAC;AA8IH;AAhJC,IAAA,IAAI;IAIM,gBAAgB,CAAC,CAA6B,EAAE,CAAC,EAAA;QACzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI;AACvB,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;IAGM,iBAAiB,CAAC,CAA2B,EAAE,CAAC,EAAA;QACxD,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK;AAC/B,YAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK;AAC/B,YAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI;YAC7B,IAAI,YAAY,CAAC,MAAM;AAAE,gBAAA,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM;AAC/D,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,SAAC,CAAC;;IAGM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAA;QAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK;AACvB,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;AAGI,IAAA,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAA;AAC/C,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;AACnB,gBAAA,OAAO,IAAI;;YAEb,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;AAClC,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;gBACvE,IAAI,KAAK,EAAE;AACT,oBAAA,OAAO,KAAK;;;;AAIlB,QAAA,OAAO,IAAI;;AAGL,IAAA,eAAe,CAAC,KAAY,EAAE,SAAiC,EAAE,SAAiB,EAAA;AACxF,QAAA,OAAO;aACJ,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;AACjC,aAAA,GAAG,CAAC,CAAC,IAAI,MAAM;AACd,YAAA,GAAG,IAAI;AACP,YAAA,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5H,SAAA,CAAC,CAAC;;AAGG,IAAA,eAAe,CAAC,CAAC,EAAA;QACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACd,gBAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;AAClB,aAAA,CAAC;AACF,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;AAGM,IAAA,eAAe,CAAC,CAAC,EAAA;QACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACd,gBAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;AACjB,gBAAA,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAC/B,aAAA,CAAC;AACF,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;IAGM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAA;QAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;YAC1E,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;AAC3B,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;IAGM,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AACpB,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;IAGM,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AACpB,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;IAGM,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAA;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC1E,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AACpB,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;AAGM,IAAA,kBAAkB,CAAC,CAAC,EAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC9E,YAAA,OAAO,MAAM;AACf,SAAC,CAAC;;AAGM,IAAA,kBAAkB,CAAC,CAAC,EAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;AAC9E,YAAA,OAAO,MAAM;AACf,SAAC,CAAC;;IAGM,SAAS,CAAC,CAAS,EAAE,IAAS,EAAA;QACtC,OAAO,IAAI,CAAC,EAAE;;8GAxLL,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BpC,24GAgFA,ED9DI,MAAA,EAAA,CAAA,qwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,KAAK,mHACL,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,iBAAiB,EACjB,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,kYAClB,+BAA+B,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC/B,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGb,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBApBnC,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,KAAK;wBACL,gBAAgB;wBAChB,sBAAsB;wBACtB,0BAA0B;wBAC1B,iBAAiB;wBACjB,wBAAwB;wBACxB,oBAAoB;wBACpB,kBAAkB;wBAClB,+BAA+B;wBAC/B,oBAAoB;wBACpB,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,24GAAA,EAAA,MAAA,EAAA,CAAA,qwBAAA,CAAA,EAAA;;;AElBH,MAAM,SAAS,GAAG,CAAC,uBAAuB,CAAC;AAE3C,MAAM,OAAO,GAAG;IACd,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,YAAY;CACb;MAOY,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAf/B,mBAAmB;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,cAAc;YACd,eAAe;YACf,iBAAiB;YACjB,mBAAmB;YACnB,YAAY,EAVK,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;+GAkB7B,oBAAoB,EAAA,OAAA,EAAA,CAJlB,OAAO,EAAK,SAAS,CAAA,EAAA,CAAA,CAAA;;2FAIvB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AC5BD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-query-builder.mjs","sources":["../../../../libs/components/query-builder/src/lib/query-builder.component.ts","../../../../libs/components/query-builder/src/lib/query-builder.component.html","../../../../libs/components/query-builder/src/lib/query-builder.module.ts","../../../../libs/components/query-builder/src/acorex-components-query-builder.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\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 { NgFor, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, output, signal, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgFor,\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ],\n})\nexport class AXQueryBuilderComponent {\n columnData = input.required<any[]>();\n queryData = model.required<any[]>();\n onValueChanged = output<any[]>();\n protected selectBoxRef = viewChild<AXSelectBoxComponent>('reRender');\n protected selectedItem = signal<any>(null);\n\n 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\n protected 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: ['Equal', 'Greater Than', 'Greater Than Or Equal', 'Less Than', 'Less Than Or Equal', 'Not Equal', 'Between', 'Not Between'],\n };\n\n #eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n });\n\n protected conditionHandler(e: AXButtonGroupItemComponent, 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\n protected columnDataHandler(e: AXValueChangedEvent<any>, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n\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) find.inputValues = selectedItem.values;\n return copy;\n });\n\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n\n protected 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\n private 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\n private recursiveRemove(array: any[], predicate: (item: any) => boolean, nestedKey: string): any[] {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey]) ? this.recursiveRemove(item[nestedKey], predicate, nestedKey) : item[nestedKey],\n }));\n }\n\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected 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\n protected trackById(_: number, item: any): number {\n return item.id;\n }\n}\n","<ng-container\n *ngFor=\"let item of queryData(); let i = index; trackBy: trackById\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n [ngTemplateOutlet]=\"query\"\n>\n</ng-container>\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 selection=\"single\" (selectedButtonChange)=\"conditionHandler($event, item)\" color=\"primary\" class=\"ax-sm\">\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 (onClick)=\"addRulesHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Rules\"></ax-button>\n <ax-button (onClick)=\"addGroupHandler(item)\" class=\"ax-sm\" color=\"primary\" look=\"blank\" text=\"Add Group\"></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 <ng-container *ngFor=\"let child of item.rules; trackBy: trackById\" [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\">\n </ng-container>\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","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';\n\nconst COMPONENT = [AXQueryBuilderComponent];\n\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXQueryBuilderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ class AXSchedulerComponent extends MXBaseComponent {
122
122
  this.current = this.current.add('month', -1);
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXSchedulerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXSchedulerComponent, isStandalone: true, selector: "ax-scheduler", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-h-full ax-flex-col\">\n <div class=\"scheduler-header\">\n <p>\n {{ current.format('MMMM yyyy') }}\n </p>\n <div class=\"scheduler-actions\">\n <div class=\"ax-flex ax-items-center ax-gap-0.5 ax-rounded-md ax-border ax-px-1\">\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handlePrevClick()\">\n <ax-icon class=\"fa-solid fa-chevron-left\"> </ax-icon>\n </button>\n <ng-container *ngIf=\"_size === 'SM'; else elseTemplate\">\n <span class=\"ax-text-secondary-200\">|</span>\n </ng-container>\n <ng-template #elseTemplate>\n <ax-button look=\"blank\" class=\"ax-sm\" text=\"Today\"> </ax-button>\n </ng-template>\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handleNextClick()\">\n <ax-icon class=\"fa-solid fa-chevron-right\"> </ax-icon>\n </button>\n </div>\n <ax-button [text]=\"_size === 'SM' ? '' : 'Week View'\" class=\"! ax-border\">\n <ax-suffix>\n <ax-icon\n [class]=\"\n _size === 'SM'\n ? 'fa-solid fa-ellipsis-vertical'\n : 'fa-solid fa-chevron-down ax-text-secondary-400'\n \"\n >\n </ax-icon>\n </ax-suffix>\n <ax-dropdown-panel (onItemClick)=\"handleOnItemClick()\" [adaptivityEnabled]=\"true\">\n <ax-button-item\n *ngIf=\"_size === 'SM' || _size === 'MD'\"\n text=\"Add Event\"\n name=\"text\"\n [divided]=\"true\"\n color=\"primary\"\n >\n </ax-button-item>\n <ax-button-item *ngIf=\"_size === 'SM'\" text=\"Go to Today\" name=\"text\" [divided]=\"true\">\n </ax-button-item>\n <ax-button-item text=\"Day View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Week View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Month View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Year View\" name=\"text\"> </ax-button-item>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <ax-button color=\"primary\" text=\"Add Event\" class=\"ax-hidden lg:ax-block\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-plus\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n <ax-scheduler-month-view [date]=\"current\"></ax-scheduler-month-view>\n <!-- <ax-scheduler-week-view></ax-scheduler-week-view> -->\n</div>\n", styles: ["ax-scheduler{height:100%;display:block;border-width:1px;border-radius:.75rem;background-color:rgba(var(--ax-sys-color-secondary-100));overflow:hidden}ax-scheduler .scheduler-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom-width:1px}ax-scheduler .scheduler-header p{margin:0;font-size:1rem;font-weight:500}ax-scheduler .scheduler-actions{display:flex;gap:.75rem}ax-scheduler ax-scheduler-month-view{display:flex;flex-direction:column;flex:1 1 auto}ax-scheduler ax-scheduler-month-view .mobile-task:hover ax-button{opacity:1}\n"], dependencies: [{ kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: AXSchedulerMonthViewComponent, selector: "ax-scheduler-month-view", inputs: ["date"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXSchedulerComponent, isStandalone: true, selector: "ax-scheduler", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-h-full ax-flex-col\">\n <div class=\"scheduler-header\">\n <p>\n {{ current.format('MMMM yyyy') }}\n </p>\n <div class=\"scheduler-actions\">\n <div class=\"ax-flex ax-items-center ax-gap-0.5 ax-rounded-md ax-border ax-px-1\">\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handlePrevClick()\">\n <ax-icon class=\"fa-solid fa-chevron-left\"> </ax-icon>\n </button>\n <ng-container *ngIf=\"_size === 'SM'; else elseTemplate\">\n <span class=\"ax-text-secondary-200\">|</span>\n </ng-container>\n <ng-template #elseTemplate>\n <ax-button look=\"blank\" class=\"ax-sm\" text=\"Today\"> </ax-button>\n </ng-template>\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handleNextClick()\">\n <ax-icon class=\"fa-solid fa-chevron-right\"> </ax-icon>\n </button>\n </div>\n <ax-button [text]=\"_size === 'SM' ? '' : 'Week View'\" class=\"! ax-border\">\n <ax-suffix>\n <ax-icon\n [class]=\"\n _size === 'SM'\n ? 'fa-solid fa-ellipsis-vertical'\n : 'fa-solid fa-chevron-down ax-text-secondary-400'\n \"\n >\n </ax-icon>\n </ax-suffix>\n <ax-dropdown-panel (onItemClick)=\"handleOnItemClick()\" [adaptivityEnabled]=\"true\">\n <ax-button-item\n *ngIf=\"_size === 'SM' || _size === 'MD'\"\n text=\"Add Event\"\n name=\"text\"\n [divided]=\"true\"\n color=\"primary\"\n >\n </ax-button-item>\n <ax-button-item *ngIf=\"_size === 'SM'\" text=\"Go to Today\" name=\"text\" [divided]=\"true\">\n </ax-button-item>\n <ax-button-item text=\"Day View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Week View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Month View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Year View\" name=\"text\"> </ax-button-item>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <ax-button color=\"primary\" text=\"Add Event\" class=\"ax-hidden lg:ax-block\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-plus\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n <ax-scheduler-month-view [date]=\"current\"></ax-scheduler-month-view>\n <!-- <ax-scheduler-week-view></ax-scheduler-week-view> -->\n</div>\n", styles: ["ax-scheduler{height:100%;display:block;border-width:1px;border-radius:.75rem;background-color:rgba(var(--ax-sys-color-secondary-100));overflow:hidden}ax-scheduler .scheduler-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom-width:1px}ax-scheduler .scheduler-header p{margin:0;font-size:1rem;font-weight:500}ax-scheduler .scheduler-actions{display:flex;gap:.75rem}ax-scheduler ax-scheduler-month-view{display:flex;flex-direction:column;flex:1 1 auto}ax-scheduler ax-scheduler-month-view .mobile-task:hover ax-button{opacity:1}\n"], dependencies: [{ kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: AXSchedulerMonthViewComponent, selector: "ax-scheduler-month-view", inputs: ["date"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXSchedulerComponent, decorators: [{
128
128
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-scheduler.mjs","sources":["../../../../libs/components/scheduler/src/lib/scheduler-month-view.component.ts","../../../../libs/components/scheduler/src/lib/scheduler-month-view.component.html","../../../../libs/components/scheduler/src/lib/scheduler-week-view.component.ts","../../../../libs/components/scheduler/src/lib/scheduler-week-view.component.html","../../../../libs/components/scheduler/src/lib/scheduler.component.ts","../../../../libs/components/scheduler/src/lib/scheduler.component.html","../../../../libs/components/scheduler/src/lib/scheduler.module.ts","../../../../libs/components/scheduler/src/acorex-components-scheduler.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { NgClass, NgFor, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';\n\n/**\n * @category\n * Represents a view in the scheduler component that displays the calendar month.\n */\n@Component({\n selector: 'ax-scheduler-month-view',\n templateUrl: './scheduler-month-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgFor, NgClass, NgIf, AXDecoratorIconComponent, AXButtonComponent],\n})\nexport class AXSchedulerMonthViewComponent extends MXBaseComponent {\n /** @ignore */\n private _platform = inject(AXPlatform);\n\n /** @ignore */\n protected _slots: {\n date: AXDateTime;\n cssClass: { [key: string]: boolean };\n isToday: boolean;\n }[] = [];\n\n /** @ignore */\n protected get dayNames(): string[] {\n return this._platform.is('SM') ? [] : [];\n }\n\n /** @ignore */\n private _date: AXDateTime;\n\n /**\n * Gets or sets the date for the scheduler view.\n */\n @Input()\n public get date(): AXDateTime {\n return this._date;\n }\n\n /**\n * Sets the date for the scheduler view and triggers the generation of time slots.\n * @param {AXDateTime} v\n */\n public set date(v: AXDateTime) {\n this._date = v;\n this.generateSlots();\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n this.generateSlots();\n this._platform.resize.subscribe((c) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Generates slots for the scheduler, including CSS classes for days outside the current month\n * and a flag for the current day.\n */\n generateSlots() {\n const startDate = this.date.startOf('month').startOf('week');\n const endDate = this.date.endOf('month').endOf('week');\n const range = new AXDateTimeRange(startDate, endDate).enumurate('day');\n this._slots = range.map((c: AXDateTime) => ({\n date: c,\n cssClass: {\n '!ax-bg-secondary-100': c.monthOfYear != this.date.monthOfYear,\n },\n isToday: c.dayOfYear == this.date.dayOfYear,\n }));\n }\n}\n","<!-- <div class=\"ax-flex ax-flex-col ax-flex-auto ax-shadow-md\"> -->\n<div class=\"ax-grid ax-w-full ax-grid-cols-7 ax-gap-[1px] ax-border-b ax-bg-secondary-200\">\n <ng-container *ngFor=\"let item of dayNames\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-bg-white ax-py-2 ax-font-medium\">\n {{ item }}\n </div>\n </ng-container>\n</div>\n<div class=\"ax-flex ax-flex-auto ax-bg-secondary-200\">\n <div class=\"ax-grid ax-w-full ax-grid-cols-7 ax-gap-[1px]\">\n <ng-container *ngFor=\"let item of _slots\">\n <div\n class=\"ax-flex ax-cursor-pointer ax-flex-col ax-justify-between ax-bg-white ax-px-3 ax-py-2 hover:ax-bg-secondary-100\"\n [ngClass]=\"item.cssClass\"\n >\n <time\n class=\"ax-flex ax-h-6 ax-w-6 ax-items-center ax-justify-center ax-rounded-full ax-text-sm\"\n [class.ax-bg-primary-500]=\"item.isToday\"\n [class.ax-text-white]=\"item.isToday\"\n datetime=\"item.date.format('dd')\"\n >{{ item.date.format('d') }}</time\n >\n <ol class=\"ax-mt-2 ax-hidden ax-flex-col ax-gap-1 lg:ax-flex\">\n <li *ngIf=\"item.date.dayOfMonth % 6 === 0\">\n <a\n href=\"#\"\n class=\"ax-text-primary-fore ax-flex ax-justify-between ax-rounded ax-bg-primary-500 ax-px-2 ax-py-1 ax-text-sm\"\n >\n <p class=\"ax-text-sm\">Launch Time</p>\n <time class=\"ax-ms-3\" datetime=\"item.date.format('HH A')\">\n {{ item.date.format('hh A') }}\n </time>\n </a>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 5 === 0\">\n <a\n href=\"#\"\n class=\"ax-text-success-fore ax-flex ax-justify-between ax-rounded ax-bg-success-500 ax-px-2 ax-py-1 ax-text-sm\"\n >\n <p class=\"ax-text-sm\">Daily meeting</p>\n <time class=\"ax-ms-3\" datetime=\"item.date.format('HH A')\">\n {{ item.date.format('hh A') }}\n </time>\n </a>\n </li>\n </ol>\n <ol class=\"ax-flex ax-gap-1 ax-self-center md:ax-hidden\">\n <li *ngIf=\"item.date.dayOfMonth % 5 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-primary-500 lg:ax-hidden\"></span>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 6 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-danger-500 lg:ax-hidden\"></span>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 8 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-warning-500 lg:ax-hidden\"></span>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 3 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-success-500 lg:ax-hidden\"></span>\n </li>\n </ol>\n </div>\n </ng-container>\n </div>\n</div>\n<!-- </div> -->\n<div class=\"ax-p-4 lg:ax-hidden\">\n <ol class=\"ax-flex ax-cursor-pointer ax-flex-col ax-divide-y ax-overflow-hidden ax-rounded-lg ax-border\">\n <li class=\"mobile-task ax-flex ax-items-start ax-justify-between ax-p-4 hover:ax-bg-secondary-100\">\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <p class=\"ax-font-medium\">Daily Meeting at the Office</p>\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-clock ax-text-secondary-400\"></ax-icon>\n <p class=\"ax-text-sm\">3 PM</p>\n </div>\n </div>\n <ax-button text=\"Edit\" class=\"! ax-border ax-opacity-0 ax-sm\"></ax-button>\n </li>\n </ol>\n</div>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category\n * This component renders the weekly view for the scheduler.\n */\n@Component({\n selector: 'ax-scheduler-week-view',\n templateUrl: './scheduler-week-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXSchedulerWeekViewComponent extends MXBaseComponent {}\n","<div class=\"ax-flex ax-flex-col ax-flex-auto ax-isolate ax-overflow-auto ax-bg-white\">\n <div class=\"ax-flex ax-flex-col ax-max-w-full\">\n <div class=\"ax-shadow-md ax-pr-8 ax-z-30 ax-sticky ax-top-0\">\n <div class=\"ax-grid ax-leading-6 ax-border-r ax-grid-cols-7\">\n <div class=\"ax-w-14 ax-col-end-1\"></div>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-l ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium\">\n Mon 10\n </div>\n </div>\n </div>\n <div class=\"ax-flex ax-flex-auto\">\n <div class=\"ax-w-14 ax-z-10 ax-sticky ax-left-0 ax-bg-white ax-shadow\"></div>\n <div class=\"ax-grid ax-flex-auto ax-grid-cols-1 ax-grid-rows-1\">\n <div class=\"ax-grid ax-col-start-1 ax-col-end-2 ax-row-start-1\"\n style=\"grid-template-rows: repeat(45, minmax(3.5rem, 1fr))\">\n <div class=\"ax-row-end-1 ax-h-7\"></div>\n <div class=\"ax-border-t ax-border-b\">\n <div class=\"ax-leading-5 ax-text-right ax-w-14 -ax-mt-[0.625rem] -ax-ml-14 ax-sticky ax-left-0\">\n </div>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-rows-1 ax-grid-cols-7 ax-row-start-1 ax-col-end-2 ax-col-start-1\">\n <div class=\"ax-col-start-1 ax-row-start-1 ax-row-end-[-1]\"></div>\n <div class=\"ax-col-start-2 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-3 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-4 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-5 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-6 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-7 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-8 ax-row-start-1 ax-row-end-[-1] ax-border-l ax-w-8\"></div>\n </div>\n <ol class=\"ax-grid ax-pr-8 ax-grid-cols-7 ax-row-start-1 ax-col-end-2 ax-col-start-2\"\n style=\"grid-template-rows: 1.75rem repeat(288, minmax(0px, 1fr)) auto\"></ol>\n </div>\n </div>\n </div>\n</div>","import { AXButtonComponent, AXButtonItemComponent } from '@acorex/components/button';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXPlatform, AXScreenSizes } from '@acorex/core/platform';\nimport { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXSchedulerMonthViewComponent } from './scheduler-month-view.component';\n\n/**\n * @category\n * This component provides the main scheduler functionality, integrating various views and handling scheduling operations.\n */\n@Component({\n selector: 'ax-scheduler',\n templateUrl: './scheduler.component.html',\n styleUrls: ['./scheduler.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXDecoratorIconComponent,\n NgIf,\n AXButtonComponent,\n AXDecoratorGenericComponent,\n AXDropdownPanelComponent,\n AXButtonItemComponent,\n AXSchedulerMonthViewComponent,\n ],\n})\nexport class AXSchedulerComponent extends MXBaseComponent {\n /** @ignore */\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n /** @ignore */\n protected _platform: AXPlatform = inject(AXPlatform);\n\n /** @ignore */\n protected current: AXDateTime = this._calendarService.now();\n\n /** @ignore */\n protected _size: AXScreenSizes;\n\n handleOnItemClick() {}\n\n /** @ignore */\n override ngOnInit(): void {\n super.ngOnInit();\n this.detectSize();\n this._platform.resize.subscribe(() => {\n this.detectSize();\n super.cdr.markForCheck();\n });\n }\n\n /** @ignore */\n private detectSize() {\n this._size = this._platform.screenSize;\n }\n\n /** @ignore */\n _handleNextClick() {\n this.current = this.current.add('month', 1);\n }\n\n /** @ignore */\n _handlePrevClick() {\n this.current = this.current.add('month', -1);\n }\n}\n","<div class=\"ax-flex ax-h-full ax-flex-col\">\n <div class=\"scheduler-header\">\n <p>\n {{ current.format('MMMM yyyy') }}\n </p>\n <div class=\"scheduler-actions\">\n <div class=\"ax-flex ax-items-center ax-gap-0.5 ax-rounded-md ax-border ax-px-1\">\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handlePrevClick()\">\n <ax-icon class=\"fa-solid fa-chevron-left\"> </ax-icon>\n </button>\n <ng-container *ngIf=\"_size === 'SM'; else elseTemplate\">\n <span class=\"ax-text-secondary-200\">|</span>\n </ng-container>\n <ng-template #elseTemplate>\n <ax-button look=\"blank\" class=\"ax-sm\" text=\"Today\"> </ax-button>\n </ng-template>\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handleNextClick()\">\n <ax-icon class=\"fa-solid fa-chevron-right\"> </ax-icon>\n </button>\n </div>\n <ax-button [text]=\"_size === 'SM' ? '' : 'Week View'\" class=\"! ax-border\">\n <ax-suffix>\n <ax-icon\n [class]=\"\n _size === 'SM'\n ? 'fa-solid fa-ellipsis-vertical'\n : 'fa-solid fa-chevron-down ax-text-secondary-400'\n \"\n >\n </ax-icon>\n </ax-suffix>\n <ax-dropdown-panel (onItemClick)=\"handleOnItemClick()\" [adaptivityEnabled]=\"true\">\n <ax-button-item\n *ngIf=\"_size === 'SM' || _size === 'MD'\"\n text=\"Add Event\"\n name=\"text\"\n [divided]=\"true\"\n color=\"primary\"\n >\n </ax-button-item>\n <ax-button-item *ngIf=\"_size === 'SM'\" text=\"Go to Today\" name=\"text\" [divided]=\"true\">\n </ax-button-item>\n <ax-button-item text=\"Day View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Week View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Month View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Year View\" name=\"text\"> </ax-button-item>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <ax-button color=\"primary\" text=\"Add Event\" class=\"ax-hidden lg:ax-block\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-plus\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n <ax-scheduler-month-view [date]=\"current\"></ax-scheduler-month-view>\n <!-- <ax-scheduler-week-view></ax-scheduler-week-view> -->\n</div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXSchedulerMonthViewComponent } from './scheduler-month-view.component';\nimport { AXSchedulerWeekViewComponent } from './scheduler-week-view.component';\nimport { AXSchedulerComponent } from './scheduler.component';\n\nconst COMPONENT = [AXSchedulerComponent, AXSchedulerMonthViewComponent, AXSchedulerWeekViewComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXDateTimeModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSchedulerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-scheduler.mjs","sources":["../../../../libs/components/scheduler/src/lib/scheduler-month-view.component.ts","../../../../libs/components/scheduler/src/lib/scheduler-month-view.component.html","../../../../libs/components/scheduler/src/lib/scheduler-week-view.component.ts","../../../../libs/components/scheduler/src/lib/scheduler-week-view.component.html","../../../../libs/components/scheduler/src/lib/scheduler.component.ts","../../../../libs/components/scheduler/src/lib/scheduler.component.html","../../../../libs/components/scheduler/src/lib/scheduler.module.ts","../../../../libs/components/scheduler/src/acorex-components-scheduler.ts"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { NgClass, NgFor, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';\n\n/**\n * @category\n * Represents a view in the scheduler component that displays the calendar month.\n */\n@Component({\n selector: 'ax-scheduler-month-view',\n templateUrl: './scheduler-month-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgFor, NgClass, NgIf, AXDecoratorIconComponent, AXButtonComponent],\n})\nexport class AXSchedulerMonthViewComponent extends MXBaseComponent {\n /** @ignore */\n private _platform = inject(AXPlatform);\n\n /** @ignore */\n protected _slots: {\n date: AXDateTime;\n cssClass: { [key: string]: boolean };\n isToday: boolean;\n }[] = [];\n\n /** @ignore */\n protected get dayNames(): string[] {\n return this._platform.is('SM') ? [] : [];\n }\n\n /** @ignore */\n private _date: AXDateTime;\n\n /**\n * Gets or sets the date for the scheduler view.\n */\n @Input()\n public get date(): AXDateTime {\n return this._date;\n }\n\n /**\n * Sets the date for the scheduler view and triggers the generation of time slots.\n * @param {AXDateTime} v\n */\n public set date(v: AXDateTime) {\n this._date = v;\n this.generateSlots();\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n this.generateSlots();\n this._platform.resize.subscribe((c) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Generates slots for the scheduler, including CSS classes for days outside the current month\n * and a flag for the current day.\n */\n generateSlots() {\n const startDate = this.date.startOf('month').startOf('week');\n const endDate = this.date.endOf('month').endOf('week');\n const range = new AXDateTimeRange(startDate, endDate).enumurate('day');\n this._slots = range.map((c: AXDateTime) => ({\n date: c,\n cssClass: {\n '!ax-bg-secondary-100': c.monthOfYear != this.date.monthOfYear,\n },\n isToday: c.dayOfYear == this.date.dayOfYear,\n }));\n }\n}\n","<!-- <div class=\"ax-flex ax-flex-col ax-flex-auto ax-shadow-md\"> -->\n<div class=\"ax-grid ax-w-full ax-grid-cols-7 ax-gap-[1px] ax-border-b ax-bg-secondary-200\">\n <ng-container *ngFor=\"let item of dayNames\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-bg-white ax-py-2 ax-font-medium\">\n {{ item }}\n </div>\n </ng-container>\n</div>\n<div class=\"ax-flex ax-flex-auto ax-bg-secondary-200\">\n <div class=\"ax-grid ax-w-full ax-grid-cols-7 ax-gap-[1px]\">\n <ng-container *ngFor=\"let item of _slots\">\n <div\n class=\"ax-flex ax-cursor-pointer ax-flex-col ax-justify-between ax-bg-white ax-px-3 ax-py-2 hover:ax-bg-secondary-100\"\n [ngClass]=\"item.cssClass\"\n >\n <time\n class=\"ax-flex ax-h-6 ax-w-6 ax-items-center ax-justify-center ax-rounded-full ax-text-sm\"\n [class.ax-bg-primary-500]=\"item.isToday\"\n [class.ax-text-white]=\"item.isToday\"\n datetime=\"item.date.format('dd')\"\n >{{ item.date.format('d') }}</time\n >\n <ol class=\"ax-mt-2 ax-hidden ax-flex-col ax-gap-1 lg:ax-flex\">\n <li *ngIf=\"item.date.dayOfMonth % 6 === 0\">\n <a\n href=\"#\"\n class=\"ax-text-primary-fore ax-flex ax-justify-between ax-rounded ax-bg-primary-500 ax-px-2 ax-py-1 ax-text-sm\"\n >\n <p class=\"ax-text-sm\">Launch Time</p>\n <time class=\"ax-ms-3\" datetime=\"item.date.format('HH A')\">\n {{ item.date.format('hh A') }}\n </time>\n </a>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 5 === 0\">\n <a\n href=\"#\"\n class=\"ax-text-success-fore ax-flex ax-justify-between ax-rounded ax-bg-success-500 ax-px-2 ax-py-1 ax-text-sm\"\n >\n <p class=\"ax-text-sm\">Daily meeting</p>\n <time class=\"ax-ms-3\" datetime=\"item.date.format('HH A')\">\n {{ item.date.format('hh A') }}\n </time>\n </a>\n </li>\n </ol>\n <ol class=\"ax-flex ax-gap-1 ax-self-center md:ax-hidden\">\n <li *ngIf=\"item.date.dayOfMonth % 5 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-primary-500 lg:ax-hidden\"></span>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 6 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-danger-500 lg:ax-hidden\"></span>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 8 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-warning-500 lg:ax-hidden\"></span>\n </li>\n <li *ngIf=\"item.date.dayOfMonth % 3 === 0\">\n <span class=\"ax-flex ax-h-1.5 ax-w-1.5 ax-rounded-full ax-bg-success-500 lg:ax-hidden\"></span>\n </li>\n </ol>\n </div>\n </ng-container>\n </div>\n</div>\n<!-- </div> -->\n<div class=\"ax-p-4 lg:ax-hidden\">\n <ol class=\"ax-flex ax-cursor-pointer ax-flex-col ax-divide-y ax-overflow-hidden ax-rounded-lg ax-border\">\n <li class=\"mobile-task ax-flex ax-items-start ax-justify-between ax-p-4 hover:ax-bg-secondary-100\">\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <p class=\"ax-font-medium\">Daily Meeting at the Office</p>\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-clock ax-text-secondary-400\"></ax-icon>\n <p class=\"ax-text-sm\">3 PM</p>\n </div>\n </div>\n <ax-button text=\"Edit\" class=\"! ax-border ax-opacity-0 ax-sm\"></ax-button>\n </li>\n </ol>\n</div>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category\n * This component renders the weekly view for the scheduler.\n */\n@Component({\n selector: 'ax-scheduler-week-view',\n templateUrl: './scheduler-week-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXSchedulerWeekViewComponent extends MXBaseComponent {}\n","<div class=\"ax-flex ax-flex-col ax-flex-auto ax-isolate ax-overflow-auto ax-bg-white\">\n <div class=\"ax-flex ax-flex-col ax-max-w-full\">\n <div class=\"ax-shadow-md ax-pr-8 ax-z-30 ax-sticky ax-top-0\">\n <div class=\"ax-grid ax-leading-6 ax-border-r ax-grid-cols-7\">\n <div class=\"ax-w-14 ax-col-end-1\"></div>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-l ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium ax-border-r\">\n Mon 10\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-py-3 ax-bg-white ax-font-medium\">\n Mon 10\n </div>\n </div>\n </div>\n <div class=\"ax-flex ax-flex-auto\">\n <div class=\"ax-w-14 ax-z-10 ax-sticky ax-left-0 ax-bg-white ax-shadow\"></div>\n <div class=\"ax-grid ax-flex-auto ax-grid-cols-1 ax-grid-rows-1\">\n <div class=\"ax-grid ax-col-start-1 ax-col-end-2 ax-row-start-1\"\n style=\"grid-template-rows: repeat(45, minmax(3.5rem, 1fr))\">\n <div class=\"ax-row-end-1 ax-h-7\"></div>\n <div class=\"ax-border-t ax-border-b\">\n <div class=\"ax-leading-5 ax-text-right ax-w-14 -ax-mt-[0.625rem] -ax-ml-14 ax-sticky ax-left-0\">\n </div>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-rows-1 ax-grid-cols-7 ax-row-start-1 ax-col-end-2 ax-col-start-1\">\n <div class=\"ax-col-start-1 ax-row-start-1 ax-row-end-[-1]\"></div>\n <div class=\"ax-col-start-2 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-3 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-4 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-5 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-6 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-7 ax-row-start-1 ax-row-end-[-1] ax-border-l\"></div>\n <div class=\"ax-col-start-8 ax-row-start-1 ax-row-end-[-1] ax-border-l ax-w-8\"></div>\n </div>\n <ol class=\"ax-grid ax-pr-8 ax-grid-cols-7 ax-row-start-1 ax-col-end-2 ax-col-start-2\"\n style=\"grid-template-rows: 1.75rem repeat(288, minmax(0px, 1fr)) auto\"></ol>\n </div>\n </div>\n </div>\n</div>","import { AXButtonComponent, AXButtonItemComponent } from '@acorex/components/button';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXPlatform, AXScreenSizes } from '@acorex/core/platform';\nimport { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXSchedulerMonthViewComponent } from './scheduler-month-view.component';\n\n/**\n * @category\n * This component provides the main scheduler functionality, integrating various views and handling scheduling operations.\n */\n@Component({\n selector: 'ax-scheduler',\n templateUrl: './scheduler.component.html',\n styleUrls: ['./scheduler.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXDecoratorIconComponent,\n NgIf,\n AXButtonComponent,\n AXDecoratorGenericComponent,\n AXDropdownPanelComponent,\n AXButtonItemComponent,\n AXSchedulerMonthViewComponent,\n ],\n})\nexport class AXSchedulerComponent extends MXBaseComponent {\n /** @ignore */\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n /** @ignore */\n protected _platform: AXPlatform = inject(AXPlatform);\n\n /** @ignore */\n protected current: AXDateTime = this._calendarService.now();\n\n /** @ignore */\n protected _size: AXScreenSizes;\n\n handleOnItemClick() {}\n\n /** @ignore */\n override ngOnInit(): void {\n super.ngOnInit();\n this.detectSize();\n this._platform.resize.subscribe(() => {\n this.detectSize();\n super.cdr.markForCheck();\n });\n }\n\n /** @ignore */\n private detectSize() {\n this._size = this._platform.screenSize;\n }\n\n /** @ignore */\n _handleNextClick() {\n this.current = this.current.add('month', 1);\n }\n\n /** @ignore */\n _handlePrevClick() {\n this.current = this.current.add('month', -1);\n }\n}\n","<div class=\"ax-flex ax-h-full ax-flex-col\">\n <div class=\"scheduler-header\">\n <p>\n {{ current.format('MMMM yyyy') }}\n </p>\n <div class=\"scheduler-actions\">\n <div class=\"ax-flex ax-items-center ax-gap-0.5 ax-rounded-md ax-border ax-px-1\">\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handlePrevClick()\">\n <ax-icon class=\"fa-solid fa-chevron-left\"> </ax-icon>\n </button>\n <ng-container *ngIf=\"_size === 'SM'; else elseTemplate\">\n <span class=\"ax-text-secondary-200\">|</span>\n </ng-container>\n <ng-template #elseTemplate>\n <ax-button look=\"blank\" class=\"ax-sm\" text=\"Today\"> </ax-button>\n </ng-template>\n <button class=\"ax-h-8 ax-w-8 ax-rounded-md hover:ax-bg-secondary-100\" (click)=\"_handleNextClick()\">\n <ax-icon class=\"fa-solid fa-chevron-right\"> </ax-icon>\n </button>\n </div>\n <ax-button [text]=\"_size === 'SM' ? '' : 'Week View'\" class=\"! ax-border\">\n <ax-suffix>\n <ax-icon\n [class]=\"\n _size === 'SM'\n ? 'fa-solid fa-ellipsis-vertical'\n : 'fa-solid fa-chevron-down ax-text-secondary-400'\n \"\n >\n </ax-icon>\n </ax-suffix>\n <ax-dropdown-panel (onItemClick)=\"handleOnItemClick()\" [adaptivityEnabled]=\"true\">\n <ax-button-item\n *ngIf=\"_size === 'SM' || _size === 'MD'\"\n text=\"Add Event\"\n name=\"text\"\n [divided]=\"true\"\n color=\"primary\"\n >\n </ax-button-item>\n <ax-button-item *ngIf=\"_size === 'SM'\" text=\"Go to Today\" name=\"text\" [divided]=\"true\">\n </ax-button-item>\n <ax-button-item text=\"Day View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Week View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Month View\" name=\"text\"> </ax-button-item>\n <ax-button-item text=\"Year View\" name=\"text\"> </ax-button-item>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <ax-button color=\"primary\" text=\"Add Event\" class=\"ax-hidden lg:ax-block\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-plus\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n <ax-scheduler-month-view [date]=\"current\"></ax-scheduler-month-view>\n <!-- <ax-scheduler-week-view></ax-scheduler-week-view> -->\n</div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXSchedulerMonthViewComponent } from './scheduler-month-view.component';\nimport { AXSchedulerWeekViewComponent } from './scheduler-week-view.component';\nimport { AXSchedulerComponent } from './scheduler.component';\n\nconst COMPONENT = [AXSchedulerComponent, AXSchedulerMonthViewComponent, AXSchedulerWeekViewComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXDateTimeModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSchedulerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -296,7 +296,7 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
296
296
  useClass: MXSelectionBridgeService,
297
297
  },
298
298
  AXUnsubscriber,
299
- ], queries: [{ propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true }], viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box\r\n [class.ax-state-multiple]=\"multiple\"\r\n (onOpened)=\"_handleOnOpenedEvent($event)\"\r\n (onClosed)=\"_handleOnClosedEvent($event)\"\r\n (focus)=\"emitOnFocusEvent($event)\"\r\n (blur)=\"emitOnBlurEvent($event)\"\r\n [disabled]=\"disabled\"\r\n [look]=\"look\"\r\n>\r\n <ng-container input>\r\n <ng-content select=\"ax-prefix\"> </ng-content>\r\n <div class=\"ax-editor ax-chips-container ax-content ax-input\" [class.ax-state-multiple]=\"multiple\" [tabindex]=\"tabIndex\" (click)=\"toggle()\">\r\n @if (selectedItems.length === 0) {\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n @for (item of selectedItems; track $index) {\r\n @if (selectedTemplate) {\r\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data: item } }\"></ng-template>\r\n } @else {\r\n <div class=\"ax-chips\">\r\n {{ getDisplayText(item) }}\r\n @if (!disabled && !readonly && multiple) {\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n @if (selectedItems?.length && !disabled && !readonly) {\r\n <ng-content select=\"ax-clear-button\"></ng-content>\r\n }\r\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-button\" (click)=\"toggle()\">\r\n <span\r\n class=\"ax-icon\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': !isOpen,\r\n 'ax-icon-chevron-up': isOpen,\r\n }\"\r\n ></span>\r\n </button>\r\n <ng-content select=\"ax-suffix\"> </ng-content>\r\n <ng-template #search>\r\n <ng-content select=\"ax-search-box\"> </ng-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container panel>\r\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\r\n @if (dropdown.isActionsheetStyle) {\r\n <ax-header class=\"ax-solid\">\r\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\r\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n }\r\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\r\n <div class=\"ax-search-container\">\r\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\r\n </div>\r\n }\r\n @if (renderList) {\r\n <ax-list\r\n [readonly]=\"readonly\"\r\n [dataSource]=\"_listDataSource\"\r\n [multiple]=\"multiple\"\r\n [style.height]=\"dropdownSizes.height\"\r\n [valueField]=\"valueField\"\r\n [textField]=\"textField\"\r\n [textTemplate]=\"textTemplate\"\r\n [emptyTemplate]=\"emptyTemplate ?? empty\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [loadingTemplate]=\"loadingTemplate\"\r\n [ngModel]=\"value\"\r\n (onValueChanged)=\"_handleValueChanged($event)\"\r\n [selectionMode]=\"'item'\"\r\n >\r\n <ng-template #empty> {{ 'no-result-found' | translate | async }} </ng-template>\r\n </ax-list>\r\n }\r\n\r\n @if (isLoading()) {\r\n @if (loadingTemplate) {\r\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\r\n } @else {\r\n <div class=\"ax-select-box-loading-container\">\r\n <ax-loading></ax-loading>\r\n </div>\r\n }\r\n }\r\n\r\n <ng-content select=\"ax-footer\"> </ng-content>\r\n </div>\r\n </ng-container>\r\n</ax-dropdown-box>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n", styles: [".ax-editor-container.ax-fill .ax-chips{--ax-comp-select-box-chips-bg-color: var(--ax-sys-color-surfaceest);--ax-comp-select-box-chips-text-color: var(--ax-sys-color-on-surface-high)}.ax-editor-container.ax-flat .ax-chips,.ax-editor-container.ax-outline .ax-chips{--ax-comp-select-box-chips-bg-color: var(--ax-sys-color-surface);--ax-comp-select-box-chips-text-color: var(--ax-sys-color-on-surface-high)}.ax-editor-container.ax-solid .ax-chips{--ax-comp-select-box-chips-bg-color: var(--ax-sys-color-light-surface);--ax-comp-select-box-chips-text-color: var(--ax-sys-color-on-light-surface)}ax-select-box .ax-chips-container{outline:0px solid transparent}.ax-xs ax-select-box,ax-select-box.ax-xs{--ax-comp-select-box-chips-padding-x: .25rem;--ax-comp-select-box-chips-padding-y: .125rem;--ax-comp-select-box-chips-font-size: .625rem;--ax-comp-editor-placeholder-space-x: .375rem}.ax-sm ax-select-box,ax-select-box.ax-sm{--ax-comp-select-box-chips-padding-x: .25rem;--ax-comp-select-box-chips-padding-y: .125rem;--ax-comp-select-box-chips-font-size: .75rem;--ax-comp-editor-placeholder-space-x: .5rem}ax-select-box,ax-select-box.ax-md{--ax-comp-select-box-chips-padding-x: .5rem;--ax-comp-select-box-chips-padding-y: .25rem;--ax-comp-select-box-chips-font-size: .875rem;--ax-comp-editor-placeholder-space-x: .75rem}.ax-lg ax-select-box,ax-select-box.ax-lg{--ax-comp-select-box-chips-padding-x: .75rem;--ax-comp-select-box-chips-padding-y: .5rem;--ax-comp-select-box-chips-font-size: 1rem;--ax-comp-editor-placeholder-space-x: .75rem}.ax-xl ax-select-box,ax-select-box.ax-xl{--ax-comp-select-box-chips-padding-x: .875rem;--ax-comp-select-box-chips-padding-y: .75rem;--ax-comp-select-box-chips-font-size: 1.125rem;--ax-comp-editor-placeholder-space-x: .75rem}ax-select-box{display:block;width:100%;height:100%;border-radius:var(--ax-sys-border-radius)}ax-select-box .ax-state-disabled{opacity:.5;cursor:not-allowed}ax-select-box .ax-state-disabled .ax-content{cursor:not-allowed}ax-select-box .ax-state-disabled .ax-editor-button{cursor:not-allowed}ax-select-box ax-dropdown-box{border-radius:inherit!important}ax-select-box ax-dropdown-box.ax-state-multiple{height:auto;min-height:var(--ax-comp-editor-height);--ax-comp-editor-space-start-size: 0}ax-select-box ax-dropdown-box.ax-state-multiple .ax-placeholder{padding:0 var(--ax-comp-editor-placeholder-space-x)}ax-select-box .ax-chips-container{display:flex;flex:1 1 0%;cursor:pointer!important;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--ax-comp-select-box-chips-gap, .25rem);min-height:var(--ax-sys-size-base)}ax-select-box .ax-chips-container .ax-chips{display:flex;align-items:center;padding:0 var(--ax-comp-editor-padding-x, .25rem);color:rgb(var(--ax-comp-select-box-chips-text-color));font-size:var(--ax-comp-select-box-chips-font-size);line-height:normal}ax-select-box .ax-chips-container.ax-state-multiple .ax-chips{background-color:rgb(var(--ax-comp-select-box-chips-bg-color));border-radius:var(--ax-comp-select-box-chips-border-radius, 999rem);border-width:var(--ax-comp-select-box-chips-border-width, 0px);padding:var(--ax-comp-select-box-chips-padding-y, .25rem) var(--ax-comp-select-box-chips-padding-x, .5rem)}ax-select-box .ax-chips-container.ax-state-multiple .ax-chips .ax-icon-close{cursor:pointer;margin-inline-start:var(--ax-comp-select-box-chips-padding-x)}ax-select-box .ax-chips-container .ax-selectbox-input{width:0px;opacity:0}ax-select-box .ax-chips-container.ax-state-multiple:has(.ax-chips){padding:var(--ax-comp-select-box-chips-container-padding, .25rem)}.ax-select-box-panel{height:fit-content}.ax-select-box-panel .ax-select-box-loading-container{display:flex;align-items:center;justify-content:center;padding:1rem}.ax-select-box-panel>ax-header .ax-icon-check{color:rgba(var(--ax-sys-color-primary-500))}.ax-select-box-panel>ax-header.ax-solid{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-select-box-panel>ax-header.ax-solid ax-title{font-size:1rem;line-height:1.5rem;font-weight:500}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "component", type: AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "textTemplate", "disabledField", "multiple", "selectionMode", "dataSource", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readOnlyChange", "onBlur", "onFocus", "onItemClick", "onScrolledIndexChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
299
+ ], queries: [{ propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true }], viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box\r\n [class.ax-state-multiple]=\"multiple\"\r\n (onOpened)=\"_handleOnOpenedEvent($event)\"\r\n (onClosed)=\"_handleOnClosedEvent($event)\"\r\n (focus)=\"emitOnFocusEvent($event)\"\r\n (blur)=\"emitOnBlurEvent($event)\"\r\n [disabled]=\"disabled\"\r\n [look]=\"look\"\r\n>\r\n <ng-container input>\r\n <ng-content select=\"ax-prefix\"> </ng-content>\r\n <div class=\"ax-editor ax-chips-container ax-content ax-input\" [class.ax-state-multiple]=\"multiple\" [tabindex]=\"tabIndex\" (click)=\"toggle()\">\r\n @if (selectedItems.length === 0) {\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n @for (item of selectedItems; track $index) {\r\n @if (selectedTemplate) {\r\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data: item } }\"></ng-template>\r\n } @else {\r\n <div class=\"ax-chips\">\r\n {{ getDisplayText(item) }}\r\n @if (!disabled && !readonly && multiple) {\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n @if (selectedItems?.length && !disabled && !readonly) {\r\n <ng-content select=\"ax-clear-button\"></ng-content>\r\n }\r\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-button\" (click)=\"toggle()\">\r\n <span\r\n class=\"ax-icon\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': !isOpen,\r\n 'ax-icon-chevron-up': isOpen,\r\n }\"\r\n ></span>\r\n </button>\r\n <ng-content select=\"ax-suffix\"> </ng-content>\r\n <ng-template #search>\r\n <ng-content select=\"ax-search-box\"> </ng-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container panel>\r\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\r\n @if (dropdown.isActionsheetStyle) {\r\n <ax-header class=\"ax-solid\">\r\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\r\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n }\r\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\r\n <div class=\"ax-search-container\">\r\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\r\n </div>\r\n }\r\n @if (renderList) {\r\n <ax-list\r\n [readonly]=\"readonly\"\r\n [dataSource]=\"_listDataSource\"\r\n [multiple]=\"multiple\"\r\n [style.height]=\"dropdownSizes.height\"\r\n [valueField]=\"valueField\"\r\n [textField]=\"textField\"\r\n [textTemplate]=\"textTemplate\"\r\n [emptyTemplate]=\"emptyTemplate ?? empty\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [loadingTemplate]=\"loadingTemplate\"\r\n [ngModel]=\"value\"\r\n (onValueChanged)=\"_handleValueChanged($event)\"\r\n [selectionMode]=\"'item'\"\r\n >\r\n <ng-template #empty> {{ 'no-result-found' | translate | async }} </ng-template>\r\n </ax-list>\r\n }\r\n\r\n @if (isLoading()) {\r\n @if (loadingTemplate) {\r\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\r\n } @else {\r\n <div class=\"ax-select-box-loading-container\">\r\n <ax-loading></ax-loading>\r\n </div>\r\n }\r\n }\r\n\r\n <ng-content select=\"ax-footer\"> </ng-content>\r\n </div>\r\n </ng-container>\r\n</ax-dropdown-box>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n", styles: [".ax-editor-container.ax-fill .ax-chips{--ax-comp-select-box-chips-bg-color: var(--ax-sys-color-surfaceest);--ax-comp-select-box-chips-text-color: var(--ax-sys-color-on-surface-high)}.ax-editor-container.ax-flat .ax-chips,.ax-editor-container.ax-outline .ax-chips{--ax-comp-select-box-chips-bg-color: var(--ax-sys-color-surface);--ax-comp-select-box-chips-text-color: var(--ax-sys-color-on-surface-high)}.ax-editor-container.ax-solid .ax-chips{--ax-comp-select-box-chips-bg-color: var(--ax-sys-color-light-surface);--ax-comp-select-box-chips-text-color: var(--ax-sys-color-on-light-surface)}ax-select-box .ax-chips-container{outline:0px solid transparent}.ax-xs ax-select-box,ax-select-box.ax-xs{--ax-comp-select-box-chips-padding-x: .25rem;--ax-comp-select-box-chips-padding-y: .125rem;--ax-comp-select-box-chips-font-size: .625rem;--ax-comp-editor-placeholder-space-x: .375rem}.ax-sm ax-select-box,ax-select-box.ax-sm{--ax-comp-select-box-chips-padding-x: .25rem;--ax-comp-select-box-chips-padding-y: .125rem;--ax-comp-select-box-chips-font-size: .75rem;--ax-comp-editor-placeholder-space-x: .5rem}ax-select-box,ax-select-box.ax-md{--ax-comp-select-box-chips-padding-x: .5rem;--ax-comp-select-box-chips-padding-y: .25rem;--ax-comp-select-box-chips-font-size: .875rem;--ax-comp-editor-placeholder-space-x: .75rem}.ax-lg ax-select-box,ax-select-box.ax-lg{--ax-comp-select-box-chips-padding-x: .75rem;--ax-comp-select-box-chips-padding-y: .5rem;--ax-comp-select-box-chips-font-size: 1rem;--ax-comp-editor-placeholder-space-x: .75rem}.ax-xl ax-select-box,ax-select-box.ax-xl{--ax-comp-select-box-chips-padding-x: .875rem;--ax-comp-select-box-chips-padding-y: .75rem;--ax-comp-select-box-chips-font-size: 1.125rem;--ax-comp-editor-placeholder-space-x: .75rem}ax-select-box{display:block;width:100%;height:100%;border-radius:var(--ax-sys-border-radius)}ax-select-box .ax-state-disabled{opacity:.5;cursor:not-allowed}ax-select-box .ax-state-disabled .ax-content{cursor:not-allowed}ax-select-box .ax-state-disabled .ax-editor-button{cursor:not-allowed}ax-select-box ax-dropdown-box{border-radius:inherit!important}ax-select-box ax-dropdown-box.ax-state-multiple{height:auto;min-height:var(--ax-comp-editor-height);--ax-comp-editor-space-start-size: 0}ax-select-box ax-dropdown-box.ax-state-multiple .ax-placeholder{padding:0 var(--ax-comp-editor-placeholder-space-x)}ax-select-box .ax-chips-container{display:flex;flex:1 1 0%;cursor:pointer!important;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--ax-comp-select-box-chips-gap, .25rem);min-height:var(--ax-sys-size-base)}ax-select-box .ax-chips-container .ax-chips{display:flex;align-items:center;padding:0 var(--ax-comp-editor-padding-x, .25rem);color:rgb(var(--ax-comp-select-box-chips-text-color));font-size:var(--ax-comp-select-box-chips-font-size);line-height:normal}ax-select-box .ax-chips-container.ax-state-multiple .ax-chips{background-color:rgb(var(--ax-comp-select-box-chips-bg-color));border-radius:var(--ax-comp-select-box-chips-border-radius, 999rem);border-width:var(--ax-comp-select-box-chips-border-width, 0px);padding:var(--ax-comp-select-box-chips-padding-y, .25rem) var(--ax-comp-select-box-chips-padding-x, .5rem)}ax-select-box .ax-chips-container.ax-state-multiple .ax-chips .ax-icon-close{cursor:pointer;margin-inline-start:var(--ax-comp-select-box-chips-padding-x)}ax-select-box .ax-chips-container .ax-selectbox-input{width:0px;opacity:0}ax-select-box .ax-chips-container.ax-state-multiple:has(.ax-chips){padding:var(--ax-comp-select-box-chips-container-padding, .25rem)}.ax-select-box-panel{height:fit-content}.ax-select-box-panel .ax-select-box-loading-container{display:flex;align-items:center;justify-content:center;padding:1rem}.ax-select-box-panel>ax-header .ax-icon-check{color:rgba(var(--ax-sys-color-primary-500))}.ax-select-box-panel>ax-header.ax-solid{border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-select-box-panel>ax-header.ax-solid ax-title{font-size:1rem;line-height:1.5rem;font-weight:500}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "component", type: AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "textTemplate", "disabledField", "multiple", "selectionMode", "dataSource", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readOnlyChange", "onBlur", "onFocus", "onItemClick", "onScrolledIndexChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
300
300
  }
301
301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
302
302
  type: Component,