@acorex/components 19.12.0-next.2 → 19.12.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.
- package/calendar/lib/calendar-range.component.d.ts +4 -1
 - package/calendar/lib/calendar.class.d.ts +8 -0
 - package/calendar/lib/calendar.component.d.ts +2 -0
 - package/datetime-box/lib/datetime-box.component.d.ts +11 -13
 - package/datetime-input/lib/datetime-input.component.d.ts +21 -84
 - package/datetime-picker/lib/datetime-picker.component.d.ts +13 -31
 - package/fesm2022/acorex-components-calendar.mjs +65 -37
 - package/fesm2022/acorex-components-calendar.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-box.mjs +28 -26
 - package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-input.mjs +113 -181
 - package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-picker.mjs +79 -81
 - package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
 - package/fesm2022/{acorex-components-modal-acorex-components-modal-Bs1CnBt8.mjs → acorex-components-modal-acorex-components-modal-BzlZIwq8.mjs} +116 -26
 - package/fesm2022/acorex-components-modal-acorex-components-modal-BzlZIwq8.mjs.map +1 -0
 - package/fesm2022/acorex-components-modal-modal-content.component-zmFWBaiD.mjs +187 -0
 - package/fesm2022/acorex-components-modal-modal-content.component-zmFWBaiD.mjs.map +1 -0
 - package/fesm2022/acorex-components-modal.mjs +1 -1
 - package/fesm2022/acorex-components-query-builder.mjs +1 -1
 - package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
 - package/fesm2022/acorex-components-scheduler.mjs +63 -30
 - package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
 - package/modal/lib/modal-content/modal-content.component.d.ts +11 -8
 - package/modal/lib/modal-state.service.d.ts +8 -7
 - package/modal/lib/modal.component.d.ts +2 -0
 - package/modal/lib/modal.service.d.ts +4 -2
 - package/modal/lib/modal.types.d.ts +15 -1
 - package/package.json +1 -1
 - package/scheduler/lib/scheduler.component.d.ts +8 -4
 - package/scheduler/lib/scheduler.service.d.ts +3 -2
 - package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +2 -1
 - package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +4 -2
 - package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +2 -1
 - package/fesm2022/acorex-components-modal-acorex-components-modal-Bs1CnBt8.mjs.map +0 -1
 - package/fesm2022/acorex-components-modal-modal-content.component-DhpujG4d.mjs +0 -181
 - package/fesm2022/acorex-components-modal-modal-content.component-DhpujG4d.mjs.map +0 -1
 
| 
         @@ -0,0 +1,187 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import * as i1 from '@acorex/cdk/focus-trap';
         
     | 
