@libs-ui/components-inputs-search 0.2.5

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/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # inputs-search
2
+
3
+ This library was generated with [Nx](https://nx.dev).
@@ -0,0 +1,3 @@
1
+ export * from './search.component';
2
+ export * from './interfaces/config.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJzsiXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvc2VhcmNoL3NyYy9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUlucHV0U2VhcmNoQ29uZmlnIHtcbiAgY2xhc3NJbmNsdWRlPzogc3RyaW5nO1xuICBjbGFzc0NvbnRhaW5lcklucHV0Pzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIG5vQm9yZGVyPzogYm9vbGVhbjtcbiAgYmFja2dyb3VuZE5vbmU/OiBib29sZWFuO1xuICBpY29uTGVmdENsYXNzPzogc3RyaW5nO1xuICBpY29uUmlnaHRDbGFzcz86IHN0cmluZztcbiAgZGVmYXVsdEhlaWdodD86IG51bWJlcjtcbiAgY2xhc3NDb3ZlcklucHV0U2VhcmNoPzogc3RyaW5nO1xuICBoYXNDbGVhclNlYXJjaD86IGJvb2xlYW47XG4gIHBvcG92ZXJDb250ZW50SWNvblJpZ2h0Pzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLWlucHV0cy1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3NlYXJjaC9zcmMvbGlicy11aS1jb21wb25lbnRzLWlucHV0cy1zZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,95 @@
1
+ import { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';
2
+ import { LibsUiComponentsInputsInputComponent } from '@libs-ui/components-inputs-input';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { Subject } from 'rxjs';
5
+ import { debounceTime, filter, takeUntil, throttleTime } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngx-translate/core";
8
+ export class MoLibsSharedComponentsInputSearchComponent {
9
+ /* PROPERTY */
10
+ valueSearch = signal('');
11
+ onDestroy = new Subject();
12
+ onSearch = new Subject();
13
+ onEnter = new Subject();
14
+ timeout = signal(0);
15
+ searchingWhileEntering = signal(false);
16
+ /* INPUT */
17
+ disable = input(false);
18
+ readonly = input(false);
19
+ searchConfig = input({}, { transform: (value) => value || {} });
20
+ ignoreAutoComplete = input(); // không emit sự kiện sau 1 khoảng thời gian người dùng ngừng nhập
21
+ debounceTime = input(1000, { transform: (value) => value ?? 1000 });
22
+ ignoreStopPropagationEvent = input(false);
23
+ focusTimeOut = input(600, { transform: (value) => value ?? 600 });
24
+ blurTimeOut = input(600, { transform: (value) => value ?? 600 });
25
+ ;
26
+ /* OUTPUT */
27
+ outSearch = output(); // sau 1 khoảng thời gian người dùng ngừng nhập sẽ emit sự kiện
28
+ outValueChange = output(); // sử dụng khi muốn lắng nghe mỗi lần gõ text
29
+ outIconLeft = output();
30
+ outIconRight = output();
31
+ outFocusAndBlur = output();
32
+ outFunctionsControl = output();
33
+ ngOnInit() {
34
+ this.valueSearch.set(this.searchConfig()?.value || '');
35
+ this.onSearch.pipe(debounceTime(this.debounceTime()), filter((keySearch) => !!keySearch), takeUntil(this.onDestroy)).subscribe(keySearch => {
36
+ if (this.searchingWhileEntering() || this.ignoreAutoComplete() || !this.valueSearch()) {
37
+ this.searchingWhileEntering.set(false);
38
+ return;
39
+ }
40
+ this.outSearch.emit(`${keySearch}`.trim());
41
+ });
42
+ this.onEnter.pipe(throttleTime(this.debounceTime()), takeUntil(this.onDestroy)).subscribe(keySearch => {
43
+ this.outSearch.emit(`${keySearch}`.trim());
44
+ });
45
+ }
46
+ /* FUNCTIONS*/
47
+ handlerValueChange(keySearch) {
48
+ this.outValueChange.emit(keySearch.toString());
49
+ this.valueSearch.set(keySearch);
50
+ this.searchingWhileEntering.set(false);
51
+ if (this.valueSearch()) {
52
+ this.onSearch.next(this.valueSearch());
53
+ return;
54
+ }
55
+ clearTimeout(this.timeout());
56
+ this.timeout.set(setTimeout(() => {
57
+ if (!this.valueSearch() && !this.ignoreAutoComplete()) {
58
+ this.outSearch.emit(this.valueSearch());
59
+ }
60
+ }, 500));
61
+ }
62
+ handlerEnterInput(e) {
63
+ this.valueSearch.set(e.target.value);
64
+ this.searchingWhileEntering.set(true);
65
+ this.onEnter.next(this.valueSearch());
66
+ }
67
+ handlerEventIconLeft(eventName) {
68
+ this.outIconLeft.emit(eventName);
69
+ }
70
+ handlerEventIconRight(eventName) {
71
+ if (this.searchConfig()?.hasClearSearch) {
72
+ this.valueSearch.set('');
73
+ this.outSearch.emit(this.valueSearch());
74
+ }
75
+ this.outIconRight.emit(eventName);
76
+ }
77
+ handlerFunctionControl(event) {
78
+ this.outFunctionsControl.emit(event);
79
+ }
80
+ handlerFocusAndBlur(event) {
81
+ this.outFocusAndBlur.emit(event);
82
+ }
83
+ ngOnDestroy() {
84
+ clearTimeout(this.timeout());
85
+ this.onDestroy.next();
86
+ this.onDestroy.complete();
87
+ }
88
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoLibsSharedComponentsInputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
89
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MoLibsSharedComponentsInputSearchComponent, isStandalone: true, selector: "libs_ui-components-inputs-search", inputs: { disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, searchConfig: { classPropertyName: "searchConfig", publicName: "searchConfig", isSignal: true, isRequired: false, transformFunction: null }, ignoreAutoComplete: { classPropertyName: "ignoreAutoComplete", publicName: "ignoreAutoComplete", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, focusTimeOut: { classPropertyName: "focusTimeOut", publicName: "focusTimeOut", isSignal: true, isRequired: false, transformFunction: null }, blurTimeOut: { classPropertyName: "blurTimeOut", publicName: "blurTimeOut", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outSearch: "outSearch", outValueChange: "outValueChange", outIconLeft: "outIconLeft", outIconRight: "outIconRight", outFocusAndBlur: "outFocusAndBlur", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "@if (searchConfig(); as searchConfig) {\n <libs_ui-components-inputs-input [disable]=\"disable()\"\n [readonly]=\"readonly()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n [defaultHeight]=\"searchConfig.defaultHeight || 32\"\n [classInclude]=\"'w-full '+(searchConfig.classInclude ? searchConfig.classInclude : '')\"\n [iconLeftClass]=\"searchConfig.iconLeftClass ?? 'libs-ui-icon-search'\"\n [iconRightClass]=\"((searchConfig.hasClearSearch && valueSearch()) ? 'libs-ui-icon-close-circle-solid cursor-pointer ' : '') + (searchConfig.iconRightClass ? ' '+searchConfig.iconRightClass:'')\"\n [setIconRightColorSameColorDisableReadOnly]=\"(searchConfig.hasClearSearch && valueSearch()) ? true: false\"\n [value]=\"searchConfig.value || this.valueSearch()\"\n [placeholder]=\"(searchConfig.placeholder || 'i18n_search') | translate\"\n [noBorder]=\"searchConfig.noBorder || false\"\n [backgroundNone]=\"searchConfig.backgroundNone || false\"\n [classContainerInput]=\"searchConfig.classContainerInput || ''\"\n [popoverContentIconRight]=\"searchConfig.popoverContentIconRight || ''\"\n [focusTimeOut]=\"focusTimeOut()\"\n [blurTimeOut]=\"blurTimeOut()\"\n (outChange)=\"handlerValueChange($event)\"\n (outIconLeft)=\"handlerEventIconLeft($event)\"\n (outIconRight)=\"handlerEventIconRight($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outEnterEvent)=\"handlerEnterInput($event)\"\n (outFocusAndBlurEvent)=\"handlerFocusAndBlur($event)\" />\n}\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsInputsInputComponent, selector: "libs_ui-components-inputs-input", inputs: ["tagInput", "dataType", "tabInsertContentTagInput", "textAreaEnterNotNewLine", "emitEmptyInDataTypeNumber", "keepZeroInTypeInt", "autoAddZeroLessThan10InTypeInt", "ignoreBlockInputMaxValue", "hiddenContent", "maxValueNumber", "minValueNumber", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "classInclude", "maxLength", "readonly", "disable", "noBorder", "backgroundNone", "borderError", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "value", "autoRemoveEmoji", "defaultHeight", "minHeightTextArea", "maxHeightTextArea", "focusTimeOut", "blurTimeOut", "zIndexPopoverContent", "classContainerInput", "showCount", "ignoreStopPropagationEvent", "resize", "templateLeftBottomInput", "templateRightBottomInput", "classContainerBottomInput", "ignoreWidthInput100", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "resetAutoCompletePassword", "acceptOnlyClickIcon", "setIconRightColorSameColorDisableReadOnly", "onlyAcceptNegativeValue", "maxLengthNumberCount", "focusInput"], outputs: ["maxValueNumberChange", "minValueNumberChange", "fixedFloatChange", "acceptNegativeValueChange", "maxLengthChange", "valueChange", "maxLengthNumberCountChange", "outHeightAreaChange", "outChange", "outFocusAndBlurEvent", "outEnterEvent", "outInputEvent", "outIconLeft", "outIconRight", "outFunctionsControl", "outFilesDrop", "outFileDrop", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoLibsSharedComponentsInputSearchComponent, decorators: [{
92
+ type: Component,
93
+ args: [{ selector: 'libs_ui-components-inputs-search', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, LibsUiComponentsInputsInputComponent], template: "@if (searchConfig(); as searchConfig) {\n <libs_ui-components-inputs-input [disable]=\"disable()\"\n [readonly]=\"readonly()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n [defaultHeight]=\"searchConfig.defaultHeight || 32\"\n [classInclude]=\"'w-full '+(searchConfig.classInclude ? searchConfig.classInclude : '')\"\n [iconLeftClass]=\"searchConfig.iconLeftClass ?? 'libs-ui-icon-search'\"\n [iconRightClass]=\"((searchConfig.hasClearSearch && valueSearch()) ? 'libs-ui-icon-close-circle-solid cursor-pointer ' : '') + (searchConfig.iconRightClass ? ' '+searchConfig.iconRightClass:'')\"\n [setIconRightColorSameColorDisableReadOnly]=\"(searchConfig.hasClearSearch && valueSearch()) ? true: false\"\n [value]=\"searchConfig.value || this.valueSearch()\"\n [placeholder]=\"(searchConfig.placeholder || 'i18n_search') | translate\"\n [noBorder]=\"searchConfig.noBorder || false\"\n [backgroundNone]=\"searchConfig.backgroundNone || false\"\n [classContainerInput]=\"searchConfig.classContainerInput || ''\"\n [popoverContentIconRight]=\"searchConfig.popoverContentIconRight || ''\"\n [focusTimeOut]=\"focusTimeOut()\"\n [blurTimeOut]=\"blurTimeOut()\"\n (outChange)=\"handlerValueChange($event)\"\n (outIconLeft)=\"handlerEventIconLeft($event)\"\n (outIconRight)=\"handlerEventIconRight($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outEnterEvent)=\"handlerEnterInput($event)\"\n (outFocusAndBlurEvent)=\"handlerFocusAndBlur($event)\" />\n}\n" }]
94
+ }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvc2VhcmNoL3NyYy9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9zZWFyY2gvc3JjL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQWtELG9DQUFvQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFXL0UsTUFBTSxPQUFPLDBDQUEwQztJQUNyRCxjQUFjO0lBQ0osV0FBVyxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUVuQyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNoQyxRQUFRLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUMsT0FBTyxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLE9BQU8sR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsc0JBQXNCLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXhELFdBQVc7SUFDRixPQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFD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UUFDMUMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxLQUFpQztRQUNoRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUF5QjtRQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0FoR1UsMENBQTBDOzRGQUExQywwQ0FBMEMsKzdDQ2hCdkQsa2hEQXdCQSwyQ0RWWSxlQUFlLDRGQUFFLG9DQUFvQzs7NEZBRXBELDBDQUEwQztrQkFSdEQsU0FBUzsrQkFFRSxrQ0FBa0MsY0FFaEMsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUZvY3VzQW5kQmx1ckV2ZW50LCBJSW5wdXRGdW5jdGlvbkNvbnRyb2xFdmVudCwgTGlic1VpQ29tcG9uZW50c0lucHV0c0lucHV0Q29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1pbnB1dHMtaW5wdXQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlVW50aWwsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElJbnB1dFNlYXJjaENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGlic191aS1jb21wb25lbnRzLWlucHV0cy1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIExpYnNVaUNvbXBvbmVudHNJbnB1dHNJbnB1dENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTW9MaWJzU2hhcmVkQ29tcG9uZW50c0lucHV0U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKiBQUk9QRVJUWSAqL1xuICBwcm90ZWN0ZWQgdmFsdWVTZWFyY2ggPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgcHJpdmF0ZSBvbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIG9uU2VhcmNoOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG9uRW50ZXI6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgdGltZW91dCA9IHNpZ25hbDxudW1iZXI+KDApO1xuICBwcml2YXRlIHNlYXJjaGluZ1doaWxlRW50ZXJpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qIElOUFVUICovXG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzZWFyY2hDb25maWcgPSBpbnB1dDxJSW5wdXRTZWFyY2hDb25maWcsIElJbnB1dFNlYXJjaENvbmZpZz4oe30sIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlIHx8IHt9IH0pO1xuICByZWFkb25seSBpZ25vcmVBdXRvQ29tcGxldGUgPSBpbnB1dDxib29sZWFuPigpOyAvLyBraMO0bmcgZW1pdCBz4buxIGtp4buHbiBzYXUgMSBraG/huqNuZyB0aOG7nWkgZ2lhbiBuZ8aw4budaSBkw7luZyBuZ+G7q25nIG5o4bqtcFxuICByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBpbnB1dDxudW1iZXIsIG51bWJlcj4oMTAwMCwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gMTAwMCB9KTtcbiAgcmVhZG9ubHkgaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGZvY3VzVGltZU91dCA9IGlucHV0PG51bWJlciwgbnVtYmVyPig2MDAsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IDYwMCB9KTtcbiAgcmVhZG9ubHkgYmx1clRpbWVPdXQgPSBpbnB1dDxudW1iZXIsIG51bWJlcj4oNjAwLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyA2MDAgfSk7O1xuXG4gIC8qIE9VVFBVVCAqL1xuICByZWFkb25seSBvdXRTZWFyY2ggPSBvdXRwdXQ8c3RyaW5nPigpOyAvLyBzYXUgMSBraG/huqNuZyB0aOG7nWkgZ2lhbiBuZ8aw4budaSBkw7luZyBuZ+G7q25nIG5o4bqtcCBz4bq9IGVtaXQgc+G7sSBraeG7h25cbiAgcmVhZG9ubHkgb3V0VmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nPigpOyAvLyBz4butIGThu6VuZyBraGkgbXXhu5FuIGzhuq9uZyBuZ2hlIG3hu5dpIGzhuqduIGfDtSB0ZXh0XG4gIHJlYWRvbmx5IG91dEljb25MZWZ0ID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0SWNvblJpZ2h0ID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0Rm9jdXNBbmRCbHVyID0gb3V0cHV0PElGb2N1c0FuZEJsdXJFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25zQ29udHJvbCA9IG91dHB1dDxJSW5wdXRGdW5jdGlvbkNvbnRyb2xFdmVudD4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU2VhcmNoLnNldCh0aGlzLnNlYXJjaENvbmZpZygpPy52YWx1ZSB8fCAnJylcbiAgICB0aGlzLm9uU2VhcmNoLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUoKSksXG4gICAgICBmaWx0ZXIoKGtleVNlYXJjaCkgPT4gISFrZXlTZWFyY2gpLFxuICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95KVxuICAgICkuc3Vic2NyaWJlKGtleVNlYXJjaCA9PiB7XG4gICAgICBpZiAodGhpcy5zZWFyY2hpbmdXaGlsZUVudGVyaW5nKCkgfHwgdGhpcy5pZ25vcmVBdXRvQ29tcGxldGUoKSB8fCAhdGhpcy52YWx1ZVNlYXJjaCgpKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoaW5nV2hpbGVFbnRlcmluZy5zZXQoZmFsc2UpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMub3V0U2VhcmNoLmVtaXQoYCR7a2V5U2VhcmNofWAudHJpbSgpKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uRW50ZXIucGlwZSh0aHJvdHRsZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUoKSksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSkpLnN1YnNjcmliZShrZXlTZWFyY2ggPT4ge1xuICAgICAgdGhpcy5vdXRTZWFyY2guZW1pdChgJHtrZXlTZWFyY2h9YC50cmltKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TKi9cbiAgcHJvdGVjdGVkIGhhbmRsZXJWYWx1ZUNoYW5nZShrZXlTZWFyY2g6IHN0cmluZykge1xuICAgIHRoaXMub3V0VmFsdWVDaGFuZ2UuZW1pdChrZXlTZWFyY2gudG9TdHJpbmcoKSk7XG4gICAgdGhpcy52YWx1ZVNlYXJjaC5zZXQoa2V5U2VhcmNoIGFzIHN0cmluZyk7XG4gICAgdGhpcy5zZWFyY2hpbmdXaGlsZUVudGVyaW5nLnNldChmYWxzZSk7XG4gICAgaWYgKHRoaXMudmFsdWVTZWFyY2goKSkge1xuICAgICAgdGhpcy5vblNlYXJjaC5uZXh0KHRoaXMudmFsdWVTZWFyY2goKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCgpKTtcbiAgICB0aGlzLnRpbWVvdXQuc2V0KHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnZhbHVlU2VhcmNoKCkgJiYgIXRoaXMuaWdub3JlQXV0b0NvbXBsZXRlKCkpIHtcbiAgICAgICAgdGhpcy5vdXRTZWFyY2guZW1pdCh0aGlzLnZhbHVlU2VhcmNoKCkpO1xuICAgICAgfVxuICAgIH0sIDUwMCkpO1xuXG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckVudGVySW5wdXQoZTogSUV2ZW50KSB7XG4gICAgdGhpcy52YWx1ZVNlYXJjaC5zZXQoZS50YXJnZXQudmFsdWUpO1xuICAgIHRoaXMuc2VhcmNoaW5nV2hpbGVFbnRlcmluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5vbkVudGVyLm5leHQodGhpcy52YWx1ZVNlYXJjaCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyRXZlbnRJY29uTGVmdChldmVudE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMub3V0SWNvbkxlZnQuZW1pdChldmVudE5hbWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJFdmVudEljb25SaWdodChldmVudE5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNlYXJjaENvbmZpZygpPy5oYXNDbGVhclNlYXJjaCkge1xuICAgICAgdGhpcy52YWx1ZVNlYXJjaC5zZXQoJycpO1xuICAgICAgdGhpcy5vdXRTZWFyY2guZW1pdCh0aGlzLnZhbHVlU2VhcmNoKCkpO1xuICAgIH1cbiAgICB0aGlzLm91dEljb25SaWdodC5lbWl0KGV2ZW50TmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckZ1bmN0aW9uQ29udHJvbChldmVudDogSUlucHV0RnVuY3Rpb25Db250cm9sRXZlbnQpIHtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckZvY3VzQW5kQmx1cihldmVudDogSUZvY3VzQW5kQmx1ckV2ZW50KSB7XG4gICAgdGhpcy5vdXRGb2N1c0FuZEJsdXIuZW1pdChldmVudCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KCkpO1xuICAgIHRoaXMub25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCJAaWYgKHNlYXJjaENvbmZpZygpOyBhcyBzZWFyY2hDb25maWcpIHtcbiAgPGxpYnNfdWktY29tcG9uZW50cy1pbnB1dHMtaW5wdXQgW2Rpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gICAgW2lnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50XT1cImlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50KClcIlxuICAgIFtkZWZhdWx0SGVpZ2h0XT1cInNlYXJjaENvbmZpZy5kZWZhdWx0SGVpZ2h0IHx8IDMyXCJcbiAgICBbY2xhc3NJbmNsdWRlXT1cIid3LWZ1bGwgJysoc2VhcmNoQ29uZmlnLmNsYXNzSW5jbHVkZSA/IHNlYXJjaENvbmZpZy5jbGFzc0luY2x1ZGUgOiAnJylcIlxuICAgIFtpY29uTGVmdENsYXNzXT1cInNlYXJjaENvbmZpZy5pY29uTGVmdENsYXNzID8/ICdsaWJzLXVpLWljb24tc2VhcmNoJ1wiXG4gICAgW2ljb25SaWdodENsYXNzXT1cIigoc2VhcmNoQ29uZmlnLmhhc0NsZWFyU2VhcmNoICYmIHZhbHVlU2VhcmNoKCkpID8gJ2xpYnMtdWktaWNvbi1jbG9zZS1jaXJjbGUtc29saWQgY3Vyc29yLXBvaW50ZXIgJyA6ICcnKSArIChzZWFyY2hDb25maWcuaWNvblJpZ2h0Q2xhc3MgPyAnICcrc2VhcmNoQ29uZmlnLmljb25SaWdodENsYXNzOicnKVwiXG4gICAgW3NldEljb25SaWdodENvbG9yU2FtZUNvbG9yRGlzYWJsZVJlYWRPbmx5XT1cIihzZWFyY2hDb25maWcuaGFzQ2xlYXJTZWFyY2ggJiYgdmFsdWVTZWFyY2goKSkgPyB0cnVlOiBmYWxzZVwiXG4gICAgW3ZhbHVlXT1cInNlYXJjaENvbmZpZy52YWx1ZSB8fCB0aGlzLnZhbHVlU2VhcmNoKClcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoc2VhcmNoQ29uZmlnLnBsYWNlaG9sZGVyIHx8ICdpMThuX3NlYXJjaCcpIHwgdHJhbnNsYXRlXCJcbiAgICBbbm9Cb3JkZXJdPVwic2VhcmNoQ29uZmlnLm5vQm9yZGVyIHx8IGZhbHNlXCJcbiAgICBbYmFja2dyb3VuZE5vbmVdPVwic2VhcmNoQ29uZmlnLmJhY2tncm91bmROb25lIHx8IGZhbHNlXCJcbiAgICBbY2xhc3NDb250YWluZXJJbnB1dF09XCJzZWFyY2hDb25maWcuY2xhc3NDb250YWluZXJJbnB1dCB8fCAnJ1wiXG4gICAgW3BvcG92ZXJDb250ZW50SWNvblJpZ2h0XT1cInNlYXJjaENvbmZpZy5wb3BvdmVyQ29udGVudEljb25SaWdodCB8fCAnJ1wiXG4gICAgW2ZvY3VzVGltZU91dF09XCJmb2N1c1RpbWVPdXQoKVwiXG4gICAgW2JsdXJUaW1lT3V0XT1cImJsdXJUaW1lT3V0KClcIlxuICAgIChvdXRDaGFuZ2UpPVwiaGFuZGxlclZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIChvdXRJY29uTGVmdCk9XCJoYW5kbGVyRXZlbnRJY29uTGVmdCgkZXZlbnQpXCJcbiAgICAob3V0SWNvblJpZ2h0KT1cImhhbmRsZXJFdmVudEljb25SaWdodCgkZXZlbnQpXCJcbiAgICAob3V0RnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyRnVuY3Rpb25Db250cm9sKCRldmVudClcIlxuICAgIChvdXRFbnRlckV2ZW50KT1cImhhbmRsZXJFbnRlcklucHV0KCRldmVudClcIlxuICAgIChvdXRGb2N1c0FuZEJsdXJFdmVudCk9XCJoYW5kbGVyRm9jdXNBbmRCbHVyKCRldmVudClcIiAvPlxufVxuIl19
@@ -0,0 +1,102 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, input, output, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { LibsUiComponentsInputsInputComponent } from '@libs-ui/components-inputs-input';
4
+ import * as i1 from '@ngx-translate/core';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { Subject } from 'rxjs';
7
+ import { debounceTime, filter, takeUntil, throttleTime } from 'rxjs/operators';
8
+
9
+ class MoLibsSharedComponentsInputSearchComponent {
10
+ /* PROPERTY */
11
+ valueSearch = signal('');
12
+ onDestroy = new Subject();
13
+ onSearch = new Subject();
14
+ onEnter = new Subject();
15
+ timeout = signal(0);
16
+ searchingWhileEntering = signal(false);
17
+ /* INPUT */
18
+ disable = input(false);
19
+ readonly = input(false);
20
+ searchConfig = input({}, { transform: (value) => value || {} });
21
+ ignoreAutoComplete = input(); // không emit sự kiện sau 1 khoảng thời gian người dùng ngừng nhập
22
+ debounceTime = input(1000, { transform: (value) => value ?? 1000 });
23
+ ignoreStopPropagationEvent = input(false);
24
+ focusTimeOut = input(600, { transform: (value) => value ?? 600 });
25
+ blurTimeOut = input(600, { transform: (value) => value ?? 600 });
26
+ ;
27
+ /* OUTPUT */
28
+ outSearch = output(); // sau 1 khoảng thời gian người dùng ngừng nhập sẽ emit sự kiện
29
+ outValueChange = output(); // sử dụng khi muốn lắng nghe mỗi lần gõ text
30
+ outIconLeft = output();
31
+ outIconRight = output();
32
+ outFocusAndBlur = output();
33
+ outFunctionsControl = output();
34
+ ngOnInit() {
35
+ this.valueSearch.set(this.searchConfig()?.value || '');
36
+ this.onSearch.pipe(debounceTime(this.debounceTime()), filter((keySearch) => !!keySearch), takeUntil(this.onDestroy)).subscribe(keySearch => {
37
+ if (this.searchingWhileEntering() || this.ignoreAutoComplete() || !this.valueSearch()) {
38
+ this.searchingWhileEntering.set(false);
39
+ return;
40
+ }
41
+ this.outSearch.emit(`${keySearch}`.trim());
42
+ });
43
+ this.onEnter.pipe(throttleTime(this.debounceTime()), takeUntil(this.onDestroy)).subscribe(keySearch => {
44
+ this.outSearch.emit(`${keySearch}`.trim());
45
+ });
46
+ }
47
+ /* FUNCTIONS*/
48
+ handlerValueChange(keySearch) {
49
+ this.outValueChange.emit(keySearch.toString());
50
+ this.valueSearch.set(keySearch);
51
+ this.searchingWhileEntering.set(false);
52
+ if (this.valueSearch()) {
53
+ this.onSearch.next(this.valueSearch());
54
+ return;
55
+ }
56
+ clearTimeout(this.timeout());
57
+ this.timeout.set(setTimeout(() => {
58
+ if (!this.valueSearch() && !this.ignoreAutoComplete()) {
59
+ this.outSearch.emit(this.valueSearch());
60
+ }
61
+ }, 500));
62
+ }
63
+ handlerEnterInput(e) {
64
+ this.valueSearch.set(e.target.value);
65
+ this.searchingWhileEntering.set(true);
66
+ this.onEnter.next(this.valueSearch());
67
+ }
68
+ handlerEventIconLeft(eventName) {
69
+ this.outIconLeft.emit(eventName);
70
+ }
71
+ handlerEventIconRight(eventName) {
72
+ if (this.searchConfig()?.hasClearSearch) {
73
+ this.valueSearch.set('');
74
+ this.outSearch.emit(this.valueSearch());
75
+ }
76
+ this.outIconRight.emit(eventName);
77
+ }
78
+ handlerFunctionControl(event) {
79
+ this.outFunctionsControl.emit(event);
80
+ }
81
+ handlerFocusAndBlur(event) {
82
+ this.outFocusAndBlur.emit(event);
83
+ }
84
+ ngOnDestroy() {
85
+ clearTimeout(this.timeout());
86
+ this.onDestroy.next();
87
+ this.onDestroy.complete();
88
+ }
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoLibsSharedComponentsInputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MoLibsSharedComponentsInputSearchComponent, isStandalone: true, selector: "libs_ui-components-inputs-search", inputs: { disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, searchConfig: { classPropertyName: "searchConfig", publicName: "searchConfig", isSignal: true, isRequired: false, transformFunction: null }, ignoreAutoComplete: { classPropertyName: "ignoreAutoComplete", publicName: "ignoreAutoComplete", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, focusTimeOut: { classPropertyName: "focusTimeOut", publicName: "focusTimeOut", isSignal: true, isRequired: false, transformFunction: null }, blurTimeOut: { classPropertyName: "blurTimeOut", publicName: "blurTimeOut", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outSearch: "outSearch", outValueChange: "outValueChange", outIconLeft: "outIconLeft", outIconRight: "outIconRight", outFocusAndBlur: "outFocusAndBlur", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "@if (searchConfig(); as searchConfig) {\n <libs_ui-components-inputs-input [disable]=\"disable()\"\n [readonly]=\"readonly()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n [defaultHeight]=\"searchConfig.defaultHeight || 32\"\n [classInclude]=\"'w-full '+(searchConfig.classInclude ? searchConfig.classInclude : '')\"\n [iconLeftClass]=\"searchConfig.iconLeftClass ?? 'libs-ui-icon-search'\"\n [iconRightClass]=\"((searchConfig.hasClearSearch && valueSearch()) ? 'libs-ui-icon-close-circle-solid cursor-pointer ' : '') + (searchConfig.iconRightClass ? ' '+searchConfig.iconRightClass:'')\"\n [setIconRightColorSameColorDisableReadOnly]=\"(searchConfig.hasClearSearch && valueSearch()) ? true: false\"\n [value]=\"searchConfig.value || this.valueSearch()\"\n [placeholder]=\"(searchConfig.placeholder || 'i18n_search') | translate\"\n [noBorder]=\"searchConfig.noBorder || false\"\n [backgroundNone]=\"searchConfig.backgroundNone || false\"\n [classContainerInput]=\"searchConfig.classContainerInput || ''\"\n [popoverContentIconRight]=\"searchConfig.popoverContentIconRight || ''\"\n [focusTimeOut]=\"focusTimeOut()\"\n [blurTimeOut]=\"blurTimeOut()\"\n (outChange)=\"handlerValueChange($event)\"\n (outIconLeft)=\"handlerEventIconLeft($event)\"\n (outIconRight)=\"handlerEventIconRight($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outEnterEvent)=\"handlerEnterInput($event)\"\n (outFocusAndBlurEvent)=\"handlerFocusAndBlur($event)\" />\n}\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsInputsInputComponent, selector: "libs_ui-components-inputs-input", inputs: ["tagInput", "dataType", "tabInsertContentTagInput", "textAreaEnterNotNewLine", "emitEmptyInDataTypeNumber", "keepZeroInTypeInt", "autoAddZeroLessThan10InTypeInt", "ignoreBlockInputMaxValue", "hiddenContent", "maxValueNumber", "minValueNumber", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "classInclude", "maxLength", "readonly", "disable", "noBorder", "backgroundNone", "borderError", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "value", "autoRemoveEmoji", "defaultHeight", "minHeightTextArea", "maxHeightTextArea", "focusTimeOut", "blurTimeOut", "zIndexPopoverContent", "classContainerInput", "showCount", "ignoreStopPropagationEvent", "resize", "templateLeftBottomInput", "templateRightBottomInput", "classContainerBottomInput", "ignoreWidthInput100", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "resetAutoCompletePassword", "acceptOnlyClickIcon", "setIconRightColorSameColorDisableReadOnly", "onlyAcceptNegativeValue", "maxLengthNumberCount", "focusInput"], outputs: ["maxValueNumberChange", "minValueNumberChange", "fixedFloatChange", "acceptNegativeValueChange", "maxLengthChange", "valueChange", "maxLengthNumberCountChange", "outHeightAreaChange", "outChange", "outFocusAndBlurEvent", "outEnterEvent", "outInputEvent", "outIconLeft", "outIconRight", "outFunctionsControl", "outFilesDrop", "outFileDrop", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoLibsSharedComponentsInputSearchComponent, decorators: [{
93
+ type: Component,
94
+ args: [{ selector: 'libs_ui-components-inputs-search', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, LibsUiComponentsInputsInputComponent], template: "@if (searchConfig(); as searchConfig) {\n <libs_ui-components-inputs-input [disable]=\"disable()\"\n [readonly]=\"readonly()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n [defaultHeight]=\"searchConfig.defaultHeight || 32\"\n [classInclude]=\"'w-full '+(searchConfig.classInclude ? searchConfig.classInclude : '')\"\n [iconLeftClass]=\"searchConfig.iconLeftClass ?? 'libs-ui-icon-search'\"\n [iconRightClass]=\"((searchConfig.hasClearSearch && valueSearch()) ? 'libs-ui-icon-close-circle-solid cursor-pointer ' : '') + (searchConfig.iconRightClass ? ' '+searchConfig.iconRightClass:'')\"\n [setIconRightColorSameColorDisableReadOnly]=\"(searchConfig.hasClearSearch && valueSearch()) ? true: false\"\n [value]=\"searchConfig.value || this.valueSearch()\"\n [placeholder]=\"(searchConfig.placeholder || 'i18n_search') | translate\"\n [noBorder]=\"searchConfig.noBorder || false\"\n [backgroundNone]=\"searchConfig.backgroundNone || false\"\n [classContainerInput]=\"searchConfig.classContainerInput || ''\"\n [popoverContentIconRight]=\"searchConfig.popoverContentIconRight || ''\"\n [focusTimeOut]=\"focusTimeOut()\"\n [blurTimeOut]=\"blurTimeOut()\"\n (outChange)=\"handlerValueChange($event)\"\n (outIconLeft)=\"handlerEventIconLeft($event)\"\n (outIconRight)=\"handlerEventIconRight($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outEnterEvent)=\"handlerEnterInput($event)\"\n (outFocusAndBlurEvent)=\"handlerFocusAndBlur($event)\" />\n}\n" }]
95
+ }] });
96
+
97
+ /**
98
+ * Generated bundle index. Do not edit.
99
+ */
100
+
101
+ export { MoLibsSharedComponentsInputSearchComponent };
102
+ //# sourceMappingURL=libs-ui-components-inputs-search.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs-ui-components-inputs-search.mjs","sources":["../../../../../../libs-ui/components/inputs/search/src/search.component.ts","../../../../../../libs-ui/components/inputs/search/src/search.component.html","../../../../../../libs-ui/components/inputs/search/src/libs-ui-components-inputs-search.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, OnDestroy, OnInit, input, output, signal } from '@angular/core';\nimport { IFocusAndBlurEvent, IInputFunctionControlEvent, LibsUiComponentsInputsInputComponent } from '@libs-ui/components-inputs-input';\nimport { IEvent } from '@libs-ui/interfaces-types';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil, throttleTime } from 'rxjs/operators';\nimport { IInputSearchConfig } from './interfaces/config.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-inputs-search',\n templateUrl: './search.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, LibsUiComponentsInputsInputComponent]\n})\nexport class MoLibsSharedComponentsInputSearchComponent implements OnInit, OnDestroy {\n /* PROPERTY */\n protected valueSearch = signal<string>('');\n\n private onDestroy = new Subject<void>();\n private onSearch: Subject<string> = new Subject();\n private onEnter: Subject<string> = new Subject();\n private timeout = signal<number>(0);\n private searchingWhileEntering = signal<boolean>(false);\n\n /* INPUT */\n readonly disable = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly searchConfig = input<IInputSearchConfig, IInputSearchConfig>({}, { transform: (value) => value || {} });\n readonly ignoreAutoComplete = input<boolean>(); // không emit sự kiện sau 1 khoảng thời gian người dùng ngừng nhập\n readonly debounceTime = input<number, number>(1000, { transform: (value) => value ?? 1000 });\n readonly ignoreStopPropagationEvent = input<boolean>(false);\n readonly focusTimeOut = input<number, number>(600, { transform: (value) => value ?? 600 });\n readonly blurTimeOut = input<number, number>(600, { transform: (value) => value ?? 600 });;\n\n /* OUTPUT */\n readonly outSearch = output<string>(); // sau 1 khoảng thời gian người dùng ngừng nhập sẽ emit sự kiện\n readonly outValueChange = output<string>(); // sử dụng khi muốn lắng nghe mỗi lần gõ text\n readonly outIconLeft = output<string>();\n readonly outIconRight = output<string>();\n readonly outFocusAndBlur = output<IFocusAndBlurEvent>();\n readonly outFunctionsControl = output<IInputFunctionControlEvent>();\n\n ngOnInit(): void {\n this.valueSearch.set(this.searchConfig()?.value || '')\n this.onSearch.pipe(\n debounceTime(this.debounceTime()),\n filter((keySearch) => !!keySearch),\n takeUntil(this.onDestroy)\n ).subscribe(keySearch => {\n if (this.searchingWhileEntering() || this.ignoreAutoComplete() || !this.valueSearch()) {\n this.searchingWhileEntering.set(false);\n\n return;\n }\n this.outSearch.emit(`${keySearch}`.trim());\n });\n this.onEnter.pipe(throttleTime(this.debounceTime()), takeUntil(this.onDestroy)).subscribe(keySearch => {\n this.outSearch.emit(`${keySearch}`.trim());\n });\n }\n\n /* FUNCTIONS*/\n protected handlerValueChange(keySearch: string) {\n this.outValueChange.emit(keySearch.toString());\n this.valueSearch.set(keySearch as string);\n this.searchingWhileEntering.set(false);\n if (this.valueSearch()) {\n this.onSearch.next(this.valueSearch());\n return;\n }\n\n clearTimeout(this.timeout());\n this.timeout.set(setTimeout(() => {\n if (!this.valueSearch() && !this.ignoreAutoComplete()) {\n this.outSearch.emit(this.valueSearch());\n }\n }, 500));\n\n }\n\n protected handlerEnterInput(e: IEvent) {\n this.valueSearch.set(e.target.value);\n this.searchingWhileEntering.set(true);\n this.onEnter.next(this.valueSearch());\n }\n\n protected handlerEventIconLeft(eventName: string) {\n this.outIconLeft.emit(eventName);\n }\n\n protected handlerEventIconRight(eventName: string) {\n if (this.searchConfig()?.hasClearSearch) {\n this.valueSearch.set('');\n this.outSearch.emit(this.valueSearch());\n }\n this.outIconRight.emit(eventName);\n }\n\n protected handlerFunctionControl(event: IInputFunctionControlEvent) {\n this.outFunctionsControl.emit(event);\n }\n\n protected handlerFocusAndBlur(event: IFocusAndBlurEvent) {\n this.outFocusAndBlur.emit(event);\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.timeout());\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","@if (searchConfig(); as searchConfig) {\n <libs_ui-components-inputs-input [disable]=\"disable()\"\n [readonly]=\"readonly()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n [defaultHeight]=\"searchConfig.defaultHeight || 32\"\n [classInclude]=\"'w-full '+(searchConfig.classInclude ? searchConfig.classInclude : '')\"\n [iconLeftClass]=\"searchConfig.iconLeftClass ?? 'libs-ui-icon-search'\"\n [iconRightClass]=\"((searchConfig.hasClearSearch && valueSearch()) ? 'libs-ui-icon-close-circle-solid cursor-pointer ' : '') + (searchConfig.iconRightClass ? ' '+searchConfig.iconRightClass:'')\"\n [setIconRightColorSameColorDisableReadOnly]=\"(searchConfig.hasClearSearch && valueSearch()) ? true: false\"\n [value]=\"searchConfig.value || this.valueSearch()\"\n [placeholder]=\"(searchConfig.placeholder || 'i18n_search') | translate\"\n [noBorder]=\"searchConfig.noBorder || false\"\n [backgroundNone]=\"searchConfig.backgroundNone || false\"\n [classContainerInput]=\"searchConfig.classContainerInput || ''\"\n [popoverContentIconRight]=\"searchConfig.popoverContentIconRight || ''\"\n [focusTimeOut]=\"focusTimeOut()\"\n [blurTimeOut]=\"blurTimeOut()\"\n (outChange)=\"handlerValueChange($event)\"\n (outIconLeft)=\"handlerEventIconLeft($event)\"\n (outIconRight)=\"handlerEventIconRight($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outEnterEvent)=\"handlerEnterInput($event)\"\n (outFocusAndBlurEvent)=\"handlerFocusAndBlur($event)\" />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAgBa,0CAA0C,CAAA;;AAE3C,IAAA,WAAW,GAAG,MAAM,CAAS,EAAE,CAAC;AAElC,IAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;AAC/B,IAAA,QAAQ,GAAoB,IAAI,OAAO,EAAE;AACzC,IAAA,OAAO,GAAoB,IAAI,OAAO,EAAE;AACxC,IAAA,OAAO,GAAG,MAAM,CAAS,CAAC,CAAC;AAC3B,IAAA,sBAAsB,GAAG,MAAM,CAAU,KAAK,CAAC;;AAG9C,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;AAC/B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC;AAChC,IAAA,YAAY,GAAG,KAAK,CAAyC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC;AACvG,IAAA,kBAAkB,GAAG,KAAK,EAAW,CAAC;AACtC,IAAA,YAAY,GAAG,KAAK,CAAiB,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AACnF,IAAA,0BAA0B,GAAG,KAAK,CAAU,KAAK,CAAC;AAClD,IAAA,YAAY,GAAG,KAAK,CAAiB,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;AACjF,IAAA,WAAW,GAAG,KAAK,CAAiB,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;;;AAGhF,IAAA,SAAS,GAAG,MAAM,EAAU,CAAC;AAC7B,IAAA,cAAc,GAAG,MAAM,EAAU,CAAC;IAClC,WAAW,GAAG,MAAM,EAAU;IAC9B,YAAY,GAAG,MAAM,EAAU;IAC/B,eAAe,GAAG,MAAM,EAAsB;IAC9C,mBAAmB,GAAG,MAAM,EAA8B;IAEnE,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EACjC,MAAM,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC,EAClC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC,SAAS,CAAC,SAAS,IAAG;AACtB,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACrF,gBAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAEtC;;AAEF,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC,IAAI,EAAE,CAAC;AAC5C,SAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAG;AACpG,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC,IAAI,EAAE,CAAC;AAC5C,SAAC,CAAC;;;AAIM,IAAA,kBAAkB,CAAC,SAAiB,EAAA;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAmB,CAAC;AACzC,QAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC;AACtC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC;;AAGF,QAAA,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAE3C,SAAC,EAAE,GAAG,CAAC,CAAC;;AAIA,IAAA,iBAAiB,CAAC,CAAS,EAAA;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACpC,QAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAG7B,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC9C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;;AAGxB,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE;AACvC,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAEzC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;;AAGzB,IAAA,sBAAsB,CAAC,KAAiC,EAAA;AAChE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG5B,IAAA,mBAAmB,CAAC,KAAyB,EAAA;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGlC,WAAW,GAAA;AACT,QAAA,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;;wGA/FhB,0CAA0C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1C,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0CAA0C,EChBvD,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,khDAwBA,EDVY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,4FAAE,oCAAoC,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,mBAAA,EAAA,gCAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,2CAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,4BAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,aAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,8BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAEpD,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBARtD,SAAS;+BAEE,kCAAkC,EAAA,UAAA,EAEhC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,EAAE,oCAAoC,CAAC,EAAA,QAAA,EAAA,khDAAA,EAAA;;;AEdlE;;AAEG;;;;"}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './search.component';
2
+ export * from './interfaces/config.interface';
@@ -0,0 +1,14 @@
1
+ export interface IInputSearchConfig {
2
+ classInclude?: string;
3
+ classContainerInput?: string;
4
+ placeholder?: string;
5
+ value?: string;
6
+ noBorder?: boolean;
7
+ backgroundNone?: boolean;
8
+ iconLeftClass?: string;
9
+ iconRightClass?: string;
10
+ defaultHeight?: number;
11
+ classCoverInputSearch?: string;
12
+ hasClearSearch?: boolean;
13
+ popoverContentIconRight?: string;
14
+ }
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@libs-ui/components-inputs-search",
3
+ "version": "0.2.5",
4
+ "peerDependencies": {
5
+ "@angular/common": "^18.2.0",
6
+ "@angular/core": "^18.2.0"
7
+ },
8
+ "sideEffects": false,
9
+ "module": "fesm2022/libs-ui-components-inputs-search.mjs",
10
+ "typings": "index.d.ts",
11
+ "exports": {
12
+ "./package.json": {
13
+ "default": "./package.json"
14
+ },
15
+ ".": {
16
+ "types": "./index.d.ts",
17
+ "esm2022": "./esm2022/libs-ui-components-inputs-search.mjs",
18
+ "esm": "./esm2022/libs-ui-components-inputs-search.mjs",
19
+ "default": "./fesm2022/libs-ui-components-inputs-search.mjs"
20
+ }
21
+ },
22
+ "dependencies": {
23
+ "tslib": "^2.3.0"
24
+ }
25
+ }
@@ -0,0 +1,37 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { IFocusAndBlurEvent, IInputFunctionControlEvent } from '@libs-ui/components-inputs-input';
3
+ import { IEvent } from '@libs-ui/interfaces-types';
4
+ import { IInputSearchConfig } from './interfaces/config.interface';
5
+ import * as i0 from "@angular/core";
6
+ export declare class MoLibsSharedComponentsInputSearchComponent implements OnInit, OnDestroy {
7
+ protected valueSearch: import("@angular/core").WritableSignal<string>;
8
+ private onDestroy;
9
+ private onSearch;
10
+ private onEnter;
11
+ private timeout;
12
+ private searchingWhileEntering;
13
+ readonly disable: import("@angular/core").InputSignal<boolean>;
14
+ readonly readonly: import("@angular/core").InputSignal<boolean>;
15
+ readonly searchConfig: import("@angular/core").InputSignalWithTransform<IInputSearchConfig, IInputSearchConfig>;
16
+ readonly ignoreAutoComplete: import("@angular/core").InputSignal<boolean | undefined>;
17
+ readonly debounceTime: import("@angular/core").InputSignalWithTransform<number, number>;
18
+ readonly ignoreStopPropagationEvent: import("@angular/core").InputSignal<boolean>;
19
+ readonly focusTimeOut: import("@angular/core").InputSignalWithTransform<number, number>;
20
+ readonly blurTimeOut: import("@angular/core").InputSignalWithTransform<number, number>;
21
+ readonly outSearch: import("@angular/core").OutputEmitterRef<string>;
22
+ readonly outValueChange: import("@angular/core").OutputEmitterRef<string>;
23
+ readonly outIconLeft: import("@angular/core").OutputEmitterRef<string>;
24
+ readonly outIconRight: import("@angular/core").OutputEmitterRef<string>;
25
+ readonly outFocusAndBlur: import("@angular/core").OutputEmitterRef<IFocusAndBlurEvent>;
26
+ readonly outFunctionsControl: import("@angular/core").OutputEmitterRef<IInputFunctionControlEvent>;
27
+ ngOnInit(): void;
28
+ protected handlerValueChange(keySearch: string): void;
29
+ protected handlerEnterInput(e: IEvent): void;
30
+ protected handlerEventIconLeft(eventName: string): void;
31
+ protected handlerEventIconRight(eventName: string): void;
32
+ protected handlerFunctionControl(event: IInputFunctionControlEvent): void;
33
+ protected handlerFocusAndBlur(event: IFocusAndBlurEvent): void;
34
+ ngOnDestroy(): void;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<MoLibsSharedComponentsInputSearchComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<MoLibsSharedComponentsInputSearchComponent, "libs_ui-components-inputs-search", never, { "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "searchConfig": { "alias": "searchConfig"; "required": false; "isSignal": true; }; "ignoreAutoComplete": { "alias": "ignoreAutoComplete"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "ignoreStopPropagationEvent": { "alias": "ignoreStopPropagationEvent"; "required": false; "isSignal": true; }; "focusTimeOut": { "alias": "focusTimeOut"; "required": false; "isSignal": true; }; "blurTimeOut": { "alias": "blurTimeOut"; "required": false; "isSignal": true; }; }, { "outSearch": "outSearch"; "outValueChange": "outValueChange"; "outIconLeft": "outIconLeft"; "outIconRight": "outIconRight"; "outFocusAndBlur": "outFocusAndBlur"; "outFunctionsControl": "outFunctionsControl"; }, never, never, true, never>;
37
+ }