@libs-ui/components-buttons-sort 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
+ # buttons-sort
2
+
3
+ This library was generated with [Nx](https://nx.dev).
@@ -0,0 +1,24 @@
1
+ import { IPopoverFunctionControlEvent, IPopoverOverlay } from "@libs-ui/components-popover";
2
+ import { ISort, TYPE_SORT_TYPE } from "../interfaces";
3
+ import * as i0 from "@angular/core";
4
+ export declare class LibsUiComponentsButtonsSortArrowComponent {
5
+ private popoverFunctionControlEvent?;
6
+ protected config: import("@angular/core").Signal<IPopoverOverlay>;
7
+ readonly size: import("@angular/core").InputSignal<number>;
8
+ readonly mode: import("@angular/core").ModelSignal<TYPE_SORT_TYPE>;
9
+ readonly fieldSort: import("@angular/core").InputSignal<string>;
10
+ readonly disable: import("@angular/core").InputSignal<boolean>;
11
+ readonly ignorePopoverContent: import("@angular/core").InputSignal<boolean>;
12
+ readonly popoverContentAsc: import("@angular/core").InputSignal<string | undefined>;
13
+ readonly popoverContentDesc: import("@angular/core").InputSignal<string | undefined>;
14
+ readonly defaultMode: import("@angular/core").InputSignal<TYPE_SORT_TYPE>;
15
+ readonly zIndex: import("@angular/core").InputSignal<number>;
16
+ readonly outChange: import("@angular/core").OutputEmitterRef<ISort>;
17
+ protected handlerClickSort(event: Event): Promise<void>;
18
+ private updateMode;
19
+ private getMode;
20
+ private reset;
21
+ protected handlerPopoverFunctionControl(event: IPopoverFunctionControlEvent): Promise<void>;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsButtonsSortArrowComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsButtonsSortArrowComponent, "libs_ui-components-buttons-sort-arrow", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "fieldSort": { "alias": "fieldSort"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "ignorePopoverContent": { "alias": "ignorePopoverContent"; "required": false; "isSignal": true; }; "popoverContentAsc": { "alias": "popoverContentAsc"; "required": false; "isSignal": true; }; "popoverContentDesc": { "alias": "popoverContentDesc"; "required": false; "isSignal": true; }; "defaultMode": { "alias": "defaultMode"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; }, { "mode": "modeChange"; "outChange": "outChange"; }, never, never, true, never>;
24
+ }
@@ -0,0 +1,9 @@
1
+ import { TYPE_SORT_TYPE } from "../../interfaces";
2
+ import * as i0 from "@angular/core";
3
+ export declare class LibsUiComponentsButtonSortArrowIconComponent {
4
+ readonly size: import("@angular/core").InputSignal<number>;
5
+ readonly sortType: import("@angular/core").InputSignal<TYPE_SORT_TYPE | undefined>;
6
+ readonly disable: import("@angular/core").InputSignal<boolean>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsButtonSortArrowIconComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsButtonSortArrowIconComponent, "libs_ui-components-button-sort-arrow-icon", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "sortType": { "alias": "sortType"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, model, output } from "@angular/core";
2
+ import { LibsUiComponentsPopoverComponent } from "@libs-ui/components-popover";
3
+ import { LibsUiComponentsButtonSortArrowIconComponent } from "./icon/icon.component";
4
+ import * as i0 from "@angular/core";
5
+ export class LibsUiComponentsButtonsSortArrowComponent {
6
+ /* PROPERTY */
7
+ popoverFunctionControlEvent;
8
+ config = computed(() => {
9
+ return { zIndex: this.zIndex(), content: ((this.mode() && this.mode() === 'asc') || (!this.mode() && this.defaultMode() === 'desc')) ? this.popoverContentDesc() : this.popoverContentAsc() };
10
+ });
11
+ /* INPUT */
12
+ size = input(16);
13
+ mode = model("");
14
+ fieldSort = input("");
15
+ disable = input(false);
16
+ ignorePopoverContent = input(true);
17
+ popoverContentAsc = input();
18
+ popoverContentDesc = input();
19
+ defaultMode = input("");
20
+ zIndex = input(10);
21
+ /* OUTPUT */
22
+ outChange = output();
23
+ /* FUNCTIONS */
24
+ async handlerClickSort(event) {
25
+ event.stopPropagation();
26
+ if (this.disable()) {
27
+ return;
28
+ }
29
+ this.updateMode();
30
+ this.outChange.emit(await this.getMode());
31
+ this.popoverFunctionControlEvent?.updatePopoverOverlay();
32
+ }
33
+ async updateMode() {
34
+ if (!this.mode()) {
35
+ this.mode.set(this.defaultMode() || 'asc');
36
+ return;
37
+ }
38
+ this.mode.update(value => value === 'asc' ? 'desc' : 'asc');
39
+ }
40
+ async getMode() {
41
+ return {
42
+ mode: this.mode(),
43
+ modeNumber: this.mode() === 'asc' ? 1 : 2,
44
+ fieldSort: this.fieldSort(),
45
+ reset: this.reset.bind(this)
46
+ };
47
+ }
48
+ async reset() {
49
+ this.mode.set('');
50
+ }
51
+ async handlerPopoverFunctionControl(event) {
52
+ this.popoverFunctionControlEvent = event;
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsButtonsSortArrowComponent, isStandalone: true, selector: "libs_ui-components-buttons-sort-arrow", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, fieldSort: { classPropertyName: "fieldSort", publicName: "fieldSort", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, ignorePopoverContent: { classPropertyName: "ignorePopoverContent", publicName: "ignorePopoverContent", isSignal: true, isRequired: false, transformFunction: null }, popoverContentAsc: { classPropertyName: "popoverContentAsc", publicName: "popoverContentAsc", isSignal: true, isRequired: false, transformFunction: null }, popoverContentDesc: { classPropertyName: "popoverContentDesc", publicName: "popoverContentDesc", isSignal: true, isRequired: false, transformFunction: null }, defaultMode: { classPropertyName: "defaultMode", publicName: "defaultMode", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", outChange: "outChange" }, ngImport: i0, template: "<div class='flex'\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon [size]='size()'\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n", dependencies: [{ kind: "component", type: LibsUiComponentsButtonSortArrowIconComponent, selector: "libs_ui-components-button-sort-arrow-icon", inputs: ["size", "sortType", "disable"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: "libs_ui-components-buttons-sort-arrow", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
60
+ LibsUiComponentsButtonSortArrowIconComponent,
61
+ LibsUiComponentsPopoverComponent
62
+ ], template: "<div class='flex'\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon [size]='size()'\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n" }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvYXJyb3cvYXJyb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvYXJyb3cvYXJyb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBZ0IsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBaUQsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5SCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFhckYsTUFBTSxPQUFPLHlDQUF5QztJQUVwRCxjQUFjO0lBQ04sMkJBQTJCLENBQWdDO0lBQ3pELE1BQU0sR0FBRyxRQUFRLENBQWtCLEdBQUcsRUFBRTtRQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUE7SUFDL0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXO0lBQ0YsSUFBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6QixJQUFJLEdBQUcsS0FBSyxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUNqQyxTQUFTLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEMsb0JBQW9CLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQzVDLGlCQUFpQixHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ3BDLGtCQUFrQixHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ3JDLFdBQVcsR0FBRyxLQUFLLENBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFFcEMsWUFBWTtJQUNILFNBQVMsR0FBRyxNQUFNLEVBQVMsQ0FBQztJQUVyQyxlQUFlO0lBQ0wsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQVk7UUFDM0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLENBQUMsQ0FBQztZQUUzQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3QixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxLQUFLLENBQUMsNkJBQTZCLENBQUMsS0FBbUM7UUFDL0UsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO3dHQXpEVSx5Q0FBeUM7NEZBQXpDLHlDQUF5Qyx1M0NDaEJ0RCxnWUFVQSw0Q0RFSSw0Q0FBNEMsK0hBQzVDLGdDQUFnQzs7NEZBR3ZCLHlDQUF5QztrQkFYckQsU0FBUzsrQkFFRSx1Q0FBdUMsY0FFckMsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLDRDQUE0Qzt3QkFDNUMsZ0NBQWdDO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgY29tcHV0ZWQsIGlucHV0LCBtb2RlbCwgb3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElQb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQsIElQb3BvdmVyT3ZlcmxheSwgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnQgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyXCI7XG5pbXBvcnQgeyBJU29ydCwgVFlQRV9TT1JUX1RZUEUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0J1dHRvblNvcnRBcnJvd0ljb25Db21wb25lbnQgfSBmcm9tIFwiLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogXCJsaWJzX3VpLWNvbXBvbmVudHMtYnV0dG9ucy1zb3J0LWFycm93XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYXJyb3cuY29tcG9uZW50Lmh0bWxcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBMaWJzVWlDb21wb25lbnRzQnV0dG9uU29ydEFycm93SWNvbkNvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNCdXR0b25zU29ydEFycm93Q29tcG9uZW50IHtcblxuICAvKiBQUk9QRVJUWSAqL1xuICBwcml2YXRlIHBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudD86IElQb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQ7XG4gIHByb3RlY3RlZCBjb25maWcgPSBjb21wdXRlZDxJUG9wb3Zlck92ZXJsYXk+KCgpID0+IHtcbiAgICByZXR1cm4geyB6SW5kZXg6IHRoaXMuekluZGV4KCksIGNvbnRlbnQ6ICgodGhpcy5tb2RlKCkgJiYgdGhpcy5tb2RlKCkgPT09ICdhc2MnKSB8fCAoIXRoaXMubW9kZSgpICYmIHRoaXMuZGVmYXVsdE1vZGUoKSA9PT0gJ2Rlc2MnKSkgPyB0aGlzLnBvcG92ZXJDb250ZW50RGVzYygpIDogdGhpcy5wb3BvdmVyQ29udGVudEFzYygpIH1cbiAgfSk7XG5cbiAgLyogSU5QVVQgKi9cbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PG51bWJlcj4oMTYpO1xuICByZWFkb25seSBtb2RlID0gbW9kZWw8VFlQRV9TT1JUX1RZUEU+KFwiXCIpO1xuICByZWFkb25seSBmaWVsZFNvcnQgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBpZ25vcmVQb3BvdmVyQ29udGVudCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBwb3BvdmVyQ29udGVudEFzYyA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgcG9wb3ZlckNvbnRlbnREZXNjID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBkZWZhdWx0TW9kZSA9IGlucHV0PFRZUEVfU09SVF9UWVBFPihcIlwiKTtcbiAgcmVhZG9ubHkgekluZGV4ID0gaW5wdXQ8bnVtYmVyPigxMCk7XG5cbiAgLyogT1VUUFVUICovXG4gIHJlYWRvbmx5IG91dENoYW5nZSA9IG91dHB1dDxJU29ydD4oKTtcblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJDbGlja1NvcnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudXBkYXRlTW9kZSgpO1xuICAgIHRoaXMub3V0Q2hhbmdlLmVtaXQoYXdhaXQgdGhpcy5nZXRNb2RlKCkpO1xuICAgIHRoaXMucG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50Py51cGRhdGVQb3BvdmVyT3ZlcmxheSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVNb2RlKCkge1xuICAgIGlmICghdGhpcy5tb2RlKCkpIHtcbiAgICAgIHRoaXMubW9kZS5zZXQodGhpcy5kZWZhdWx0TW9kZSgpIHx8ICdhc2MnKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm1vZGUudXBkYXRlKHZhbHVlID0+IHZhbHVlID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TW9kZSgpOiBQcm9taXNlPElTb3J0PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZGU6IHRoaXMubW9kZSgpLFxuICAgICAgbW9kZU51bWJlcjogdGhpcy5tb2RlKCkgPT09ICdhc2MnID8gMSA6IDIsXG4gICAgICBmaWVsZFNvcnQ6IHRoaXMuZmllbGRTb3J0KCksXG4gICAgICByZXNldDogdGhpcy5yZXNldC5iaW5kKHRoaXMpXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzZXQoKSB7XG4gICAgdGhpcy5tb2RlLnNldCgnJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJGdW5jdGlvbkNvbnRyb2woZXZlbnQ6IElQb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQpIHtcbiAgICB0aGlzLnBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCA9IGV2ZW50O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPSdmbGV4J1xuICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckRpcmVjdGl2ZVxuICBbY29uZmlnXT1cImNvbmZpZygpXCJcbiAgW2lnbm9yZVNob3dQb3BvdmVyXT1cImlnbm9yZVBvcG92ZXJDb250ZW50KCkgfHwgZGlzYWJsZSgpXCJcbiAgKG91dEZ1bmN0aW9uc0NvbnRyb2wpPVwiaGFuZGxlclBvcG92ZXJGdW5jdGlvbkNvbnRyb2woJGV2ZW50KVwiPlxuICA8bGlic191aS1jb21wb25lbnRzLWJ1dHRvbi1zb3J0LWFycm93LWljb24gW3NpemVdPSdzaXplKCknXG4gICAgW3NvcnRUeXBlXT1cIm1vZGUoKVwiXG4gICAgW2Rpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckNsaWNrU29ydCgkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19
@@ -0,0 +1,15 @@
1
+ import { Component, input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class LibsUiComponentsButtonSortArrowIconComponent {
4
+ /* INPUT */
5
+ size = input(16);
6
+ sortType = input();
7
+ disable = input(false);
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsButtonSortArrowIconComponent, isStandalone: true, selector: "libs_ui-components-button-sort-arrow-icon", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, sortType: { classPropertyName: "sortType", publicName: "sortType", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<svg class=\"libs-ui-core-ui-components-button-sort-arrow-icon\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.disable]=\"disable()\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path class='libs-ui-core-ui-components-button-sort-arrow-icon-left'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'asc'\"\n d=\"M4.71258 3.19102C4.96726 2.93633 5.3802 2.93633 5.63488 3.19102L7.80879 5.36492C8.06348 5.61961 8.06348 6.03254 7.80879 6.28723C7.5541 6.54192 7.14117 6.54192 6.88648 6.28723L5.8259 5.22665V12.3478C5.8259 12.708 5.53391 13 5.17373 13C4.81355 13 4.52156 12.708 4.52156 12.3478V5.22665L3.46098 6.28723C3.20629 6.54192 2.79336 6.54192 2.53867 6.28723C2.28398 6.03254 2.28398 5.61961 2.53867 5.36492L4.71258 3.19102Z\" />\n <path fill-rule=\"evenodd\"\n class='libs-ui-core-ui-components-button-sort-arrow-icon-right'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'desc'\"\n clip-rule=\"evenodd\"\n d=\"M10.1739 10.7733V3.65217C10.1739 3.29199 10.4659 3 10.8261 3C11.1863 3 11.4782 3.29199 11.4782 3.65217V10.7733L12.5388 9.71273C12.7935 9.45804 13.2064 9.45804 13.4611 9.71273C13.7158 9.96741 13.7158 10.3803 13.4611 10.635L11.2872 12.8089C11.0325 13.0636 10.6196 13.0636 10.3649 12.8089L8.19102 10.635C7.93633 10.3803 7.93633 9.96741 8.19102 9.71273C8.44571 9.45804 8.85864 9.45804 9.11333 9.71273L10.1739 10.7733Z\" />\n</svg>\n", styles: [".libs-ui-core-ui-components-button-sort-arrow-icon{cursor:pointer}.libs-ui-core-ui-components-button-sort-arrow-icon-left{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-left[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-left[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon-right{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-right[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-right[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon [disable=true]{cursor:default}\n"] });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: "libs_ui-components-button-sort-arrow-icon", standalone: true, template: "<svg class=\"libs-ui-core-ui-components-button-sort-arrow-icon\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.disable]=\"disable()\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path class='libs-ui-core-ui-components-button-sort-arrow-icon-left'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'asc'\"\n d=\"M4.71258 3.19102C4.96726 2.93633 5.3802 2.93633 5.63488 3.19102L7.80879 5.36492C8.06348 5.61961 8.06348 6.03254 7.80879 6.28723C7.5541 6.54192 7.14117 6.54192 6.88648 6.28723L5.8259 5.22665V12.3478C5.8259 12.708 5.53391 13 5.17373 13C4.81355 13 4.52156 12.708 4.52156 12.3478V5.22665L3.46098 6.28723C3.20629 6.54192 2.79336 6.54192 2.53867 6.28723C2.28398 6.03254 2.28398 5.61961 2.53867 5.36492L4.71258 3.19102Z\" />\n <path fill-rule=\"evenodd\"\n class='libs-ui-core-ui-components-button-sort-arrow-icon-right'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'desc'\"\n clip-rule=\"evenodd\"\n d=\"M10.1739 10.7733V3.65217C10.1739 3.29199 10.4659 3 10.8261 3C11.1863 3 11.4782 3.29199 11.4782 3.65217V10.7733L12.5388 9.71273C12.7935 9.45804 13.2064 9.45804 13.4611 9.71273C13.7158 9.96741 13.7158 10.3803 13.4611 10.635L11.2872 12.8089C11.0325 13.0636 10.6196 13.0636 10.3649 12.8089L8.19102 10.635C7.93633 10.3803 7.93633 9.96741 8.19102 9.71273C8.44571 9.45804 8.85864 9.45804 9.11333 9.71273L10.1739 10.7733Z\" />\n</svg>\n", styles: [".libs-ui-core-ui-components-button-sort-arrow-icon{cursor:pointer}.libs-ui-core-ui-components-button-sort-arrow-icon-left{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-left[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-left[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon-right{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-right[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-right[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon [disable=true]{cursor:default}\n"] }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9hcnJvdy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvYXJyb3cvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVdqRCxNQUFNLE9BQU8sNENBQTRDO0lBRXZELFdBQVc7SUFDRixJQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLFFBQVEsR0FBRyxLQUFLLEVBQWtCLENBQUM7SUFDbkMsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQzt3R0FMOUIsNENBQTRDOzRGQUE1Qyw0Q0FBNEMscWVDWHpELGk3Q0FrQkE7OzRGRFBhLDRDQUE0QztrQkFSeEQsU0FBUzsrQkFFRSwyQ0FBMkMsY0FHekMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVFlQRV9TT1JUX1RZUEUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6IFwibGlic191aS1jb21wb25lbnRzLWJ1dHRvbi1zb3J0LWFycm93LWljb25cIixcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaWJzVWlDb21wb25lbnRzQnV0dG9uU29ydEFycm93SWNvbkNvbXBvbmVudCB7XG5cbiAgLyogSU5QVVQgKi9cbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PG51bWJlcj4oMTYpO1xuICByZWFkb25seSBzb3J0VHlwZSA9IGlucHV0PFRZUEVfU09SVF9UWVBFPigpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xufSIsIjxzdmcgY2xhc3M9XCJsaWJzLXVpLWNvcmUtdWktY29tcG9uZW50cy1idXR0b24tc29ydC1hcnJvdy1pY29uXCJcbiAgW2F0dHIud2lkdGhdPVwic2l6ZSgpXCJcbiAgW2F0dHIuaGVpZ2h0XT1cInNpemUoKVwiXG4gIFthdHRyLmRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gIGZpbGw9XCJub25lXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8cGF0aCBjbGFzcz0nbGlicy11aS1jb3JlLXVpLWNvbXBvbmVudHMtYnV0dG9uLXNvcnQtYXJyb3ctaWNvbi1sZWZ0J1xuICAgIFthdHRyLmRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICBbYXR0ci5hY3RpdmVdPVwic29ydFR5cGUoKSA9PT0gJ2FzYydcIlxuICAgIGQ9XCJNNC43MTI1OCAzLjE5MTAyQzQuOTY3MjYgMi45MzYzMyA1LjM4MDIgMi45MzYzMyA1LjYzNDg4IDMuMTkxMDJMNy44MDg3OSA1LjM2NDkyQzguMDYzNDggNS42MTk2MSA4LjA2MzQ4IDYuMDMyNTQgNy44MDg3OSA2LjI4NzIzQzcuNTU0MSA2LjU0MTkyIDcuMTQxMTcgNi41NDE5MiA2Ljg4NjQ4IDYuMjg3MjNMNS44MjU5IDUuMjI2NjVWMTIuMzQ3OEM1LjgyNTkgMTIuNzA4IDUuNTMzOTEgMTMgNS4xNzM3MyAxM0M0LjgxMzU1IDEzIDQuNTIxNTYgMTIuNzA4IDQuNTIxNTYgMTIuMzQ3OFY1LjIyNjY1TDMuNDYwOTggNi4yODcyM0MzLjIwNjI5IDYuNTQxOTIgMi43OTMzNiA2LjU0MTkyIDIuNTM4NjcgNi4yODcyM0MyLjI4Mzk4IDYuMDMyNTQgMi4yODM5OCA1LjYxOTYxIDIuNTM4NjcgNS4zNjQ5Mkw0LjcxMjU4IDMuMTkxMDJaXCIgLz5cbiAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgY2xhc3M9J2xpYnMtdWktY29yZS11aS1jb21wb25lbnRzLWJ1dHRvbi1zb3J0LWFycm93LWljb24tcmlnaHQnXG4gICAgW2F0dHIuZGlzYWJsZV09XCJkaXNhYmxlKClcIlxuICAgIFthdHRyLmFjdGl2ZV09XCJzb3J0VHlwZSgpID09PSAnZGVzYydcIlxuICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgIGQ9XCJNMTAuMTczOSAxMC43NzMzVjMuNjUyMTdDMTAuMTczOSAzLjI5MTk5IDEwLjQ2NTkgMyAxMC44MjYxIDNDMTEuMTg2MyAzIDExLjQ3ODIgMy4yOTE5OSAxMS40NzgyIDMuNjUyMTdWMTAuNzczM0wxMi41Mzg4IDkuNzEyNzNDMTIuNzkzNSA5LjQ1ODA0IDEzLjIwNjQgOS40NTgwNCAxMy40NjExIDkuNzEyNzNDMTMuNzE1OCA5Ljk2NzQxIDEzLjcxNTggMTAuMzgwMyAxMy40NjExIDEwLjYzNUwxMS4yODcyIDEyLjgwODlDMTEuMDMyNSAxMy4wNjM2IDEwLjYxOTYgMTMuMDYzNiAxMC4zNjQ5IDEyLjgwODlMOC4xOTEwMiAxMC42MzVDNy45MzYzMyAxMC4zODAzIDcuOTM2MzMgOS45Njc0MSA4LjE5MTAyIDkuNzEyNzNDOC40NDU3MSA5LjQ1ODA0IDguODU4NjQgOS40NTgwNCA5LjExMzMzIDkuNzEyNzNMMTAuMTczOSAxMC43NzMzWlwiIC8+XG48L3N2Zz5cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './sort.component';
2
+ export * from './arrow/arrow.component';
3
+ export * from './interfaces';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYXJyb3cvYXJyb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7Il19
@@ -0,0 +1,3 @@
1
+ export * from './sort.interface';
2
+ export * from './sort.type';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC50eXBlJzsiXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9pbnRlcmZhY2VzL3NvcnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUWVBFX1NPUlRfVFlQRSB9IGZyb20gXCIuL3NvcnQudHlwZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTb3J0IHtcbiAgbW9kZTogVFlQRV9TT1JUX1RZUEU7XG4gIG1vZGVOdW1iZXI6IDEgfCAyOyAvLyAxOiBhc2M7IDI6ZGVzY1xuICBmaWVsZFNvcnQ6IHN0cmluZztcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvaW50ZXJmYWNlcy9zb3J0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IHR5cGUgVFlQRV9TT1JUX1RZUEUgPSAnYXNjJyB8ICdkZXNjJyB8ICcnOyJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLWJ1dHRvbnMtc29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL3NvcnQvc3JjL2xpYnMtdWktY29tcG9uZW50cy1idXR0b25zLXNvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component, input, model, output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LibsUiComponentsButtonsSortComponent {
4
+ /* INPUT */
5
+ size = input(10);
6
+ mode = model("");
7
+ fieldSort = input('');
8
+ disable = input(false, { transform: value => value ?? false });
9
+ disableAsc = input(false, { transform: value => value ?? false });
10
+ disableDesc = input(false, { transform: value => value ?? false });
11
+ onlyEmit = input(false, { transform: value => value ?? false });
12
+ /* OUTPUT */
13
+ outChange = output();
14
+ /* FUNCTIONS */
15
+ async handlerClickSort(event, mode) {
16
+ event.stopPropagation();
17
+ if ((this.disable() || this.mode() === mode) && !this.onlyEmit) {
18
+ return;
19
+ }
20
+ if (this.mode() === 'asc' && this.disableAsc()) {
21
+ return;
22
+ }
23
+ if (this.mode() === 'desc' && this.disableDesc()) {
24
+ return;
25
+ }
26
+ this.mode.set(mode);
27
+ this.outChange.emit(await this.getMode());
28
+ }
29
+ async getMode() {
30
+ return {
31
+ mode: this.mode(),
32
+ modeNumber: this.mode() === 'asc' ? 1 : 2,
33
+ fieldSort: this.fieldSort(),
34
+ reset: this.reset.bind(this)
35
+ };
36
+ }
37
+ async reset() {
38
+ this.mode.set('');
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsButtonsSortComponent, isStandalone: true, selector: "libs_ui-components-buttons-sort", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, fieldSort: { classPropertyName: "fieldSort", publicName: "fieldSort", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, disableAsc: { classPropertyName: "disableAsc", publicName: "disableAsc", isSignal: true, isRequired: false, transformFunction: null }, disableDesc: { classPropertyName: "disableDesc", publicName: "disableDesc", isSignal: true, isRequired: false, transformFunction: null }, onlyEmit: { classPropertyName: "onlyEmit", publicName: "onlyEmit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", outChange: "outChange" }, ngImport: i0, template: "<div class=\"libs-ui-button-sort flex flex-col justify-center\">\n <i class=\"libs-ui-icon-move-right rotate-[270deg]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'asc'\"\n [attr.disable]=\"disableAsc() || !!disable()\"\n (click)=\"handlerClickSort($event,'asc')\"></i>\n\n <i class=\"libs-ui-icon-move-right rotate-[90deg] mt-[2px]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'desc'\"\n [attr.disable]=\"disableDesc() || !!disable()\"\n (click)=\"handlerClickSort($event,'desc')\"></i>\n</div>\n", styles: [":host{display:flex}:host .libs-ui-button-sort [class*=libs-ui-icon]{cursor:pointer}:host .libs-ui-button-sort [class*=libs-ui-icon]:before{font-size:var(--sort-size, 8px);margin:0;background-color:#e6e7ea;color:#6a7383;display:flex;border-radius:2px}:host .libs-ui-button-sort [class*=libs-ui-icon]:hover:before{color:var(--libs-ui-color-light-1, #4E8CF7)}:host .libs-ui-button-sort [class*=libs-ui-icon][active=true]:before{color:var(--libs-ui-color-default, #226ff5)!important}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]{cursor:default;pointer-events:none}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]:before{color:#cdd0d6!important;background-color:#e6e7ea!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'libs_ui-components-buttons-sort', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"libs-ui-button-sort flex flex-col justify-center\">\n <i class=\"libs-ui-icon-move-right rotate-[270deg]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'asc'\"\n [attr.disable]=\"disableAsc() || !!disable()\"\n (click)=\"handlerClickSort($event,'asc')\"></i>\n\n <i class=\"libs-ui-icon-move-right rotate-[90deg] mt-[2px]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'desc'\"\n [attr.disable]=\"disableDesc() || !!disable()\"\n (click)=\"handlerClickSort($event,'desc')\"></i>\n</div>\n", styles: [":host{display:flex}:host .libs-ui-button-sort [class*=libs-ui-icon]{cursor:pointer}:host .libs-ui-button-sort [class*=libs-ui-icon]:before{font-size:var(--sort-size, 8px);margin:0;background-color:#e6e7ea;color:#6a7383;display:flex;border-radius:2px}:host .libs-ui-button-sort [class*=libs-ui-icon]:hover:before{color:var(--libs-ui-color-light-1, #4E8CF7)}:host .libs-ui-button-sort [class*=libs-ui-icon][active=true]:before{color:var(--libs-ui-color-default, #226ff5)!important}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]{cursor:default;pointer-events:none}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]:before{color:#cdd0d6!important;background-color:#e6e7ea!important}\n"] }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9zb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL3NvcnQvc3JjL3NvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXekYsTUFBTSxPQUFPLG9DQUFvQztJQUUvQyxXQUFXO0lBQ0YsSUFBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6QixJQUFJLEdBQUcsS0FBSyxDQUFpQixFQUFFLENBQUMsQ0FBQztJQUNqQyxTQUFTLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sR0FBRyxLQUFLLENBQTJDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pHLFVBQVUsR0FBRyxLQUFLLENBQTJDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLFdBQVcsR0FBRyxLQUFLLENBQTJDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdHLFFBQVEsR0FBRyxLQUFLLENBQTJDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRW5ILFlBQVk7SUFDSCxTQUFTLEdBQUcsTUFBTSxFQUFTLENBQUM7SUFFckMsZUFBZTtJQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsSUFBb0I7UUFDakUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9ELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQy9DLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ2pELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNwQixDQUFDO0lBQ2IsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7d0dBekNVLG9DQUFvQzs0RkFBcEMsb0NBQW9DLDhoQ0NYakQseWpCQWFBOzs0RkRGYSxvQ0FBb0M7a0JBUmhELFNBQVM7K0JBRUUsaUNBQWlDLGNBRy9CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU29ydCwgVFlQRV9TT1JUX1RZUEUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtYnV0dG9ucy1zb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NvcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zb3J0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNCdXR0b25zU29ydENvbXBvbmVudCB7XG5cbiAgLyogSU5QVVQgKi9cbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PG51bWJlcj4oMTApO1xuICByZWFkb25seSBtb2RlID0gbW9kZWw8VFlQRV9TT1JUX1RZUEU+KFwiXCIpO1xuICByZWFkb25seSBmaWVsZFNvcnQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgZGlzYWJsZSA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQsIGJvb2xlYW4gfCB1bmRlZmluZWQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogdmFsdWUgPT4gdmFsdWUgPz8gZmFsc2UgfSk7XG4gIHJlYWRvbmx5IGRpc2FibGVBc2MgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBib29sZWFuIHwgdW5kZWZpbmVkPihmYWxzZSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IGZhbHNlIH0pO1xuICByZWFkb25seSBkaXNhYmxlRGVzYyA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQsIGJvb2xlYW4gfCB1bmRlZmluZWQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogdmFsdWUgPT4gdmFsdWUgPz8gZmFsc2UgfSk7XG4gIHJlYWRvbmx5IG9ubHlFbWl0ID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBmYWxzZSB9KTtcblxuICAvKiBPVVRQVVQgKi9cbiAgcmVhZG9ubHkgb3V0Q2hhbmdlID0gb3V0cHV0PElTb3J0PigpO1xuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckNsaWNrU29ydChldmVudDogRXZlbnQsIG1vZGU6IFRZUEVfU09SVF9UWVBFKSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCh0aGlzLmRpc2FibGUoKSB8fCB0aGlzLm1vZGUoKSA9PT0gbW9kZSkgJiYgIXRoaXMub25seUVtaXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAnYXNjJyAmJiB0aGlzLmRpc2FibGVBc2MoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdkZXNjJyAmJiB0aGlzLmRpc2FibGVEZXNjKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tb2RlLnNldChtb2RlKTtcbiAgICB0aGlzLm91dENoYW5nZS5lbWl0KGF3YWl0IHRoaXMuZ2V0TW9kZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TW9kZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZTogdGhpcy5tb2RlKCksXG4gICAgICBtb2RlTnVtYmVyOiB0aGlzLm1vZGUoKSA9PT0gJ2FzYycgPyAxIDogMixcbiAgICAgIGZpZWxkU29ydDogdGhpcy5maWVsZFNvcnQoKSxcbiAgICAgIHJlc2V0OiB0aGlzLnJlc2V0LmJpbmQodGhpcylcbiAgICB9IGFzIElTb3J0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldCgpIHtcbiAgICB0aGlzLm1vZGUuc2V0KCcnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxpYnMtdWktYnV0dG9uLXNvcnQgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlclwiPlxuICA8aSBjbGFzcz1cImxpYnMtdWktaWNvbi1tb3ZlLXJpZ2h0IHJvdGF0ZS1bMjcwZGVnXVwiXG4gICAgW3N0eWxlLi0tc29ydC1zaXplLnB4XT1cInNpemUoKVwiXG4gICAgW2F0dHIuYWN0aXZlXT1cIm1vZGUoKSA9PT0gJ2FzYydcIlxuICAgIFthdHRyLmRpc2FibGVdPVwiZGlzYWJsZUFzYygpIHx8ICEhZGlzYWJsZSgpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckNsaWNrU29ydCgkZXZlbnQsJ2FzYycpXCI+PC9pPlxuXG4gIDxpIGNsYXNzPVwibGlicy11aS1pY29uLW1vdmUtcmlnaHQgcm90YXRlLVs5MGRlZ10gbXQtWzJweF1cIlxuICAgIFtzdHlsZS4tLXNvcnQtc2l6ZS5weF09XCJzaXplKClcIlxuICAgIFthdHRyLmFjdGl2ZV09XCJtb2RlKCkgPT09ICdkZXNjJ1wiXG4gICAgW2F0dHIuZGlzYWJsZV09XCJkaXNhYmxlRGVzYygpIHx8ICEhZGlzYWJsZSgpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckNsaWNrU29ydCgkZXZlbnQsJ2Rlc2MnKVwiPjwvaT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,128 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, model, output, Component, ChangeDetectionStrategy, computed } from '@angular/core';
3
+ import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
4
+
5
+ class LibsUiComponentsButtonsSortComponent {
6
+ /* INPUT */
7
+ size = input(10);
8
+ mode = model("");
9
+ fieldSort = input('');
10
+ disable = input(false, { transform: value => value ?? false });
11
+ disableAsc = input(false, { transform: value => value ?? false });
12
+ disableDesc = input(false, { transform: value => value ?? false });
13
+ onlyEmit = input(false, { transform: value => value ?? false });
14
+ /* OUTPUT */
15
+ outChange = output();
16
+ /* FUNCTIONS */
17
+ async handlerClickSort(event, mode) {
18
+ event.stopPropagation();
19
+ if ((this.disable() || this.mode() === mode) && !this.onlyEmit) {
20
+ return;
21
+ }
22
+ if (this.mode() === 'asc' && this.disableAsc()) {
23
+ return;
24
+ }
25
+ if (this.mode() === 'desc' && this.disableDesc()) {
26
+ return;
27
+ }
28
+ this.mode.set(mode);
29
+ this.outChange.emit(await this.getMode());
30
+ }
31
+ async getMode() {
32
+ return {
33
+ mode: this.mode(),
34
+ modeNumber: this.mode() === 'asc' ? 1 : 2,
35
+ fieldSort: this.fieldSort(),
36
+ reset: this.reset.bind(this)
37
+ };
38
+ }
39
+ async reset() {
40
+ this.mode.set('');
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsButtonsSortComponent, isStandalone: true, selector: "libs_ui-components-buttons-sort", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, fieldSort: { classPropertyName: "fieldSort", publicName: "fieldSort", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, disableAsc: { classPropertyName: "disableAsc", publicName: "disableAsc", isSignal: true, isRequired: false, transformFunction: null }, disableDesc: { classPropertyName: "disableDesc", publicName: "disableDesc", isSignal: true, isRequired: false, transformFunction: null }, onlyEmit: { classPropertyName: "onlyEmit", publicName: "onlyEmit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", outChange: "outChange" }, ngImport: i0, template: "<div class=\"libs-ui-button-sort flex flex-col justify-center\">\n <i class=\"libs-ui-icon-move-right rotate-[270deg]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'asc'\"\n [attr.disable]=\"disableAsc() || !!disable()\"\n (click)=\"handlerClickSort($event,'asc')\"></i>\n\n <i class=\"libs-ui-icon-move-right rotate-[90deg] mt-[2px]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'desc'\"\n [attr.disable]=\"disableDesc() || !!disable()\"\n (click)=\"handlerClickSort($event,'desc')\"></i>\n</div>\n", styles: [":host{display:flex}:host .libs-ui-button-sort [class*=libs-ui-icon]{cursor:pointer}:host .libs-ui-button-sort [class*=libs-ui-icon]:before{font-size:var(--sort-size, 8px);margin:0;background-color:#e6e7ea;color:#6a7383;display:flex;border-radius:2px}:host .libs-ui-button-sort [class*=libs-ui-icon]:hover:before{color:var(--libs-ui-color-light-1, #4E8CF7)}:host .libs-ui-button-sort [class*=libs-ui-icon][active=true]:before{color:var(--libs-ui-color-default, #226ff5)!important}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]{cursor:default;pointer-events:none}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]:before{color:#cdd0d6!important;background-color:#e6e7ea!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'libs_ui-components-buttons-sort', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"libs-ui-button-sort flex flex-col justify-center\">\n <i class=\"libs-ui-icon-move-right rotate-[270deg]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'asc'\"\n [attr.disable]=\"disableAsc() || !!disable()\"\n (click)=\"handlerClickSort($event,'asc')\"></i>\n\n <i class=\"libs-ui-icon-move-right rotate-[90deg] mt-[2px]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'desc'\"\n [attr.disable]=\"disableDesc() || !!disable()\"\n (click)=\"handlerClickSort($event,'desc')\"></i>\n</div>\n", styles: [":host{display:flex}:host .libs-ui-button-sort [class*=libs-ui-icon]{cursor:pointer}:host .libs-ui-button-sort [class*=libs-ui-icon]:before{font-size:var(--sort-size, 8px);margin:0;background-color:#e6e7ea;color:#6a7383;display:flex;border-radius:2px}:host .libs-ui-button-sort [class*=libs-ui-icon]:hover:before{color:var(--libs-ui-color-light-1, #4E8CF7)}:host .libs-ui-button-sort [class*=libs-ui-icon][active=true]:before{color:var(--libs-ui-color-default, #226ff5)!important}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]{cursor:default;pointer-events:none}:host .libs-ui-button-sort [class*=libs-ui-icon][disable=true]:before{color:#cdd0d6!important;background-color:#e6e7ea!important}\n"] }]
48
+ }] });
49
+
50
+ class LibsUiComponentsButtonSortArrowIconComponent {
51
+ /* INPUT */
52
+ size = input(16);
53
+ sortType = input();
54
+ disable = input(false);
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsButtonSortArrowIconComponent, isStandalone: true, selector: "libs_ui-components-button-sort-arrow-icon", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, sortType: { classPropertyName: "sortType", publicName: "sortType", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<svg class=\"libs-ui-core-ui-components-button-sort-arrow-icon\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.disable]=\"disable()\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path class='libs-ui-core-ui-components-button-sort-arrow-icon-left'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'asc'\"\n d=\"M4.71258 3.19102C4.96726 2.93633 5.3802 2.93633 5.63488 3.19102L7.80879 5.36492C8.06348 5.61961 8.06348 6.03254 7.80879 6.28723C7.5541 6.54192 7.14117 6.54192 6.88648 6.28723L5.8259 5.22665V12.3478C5.8259 12.708 5.53391 13 5.17373 13C4.81355 13 4.52156 12.708 4.52156 12.3478V5.22665L3.46098 6.28723C3.20629 6.54192 2.79336 6.54192 2.53867 6.28723C2.28398 6.03254 2.28398 5.61961 2.53867 5.36492L4.71258 3.19102Z\" />\n <path fill-rule=\"evenodd\"\n class='libs-ui-core-ui-components-button-sort-arrow-icon-right'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'desc'\"\n clip-rule=\"evenodd\"\n d=\"M10.1739 10.7733V3.65217C10.1739 3.29199 10.4659 3 10.8261 3C11.1863 3 11.4782 3.29199 11.4782 3.65217V10.7733L12.5388 9.71273C12.7935 9.45804 13.2064 9.45804 13.4611 9.71273C13.7158 9.96741 13.7158 10.3803 13.4611 10.635L11.2872 12.8089C11.0325 13.0636 10.6196 13.0636 10.3649 12.8089L8.19102 10.635C7.93633 10.3803 7.93633 9.96741 8.19102 9.71273C8.44571 9.45804 8.85864 9.45804 9.11333 9.71273L10.1739 10.7733Z\" />\n</svg>\n", styles: [".libs-ui-core-ui-components-button-sort-arrow-icon{cursor:pointer}.libs-ui-core-ui-components-button-sort-arrow-icon-left{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-left[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-left[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon-right{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-right[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-right[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon [disable=true]{cursor:default}\n"] });
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: "libs_ui-components-button-sort-arrow-icon", standalone: true, template: "<svg class=\"libs-ui-core-ui-components-button-sort-arrow-icon\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.disable]=\"disable()\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path class='libs-ui-core-ui-components-button-sort-arrow-icon-left'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'asc'\"\n d=\"M4.71258 3.19102C4.96726 2.93633 5.3802 2.93633 5.63488 3.19102L7.80879 5.36492C8.06348 5.61961 8.06348 6.03254 7.80879 6.28723C7.5541 6.54192 7.14117 6.54192 6.88648 6.28723L5.8259 5.22665V12.3478C5.8259 12.708 5.53391 13 5.17373 13C4.81355 13 4.52156 12.708 4.52156 12.3478V5.22665L3.46098 6.28723C3.20629 6.54192 2.79336 6.54192 2.53867 6.28723C2.28398 6.03254 2.28398 5.61961 2.53867 5.36492L4.71258 3.19102Z\" />\n <path fill-rule=\"evenodd\"\n class='libs-ui-core-ui-components-button-sort-arrow-icon-right'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'desc'\"\n clip-rule=\"evenodd\"\n d=\"M10.1739 10.7733V3.65217C10.1739 3.29199 10.4659 3 10.8261 3C11.1863 3 11.4782 3.29199 11.4782 3.65217V10.7733L12.5388 9.71273C12.7935 9.45804 13.2064 9.45804 13.4611 9.71273C13.7158 9.96741 13.7158 10.3803 13.4611 10.635L11.2872 12.8089C11.0325 13.0636 10.6196 13.0636 10.3649 12.8089L8.19102 10.635C7.93633 10.3803 7.93633 9.96741 8.19102 9.71273C8.44571 9.45804 8.85864 9.45804 9.11333 9.71273L10.1739 10.7733Z\" />\n</svg>\n", styles: [".libs-ui-core-ui-components-button-sort-arrow-icon{cursor:pointer}.libs-ui-core-ui-components-button-sort-arrow-icon-left{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-left[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-left[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon-right{fill:#6a7383}.libs-ui-core-ui-components-button-sort-arrow-icon-right[disable=true]{fill:#cdd0d6}.libs-ui-core-ui-components-button-sort-arrow-icon-right[active=true]{fill:var(--libs-ui-color-default, #226FF5)}.libs-ui-core-ui-components-button-sort-arrow-icon [disable=true]{cursor:default}\n"] }]
61
+ }] });
62
+
63
+ class LibsUiComponentsButtonsSortArrowComponent {
64
+ /* PROPERTY */
65
+ popoverFunctionControlEvent;
66
+ config = computed(() => {
67
+ return { zIndex: this.zIndex(), content: ((this.mode() && this.mode() === 'asc') || (!this.mode() && this.defaultMode() === 'desc')) ? this.popoverContentDesc() : this.popoverContentAsc() };
68
+ });
69
+ /* INPUT */
70
+ size = input(16);
71
+ mode = model("");
72
+ fieldSort = input("");
73
+ disable = input(false);
74
+ ignorePopoverContent = input(true);
75
+ popoverContentAsc = input();
76
+ popoverContentDesc = input();
77
+ defaultMode = input("");
78
+ zIndex = input(10);
79
+ /* OUTPUT */
80
+ outChange = output();
81
+ /* FUNCTIONS */
82
+ async handlerClickSort(event) {
83
+ event.stopPropagation();
84
+ if (this.disable()) {
85
+ return;
86
+ }
87
+ this.updateMode();
88
+ this.outChange.emit(await this.getMode());
89
+ this.popoverFunctionControlEvent?.updatePopoverOverlay();
90
+ }
91
+ async updateMode() {
92
+ if (!this.mode()) {
93
+ this.mode.set(this.defaultMode() || 'asc');
94
+ return;
95
+ }
96
+ this.mode.update(value => value === 'asc' ? 'desc' : 'asc');
97
+ }
98
+ async getMode() {
99
+ return {
100
+ mode: this.mode(),
101
+ modeNumber: this.mode() === 'asc' ? 1 : 2,
102
+ fieldSort: this.fieldSort(),
103
+ reset: this.reset.bind(this)
104
+ };
105
+ }
106
+ async reset() {
107
+ this.mode.set('');
108
+ }
109
+ async handlerPopoverFunctionControl(event) {
110
+ this.popoverFunctionControlEvent = event;
111
+ }
112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
113
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsButtonsSortArrowComponent, isStandalone: true, selector: "libs_ui-components-buttons-sort-arrow", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, fieldSort: { classPropertyName: "fieldSort", publicName: "fieldSort", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, ignorePopoverContent: { classPropertyName: "ignorePopoverContent", publicName: "ignorePopoverContent", isSignal: true, isRequired: false, transformFunction: null }, popoverContentAsc: { classPropertyName: "popoverContentAsc", publicName: "popoverContentAsc", isSignal: true, isRequired: false, transformFunction: null }, popoverContentDesc: { classPropertyName: "popoverContentDesc", publicName: "popoverContentDesc", isSignal: true, isRequired: false, transformFunction: null }, defaultMode: { classPropertyName: "defaultMode", publicName: "defaultMode", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", outChange: "outChange" }, ngImport: i0, template: "<div class='flex'\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon [size]='size()'\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n", dependencies: [{ kind: "component", type: LibsUiComponentsButtonSortArrowIconComponent, selector: "libs_ui-components-button-sort-arrow-icon", inputs: ["size", "sortType", "disable"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: "libs_ui-components-buttons-sort-arrow", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
118
+ LibsUiComponentsButtonSortArrowIconComponent,
119
+ LibsUiComponentsPopoverComponent
120
+ ], template: "<div class='flex'\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon [size]='size()'\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n" }]
121
+ }] });
122
+
123
+ /**
124
+ * Generated bundle index. Do not edit.
125
+ */
126
+
127
+ export { LibsUiComponentsButtonsSortArrowComponent, LibsUiComponentsButtonsSortComponent };
128
+ //# sourceMappingURL=libs-ui-components-buttons-sort.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs-ui-components-buttons-sort.mjs","sources":["../../../../../../libs-ui/components/buttons/sort/src/sort.component.ts","../../../../../../libs-ui/components/buttons/sort/src/sort.component.html","../../../../../../libs-ui/components/buttons/sort/src/arrow/icon/icon.component.ts","../../../../../../libs-ui/components/buttons/sort/src/arrow/icon/icon.component.html","../../../../../../libs-ui/components/buttons/sort/src/arrow/arrow.component.ts","../../../../../../libs-ui/components/buttons/sort/src/arrow/arrow.component.html","../../../../../../libs-ui/components/buttons/sort/src/libs-ui-components-buttons-sort.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model, output } from '@angular/core';\nimport { ISort, TYPE_SORT_TYPE } from './interfaces';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-buttons-sort',\n templateUrl: './sort.component.html',\n styleUrls: ['./sort.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibsUiComponentsButtonsSortComponent {\n\n /* INPUT */\n readonly size = input<number>(10);\n readonly mode = model<TYPE_SORT_TYPE>(\"\");\n readonly fieldSort = input<string>('');\n readonly disable = input<boolean | undefined, boolean | undefined>(false, { transform: value => value ?? false });\n readonly disableAsc = input<boolean | undefined, boolean | undefined>(false, { transform: value => value ?? false });\n readonly disableDesc = input<boolean | undefined, boolean | undefined>(false, { transform: value => value ?? false });\n readonly onlyEmit = input<boolean | undefined, boolean | undefined>(false, { transform: value => value ?? false });\n\n /* OUTPUT */\n readonly outChange = output<ISort>();\n\n /* FUNCTIONS */\n protected async handlerClickSort(event: Event, mode: TYPE_SORT_TYPE) {\n event.stopPropagation();\n if ((this.disable() || this.mode() === mode) && !this.onlyEmit) {\n return;\n }\n if (this.mode() === 'asc' && this.disableAsc()) {\n return;\n }\n if (this.mode() === 'desc' && this.disableDesc()) {\n return;\n }\n this.mode.set(mode);\n this.outChange.emit(await this.getMode());\n }\n\n private async getMode() {\n return {\n mode: this.mode(),\n modeNumber: this.mode() === 'asc' ? 1 : 2,\n fieldSort: this.fieldSort(),\n reset: this.reset.bind(this)\n } as ISort;\n }\n\n private async reset() {\n this.mode.set('');\n }\n}\n","<div class=\"libs-ui-button-sort flex flex-col justify-center\">\n <i class=\"libs-ui-icon-move-right rotate-[270deg]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'asc'\"\n [attr.disable]=\"disableAsc() || !!disable()\"\n (click)=\"handlerClickSort($event,'asc')\"></i>\n\n <i class=\"libs-ui-icon-move-right rotate-[90deg] mt-[2px]\"\n [style.--sort-size.px]=\"size()\"\n [attr.active]=\"mode() === 'desc'\"\n [attr.disable]=\"disableDesc() || !!disable()\"\n (click)=\"handlerClickSort($event,'desc')\"></i>\n</div>\n","import { Component, input } from \"@angular/core\";\nimport { TYPE_SORT_TYPE } from \"../../interfaces\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: \"libs_ui-components-button-sort-arrow-icon\",\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: true\n})\n\nexport class LibsUiComponentsButtonSortArrowIconComponent {\n\n /* INPUT */\n readonly size = input<number>(16);\n readonly sortType = input<TYPE_SORT_TYPE>();\n readonly disable = input<boolean>(false);\n}","<svg class=\"libs-ui-core-ui-components-button-sort-arrow-icon\"\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.disable]=\"disable()\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path class='libs-ui-core-ui-components-button-sort-arrow-icon-left'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'asc'\"\n d=\"M4.71258 3.19102C4.96726 2.93633 5.3802 2.93633 5.63488 3.19102L7.80879 5.36492C8.06348 5.61961 8.06348 6.03254 7.80879 6.28723C7.5541 6.54192 7.14117 6.54192 6.88648 6.28723L5.8259 5.22665V12.3478C5.8259 12.708 5.53391 13 5.17373 13C4.81355 13 4.52156 12.708 4.52156 12.3478V5.22665L3.46098 6.28723C3.20629 6.54192 2.79336 6.54192 2.53867 6.28723C2.28398 6.03254 2.28398 5.61961 2.53867 5.36492L4.71258 3.19102Z\" />\n <path fill-rule=\"evenodd\"\n class='libs-ui-core-ui-components-button-sort-arrow-icon-right'\n [attr.disable]=\"disable()\"\n [attr.active]=\"sortType() === 'desc'\"\n clip-rule=\"evenodd\"\n d=\"M10.1739 10.7733V3.65217C10.1739 3.29199 10.4659 3 10.8261 3C11.1863 3 11.4782 3.29199 11.4782 3.65217V10.7733L12.5388 9.71273C12.7935 9.45804 13.2064 9.45804 13.4611 9.71273C13.7158 9.96741 13.7158 10.3803 13.4611 10.635L11.2872 12.8089C11.0325 13.0636 10.6196 13.0636 10.3649 12.8089L8.19102 10.635C7.93633 10.3803 7.93633 9.96741 8.19102 9.71273C8.44571 9.45804 8.85864 9.45804 9.11333 9.71273L10.1739 10.7733Z\" />\n</svg>\n","import { ChangeDetectionStrategy, Component, EventEmitter, computed, input, model, output } from \"@angular/core\";\nimport { IPopoverFunctionControlEvent, IPopoverOverlay, LibsUiComponentsPopoverComponent } from \"@libs-ui/components-popover\";\nimport { ISort, TYPE_SORT_TYPE } from \"../interfaces\";\nimport { LibsUiComponentsButtonSortArrowIconComponent } from \"./icon/icon.component\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: \"libs_ui-components-buttons-sort-arrow\",\n templateUrl: \"./arrow.component.html\",\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n LibsUiComponentsButtonSortArrowIconComponent,\n LibsUiComponentsPopoverComponent\n ]\n})\nexport class LibsUiComponentsButtonsSortArrowComponent {\n\n /* PROPERTY */\n private popoverFunctionControlEvent?: IPopoverFunctionControlEvent;\n protected config = computed<IPopoverOverlay>(() => {\n return { zIndex: this.zIndex(), content: ((this.mode() && this.mode() === 'asc') || (!this.mode() && this.defaultMode() === 'desc')) ? this.popoverContentDesc() : this.popoverContentAsc() }\n });\n\n /* INPUT */\n readonly size = input<number>(16);\n readonly mode = model<TYPE_SORT_TYPE>(\"\");\n readonly fieldSort = input<string>(\"\");\n readonly disable = input<boolean>(false);\n readonly ignorePopoverContent = input<boolean>(true);\n readonly popoverContentAsc = input<string>();\n readonly popoverContentDesc = input<string>();\n readonly defaultMode = input<TYPE_SORT_TYPE>(\"\");\n readonly zIndex = input<number>(10);\n\n /* OUTPUT */\n readonly outChange = output<ISort>();\n\n /* FUNCTIONS */\n protected async handlerClickSort(event: Event) {\n event.stopPropagation();\n if (this.disable()) {\n return;\n }\n this.updateMode();\n this.outChange.emit(await this.getMode());\n this.popoverFunctionControlEvent?.updatePopoverOverlay();\n }\n\n private async updateMode() {\n if (!this.mode()) {\n this.mode.set(this.defaultMode() || 'asc');\n\n return;\n }\n this.mode.update(value => value === 'asc' ? 'desc' : 'asc');\n }\n\n private async getMode(): Promise<ISort> {\n return {\n mode: this.mode(),\n modeNumber: this.mode() === 'asc' ? 1 : 2,\n fieldSort: this.fieldSort(),\n reset: this.reset.bind(this)\n };\n }\n\n private async reset() {\n this.mode.set('');\n }\n\n protected async handlerPopoverFunctionControl(event: IPopoverFunctionControlEvent) {\n this.popoverFunctionControlEvent = event;\n }\n}\n","<div class='flex'\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon [size]='size()'\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './sort.component';
2
+ export * from './arrow/arrow.component';
3
+ export * from './interfaces';
@@ -0,0 +1,2 @@
1
+ export * from './sort.interface';
2
+ export * from './sort.type';
@@ -0,0 +1,7 @@
1
+ import { TYPE_SORT_TYPE } from "./sort.type";
2
+ export interface ISort {
3
+ mode: TYPE_SORT_TYPE;
4
+ modeNumber: 1 | 2;
5
+ fieldSort: string;
6
+ reset: () => void;
7
+ }
@@ -0,0 +1 @@
1
+ export type TYPE_SORT_TYPE = 'asc' | 'desc' | '';
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@libs-ui/components-buttons-sort",
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-buttons-sort.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-buttons-sort.mjs",
18
+ "esm": "./esm2022/libs-ui-components-buttons-sort.mjs",
19
+ "default": "./fesm2022/libs-ui-components-buttons-sort.mjs"
20
+ }
21
+ },
22
+ "dependencies": {
23
+ "tslib": "^2.3.0"
24
+ }
25
+ }
@@ -0,0 +1,17 @@
1
+ import { ISort, TYPE_SORT_TYPE } from './interfaces';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LibsUiComponentsButtonsSortComponent {
4
+ readonly size: import("@angular/core").InputSignal<number>;
5
+ readonly mode: import("@angular/core").ModelSignal<TYPE_SORT_TYPE>;
6
+ readonly fieldSort: import("@angular/core").InputSignal<string>;
7
+ readonly disable: import("@angular/core").InputSignalWithTransform<boolean | undefined, boolean | undefined>;
8
+ readonly disableAsc: import("@angular/core").InputSignalWithTransform<boolean | undefined, boolean | undefined>;
9
+ readonly disableDesc: import("@angular/core").InputSignalWithTransform<boolean | undefined, boolean | undefined>;
10
+ readonly onlyEmit: import("@angular/core").InputSignalWithTransform<boolean | undefined, boolean | undefined>;
11
+ readonly outChange: import("@angular/core").OutputEmitterRef<ISort>;
12
+ protected handlerClickSort(event: Event, mode: TYPE_SORT_TYPE): Promise<void>;
13
+ private getMode;
14
+ private reset;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsButtonsSortComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsButtonsSortComponent, "libs_ui-components-buttons-sort", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "fieldSort": { "alias": "fieldSort"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; "disableAsc": { "alias": "disableAsc"; "required": false; "isSignal": true; }; "disableDesc": { "alias": "disableDesc"; "required": false; "isSignal": true; }; "onlyEmit": { "alias": "onlyEmit"; "required": false; "isSignal": true; }; }, { "mode": "modeChange"; "outChange": "outChange"; }, never, never, true, never>;
17
+ }