| 
      
 2 
     | 
    
         
            +
            import { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';
         
     | 
| 
      
 3 
     | 
    
         
            +
            import { AXButtonComponent } from '@acorex/components/button';
         
     | 
| 
      
 4 
     | 
    
         
            +
            import { NXComponent } from '@acorex/components/common';
         
     | 
| 
      
 5 
     | 
    
         
            +
            import * as i3 from '@acorex/components/decorators';
         
     | 
| 
      
 6 
     | 
    
         
            +
            import { AXDecoratorModule } from '@acorex/components/decorators';
         
     | 
| 
      
 7 
     | 
    
         
            +
            import { trigger, transition, style, animate } from '@angular/animations';
         
     | 
| 
      
 8 
     | 
    
         
            +
            import * as i2 from '@angular/common';
         
     | 
| 
      
 9 
     | 
    
         
            +
            import { CommonModule } from '@angular/common';
         
     | 
| 
      
 10 
     | 
    
         
            +
            import * as i0 from '@angular/core';
         
     | 
| 
      
 11 
     | 
    
         
            +
            import { input, model, inject, viewChild, computed, TemplateRef, signal, afterNextRender, effect, HostBinding, HostListener, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
         
     | 
| 
      
 12 
     | 
    
         
            +
            import { A as AXModalStateService, a as AXModalFooterComponent } from './acorex-components-modal-acorex-components-modal-BzlZIwq8.mjs';
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            class AXModalContentComponent extends NXComponent {
         
     | 
| 
      
 15 
     | 
    
         
            +
                constructor() {
         
     | 
| 
      
 16 
     | 
    
         
            +
                    super(...arguments);
         
     | 
| 
      
 17 
     | 
    
         
            +
                    this.__content__ = input.required();
         
     | 
| 
      
 18 
     | 
    
         
            +
                    this.id = input();
         
     | 
| 
      
 19 
     | 
    
         
            +
                    this.inputs = model();
         
     | 
| 
      
 20 
     | 
    
         
            +
                    this.serviceState = inject(AXModalStateService);
         
     | 
| 
      
 21 
     | 
    
         
            +
                    this.modalContainer = viewChild('c');
         
     | 
| 
      
 22 
     | 
    
         
            +
                    this.footer = viewChild(AXModalFooterComponent);
         
     | 
| 
      
 23 
     | 
    
         
            +
                    this.isTemplate = computed(() => this.__content__() instanceof TemplateRef);
         
     | 
| 
      
 24 
     | 
    
         
            +
                    this.component = computed(() => this.__content__());
         
     | 
| 
      
 25 
     | 
    
         
            +
                    this.template = computed(() => this.__content__());
         
     | 
| 
      
 26 
     | 
    
         
            +
                    this.modalSizeState = signal('normal');
         
     | 
| 
      
 27 
     | 
    
         
            +
                    this.isMouseDown = signal(false);
         
     | 
| 
      
 28 
     | 
    
         
            +
                    this.offsetX = signal(0);
         
     | 
| 
      
 29 
     | 
    
         
            +
                    this.offsetY = signal(0);
         
     | 
| 
      
 30 
     | 
    
         
            +
                    this.prevLeft = signal('');
         
     | 
| 
      
 31 
     | 
    
         
            +
                    this.prevTop = signal('');
         
     | 
| 
      
 32 
     | 
    
         
            +
                    this.backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled);
         
     | 
| 
      
 33 
     | 
    
         
            +
                    this.closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons.close);
         
     | 
| 
      
 34 
     | 
    
         
            +
                    this.backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background);
         
     | 
| 
      
 35 
     | 
    
         
            +
                    this.backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.cssClass);
         
     | 
| 
      
 36 
     | 
    
         
            +
                    this.backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick);
         
     | 
| 
      
 37 
     | 
    
         
            +
                    this.minimizePosition = computed(() => this.serviceState.modalOption()?.buttons.minimize.position);
         
     | 
| 
      
 38 
     | 
    
         
            +
                    this.minimizeState = computed(() => this.serviceState.modalOption()?.buttons.minimize.enable);
         
     | 
| 
      
 39 
     | 
    
         
            +
                    this.maximizeState = computed(() => this.serviceState.modalOption()?.buttons.maximize);
         
     | 
| 
      
 40 
     | 
    
         
            +
                    this.modalSize = computed(() => this.serviceState.modalOption()?.size || 'fit');
         
     | 
| 
      
 41 
     | 
    
         
            +
                    this.headerTitle = computed(() => this.serviceState.modalOption()?.title);
         
     | 
| 
      
 42 
     | 
    
         
            +
                    this.draggable = computed(() => this.serviceState.modalOption()?.draggable);
         
     | 
| 
      
 43 
     | 
    
         
            +
                    this.#init = afterNextRender(() => {
         
     | 
| 
      
 44 
     | 
    
         
            +
                        const popFooter = this.nativeElement.querySelector('.ax-modal-footer');
         
     | 
| 
      
 45 
     | 
    
         
            +
                        const footer = this.nativeElement.querySelector('.ax-modal-content ax-modal-footer');
         
     | 
| 
      
 46 
     | 
    
         
            +
                        if (footer) {
         
     | 
| 
      
 47 
     | 
    
         
            +
                            popFooter?.append(footer);
         
     | 
| 
      
 48 
     | 
    
         
            +
                        }
         
     | 
| 
      
 49 
     | 
    
         
            +
                    });
         
     | 
| 
      
 50 
     | 
    
         
            +
                    this.fadeInOut = true;
         
     | 
| 
      
 51 
     | 
    
         
            +
                    this.#eff = effect(() => {
         
     | 
| 
      
 52 
     | 
    
         
            +
                        const host = this.nativeElement;
         
     | 
