@latitude-ui/widgets 0.0.5 → 0.0.11
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/esm2022/input/public-api.js +2 -1
- package/esm2022/input/src/input.module.js +9 -0
- package/esm2022/listbox/public-api.js +3 -2
- package/esm2022/listbox/src/listbox.module.js +7 -0
- package/esm2022/select/public-api.js +4 -3
- package/esm2022/select/src/select-multiple.component.js +31 -33
- package/esm2022/select/src/select-option.component.js +12 -5
- package/esm2022/select/src/select-option.directive.js +19 -0
- package/esm2022/select/src/select-single.component.js +27 -40
- package/esm2022/select/src/select.directive.js +15 -5
- package/esm2022/select/src/select.module.js +9 -0
- package/input/public-api.d.ts +1 -0
- package/input/src/input.module.d.ts +4 -0
- package/listbox/public-api.d.ts +2 -1
- package/listbox/src/listbox.module.d.ts +3 -0
- package/package.json +6 -6
- package/select/public-api.d.ts +3 -2
- package/select/src/select-multiple.component.d.ts +7 -7
- package/select/src/select-option.component.d.ts +4 -12
- package/select/src/select-option.directive.d.ts +14 -0
- package/select/src/select-single.component.d.ts +8 -7
- package/select/src/select-trigger.component.d.ts +1 -1
- package/select/src/select-value.component.d.ts +1 -1
- package/select/src/select.directive.d.ts +12 -6
- package/select/src/select.module.d.ts +4 -0
- package/styles/forms/_index.scss +15 -13
|
@@ -2,4 +2,5 @@ export * from './src/input-label/input-label.component';
|
|
|
2
2
|
export * from './src/input-error/input-error.component';
|
|
3
3
|
export * from './src/input.component';
|
|
4
4
|
export * from './src/input.directive';
|
|
5
|
-
|
|
5
|
+
export * from './src/input.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvaW5wdXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvaW5wdXQtZXJyb3IvaW5wdXQtZXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2lucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvaW5wdXQubW9kdWxlJztcblxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InputLabelComponent } from './input-label/input-label.component';
|
|
2
|
+
import { InputErrorComponent } from './input-error/input-error.component';
|
|
3
|
+
import { InputComponent } from './input.component';
|
|
4
|
+
export const InputModule = [
|
|
5
|
+
InputLabelComponent,
|
|
6
|
+
InputErrorComponent,
|
|
7
|
+
InputComponent,
|
|
8
|
+
];
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9pbnB1dC9zcmMvaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixjQUFjO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWVycm9yL2lucHV0LWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IElucHV0TW9kdWxlID0gW1xyXG4gIElucHV0TGFiZWxDb21wb25lbnQsXHJcbiAgSW5wdXRFcnJvckNvbXBvbmVudCxcclxuICBJbnB1dENvbXBvbmVudCxcclxuXSBhcyBjb25zdDtcclxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export * from './src/listbox.component';
|
|
2
1
|
export * from './src/listbox-option.component';
|
|
3
|
-
|
|
2
|
+
export * from './src/listbox.component';
|
|
3
|
+
export * from './src/listbox.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvbGlzdGJveC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvbGlzdGJveC1vcHRpb24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGlzdGJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGlzdGJveC5tb2R1bGUnO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ListBoxOptionComponent } from './listbox-option.component';
|
|
2
|
+
import { ListBoxComponent } from './listbox.component';
|
|
3
|
+
export const ListBoxModule = [
|
|
4
|
+
ListBoxOptionComponent,
|
|
5
|
+
ListBoxComponent
|
|
6
|
+
];
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2xpc3Rib3gvc3JjL2xpc3Rib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixzQkFBc0I7SUFDdEIsZ0JBQWdCO0NBQ1IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RCb3hPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3gtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpc3RCb3hDb21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3guY29tcG9uZW50JztcclxuXHJcblxyXG5leHBvcnQgY29uc3QgTGlzdEJveE1vZHVsZSA9IFtcclxuICBMaXN0Qm94T3B0aW9uQ29tcG9uZW50LFxyXG4gIExpc3RCb3hDb21wb25lbnRcclxuXSBhcyBjb25zdFxyXG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './src/select-option.directive';
|
|
2
|
+
export * from './src/select.directive';
|
|
1
3
|
export * from './src/select-option.component';
|
|
2
4
|
export * from './src/select-multiple.component';
|
|
3
5
|
export * from './src/select-single.component';
|
|
4
|
-
export * from './src/select.
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZWxlY3Qtc2luZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NlbGVjdC5kaXJlY3RpdmUnO1xuIl19
|
|
6
|
+
export * from './src/select.module';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZWxlY3QuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NlbGVjdC1zaW5nbGUuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VsZWN0Lm1vZHVsZSc7XG4iXX0=
|
|
@@ -1,42 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
3
3
|
import { IconComponent } from '@latitude-ui/widgets/icons';
|
|
4
4
|
import { ListBoxComponent, ListBoxOptionComponent } from '@latitude-ui/widgets/listbox';
|
|
5
|
-
import { SelectComponent } from './select.component';
|
|
6
5
|
import { SelectTriggerComponent } from './select-trigger.component';
|
|
7
6
|
import { SelectValueComponent } from './select-value.component';
|
|
7
|
+
import { SELECT_VALUE_COERCION, SelectDirective } from './select.directive';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const indexes = this.dir.indexes();
|
|
16
|
-
const selected = [];
|
|
17
|
-
value.forEach((value) => {
|
|
18
|
-
const option = indexes.get(value);
|
|
19
|
-
if (option) {
|
|
20
|
-
option.selected.set(true);
|
|
21
|
-
selected.push(option);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
this.selected.set(selected);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
9
|
+
import * as i1 from "./select.directive";
|
|
10
|
+
const SELECT_MULTIPLE_VALUE_COERCION = (value) => {
|
|
11
|
+
return (value ? (Array.isArray(value) ? value : [value]) : []);
|
|
12
|
+
};
|
|
13
|
+
export class SelectMultipleComponent {
|
|
14
|
+
dir = inject((SelectDirective));
|
|
27
15
|
handleSelectOption(option) {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
this.dir.writeValue(
|
|
16
|
+
const selected = this.dir.selected().slice();
|
|
17
|
+
const index = selected.findIndex((value) => value === option.value());
|
|
18
|
+
if (index === -1) {
|
|
19
|
+
selected.push(option.value());
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
selected.splice(index, 1);
|
|
23
|
+
}
|
|
24
|
+
this.dir.writeValue(selected);
|
|
37
25
|
}
|
|
38
26
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectMultipleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: SelectMultipleComponent, isStandalone: true, selector: "lat-select[type=\"multiple\"]",
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: SelectMultipleComponent, isStandalone: true, selector: "lat-select[type=\"multiple\"]", providers: [
|
|
28
|
+
{
|
|
29
|
+
provide: SELECT_VALUE_COERCION,
|
|
30
|
+
useValue: SELECT_MULTIPLE_VALUE_COERCION,
|
|
31
|
+
},
|
|
32
|
+
], exportAs: ["latSelect"], hostDirectives: [{ directive: i1.SelectDirective }], ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-value>\r\n <div class=\"lat-select-value-scrollable\">\r\n <div class=\"lat-select-value-scrollable-content\">\r\n @for (option of dir.selectedOptions(); track option.value()) {\r\n <div class=\"lat-select-tag\">\r\n <span>{{ option.label() }}</span>\r\n </div>\r\n } @empty {\r\n <div>{{ dir.placeholder() }}</div>\r\n }\r\n </div>\r\n </div>\r\n </lat-select-value>\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"dir.overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"dir.overlayWidth() > 0 ? dir.overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"dir.overlayPositions()\"\r\n (backdropClick)=\"dir.hide()\"\r\n (detach)=\"dir.hide()\"\r\n (positionChange)=\"dir.updateOverlayPositionSide($event)\"\r\n>\r\n <lat-listbox [style.width.px]=\"dir.overlayWidth()\" [attr.data-side]=\"dir.overlayPositionSide()\">\r\n @for (option of dir.options(); track option.value()) {\r\n <lat-option\r\n [setsize]=\"$count\"\r\n [posinset]=\"$index\"\r\n [value]=\"option.value()\"\r\n [disabled]=\"option.disabled()\"\r\n (click)=\"handleSelectOption(option)\"\r\n >\r\n @if (option.selected()) {\r\n <lat-icon name=\"check\"/>\r\n }\r\n {{ option.label() }}\r\n </lat-option>\r\n }\r\n </lat-listbox>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: SelectTriggerComponent, selector: "lat-select-trigger", exportAs: ["latSelectTrigger"] }, { kind: "component", type: SelectValueComponent, selector: "lat-select-value", exportAs: ["latSelectValue"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: ListBoxComponent, selector: "lat-listbox", exportAs: ["latListBox"] }, { kind: "component", type: ListBoxOptionComponent, selector: "lat-listbox-option, lat-option", inputs: ["value", "setsize", "posinset", "selected", "disabled", "checkbox"], exportAs: ["latListBoxOption"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
40
33
|
}
|
|
41
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectMultipleComponent, decorators: [{
|
|
42
35
|
type: Component,
|
|
@@ -48,6 +41,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
48
41
|
ListBoxComponent,
|
|
49
42
|
ListBoxOptionComponent,
|
|
50
43
|
IconComponent,
|
|
51
|
-
], exportAs: 'latSelect', selector: 'lat-select[type="multiple"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
], exportAs: 'latSelect', selector: 'lat-select[type="multiple"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
45
|
+
{
|
|
46
|
+
provide: SELECT_VALUE_COERCION,
|
|
47
|
+
useValue: SELECT_MULTIPLE_VALUE_COERCION,
|
|
48
|
+
},
|
|
49
|
+
], hostDirectives: [SelectDirective], template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-value>\r\n <div class=\"lat-select-value-scrollable\">\r\n <div class=\"lat-select-value-scrollable-content\">\r\n @for (option of dir.selectedOptions(); track option.value()) {\r\n <div class=\"lat-select-tag\">\r\n <span>{{ option.label() }}</span>\r\n </div>\r\n } @empty {\r\n <div>{{ dir.placeholder() }}</div>\r\n }\r\n </div>\r\n </div>\r\n </lat-select-value>\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"dir.overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"dir.overlayWidth() > 0 ? dir.overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"dir.overlayPositions()\"\r\n (backdropClick)=\"dir.hide()\"\r\n (detach)=\"dir.hide()\"\r\n (positionChange)=\"dir.updateOverlayPositionSide($event)\"\r\n>\r\n <lat-listbox [style.width.px]=\"dir.overlayWidth()\" [attr.data-side]=\"dir.overlayPositionSide()\">\r\n @for (option of dir.options(); track option.value()) {\r\n <lat-option\r\n [setsize]=\"$count\"\r\n [posinset]=\"$index\"\r\n [value]=\"option.value()\"\r\n [disabled]=\"option.disabled()\"\r\n (click)=\"handleSelectOption(option)\"\r\n >\r\n @if (option.selected()) {\r\n <lat-icon name=\"check\"/>\r\n }\r\n {{ option.label() }}\r\n </lat-option>\r\n }\r\n </lat-listbox>\r\n</ng-template>\r\n" }]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9zZWxlY3Qvc3JjL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFNUUsTUFBTSw4QkFBOEIsR0FBRyxDQUFJLEtBQWMsRUFBTyxFQUFFO0lBQ2hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBUSxDQUFDO0FBQ3hFLENBQUMsQ0FBQztBQXlCRixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xCLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQSxlQUF5QixDQUFBLENBQUMsQ0FBQztJQUU5QyxrQkFBa0IsQ0FBQyxNQUFnQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUV0RSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0IsQ0FBQzt1R0FmVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qiw0RUFSdkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUUsOEJBQThCO2FBQ3pDO1NBQ0Ysd0dDckNILDR2REErQ0EsNENENUJJLHNCQUFzQiwrRkFDdEIsb0JBQW9CLDJGQUNwQixnQkFBZ0IsdUlBQ2hCLG1CQUFtQiw0K0JBQ25CLGdCQUFnQixrRkFDaEIsc0JBQXNCLHlMQUN0QixhQUFhOzsyRkFlSix1QkFBdUI7a0JBdkJuQyxTQUFTOzhCQUNDO3dCQUNQLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLGFBQWE7cUJBQ2QsWUFDUyxXQUFXLFlBQ1gsNkJBQTZCLGlCQUV4QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRSw4QkFBOEI7eUJBQ3pDO3FCQUNGLGtCQUNlLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGxhdGl0dWRlLXVpL3dpZGdldHMvaWNvbnMnO1xuaW1wb3J0IHsgTGlzdEJveENvbXBvbmVudCwgTGlzdEJveE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2xpc3Rib3gnO1xuXG5pbXBvcnQgeyBTZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdFRyaWdnZXJDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmlnZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXZhbHVlLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNFTEVDVF9WQUxVRV9DT0VSQ0lPTiwgU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QuZGlyZWN0aXZlJztcblxuY29uc3QgU0VMRUNUX01VTFRJUExFX1ZBTFVFX0NPRVJDSU9OID0gPFQ+KHZhbHVlOiB1bmtub3duKTogVFtdID0+IHtcbiAgcmV0dXJuICh2YWx1ZSA/IChBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXSkgOiBbXSkgYXMgVFtdO1xufTtcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtcbiAgICBTZWxlY3RUcmlnZ2VyQ29tcG9uZW50LFxuICAgIFNlbGVjdFZhbHVlQ29tcG9uZW50LFxuICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgICBMaXN0Qm94Q29tcG9uZW50LFxuICAgIExpc3RCb3hPcHRpb25Db21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0QXM6ICdsYXRTZWxlY3QnLFxuICBzZWxlY3RvcjogJ2xhdC1zZWxlY3RbdHlwZT1cIm11bHRpcGxlXCJdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTRUxFQ1RfVkFMVUVfQ09FUkNJT04sXG4gICAgICB1c2VWYWx1ZTogU0VMRUNUX01VTFRJUExFX1ZBTFVFX0NPRVJDSU9OLFxuICAgIH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbU2VsZWN0RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0TXVsdGlwbGVDb21wb25lbnQ8VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgZGlyID0gaW5qZWN0KFNlbGVjdERpcmVjdGl2ZTxULCBmYWxzZT4pO1xuXG4gIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uOiBTZWxlY3RPcHRpb25EaXJlY3RpdmU8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuZGlyLnNlbGVjdGVkKCkuc2xpY2UoKTtcblxuICAgIGNvbnN0IGluZGV4ID0gc2VsZWN0ZWQuZmluZEluZGV4KCh2YWx1ZSkgPT4gdmFsdWUgPT09IG9wdGlvbi52YWx1ZSgpKTtcblxuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHNlbGVjdGVkLnB1c2gob3B0aW9uLnZhbHVlKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWxlY3RlZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cblxuICAgIHRoaXMuZGlyLndyaXRlVmFsdWUoc2VsZWN0ZWQpXG4gIH1cbn1cbiIsIjxsYXQtc2VsZWN0LXRyaWdnZXIgY2RrT3ZlcmxheU9yaWdpbiAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIj5cclxuICA8bGF0LXNlbGVjdC12YWx1ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJsYXQtc2VsZWN0LXZhbHVlLXNjcm9sbGFibGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxhdC1zZWxlY3QtdmFsdWUtc2Nyb2xsYWJsZS1jb250ZW50XCI+XHJcbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGRpci5zZWxlY3RlZE9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uLnZhbHVlKCkpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXQtc2VsZWN0LXRhZ1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24ubGFiZWwoKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGVtcHR5IHtcclxuICAgICAgICAgIDxkaXY+e3sgZGlyLnBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9sYXQtc2VsZWN0LXZhbHVlPlxyXG48L2xhdC1zZWxlY3QtdHJpZ2dlcj5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlcclxuICBjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3M9XCJsYXQtc2VsZWN0LWRyb3Bkb3duXCJcclxuICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiZGlyLm92ZXJsYXlFeHBhbmRlZCgpXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoXT1cImRpci5vdmVybGF5V2lkdGgoKSA+IDAgPyBkaXIub3ZlcmxheVdpZHRoKCkgOiAnYXV0bydcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cImRpci5vdmVybGF5UG9zaXRpb25zKClcIlxyXG4gIChiYWNrZHJvcENsaWNrKT1cImRpci5oaWRlKClcIlxyXG4gIChkZXRhY2gpPVwiZGlyLmhpZGUoKVwiXHJcbiAgKHBvc2l0aW9uQ2hhbmdlKT1cImRpci51cGRhdGVPdmVybGF5UG9zaXRpb25TaWRlKCRldmVudClcIlxyXG4+XHJcbiAgPGxhdC1saXN0Ym94IFtzdHlsZS53aWR0aC5weF09XCJkaXIub3ZlcmxheVdpZHRoKClcIiBbYXR0ci5kYXRhLXNpZGVdPVwiZGlyLm92ZXJsYXlQb3NpdGlvblNpZGUoKVwiPlxyXG4gICAgQGZvciAob3B0aW9uIG9mIGRpci5vcHRpb25zKCk7IHRyYWNrIG9wdGlvbi52YWx1ZSgpKSB7XHJcbiAgICAgIDxsYXQtb3B0aW9uXHJcbiAgICAgICAgW3NldHNpemVdPVwiJGNvdW50XCJcclxuICAgICAgICBbcG9zaW5zZXRdPVwiJGluZGV4XCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlKClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWQoKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pXCJcclxuICAgICAgPlxyXG4gICAgICAgIEBpZiAob3B0aW9uLnNlbGVjdGVkKCkpIHtcclxuICAgICAgICAgIDxsYXQtaWNvbiBuYW1lPVwiY2hlY2tcIi8+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHt7IG9wdGlvbi5sYWJlbCgpIH19XHJcbiAgICAgIDwvbGF0LW9wdGlvbj5cclxuICAgIH1cclxuICA8L2xhdC1saXN0Ym94PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncapsulation
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { SelectOptionDirective } from './select-option.directive';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./select-option.directive";
|
|
3
5
|
export class SelectOptionComponent {
|
|
4
6
|
value = input.required();
|
|
5
7
|
label = input();
|
|
6
|
-
|
|
8
|
+
hidden = input(false, { transform: booleanAttribute });
|
|
9
|
+
disabled = input(false, { transform: booleanAttribute });
|
|
7
10
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: SelectOptionComponent, isStandalone: true, selector: "lat-select-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["latSelectOption"], ngImport: i0, template: "\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: SelectOptionComponent, isStandalone: true, selector: "lat-select-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["latSelectOption"], hostDirectives: [{ directive: i0.forwardRef(() => i1.SelectOptionDirective) }], ngImport: i0, template: "\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
9
12
|
}
|
|
10
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectOptionComponent, decorators: [{
|
|
11
14
|
type: Component,
|
|
12
|
-
args: [{ exportAs: 'latSelectOption', selector: 'lat-select-option', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
|
+
args: [{ exportAs: 'latSelectOption', selector: 'lat-select-option', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
16
|
+
{
|
|
17
|
+
directive: forwardRef(() => SelectOptionDirective),
|
|
18
|
+
}
|
|
19
|
+
], template: "\r\n" }]
|
|
13
20
|
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWNsRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFLLENBQUM7SUFFNUIsS0FBSyxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ3hCLE1BQU0sR0FBRyxLQUFLLENBQW1CLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDekUsUUFBUSxHQUFHLEtBQUssQ0FBbUIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQzt1R0FMaEYscUJBQXFCOzJGQUFyQixxQkFBcUIsbXJCQ3ZCbEMsTUFDQTs7MkZEc0JhLHFCQUFxQjtrQkFaakMsU0FBUzsrQkFDRSxpQkFBaUIsWUFDakIsbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7eUJBQ25EO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAnbGF0U2VsZWN0T3B0aW9uJyxcbiAgc2VsZWN0b3I6ICdsYXQtc2VsZWN0LW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSksXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25Db21wb25lbnQ8VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxUPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGhpZGRlbiA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgdW5rbm93bj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xufVxuIiwiXHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { computed, Directive, inject } from '@angular/core';
|
|
2
|
+
import { SelectDirective } from './select.directive';
|
|
3
|
+
import { SelectOptionComponent } from './select-option.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SelectOptionDirective {
|
|
6
|
+
select = inject((SelectDirective));
|
|
7
|
+
option = inject((SelectOptionComponent), { host: true });
|
|
8
|
+
value = computed(() => this.option.value());
|
|
9
|
+
label = computed(() => this.option.label());
|
|
10
|
+
hidden = computed(() => this.option.hidden());
|
|
11
|
+
disabled = computed(() => this.option.disabled());
|
|
12
|
+
selected = computed(() => this.select.selected().find((value) => value === this.value()));
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: SelectOptionDirective, isStandalone: true, ngImport: i0 });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectOptionDirective, decorators: [{
|
|
17
|
+
type: Directive
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsZUFBa0IsQ0FBQSxDQUFDLENBQUM7SUFDcEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLHFCQUF3QixDQUFBLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUxRCxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1QyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5QyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzt1R0FSL0YscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25EaXJlY3RpdmU8VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ID0gaW5qZWN0KFNlbGVjdERpcmVjdGl2ZTxUPik7XG4gIHB1YmxpYyByZWFkb25seSBvcHRpb24gPSBpbmplY3QoU2VsZWN0T3B0aW9uQ29tcG9uZW50PFQ+LCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb24udmFsdWUoKSk7XG4gIHB1YmxpYyByZWFkb25seSBsYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9uLmxhYmVsKCkpO1xuICBwdWJsaWMgcmVhZG9ubHkgaGlkZGVuID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb24uaGlkZGVuKCkpO1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbi5kaXNhYmxlZCgpKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWxlY3Quc2VsZWN0ZWQoKS5maW5kKCh2YWx1ZSkgPT4gdmFsdWUgPT09IHRoaXMudmFsdWUoKSkpO1xufVxuIl19
|
|
@@ -1,48 +1,30 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
3
3
|
import { IconComponent } from '@latitude-ui/widgets/icons';
|
|
4
4
|
import { ListBoxComponent, ListBoxOptionComponent } from '@latitude-ui/widgets/listbox';
|
|
5
|
-
import { SelectComponent } from './select.component';
|
|
6
5
|
import { SelectTriggerComponent } from './select-trigger.component';
|
|
7
6
|
import { SelectValueComponent } from './select-value.component';
|
|
7
|
+
import { SELECT_VALUE_COERCION, SelectDirective } from './select.directive';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
option.selected.set(true);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
indexes.forEach((option) => {
|
|
25
|
-
if (option.selected()) {
|
|
26
|
-
option.selected.set(false);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
handleSelectOption(select) {
|
|
33
|
-
const options = this.dir.options();
|
|
34
|
-
options.forEach((option) => {
|
|
35
|
-
if (select === option) {
|
|
36
|
-
select.selected.update((selected) => !selected);
|
|
37
|
-
}
|
|
38
|
-
if (option.selected()) {
|
|
39
|
-
option.selected.set(false);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
this.dir.writeValue(select.selected() ? select.value() : null);
|
|
9
|
+
import * as i1 from "./select.directive";
|
|
10
|
+
const SELECT_SINGLE_VALUE_COERCION = (value) => {
|
|
11
|
+
return (value ? [value] : []);
|
|
12
|
+
};
|
|
13
|
+
export class SelectSingleComponent {
|
|
14
|
+
dir = inject((SelectDirective));
|
|
15
|
+
nullable = input(true, { transform: booleanAttribute });
|
|
16
|
+
handleSelectOption(option) {
|
|
17
|
+
const value = this.nullable() ? (option.selected() ? null : option.value()) : option.value();
|
|
18
|
+
this.dir.writeValue(value);
|
|
19
|
+
this.dir.hide();
|
|
43
20
|
}
|
|
44
21
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: SelectSingleComponent, isStandalone: true, selector: "lat-select[type=\"single\"]",
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: SelectSingleComponent, isStandalone: true, selector: "lat-select[type=\"single\"]", inputs: { nullable: { classPropertyName: "nullable", publicName: "nullable", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: SELECT_VALUE_COERCION,
|
|
25
|
+
useValue: SELECT_SINGLE_VALUE_COERCION,
|
|
26
|
+
},
|
|
27
|
+
], exportAs: ["latSelect"], hostDirectives: [{ directive: i1.SelectDirective }], ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-value>\r\n @if (dir.selectedOptions().at(0); as selected) {\r\n {{ selected.label() }}\r\n } @else {\r\n {{ dir.placeholder() }}\r\n }\r\n </lat-select-value>\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"dir.overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"dir.overlayWidth() > 0 ? dir.overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"dir.overlayPositions()\"\r\n (backdropClick)=\"dir.hide()\"\r\n (detach)=\"dir.hide()\"\r\n (positionChange)=\"dir.updateOverlayPositionSide($event)\"\r\n>\r\n <lat-listbox [style.width.px]=\"dir.overlayWidth()\" [attr.data-side]=\"dir.overlayPositionSide()\">\r\n @for (option of dir.options(); track option.value()) {\r\n <lat-option\r\n [setsize]=\"$count\"\r\n [posinset]=\"$index\"\r\n [value]=\"option.value()\"\r\n [disabled]=\"option.disabled()\"\r\n (click)=\"handleSelectOption(option)\"\r\n >\r\n @if (option.selected()) {\r\n <lat-icon name=\"check\" />\r\n }\r\n {{ option.label() }}\r\n </lat-option>\r\n }\r\n </lat-listbox>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: SelectTriggerComponent, selector: "lat-select-trigger", exportAs: ["latSelectTrigger"] }, { kind: "component", type: SelectValueComponent, selector: "lat-select-value", exportAs: ["latSelectValue"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: ListBoxComponent, selector: "lat-listbox", exportAs: ["latListBox"] }, { kind: "component", type: ListBoxOptionComponent, selector: "lat-listbox-option, lat-option", inputs: ["value", "setsize", "posinset", "selected", "disabled", "checkbox"], exportAs: ["latListBoxOption"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
46
28
|
}
|
|
47
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectSingleComponent, decorators: [{
|
|
48
30
|
type: Component,
|
|
@@ -54,6 +36,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
54
36
|
ListBoxComponent,
|
|
55
37
|
ListBoxOptionComponent,
|
|
56
38
|
IconComponent,
|
|
57
|
-
], exportAs: 'latSelect', selector: 'lat-select[type="single"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
58
|
-
|
|
59
|
-
|
|
39
|
+
], exportAs: 'latSelect', selector: 'lat-select[type="single"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
40
|
+
{
|
|
41
|
+
provide: SELECT_VALUE_COERCION,
|
|
42
|
+
useValue: SELECT_SINGLE_VALUE_COERCION,
|
|
43
|
+
},
|
|
44
|
+
], hostDirectives: [SelectDirective], template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-value>\r\n @if (dir.selectedOptions().at(0); as selected) {\r\n {{ selected.label() }}\r\n } @else {\r\n {{ dir.placeholder() }}\r\n }\r\n </lat-select-value>\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"dir.overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"dir.overlayWidth() > 0 ? dir.overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"dir.overlayPositions()\"\r\n (backdropClick)=\"dir.hide()\"\r\n (detach)=\"dir.hide()\"\r\n (positionChange)=\"dir.updateOverlayPositionSide($event)\"\r\n>\r\n <lat-listbox [style.width.px]=\"dir.overlayWidth()\" [attr.data-side]=\"dir.overlayPositionSide()\">\r\n @for (option of dir.options(); track option.value()) {\r\n <lat-option\r\n [setsize]=\"$count\"\r\n [posinset]=\"$index\"\r\n [value]=\"option.value()\"\r\n [disabled]=\"option.disabled()\"\r\n (click)=\"handleSelectOption(option)\"\r\n >\r\n @if (option.selected()) {\r\n <lat-icon name=\"check\" />\r\n }\r\n {{ option.label() }}\r\n </lat-option>\r\n }\r\n </lat-listbox>\r\n</ng-template>\r\n" }]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LXNpbmdsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LXNpbmdsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRTVFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBSSxLQUFjLEVBQU8sRUFBRTtJQUM5RCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVEsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUF5QkYsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQixHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUEsZUFBa0IsQ0FBQSxDQUFDLENBQUM7SUFFakMsUUFBUSxHQUFHLEtBQUssQ0FBbUIsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUVoRixrQkFBa0IsQ0FBQyxNQUFnQztRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFN0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDO3VHQVZVLHFCQUFxQjsyRkFBckIscUJBQXFCLHVOQVJyQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFFBQVEsRUFBRSw0QkFBNEI7YUFDdkM7U0FDRix3R0NwQ0gsby9DQXlDQSw0Q0R2Qkksc0JBQXNCLCtGQUN0QixvQkFBb0IsMkZBQ3BCLGdCQUFnQix1SUFDaEIsbUJBQW1CLDQrQkFDbkIsZ0JBQWdCLGtGQUNoQixzQkFBc0IseUxBQ3RCLGFBQWE7OzJGQWVKLHFCQUFxQjtrQkF2QmpDLFNBQVM7OEJBQ0M7d0JBQ1Asc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsYUFBYTtxQkFDZCxZQUNTLFdBQVcsWUFDWCwyQkFBMkIsaUJBRXRCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLDRCQUE0Qjt5QkFDdkM7cUJBQ0Ysa0JBQ2UsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGxhdGl0dWRlLXVpL3dpZGdldHMvaWNvbnMnO1xuaW1wb3J0IHsgTGlzdEJveENvbXBvbmVudCwgTGlzdEJveE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2xpc3Rib3gnO1xuXG5pbXBvcnQgeyBTZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdFRyaWdnZXJDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmlnZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTRUxFQ1RfVkFMVUVfQ09FUkNJT04sIFNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IFNFTEVDVF9TSU5HTEVfVkFMVUVfQ09FUkNJT04gPSA8VD4odmFsdWU6IHVua25vd24pOiBUW10gPT4ge1xuICByZXR1cm4gKHZhbHVlID8gW3ZhbHVlXSA6IFtdKSBhcyBUW107XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIFNlbGVjdFRyaWdnZXJDb21wb25lbnQsXG4gICAgU2VsZWN0VmFsdWVDb21wb25lbnQsXG4gICAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgICBDZGtDb25uZWN0ZWRPdmVybGF5LFxuICAgIExpc3RCb3hDb21wb25lbnQsXG4gICAgTGlzdEJveE9wdGlvbkNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRBczogJ2xhdFNlbGVjdCcsXG4gIHNlbGVjdG9yOiAnbGF0LXNlbGVjdFt0eXBlPVwic2luZ2xlXCJdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1zaW5nbGUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0VMRUNUX1ZBTFVFX0NPRVJDSU9OLFxuICAgICAgdXNlVmFsdWU6IFNFTEVDVF9TSU5HTEVfVkFMVUVfQ09FUkNJT04sXG4gICAgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtTZWxlY3REaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RTaW5nbGVDb21wb25lbnQ8VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgZGlyID0gaW5qZWN0KFNlbGVjdERpcmVjdGl2ZTxUPik7XG5cbiAgcHVibGljIHJlYWRvbmx5IG51bGxhYmxlID0gaW5wdXQ8dW5rbm93biwgYm9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb246IFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUPik6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5udWxsYWJsZSgpID8gKG9wdGlvbi5zZWxlY3RlZCgpID8gbnVsbCA6IG9wdGlvbi52YWx1ZSgpKSA6IG9wdGlvbi52YWx1ZSgpO1xuXG4gICAgdGhpcy5kaXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5kaXIuaGlkZSgpO1xuICB9XG59XG4iLCI8bGF0LXNlbGVjdC10cmlnZ2VyIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCI+XHJcbiAgPGxhdC1zZWxlY3QtdmFsdWU+XHJcbiAgICBAaWYgKGRpci5zZWxlY3RlZE9wdGlvbnMoKS5hdCgwKTsgYXMgc2VsZWN0ZWQpIHtcclxuICAgICAge3sgc2VsZWN0ZWQubGFiZWwoKSB9fVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHt7IGRpci5wbGFjZWhvbGRlcigpIH19XHJcbiAgICB9XHJcbiAgPC9sYXQtc2VsZWN0LXZhbHVlPlxyXG48L2xhdC1zZWxlY3QtdHJpZ2dlcj5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlcclxuICBjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3M9XCJsYXQtc2VsZWN0LWRyb3Bkb3duXCJcclxuICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiZGlyLm92ZXJsYXlFeHBhbmRlZCgpXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoXT1cImRpci5vdmVybGF5V2lkdGgoKSA+IDAgPyBkaXIub3ZlcmxheVdpZHRoKCkgOiAnYXV0bydcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cImRpci5vdmVybGF5UG9zaXRpb25zKClcIlxyXG4gIChiYWNrZHJvcENsaWNrKT1cImRpci5oaWRlKClcIlxyXG4gIChkZXRhY2gpPVwiZGlyLmhpZGUoKVwiXHJcbiAgKHBvc2l0aW9uQ2hhbmdlKT1cImRpci51cGRhdGVPdmVybGF5UG9zaXRpb25TaWRlKCRldmVudClcIlxyXG4+XHJcbiAgPGxhdC1saXN0Ym94IFtzdHlsZS53aWR0aC5weF09XCJkaXIub3ZlcmxheVdpZHRoKClcIiBbYXR0ci5kYXRhLXNpZGVdPVwiZGlyLm92ZXJsYXlQb3NpdGlvblNpZGUoKVwiPlxyXG4gICAgQGZvciAob3B0aW9uIG9mIGRpci5vcHRpb25zKCk7IHRyYWNrIG9wdGlvbi52YWx1ZSgpKSB7XHJcbiAgICAgIDxsYXQtb3B0aW9uXHJcbiAgICAgICAgW3NldHNpemVdPVwiJGNvdW50XCJcclxuICAgICAgICBbcG9zaW5zZXRdPVwiJGluZGV4XCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlKClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWQoKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pXCJcclxuICAgICAgPlxyXG4gICAgICAgIEBpZiAob3B0aW9uLnNlbGVjdGVkKCkpIHtcclxuICAgICAgICAgIDxsYXQtaWNvbiBuYW1lPVwiY2hlY2tcIiAvPlxyXG4gICAgICAgIH1cclxuICAgICAgICB7eyBvcHRpb24ubGFiZWwoKSB9fVxyXG4gICAgICA8L2xhdC1vcHRpb24+XHJcbiAgICB9XHJcbiAgPC9sYXQtbGlzdGJveD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import { delay, of, switchMap } from 'rxjs';
|
|
2
|
-
import { computed, Directive, forwardRef, signal } from '@angular/core';
|
|
2
|
+
import { computed, contentChildren, Directive, forwardRef, inject, InjectionToken, input, signal } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
5
|
+
import { SelectOptionDirective } from './select-option.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
export const SELECT_VALUE_COERCION = new InjectionToken('SELECT_VALUE_COERCION');
|
|
6
8
|
export class SelectDirective extends BuildInInputValueAccessor {
|
|
7
|
-
|
|
9
|
+
coercion = inject(SELECT_VALUE_COERCION);
|
|
10
|
+
placeholder = input();
|
|
11
|
+
options = contentChildren(SelectOptionDirective);
|
|
8
12
|
indexes = computed(() => {
|
|
9
13
|
const options = this.options();
|
|
10
14
|
return new Map(options.map((option) => [option.value(), option]));
|
|
11
15
|
});
|
|
16
|
+
selected = computed(() => this.coercion(this.value()));
|
|
17
|
+
selectedOptions = computed(() => {
|
|
18
|
+
const selected = this.selected();
|
|
19
|
+
const indexes = this.indexes();
|
|
20
|
+
return selected.map((value) => indexes.get(value)).filter(Boolean);
|
|
21
|
+
});
|
|
12
22
|
overlayWidth = signal(0);
|
|
13
23
|
overlayState = signal(false);
|
|
14
24
|
overlayPositions = signal([
|
|
@@ -72,12 +82,12 @@ export class SelectDirective extends BuildInInputValueAccessor {
|
|
|
72
82
|
});
|
|
73
83
|
}
|
|
74
84
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
75
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
85
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.0.4", type: SelectDirective, isStandalone: true, inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
76
86
|
{
|
|
77
87
|
provide: BuildInInputValueAccessor,
|
|
78
88
|
useExisting: forwardRef(() => SelectDirective),
|
|
79
89
|
},
|
|
80
|
-
], usesInheritance: true, ngImport: i0 });
|
|
90
|
+
], queries: [{ propertyName: "options", predicate: SelectOptionDirective, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
81
91
|
}
|
|
82
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectDirective, decorators: [{
|
|
83
93
|
type: Directive,
|
|
@@ -90,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
90
100
|
],
|
|
91
101
|
}]
|
|
92
102
|
}] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVsRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBNkIsdUJBQXVCLENBQUMsQ0FBQztBQVU3RyxNQUFNLE9BQU8sZUFBbUQsU0FBUSx5QkFBeUQ7SUFDL0csUUFBUSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXpDLFdBQVcsR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUU5QixPQUFPLEdBQUcsZUFBZSxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sR0FBRyxRQUFRLENBQW1DLEdBQUcsRUFBRTtRQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFFYSxRQUFRLEdBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFRLENBQUMsQ0FBQztJQUMvRCxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQStCLENBQUM7SUFDbkcsQ0FBQyxDQUFDLENBQUM7SUFFYSxZQUFZLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLFlBQVksR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFzQjtRQUM3RDtZQUNFLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRDtZQUNFLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLFFBQVE7U0FDbkI7UUFDRDtZQUNFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1NBQ25CO0tBQ0YsQ0FBQyxDQUFDO0lBQ2EsbUJBQW1CLEdBQUcsTUFBTSxDQUFzQyxRQUFRLENBQUMsQ0FBQztJQUU1RSxlQUFlLEdBQUcsUUFBUSxDQUN4QyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDbEMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsRUFDRixrQkFBa0IsRUFBRSxDQUNyQixFQUNELEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUN4QixDQUFDO0lBRUssSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLEVBQUUsY0FBYyxFQUFrQztRQUNqRixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxPQUFPLGNBQWMsQ0FBQyxPQUFPLEtBQUssUUFBUTtnQkFDeEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssT0FBTztvQkFDbEMsQ0FBQyxDQUFDLE1BQU07b0JBQ1IsQ0FBQyxDQUFDLE9BQU87Z0JBQ1gsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9GVSxlQUFlOzJGQUFmLGVBQWUsdUxBUGY7WUFDVDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQztTQUNGLGtEQU9tRSxxQkFBcUI7OzJGQUw5RSxlQUFlO2tCQVIzQixTQUFTO21CQUFDO29CQUNULFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUseUJBQXlCOzRCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDL0M7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLCBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2lucHV0JztcblxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfVkFMVUVfQ09FUkNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48PFQ+KHZhbHVlOiB1bmtub3duKSA9PiBUW10+KCdTRUxFQ1RfVkFMVUVfQ09FUkNJT04nKTtcblxuQERpcmVjdGl2ZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3REaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdERpcmVjdGl2ZTxULCBUU2luZ2xlIGV4dGVuZHMgYm9vbGVhbiA9IHRydWU+IGV4dGVuZHMgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvcjxUU2luZ2xlIGV4dGVuZHMgdHJ1ZSA/IFQgOiBUW10+IHtcbiAgcHVibGljIHJlYWRvbmx5IGNvZXJjaW9uID0gaW5qZWN0KFNFTEVDVF9WQUxVRV9DT0VSQ0lPTik7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBvcHRpb25zID0gY29udGVudENoaWxkcmVuPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUPj4oU2VsZWN0T3B0aW9uRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5kZXhlcyA9IGNvbXB1dGVkPE1hcDxULCBTZWxlY3RPcHRpb25EaXJlY3RpdmU8VD4+PigoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXG4gICAgcmV0dXJuIG5ldyBNYXAob3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW29wdGlvbi52YWx1ZSgpLCBvcHRpb25dKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZCA9ICBjb21wdXRlZCgoKSA9PiB0aGlzLmNvZXJjaW9uKHRoaXMudmFsdWUoKSkgYXMgVFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQoKTtcblxuICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLmluZGV4ZXMoKTtcbiAgICByZXR1cm4gc2VsZWN0ZWQubWFwKCh2YWx1ZSkgPT4gaW5kZXhlcy5nZXQodmFsdWUpKS5maWx0ZXIoQm9vbGVhbikgYXMgU2VsZWN0T3B0aW9uRGlyZWN0aXZlPFQ+W107XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5V2lkdGggPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlTdGF0ZSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5UG9zaXRpb25zID0gc2lnbmFsPENvbm5lY3RlZFBvc2l0aW9uW10+KFtcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgfSxcbiAgXSk7XG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5UG9zaXRpb25TaWRlID0gc2lnbmFsPCd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnPignYm90dG9tJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlFeHBhbmRlZCA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm92ZXJsYXlTdGF0ZSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID8gb2Yoc3RhdGUpIDogb2Yoc3RhdGUpLnBpcGUoZGVsYXkoMTAwKSk7XG4gICAgICB9KSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICksXG4gICAgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0sXG4gICk7XG5cbiAgcHVibGljIGhpZGUoKSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlTdGF0ZSgpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHRoaXMub3ZlcmxheVN0YXRlLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlTdGF0ZSgpIHx8IHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLm9wdGlvbnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgdGhpcy5vdmVybGF5U3RhdGUuc2V0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5U3RhdGUoKSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVPdmVybGF5UG9zaXRpb25TaWRlKHsgY29ubmVjdGlvblBhaXIgfTogQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlKSB7XG4gICAgdGhpcy5vdmVybGF5UG9zaXRpb25TaWRlLnVwZGF0ZSgoKSA9PiB7XG4gICAgICByZXR1cm4gY29ubmVjdGlvblBhaXIub3JpZ2luWSA9PT0gJ2NlbnRlcidcbiAgICAgICAgPyBjb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnc3RhcnQnXG4gICAgICAgICAgPyAnbGVmdCdcbiAgICAgICAgICA6ICdyaWdodCdcbiAgICAgICAgOiBjb25uZWN0aW9uUGFpci5vcmlnaW5ZO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SelectOptionComponent } from './select-option.component';
|
|
2
|
+
import { SelectMultipleComponent } from './select-multiple.component';
|
|
3
|
+
import { SelectSingleComponent } from './select-single.component';
|
|
4
|
+
export const SelectModule = [
|
|
5
|
+
SelectOptionComponent,
|
|
6
|
+
SelectMultipleComponent,
|
|
7
|
+
SelectSingleComponent
|
|
8
|
+
];
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1vcHRpb24uY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFNlbGVjdE11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0U2luZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qtc2luZ2xlLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgU2VsZWN0TW9kdWxlID0gW1xyXG4gIFNlbGVjdE9wdGlvbkNvbXBvbmVudCxcclxuICBTZWxlY3RNdWx0aXBsZUNvbXBvbmVudCxcclxuICBTZWxlY3RTaW5nbGVDb21wb25lbnRcclxuXSBhcyBjb25zdDtcclxuIl19
|
package/input/public-api.d.ts
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { InputLabelComponent } from './input-label/input-label.component';
|
|
2
|
+
import { InputErrorComponent } from './input-error/input-error.component';
|
|
3
|
+
import { InputComponent } from './input.component';
|
|
4
|
+
export declare const InputModule: readonly [typeof InputLabelComponent, typeof InputErrorComponent, typeof InputComponent];
|
package/listbox/public-api.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latitude-ui/widgets",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"description": "UI Widgets",
|
|
6
6
|
"keywords": [
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
"types": "./select/latitude-ui-widgets-select.d.ts",
|
|
57
57
|
"default": "./esm2022/select/latitude-ui-widgets-select.js"
|
|
58
58
|
},
|
|
59
|
-
"./switch": {
|
|
60
|
-
"types": "./switch/latitude-ui-widgets-switch.d.ts",
|
|
61
|
-
"default": "./esm2022/switch/latitude-ui-widgets-switch.js"
|
|
62
|
-
},
|
|
63
59
|
"./textarea": {
|
|
64
60
|
"types": "./textarea/latitude-ui-widgets-textarea.d.ts",
|
|
65
61
|
"default": "./esm2022/textarea/latitude-ui-widgets-textarea.js"
|
|
66
62
|
},
|
|
63
|
+
"./switch": {
|
|
64
|
+
"types": "./switch/latitude-ui-widgets-switch.d.ts",
|
|
65
|
+
"default": "./esm2022/switch/latitude-ui-widgets-switch.js"
|
|
66
|
+
},
|
|
67
67
|
"./textbox": {
|
|
68
68
|
"types": "./textbox/latitude-ui-widgets-textbox.d.ts",
|
|
69
69
|
"default": "./esm2022/textbox/latitude-ui-widgets-textbox.js"
|
|
@@ -88,4 +88,4 @@
|
|
|
88
88
|
"dependencies": {
|
|
89
89
|
"tslib": "^2.3.0"
|
|
90
90
|
}
|
|
91
|
-
}
|
|
91
|
+
}
|
package/select/public-api.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export * from './src/select-option.directive';
|
|
2
|
+
export * from './src/select.directive';
|
|
1
3
|
export * from './src/select-option.component';
|
|
2
4
|
export * from './src/select-multiple.component';
|
|
3
5
|
export * from './src/select-single.component';
|
|
4
|
-
export * from './src/select.
|
|
5
|
-
export * from './src/select.directive';
|
|
6
|
+
export * from './src/select.module';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { SelectOptionDirective } from './select-option.directive';
|
|
2
|
+
import { SelectDirective } from './select.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
protected handleSelectOption(option:
|
|
4
|
+
import * as i1 from "./select.directive";
|
|
5
|
+
export declare class SelectMultipleComponent<T> {
|
|
6
|
+
readonly dir: SelectDirective<T, false>;
|
|
7
|
+
protected handleSelectOption(option: SelectOptionDirective<T>): void;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectMultipleComponent<any>, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectMultipleComponent<any>, "lat-select[type=\"multiple\"]", ["latSelect"], {}, {}, never, never, true,
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectMultipleComponent<any>, "lat-select[type=\"multiple\"]", ["latSelect"], {}, {}, never, never, true, [{ directive: typeof i1.SelectDirective; inputs: {}; outputs: {}; }]>;
|
|
10
10
|
}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import { WritableSignal } from '@angular/core';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
-
readonly value: WritableSignal<T>;
|
|
5
|
-
readonly label: WritableSignal<string>;
|
|
6
|
-
readonly hidden: WritableSignal<boolean>;
|
|
7
|
-
readonly setsize: WritableSignal<number>;
|
|
8
|
-
readonly posinset: WritableSignal<number>;
|
|
9
|
-
readonly disabled: WritableSignal<boolean>;
|
|
10
|
-
readonly selected: WritableSignal<boolean>;
|
|
11
|
-
}
|
|
2
|
+
import * as i1 from "./select-option.directive";
|
|
12
3
|
export declare class SelectOptionComponent<T> {
|
|
13
4
|
readonly value: import("@angular/core").InputSignal<T>;
|
|
14
5
|
readonly label: import("@angular/core").InputSignal<string | undefined>;
|
|
15
|
-
readonly
|
|
6
|
+
readonly hidden: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
7
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
16
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectOptionComponent<any>, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectOptionComponent<any>, "lat-select-option", ["latSelectOption"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true,
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectOptionComponent<any>, "lat-select-option", ["latSelectOption"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.SelectOptionDirective; inputs: {}; outputs: {}; }]>;
|
|
18
10
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SelectDirective } from './select.directive';
|
|
2
|
+
import { SelectOptionComponent } from './select-option.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class SelectOptionDirective<T> {
|
|
5
|
+
readonly select: SelectDirective<any, any>;
|
|
6
|
+
readonly option: SelectOptionComponent<T>;
|
|
7
|
+
readonly value: import("@angular/core").Signal<T>;
|
|
8
|
+
readonly label: import("@angular/core").Signal<string | undefined>;
|
|
9
|
+
readonly hidden: import("@angular/core").Signal<boolean>;
|
|
10
|
+
readonly disabled: import("@angular/core").Signal<boolean>;
|
|
11
|
+
readonly selected: import("@angular/core").Signal<any>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectOptionDirective<any>, never>;
|
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectOptionDirective<any>, never, never, {}, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { SelectOptionDirective } from './select-option.directive';
|
|
2
|
+
import { SelectDirective } from './select.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import * as i1 from "./select.directive";
|
|
5
|
+
export declare class SelectSingleComponent<T> {
|
|
6
|
+
readonly dir: SelectDirective<T, true>;
|
|
7
|
+
readonly nullable: import("@angular/core").InputSignalWithTransform<unknown, boolean>;
|
|
8
|
+
protected handleSelectOption(option: SelectOptionDirective<T>): void;
|
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectSingleComponent<any>, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectSingleComponent<any>, "lat-select[type=\"single\"]", ["latSelect"], {}, {}, never, never, true,
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectSingleComponent<any>, "lat-select[type=\"single\"]", ["latSelect"], { "nullable": { "alias": "nullable"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.SelectDirective; inputs: {}; outputs: {}; }]>;
|
|
10
11
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SelectDirective } from './select.directive';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class SelectTriggerComponent {
|
|
4
|
-
readonly select: SelectDirective<any>;
|
|
4
|
+
readonly select: SelectDirective<any, any>;
|
|
5
5
|
readonly nativeElement: any;
|
|
6
6
|
constructor();
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectTriggerComponent, never>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SelectDirective } from './select.directive';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class SelectValueComponent {
|
|
4
|
-
readonly select: SelectDirective<any>;
|
|
4
|
+
readonly select: SelectDirective<any, any>;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectValueComponent, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<SelectValueComponent, "lat-select-value", ["latSelectValue"], {}, {}, never, ["*"], true, never>;
|
|
7
7
|
}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
1
2
|
import { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';
|
|
2
3
|
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
3
|
-
import {
|
|
4
|
+
import { SelectOptionDirective } from './select-option.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare
|
|
6
|
-
|
|
7
|
-
readonly
|
|
6
|
+
export declare const SELECT_VALUE_COERCION: InjectionToken<(<T>(value: unknown) => T[])>;
|
|
7
|
+
export declare class SelectDirective<T, TSingle extends boolean = true> extends BuildInInputValueAccessor<TSingle extends true ? T : T[]> {
|
|
8
|
+
readonly coercion: <T_1>(value: unknown) => T_1[];
|
|
9
|
+
readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
10
|
+
readonly options: import("@angular/core").Signal<readonly SelectOptionDirective<T>[]>;
|
|
11
|
+
readonly indexes: import("@angular/core").Signal<Map<T, SelectOptionDirective<T>>>;
|
|
12
|
+
readonly selected: import("@angular/core").Signal<T[]>;
|
|
13
|
+
readonly selectedOptions: import("@angular/core").Signal<SelectOptionDirective<T>[]>;
|
|
8
14
|
readonly overlayWidth: import("@angular/core").WritableSignal<number>;
|
|
9
15
|
readonly overlayState: import("@angular/core").WritableSignal<boolean>;
|
|
10
16
|
readonly overlayPositions: import("@angular/core").WritableSignal<ConnectedPosition[]>;
|
|
@@ -14,6 +20,6 @@ export declare class SelectDirective<T> extends BuildInInputValueAccessor<T> {
|
|
|
14
20
|
open(): undefined;
|
|
15
21
|
toggle(): void;
|
|
16
22
|
updateOverlayPositionSide({ connectionPair }: ConnectedOverlayPositionChange): void;
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectDirective<any>, never>;
|
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectDirective<any>, never, never, {}, {},
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectDirective<any, any>, never>;
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectDirective<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, ["options"], never, true, never>;
|
|
19
25
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SelectOptionComponent } from './select-option.component';
|
|
2
|
+
import { SelectMultipleComponent } from './select-multiple.component';
|
|
3
|
+
import { SelectSingleComponent } from './select-single.component';
|
|
4
|
+
export declare const SelectModule: readonly [typeof SelectOptionComponent, typeof SelectMultipleComponent, typeof SelectSingleComponent];
|
package/styles/forms/_index.scss
CHANGED
|
@@ -478,6 +478,20 @@ lat-select {
|
|
|
478
478
|
min-width: 0;
|
|
479
479
|
max-width: 100%;
|
|
480
480
|
|
|
481
|
+
&[type="single"] {
|
|
482
|
+
lat-select-value {
|
|
483
|
+
display: flex;
|
|
484
|
+
|
|
485
|
+
align-items: center;
|
|
486
|
+
justify-content: flex-start;
|
|
487
|
+
|
|
488
|
+
vertical-align: middle;
|
|
489
|
+
|
|
490
|
+
padding-inline: var(--lat-textbox-padding-inline);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
|
|
481
495
|
lat-select-trigger {
|
|
482
496
|
position: relative;
|
|
483
497
|
box-sizing: border-box;
|
|
@@ -544,6 +558,7 @@ lat-select {
|
|
|
544
558
|
0.5rem
|
|
545
559
|
);
|
|
546
560
|
|
|
561
|
+
|
|
547
562
|
lat-select-value {
|
|
548
563
|
overflow: hidden;
|
|
549
564
|
position: relative;
|
|
@@ -577,19 +592,6 @@ lat-select {
|
|
|
577
592
|
}
|
|
578
593
|
}
|
|
579
594
|
|
|
580
|
-
//lat-select-value {
|
|
581
|
-
// display: inline-flex;
|
|
582
|
-
//
|
|
583
|
-
// overflow: hidden;
|
|
584
|
-
//
|
|
585
|
-
// min-width: 0;
|
|
586
|
-
//
|
|
587
|
-
// flex-grow: 1;
|
|
588
|
-
// flex-wrap: nowrap;
|
|
589
|
-
//
|
|
590
|
-
// gap: 4px;
|
|
591
|
-
// margin-inline: 4px;
|
|
592
|
-
//
|
|
593
595
|
.lat-select-tag {
|
|
594
596
|
display: flex;
|
|
595
597
|
overflow: hidden;
|