@latitude-ui/widgets 0.0.21 → 0.0.23

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 (74) hide show
  1. package/README.md +7 -7
  2. package/button/README.md +2 -2
  3. package/checkbox/README.md +3 -0
  4. package/fesm2022/latitude-widgets-button.mjs +96 -0
  5. package/fesm2022/latitude-widgets-button.mjs.map +1 -0
  6. package/fesm2022/{latitude-ui-widgets-checkbox.mjs → latitude-widgets-checkbox.mjs} +6 -6
  7. package/fesm2022/latitude-widgets-checkbox.mjs.map +1 -0
  8. package/fesm2022/{latitude-ui-widgets-icons.mjs → latitude-widgets-icon.mjs} +45 -49
  9. package/fesm2022/latitude-widgets-icon.mjs.map +1 -0
  10. package/fesm2022/{latitude-ui-widgets-input.mjs → latitude-widgets-input.mjs} +67 -109
  11. package/fesm2022/latitude-widgets-input.mjs.map +1 -0
  12. package/fesm2022/{latitude-ui-widgets-listbox.mjs → latitude-widgets-listbox.mjs} +25 -30
  13. package/fesm2022/latitude-widgets-listbox.mjs.map +1 -0
  14. package/fesm2022/{latitude-ui-widgets-select.mjs → latitude-widgets-select.mjs} +67 -73
  15. package/fesm2022/latitude-widgets-select.mjs.map +1 -0
  16. package/fesm2022/{latitude-ui-widgets-switch.mjs → latitude-widgets-switch.mjs} +5 -5
  17. package/fesm2022/latitude-widgets-switch.mjs.map +1 -0
  18. package/fesm2022/latitude-widgets-textbox-date.mjs +30 -0
  19. package/fesm2022/latitude-widgets-textbox-date.mjs.map +1 -0
  20. package/fesm2022/{latitude-ui-widgets-textbox-number.mjs → latitude-widgets-textbox-number.mjs} +50 -58
  21. package/fesm2022/latitude-widgets-textbox-number.mjs.map +1 -0
  22. package/fesm2022/{latitude-ui-widgets-textbox.mjs → latitude-widgets-textbox.mjs} +17 -17
  23. package/fesm2022/latitude-widgets-textbox.mjs.map +1 -0
  24. package/fesm2022/{latitude-ui-widgets.mjs → latitude-widgets.mjs} +1 -1
  25. package/fesm2022/latitude-widgets.mjs.map +1 -0
  26. package/icon/README.md +3 -0
  27. package/input/README.md +2 -2
  28. package/listbox/README.md +3 -0
  29. package/package.json +34 -54
  30. package/select/README.md +3 -0
  31. package/switch/README.md +3 -0
  32. package/textbox/README.md +3 -0
  33. package/textbox-date/README.md +3 -0
  34. package/textbox-number/README.md +3 -0
  35. package/types/latitude-widgets-button.d.ts +29 -0
  36. package/{checkbox/index.d.ts → types/latitude-widgets-checkbox.d.ts} +1 -1
  37. package/types/latitude-widgets-icon.d.ts +44 -0
  38. package/{input/index.d.ts → types/latitude-widgets-input.d.ts} +6 -32
  39. package/{listbox/index.d.ts → types/latitude-widgets-listbox.d.ts} +6 -8
  40. package/{select/index.d.ts → types/latitude-widgets-select.d.ts} +2 -4
  41. package/{switch/index.d.ts → types/latitude-widgets-switch.d.ts} +1 -1
  42. package/types/latitude-widgets-textbox-date.d.ts +9 -0
  43. package/{textbox-number/index.d.ts → types/latitude-widgets-textbox-number.d.ts} +11 -8
  44. package/{textbox/index.d.ts → types/latitude-widgets-textbox.d.ts} +6 -6
  45. package/button/index.d.ts +0 -19
  46. package/core/README.md +0 -3
  47. package/core/index.d.ts +0 -39
  48. package/fesm2022/latitude-ui-widgets-button.mjs +0 -51
  49. package/fesm2022/latitude-ui-widgets-button.mjs.map +0 -1
  50. package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +0 -1
  51. package/fesm2022/latitude-ui-widgets-core.mjs +0 -116
  52. package/fesm2022/latitude-ui-widgets-core.mjs.map +0 -1
  53. package/fesm2022/latitude-ui-widgets-icons.mjs.map +0 -1
  54. package/fesm2022/latitude-ui-widgets-input.mjs.map +0 -1
  55. package/fesm2022/latitude-ui-widgets-listbox.mjs.map +0 -1
  56. package/fesm2022/latitude-ui-widgets-select.mjs.map +0 -1
  57. package/fesm2022/latitude-ui-widgets-switch.mjs.map +0 -1
  58. package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +0 -1
  59. package/fesm2022/latitude-ui-widgets-textbox.mjs.map +0 -1
  60. package/fesm2022/latitude-ui-widgets-toolbar.mjs +0 -20
  61. package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +0 -1
  62. package/fesm2022/latitude-ui-widgets.mjs.map +0 -1
  63. package/icons/index.d.ts +0 -19
  64. package/styles/_colors.scss +0 -99
  65. package/styles/_defaults.scss +0 -135
  66. package/styles/_index.scss +0 -11
  67. package/styles/_typography.scss +0 -37
  68. package/styles/button/_index.scss +0 -199
  69. package/styles/forms/_index.scss +0 -888
  70. package/styles/icons/_index.scss +0 -34
  71. package/styles/list/_index.scss +0 -0
  72. package/styles/listbox/_index.scss +0 -30
  73. package/toolbar/index.d.ts +0 -8
  74. /package/{index.d.ts → types/latitude-widgets.d.ts} +0 -0