| 
      
 53 
     | 
    
         
            +
                        if (this.draggable())
         
     | 
| 
      
 54 
     | 
    
         
            +
                            host.classList.add('ax-draggable');
         
     | 
| 
      
 55 
     | 
    
         
            +
                        if (!this.backdropState())
         
     | 
| 
      
 56 
     | 
    
         
            +
                            return;
         
     | 
| 
      
 57 
     | 
    
         
            +
                        host.classList.add('ax-backdrop');
         
     | 
| 
      
 58 
     | 
    
         
            +
                        if (!this.backdropBackground())
         
     | 
| 
      
 59 
     | 
    
         
            +
                            return;
         
     | 
| 
      
 60 
     | 
    
         
            +
                        if (this.backdropClass()) {
         
     | 
| 
      
 61 
     | 
    
         
            +
                            host.classList.add(this.backdropClass());
         
     | 
| 
      
 62 
     | 
    
         
            +
                        }
         
     | 
| 
      
 63 
     | 
    
         
            +
                        else {
         
     | 
| 
      
 64 
     | 
    
         
            +
                            host.classList.add('ax-default-backdrop');
         
     | 
| 
      
 65 
     | 
    
         
            +
                        }
         
     | 
| 
      
 66 
     | 
    
         
            +
                    });
         
     | 
| 
      
 67 
     | 
    
         
            +
                }
         
     | 
| 
      
 68 
     | 
    
         
            +
                #init;
         
     | 
| 
      
 69 
     | 
    
         
            +
                closeHandler() {
         
     | 
| 
      
 70 
     | 
    
         
            +
                    this.serviceState.close(this.id());
         
     | 
| 
      
 71 
     | 
    
         
            +
                }
         
     | 
| 
      
 72 
     | 
    
         
            +
                minimize() {
         
     | 
| 
      
 73 
     | 
    
         
            +
                    const index = this.serviceState.getMapIndexOf(this.id());
         
     | 
| 
      
 74 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.top = `auto`;
         
     | 
| 
      
 75 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.bottom = `0`;
         
     | 
| 
      
 76 
     | 
    
         
            +
                    if (this.backdropState())
         
     | 
| 
      
 77 
     | 
    
         
            +
                        this.nativeElement.classList.remove('ax-backdrop');
         
     | 
| 
      
 78 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.remove('ax-normal-modal');
         
     | 
| 
      
 79 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.remove('ax-maximize-modal');
         
     | 
| 
      
 80 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.add(`ax-minimize-modal`);
         
     | 
| 
      
 81 
     | 
    
         
            +
                    if (this.minimizePosition() === 'bottom-right') {
         
     | 
| 
      
 82 
     | 
    
         
            +
                        this.modalContainer().nativeElement.style.left = `auto`;
         
     | 
| 
      
 83 
     | 
    
         
            +
                        this.modalContainer().nativeElement.style.right = `${index * this.modalContainer().nativeElement.offsetWidth}px`;
         
     | 
| 
      
 84 
     | 
    
         
            +
                    }
         
     | 
| 
      
 85 
     | 
    
         
            +
                    else {
         
     | 
| 
      
 86 
     | 
    
         
            +
                        this.modalContainer().nativeElement.style.right = `auto`;
         
     | 
| 
      
 87 
     | 
    
         
            +
                        this.modalContainer().nativeElement.style.left = `${index * this.modalContainer().nativeElement.offsetWidth}px`;
         
     | 
| 
      
 88 
     | 
    
         
            +
                    }
         
     | 
| 
      
 89 
     | 
    
         
            +
                    this.modalSizeState.set('minimize');
         
     | 
| 
      
 90 
     | 
    
         
            +
                }
         
     | 
| 
      
 91 
     | 
    
         
            +
                maximize() {
         
     | 
| 
      
 92 
     | 
    
         
            +
                    if (this.modalSizeState() === 'minimize')
         
     | 
| 
      
 93 
     | 
    
         
            +
                        this.restore();
         
     | 
| 
      
 94 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.top = `auto`;
         
     | 
| 
      
 95 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.right = `auto`;
         
     | 
| 
      
 96 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.left = `auto`;
         
     | 
| 
      
 97 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.bottom = `auto`;
         
     | 
| 
      
 98 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);
         
     | 
