@latitude-ui/widgets 0.0.22 → 0.0.24

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.
Files changed (68) hide show
  1. package/button/README.md +3 -3
  2. package/checkbox/README.md +3 -0
  3. package/core/README.md +3 -3
  4. package/fesm2022/latitude-ui-widgets-button.mjs +63 -28
  5. package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -1
  6. package/fesm2022/latitude-ui-widgets-checkbox.mjs +9 -9
  7. package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -1
  8. package/fesm2022/latitude-ui-widgets-core.mjs +9 -103
  9. package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -1
  10. package/fesm2022/latitude-ui-widgets-icons.mjs +18 -96
  11. package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -1
  12. package/fesm2022/latitude-ui-widgets-input.mjs +113 -118
  13. package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -1
  14. package/fesm2022/latitude-ui-widgets-listbox.mjs +28 -36
  15. package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -1
  16. package/fesm2022/latitude-ui-widgets-scrollable.mjs +102 -0
  17. package/fesm2022/latitude-ui-widgets-scrollable.mjs.map +1 -0
  18. package/fesm2022/latitude-ui-widgets-select.mjs +79 -90
  19. package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -1
  20. package/fesm2022/latitude-ui-widgets-switch.mjs +9 -9
  21. package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -1
  22. package/fesm2022/latitude-ui-widgets-tabs.mjs +83 -0
  23. package/fesm2022/latitude-ui-widgets-tabs.mjs.map +1 -0
  24. package/fesm2022/latitude-ui-widgets-textbox.mjs +309 -23
  25. package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -1
  26. package/fesm2022/latitude-ui-widgets-toolbar.mjs +55 -9
  27. package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -1
  28. package/fesm2022/latitude-ui-widgets.mjs.map +1 -1
  29. package/icons/README.md +3 -0
  30. package/input/README.md +3 -3
  31. package/listbox/README.md +3 -0
  32. package/package.json +29 -40
  33. package/scrollable/README.md +3 -0
  34. package/select/README.md +3 -0
  35. package/switch/README.md +3 -0
  36. package/tabs/README.md +3 -0
  37. package/textbox/README.md +3 -0
  38. package/toolbar/README.md +3 -0
  39. package/types/latitude-ui-widgets-button.d.ts +30 -0
  40. package/{checkbox/index.d.ts → types/latitude-ui-widgets-checkbox.d.ts} +2 -2
  41. package/types/latitude-ui-widgets-core.d.ts +12 -0
  42. package/{icons/index.d.ts → types/latitude-ui-widgets-icons.d.ts} +4 -8
  43. package/{input/index.d.ts → types/latitude-ui-widgets-input.d.ts} +43 -41
  44. package/types/latitude-ui-widgets-listbox.d.ts +20 -0
  45. package/types/latitude-ui-widgets-scrollable.d.ts +24 -0
  46. package/{select/index.d.ts → types/latitude-ui-widgets-select.d.ts} +3 -5
  47. package/{switch/index.d.ts → types/latitude-ui-widgets-switch.d.ts} +2 -2
  48. package/types/latitude-ui-widgets-tabs.d.ts +46 -0
  49. package/types/latitude-ui-widgets-textbox.d.ts +107 -0
  50. package/types/latitude-ui-widgets-toolbar.d.ts +24 -0
  51. package/button/index.d.ts +0 -19
  52. package/core/index.d.ts +0 -39
  53. package/fesm2022/latitude-ui-widgets-textbox-number.mjs +0 -168
  54. package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +0 -1
  55. package/listbox/index.d.ts +0 -23
  56. package/styles/_colors.scss +0 -99
  57. package/styles/_defaults.scss +0 -135
  58. package/styles/_index.scss +0 -11
  59. package/styles/_typography.scss +0 -37
  60. package/styles/button/_index.scss +0 -199
  61. package/styles/forms/_index.scss +0 -888
  62. package/styles/icons/_index.scss +0 -34
  63. package/styles/list/_index.scss +0 -0
  64. package/styles/listbox/_index.scss +0 -30
  65. package/textbox/index.d.ts +0 -26
  66. package/textbox-number/index.d.ts +0 -44
  67. package/toolbar/index.d.ts +0 -8
  68. /package/{index.d.ts → types/latitude-ui-widgets.d.ts} +0 -0