@@ -1,44 +1,43 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, numberAttribute, booleanAttribute, computed, linkedSignal, signal, Directive, contentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken } from '@angular/core';
2
+ import { inject, input, numberAttribute, booleanAttribute, computed, linkedSignal, signal, Directive, contentChild, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { NgTemplateOutlet } from '@angular/common';
4
- import { emptyFn, uid, get, isString, template, isObjectLike, isFunction } from '@latitude-ui/stdlib';
4
+ import { noop, uid } from '@latitude/toolbox';
5
5
  import { NgControl } from '@angular/forms';
6
6
 
7
7
  class BuildInInputValueAccessor {
8
8
  dir = inject(NgControl, { self: true });
9
9
  input = inject((InputComponent), { host: true, optional: true });
10
- id = input();
11
- size = input('md');
12
- tabindex = input(0, { transform: numberAttribute });
13
- readonly = input(false, { transform: booleanAttribute });
14
- required = input(false, { transform: booleanAttribute });
15
- placeholder = input();
16
- value = computed(() => this._value());
17
- control = computed(() => this._control());
18
- valueAsString = linkedSignal({
19
- source: () => this._value(),
20
- computation: (value) => this._valueStringify(value),
21
- });
22
- status = computed(() => this._control()?.['statusReactive']());
23
- touched = computed(() => this._control()?.['touchedReactive']());
24
- pristine = computed(() => this._control()?.['pristineReactive']());
25
- valid = computed(() => this.status() === 'VALID');
26
- invalid = computed(() => this.status() === 'INVALID');
27
- pending = computed(() => this.status() === 'PENDING');
28
- disabled = computed(() => this.status() === 'DISABLED');
29
- dirty = computed(() => !this.pristine());
10
+ id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
11
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
12
+ tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : {}), transform: numberAttribute });
13
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
14
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}), transform: booleanAttribute });
15
+ placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
16
+ value = computed(() => this._value(), ...(ngDevMode ? [{ debugName: "value" }] : []));
17
+ control = computed(() => this._control(), ...(ngDevMode ? [{ debugName: "control" }] : []));
18
+ valueAsString = linkedSignal({ ...(ngDevMode ? { debugName: "valueAsString" } : {}), source: () => this._value(),
19
+ computation: (value) => this._valueStringify(value) });
20
+ status = computed(() => this._control()?.['statusReactive'](), ...(ngDevMode ? [{ debugName: "status" }] : []));
21
+ touched = computed(() => this._control()?.['touchedReactive'](), ...(ngDevMode ? [{ debugName: "touched" }] : []));
22
+ pristine = computed(() => this._control()?.['pristineReactive'](), ...(ngDevMode ? [{ debugName: "pristine" }] : []));
23
+ valid = computed(() => this.status() === 'VALID', ...(ngDevMode ? [{ debugName: "valid" }] : []));
24
+ invalid = computed(() => this.status() === 'INVALID', ...(ngDevMode ? [{ debugName: "invalid" }] : []));
25
+ pending = computed(() => this.status() === 'PENDING', ...(ngDevMode ? [{ debugName: "pending" }] : []));
26
+ disabled = computed(() => this.status() === 'DISABLED', ...(ngDevMode ? [{ debugName: "disabled" }] : []));
27
+ dirty = computed(() => !this.pristine(), ...(ngDevMode ? [{ debugName: "dirty" }] : []));
30
28
  errors = computed(() => {
31
- const status = this.status();
32
- const control = this._control();
33
- return control !== null && status === 'INVALID' ? { ...control.errors } : null;
34
- });
35
- inputId = computed(() => (this.input ? this.input.inputId() : this.id()));
36
- labelId = computed(() => (this.input ? this.input.labelId() : undefined));
37
- inputSize = computed(() => (this.input ? this.input.size() : this.size()));
29
+ this.value();
30
+ this.status();
31
+ const control = this.control();
32
+ return control ? control.errors : null;
33
+ }, ...(ngDevMode ? [{ debugName: "errors" }] : []));
34
+ inputId = computed(() => (this.input ? this.input.inputId() : this.id()), ...(ngDevMode ? [{ debugName: "inputId" }] : []));
35
+ labelId = computed(() => (this.input ? this.input.labelId() : undefined), ...(ngDevMode ? [{ debugName: "labelId" }] : []));
36
+ inputSize = computed(() => (this.input ? this.input.size() : this.size()), ...(ngDevMode ? [{ debugName: "inputSize" }] : []));
38
37
  /** @internal */