| 
      
 99 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.remove(`ax-normal-modal`);
         
     | 
| 
      
 100 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.add('ax-maximize-modal');
         
     | 
| 
      
 101 
     | 
    
         
            +
                    this.modalSizeState.set('maximize');
         
     | 
| 
      
 102 
     | 
    
         
            +
                }
         
     | 
| 
      
 103 
     | 
    
         
            +
                restore() {
         
     | 
| 
      
 104 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.bottom = `auto`;
         
     | 
| 
      
 105 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.right = `auto`;
         
     | 
| 
      
 106 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.left = this.prevLeft();
         
     | 
| 
      
 107 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.top = this.prevTop();
         
     | 
| 
      
 108 
     | 
    
         
            +
                    if (this.backdropState())
         
     | 
| 
      
 109 
     | 
    
         
            +
                        this.nativeElement.classList.add('ax-backdrop');
         
     | 
| 
      
 110 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);
         
     | 
| 
      
 111 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.remove(`ax-maximize-modal`);
         
     | 
| 
      
 112 
     | 
    
         
            +
                    this.modalContainer().nativeElement.classList.add('ax-normal-modal');
         
     | 
| 
      
 113 
     | 
    
         
            +
                    this.modalSizeState.set('normal');
         
     | 
| 
      
 114 
     | 
    
         
            +
                }
         
     | 
| 
      
 115 
     | 
    
         
            +
                pointerDownHandler(e) {
         
     | 
| 
      
 116 
     | 
    
         
            +
                    if (!this.draggable() || this.modalSizeState() !== 'normal')
         
     | 
| 
      
 117 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 118 
     | 
    
         
            +
                    this.isMouseDown.set(true);
         
     | 
| 
      
 119 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.transition = 'none';
         
     | 
| 
      
 120 
     | 
    
         
            +
                    this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);
         
     | 
| 
      
 121 
     | 
    
         
            +
                    this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);
         
     | 
| 
      
 122 
     | 
    
         
            +
                }
         
     | 
| 
      
 123 
     | 
    
         
            +
                pointerMoveHandler(e) {
         
     | 
| 
      
 124 
     | 
    
         
            +
                    if (!this.draggable() || this.modalSizeState() !== 'normal')
         
     | 
| 
      
 125 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 126 
     | 
    
         
            +
                    if (!this.isMouseDown())
         
     | 
| 
      
 127 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 128 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;
         
     | 
| 
      
 129 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;
         
     | 
| 
      
 130 
     | 
    
         
            +
                    this.prevLeft.set(`${e.clientX - this.offsetX()}px`);
         
     | 
| 
      
 131 
     | 
    
         
            +
                    this.prevTop.set(`${e.clientY - this.offsetY()}px`);
         
     | 
| 
      
 132 
     | 
    
         
            +
                }
         
     | 
| 
      
 133 
     | 
    
         
            +
                pointerUpHandler() {
         
     | 
| 
      
 134 
     | 
    
         
            +
                    if (!this.draggable() || this.modalSizeState() !== 'normal')
         
     | 
| 
      
 135 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 136 
     | 
    
         
            +
                    this.modalContainer().nativeElement.style.transition = '0.5s all ease';
         
     | 
| 
      
 137 
     | 
    
         
            +
                    this.isMouseDown.set(false);
         
     | 
| 
      
 138 
     | 
    
         
            +
                }
         
     | 
| 
      
 139 
     | 
    
         
            +
                backdropCloseHandler(e) {
         
     | 
| 
      
 140 
     | 
    
         
            +
                    if (!this.backdropCloseOnClick())
         
     | 
| 
      
 141 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 142 
     | 
    
         
            +
                    if (e.target === e.currentTarget) {
         
     | 
| 
      
 143 
     | 
    
         
            +
                        this.closeHandler();
         
     | 
| 
      
 144 
     | 
    
         
            +
                    }
         
     | 
| 
      
 145 
     | 
    
         
            +
                }
         
     | 
| 
      
 146 
     | 
    
         
            +
                #eff;
         
     | 