@@ -1,56 +1,55 @@
1
1
  import { switchMap, of, delay } from 'rxjs';
2
2
  import { toSignal, toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
3
  import * as i0 from '@angular/core';
4
- import { input, booleanAttribute, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, computed, Directive, contentChildren, signal, output, viewChild, untracked, afterRenderEffect, ElementRef, numberAttribute } from '@angular/core';
5
- import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
4
+ import { input, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component, forwardRef, inject, computed, Directive, contentChildren, signal, output, untracked, ElementRef, afterRenderEffect, numberAttribute } from '@angular/core';
5
+ import { HTMLInputDirective } from '@latitude-ui/widgets/input';
6
6
  import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
7
- import * as i2 from '@angular/forms';
7
+ import * as i1 from '@angular/forms';
8
8
  import { FormsModule } from '@angular/forms';
9
9
  import { IconComponent } from '@latitude-ui/widgets/icons';
10
- import * as i1 from '@latitude-ui/widgets/listbox';
11
- import { ListBoxModule } from '@latitude-ui/widgets/listbox';
10
+ import { ListBoxComponent, OptionComponent } from '@latitude-ui/widgets/listbox';
12
11
  import { TextBoxComponent } from '@latitude-ui/widgets/textbox';
13
12
  import { ButtonComponent } from '@latitude-ui/widgets/button';
14
13
 
15
14
  class SelectOptionComponent {
16
- value = input.required();
17
- label = input.required();
18
- hidden = input(false, { transform: booleanAttribute });
19
- disabled = input(false, { transform: booleanAttribute });
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", 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: true, 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(() => SelectOptionDirective) }], ngImport: i0, template: "\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
16
+ label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
17
+ hidden = input(false, { ...(ngDevMode ? { debugName: "hidden" } : {}), transform: booleanAttribute });
18
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", 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: true, 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(() => SelectOptionDirective) }], ngImport: i0, template: "\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
21
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectOptionComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectOptionComponent, decorators: [{
24
23
  type: Component,
25
24
  args: [{ exportAs: 'latSelectOption', selector: 'lat-select-option', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
26
25
  {
27
26
  directive: forwardRef(() => SelectOptionDirective),
28
27
  },
29
- ], template: "\r\n" }]
30
- }] });
28
+ ], template: "\n" }]
29
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], hidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidden", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
31
30
 
32
31
  class SelectOptionDirective {
33
32
  select = inject((SelectDirective));
34
33
  option = inject((SelectOptionComponent), { host: true });
35
- value = computed(() => this.option.value());
36
- label = computed(() => this.option.label());
37
- hidden = computed(() => this.option.hidden());
38
- disabled = computed(() => this.option.disabled());
39
- selected = computed(() => this.select.selected().includes(this.value()));
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
41
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SelectOptionDirective, isStandalone: true, ngImport: i0 });
34
+ value = computed(() => this.option.value(), ...(ngDevMode ? [{ debugName: "value" }] : []));
35
+ label = computed(() => this.option.label(), ...(ngDevMode ? [{ debugName: "label" }] : []));
36
+ hidden = computed(() => this.option.hidden(), ...(ngDevMode ? [{ debugName: "hidden" }] : []));
37
+ disabled = computed(() => this.option.disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
38
+ selected = computed(() => this.select.selected().includes(this.value()), ...(ngDevMode ? [{ debugName: "selected" }] : []));
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: SelectOptionDirective, isStandalone: true, ngImport: i0 });
42
41
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectOptionDirective, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectOptionDirective, decorators: [{
44
43
  type: Directive
45
44
  }] });
46
45
 