39
- _value = signal(this.dir.value);
38
+ _value = signal(this.dir.value, ...(ngDevMode ? [{ debugName: "_value" }] : []));
40
39
  /** @internal */
41
- _control = signal(null);
40
+ _control = signal(null, ...(ngDevMode ? [{ debugName: "_control" }] : []));
42
41
  constructor() {
43
42
  this.dir.valueAccessor = {
44
43
  writeValue: (value) => {
@@ -94,13 +93,13 @@ class BuildInInputValueAccessor {
94
93
  return true;
95
94
  }
96
95
  /** @internal */
97
- _markAsTouched = emptyFn;
96
+ _markAsTouched = noop;
98
97
  /** @internal */
99
- _markAsChanged = emptyFn;
100
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BuildInInputValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
101
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: BuildInInputValueAccessor, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, properties: { "attr.data-size": "inputSize() || undefined", "attr.data-dirty": "dirty() || undefined", "attr.data-invalid": "invalid() || undefined", "attr.data-pristine": "pristine() || undefined", "attr.data-disabled": "disabled() || undefined", "attr.data-readonly": "readonly() || undefined", "attr.data-required": "required() || undefined" } }, ngImport: i0 });
98
+ _markAsChanged = noop;
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: BuildInInputValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
100
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: BuildInInputValueAccessor, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, properties: { "attr.data-size": "inputSize() || undefined", "attr.data-dirty": "dirty() || undefined", "attr.data-invalid": "invalid() || undefined", "attr.data-pristine": "pristine() || undefined", "attr.data-disabled": "disabled() || undefined", "attr.data-readonly": "readonly() || undefined", "attr.data-required": "required() || undefined" } }, ngImport: i0 });
102
101
  }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BuildInInputValueAccessor, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: BuildInInputValueAccessor, decorators: [{
104
103
  type: Directive,
105
104
  args: [{
106
105
  host: {
@@ -114,32 +113,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
114
113
  '[attr.data-required]': 'required() || undefined',
115
114
  },
116
115
  }]
117
- }], ctorParameters: () => [] });
116
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
118
117
 