| 
      
 147 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXModalContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 148 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: AXModalContentComponent, isStandalone: true, selector: "ax-modal-content", inputs: { __content__: { classPropertyName: "__content__", publicName: "__content__", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputs: "inputsChange" }, host: { listeners: { "pointermove": "pointerMoveHandler($event)", "pointerup": "pointerUpHandler($event)", "pointerleave": "pointerUpHandler($event)", "click": "backdropCloseHandler($event)" }, properties: { "@fadeInOut": "this.fadeInOut" } }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["c"], descendants: true, isSignal: true }, { propertyName: "footer", first: true, predicate: AXModalFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.AXFocusTrapDirective }], ngImport: i0, template: "<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal  ax-modal-{{ modalSize() }}\">\n  <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n    <ax-text>{{ headerTitle() }}</ax-text>\n\n    <div>\n      @if (minimizeState()) {\n        <ax-button class=\"ax-sm\" (onClick)=\"minimize()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (modalSizeState() !== 'normal') {\n        <ax-button class=\"ax-sm\" (onClick)=\"restore()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (maximizeState()) {\n        <ax-button class=\"ax-sm\" (onClick)=\"maximize()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-full-screen\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (closeHeaderButton()) {\n        <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"closeHandler()\" color=\"danger\">\n          <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n        </ax-button>\n      }\n    </div>\n  </div>\n  <div class=\"ax-modal-content\">\n    @if (isTemplate()) {\n      <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n    } @else {\n      <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n    }\n  </div>\n  <div class=\"ax-modal-footer\"></div>\n</div>\n", styles: ["ax-modal-content{z-index:100;touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content.ax-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh}ax-modal-content.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:110;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;transition:.5s all ease;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container.ax-maximize-modal{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;border-block:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.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" }], animations: [
         
     | 
| 
      
 149 
     | 
    
         
            +
                        trigger('fadeInOut', [
         
     | 
| 
      
 150 
     | 
    
         
            +
                            transition(':enter', [
         
     | 
| 
      
 151 
     | 
    
         
            +
                                style({ opacity: 0, transform: 'scale(0.85)' }),
         
     | 
| 
      
 152 
     | 
    
         
            +
                                animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),
         
     | 
| 
      
 153 
     | 
    
         
            +
                            ]),
         
     | 
| 
      
 154 
     | 
    
         
            +
                            transition(':leave', [animate('200ms ease-in', style({ opacity: 0, transform: 'scale(0.85)' }))]),
         
     | 
| 
      
 155 
     | 
    
         
            +
                        ]),
         
     | 
| 
      
 156 
     | 
    
         
            +
                    ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 157 
     | 
    
         
            +
            }
         
     | 
