@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.
@@ -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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvaW5wdXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2lucHV0LWVycm9yL2lucHV0LWVycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvaW5wdXQuZGlyZWN0aXZlJztcbiJdfQ==
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvbGlzdGJveC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2xpc3Rib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpc3Rib3gtb3B0aW9uLmNvbXBvbmVudCc7XG4iXX0=
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.component';
5
- export * from './src/select.directive';
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 { afterRenderEffect, ChangeDetectionStrategy, Component, signal, ViewEncapsulation } from '@angular/core';
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
- export class SelectMultipleComponent extends SelectComponent {
10
- selected = signal([]);
11
- constructor() {
12
- super();
13
- afterRenderEffect(() => {
14
- const value = this.dir.value() || [];
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 options = this.dir.options();
29
- option.selected.update((selected) => !selected);
30
- const value = [];
31
- options.forEach((option) => {
32
- if (option.selected()) {
33
- value.push(option.value());
34
- }
35
- });
36
- this.dir.writeValue(value);
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\"]", exportAs: ["latSelect"], usesInheritance: true, 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 selected(); 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>{{ 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 [value]=\"option.value()\"\r\n [setsize]=\"option.setsize()\"\r\n [posinset]=\"option.posinset()\"\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 });
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, 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 selected(); 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>{{ 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 [value]=\"option.value()\"\r\n [setsize]=\"option.setsize()\"\r\n [posinset]=\"option.posinset()\"\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" }]
52
- }], ctorParameters: () => [] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9zZWxlY3Qvc3JjL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQW1CaEUsTUFBTSxPQUFPLHVCQUEyQixTQUFRLGVBQXVCO0lBQ3JELFFBQVEsR0FBRyxNQUFNLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBRXpEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFFUixpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVuQyxNQUFNLFFBQVEsR0FBRyxFQUF1QixDQUFDO1lBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRTtnQkFDekIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFbEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRWtCLGtCQUFrQixDQUFDLE1BQXVCO1FBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbkMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEQsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN6QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7dUdBdENVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHlJQzdCcEMsa3dEQStDQSw0Q0RoQ0ksc0JBQXNCLCtGQUN0QixvQkFBb0IsMkZBQ3BCLGdCQUFnQix1SUFDaEIsbUJBQW1CLDQrQkFDbkIsZ0JBQWdCLGtGQUNoQixzQkFBc0IseUxBQ3RCLGFBQWE7OzJGQVFKLHVCQUF1QjtrQkFoQm5DLFNBQVM7OEJBQ0M7d0JBQ1Asc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsYUFBYTtxQkFDZCxZQUNTLFdBQVcsWUFDWCw2QkFBNkIsaUJBRXhCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlclJlbmRlckVmZmVjdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuXHJcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9pY29ucyc7XHJcbmltcG9ydCB7IExpc3RCb3hDb21wb25lbnQsIExpc3RCb3hPcHRpb25Db21wb25lbnQgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9saXN0Ym94JztcclxuXHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBTZWxlY3RUcmlnZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdHJpZ2dlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXZhbHVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2VsZWN0VHJpZ2dlckNvbXBvbmVudCxcclxuICAgIFNlbGVjdFZhbHVlQ29tcG9uZW50LFxyXG4gICAgQ2RrT3ZlcmxheU9yaWdpbixcclxuICAgIENka0Nvbm5lY3RlZE92ZXJsYXksXHJcbiAgICBMaXN0Qm94Q29tcG9uZW50LFxyXG4gICAgTGlzdEJveE9wdGlvbkNvbXBvbmVudCxcclxuICAgIEljb25Db21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRBczogJ2xhdFNlbGVjdCcsXHJcbiAgc2VsZWN0b3I6ICdsYXQtc2VsZWN0W3R5cGU9XCJtdWx0aXBsZVwiXScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdE11bHRpcGxlQ29tcG9uZW50PFQ+IGV4dGVuZHMgU2VsZWN0Q29tcG9uZW50PFQsIFRbXT4ge1xyXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZCA9IHNpZ25hbDxTZWxlY3RPcHRpb248VD5bXT4oW10pO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgYWZ0ZXJSZW5kZXJFZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGlyLnZhbHVlKCkgfHwgW107XHJcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLmRpci5pbmRleGVzKCk7XHJcblxyXG4gICAgICBjb25zdCBzZWxlY3RlZCA9IFtdIGFzIFNlbGVjdE9wdGlvbjxUPltdO1xyXG4gICAgICB2YWx1ZS5mb3JFYWNoKCh2YWx1ZTogVCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IGluZGV4ZXMuZ2V0KHZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgb3B0aW9uLnNlbGVjdGVkLnNldCh0cnVlKTtcclxuXHJcbiAgICAgICAgICBzZWxlY3RlZC5wdXNoKG9wdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHNlbGVjdGVkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb246IFNlbGVjdE9wdGlvbjxUPik6IHZvaWQge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZGlyLm9wdGlvbnMoKTtcclxuXHJcbiAgICBvcHRpb24uc2VsZWN0ZWQudXBkYXRlKChzZWxlY3RlZCkgPT4gIXNlbGVjdGVkKTtcclxuXHJcbiAgICBjb25zdCB2YWx1ZTogVFtdID0gW107XHJcbiAgICBvcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4ge1xyXG4gICAgICBpZiAob3B0aW9uLnNlbGVjdGVkKCkpIHtcclxuICAgICAgICB2YWx1ZS5wdXNoKG9wdGlvbi52YWx1ZSgpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kaXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwiPGxhdC1zZWxlY3QtdHJpZ2dlciBjZGtPdmVybGF5T3JpZ2luICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiPlxyXG4gIDxsYXQtc2VsZWN0LXZhbHVlPlxyXG4gICAgPGRpdiBjbGFzcz1cImxhdC1zZWxlY3QtdmFsdWUtc2Nyb2xsYWJsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGF0LXNlbGVjdC12YWx1ZS1zY3JvbGxhYmxlLWNvbnRlbnRcIj5cclxuICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VsZWN0ZWQoKTsgdHJhY2sgb3B0aW9uLnZhbHVlKCkpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXQtc2VsZWN0LXRhZ1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24ubGFiZWwoKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGVtcHR5IHtcclxuICAgICAgICAgIDxkaXY+e3sgcGxhY2Vob2xkZXIoKSB9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2xhdC1zZWxlY3QtdmFsdWU+XHJcbjwvbGF0LXNlbGVjdC10cmlnZ2VyPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxyXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb25cclxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcclxuICBjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzcz1cImxhdC1zZWxlY3QtZHJvcGRvd25cIlxyXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzPVwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJkaXIub3ZlcmxheUV4cGFuZGVkKClcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5V2lkdGhdPVwiZGlyLm92ZXJsYXlXaWR0aCgpID4gMCA/IGRpci5vdmVybGF5V2lkdGgoKSA6ICdhdXRvJ1wiXHJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwiZGlyLm92ZXJsYXlQb3NpdGlvbnMoKVwiXHJcbiAgKGJhY2tkcm9wQ2xpY2spPVwiZGlyLmhpZGUoKVwiXHJcbiAgKGRldGFjaCk9XCJkaXIuaGlkZSgpXCJcclxuICAocG9zaXRpb25DaGFuZ2UpPVwiZGlyLnVwZGF0ZU92ZXJsYXlQb3NpdGlvblNpZGUoJGV2ZW50KVwiXHJcbj5cclxuICA8bGF0LWxpc3Rib3ggW3N0eWxlLndpZHRoLnB4XT1cImRpci5vdmVybGF5V2lkdGgoKVwiIFthdHRyLmRhdGEtc2lkZV09XCJkaXIub3ZlcmxheVBvc2l0aW9uU2lkZSgpXCI+XHJcbiAgICBAZm9yIChvcHRpb24gb2YgZGlyLm9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uLnZhbHVlKCkpIHtcclxuICAgICAgPGxhdC1vcHRpb25cclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlKClcIlxyXG4gICAgICAgIFtzZXRzaXplXT1cIm9wdGlvbi5zZXRzaXplKClcIlxyXG4gICAgICAgIFtwb3NpbnNldF09XCJvcHRpb24ucG9zaW5zZXQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCgpXCJcclxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2VsZWN0T3B0aW9uKG9wdGlvbilcIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGlmIChvcHRpb24uc2VsZWN0ZWQoKSkge1xyXG4gICAgICAgICAgPGxhdC1pY29uIG5hbWU9XCJjaGVja1wiLz5cclxuICAgICAgICB9XHJcbiAgICAgICAge3sgb3B0aW9uLmxhYmVsKCkgfX1cclxuICAgICAgPC9sYXQtb3B0aW9uPlxyXG4gICAgfVxyXG4gIDwvbGF0LWxpc3Rib3g+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
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, } from '@angular/core';
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
- disabled = input(undefined, { transform: booleanAttribute });
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, template: "\r\n" }]
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQzs7QUFtQnZCLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUssQ0FBQztJQUU1QixLQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDeEIsUUFBUSxHQUFHLEtBQUssQ0FBbUIsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQzt1R0FKcEYscUJBQXFCOzJGQUFyQixxQkFBcUIsd2VDMUJsQyxNQUNBOzsyRkR5QmEscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGlCQUFpQixZQUNqQixtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbjxUPiB7XG4gIHJlYWRvbmx5IHZhbHVlOiBXcml0YWJsZVNpZ25hbDxUPjtcbiAgcmVhZG9ubHkgbGFiZWw6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XG4gIHJlYWRvbmx5IGhpZGRlbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IHNldHNpemU6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj47XG4gIHJlYWRvbmx5IHBvc2luc2V0OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+O1xuICByZWFkb25seSBkaXNhYmxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IHNlbGVjdGVkOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAnbGF0U2VsZWN0T3B0aW9uJyxcbiAgc2VsZWN0b3I6ICdsYXQtc2VsZWN0LW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvbkNvbXBvbmVudDxUPiB7XG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPFQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xufVxuIiwiXHJcbiJdfQ==
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, effect, signal, ViewEncapsulation } from '@angular/core';
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
- export class SelectSingleComponent extends SelectComponent {
10
- selected = signal(null);
11
- constructor() {
12
- super();
13
- effect(() => {
14
- const value = this.dir.value();
15
- const indexes = this.dir.indexes();
16
- this.selected.set(value);
17
- if (value) {
18
- const option = indexes.get(value);
19
- if (option) {
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\"]", exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-value>\r\n <div>\r\n @if (selected(); as selected) {\r\n {{ selected.label() }}\r\n } @else {\r\n {{ placeholder() }}\r\n }\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 [value]=\"option.value()\"\r\n [setsize]=\"option.setsize()\"\r\n [posinset]=\"option.posinset()\"\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 });
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, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-value>\r\n <div>\r\n @if (selected(); as selected) {\r\n {{ selected.label() }}\r\n } @else {\r\n {{ placeholder() }}\r\n }\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 [value]=\"option.value()\"\r\n [setsize]=\"option.setsize()\"\r\n [posinset]=\"option.posinset()\"\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" }]
58
- }], ctorParameters: () => [] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LXNpbmdsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3NlbGVjdC9zcmMvc2VsZWN0LXNpbmdsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFtQmhFLE1BQU0sT0FBTyxxQkFBeUIsU0FBUSxlQUE0QjtJQUN4RCxRQUFRLEdBQUcsTUFBTSxDQUF5QixJQUFJLENBQUMsQ0FBQztJQUVoRTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRVIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVuQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV6QixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUN6QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO3dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0IsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFa0Isa0JBQWtCLENBQUMsTUFBdUI7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekIsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQzt1R0F6Q1UscUJBQXFCOzJGQUFyQixxQkFBcUIsdUlDN0JsQyx3aERBMkNBLDRDRDVCSSxzQkFBc0IsK0ZBQ3RCLG9CQUFvQiwyRkFDcEIsZ0JBQWdCLHVJQUNoQixtQkFBbUIsNCtCQUNuQixnQkFBZ0Isa0ZBQ2hCLHNCQUFzQix5TEFDdEIsYUFBYTs7MkZBUUoscUJBQXFCO2tCQWhCakMsU0FBUzs4QkFDQzt3QkFDUCxzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixhQUFhO3FCQUNkLFlBQ1MsV0FBVyxZQUNYLDJCQUEyQixpQkFFdEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuXHJcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9pY29ucyc7XHJcbmltcG9ydCB7IExpc3RCb3hDb21wb25lbnQsIExpc3RCb3hPcHRpb25Db21wb25lbnQgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9saXN0Ym94JztcclxuXHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBTZWxlY3RUcmlnZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdHJpZ2dlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXZhbHVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2VsZWN0VHJpZ2dlckNvbXBvbmVudCxcclxuICAgIFNlbGVjdFZhbHVlQ29tcG9uZW50LFxyXG4gICAgQ2RrT3ZlcmxheU9yaWdpbixcclxuICAgIENka0Nvbm5lY3RlZE92ZXJsYXksXHJcbiAgICBMaXN0Qm94Q29tcG9uZW50LFxyXG4gICAgTGlzdEJveE9wdGlvbkNvbXBvbmVudCxcclxuICAgIEljb25Db21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRBczogJ2xhdFNlbGVjdCcsXHJcbiAgc2VsZWN0b3I6ICdsYXQtc2VsZWN0W3R5cGU9XCJzaW5nbGVcIl0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtc2luZ2xlLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0U2luZ2xlQ29tcG9uZW50PFQ+IGV4dGVuZHMgU2VsZWN0Q29tcG9uZW50PFQsIFQgfCBudWxsPiB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gc2lnbmFsPFNlbGVjdE9wdGlvbjxUPiB8IG51bGw+KG51bGwpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRpci52YWx1ZSgpO1xyXG4gICAgICBjb25zdCBpbmRleGVzID0gdGhpcy5kaXIuaW5kZXhlcygpO1xyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZC5zZXQodmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gaW5kZXhlcy5nZXQodmFsdWUpO1xyXG4gICAgICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgICAgIG9wdGlvbi5zZWxlY3RlZC5zZXQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGluZGV4ZXMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICBpZiAob3B0aW9uLnNlbGVjdGVkKCkpIHtcclxuICAgICAgICAgICAgb3B0aW9uLnNlbGVjdGVkLnNldChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZVNlbGVjdE9wdGlvbihzZWxlY3Q6IFNlbGVjdE9wdGlvbjxUPik6IHZvaWQge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZGlyLm9wdGlvbnMoKTtcclxuXHJcbiAgICBvcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ID09PSBvcHRpb24pIHtcclxuICAgICAgICBzZWxlY3Quc2VsZWN0ZWQudXBkYXRlKChzZWxlY3RlZCkgPT4gIXNlbGVjdGVkKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZCgpKSB7XHJcbiAgICAgICAgb3B0aW9uLnNlbGVjdGVkLnNldChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZGlyLndyaXRlVmFsdWUoc2VsZWN0LnNlbGVjdGVkKCkgPyBzZWxlY3QudmFsdWUoKSA6IG51bGwpO1xyXG4gIH1cclxufVxyXG4iLCI8bGF0LXNlbGVjdC10cmlnZ2VyIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCI+XHJcbiAgPGxhdC1zZWxlY3QtdmFsdWU+XHJcbiAgICA8ZGl2PlxyXG4gICAgICBAaWYgKHNlbGVjdGVkKCk7IGFzIHNlbGVjdGVkKSB7XHJcbiAgICAgICAge3sgc2VsZWN0ZWQubGFiZWwoKSB9fVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICB7eyBwbGFjZWhvbGRlcigpIH19XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvbGF0LXNlbGVjdC12YWx1ZT5cclxuPC9sYXQtc2VsZWN0LXRyaWdnZXI+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICBjZGtDb25uZWN0ZWRPdmVybGF5XHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUxvY2tQb3NpdGlvblxyXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcFxyXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzPVwibGF0LXNlbGVjdC1kcm9wZG93blwiXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXHJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXHJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImRpci5vdmVybGF5RXhwYW5kZWQoKVwiXHJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJkaXIub3ZlcmxheVdpZHRoKCkgPiAwID8gZGlyLm92ZXJsYXlXaWR0aCgpIDogJ2F1dG8nXCJcclxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJkaXIub3ZlcmxheVBvc2l0aW9ucygpXCJcclxuICAoYmFja2Ryb3BDbGljayk9XCJkaXIuaGlkZSgpXCJcclxuICAoZGV0YWNoKT1cImRpci5oaWRlKClcIlxyXG4gIChwb3NpdGlvbkNoYW5nZSk9XCJkaXIudXBkYXRlT3ZlcmxheVBvc2l0aW9uU2lkZSgkZXZlbnQpXCJcclxuPlxyXG4gIDxsYXQtbGlzdGJveCBbc3R5bGUud2lkdGgucHhdPVwiZGlyLm92ZXJsYXlXaWR0aCgpXCIgW2F0dHIuZGF0YS1zaWRlXT1cImRpci5vdmVybGF5UG9zaXRpb25TaWRlKClcIj5cclxuICAgIEBmb3IgKG9wdGlvbiBvZiBkaXIub3B0aW9ucygpOyB0cmFjayBvcHRpb24udmFsdWUoKSkge1xyXG4gICAgICA8bGF0LW9wdGlvblxyXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWUoKVwiXHJcbiAgICAgICAgW3NldHNpemVdPVwib3B0aW9uLnNldHNpemUoKVwiXHJcbiAgICAgICAgW3Bvc2luc2V0XT1cIm9wdGlvbi5wb3NpbnNldCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkKClcIlxyXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uKVwiXHJcbiAgICAgID5cclxuICAgICAgICBAaWYgKG9wdGlvbi5zZWxlY3RlZCgpKSB7XHJcbiAgICAgICAgICA8bGF0LWljb24gbmFtZT1cImNoZWNrXCIvPlxyXG4gICAgICAgIH1cclxuICAgICAgICB7eyBvcHRpb24ubGFiZWwoKSB9fVxyXG4gICAgICA8L2xhdC1vcHRpb24+XHJcbiAgICB9XHJcbiAgPC9sYXQtbGlzdGJveD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
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
- options = signal([]);
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: "14.0.0", version: "20.0.4", type: SelectDirective, isStandalone: true, providers: [
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBWXZFLE1BQU0sT0FBTyxlQUFtQixTQUFRLHlCQUE0QjtJQUNsRCxPQUFPLEdBQUcsTUFBTSxDQUFvQixFQUFFLENBQUMsQ0FBQztJQUN4QyxPQUFPLEdBQUcsUUFBUSxDQUEwQixHQUFHLEVBQUU7UUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRS9CLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBRWEsWUFBWSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqQyxZQUFZLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLGdCQUFnQixHQUFHLE1BQU0sQ0FBc0I7UUFDN0Q7WUFDRSxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVB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cm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5pbXBvcnQgeyBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuaW1wb3J0IHsgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2lucHV0JztcclxuXHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdERpcmVjdGl2ZSksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3REaXJlY3RpdmU8VD4gZXh0ZW5kcyBCdWlsZEluSW5wdXRWYWx1ZUFjY2Vzc29yPFQ+IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxTZWxlY3RPcHRpb248VD5bXT4oW10pO1xyXG4gIHB1YmxpYyByZWFkb25seSBpbmRleGVzID0gY29tcHV0ZWQ8TWFwPFQsIFNlbGVjdE9wdGlvbjxUPj4+KCgpID0+IHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMoKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE1hcChvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBbb3B0aW9uLnZhbHVlKCksIG9wdGlvbl0pKTtcclxuICB9KTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlXaWR0aCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5U3RhdGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5UG9zaXRpb25zID0gc2lnbmFsPENvbm5lY3RlZFBvc2l0aW9uW10+KFtcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgfSxcclxuICBdKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcmxheVBvc2l0aW9uU2lkZSA9IHNpZ25hbDwndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0Jz4oJ2JvdHRvbScpO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcmxheUV4cGFuZGVkID0gdG9TaWduYWwoXHJcbiAgICB0b09ic2VydmFibGUodGhpcy5vdmVybGF5U3RhdGUpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcclxuICAgICAgICByZXR1cm4gc3RhdGUgPyBvZihzdGF0ZSkgOiBvZihzdGF0ZSkucGlwZShkZWxheSgxMDApKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXHJcbiAgICApLFxyXG4gICAgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH1cclxuICApO1xyXG5cclxuICBwdWJsaWMgaGlkZSgpIHtcclxuICAgIGlmICghdGhpcy5vdmVybGF5U3RhdGUoKSkge1xyXG4gICAgICByZXR1cm4gdm9pZCAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3ZlcmxheVN0YXRlLnNldChmYWxzZSk7XHJcblxyXG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbigpIHtcclxuICAgIGlmICh0aGlzLm92ZXJsYXlTdGF0ZSgpIHx8IHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLm9wdGlvbnMoKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHZvaWQgMDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm92ZXJsYXlTdGF0ZS5zZXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVN0YXRlKCkpIHtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVPdmVybGF5UG9zaXRpb25TaWRlKHsgY29ubmVjdGlvblBhaXIgfTogQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlKSB7XHJcbiAgICB0aGlzLm92ZXJsYXlQb3NpdGlvblNpZGUudXBkYXRlKCgpID0+IHtcclxuICAgICAgcmV0dXJuIGNvbm5lY3Rpb25QYWlyLm9yaWdpblkgPT09ICdjZW50ZXInXHJcbiAgICAgICAgPyBjb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnc3RhcnQnXHJcbiAgICAgICAgICA/ICdsZWZ0J1xyXG4gICAgICAgICAgOiAncmlnaHQnXHJcbiAgICAgICAgOiBjb25uZWN0aW9uUGFpci5vcmlnaW5ZO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVsRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBNkIsdUJBQXVCLENBQUMsQ0FBQztBQVU3RyxNQUFNLE9BQU8sZUFBbUQsU0FBUSx5QkFBeUQ7SUFDL0csUUFBUSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXpDLFdBQVcsR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUU5QixPQUFPLEdBQUcsZUFBZSxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sR0FBRyxRQUFRLENBQW1DLEdBQUcsRUFBRTtRQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMs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Q0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLEVBQUUsY0FBYyxFQUFrQztRQUNqRixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxPQUFPLGNBQWMsQ0FBQyxPQUFPLEtBQUssUUFBUTtnQkFDeEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssT0FBTztvQkFDbEMsQ0FBQyxDQUFDLE1BQU07b0JBQ1IsQ0FBQyxDQUFDLE9BQU87Z0JBQ1gsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9GVSxlQUFlOzJGQUFmLGVBQWUsdUxBUGY7WUFDVDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQztTQUNGLGtEQU9tRSxxQkFBcUI7OzJGQUw5RSxlQUFlO2tCQVIzQixTQUFTO21CQUFDO29CQUNULFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUseUJBQXlCOzRCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDL0M7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLCBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2lucHV0JztcblxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfVkFMVUVfQ09FUkNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48PFQ+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
@@ -2,3 +2,4 @@ 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
+ export * from './src/input.module';
@@ -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];
@@ -1,2 +1,3 @@
1
- export * from './src/listbox.component';
2
1
  export * from './src/listbox-option.component';
2
+ export * from './src/listbox.component';
3
+ export * from './src/listbox.module';
@@ -0,0 +1,3 @@
1
+ import { ListBoxOptionComponent } from './listbox-option.component';
2
+ import { ListBoxComponent } from './listbox.component';
3
+ export declare const ListBoxModule: readonly [typeof ListBoxOptionComponent, typeof ListBoxComponent];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latitude-ui/widgets",
3
- "version": "0.0.5",
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
+ }
@@ -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.component';
5
- export * from './src/select.directive';
6
+ export * from './src/select.module';
@@ -1,10 +1,10 @@
1
- import { SelectComponent } from './select.component';
2
- import { SelectOption } from './select-option.component';
1
+ import { SelectOptionDirective } from './select-option.directive';
2
+ import { SelectDirective } from './select.directive';
3
3
  import * as i0 from "@angular/core";
4
- export declare class SelectMultipleComponent<T> extends SelectComponent<T, T[]> {
5
- readonly selected: import("@angular/core").WritableSignal<SelectOption<T>[]>;
6
- constructor();
7
- protected handleSelectOption(option: SelectOption<T>): void;
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, never>;
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
- export interface SelectOption<T> {
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 disabled: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
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, never>;
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 { SelectComponent } from './select.component';
2
- import { SelectOption } from './select-option.component';
1
+ import { SelectOptionDirective } from './select-option.directive';
2
+ import { SelectDirective } from './select.directive';
3
3
  import * as i0 from "@angular/core";
4
- export declare class SelectSingleComponent<T> extends SelectComponent<T, T | null> {
5
- readonly selected: import("@angular/core").WritableSignal<SelectOption<T> | null>;
6
- constructor();
7
- protected handleSelectOption(select: SelectOption<T>): void;
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, never>;
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 { SelectOption } from './select-option.component';
4
+ import { SelectOptionDirective } from './select-option.directive';
4
5
  import * as i0 from "@angular/core";
5
- export declare class SelectDirective<T> extends BuildInInputValueAccessor<T> {
6
- readonly options: import("@angular/core").WritableSignal<SelectOption<T>[]>;
7
- readonly indexes: import("@angular/core").Signal<Map<T, SelectOption<T>>>;
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, {}, {}, never, never, true, 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];
@@ -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;