47
- class SelectDirective extends BuildInInputValueAccessor {
48
- searchable = input(false, { transform: booleanAttribute });
49
- contentChildren = contentChildren(SelectOptionDirective);
46
+ class SelectDirective extends HTMLInputDirective {
47
+ searchable = input(false, { ...(ngDevMode ? { debugName: "searchable" } : {}), transform: booleanAttribute });
48
+ contentChildren = contentChildren(SelectOptionDirective, ...(ngDevMode ? [{ debugName: "contentChildren" }] : []));
50
49
  /** @internal */
51
- _overlayWidth = signal(0);
50
+ _overlayWidth = signal(0, ...(ngDevMode ? [{ debugName: "_overlayWidth" }] : []));
52
51
  /** @internal */
53
- _overlayState = signal(false);
52
+ _overlayState = signal(false, ...(ngDevMode ? [{ debugName: "_overlayState" }] : []));
54
53
  /** @internal */
55
54
  _overlayExpanded = toSignal(toObservable(this._overlayState).pipe(switchMap((state) => {
56
55
  return state ? of(state) : of(state).pipe(delay(100));
@@ -61,34 +60,34 @@ class SelectDirective extends BuildInInputValueAccessor {
61
60
  originX: 'start',
62
61
  originY: 'bottom',
63
62
  overlayX: 'start',
64
- overlayY: 'top',
63
+ overlayY: 'top'
65
64
  },
66
65
  {
67
66
  originX: 'end',
68
67
  originY: 'bottom',
69
68
  overlayX: 'end',
70
- overlayY: 'top',
69
+ overlayY: 'top'
71
70
  },
72
71
  {
73
72
  originX: 'start',
74
73
  originY: 'top',
75
74
  overlayX: 'start',
76
- overlayY: 'bottom',
75
+ overlayY: 'bottom'
77
76
  },
78
77
  {
79
78
  originX: 'end',
80
79
  originY: 'top',
81
80
  overlayX: 'end',
82
- overlayY: 'bottom',
83
- },
84
- ]);
81
+ overlayY: 'bottom'
82
+ }
83
+ ], ...(ngDevMode ? [{ debugName: "_overlayPositions" }] : []));
85
84
  /** @internal */
86
- _overlayPositionSide = signal('bottom');
85
+ _overlayPositionSide = signal('bottom', ...(ngDevMode ? [{ debugName: "_overlayPositionSide" }] : []));
87
86
  /** @internal */
88
87
  _indexes = computed(() => {
89
88
  const children = this.contentChildren();
90
89
  return new Map(children.map((option) => [option.value(), option]));
91
- });
90
+ }, ...(ngDevMode ? [{ debugName: "_indexes" }] : []));
92
91
  /** @internal */
93
92
  _selected = computed(() => {
94
93
  const selected = this.selected();
@@ -96,7 +95,7 @@ class SelectDirective extends BuildInInputValueAccessor {
96
95
  return selected
97
96
  .filter((value) => indexes.has(value))
98
97
  .map((value) => indexes.get(value));
99
- });
98
+ }, ...(ngDevMode ? [{ debugName: "_selected" }] : []));
100
99
  hide() {
101
100
  if (!this._overlayState()) {
102
101
  return void 0;
@@ -128,36 +127,32 @@ class SelectDirective extends BuildInInputValueAccessor {
128
127
  : connectionPair.originY;
129
128
  });
130
129
  }
131
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
132
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.0.6", type: SelectDirective, isStandalone: true, inputs: { searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "contentChildren", predicate: SelectOptionDirective, isSignal: true }], usesInheritance: true, ngImport: i0 });
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
131
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.3", type: SelectDirective, isStandalone: true, inputs: { searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "contentChildren", predicate: SelectOptionDirective, isSignal: true }], usesInheritance: true, ngImport: i0 });
133
132
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectDirective, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectDirective, decorators: [{
135
134
  type: Directive
136
- }] });
135
+ }], propDecorators: { searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], contentChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SelectOptionDirective), { isSignal: true }] }] } });
137
136
 
