UNPKG

@ng-doc/ui-kit

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

1 lines 3.79 kB
{"version":3,"file":"ng-doc-ui-kit-components-clear-control.mjs","sources":["../../../../libs/ui-kit/components/clear-control/clear-control.component.ts","../../../../libs/ui-kit/components/clear-control/clear-control.component.html","../../../../libs/ui-kit/components/clear-control/ng-doc-ui-kit-components-clear-control.ts"],"sourcesContent":["import { AfterContentInit, ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgDocInputHost } from '@ng-doc/ui-kit/classes/input-host';\nimport { NgDocButtonIconComponent } from '@ng-doc/ui-kit/components/button-icon';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit/components/icon';\nimport { NgDocFocusableDirective } from '@ng-doc/ui-kit/directives/focusable';\nimport { DIControl, injectHostControl } from 'di-controls';\n\n@Component({\n selector: 'ng-doc-clear-control',\n templateUrl: './clear-control.component.html',\n styleUrls: ['./clear-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgDocButtonIconComponent, NgDocFocusableDirective, NgDocIconComponent],\n})\nexport class NgDocClearControlComponent<T> extends DIControl<T> implements AfterContentInit {\n protected readonly inputHost: NgDocInputHost<T> | null = inject(NgDocInputHost, {\n optional: true,\n });\n\n constructor() {\n super({\n host: injectHostControl(),\n });\n }\n\n ngAfterContentInit(): void {\n if (this.inputHost?.inputControl) {\n this.inputHost.inputControl.changes\n .pipe(takeUntilDestroyed(this['destroyRef']))\n .subscribe(() => this.changeDetectorRef.detectChanges());\n }\n }\n\n get isVisible(): boolean {\n return this.inputHost?.inputControl?.hasValue || this.hasValue;\n }\n\n clear(): void {\n this.inputHost?.inputControl?.writeValueFromHost(null);\n this.updateModel(null);\n }\n}\n","@if (isVisible) {\n <button\n ng-doc-button-icon-transparent\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"clear()\"\n (focusout)=\"touch()\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAeM,MAAO,0BAA8B,SAAQ,SAAY,CAAA;AAK7D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC;YACJ,IAAI,EAAE,iBAAiB,EAAE;AAC1B,SAAA,CAAC;AAPe,QAAA,IAAA,CAAA,SAAS,GAA6B,MAAM,CAAC,cAAc,EAAE;AAC9E,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;IAMF;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;iBACzB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC3C,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC5D;IACF;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ;IAChE;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACxB;8GA1BW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,uGCfvC,gSAYA,EAAA,MAAA,EAAA,CAAA,+BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDCY,wBAAwB,EAAA,QAAA,EAAA,+LAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,uHAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEpE,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;+BACE,sBAAsB,EAAA,eAAA,EAGf,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,gSAAA,EAAA,MAAA,EAAA,CAAA,+BAAA,CAAA,EAAA;;;AEblF;;AAEG;;;;"}