119
118
  class InputComponent {
120
- id = input();
121
- size = input('md');
119
+ id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
120
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
122
121
  input = contentChild.required((BuildInInputValueAccessor));
123
- htmlId = computed(() => this.id() ?? uid());
124
- labelId = computed(() => `${this.htmlId()}-label`);
125
- inputId = computed(() => `${this.htmlId()}-input`);
126
- value = computed(() => this.input().value());
127
- valueAsString = computed(() => this.input().valueAsString());
128
- status = computed(() => this.input().status());
129
- touched = computed(() => this.input().touched());
130
- dirty = computed(() => this.input().dirty());
131
- valid = computed(() => this.input().valid());
132
- errors = computed(() => this.input().errors());
133
- invalid = computed(() => this.input().invalid());
134
- pending = computed(() => this.input().pending());
135
- pristine = computed(() => this.input().pristine());
136
- disabled = computed(() => this.input().disabled());
137
- readonly = computed(() => this.input().readonly());
138
- required = computed(() => this.input().required());
139
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
140
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: InputComponent, isStandalone: true, selector: "lat-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, properties: { "attr.id": "htmlId()", "attr.data-size": "size()", "attr.data-input": "inputId()", "attr.data-dirty": "dirty() || undefined", "attr.data-invalid": "invalid() || undefined", "attr.data-pristine": "pristine() || undefined", "attr.data-disabled": "disabled() || undefined", "attr.data-readonly": "readonly() || undefined", "attr.data-required": "required() || undefined" } }, queries: [{ propertyName: "input", first: true, predicate: (BuildInInputValueAccessor), descendants: true, isSignal: true }], exportAs: ["latInput"], ngImport: i0, template: "<ng-content select=\"lat-input-label\"/>\r\n\r\n<ng-content/>\r\n\r\n@if (dirty() && errors()) {\r\n <ng-template [ngTemplateOutlet]=\"assertive\"/>\r\n}\r\n\r\n<ng-template #assertive>\r\n <ng-content select=\"lat-input-error\"/>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
+ htmlId = computed(() => this.id() ?? uid(), ...(ngDevMode ? [{ debugName: "htmlId" }] : []));
123
+ labelId = computed(() => `${this.htmlId()}-label`, ...(ngDevMode ? [{ debugName: "labelId" }] : []));
124
+ inputId = computed(() => `${this.htmlId()}-input`, ...(ngDevMode ? [{ debugName: "inputId" }] : []));
125
+ value = computed(() => this.input().value(), ...(ngDevMode ? [{ debugName: "value" }] : []));
126
+ valueAsString = computed(() => this.input().valueAsString(), ...(ngDevMode ? [{ debugName: "valueAsString" }] : []));
127
+ status = computed(() => this.input().status(), ...(ngDevMode ? [{ debugName: "status" }] : []));
128
+ touched = computed(() => this.input().touched(), ...(ngDevMode ? [{ debugName: "touched" }] : []));
129
+ dirty = computed(() => this.input().dirty(), ...(ngDevMode ? [{ debugName: "dirty" }] : []));
130
+ valid = computed(() => this.input().valid(), ...(ngDevMode ? [{ debugName: "valid" }] : []));
131
+ errors = computed(() => this.input().errors(), ...(ngDevMode ? [{ debugName: "errors" }] : []));
132
+ invalid = computed(() => this.input().invalid(), ...(ngDevMode ? [{ debugName: "invalid" }] : []));
133
+ pending = computed(() => this.input().pending(), ...(ngDevMode ? [{ debugName: "pending" }] : []));
134
+ pristine = computed(() => this.input().pristine(), ...(ngDevMode ? [{ debugName: "pristine" }] : []));
135
+ disabled = computed(() => this.input().disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
136
+ readonly = computed(() => this.input().readonly(), ...(ngDevMode ? [{ debugName: "readonly" }] : []));
137
+ required = computed(() => this.input().required(), ...(ngDevMode ? [{ debugName: "required" }] : []));
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: InputComponent, isStandalone: true, selector: "lat-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, properties: { "attr.id": "htmlId()", "attr.data-size": "size()", "attr.data-input": "inputId()", "attr.data-dirty": "dirty() || undefined", "attr.data-invalid": "invalid() || undefined", "attr.data-pristine": "pristine() || undefined", "attr.data-disabled": "disabled() || undefined", "attr.data-readonly": "readonly() || undefined", "attr.data-required": "required() || undefined" } }, queries: [{ propertyName: "input", first: true, predicate: (BuildInInputValueAccessor), descendants: true, isSignal: true }], exportAs: ["latInput"], ngImport: i0, template: "<ng-content select=\"lat-input-label\"/>\r\n\r\n<ng-content/>\r\n\r\n@if (dirty() && errors()) {\r\n <ng-template [ngTemplateOutlet]=\"assertive\"/>\r\n}\r\n\r\n<ng-template #assertive>\r\n <ng-content select=\"lat-input-error\"/>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
141
140
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputComponent, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: InputComponent, decorators: [{
143
142
  type: Component,
144
143
  args: [{ imports: [NgTemplateOutlet], exportAs: 'latInput', selector: 'lat-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
145
144
  role: 'presentation',
@@ -153,18 +152,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
153
152
  '[attr.data-readonly]': 'readonly() || undefined',
154
153
  '[attr.data-required]': 'required() || undefined',
155
154
  }, template: "<ng-content select=\"lat-input-label\"/>\r\n\r\n<ng-content/>\r\n\r\n@if (dirty() && errors()) {\r\n <ng-template [ngTemplateOutlet]=\"assertive\"/>\r\n}\r\n\r\n<ng-template #assertive>\r\n <ng-content select=\"lat-input-error\"/>\r\n</ng-template>\r\n" }]
156
- }] });
155
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], input: [{ type: i0.ContentChild, args: [i0.forwardRef(() => BuildInInputValueAccessor), { isSignal: true }] }] } });
157
156
 
158
157
  class InputLabelComponent {
159
158
  input = inject((InputComponent), { host: true });
160
- id = computed(() => this.input.labelId());
161
- htmlFor = computed(() => this.input.inputId());
162
- required = computed(() => this.input.required());
163
- readonly = computed(() => this.input.readonly());
164
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
165
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: InputLabelComponent, isStandalone: true, selector: "lat-input-label", host: { attributes: { "role": "presentation" }, properties: { "attr.id": "null" } }, exportAs: ["latInputLabel"], ngImport: i0, template: "<label [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n @if (!readonly() && required()) {\r\n <span class=\"lat-label-asterix\" aria-hidden=\"true\" title=\"required\">*</span>\r\n }\r\n</label>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
159
+ id = computed(() => this.input.labelId(), ...(ngDevMode ? [{ debugName: "id" }] : []));
160
+ htmlFor = computed(() => this.input.inputId(), ...(ngDevMode ? [{ debugName: "htmlFor" }] : []));
161
+ required = computed(() => this.input.required(), ...(ngDevMode ? [{ debugName: "required" }] : []));
162
+ readonly = computed(() => this.input.readonly(), ...(ngDevMode ? [{ debugName: "readonly" }] : []));
163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: InputLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: InputLabelComponent, isStandalone: true, selector: "lat-input-label", host: { attributes: { "role": "presentation" }, properties: { "attr.id": "null" } }, exportAs: ["latInputLabel"], ngImport: i0, template: "<label [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n @if (!readonly() && required()) {\r\n <span class=\"lat-label-asterix\" aria-hidden=\"true\" title=\"required\">*</span>\r\n }\r\n</label>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
166
165
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputLabelComponent, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: InputLabelComponent, decorators: [{
168
167
  type: Component,
169
168
  args: [{ exportAs: 'latInputLabel', selector: 'lat-input-label', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
170
169
  role: 'presentation',
@@ -172,50 +171,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
172
171
  }, template: "<label [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n @if (!readonly() && required()) {\r\n <span class=\"lat-label-asterix\" aria-hidden=\"true\" title=\"required\">*</span>\r\n }\r\n</label>\r\n" }]
173
172
  }] });
