@libs-ui/components-buttons-sort 0.1.1-1
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 +139 -0
- package/arrow/arrow.component.d.ts +24 -0
- package/arrow/icon/icon.component.d.ts +9 -0
- package/esm2022/arrow/arrow.component.mjs +61 -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 +125 -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,139 @@
|
|
|
1
|
+
# Sort
|
|
2
|
+
|
|
3
|
+
## Giới thiệu
|
|
4
|
+
|
|
5
|
+
`@libs-ui/components-buttons-sort` là một component Sort Button cho Angular, hiển thị hai biểu tượng sắp xếp tăng dần và giảm dần, hỗ trợ binding trạng thái và emit event khi thay đổi.
|
|
6
|
+
|
|
7
|
+
## Tính năng
|
|
8
|
+
|
|
9
|
+
- Hiển thị icon `asc` và `desc` với kích thước tuỳ chỉnh
|
|
10
|
+
- Two-way binding cho chế độ sort (`mode`)
|
|
11
|
+
- Tuỳ chọn fieldSort để gắn tên trường sắp xếp
|
|
12
|
+
- Hỗ trợ disable toàn bộ sort hoặc riêng `asc` / `desc`
|
|
13
|
+
- `onlyEmit` để chỉ emit sự kiện mà không tự thay đổi chế độ
|
|
14
|
+
- Emit `ISort` bao gồm `mode`, `modeNumber`, `fieldSort` và hàm `reset()`
|
|
15
|
+
|
|
16
|
+
## Cài đặt
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @libs-ui/components-buttons-sort
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
hoặc
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
yarn add @libs-ui/components-buttons-sort
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Sử dụng
|
|
29
|
+
|
|
30
|
+
### Inline Template
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { Component } from '@angular/core';
|
|
34
|
+
import { LibsUiComponentsButtonsSortComponent } from '@libs-ui/components-buttons-sort';
|
|
35
|
+
import { TYPE_SORT_TYPE } from '@libs-ui/components-buttons-sort';
|
|
36
|
+
|
|
37
|
+
@Component({
|
|
38
|
+
selector: 'app-example',
|
|
39
|
+
standalone: true,
|
|
40
|
+
imports: [LibsUiComponentsButtonsSortComponent],
|
|
41
|
+
template: `
|
|
42
|
+
<libs_ui-components-buttons-sort
|
|
43
|
+
[size]="20"
|
|
44
|
+
[(mode)]="demoMode"
|
|
45
|
+
[fieldSort]="'name'"
|
|
46
|
+
(outChange)="onSort($event)"></libs_ui-components-buttons-sort>
|
|
47
|
+
`,
|
|
48
|
+
})
|
|
49
|
+
export class ExampleComponent {
|
|
50
|
+
demoMode: TYPE_SORT_TYPE = '';
|
|
51
|
+
onSort(event: any) {
|
|
52
|
+
console.log('Sorted:', event);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### File HTML riêng
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
import { Component } from '@angular/core';
|
|
61
|
+
import { LibsUiComponentsButtonsSortComponent } from '@libs-ui/components-buttons-sort';
|
|
62
|
+
import { TYPE_SORT_TYPE } from '@libs-ui/components-buttons-sort';
|
|
63
|
+
|
|
64
|
+
@Component({
|
|
65
|
+
selector: 'app-example',
|
|
66
|
+
standalone: true,
|
|
67
|
+
imports: [LibsUiComponentsButtonsSortComponent],
|
|
68
|
+
templateUrl: './example.component.html',
|
|
69
|
+
})
|
|
70
|
+
export class ExampleComponent {
|
|
71
|
+
demoMode: TYPE_SORT_TYPE = '';
|
|
72
|
+
onSort(event: any) {}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<libs_ui-components-buttons-sort
|
|
78
|
+
[size]="20"
|
|
79
|
+
[(mode)]="demoMode"
|
|
80
|
+
[fieldSort]="'name'"
|
|
81
|
+
(outChange)="onSort($event)"></libs_ui-components-buttons-sort>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Công nghệ sử dụng
|
|
85
|
+
|
|
86
|
+
- **Angular 18** với standalone components và Signals
|
|
87
|
+
- **Tailwind CSS** 3.x (phong cách demo)
|
|
88
|
+
|
|
89
|
+
## API Reference
|
|
90
|
+
|
|
91
|
+
### Inputs
|
|
92
|
+
|
|
93
|
+
| Tên | Kiểu | Mặc định | Mô tả |
|
|
94
|
+
| ----------- | ---------------- | -------- | ----------------------------------------------------- |
|
|
95
|
+
| size | `number` | `10` | Độ lớn của icon sắp xếp (px). |
|
|
96
|
+
| mode | `TYPE_SORT_TYPE` | `''` | Thứ tự hiện tại ('asc', 'desc' hoặc không sắp xếp). |
|
|
97
|
+
| fieldSort | `string` | `''` | Trường dữ liệu dùng để sắp xếp. |
|
|
98
|
+
| disable | `boolean` | `false` | Nếu true: tắt chức năng sắp xếp. |
|
|
99
|
+
| disableAsc | `boolean` | `false` | Nếu true: vô hiệu hóa chế độ sắp xếp tăng dần. |
|
|
100
|
+
| disableDesc | `boolean` | `false` | Nếu true: vô hiệu hóa chế độ sắp xếp giảm dần. |
|
|
101
|
+
| onlyEmit | `boolean` | `false` | Nếu true: chỉ phát sự kiện, không tự thay đổi chế độ. |
|
|
102
|
+
|
|
103
|
+
### Outputs
|
|
104
|
+
|
|
105
|
+
| Tên | Kiểu | Mô tả |
|
|
106
|
+
| --------- | ------------------------ | ------------------------------------------------------- |
|
|
107
|
+
| outChange | `(event: ISort) => void` | Trả về đối tượng ISort khi trạng thái sắp xếp thay đổi. |
|
|
108
|
+
|
|
109
|
+
### Interfaces
|
|
110
|
+
|
|
111
|
+
#### `ISort`
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
export interface ISort {
|
|
115
|
+
mode: TYPE_SORT_TYPE;
|
|
116
|
+
modeNumber: 1 | 2;
|
|
117
|
+
fieldSort: string;
|
|
118
|
+
reset: () => void;
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Mô tả:
|
|
123
|
+
|
|
124
|
+
- `mode`: `'asc'`, `'desc'` hoặc `''` (không sắp xếp).
|
|
125
|
+
- `modeNumber`: số tương ứng (1 = `'asc'`, 2 = `'desc'`).
|
|
126
|
+
- `fieldSort`: tên trường dữ liệu dùng để sắp xếp.
|
|
127
|
+
- `reset()`: hàm đặt lại về trạng thái không sắp xếp.
|
|
128
|
+
|
|
129
|
+
#### `TYPE_SORT_TYPE`
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
export type TYPE_SORT_TYPE = 'asc' | 'desc' | '';
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Mô tả:
|
|
136
|
+
|
|
137
|
+
- `'asc'`: sắp xếp tăng dần.
|
|
138
|
+
- `'desc'`: sắp xếp giảm dần.
|
|
139
|
+
- `''`: không sắp xếp.
|
|
@@ -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,61 @@
|
|
|
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
|
+
// #region 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
|
+
// #region 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
|
+
// #region 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.14", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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\n class=\"flex\"\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon\n [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: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "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.14", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{ selector: 'libs_ui-components-buttons-sort-arrow', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [LibsUiComponentsButtonSortArrowIconComponent, LibsUiComponentsPopoverComponent], template: "<div\n class=\"flex\"\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon\n [size]=\"size()\"\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n" }]
|
|
60
|
+
}] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvYXJyb3cvYXJyb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvYXJyb3cvYXJyb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFpRCxnQ0FBZ0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlILE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVVyRixNQUFNLE9BQU8seUNBQXlDO0lBQ3BELG1CQUFtQjtJQUNYLDJCQUEyQixDQUFnQztJQUN6RCxNQUFNLEdBQUcsUUFBUSxDQUFrQixHQUFHLEVBQUU7UUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDOUwsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBZ0I7SUFDUCxJQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLElBQUksR0FBRyxLQUFLLENBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyxvQkFBb0IsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7SUFDNUMsaUJBQWlCLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDcEMsa0JBQWtCLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDckMsV0FBVyxHQUFHLEtBQUssQ0FBaUIsRUFBRSxDQUFDLENBQUM7SUFDeEMsTUFBTSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUVwQyxpQkFBaUI7SUFDUixTQUFTLEdBQUcsTUFBTSxFQUFTLENBQUM7SUFFckMsZUFBZTtJQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFZO1FBQzNDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFDLENBQUM7WUFFM0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPO1FBQ25CLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBSztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLEtBQW1DO1FBQy9FLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQzt3R0F4RFUseUNBQXlDOzRGQUF6Qyx5Q0FBeUMsdTNDQ2J0RCw0WUFZQSw0Q0REWSw0Q0FBNEMsK0hBQUUsZ0NBQWdDOzs0RkFFN0UseUNBQXlDO2tCQVJyRCxTQUFTOytCQUVFLHVDQUF1QyxjQUVyQyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyw0Q0FBNEMsRUFBRSxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCwgSVBvcG92ZXJPdmVybGF5LCBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtcG9wb3Zlcic7XG5pbXBvcnQgeyBJU29ydCwgVFlQRV9TT1JUX1RZUEUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNCdXR0b25Tb3J0QXJyb3dJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGlic191aS1jb21wb25lbnRzLWJ1dHRvbnMtc29ydC1hcnJvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcnJvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbTGlic1VpQ29tcG9uZW50c0J1dHRvblNvcnRBcnJvd0ljb25Db21wb25lbnQsIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0J1dHRvbnNTb3J0QXJyb3dDb21wb25lbnQge1xuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByaXZhdGUgcG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50PzogSVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudDtcbiAgcHJvdGVjdGVkIGNvbmZpZyA9IGNvbXB1dGVkPElQb3BvdmVyT3ZlcmxheT4oKCkgPT4ge1xuICAgIHJldHVybiB7IHpJbmRleDogdGhpcy56SW5kZXgoKSwgY29udGVudDogKHRoaXMubW9kZSgpICYmIHRoaXMubW9kZSgpID09PSAnYXNjJykgfHwgKCF0aGlzLm1vZGUoKSAmJiB0aGlzLmRlZmF1bHRNb2RlKCkgPT09ICdkZXNjJykgPyB0aGlzLnBvcG92ZXJDb250ZW50RGVzYygpIDogdGhpcy5wb3BvdmVyQ29udGVudEFzYygpIH07XG4gIH0pO1xuXG4gIC8vICNyZWdpb24gSU5QVVRcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PG51bWJlcj4oMTYpO1xuICByZWFkb25seSBtb2RlID0gbW9kZWw8VFlQRV9TT1JUX1RZUEU+KCcnKTtcbiAgcmVhZG9ubHkgZmllbGRTb3J0ID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGlnbm9yZVBvcG92ZXJDb250ZW50ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IHBvcG92ZXJDb250ZW50QXNjID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBwb3BvdmVyQ29udGVudERlc2MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGRlZmF1bHRNb2RlID0gaW5wdXQ8VFlQRV9TT1JUX1RZUEU+KCcnKTtcbiAgcmVhZG9ubHkgekluZGV4ID0gaW5wdXQ8bnVtYmVyPigxMCk7XG5cbiAgLy8gI3JlZ2lvbiBPVVRQVVRcbiAgcmVhZG9ubHkgb3V0Q2hhbmdlID0gb3V0cHV0PElTb3J0PigpO1xuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckNsaWNrU29ydChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVNb2RlKCk7XG4gICAgdGhpcy5vdXRDaGFuZ2UuZW1pdChhd2FpdCB0aGlzLmdldE1vZGUoKSk7XG4gICAgdGhpcy5wb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQ/LnVwZGF0ZVBvcG92ZXJPdmVybGF5KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZU1vZGUoKSB7XG4gICAgaWYgKCF0aGlzLm1vZGUoKSkge1xuICAgICAgdGhpcy5tb2RlLnNldCh0aGlzLmRlZmF1bHRNb2RlKCkgfHwgJ2FzYycpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubW9kZS51cGRhdGUoKHZhbHVlKSA9PiAodmFsdWUgPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYycpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TW9kZSgpOiBQcm9taXNlPElTb3J0PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZGU6IHRoaXMubW9kZSgpLFxuICAgICAgbW9kZU51bWJlcjogdGhpcy5tb2RlKCkgPT09ICdhc2MnID8gMSA6IDIsXG4gICAgICBmaWVsZFNvcnQ6IHRoaXMuZmllbGRTb3J0KCksXG4gICAgICByZXNldDogdGhpcy5yZXNldC5iaW5kKHRoaXMpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlc2V0KCkge1xuICAgIHRoaXMubW9kZS5zZXQoJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJQb3BvdmVyRnVuY3Rpb25Db250cm9sKGV2ZW50OiBJUG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50KSB7XG4gICAgdGhpcy5wb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQgPSBldmVudDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZsZXhcIlxuICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckRpcmVjdGl2ZVxuICBbY29uZmlnXT1cImNvbmZpZygpXCJcbiAgW2lnbm9yZVNob3dQb3BvdmVyXT1cImlnbm9yZVBvcG92ZXJDb250ZW50KCkgfHwgZGlzYWJsZSgpXCJcbiAgKG91dEZ1bmN0aW9uc0NvbnRyb2wpPVwiaGFuZGxlclBvcG92ZXJGdW5jdGlvbkNvbnRyb2woJGV2ZW50KVwiPlxuICA8bGlic191aS1jb21wb25lbnRzLWJ1dHRvbi1zb3J0LWFycm93LWljb25cbiAgICBbc2l6ZV09XCJzaXplKClcIlxuICAgIFtzb3J0VHlwZV09XCJtb2RlKClcIlxuICAgIFtkaXNhYmxlXT1cImRpc2FibGUoKVwiXG4gICAgKGNsaWNrKT1cImhhbmRsZXJDbGlja1NvcnQoJGV2ZW50KVwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LibsUiComponentsButtonSortArrowIconComponent {
|
|
4
|
+
// #region INPUT
|
|
5
|
+
size = input(16);
|
|
6
|
+
sortType = input();
|
|
7
|
+
disable = input(false);
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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\n 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\n 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\n 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.14", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'libs_ui-components-button-sort-arrow-icon', standalone: true, template: "<svg\n 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\n 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\n 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9hcnJvdy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvYXJyb3cvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVqRCxNQUFNLE9BQU8sNENBQTRDO0lBQ3ZELGdCQUFnQjtJQUNQLElBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDekIsUUFBUSxHQUFHLEtBQUssRUFBa0IsQ0FBQztJQUNuQyxPQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO3dHQUo5Qiw0Q0FBNEM7NEZBQTVDLDRDQUE0QyxxZUNWekQsazhDQXFCQTs7NEZEWGEsNENBQTRDO2tCQVB4RCxTQUFTOytCQUVFLDJDQUEyQyxjQUd6QyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFlQRV9TT1JUX1RZUEUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGlic191aS1jb21wb25lbnRzLWJ1dHRvbi1zb3J0LWFycm93LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0J1dHRvblNvcnRBcnJvd0ljb25Db21wb25lbnQge1xuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxudW1iZXI+KDE2KTtcbiAgcmVhZG9ubHkgc29ydFR5cGUgPSBpbnB1dDxUWVBFX1NPUlRfVFlQRT4oKTtcbiAgcmVhZG9ubHkgZGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbn1cbiIsIjxzdmdcbiAgY2xhc3M9XCJsaWJzLXVpLWNvcmUtdWktY29tcG9uZW50cy1idXR0b24tc29ydC1hcnJvdy1pY29uXCJcbiAgW2F0dHIud2lkdGhdPVwic2l6ZSgpXCJcbiAgW2F0dHIuaGVpZ2h0XT1cInNpemUoKVwiXG4gIFthdHRyLmRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gIGZpbGw9XCJub25lXCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8cGF0aFxuICAgIGNsYXNzPVwibGlicy11aS1jb3JlLXVpLWNvbXBvbmVudHMtYnV0dG9uLXNvcnQtYXJyb3ctaWNvbi1sZWZ0XCJcbiAgICBbYXR0ci5kaXNhYmxlXT1cImRpc2FibGUoKVwiXG4gICAgW2F0dHIuYWN0aXZlXT1cInNvcnRUeXBlKCkgPT09ICdhc2MnXCJcbiAgICBkPVwiTTQuNzEyNTggMy4xOTEwMkM0Ljk2NzI2IDIuOTM2MzMgNS4zODAyIDIuOTM2MzMgNS42MzQ4OCAzLjE5MTAyTDcuODA4NzkgNS4zNjQ5MkM4LjA2MzQ4IDUuNjE5NjEgOC4wNjM0OCA2LjAzMjU0IDcuODA4NzkgNi4yODcyM0M3LjU1NDEgNi41NDE5MiA3LjE0MTE3IDYuNTQxOTIgNi44ODY0OCA2LjI4NzIzTDUuODI1OSA1LjIyNjY1VjEyLjM0NzhDNS44MjU5IDEyLjcwOCA1LjUzMzkxIDEzIDUuMTczNzMgMTNDNC44MTM1NSAxMyA0LjUyMTU2IDEyLjcwOCA0LjUyMTU2IDEyLjM0NzhWNS4yMjY2NUwzLjQ2MDk4IDYuMjg3MjNDMy4yMDYyOSA2LjU0MTkyIDIuNzkzMzYgNi41NDE5MiAyLjUzODY3IDYuMjg3MjNDMi4yODM5OCA2LjAzMjU0IDIuMjgzOTggNS42MTk2MSAyLjUzODY3IDUuMzY0OTJMNC43MTI1OCAzLjE5MTAyWlwiIC8+XG4gIDxwYXRoXG4gICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgY2xhc3M9XCJsaWJzLXVpLWNvcmUtdWktY29tcG9uZW50cy1idXR0b24tc29ydC1hcnJvdy1pY29uLXJpZ2h0XCJcbiAgICBbYXR0ci5kaXNhYmxlXT1cImRpc2FibGUoKVwiXG4gICAgW2F0dHIuYWN0aXZlXT1cInNvcnRUeXBlKCkgPT09ICdkZXNjJ1wiXG4gICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgZD1cIk0xMC4xNzM5IDEwLjc3MzNWMy42NTIxN0MxMC4xNzM5IDMuMjkxOTkgMTAuNDY1OSAzIDEwLjgyNjEgM0MxMS4xODYzIDMgMTEuNDc4MiAzLjI5MTk5IDExLjQ3ODIgMy42NTIxN1YxMC43NzMzTDEyLjUzODggOS43MTI3M0MxMi43OTM1IDkuNDU4MDQgMTMuMjA2NCA5LjQ1ODA0IDEzLjQ2MTEgOS43MTI3M0MxMy43MTU4IDkuOTY3NDEgMTMuNzE1OCAxMC4zODAzIDEzLjQ2MTEgMTAuNjM1TDExLjI4NzIgMTIuODA4OUMxMS4wMzI1IDEzLjA2MzYgMTAuNjE5NiAxMy4wNjM2IDEwLjM2NDkgMTIuODA4OUw4LjE5MTAyIDEwLjYzNUM3LjkzNjMzIDEwLjM4MDMgNy45MzYzMyA5Ljk2NzQxIDguMTkxMDIgOS43MTI3M0M4LjQ0NTcxIDkuNDU4MDQgOC44NTg2NCA5LjQ1ODA0IDkuMTEzMzMgOS43MTI3M0wxMC4xNzM5IDEwLjc3MzNaXCIgLz5cbjwvc3ZnPlxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYXJyb3cvYXJyb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './sort.interface';
|
|
2
|
+
export * from './sort.type';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC50eXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9pbnRlcmZhY2VzL3NvcnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUWVBFX1NPUlRfVFlQRSB9IGZyb20gJy4vc29ydC50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJU29ydCB7XG4gIG1vZGU6IFRZUEVfU09SVF9UWVBFO1xuICBtb2RlTnVtYmVyOiAxIHwgMjsgLy8gMTogYXNjOyAyOmRlc2NcbiAgZmllbGRTb3J0OiBzdHJpbmc7XG4gIHJlc2V0OiAoKSA9PiB2b2lkO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2J1dHRvbnMvc29ydC9zcmMvaW50ZXJmYWNlcy9zb3J0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRZUEVfU09SVF9UWVBFID0gJ2FzYycgfCAnZGVzYycgfCAnJztcbiJdfQ==
|
|
@@ -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
|
+
// #region 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
|
+
// #region 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.14", ngImport: i0, type: LibsUiComponentsButtonsSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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\n 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\n 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.14", 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\n 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\n 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9zb3J0L3NyYy9zb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL3NvcnQvc3JjL3NvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXekYsTUFBTSxPQUFPLG9DQUFvQztJQUMvQyxnQkFBZ0I7SUFDUCxJQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLElBQUksR0FBRyxLQUFLLENBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssQ0FBMkMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMzRyxVQUFVLEdBQUcsS0FBSyxDQUEyQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLFdBQVcsR0FBRyxLQUFLLENBQTJDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0csUUFBUSxHQUFHLEtBQUssQ0FBMkMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVySCxpQkFBaUI7SUFDUixTQUFTLEdBQUcsTUFBTSxFQUFTLENBQUM7SUFFckMsZUFBZTtJQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsSUFBb0I7UUFDakUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9ELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQy9DLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ2pELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNwQixDQUFDO0lBQ2IsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7d0dBeENVLG9DQUFvQzs0RkFBcEMsb0NBQW9DLDhoQ0NYakQscWtCQWVBOzs0RkRKYSxvQ0FBb0M7a0JBUmhELFNBQVM7K0JBRUUsaUNBQWlDLGNBRy9CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU29ydCwgVFlQRV9TT1JUX1RZUEUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtYnV0dG9ucy1zb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NvcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zb3J0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlDb21wb25lbnRzQnV0dG9uc1NvcnRDb21wb25lbnQge1xuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxudW1iZXI+KDEwKTtcbiAgcmVhZG9ubHkgbW9kZSA9IG1vZGVsPFRZUEVfU09SVF9UWVBFPignJyk7XG4gIHJlYWRvbmx5IGZpZWxkU29ydCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IGZhbHNlIH0pO1xuICByZWFkb25seSBkaXNhYmxlQXNjID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IGZhbHNlIH0pO1xuICByZWFkb25seSBkaXNhYmxlRGVzYyA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQsIGJvb2xlYW4gfCB1bmRlZmluZWQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyBmYWxzZSB9KTtcbiAgcmVhZG9ubHkgb25seUVtaXQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBib29sZWFuIHwgdW5kZWZpbmVkPihmYWxzZSwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gZmFsc2UgfSk7XG5cbiAgLy8gI3JlZ2lvbiBPVVRQVVRcbiAgcmVhZG9ubHkgb3V0Q2hhbmdlID0gb3V0cHV0PElTb3J0PigpO1xuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlckNsaWNrU29ydChldmVudDogRXZlbnQsIG1vZGU6IFRZUEVfU09SVF9UWVBFKSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCh0aGlzLmRpc2FibGUoKSB8fCB0aGlzLm1vZGUoKSA9PT0gbW9kZSkgJiYgIXRoaXMub25seUVtaXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSgpID09PSAnYXNjJyAmJiB0aGlzLmRpc2FibGVBc2MoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlKCkgPT09ICdkZXNjJyAmJiB0aGlzLmRpc2FibGVEZXNjKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tb2RlLnNldChtb2RlKTtcbiAgICB0aGlzLm91dENoYW5nZS5lbWl0KGF3YWl0IHRoaXMuZ2V0TW9kZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TW9kZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZTogdGhpcy5tb2RlKCksXG4gICAgICBtb2RlTnVtYmVyOiB0aGlzLm1vZGUoKSA9PT0gJ2FzYycgPyAxIDogMixcbiAgICAgIGZpZWxkU29ydDogdGhpcy5maWVsZFNvcnQoKSxcbiAgICAgIHJlc2V0OiB0aGlzLnJlc2V0LmJpbmQodGhpcyksXG4gICAgfSBhcyBJU29ydDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzZXQoKSB7XG4gICAgdGhpcy5tb2RlLnNldCgnJyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsaWJzLXVpLWJ1dHRvbi1zb3J0IGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXJcIj5cbiAgPGlcbiAgICBjbGFzcz1cImxpYnMtdWktaWNvbi1tb3ZlLXJpZ2h0IHJvdGF0ZS1bMjcwZGVnXVwiXG4gICAgW3N0eWxlLi0tc29ydC1zaXplLnB4XT1cInNpemUoKVwiXG4gICAgW2F0dHIuYWN0aXZlXT1cIm1vZGUoKSA9PT0gJ2FzYydcIlxuICAgIFthdHRyLmRpc2FibGVdPVwiZGlzYWJsZUFzYygpIHx8ICEhZGlzYWJsZSgpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckNsaWNrU29ydCgkZXZlbnQsICdhc2MnKVwiPjwvaT5cblxuICA8aVxuICAgIGNsYXNzPVwibGlicy11aS1pY29uLW1vdmUtcmlnaHQgcm90YXRlLVs5MGRlZ10gbXQtWzJweF1cIlxuICAgIFtzdHlsZS4tLXNvcnQtc2l6ZS5weF09XCJzaXplKClcIlxuICAgIFthdHRyLmFjdGl2ZV09XCJtb2RlKCkgPT09ICdkZXNjJ1wiXG4gICAgW2F0dHIuZGlzYWJsZV09XCJkaXNhYmxlRGVzYygpIHx8ICEhZGlzYWJsZSgpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckNsaWNrU29ydCgkZXZlbnQsICdkZXNjJylcIj48L2k+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, model, output, ChangeDetectionStrategy, Component, computed } from '@angular/core';
|
|
3
|
+
import { LibsUiComponentsPopoverComponent } from '@libs-ui/components-popover';
|
|
4
|
+
|
|
5
|
+
class LibsUiComponentsButtonsSortComponent {
|
|
6
|
+
// #region 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
|
+
// #region 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.14", ngImport: i0, type: LibsUiComponentsButtonsSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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\n 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\n 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.14", 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\n 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\n 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
|
+
// #region INPUT
|
|
52
|
+
size = input(16);
|
|
53
|
+
sortType = input();
|
|
54
|
+
disable = input(false);
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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\n 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\n 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\n 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.14", ngImport: i0, type: LibsUiComponentsButtonSortArrowIconComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{ selector: 'libs_ui-components-button-sort-arrow-icon', standalone: true, template: "<svg\n 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\n 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\n 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
|
+
// #region 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
|
+
// #region 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
|
+
// #region 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.14", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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\n class=\"flex\"\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon\n [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: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "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.14", ngImport: i0, type: LibsUiComponentsButtonsSortArrowComponent, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{ selector: 'libs_ui-components-buttons-sort-arrow', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [LibsUiComponentsButtonSortArrowIconComponent, LibsUiComponentsPopoverComponent], template: "<div\n class=\"flex\"\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon\n [size]=\"size()\"\n [sortType]=\"mode()\"\n [disable]=\"disable()\"\n (click)=\"handlerClickSort($event)\" />\n</div>\n" }]
|
|
118
|
+
}] });
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Generated bundle index. Do not edit.
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
export { LibsUiComponentsButtonsSortArrowComponent, LibsUiComponentsButtonsSortComponent };
|
|
125
|
+
//# 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 // #region 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 // #region 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\n 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\n 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})\nexport class LibsUiComponentsButtonSortArrowIconComponent {\n // #region INPUT\n readonly size = input<number>(16);\n readonly sortType = input<TYPE_SORT_TYPE>();\n readonly disable = input<boolean>(false);\n}\n","<svg\n 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\n 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\n 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, 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: [LibsUiComponentsButtonSortArrowIconComponent, LibsUiComponentsPopoverComponent],\n})\nexport class LibsUiComponentsButtonsSortArrowComponent {\n // #region 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 // #region 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 // #region 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\n class=\"flex\"\n LibsUiComponentsPopoverDirective\n [config]=\"config()\"\n [ignoreShowPopover]=\"ignorePopoverContent() || disable()\"\n (outFunctionsControl)=\"handlerPopoverFunctionControl($event)\">\n <libs_ui-components-button-sort-arrow-icon\n [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 @@
|
|
|
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.1.1-1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/core": ">=18.0.0",
|
|
6
|
+
"@libs-ui/components-popover": "0.1.1-1"
|
|
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
|
+
}
|