| 
      
 158 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXModalContentComponent, decorators: [{
         
     | 
| 
      
 159 
     | 
    
         
            +
                        type: Component,
         
     | 
| 
      
 160 
     | 
    
         
            +
                        args: [{ selector: 'ax-modal-content', imports: [CommonModule, AXButtonComponent, AXDecoratorModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXFocusTrapDirective], animations: [
         
     | 
| 
      
 161 
     | 
    
         
            +
                                    trigger('fadeInOut', [
         
     | 
| 
      
 162 
     | 
    
         
            +
                                        transition(':enter', [
         
     | 
| 
      
 163 
     | 
    
         
            +
                                            style({ opacity: 0, transform: 'scale(0.85)' }),
         
     | 
| 
      
 164 
     | 
    
         
            +
                                            animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),
         
     | 
| 
      
 165 
     | 
    
         
            +
                                        ]),
         
     | 
| 
      
 166 
     | 
    
         
            +
                                        transition(':leave', [animate('200ms ease-in', style({ opacity: 0, transform: 'scale(0.85)' }))]),
         
     | 
| 
      
 167 
     | 
    
         
            +
                                    ]),
         
     | 
| 
      
 168 
     | 
    
         
            +
                                ], template: "<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal  ax-modal-{{ modalSize() }}\">\n  <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n    <ax-text>{{ headerTitle() }}</ax-text>\n\n    <div>\n      @if (minimizeState()) {\n        <ax-button class=\"ax-sm\" (onClick)=\"minimize()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (modalSizeState() !== 'normal') {\n        <ax-button class=\"ax-sm\" (onClick)=\"restore()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (maximizeState()) {\n        <ax-button class=\"ax-sm\" (onClick)=\"maximize()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-full-screen\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (closeHeaderButton()) {\n        <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"closeHandler()\" color=\"danger\">\n          <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n        </ax-button>\n      }\n    </div>\n  </div>\n  <div class=\"ax-modal-content\">\n    @if (isTemplate()) {\n      <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n    } @else {\n      <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n    }\n  </div>\n  <div class=\"ax-modal-footer\"></div>\n</div>\n", styles: ["ax-modal-content{z-index:100;touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content.ax-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh}ax-modal-content.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:110;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;transition:.5s all ease;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container.ax-maximize-modal{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;border-block:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}\n"] }]
         
     | 
| 
      
 169 
     | 
    
         
            +
                    }], propDecorators: { pointerMoveHandler: [{
         
     | 
| 
      
 170 
     | 
    
         
            +
                            type: HostListener,
         
     | 
| 
      
 171 
     | 
    
         
            +
                            args: ['pointermove', ['$event']]
         
     | 
| 
      
 172 
     | 
    
         
            +
                        }], pointerUpHandler: [{
         
     | 
| 
      
 173 
     | 
    
         
            +
                            type: HostListener,
         
     | 
| 
      
 174 
     | 
    
         
            +
                            args: ['pointerup', ['$event']]
         
     | 
| 
      
 175 
     | 
    
         
            +
                        }, {
         
     | 
| 
      
 176 
     | 
    
         
            +
                            type: HostListener,
         
     | 
| 
      
 177 
     | 
    
         
            +
                            args: ['pointerleave', ['$event']]
         
     | 
| 
      
 178 
     | 
    
         
            +
                        }], backdropCloseHandler: [{
         
     | 
| 
      
 179 
     | 
    
         
            +
                            type: HostListener,
         
     | 
| 
      
 180 
     | 
    
         
            +
                            args: ['click', ['$event']]
         
     | 
| 
      
 181 
     | 
    
         
            +
                        }], fadeInOut: [{
         
     | 
| 
      
 182 
     | 
    
         
            +
                            type: HostBinding,
         
     | 
| 
      
 183 
     | 
    
         
            +
                            args: ['@fadeInOut']
         
     | 
| 
      
 184 
     | 
    
         
            +
                        }] } });
         
     | 
| 
      
 185 
     | 
    
         
            +
             
     | 
| 
      
 186 
     | 
    
         
            +
            export { AXModalContentComponent };
         
     | 