138
137
  class SelectDropDownComponent {
139
138
  dir = inject(SelectDirective);
140
139
  selection = output();
141
- textbox = viewChild(TextBoxComponent);
142
- search = signal('');
140
+ search = signal('', ...(ngDevMode ? [{ debugName: "search" }] : []));
143
141
  options = computed(() => {
144
142
  const options = this.dir.contentChildren();
145
143
  const search = this.search();
146
144
  const searchRegExp = search.length ? new RegExp(`.*${search}*.`, 'i') : null;
147
145
  return untracked(() => (searchRegExp ? options.filter((option) => option.label().match(searchRegExp)) : options));
148
- });
149
- constructor() {
150
- afterRenderEffect(() => this.textbox()?.focus());
151
- }
152
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectDropDownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SelectDropDownComponent, isStandalone: true, selector: "lat-select-dropdown", outputs: { selection: "selection" }, host: { properties: { "attr.data-side": "dir._overlayPositionSide()" } }, viewQueries: [{ propertyName: "textbox", first: true, predicate: TextBoxComponent, descendants: true, isSignal: true }], exportAs: ["latSelectDropDown"], ngImport: i0, template: "@if (dir.searchable()) {\r\n <lat-textbox [(ngModel)]=\"search\" />\r\n}\r\n\r\n<lat-listbox [style.width.px]=\"dir._overlayWidth()\" [attr.data-side]=\"dir._overlayPositionSide()\">\r\n @for (option of options(); track option.value()) {\r\n <lat-option\r\n [value]=\"option.value()\"\r\n [disabled]=\"option.disabled()\"\r\n [setsize]=\"$count\"\r\n [posinset]=\"$index\"\r\n (click)=\"selection.emit(option)\"\r\n >\r\n @if (option.selected()) {\r\n <lat-icon name=\"check\" />\r\n }\r\n <span>{{ option.label() }}</span>\r\n </lat-option>\r\n }\r\n</lat-listbox>\r\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }, { kind: "component", type: i1.ListBoxOptionComponent, selector: "lat-listbox-option, lat-option", inputs: ["value", "setsize", "posinset", "selected", "disabled", "checkbox"], exportAs: ["latListBoxOption"] }, { kind: "component", type: i1.ListBoxComponent, selector: "lat-listbox", exportAs: ["latListBox"] }, { kind: "component", type: TextBoxComponent, selector: "lat-textbox:not([type]), lat-textbox[type=\"text\"]", inputs: ["rows", "maxlength", "minlength"], exportAs: ["latTextBox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
146
+ }, ...(ngDevMode ? [{ debugName: "options" }] : []));
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectDropDownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SelectDropDownComponent, isStandalone: true, selector: "lat-select-dropdown", outputs: { selection: "selection" }, host: { properties: { "attr.data-side": "dir._overlayPositionSide()" } }, exportAs: ["latSelectDropDown"], ngImport: i0, template: "@if (dir.searchable()) {\n <lat-textbox [autofocus]=\"true\" [(ngModel)]=\"search\" />\n}\n\n<lat-listbox [style.width.px]=\"dir._overlayWidth()\" [attr.data-side]=\"dir._overlayPositionSide()\">\n @for (option of options(); track option.value()) {\n <lat-option\n [label]=\"option.label()\"\n [value]=\"option.value()\"\n [disabled]=\"option.disabled()\"\n [setsize]=\"$count\"\n [posinset]=\"$index\"\n (click)=\"selection.emit(option)\"\n >\n @if (option.selected()) {\n <lat-icon name=\"check\" />\n }\n <span>{{ option.label() }}</span>\n </lat-option>\n }\n</lat-listbox>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }, { kind: "component", type: ListBoxComponent, selector: "lat-listbox", exportAs: ["latListBox"] }, { kind: "component", type: OptionComponent, selector: "lat-option, lat-listbox-option", inputs: ["label", "value", "setsize", "posinset", "selected", "disabled", "checkbox"], exportAs: ["latOption"] }, { kind: "component", type: TextBoxComponent, selector: "lat-textbox:not([type]), lat-textbox[type=\"text\"]", inputs: ["rows", "maxlength", "minlength"], exportAs: ["latTextBox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
154
149
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectDropDownComponent, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectDropDownComponent, decorators: [{
156
151
  type: Component,
157
- args: [{ imports: [IconComponent, ListBoxModule, TextBoxComponent, FormsModule], exportAs: 'latSelectDropDown', selector: 'lat-select-dropdown', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
152
+ args: [{ imports: [IconComponent, ListBoxComponent, OptionComponent, TextBoxComponent, FormsModule], exportAs: 'latSelectDropDown', selector: 'lat-select-dropdown', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
158
153
  '[attr.data-side]': 'dir._overlayPositionSide()',
159
- }, template: "@if (dir.searchable()) {\r\n <lat-textbox [(ngModel)]=\"search\" />\r\n}\r\n\r\n<lat-listbox [style.width.px]=\"dir._overlayWidth()\" [attr.data-side]=\"dir._overlayPositionSide()\">\r\n @for (option of options(); track option.value()) {\r\n <lat-option\r\n [value]=\"option.value()\"\r\n [disabled]=\"option.disabled()\"\r\n [setsize]=\"$count\"\r\n [posinset]=\"$index\"\r\n (click)=\"selection.emit(option)\"\r\n >\r\n @if (option.selected()) {\r\n <lat-icon name=\"check\" />\r\n }\r\n <span>{{ option.label() }}</span>\r\n </lat-option>\r\n }\r\n</lat-listbox>\r\n" }]
160
- }], ctorParameters: () => [] });
154
+ }, template: "@if (dir.searchable()) {\n <lat-textbox [autofocus]=\"true\" [(ngModel)]=\"search\" />\n}\n\n<lat-listbox [style.width.px]=\"dir._overlayWidth()\" [attr.data-side]=\"dir._overlayPositionSide()\">\n @for (option of options(); track option.value()) {\n <lat-option\n [label]=\"option.label()\"\n [value]=\"option.value()\"\n [disabled]=\"option.disabled()\"\n [setsize]=\"$count\"\n [posinset]=\"$index\"\n (click)=\"selection.emit(option)\"\n >\n @if (option.selected()) {\n <lat-icon name=\"check\" />\n }\n <span>{{ option.label() }}</span>\n </lat-option>\n }\n</lat-listbox>\n" }]
155
+ }], propDecorators: { selection: [{ type: i0.Output, args: ["selection"] }] } });
161
156
 