174
173
 
175
- const INPUT_ERROR_MESSAGES = new InjectionToken('INPUT_ERROR_MESSAGES');
176
- function injectInputErrorMessages() {
177
- const useValues = inject(INPUT_ERROR_MESSAGES, { optional: true });
178
- return useValues ? useValues.reduce((acc, messages) => ({ ...acc, ...messages }), {}) : {};
179
- }
180
-
181
- class InputErrorComponent {
182
- input = inject((InputComponent));
183
- messages = injectInputErrorMessages();
184
- keyvalue = computed(() => {
185
- return Object.entries(this.input.errors() ?? {}).map(([key, value]) => {
186
- const message = get(this.messages, key);
187
- if (isString(message)) {
188
- value = template(message, isObjectLike(value) ? value : {});
189
- }
190
- if (isFunction(message)) {
191
- value = message(value);
192
- }
193
- return {
194
- key: key,
195
- value: value,
196
- };
197
- });
198
- });
199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
200
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: InputErrorComponent, isStandalone: true, selector: "lat-input-error", host: { attributes: { "role": "alert", "aria-invalid": "assertive" } }, exportAs: ["latInputError"], ngImport: i0, template: "<ng-content>\r\n @for (keyvalue of keyvalue(); track keyvalue) {\r\n <span>{{ keyvalue.value }}</span>\r\n }\r\n</ng-content>\r\n\r\n\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
201
- }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputErrorComponent, decorators: [{
203
- type: Component,
204
- args: [{ exportAs: 'latInputError', selector: 'lat-input-error', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
205
- role: 'alert',
206
- 'aria-invalid': 'assertive',
207
- }, template: "<ng-content>\r\n @for (keyvalue of keyvalue(); track keyvalue) {\r\n <span>{{ keyvalue.value }}</span>\r\n }\r\n</ng-content>\r\n\r\n\r\n" }]
208
- }] });
209
-
210
- const InputModule = [
211
- InputLabelComponent,
212
- InputErrorComponent,
213
- InputComponent,
214
- ];
215
-
216
174
  /**
217
175
  * Generated bundle index. Do not edit.
218
176
  */
219
177
 
