import * as i9 from '@acorex/components/button';
import { AXButtonModule } from '@acorex/components/button';
import * as i3 from '@acorex/components/decorators';
import { AXDecoratorModule } from '@acorex/components/decorators';
import * as i4 from '@acorex/components/loading';
import { AXLoadingModule } from '@acorex/components/loading';
import * as i1 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i0 from '@angular/core';
import { inject, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
import { A as AXMCaptureScreenService } from './acorex-modules-help-desk-acorex-modules-help-desk-BR0maKeU.mjs';
import * as i5 from '@acorex/core/format';
import { AXFormatModule } from '@acorex/core/format';

class AXMCaptureScreenComponent {
    constructor() {
        this.vm = inject(AXMCaptureScreenService);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMCaptureScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXMCaptureScreenComponent, isStandalone: true, selector: "axm-capture-screen", ngImport: i0, template: "<div\n  class=\"ax-transition-all ax-flex ax-items-center ax-gap-4 ax-w-fit ax-bg-surface ax-border ax-border-lighter ax-shadow-md ax-rounded-full ax-fixed ax-bottom-4 ax-right-4 ax-z-10\"\n>\n  <section\n    class=\"ax-flex ax-items-center ax-justify-center ax-gap-4\"\n    [ngClass]=\"{ 'screenshot-hidden': vm.captureMode() === 'video' }\"\n  >\n    <ax-button look=\"outline\" color=\"primary\" class=\"ax-lg ax-rounded-full\" (onClick)=\"vm.screenshotClick()\">\n      @if (vm.loading()) {\n        <ax-loading></ax-loading>\n      } @else {\n        <ax-prefix>\n          <ax-icon class=\"fa-regular fa-camera\"></ax-icon>\n        </ax-prefix>\n      }\n    </ax-button>\n    <ax-button\n      look=\"blank\"\n      class=\"ax-lg ax-rounded-full\"\n      [ngClass]=\"{ 'recordVideo-move': vm.captureMode() === 'video' }\"\n      (onClick)=\"vm.changeCaptureMode()\"\n    >\n      <ax-prefix>\n        <ax-icon class=\"fa-regular fa-video\"></ax-icon>\n      </ax-prefix>\n    </ax-button>\n  </section>\n  <section\n    class=\"ax-hidden ax-items-center ax-justify-center ax-gap-8\"\n    [ngClass]=\"{ '!ax-flex recordContainer-show': vm.captureMode() === 'video' }\"\n  >\n    <div class=\"ax-flex ax-items-center ax-justify-center ax-gap-2\">\n      <ax-button look=\"outline\" color=\"danger\" class=\"ax-lg ax-rounded-full\" (onClick)=\"vm.recordScreenClick()\">\n        <ax-prefix class=\"ax-relative\">\n          @if (vm.isRecording()) {\n            <ax-icon\n              class=\"fa-solid fa-circle ax-absolute ax-animate-twPing ax-animate-infinite ax-animate-duration-[1500ms] ax-text-danger-400 ax-opacity-75\"\n            ></ax-icon>\n          }\n          <ax-icon class=\"fa-solid fa-circle\"></ax-icon>\n        </ax-prefix>\n      </ax-button>\n      <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"vm.mutedClick()\">\n        <ax-prefix\n          ><ax-icon class=\"fa-solid {{ vm.muted() ? 'fa-microphone' : 'fa-microphone-slash' }}\"></ax-icon\n        ></ax-prefix>\n      </ax-button>\n    </div>\n    <div class=\"ax-flex ax-items-center ax-gap-2\">\n      <p>\n        {{ vm.timer().minute | format: 'number' : { zeroPadLength: 2 } | async }} :\n        {{ vm.timer().second | format: 'number' : { zeroPadLength: 2 } | async }}\n      </p>\n    </div>\n  </section>\n  <ax-button look=\"blank\" class=\"ax-rounded-full\" (onClick)=\"vm.cancelClick()\">\n    <ax-prefix><ax-icon class=\"fa-solid fa-xmark\"></ax-icon></ax-prefix>\n  </ax-button>\n</div>\n", styles: ["@keyframes hideScreenshotContainer{0%{opacity:1;position:absolute}to{opacity:0;position:absolute;display:none}}@keyframes moveRecordButton{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-100px) rotate(360deg);opacity:0}}@keyframes showRecordContainer{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.screenshot-hidden{animation:hideScreenshotContainer .2s forwards}.recordVideo-move{animation:moveRecordButton .5s forwards}.recordContainer-show{animation:showRecordContainer .5s forwards}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i9.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" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMCaptureScreenComponent, decorators: [{
            type: Component,
            args: [{ selector: 'axm-capture-screen', imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, AXFormatModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n  class=\"ax-transition-all ax-flex ax-items-center ax-gap-4 ax-w-fit ax-bg-surface ax-border ax-border-lighter ax-shadow-md ax-rounded-full ax-fixed ax-bottom-4 ax-right-4 ax-z-10\"\n>\n  <section\n    class=\"ax-flex ax-items-center ax-justify-center ax-gap-4\"\n    [ngClass]=\"{ 'screenshot-hidden': vm.captureMode() === 'video' }\"\n  >\n    <ax-button look=\"outline\" color=\"primary\" class=\"ax-lg ax-rounded-full\" (onClick)=\"vm.screenshotClick()\">\n      @if (vm.loading()) {\n        <ax-loading></ax-loading>\n      } @else {\n        <ax-prefix>\n          <ax-icon class=\"fa-regular fa-camera\"></ax-icon>\n        </ax-prefix>\n      }\n    </ax-button>\n    <ax-button\n      look=\"blank\"\n      class=\"ax-lg ax-rounded-full\"\n      [ngClass]=\"{ 'recordVideo-move': vm.captureMode() === 'video' }\"\n      (onClick)=\"vm.changeCaptureMode()\"\n    >\n      <ax-prefix>\n        <ax-icon class=\"fa-regular fa-video\"></ax-icon>\n      </ax-prefix>\n    </ax-button>\n  </section>\n  <section\n    class=\"ax-hidden ax-items-center ax-justify-center ax-gap-8\"\n    [ngClass]=\"{ '!ax-flex recordContainer-show': vm.captureMode() === 'video' }\"\n  >\n    <div class=\"ax-flex ax-items-center ax-justify-center ax-gap-2\">\n      <ax-button look=\"outline\" color=\"danger\" class=\"ax-lg ax-rounded-full\" (onClick)=\"vm.recordScreenClick()\">\n        <ax-prefix class=\"ax-relative\">\n          @if (vm.isRecording()) {\n            <ax-icon\n              class=\"fa-solid fa-circle ax-absolute ax-animate-twPing ax-animate-infinite ax-animate-duration-[1500ms] ax-text-danger-400 ax-opacity-75\"\n            ></ax-icon>\n          }\n          <ax-icon class=\"fa-solid fa-circle\"></ax-icon>\n        </ax-prefix>\n      </ax-button>\n      <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"vm.mutedClick()\">\n        <ax-prefix\n          ><ax-icon class=\"fa-solid {{ vm.muted() ? 'fa-microphone' : 'fa-microphone-slash' }}\"></ax-icon\n        ></ax-prefix>\n      </ax-button>\n    </div>\n    <div class=\"ax-flex ax-items-center ax-gap-2\">\n      <p>\n        {{ vm.timer().minute | format: 'number' : { zeroPadLength: 2 } | async }} :\n        {{ vm.timer().second | format: 'number' : { zeroPadLength: 2 } | async }}\n      </p>\n    </div>\n  </section>\n  <ax-button look=\"blank\" class=\"ax-rounded-full\" (onClick)=\"vm.cancelClick()\">\n    <ax-prefix><ax-icon class=\"fa-solid fa-xmark\"></ax-icon></ax-prefix>\n  </ax-button>\n</div>\n", styles: ["@keyframes hideScreenshotContainer{0%{opacity:1;position:absolute}to{opacity:0;position:absolute;display:none}}@keyframes moveRecordButton{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-100px) rotate(360deg);opacity:0}}@keyframes showRecordContainer{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.screenshot-hidden{animation:hideScreenshotContainer .2s forwards}.recordVideo-move{animation:moveRecordButton .5s forwards}.recordContainer-show{animation:showRecordContainer .5s forwards}\n"] }]
        }] });

export { AXMCaptureScreenComponent };
//# sourceMappingURL=acorex-modules-help-desk-capture-screen.component-DZFQUHUd.mjs.map