162
157
  class SelectTriggerComponent {
163
158
  el = inject((ElementRef)).nativeElement;
@@ -171,10 +166,10 @@ class SelectTriggerComponent {
171
166
  onCleanup(() => observer.disconnect());
172
167
  });
173
168
  }
174
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
175
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SelectTriggerComponent, isStandalone: true, selector: "lat-select-trigger", host: { attributes: { "role": "combobox" }, listeners: { "click": "select.toggle()" }, properties: { "attr.data-size": "select.size()" } }, exportAs: ["latSelectTrigger"], ngImport: i0, template: "<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <section class=\"lat-select-control\">\n <lat-button tabindex=\"-1\" variant=\"subtle\" [size]=\"select.size()\" [disabled]=\"select.disabled()\">\n <lat-icon [name]=\"select._overlayState() ? 'chevron-up' : 'chevron-down'\"/>\n </lat-button>\n </section>\n}\n\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["size", "variant", "tabindex", "disabled"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
170
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SelectTriggerComponent, isStandalone: true, selector: "lat-select-trigger", host: { attributes: { "role": "combobox" }, listeners: { "click": "select.toggle()" }, properties: { "attr.data-size": "select.size()" } }, exportAs: ["latSelectTrigger"], ngImport: i0, template: "<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <section class=\"lat-select-control\">\n <lat-button tabindex=\"-1\" variant=\"subtle\" [size]=\"select.size()\" [disabled]=\"select.disabled()\">\n <lat-icon [name]=\"select._overlayState() ? 'chevron-up' : 'chevron-down'\"/>\n </lat-button>\n </section>\n}\n\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button, a[latButton],button[latButton]", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
176
171
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectTriggerComponent, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectTriggerComponent, decorators: [{
178
173
  type: Component,
179
174
  args: [{ imports: [ButtonComponent, IconComponent], exportAs: 'latSelectTrigger', selector: 'lat-select-trigger', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
180
175
  role: 'combobox',
@@ -185,34 +180,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
185
180
 
186
181
  class SelectValueComponent {
187
182
  select = inject(SelectDirective);
188
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
189
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: SelectValueComponent, isStandalone: true, selector: "lat-select-value", host: { attributes: { "role": "listitem" } }, exportAs: ["latSelectValue"], ngImport: i0, template: "<span>\r\n <ng-content />\r\n</span>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
184
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: SelectValueComponent, isStandalone: true, selector: "lat-select-value", host: { attributes: { "role": "listitem" } }, exportAs: ["latSelectValue"], ngImport: i0, template: "<span>\n <ng-content />\n</span>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
190
185
  }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectValueComponent, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectValueComponent, decorators: [{
192
187
  type: Component,
193
188
  args: [{ exportAs: 'latSelectValue', selector: 'lat-select-value', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
194
189
  role: 'listitem'
195
- }, template: "<span>\r\n <ng-content />\r\n</span>\r\n" }]
190
+ }, template: "<span>\n <ng-content />\n</span>\n" }]
196
191
  }] });