220
- export { BuildInInputValueAccessor, INPUT_ERROR_MESSAGES, InputComponent, InputErrorComponent, InputLabelComponent, InputModule, injectInputErrorMessages };
221
- //# sourceMappingURL=latitude-ui-widgets-input.mjs.map
178
+ export { BuildInInputValueAccessor, InputComponent, InputLabelComponent };
179
+ //# sourceMappingURL=latitude-widgets-input.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latitude-widgets-input.mjs","sources":["../../../../packages/widgets/input/lib/input.directive.ts","../../../../packages/widgets/input/lib/input.component.ts","../../../../packages/widgets/input/lib/input.component.html","../../../../packages/widgets/input/lib/input-label/input-label.component.ts","../../../../packages/widgets/input/lib/input-label/input-label.component.html","../../../../packages/widgets/input/latitude-widgets-input.ts"],"sourcesContent":["import {\r\n booleanAttribute,\r\n computed,\r\n Directive,\r\n inject,\r\n input,\r\n linkedSignal,\r\n numberAttribute,\r\n signal,\r\n} from '@angular/core';\r\nimport { AbstractControl, FormControlStatus, NgControl } from '@angular/forms';\r\n\r\nimport { noop } from '@latitude/toolbox';\r\n\r\nimport { InputComponent } from './input.component';\r\nimport { InputSize } from './input.types';\r\n\r\n@Directive({\r\n host: {\r\n role: 'presentation',\r\n '[attr.data-size]': 'inputSize() || undefined',\r\n '[attr.data-dirty]': 'dirty() || undefined',\r\n '[attr.data-invalid]': 'invalid() || undefined',\r\n '[attr.data-pristine]': 'pristine() || undefined',\r\n '[attr.data-disabled]': 'disabled() || undefined',\r\n '[attr.data-readonly]': 'readonly() || undefined',\r\n '[attr.data-required]': 'required() || undefined',\r\n },\r\n})\r\nexport class BuildInInputValueAccessor<T> {\r\n public readonly dir = inject(NgControl, { self: true });\r\n public readonly input = inject(InputComponent<T>, { host: true, optional: true });\r\n\r\n public readonly id = input<string>();\r\n public readonly size = input<InputSize>('md');\r\n public readonly tabindex = input<number, unknown>(0, { transform: numberAttribute });\r\n public readonly readonly = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n public readonly required = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n public readonly placeholder = input<string>();\r\n\r\n public readonly value = computed(() => this._value());\r\n public readonly control = computed(() => this._control());\r\n\r\n public readonly valueAsString = linkedSignal({\r\n source: () => this._value(),\r\n computation: (value) => this._valueStringify(value),\r\n });\r\n\r\n public readonly status = computed(() => this._control()?.['statusReactive']() as FormControlStatus);\r\n public readonly touched = computed(() => this._control()?.['touchedReactive']() as boolean);\r\n public readonly pristine = computed(() => this._control()?.['pristineReactive']() as boolean);\r\n\r\n public readonly valid = computed(() => this.status() === 'VALID');\r\n public readonly invalid = computed(() => this.status() === 'INVALID');\r\n public readonly pending = computed(() => this.status() === 'PENDING');\r\n public readonly disabled = computed(() => this.status() === 'DISABLED');\r\n\r\n public readonly dirty = computed(() => !this.pristine());\r\n public readonly errors = computed(() => {\r\n this.value();\r\n this.status();\r\n\r\n const control = this.control();\r\n\r\n return control ? control.errors : null;\r\n });\r\n\r\n public readonly inputId = computed(() => (this.input ? this.input.inputId() : this.id()));\r\n public readonly labelId = computed(() => (this.input ? this.input.labelId() : undefined));\r\n public readonly inputSize = computed(() => (this.input ? this.input.size() : this.size()));\r\n\r\n /** @internal */\r\n public readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internal */\r\n public readonly _control = signal<AbstractControl | null>(null);\r\n\r\n constructor() {\r\n this.dir.valueAccessor = {\r\n writeValue: (value: T | null) => {\r\n this._writeValue(value);\r\n },\r\n registerOnChange: (callback: (value: T | null) => void) => {\r\n this._markAsChanged = () => callback(this._value());\r\n\r\n // FIX: while FromControlNameDirective not register, underline control is undefined\r\n Promise.resolve().then(() => {\r\n this._control.update(() => this.dir.control);\r\n });\r\n },\r\n registerOnTouched: (callback: () => void) => {\r\n this._markAsTouched = () => callback();\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Sets the \"value\" property on the input element.\r\n */\r\n public writeValue(value: T | null): void {\r\n if (this._writeValue(value)) {\r\n this._markAsChanged();\r\n }\r\n }\r\n\r\n /**\r\n * Marks the control as `dirty`.\r\n */\r\n public markAsChanged(): void {\r\n this._markAsChanged();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n */\r\n public markAsTouched(): void {\r\n this._markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n protected _valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internal */\r\n protected _valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internal */\r\n protected _writeValue(input: T | null): boolean {\r\n const value = this._value();\r\n\r\n if (this._valueEquality(value, input)) {\r\n return false;\r\n }\r\n\r\n this._value.set(input);\r\n\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n protected _markAsTouched: VoidFunction = noop;\r\n\r\n /** @internal */\r\n protected _markAsChanged: VoidFunction = noop;\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, contentChild, input, ViewEncapsulation } from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { uid } from '@latitude/toolbox';\r\n\r\nimport { BuildInInputValueAccessor } from './input.directive';\r\nimport { InputSize } from './input.types';\r\n\r\n@Component({\r\n imports: [NgTemplateOutlet],\r\n exportAs: 'latInput',\r\n selector: 'lat-input',\r\n templateUrl: './input.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n '[attr.id]': 'htmlId()',\r\n '[attr.data-size]': 'size()',\r\n '[attr.data-input]': 'inputId()',\r\n '[attr.data-dirty]': 'dirty() || undefined',\r\n '[attr.data-invalid]': 'invalid() || undefined',\r\n '[attr.data-pristine]': 'pristine() || undefined',\r\n '[attr.data-disabled]': 'disabled() || undefined',\r\n '[attr.data-readonly]': 'readonly() || undefined',\r\n '[attr.data-required]': 'required() || undefined',\r\n },\r\n})\r\nexport class InputComponent<T> {\r\n public readonly id = input<string>();\r\n public readonly size = input<InputSize>('md');\r\n\r\n public readonly input = contentChild.required(BuildInInputValueAccessor<T>);\r\n\r\n public readonly htmlId = computed(() => this.id() ?? uid());\r\n public readonly labelId = computed(() => `${this.htmlId()}-label`);\r\n public readonly inputId = computed(() => `${this.htmlId()}-input`);\r\n\r\n public readonly value = computed(() => this.input().value());\r\n public readonly valueAsString = computed(() => this.input().valueAsString());\r\n\r\n public readonly status = computed(() => this.input().status());\r\n public readonly touched = computed(() => this.input().touched());\r\n\r\n public readonly dirty = computed(() => this.input().dirty());\r\n public readonly valid = computed(() => this.input().valid());\r\n public readonly errors = computed(() => this.input().errors());\r\n public readonly invalid = computed(() => this.input().invalid());\r\n public readonly pending = computed(() => this.input().pending());\r\n public readonly pristine = computed(() => this.input().pristine());\r\n public readonly disabled = computed(() => this.input().disabled());\r\n public readonly readonly = computed(() => this.input().readonly());\r\n public readonly required = computed(() => this.input().required());\r\n}\r\n","<ng-content select=\"lat-input-label\"/>\r\n\r\n<ng-content/>\r\n\r\n@if (dirty() && errors()) {\r\n <ng-template [ngTemplateOutlet]=\"assertive\"/>\r\n}\r\n\r\n<ng-template #assertive>\r\n <ng-content select=\"lat-input-error\"/>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\nimport { InputComponent } from '../input.component';\r\n\r\n@Component({\r\n exportAs: 'latInputLabel',\r\n selector: 'lat-input-label',\r\n templateUrl: './input-label.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n '[attr.id]': 'null',\r\n },\r\n})\r\nexport class InputLabelComponent<T = unknown> {\r\n public readonly input = inject(InputComponent<T>, { host: true });\r\n\r\n public readonly id = computed(() => this.input.labelId());\r\n public readonly htmlFor = computed(() => this.input.inputId());\r\n public readonly required = computed(() => this.input.required());\r\n public readonly readonly = computed(() => this.input.readonly());\r\n}\r\n","<label [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n @if (!readonly() && required()) {\r\n <span class=\"lat-label-asterix\" aria-hidden=\"true\" title=\"required\">*</span>\r\n }\r\n</label>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,22 +1,28 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, numberAttribute, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
- import { listenMouseEvent } from '@latitude-ui/widgets/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, numberAttribute, booleanAttribute } from '@angular/core';
3
+
4
+ class ListBoxComponent {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ListBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: ListBoxComponent, isStandalone: true, selector: "lat-listbox", host: { attributes: { "role": "presentation" } }, exportAs: ["latListBox"], ngImport: i0, template: "<div role=\"listbox\">\r\n <ng-content select=\"lat-listbox-option, lat-option\" />\r\n</div>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ListBoxComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ exportAs: 'latListBox', selector: 'lat-listbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
11
+ role: 'presentation',
12
+ }, template: "<div role=\"listbox\">\r\n <ng-content select=\"lat-listbox-option, lat-option\" />\r\n</div>\r\n" }]
13
+ }] });
4
14
 
