@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 +3 -0
- package/arrow/arrow.component.d.ts +24 -0
- package/arrow/icon/icon.component.d.ts +9 -0
- package/esm2022/arrow/arrow.component.mjs +64 -0
- package/esm2022/arrow/icon/icon.component.mjs +15 -0
- package/esm2022/index.mjs +4 -0
- package/esm2022/interfaces/index.mjs +3 -0
- package/esm2022/interfaces/sort.interface.mjs +2 -0
- package/esm2022/interfaces/sort.type.mjs +2 -0
- package/esm2022/libs-ui-components-buttons-sort.mjs +5 -0
- package/esm2022/sort.component.mjs +47 -0
- package/fesm2022/libs-ui-components-buttons-sort.mjs +128 -0
- package/fesm2022/libs-ui-components-buttons-sort.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/interfaces/index.d.ts +2 -0
- package/interfaces/sort.interface.d.ts +7 -0
- package/interfaces/sort.type.d.ts +1 -0
- package/package.json +25 -0
- package/sort.component.d.ts +17 -0
package/README.md
ADDED
|
@@ -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":";;;;MAWa,oCAAoC,CAAA;;AAGtC,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,CAAC;AACxB,IAAA,IAAI,GAAG,KAAK,CAAiB,EAAE,CAAC;AAChC,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAA2C,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;AACxG,IAAA,UAAU,GAAG,KAAK,CAA2C,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;AAC3G,IAAA,WAAW,GAAG,KAAK,CAA2C,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;AAC5G,IAAA,QAAQ,GAAG,KAAK,CAA2C,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;;IAGzG,SAAS,GAAG,MAAM,EAAS;;AAG1B,IAAA,MAAM,gBAAgB,CAAC,KAAY,EAAE,IAAoB,EAAA;QACjE,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9D;;AAEF,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9C;;AAEF,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YAChD;;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;;AAGnC,IAAA,MAAM,OAAO,GAAA;QACnB,OAAO;AACL,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;AACzC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;SACnB;;AAGJ,IAAA,MAAM,KAAK,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;;wGAxCR,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,8hCCXjD,yjBAaA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDFa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBARhD,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAG/B,UAAA,EAAA,IAAI,EACC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yjBAAA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA;;;MEEpC,4CAA4C,CAAA;;AAG9C,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,CAAC;IACxB,QAAQ,GAAG,KAAK,EAAkB;AAClC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;wGAL7B,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5C,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4CAA4C,qeCXzD,i7CAkBA,EAAA,MAAA,EAAA,CAAA,0qBAAA,CAAA,EAAA,CAAA;;4FDPa,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBARxD,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2CAA2C,cAGzC,IAAI,EAAA,QAAA,EAAA,i7CAAA,EAAA,MAAA,EAAA,CAAA,0qBAAA,CAAA,EAAA;;;MEQL,yCAAyC,CAAA;;AAG5C,IAAA,2BAA2B;AACzB,IAAA,MAAM,GAAG,QAAQ,CAAkB,MAAK;QAChD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC/L,KAAC,CAAC;;AAGO,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,CAAC;AACxB,IAAA,IAAI,GAAG,KAAK,CAAiB,EAAE,CAAC;AAChC,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;AAC/B,IAAA,oBAAoB,GAAG,KAAK,CAAU,IAAI,CAAC;IAC3C,iBAAiB,GAAG,KAAK,EAAU;IACnC,kBAAkB,GAAG,KAAK,EAAU;AACpC,IAAA,WAAW,GAAG,KAAK,CAAiB,EAAE,CAAC;AACvC,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,CAAC;;IAG1B,SAAS,GAAG,MAAM,EAAS;;IAG1B,MAAM,gBAAgB,CAAC,KAAY,EAAA;QAC3C,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB;;QAEF,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,2BAA2B,EAAE,oBAAoB,EAAE;;AAGlD,IAAA,MAAM,UAAU,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;YAE1C;;QAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;;AAGrD,IAAA,MAAM,OAAO,GAAA;QACnB,OAAO;AACL,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;AACzC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;SAC5B;;AAGK,IAAA,MAAM,KAAK,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;;IAGT,MAAM,6BAA6B,CAAC,KAAmC,EAAA;AAC/E,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;;wGAxD/B,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yCAAyC,EChBtD,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,gYAUA,EDEI,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,4CAA4C,+HAC5C,gCAAgC,EAAA,QAAA,EAAA,+DAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,0CAAA,EAAA,4BAAA,EAAA,kCAAA,EAAA,8BAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAGvB,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAXrD,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uCAAuC,cAErC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,4CAA4C;wBAC5C;AACD,qBAAA,EAAA,QAAA,EAAA,gYAAA,EAAA;;;AEdH;;AAEG;;;;"}
|
package/index.d.ts
ADDED
|
@@ -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
|
+
}
|