197
192
 
198
193
  class SelectValuesComponent {
199
194
  select = inject(SelectDirective);
200
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectValuesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
201
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SelectValuesComponent, isStandalone: true, selector: "lat-select-values", host: { attributes: { "role": "list" } }, exportAs: ["latSelectValues"], ngImport: i0, template: "@for (option of select._selected(); track option.value()) {\r\n <lat-select-value>\r\n {{ option.label() }}\r\n </lat-select-value>\r\n} @empty {\r\n {{ select.placeholder() }}\r\n}\r\n", dependencies: [{ kind: "component", type: SelectValueComponent, selector: "lat-select-value", exportAs: ["latSelectValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectValuesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
196
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SelectValuesComponent, isStandalone: true, selector: "lat-select-values", host: { attributes: { "role": "list" } }, exportAs: ["latSelectValues"], ngImport: i0, template: "@for (option of select._selected(); track option.value()) {\n <lat-select-value>\n {{ option.label() }}\n </lat-select-value>\n} @empty {\n {{ select.placeholder() }}\n}\n", dependencies: [{ kind: "component", type: SelectValueComponent, selector: "lat-select-value", exportAs: ["latSelectValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
202
197
  }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectValuesComponent, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectValuesComponent, decorators: [{
204
199
  type: Component,
205
200
  args: [{ imports: [SelectValueComponent], exportAs: 'latSelectValues', selector: 'lat-select-values', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
206
201
  role: 'list'
207
- }, template: "@for (option of select._selected(); track option.value()) {\r\n <lat-select-value>\r\n {{ option.label() }}\r\n </lat-select-value>\r\n} @empty {\r\n {{ select.placeholder() }}\r\n}\r\n" }]
202
+ }, template: "@for (option of select._selected(); track option.value()) {\n <lat-select-value>\n {{ option.label() }}\n </lat-select-value>\n} @empty {\n {{ select.placeholder() }}\n}\n" }]
208
203
  }] });
209
204
 