| 
      
 187 
     | 
    
         
            +
            //# sourceMappingURL=acorex-components-modal-modal-content.component-zmFWBaiD.mjs.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"acorex-components-modal-modal-content.component-zmFWBaiD.mjs","sources":["../../../../libs/components/modal/src/lib/modal-content/modal-content.component.ts","../../../../libs/components/modal/src/lib/modal-content/modal-content.component.html"],"sourcesContent":["import { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { NXComponent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXComponentContent, AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n  afterNextRender,\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  effect,\n  ElementRef,\n  HostBinding,\n  HostListener,\n  inject,\n  input,\n  model,\n  signal,\n  TemplateRef,\n  viewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { AXModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { AXModalStateService } from '../modal-state.service';\n\n@Component({\n  selector: 'ax-modal-content',\n  templateUrl: './modal-content.component.html',\n  styleUrl: './modal-content.component.scss',\n  imports: [CommonModule, AXButtonComponent, AXDecoratorModule],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  hostDirectives: [AXFocusTrapDirective],\n  animations: [\n    trigger('fadeInOut', [\n      transition(':enter', [\n        style({ opacity: 0, transform: 'scale(0.85)' }),\n        animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),\n      ]),\n      transition(':leave', [animate('200ms ease-in', style({ opacity: 0, transform: 'scale(0.85)' }))]),\n    ]),\n  ],\n})\nexport class AXModalContentComponent extends NXComponent {\n  __content__ = input.required<AXComponentContent>();\n  public id = input<number>();\n  public inputs = model<AXComponentInputs>();\n  private serviceState = inject(AXModalStateService);\n\n  protected modalContainer = viewChild<ElementRef>('c');\n  protected footer = viewChild<AXModalFooterComponent>(AXModalFooterComponent);\n\n  protected isTemplate = computed(() => this.__content__() instanceof TemplateRef);\n  public component = computed(() => this.__content__() as AXComponentType<any>);\n  public template = computed(() => this.__content__() as TemplateRef<any>);\n  protected modalSizeState = signal<'maximize' | 'minimize' | 'normal'>('normal');\n  private isMouseDown = signal(false);\n  private offsetX = signal(0);\n  private offsetY = signal(0);\n  private prevLeft = signal('');\n  private prevTop = signal('');\n  private backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled);\n  protected closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons.close);\n  private backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background);\n  private backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.cssClass);\n  private backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick);\n  private minimizePosition = computed(() => this.serviceState.modalOption()?.buttons.minimize.position);\n  protected minimizeState = computed(() => this.serviceState.modalOption()?.buttons.minimize.enable);\n  protected maximizeState = computed(() => this.serviceState.modalOption()?.buttons.maximize);\n  protected modalSize = computed(() => this.serviceState.modalOption()?.size || 'fit');\n  protected headerTitle = computed(() => this.serviceState.modalOption()?.title);\n  private draggable = computed(() => this.serviceState.modalOption()?.draggable);\n\n  #init = afterNextRender(() => {\n    const popFooter = this.nativeElement.querySelector<HTMLDivElement>('.ax-modal-footer');\n    const footer = this.nativeElement.querySelector<HTMLDivElement>('.ax-modal-content ax-modal-footer');\n    if (footer) {\n      popFooter?.append(footer);\n    }\n  });\n\n  protected closeHandler() {\n    this.serviceState.close(this.id());\n  }\n\n  minimize() {\n    const index = this.serviceState.getMapIndexOf(this.id());\n\n    this.modalContainer().nativeElement.style.top = `auto`;\n    this.modalContainer().nativeElement.style.bottom = `0`;\n\n    if (this.backdropState()) this.nativeElement.classList.remove('ax-backdrop');\n    this.modalContainer().nativeElement.classList.remove('ax-normal-modal');\n    this.modalContainer().nativeElement.classList.remove('ax-maximize-modal');\n    this.modalContainer().nativeElement.classList.add(`ax-minimize-modal`);\n\n    if (this.minimizePosition() === 'bottom-right') {\n      this.modalContainer().nativeElement.style.left = `auto`;\n      this.modalContainer().nativeElement.style.right = `${index * this.modalContainer().nativeElement.offsetWidth}px`;\n    } else {\n      this.modalContainer().nativeElement.style.right = `auto`;\n      this.modalContainer().nativeElement.style.left = `${index * this.modalContainer().nativeElement.offsetWidth}px`;\n    }\n\n    this.modalSizeState.set('minimize');\n  }\n\n  maximize() {\n    if (this.modalSizeState() === 'minimize') this.restore();\n\n    this.modalContainer().nativeElement.style.top = `auto`;\n    this.modalContainer().nativeElement.style.right = `auto`;\n    this.modalContainer().nativeElement.style.left = `auto`;\n    this.modalContainer().nativeElement.style.bottom = `auto`;\n\n    this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);\n    this.modalContainer().nativeElement.classList.remove(`ax-normal-modal`);\n    this.modalContainer().nativeElement.classList.add('ax-maximize-modal');\n    this.modalSizeState.set('maximize');\n  }\n\n  restore() {\n    this.modalContainer().nativeElement.style.bottom = `auto`;\n    this.modalContainer().nativeElement.style.right = `auto`;\n    this.modalContainer().nativeElement.style.left = this.prevLeft();\n    this.modalContainer().nativeElement.style.top = this.prevTop();\n\n    if (this.backdropState()) this.nativeElement.classList.add('ax-backdrop');\n    this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);\n    this.modalContainer().nativeElement.classList.remove(`ax-maximize-modal`);\n    this.modalContainer().nativeElement.classList.add('ax-normal-modal');\n    this.modalSizeState.set('normal');\n  }\n\n  protected pointerDownHandler(e: MouseEvent) {\n    if (!this.draggable() || this.modalSizeState() !== 'normal') return;\n    this.isMouseDown.set(true);\n    this.modalContainer().nativeElement.style.transition = 'none';\n    this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);\n    this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);\n  }\n\n  @HostListener('pointermove', ['$event'])\n  protected pointerMoveHandler(e: MouseEvent) {\n    if (!this.draggable() || this.modalSizeState() !== 'normal') return;\n    if (!this.isMouseDown()) return;\n    this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;\n    this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;\n    this.prevLeft.set(`${e.clientX - this.offsetX()}px`);\n    this.prevTop.set(`${e.clientY - this.offsetY()}px`);\n  }\n\n  @HostListener('pointerup', ['$event'])\n  @HostListener('pointerleave', ['$event'])\n  protected pointerUpHandler() {\n    if (!this.draggable() || this.modalSizeState() !== 'normal') return;\n    this.modalContainer().nativeElement.style.transition = '0.5s all ease';\n    this.isMouseDown.set(false);\n  }\n\n  @HostListener('click', ['$event'])\n  protected backdropCloseHandler(e: MouseEvent) {\n    if (!this.backdropCloseOnClick()) return;\n    if (e.target === e.currentTarget) {\n      this.closeHandler();\n    }\n  }\n\n  @HostBinding('@fadeInOut') fadeInOut = true;\n\n  #eff = effect(() => {\n    const host = this.nativeElement;\n    if (this.draggable()) host.classList.add('ax-draggable');\n    if (!this.backdropState()) return;\n    host.classList.add('ax-backdrop');\n    if (!this.backdropBackground()) return;\n    if (this.backdropClass()) {\n      host.classList.add(this.backdropClass());\n    } else {\n      host.classList.add('ax-default-backdrop');\n    }\n  });\n}\n","<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal  ax-modal-{{ modalSize() }}\">\n  <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n    <ax-text>{{ headerTitle() }}</ax-text>\n\n    <div>\n      @if (minimizeState()) {\n        <ax-button class=\"ax-sm\" (onClick)=\"minimize()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (modalSizeState() !== 'normal') {\n        <ax-button class=\"ax-sm\" (onClick)=\"restore()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (maximizeState()) {\n        <ax-button class=\"ax-sm\" (onClick)=\"maximize()\" look=\"blank\" color=\"primary\">\n          <ax-icon class=\"ax-icon ax-icon-full-screen\"> </ax-icon>\n        </ax-button>\n      }\n\n      @if (closeHeaderButton()) {\n        <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"closeHandler()\" color=\"danger\">\n          <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n        </ax-button>\n      }\n    </div>\n  </div>\n  <div class=\"ax-modal-content\">\n    @if (isTemplate()) {\n      <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n    } @else {\n      <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n    }\n  </div>\n  <div class=\"ax-modal-footer\"></div>\n</div>\n"],"names":[],"mappings":"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"}
         
     | 
| 
         @@ -1,2 +1,2 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            export { b as AXModalComponent, a as AXModalFooterComponent, c as AXModalModule, d as AXModalService } from './acorex-components-modal-acorex-components-modal- 
     | 
| 
      
 1 
     | 
    
         
            +
            export { b as AXModalComponent, e as AXModalComponentBase, a as AXModalFooterComponent, c as AXModalModule, d as AXModalService } from './acorex-components-modal-acorex-components-modal-BzlZIwq8.mjs';
         
     | 
| 
       2 
2 
     | 
    
         
             
            //# sourceMappingURL=acorex-components-modal.mjs.map
         
     | 
| 
         @@ -192,7 +192,7 @@ class AXQueryBuilderComponent { 
     | 
|
| 
       192 
192 
     | 
    
         
             
                    return item.id;
         
     | 
| 
       193 
193 
     | 
    
         
             
                }
         
     | 
| 
       194 
194 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       195 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", 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", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "type", "changeOnScroll", "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.2.5", 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", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "type", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       196 
196 
     | 
    
         
             
            }
         
     | 
| 
       197 
197 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{
         
     | 
| 
       198 
198 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -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 { 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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"}
         
     | 
| 
      
 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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"}
         
     |