5
15
  class ListBoxOptionComponent {
6
- el = inject((ElementRef)).nativeElement;
7
- value = input.required();
8
- setsize = input(undefined, { transform: numberAttribute });
9
- posinset = input(undefined, { transform: numberAttribute });
10
- selected = input(undefined, { transform: booleanAttribute });
11
- disabled = input(undefined, { transform: booleanAttribute });
12
- checkbox = input(undefined, { transform: booleanAttribute });
13
- constructor() {
14
- listenMouseEvent(this.el, { disabled: this.disabled });
15
- }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListBoxOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: ListBoxOptionComponent, isStandalone: true, selector: "lat-listbox-option, lat-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, setsize: { classPropertyName: "setsize", publicName: "setsize", isSignal: true, isRequired: false, transformFunction: null }, posinset: { classPropertyName: "posinset", publicName: "posinset", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, properties: { "attr.aria-setsize": "setsize()", "attr.aria-posinset": "posinset()", "attr.aria-disabled": "disabled()", "attr.aria-selected": "selected()" } }, exportAs: ["latListBoxOption"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
17
+ setsize = input(undefined, { ...(ngDevMode ? { debugName: "setsize" } : {}), transform: numberAttribute });
18
+ posinset = input(undefined, { ...(ngDevMode ? { debugName: "posinset" } : {}), transform: numberAttribute });
19
+ selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: booleanAttribute });
20
+ disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
21
+ checkbox = input(undefined, { ...(ngDevMode ? { debugName: "checkbox" } : {}), transform: booleanAttribute });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ListBoxOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: ListBoxOptionComponent, isStandalone: true, selector: "lat-listbox-option, lat-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, setsize: { classPropertyName: "setsize", publicName: "setsize", isSignal: true, isRequired: false, transformFunction: null }, posinset: { classPropertyName: "posinset", publicName: "posinset", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, properties: { "attr.aria-setsize": "setsize()", "attr.aria-posinset": "posinset()", "attr.aria-disabled": "disabled()", "attr.aria-selected": "selected()" } }, exportAs: ["latListBoxOption"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
24
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListBoxOptionComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ListBoxOptionComponent, decorators: [{
20
26
  type: Component,
21
27
  args: [{ exportAs: 'latListBoxOption', selector: 'lat-listbox-option, lat-option', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
22
28
  role: 'option',
@@ -25,22 +31,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
25
31
  '[attr.aria-disabled]': 'disabled()',
26
32
  '[attr.aria-selected]': 'selected()',
27
33
  }, template: "<ng-content />\r\n" }]
28
- }], ctorParameters: () => [] });
29
-
30
- class ListBoxComponent {
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ListBoxComponent, isStandalone: true, selector: "lat-listbox", host: { attributes: { "role": "presentation" } }, exportAs: ["latListBox"], ngImport: i0, template: "<div role=\"listbox\">\r\n <ng-content select=\"lat-listbox-option, lat-option\" />\r\n</div>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ListBoxComponent, decorators: [{
35
- type: Component,
36
- args: [{ exportAs: 'latListBox', selector: 'lat-listbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
37
- role: 'presentation',
38
- }, template: "<div role=\"listbox\">\r\n <ng-content select=\"lat-listbox-option, lat-option\" />\r\n</div>\r\n" }]
39
- }] });
34
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], setsize: [{ type: i0.Input, args: [{ isSignal: true, alias: "setsize", required: false }] }], posinset: [{ type: i0.Input, args: [{ isSignal: true, alias: "posinset", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], checkbox: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkbox", required: false }] }] } });
40
35
 
41
36
  const ListBoxModule = [
42
- ListBoxOptionComponent,
43
- ListBoxComponent
37
+ ListBoxComponent,
38
+ ListBoxOptionComponent
44
39
  ];
45
40
 
46
41
  /**
@@ -48,4 +43,4 @@ const ListBoxModule = [
48
43
  */
49
44
 
50
45
  export { ListBoxComponent, ListBoxModule, ListBoxOptionComponent };
51
- //# sourceMappingURL=latitude-ui-widgets-listbox.mjs.map
46
+ //# sourceMappingURL=latitude-widgets-listbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latitude-widgets-listbox.mjs","sources":["../../../../packages/widgets/listbox/src/listbox/listbox.component.ts","../../../../packages/widgets/listbox/src/listbox/listbox.component.html","../../../../packages/widgets/listbox/src/listbox-option/listbox-option.component.ts","../../../../packages/widgets/listbox/src/listbox-option/listbox-option.component.html","../../../../packages/widgets/listbox/src/listbox.module.ts","../../../../packages/widgets/listbox/latitude-widgets-listbox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latListBox',\r\n selector: 'lat-listbox',\r\n templateUrl: './listbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n },\r\n})\r\nexport class ListBoxComponent {\r\n}\r\n","<div role=\"listbox\">\r\n <ng-content select=\"lat-listbox-option, lat-option\" />\r\n</div>\r\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n exportAs: 'latListBoxOption',\r\n selector: 'lat-listbox-option, lat-option',\r\n templateUrl: './listbox-option.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'option',\r\n '[attr.aria-setsize]': 'setsize()',\r\n '[attr.aria-posinset]': 'posinset()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.aria-selected]': 'selected()',\r\n },\r\n})\r\nexport class ListBoxOptionComponent<T> {\r\n public readonly value = input.required<T>();\r\n\r\n public readonly setsize = input<number, unknown>(undefined, { transform: numberAttribute });\r\n public readonly posinset = input<number, unknown>(undefined, { transform: numberAttribute });\r\n public readonly selected = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n public readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n public readonly checkbox = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n}\r\n","<ng-content />\r\n","import { ListBoxComponent } from './listbox/listbox.component';\r\nimport { ListBoxOptionComponent } from './listbox-option/listbox-option.component';\r\n\r\n\r\nexport const ListBoxModule = [\r\n ListBoxComponent,\r\n ListBoxOptionComponent\r\n] as const\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAaa,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,mJCb7B,oGAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDUa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,aAAa,EAAA,aAAA,EAER,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,cAAc;AACrB,qBAAA,EAAA,QAAA,EAAA,oGAAA,EAAA;;;MEYU,sBAAsB,CAAA;AACjB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAK;IAE3B,OAAO,GAAG,KAAK,CAAkB,SAAS,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC3E,QAAQ,GAAG,KAAK,CAAkB,SAAS,qDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC5E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;uGAPnF,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ykCCvBnC,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDsBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAClB,gCAAgC,EAAA,aAAA,EAE3B,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA;;;AEjBI,MAAM,aAAa,GAAG;IAC3B,gBAAgB;IAChB;;;ACNF;;AAEG;;;;"}