210
205
  class SelectMultipleComponent extends SelectDirective {
211
- maxlength = input(Number.MAX_SAFE_INTEGER, { transform: numberAttribute });
206
+ maxlength = input(Number.MAX_SAFE_INTEGER, { ...(ngDevMode ? { debugName: "maxlength" } : {}), transform: numberAttribute });
212
207
  selected = computed(() => {
213
208
  const value = this.value();
214
209
  return (value ? (Array.isArray(value) ? value : [value]) : []);
215
- });
210
+ }, ...(ngDevMode ? [{ debugName: "selected" }] : []));
216
211
  select(option) {
217
212
  const selected = this.selected().slice();
218
213
  if (selected.length >= this.maxlength()) {
@@ -227,19 +222,19 @@ class SelectMultipleComponent extends SelectDirective {
227
222
  }
228
223
  this.writeValue(selected);
229
224
  }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectMultipleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
231
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: SelectMultipleComponent, isStandalone: true, selector: "lat-select[type=\"multiple\"]", inputs: { maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
225
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectMultipleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
226
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: SelectMultipleComponent, isStandalone: true, selector: "lat-select[type=\"multiple\"]", inputs: { maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
232
227
  {
233
228
  provide: SelectDirective,
234
229
  useExisting: forwardRef(() => SelectMultipleComponent),
235
230
  },
236
231
  {
237
- provide: BuildInInputValueAccessor,
232
+ provide: HTMLInputDirective,
238
233
  useExisting: forwardRef(() => SelectMultipleComponent),
239
234
  },
240
- ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-values />\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\r\n (detach)=\"hide()\"\r\n (backdropClick)=\"hide()\"\r\n (positionChange)=\"updateOverlayPositionSide($event)\"\r\n>\r\n <lat-select-dropdown (selection)=\"select($event)\" />\r\n</ng-template>\r\n", dependencies: [{ 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: SelectDropDownComponent, selector: "lat-select-dropdown", outputs: ["selection"], exportAs: ["latSelectDropDown"] }, { kind: "component", type: SelectTriggerComponent, selector: "lat-select-trigger", exportAs: ["latSelectTrigger"] }, { kind: "component", type: SelectValuesComponent, selector: "lat-select-values", exportAs: ["latSelectValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
+ ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <lat-select-values />\n</lat-select-trigger>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\n (detach)=\"hide()\"\n (backdropClick)=\"hide()\"\n (positionChange)=\"updateOverlayPositionSide($event)\"\n>\n <lat-select-dropdown (selection)=\"select($event)\" />\n</ng-template>\n", dependencies: [{ 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", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: SelectDropDownComponent, selector: "lat-select-dropdown", outputs: ["selection"], exportAs: ["latSelectDropDown"] }, { kind: "component", type: SelectTriggerComponent, selector: "lat-select-trigger", exportAs: ["latSelectTrigger"] }, { kind: "component", type: SelectValuesComponent, selector: "lat-select-values", exportAs: ["latSelectValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
241
236
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectMultipleComponent, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectMultipleComponent, decorators: [{
243
238
  type: Component,
244
239
  args: [{ imports: [
245
240
  CdkOverlayOrigin,
@@ -253,36 +248,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
253
248
  useExisting: forwardRef(() => SelectMultipleComponent),
254
249
  },
255
250
  {
256
- provide: BuildInInputValueAccessor,
251
+ provide: HTMLInputDirective,
257
252
  useExisting: forwardRef(() => SelectMultipleComponent),
258
253
  },
259
- ], template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-values />\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\r\n (detach)=\"hide()\"\r\n (backdropClick)=\"hide()\"\r\n (positionChange)=\"updateOverlayPositionSide($event)\"\r\n>\r\n <lat-select-dropdown (selection)=\"select($event)\" />\r\n</ng-template>\r\n" }]
260
- }] });
254
+ ], template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <lat-select-values />\n</lat-select-trigger>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\n (detach)=\"hide()\"\n (backdropClick)=\"hide()\"\n (positionChange)=\"updateOverlayPositionSide($event)\"\n>\n <lat-select-dropdown (selection)=\"select($event)\" />\n</ng-template>\n" }]
255
+ }], propDecorators: { maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }] } });
261
256
 
262
257
  class SelectSingleComponent extends SelectDirective {
263
- nullable = input(true, { transform: booleanAttribute });
258
+ nullable = input(true, { ...(ngDevMode ? { debugName: "nullable" } : {}), transform: booleanAttribute });
264
259
  selected = computed(() => {
265
260
  const value = this.value();
266
261
  return (value === undefined ? [] : [value]);
267
- });
262
+ }, ...(ngDevMode ? [{ debugName: "selected" }] : []));
268
263
  select(option) {
269
264
  const value = this.nullable() ? (option.selected() ? null : option.value()) : option.value();
270
265
  this.writeValue(value);
271
266
  this.hide();
272
267
  }
273
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectSingleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
274
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: SelectSingleComponent, isStandalone: true, selector: "lat-select[type=\"single\"]", inputs: { nullable: { classPropertyName: "nullable", publicName: "nullable", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
268
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectSingleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
269
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: SelectSingleComponent, isStandalone: true, selector: "lat-select[type=\"single\"]", inputs: { nullable: { classPropertyName: "nullable", publicName: "nullable", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
275
270
  {
276
271
  provide: SelectDirective,
277
272
  useExisting: forwardRef(() => SelectSingleComponent),
278
273
  },
279
274
  {
280
- provide: BuildInInputValueAccessor,
275
+ provide: HTMLInputDirective,
281
276
  useExisting: forwardRef(() => SelectSingleComponent),
282
277
  },
283
- ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-values />\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\r\n (detach)=\"hide()\"\r\n (backdropClick)=\"hide()\"\r\n (positionChange)=\"updateOverlayPositionSide($event)\"\r\n>\r\n <lat-select-dropdown (selection)=\"select($event)\" />\r\n</ng-template>\r\n", dependencies: [{ 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: SelectDropDownComponent, selector: "lat-select-dropdown", outputs: ["selection"], exportAs: ["latSelectDropDown"] }, { kind: "component", type: SelectTriggerComponent, selector: "lat-select-trigger", exportAs: ["latSelectTrigger"] }, { kind: "component", type: SelectValuesComponent, selector: "lat-select-values", exportAs: ["latSelectValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
278
+ ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <lat-select-values />\n</lat-select-trigger>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\n (detach)=\"hide()\"\n (backdropClick)=\"hide()\"\n (positionChange)=\"updateOverlayPositionSide($event)\"\n>\n <lat-select-dropdown (selection)=\"select($event)\" />\n</ng-template>\n", dependencies: [{ 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", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: SelectDropDownComponent, selector: "lat-select-dropdown", outputs: ["selection"], exportAs: ["latSelectDropDown"] }, { kind: "component", type: SelectTriggerComponent, selector: "lat-select-trigger", exportAs: ["latSelectTrigger"] }, { kind: "component", type: SelectValuesComponent, selector: "lat-select-values", exportAs: ["latSelectValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
284
279
  }
285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SelectSingleComponent, decorators: [{
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectSingleComponent, decorators: [{
286
281
  type: Component,
287
282
  args: [{ imports: [
288
283
  CdkOverlayOrigin,
@@ -296,21 +291,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
296
291
  useExisting: forwardRef(() => SelectSingleComponent),
297
292
  },
298
293
  {
299
- provide: BuildInInputValueAccessor,
294
+ provide: HTMLInputDirective,
300
295
  useExisting: forwardRef(() => SelectSingleComponent),
301
296
  },
302
- ], template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-values />\r\n</lat-select-trigger>\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\r\n (detach)=\"hide()\"\r\n (backdropClick)=\"hide()\"\r\n (positionChange)=\"updateOverlayPositionSide($event)\"\r\n>\r\n <lat-select-dropdown (selection)=\"select($event)\" />\r\n</ng-template>\r\n" }]
303
- }] });
304
-
305
- const SelectModule = [
306
- SelectOptionComponent,
307
- SelectMultipleComponent,
308
- SelectSingleComponent
309
- ];
297
+ ], template: "<lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <lat-select-values />\n</lat-select-trigger>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\n (detach)=\"hide()\"\n (backdropClick)=\"hide()\"\n (positionChange)=\"updateOverlayPositionSide($event)\"\n>\n <lat-select-dropdown (selection)=\"select($event)\" />\n</ng-template>\n" }]
298
+ }], propDecorators: { nullable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nullable", required: false }] }] } });
310
299
 
311
300
  /**
312
301
  * Generated bundle index. Do not edit.
313
302
  */
314
303
 
315
- export { SelectDirective, SelectModule, SelectMultipleComponent, SelectOptionComponent, SelectOptionDirective, SelectSingleComponent };
304
+ export { SelectDirective, SelectMultipleComponent, SelectOptionComponent, SelectOptionDirective, SelectSingleComponent };
316
305
  //# sourceMappingURL=latitude-ui-widgets-select.mjs.map