@latitude-ui/widgets 0.0.30 → 0.0.32

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.
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, booleanAttribute, numberAttribute, signal, afterRenderEffect, DestroyRef, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken } from '@angular/core';
2
+ import { inject, ElementRef, input, booleanAttribute, numberAttribute, signal, afterRenderEffect, DestroyRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
 
4
4
  class ButtonComponent {
5
5
  button = inject((ElementRef));
6
6
  role = input('button', ...(ngDevMode ? [{ debugName: "role" }] : []));
7
- size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
8
- variant = input(...(ngDevMode ? [undefined, { debugName: "variant" }] : []));
7
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
8
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
9
9
  disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
10
10
  tabindex = input(undefined, { ...(ngDevMode ? { debugName: "tabindex" } : {}), transform: numberAttribute });
11
11
  icononly = signal(false, ...(ngDevMode ? [{ debugName: "icononly" }] : []));
@@ -15,9 +15,9 @@ class ButtonComponent {
15
15
  }
16
16
  // Need to find icon without another DOM node (Polyfill pseudo :has)
17
17
  _setUpPolyfill() {
18
- const nativeElement = this.button.nativeElement;
18
+ const el = this.button.nativeElement;
19
19
  afterRenderEffect(() => {
20
- const childNodes = nativeElement.childNodes;
20
+ const childNodes = el.childNodes;
21
21
  if (childNodes.length === 1) {
22
22
  const node = childNodes.item(0);
23
23
  this.icononly.update(() => {
@@ -31,26 +31,26 @@ class ButtonComponent {
31
31
  }
32
32
  // https://github.com/angular/angular/issues/9587
33
33
  _setUpListener() {
34
- const nativeElement = this.button.nativeElement;
35
- const clickFn = (event) => {
34
+ const el = this.button.nativeElement;
35
+ const clickFn = (ev) => {
36
36
  if (this.disabled()) {
37
- event.stopImmediatePropagation();
38
- event.preventDefault();
37
+ ev.stopImmediatePropagation();
38
+ ev.preventDefault();
39
39
  }
40
40
  };
41
- const keyupFn = (event) => {
42
- if (event.code === 'Space' && !this.disabled()) {
43
- const click = new MouseEvent('click', { ...event });
44
- nativeElement.dispatchEvent(click);
45
- event.stopImmediatePropagation();
46
- event.preventDefault();
41
+ const keyupFn = (ev) => {
42
+ if (ev.code === 'Space' && !this.disabled()) {
43
+ const click = new MouseEvent('click', { ...ev });
44
+ el.dispatchEvent(click);
45
+ ev.stopImmediatePropagation();
46
+ ev.preventDefault();
47
47
  }
48
48
  };
49
- nativeElement.addEventListener('click', clickFn);
50
- nativeElement.addEventListener('keyup', keyupFn);
49
+ el.addEventListener('click', clickFn);
50
+ el.addEventListener('keyup', keyupFn);
51
51
  inject(DestroyRef).onDestroy(() => {
52
- nativeElement.removeEventListener('click', clickFn);
53
- nativeElement.removeEventListener('keyup', keyupFn);
52
+ el.removeEventListener('click', clickFn);
53
+ el.removeEventListener('keyup', keyupFn);
54
54
  });
55
55
  }
56
56
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -69,11 +69,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
69
69
  }, template: "<ng-content />\r\n" }]
70
70
  }], ctorParameters: () => [], propDecorators: { role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }] } });
71
71
 
72
- const BUTTON_PATTERN = new InjectionToken('BUTTON_PATTERN');
73
-
74
72
  /**
75
73
  * Generated bundle index. Do not edit.
76
74
  */
77
75
 
78
- export { BUTTON_PATTERN, ButtonComponent };
76
+ export { ButtonComponent };
79
77
  //# sourceMappingURL=latitude-ui-widgets-button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-button.mjs","sources":["../../../../packages/widgets/button/lib/button.component.ts","../../../../packages/widgets/button/lib/button.component.html","../../../../packages/widgets/button/lib/button.pattern.ts","../../../../packages/widgets/button/latitude-ui-widgets-button.ts"],"sourcesContent":["import {\n afterRenderEffect,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n signal,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { ButtonSize, ButtonVariant } from './button.types';\n\n\n@Component({\n exportAs: 'latButton',\n selector: 'lat-button',\n templateUrl: './button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.role]': 'role()',\n '[attr.size]': 'size()',\n '[attr.variant]': 'variant()',\n '[attr.icononly]': 'icononly()',\n '[attr.tabindex]': `disabled() ? -1 : tabindex()`,\n '[attr.disabled]': `disabled() || undefined`,\n '[attr.aria-disabled]': `disabled() || undefined`\n }\n})\nexport class ButtonComponent {\n readonly button = inject(ElementRef<HTMLElement>);\n\n readonly role = input<string>('button');\n readonly size = input<ButtonSize>();\n readonly variant = input<ButtonVariant>();\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n\n readonly icononly = signal<boolean>(false);\n\n constructor() {\n this._setUpPolyfill();\n this._setUpListener();\n }\n\n // Need to find icon without another DOM node (Polyfill pseudo :has)\n _setUpPolyfill(): void {\n const nativeElement = this.button.nativeElement;\n\n afterRenderEffect(() => {\n const childNodes = nativeElement.childNodes;\n\n if (childNodes.length === 1) {\n const node = childNodes.item(0);\n\n this.icononly.update(() => {\n if (node instanceof HTMLElement) {\n return node.tagName === 'LAT-ICON' || node.tagName === 'SVG' || node.role === 'img';\n }\n\n return false;\n });\n }\n });\n }\n\n // https://github.com/angular/angular/issues/9587\n _setUpListener(): void {\n const nativeElement = this.button.nativeElement;\n\n const clickFn = (event: MouseEvent) => {\n if (this.disabled()) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n };\n\n const keyupFn = (event: KeyboardEvent) => {\n if (event.code === 'Space' && !this.disabled()) {\n const click = new MouseEvent('click', { ...event });\n\n nativeElement.dispatchEvent(click);\n\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n };\n\n nativeElement.addEventListener('click', clickFn);\n nativeElement.addEventListener('keyup', keyupFn);\n\n inject(DestroyRef).onDestroy(() => {\n nativeElement.removeEventListener('click', clickFn);\n nativeElement.removeEventListener('keyup', keyupFn);\n });\n }\n}\n","<ng-content />\r\n","import { InjectionToken, Signal } from '@angular/core';\r\n\r\nimport { ButtonSize, ButtonVariant } from './button.types';\r\n\r\nexport interface ButtonPattern {\r\n readonly size: Signal<ButtonSize>;\r\n readonly variant: Signal<ButtonVariant>;\r\n}\r\n\r\nexport const BUTTON_PATTERN = new InjectionToken<ButtonPattern>('BUTTON_PATTERN');\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latitude-ui-widgets-button.mjs","sources":["../../../../packages/widgets/button/lib/button.component.ts","../../../../packages/widgets/button/lib/button.component.html","../../../../packages/widgets/button/latitude-ui-widgets-button.ts"],"sourcesContent":["import {\r\n afterRenderEffect,\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n DestroyRef,\r\n ElementRef,\r\n inject,\r\n input,\r\n numberAttribute,\r\n signal,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { ButtonSize, ButtonVariant } from './button.types';\r\n\r\n\r\n@Component({\r\n exportAs: 'latButton',\r\n selector: 'lat-button',\r\n templateUrl: './button.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.role]': 'role()',\r\n '[attr.size]': 'size()',\r\n '[attr.variant]': 'variant()',\r\n '[attr.icononly]': 'icononly()',\r\n '[attr.tabindex]': `disabled() ? -1 : tabindex()`,\r\n '[attr.disabled]': `disabled() || undefined`,\r\n '[attr.aria-disabled]': `disabled() || undefined`\r\n }\r\n})\r\nexport class ButtonComponent {\r\n readonly button = inject(ElementRef<HTMLElement>);\r\n\r\n readonly role = input<string>('button');\r\n readonly size = input<ButtonSize>('md');\r\n readonly variant = input<ButtonVariant>('default');\r\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly icononly = signal<boolean>(false);\r\n\r\n constructor() {\r\n this._setUpPolyfill();\r\n this._setUpListener();\r\n }\r\n\r\n // Need to find icon without another DOM node (Polyfill pseudo :has)\r\n _setUpPolyfill(): void {\r\n const el = this.button.nativeElement;\r\n\r\n afterRenderEffect(() => {\r\n const childNodes = el.childNodes;\r\n\r\n if (childNodes.length === 1) {\r\n const node = childNodes.item(0);\r\n\r\n this.icononly.update(() => {\r\n if (node instanceof HTMLElement) {\r\n return node.tagName === 'LAT-ICON' || node.tagName === 'SVG' || node.role === 'img';\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n // https://github.com/angular/angular/issues/9587\r\n _setUpListener(): void {\r\n const el = this.button.nativeElement;\r\n\r\n const clickFn = (ev: MouseEvent) => {\r\n if (this.disabled()) {\r\n ev.stopImmediatePropagation();\r\n ev.preventDefault();\r\n }\r\n };\r\n\r\n const keyupFn = (ev: KeyboardEvent) => {\r\n if (ev.code === 'Space' && !this.disabled()) {\r\n const click = new MouseEvent('click', { ...ev });\r\n\r\n el.dispatchEvent(click);\r\n\r\n ev.stopImmediatePropagation();\r\n ev.preventDefault();\r\n }\r\n };\r\n\r\n el.addEventListener('click', clickFn);\r\n el.addEventListener('keyup', keyupFn);\r\n\r\n inject(DestroyRef).onDestroy(() => {\r\n el.removeEventListener('click', clickFn);\r\n el.removeEventListener('keyup', keyupFn);\r\n });\r\n }\r\n}\r\n","<ng-content />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ class CheckBoxComponent extends HTMLFormControl {
16
16
  provide: HTMLFormControl,
17
17
  useExisting: forwardRef(() => CheckBoxComponent),
18
18
  },
19
- ], exportAs: ["latCheckBox"], usesInheritance: true, ngImport: i0, template: "<button\n type=\"button\"\n role=\"checkbox\"\n [attr.id]=\"computedId()\"\n [attr.value]=\"value() ? 'on' : 'off'\"\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\n [attr.disabled]=\"disabled() || undefined\"\n [attr.aria-checked]=\"value() || false\"\n>\n <lat-icon name=\"check\" />\n</button>\n<ng-content/>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
+ ], exportAs: ["latCheckBox"], usesInheritance: true, ngImport: i0, template: "<button\r\n type=\"button\"\r\n role=\"checkbox\"\r\n [attr.id]=\"computedId()\"\r\n [attr.value]=\"value() ? 'on' : 'off'\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.aria-checked]=\"value() || false\"\r\n>\r\n <lat-icon name=\"check\" />\r\n</button>\r\n<ng-content/>\r\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CheckBoxComponent, decorators: [{
22
22
  type: Component,
@@ -29,7 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
29
29
  },
30
30
  ], host: {
31
31
  '(click)': 'toggle()',
32
- }, template: "<button\n type=\"button\"\n role=\"checkbox\"\n [attr.id]=\"computedId()\"\n [attr.value]=\"value() ? 'on' : 'off'\"\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\n [attr.disabled]=\"disabled() || undefined\"\n [attr.aria-checked]=\"value() || false\"\n>\n <lat-icon name=\"check\" />\n</button>\n<ng-content/>\n" }]
32
+ }, template: "<button\r\n type=\"button\"\r\n role=\"checkbox\"\r\n [attr.id]=\"computedId()\"\r\n [attr.value]=\"value() ? 'on' : 'off'\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.aria-checked]=\"value() || false\"\r\n>\r\n <lat-icon name=\"check\" />\r\n</button>\r\n<ng-content/>\r\n" }]
33
33
  }] });
34
34
 
35
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-checkbox.mjs","sources":["../../../../packages/widgets/checkbox/lib/checkbox.component.ts","../../../../packages/widgets/checkbox/lib/checkbox.component.html","../../../../packages/widgets/checkbox/latitude-ui-widgets-checkbox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\n@Component({\r\n imports: [\r\n IconComponent\r\n ],\r\n exportAs: 'latCheckBox',\r\n selector: 'lat-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => CheckBoxComponent),\r\n },\r\n ],\r\n host: {\r\n '(click)': 'toggle()',\r\n },\r\n})\r\nexport class CheckBoxComponent extends HTMLFormControl<boolean> {\r\n toggle() {\r\n if (!this.disabled()) {\r\n const value = this.value() ?? false;\r\n\r\n this.writeValue(!value);\r\n }\r\n }\r\n}\r\n","<button\n type=\"button\"\n role=\"checkbox\"\n [attr.id]=\"computedId()\"\n [attr.value]=\"value() ? 'on' : 'off'\"\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\n [attr.disabled]=\"disabled() || undefined\"\n [attr.aria-checked]=\"value() || false\"\n>\n <lat-icon name=\"check\" />\n</button>\n<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAuBM,MAAO,iBAAkB,SAAQ,eAAwB,CAAA;IAC7D,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK;AAEnC,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;QACzB;IACF;uGAPW,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAVjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AACjD,aAAA;SACF,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBH,uUAYA,4CDNI,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAiBJ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP;qBACD,EAAA,QAAA,EACS,aAAa,EAAA,QAAA,EACb,cAAc,EAAA,aAAA,EAET,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AACjD,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,SAAS,EAAE,UAAU;AACtB,qBAAA,EAAA,QAAA,EAAA,uUAAA,EAAA;;;AErBH;;AAEG;;;;"}
1
+ {"version":3,"file":"latitude-ui-widgets-checkbox.mjs","sources":["../../../../packages/widgets/checkbox/lib/checkbox.component.ts","../../../../packages/widgets/checkbox/lib/checkbox.component.html","../../../../packages/widgets/checkbox/latitude-ui-widgets-checkbox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\n@Component({\r\n imports: [\r\n IconComponent\r\n ],\r\n exportAs: 'latCheckBox',\r\n selector: 'lat-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => CheckBoxComponent),\r\n },\r\n ],\r\n host: {\r\n '(click)': 'toggle()',\r\n },\r\n})\r\nexport class CheckBoxComponent extends HTMLFormControl<boolean> {\r\n toggle() {\r\n if (!this.disabled()) {\r\n const value = this.value() ?? false;\r\n\r\n this.writeValue(!value);\r\n }\r\n }\r\n}\r\n","<button\r\n type=\"button\"\r\n role=\"checkbox\"\r\n [attr.id]=\"computedId()\"\r\n [attr.value]=\"value() ? 'on' : 'off'\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.aria-checked]=\"value() || false\"\r\n>\r\n <lat-icon name=\"check\" />\r\n</button>\r\n<ng-content/>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAuBM,MAAO,iBAAkB,SAAQ,eAAwB,CAAA;IAC7D,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK;AAEnC,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;QACzB;IACF;uGAPW,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAVjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AACjD,aAAA;SACF,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBH,+VAYA,4CDNI,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAiBJ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP;qBACD,EAAA,QAAA,EACS,aAAa,EAAA,QAAA,EACb,cAAc,EAAA,aAAA,EAET,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AACjD,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,SAAS,EAAE,UAAU;AACtB,qBAAA,EAAA,QAAA,EAAA,+VAAA,EAAA;;;AErBH;;AAEG;;;;"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, input, numberAttribute, booleanAttribute, computed, linkedSignal, signal, Directive, contentChild } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
+ import { Observable, from, of } from 'rxjs';
4
5
 
5
6
  const LAT_ASSETS_PATH = new InjectionToken(ngDevMode ? 'LAT_ASSETS_PATH' : '', {
6
7
  factory: () => {
@@ -115,21 +116,22 @@ class HTMLFormControl {
115
116
  /** @internal */
116
117
  _markAsChanged = noop;
117
118
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: HTMLFormControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
118
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.3", type: HTMLFormControl, 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 }, variant: { classPropertyName: "variant", publicName: "variant", 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 }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.size": "computedSize() || undefined", "attr.variant": "computedVariant() || undefined", "attr.data-id": "computedId() || 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 });
119
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.3", type: HTMLFormControl, 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 }, variant: { classPropertyName: "variant", publicName: "variant", 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 }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.size": "computedSize() || void 0", "attr.variant": "computedVariant() || void 0", "attr.data-id": "computedId() || void 0", "attr.autofocus": "void 0", "attr.data-dirty": "dirty() || void 0", "attr.data-invalid": "invalid() || void 0", "attr.data-pristine": "pristine() || void 0", "attr.data-disabled": "disabled() || void 0", "attr.data-readonly": "readonly() || void 0", "attr.data-required": "required() || void 0" } }, ngImport: i0 });
119
120
  }
120
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: HTMLFormControl, decorators: [{
121
122
  type: Directive,
122
123
  args: [{
123
124
  host: {
124
- '[attr.size]': 'computedSize() || undefined',
125
- '[attr.variant]': 'computedVariant() || undefined',
126
- '[attr.data-id]': 'computedId() || undefined',
127
- '[attr.data-dirty]': 'dirty() || undefined',
128
- '[attr.data-invalid]': 'invalid() || undefined',
129
- '[attr.data-pristine]': 'pristine() || undefined',
130
- '[attr.data-disabled]': 'disabled() || undefined',
131
- '[attr.data-readonly]': 'readonly() || undefined',
132
- '[attr.data-required]': 'required() || undefined'
125
+ '[attr.size]': 'computedSize() || void 0',
126
+ '[attr.variant]': 'computedVariant() || void 0',
127
+ '[attr.data-id]': 'computedId() || void 0',
128
+ '[attr.autofocus]': 'void 0',
129
+ '[attr.data-dirty]': 'dirty() || void 0',
130
+ '[attr.data-invalid]': 'invalid() || void 0',
131
+ '[attr.data-pristine]': 'pristine() || void 0',
132
+ '[attr.data-disabled]': 'disabled() || void 0',
133
+ '[attr.data-readonly]': 'readonly() || void 0',
134
+ '[attr.data-required]': 'required() || void 0'
133
135
  }
134
136
  }]
135
137
  }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", 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 }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
@@ -167,9 +169,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
167
169
  }]
168
170
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], control: [{ type: i0.ContentChild, args: [i0.forwardRef(() => HTMLFormControl), { isSignal: true }] }] } });
169
171
 
172
+ function isPromise(input) {
173
+ return input instanceof Promise;
174
+ }
175
+ function isObservable(input) {
176
+ return input instanceof Observable;
177
+ }
178
+ function taskToObservable(task) {
179
+ if (isPromise(task)) {
180
+ return from(task);
181
+ }
182
+ if (isObservable(task)) {
183
+ return task;
184
+ }
185
+ return of(task);
186
+ }
187
+
170
188
  /**
171
189
  * Generated bundle index. Do not edit.
172
190
  */
173
191
 
174
- export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, noop, uid };
192
+ export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, isObservable, isPromise, noop, taskToObservable, uid };
175
193
  //# sourceMappingURL=latitude-ui-widgets-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-core.mjs","sources":["../../../../packages/widgets/core/lib/assets.ts","../../../../packages/widgets/core/lib/noop.ts","../../../../packages/widgets/core/lib/uid.ts","../../../../packages/widgets/core/lib/forms.ts","../../../../packages/widgets/core/latitude-ui-widgets-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const LAT_ASSETS_PATH = new InjectionToken(\r\n ngDevMode ? 'LAT_ASSETS_PATH' : '',\r\n {\r\n factory: () => {\r\n return 'assets/latlng';\r\n }\r\n }\r\n);\r\n","\r\n\r\nexport function noop() {\r\n //\r\n}\r\n","export function uid(): string {\r\n return `${Math.random().toString(36).slice(2, 11)}`;\r\n}\r\n","import {\r\n booleanAttribute,\r\n computed,\r\n contentChild,\r\n Directive,\r\n inject,\r\n InjectionToken,\r\n input,\r\n linkedSignal,\r\n numberAttribute,\r\n signal,\r\n Signal\r\n} from '@angular/core';\r\nimport { AbstractControl, FormControlStatus, NgControl } from '@angular/forms';\r\n\r\nimport { BoxSize } from './appearance';\r\nimport { noop } from './noop';\r\nimport { uid } from './uid';\r\n\r\nexport type HTMLFormControlSize = BoxSize;\r\nexport type HTMLFormControlVariant = 'default' | 'inherit' | ({} & string);\r\n\r\nexport const ARIA_LABELLEDBY = new InjectionToken<Signal<string>>('ARIA_LABELLEDBY');\r\nexport const ARIA_ERRORMESSAGE = new InjectionToken<Signal<string>>('ARIA_ERRORMESSAGE');\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.size]': 'computedSize() || undefined',\r\n '[attr.variant]': 'computedVariant() || undefined',\r\n '[attr.data-id]': 'computedId() || 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 HTMLFormControl<T> {\r\n readonly dir = inject(NgControl, { self: true });\r\n readonly ownerCt = inject(HTMLFormControlContainer, { host: true, optional: true });\r\n\r\n readonly labelledby = inject(ARIA_LABELLEDBY, { host: true, optional: true });\r\n readonly errormessage = inject(ARIA_ERRORMESSAGE, { host: true, optional: true });\r\n\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n readonly tabindex = input<number, unknown>(0, { transform: numberAttribute });\r\n readonly readonly = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly required = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly autofocus = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly placeholder = input<string>();\r\n\r\n readonly value = computed(() => this._value());\r\n readonly control = computed(() => this._control());\r\n\r\n readonly valueAsString = linkedSignal({\r\n source: () => this._value(),\r\n computation: (value) => this.valueStringify(value)\r\n });\r\n\r\n readonly status = computed(() => this._control()?.['statusReactive']() as FormControlStatus);\r\n readonly touched = computed(() => this._control()?.['touchedReactive']() as boolean);\r\n readonly pristine = computed(() => this._control()?.['pristineReactive']() as boolean);\r\n\r\n readonly valid = computed(() => this.status() === 'VALID');\r\n readonly invalid = computed(() => this.status() === 'INVALID');\r\n readonly pending = computed(() => this.status() === 'PENDING');\r\n readonly disabled = computed(() => this.status() === 'DISABLED');\r\n\r\n readonly dirty = computed(() => !this.pristine());\r\n 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 readonly computedId = computed(() => this.ownerCt ? this.ownerCt.controlId() : this.id());\r\n readonly computedSize = computed(() => this.ownerCt ? this.ownerCt.size() : this.size());\r\n readonly computedVariant = computed(() => this.ownerCt ? this.ownerCt.variant() : this.variant());\r\n\r\n /** @internal */\r\n readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internal */\r\n 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 // FIXME: 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 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 markAsChanged(): void {\r\n this._markAsChanged();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n */\r\n markAsTouched(): void {\r\n this._markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internal */\r\n valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internal */\r\n _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 _markAsTouched: VoidFunction = noop;\r\n\r\n /** @internal */\r\n _markAsChanged: VoidFunction = noop;\r\n}\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.id]': 'htmlId()',\r\n '[attr.size]': 'size()',\r\n '[attr.variant]': 'variant()'\r\n }\r\n})\r\nexport class HTMLFormControlContainer<T> {\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n\r\n readonly control = contentChild.required(HTMLFormControl<T>);\r\n\r\n readonly htmlId = computed(() => this.id() ?? uid());\r\n readonly controlId = computed(() => `lat-control-${this.htmlId()}`);\r\n\r\n readonly value = computed(() => this.control().value());\r\n readonly valueAsString = computed(() => this.control().valueAsString());\r\n\r\n readonly status = computed(() => this.control().status());\r\n readonly touched = computed(() => this.control().touched());\r\n\r\n readonly dirty = computed(() => this.control().dirty());\r\n readonly valid = computed(() => this.control().valid());\r\n readonly errors = computed(() => this.control().errors());\r\n readonly invalid = computed(() => this.control().invalid());\r\n readonly pending = computed(() => this.control().pending());\r\n readonly pristine = computed(() => this.control().pristine());\r\n readonly disabled = computed(() => this.control().disabled());\r\n readonly readonly = computed(() => this.control().readonly());\r\n readonly required = computed(() => this.control().required());\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latitude-ui-widgets-core.mjs","sources":["../../../../packages/widgets/core/lib/assets.ts","../../../../packages/widgets/core/lib/noop.ts","../../../../packages/widgets/core/lib/uid.ts","../../../../packages/widgets/core/lib/forms.ts","../../../../packages/widgets/core/lib/task.ts","../../../../packages/widgets/core/latitude-ui-widgets-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const LAT_ASSETS_PATH = new InjectionToken(\r\n ngDevMode ? 'LAT_ASSETS_PATH' : '',\r\n {\r\n factory: () => {\r\n return 'assets/latlng';\r\n }\r\n }\r\n);\r\n","\r\n\r\nexport function noop() {\r\n //\r\n}\r\n","export function uid(): string {\r\n return `${Math.random().toString(36).slice(2, 11)}`;\r\n}\r\n","import {\r\n booleanAttribute,\r\n computed,\r\n contentChild,\r\n Directive,\r\n inject,\r\n InjectionToken,\r\n input,\r\n linkedSignal,\r\n numberAttribute,\r\n signal,\r\n Signal\r\n} from '@angular/core';\r\nimport { AbstractControl, FormControlStatus, NgControl } from '@angular/forms';\r\n\r\nimport { BoxSize } from './appearance';\r\nimport { noop } from './noop';\r\nimport { uid } from './uid';\r\n\r\nexport type HTMLFormControlSize = BoxSize;\r\nexport type HTMLFormControlVariant = 'default' | 'inherit' | ({} & string);\r\n\r\nexport const ARIA_LABELLEDBY = new InjectionToken<Signal<string>>('ARIA_LABELLEDBY');\r\nexport const ARIA_ERRORMESSAGE = new InjectionToken<Signal<string>>('ARIA_ERRORMESSAGE');\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.size]': 'computedSize() || void 0',\r\n '[attr.variant]': 'computedVariant() || void 0',\r\n '[attr.data-id]': 'computedId() || void 0',\r\n '[attr.autofocus]': 'void 0',\r\n '[attr.data-dirty]': 'dirty() || void 0',\r\n '[attr.data-invalid]': 'invalid() || void 0',\r\n '[attr.data-pristine]': 'pristine() || void 0',\r\n '[attr.data-disabled]': 'disabled() || void 0',\r\n '[attr.data-readonly]': 'readonly() || void 0',\r\n '[attr.data-required]': 'required() || void 0'\r\n }\r\n})\r\nexport class HTMLFormControl<T> {\r\n readonly dir = inject(NgControl, { self: true });\r\n readonly ownerCt = inject(HTMLFormControlContainer, { host: true, optional: true });\r\n\r\n readonly labelledby = inject(ARIA_LABELLEDBY, { host: true, optional: true });\r\n readonly errormessage = inject(ARIA_ERRORMESSAGE, { host: true, optional: true });\r\n\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n readonly tabindex = input<number, unknown>(0, { transform: numberAttribute });\r\n readonly readonly = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly required = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly autofocus = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly placeholder = input<string>();\r\n\r\n readonly value = computed(() => this._value());\r\n readonly control = computed(() => this._control());\r\n\r\n readonly valueAsString = linkedSignal({\r\n source: () => this._value(),\r\n computation: (value) => this.valueStringify(value)\r\n });\r\n\r\n readonly status = computed(() => this._control()?.['statusReactive']() as FormControlStatus);\r\n readonly touched = computed(() => this._control()?.['touchedReactive']() as boolean);\r\n readonly pristine = computed(() => this._control()?.['pristineReactive']() as boolean);\r\n\r\n readonly valid = computed(() => this.status() === 'VALID');\r\n readonly invalid = computed(() => this.status() === 'INVALID');\r\n readonly pending = computed(() => this.status() === 'PENDING');\r\n readonly disabled = computed(() => this.status() === 'DISABLED');\r\n\r\n readonly dirty = computed(() => !this.pristine());\r\n 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 readonly computedId = computed(() => this.ownerCt ? this.ownerCt.controlId() : this.id());\r\n readonly computedSize = computed(() => this.ownerCt ? this.ownerCt.size() : this.size());\r\n readonly computedVariant = computed(() => this.ownerCt ? this.ownerCt.variant() : this.variant());\r\n\r\n /** @internal */\r\n readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internal */\r\n 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 // FIXME: 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 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 markAsChanged(): void {\r\n this._markAsChanged();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n */\r\n markAsTouched(): void {\r\n this._markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internal */\r\n valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internal */\r\n _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 _markAsTouched: VoidFunction = noop;\r\n\r\n /** @internal */\r\n _markAsChanged: VoidFunction = noop;\r\n}\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.id]': 'htmlId()',\r\n '[attr.size]': 'size()',\r\n '[attr.variant]': 'variant()'\r\n }\r\n})\r\nexport class HTMLFormControlContainer<T> {\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n\r\n readonly control = contentChild.required(HTMLFormControl<T>);\r\n\r\n readonly htmlId = computed(() => this.id() ?? uid());\r\n readonly controlId = computed(() => `lat-control-${this.htmlId()}`);\r\n\r\n readonly value = computed(() => this.control().value());\r\n readonly valueAsString = computed(() => this.control().valueAsString());\r\n\r\n readonly status = computed(() => this.control().status());\r\n readonly touched = computed(() => this.control().touched());\r\n\r\n readonly dirty = computed(() => this.control().dirty());\r\n readonly valid = computed(() => this.control().valid());\r\n readonly errors = computed(() => this.control().errors());\r\n readonly invalid = computed(() => this.control().invalid());\r\n readonly pending = computed(() => this.control().pending());\r\n readonly pristine = computed(() => this.control().pristine());\r\n readonly disabled = computed(() => this.control().disabled());\r\n readonly readonly = computed(() => this.control().readonly());\r\n readonly required = computed(() => this.control().required());\r\n}\r\n","import { Observable, from, of } from 'rxjs';\r\n\r\n\r\nexport type Task<T = unknown> = T | Promise<T> | Observable<T>;\r\n\r\nexport function isPromise<T = unknown>(input: unknown): input is Promise<T> {\r\n return input instanceof Promise;\r\n}\r\n\r\nexport function isObservable<T = unknown>(input: any): input is Observable<T> {\r\n return input instanceof Observable;\r\n}\r\n\r\n\r\nexport function taskToObservable<T>(task: Task<T>): Observable<T> {\r\n if(isPromise(task)) {\r\n return from(task);\r\n }\r\n\r\n if(isObservable(task)) {\r\n return task;\r\n }\r\n\r\n return of(task);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, numberAtt
3
3
 
4
4
  class ListBoxComponent {
5
5
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ListBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ListBoxComponent, isStandalone: true, selector: "lat-listbox", host: { attributes: { "role": "presentation" } }, exportAs: ["latListBox"], ngImport: i0, template: "<div role=\"listbox\">\n <ng-content select=\"lat-option,lat-listbox-option\" />\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", 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-option,lat-listbox-option\" />\r\n</div>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ListBoxComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ exportAs: 'latListBox', selector: 'lat-listbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
11
11
  role: 'presentation',
12
- }, template: "<div role=\"listbox\">\n <ng-content select=\"lat-option,lat-listbox-option\" />\n</div>\n" }]
12
+ }, template: "<div role=\"listbox\">\r\n <ng-content select=\"lat-option,lat-listbox-option\" />\r\n</div>\r\n" }]
13
13
  }] });
14
14
 
15
15
  class OptionComponent {
@@ -21,7 +21,7 @@ class OptionComponent {
21
21
  disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
22
22
  checkbox = input(undefined, { ...(ngDevMode ? { debugName: "checkbox" } : {}), transform: booleanAttribute });
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: OptionComponent, isStandalone: true, selector: "lat-option, lat-listbox-option", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, 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.title": "label()", "attr.aria-setsize": "setsize()", "attr.aria-posinset": "posinset()", "attr.aria-disabled": "disabled()", "attr.aria-selected": "selected()" } }, exportAs: ["latOption"], ngImport: i0, template: "<ng-content />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: OptionComponent, isStandalone: true, selector: "lat-option, lat-listbox-option", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, 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.title": "label()", "attr.aria-setsize": "setsize()", "attr.aria-posinset": "posinset()", "attr.aria-disabled": "disabled()", "attr.aria-selected": "selected()" } }, exportAs: ["latOption"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: OptionComponent, decorators: [{
27
27
  type: Component,
@@ -32,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
32
32
  '[attr.aria-posinset]': 'posinset()',
33
33
  '[attr.aria-disabled]': 'disabled()',
34
34
  '[attr.aria-selected]': 'selected()',
35
- }, template: "<ng-content />\n" }]
35
+ }, template: "<ng-content />\r\n" }]
36
36
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], 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 }] }] } });
37
37
 
38
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-listbox.mjs","sources":["../../../../packages/widgets/listbox/lib/listbox.component.ts","../../../../packages/widgets/listbox/lib/listbox.component.html","../../../../packages/widgets/listbox/lib/option.component.ts","../../../../packages/widgets/listbox/lib/option.component.html","../../../../packages/widgets/listbox/latitude-ui-widgets-listbox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n exportAs: 'latListBox',\n selector: 'lat-listbox',\n templateUrl: './listbox.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'presentation',\n },\n})\nexport class ListBoxComponent {\n}\n","<div role=\"listbox\">\n <ng-content select=\"lat-option,lat-listbox-option\" />\n</div>\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n exportAs: 'latOption',\n selector: 'lat-option, lat-listbox-option',\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'option',\n '[attr.title]': 'label()',\n '[attr.aria-setsize]': 'setsize()',\n '[attr.aria-posinset]': 'posinset()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-selected]': 'selected()',\n },\n})\nexport class OptionComponent<T> {\n readonly label = input<string>();\n readonly value = input.required<T>();\n\n readonly setsize = input<number, unknown>(undefined, { transform: numberAttribute });\n readonly posinset = input<number, unknown>(undefined, { transform: numberAttribute });\n readonly selected = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n readonly checkbox = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n}\n","<ng-content />\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,6FAGA,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,6FAAA,EAAA;;;MEaU,eAAe,CAAA;IACjB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,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;uGAR5E,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mtCCxB5B,kBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDuBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BACE,WAAW,EAAA,QAAA,EACX,gCAAgC,EAAA,aAAA,EAE3B,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,cAAc,EAAE,SAAS;AACzB,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA;;;AEtBH;;AAEG;;;;"}
1
+ {"version":3,"file":"latitude-ui-widgets-listbox.mjs","sources":["../../../../packages/widgets/listbox/lib/listbox.component.ts","../../../../packages/widgets/listbox/lib/listbox.component.html","../../../../packages/widgets/listbox/lib/option.component.ts","../../../../packages/widgets/listbox/lib/option.component.html","../../../../packages/widgets/listbox/latitude-ui-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-option,lat-listbox-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: 'latOption',\r\n selector: 'lat-option, lat-listbox-option',\r\n templateUrl: './option.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'option',\r\n '[attr.title]': 'label()',\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 OptionComponent<T> {\r\n readonly label = input<string>();\r\n readonly value = input.required<T>();\r\n\r\n readonly setsize = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly posinset = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly selected = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n readonly checkbox = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n}\r\n","<ng-content />\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,mGAGA,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,mGAAA,EAAA;;;MEaU,eAAe,CAAA;IACjB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,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;uGAR5E,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mtCCxB5B,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDuBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BACE,WAAW,EAAA,QAAA,EACX,gCAAgC,EAAA,aAAA,EAE3B,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,cAAc,EAAE,SAAS;AACzB,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;;;AEtBH;;AAEG;;;;"}
@@ -0,0 +1,73 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, Directive } from '@angular/core';
3
+ import * as i1 from '@angular/aria/menu';
4
+ import { MenuContent, Menu, MenuItem, MenuTrigger } from '@angular/aria/menu';
5
+
6
+ class MenuComponent {
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: MenuComponent, isStandalone: true, selector: "lat-menu", exportAs: ["latMenu"], hostDirectives: [{ directive: i1.Menu, inputs: ["id", "id", "disabled", "disabled", "typeaheadDelay", "typeaheadDelay"] }], ngImport: i0, template: "<ng-template ngMenuContent>\r\n <ng-content select=\"lat-menuitem,lat-menugroup,lat-menulabel\"/>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: MenuContent, selector: "ng-template[ngMenuContent]", exportAs: ["ngMenuContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ exportAs: 'latMenu', selector: 'lat-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MenuContent], hostDirectives: [
13
+ { directive: Menu, inputs: ['id', 'disabled', 'typeaheadDelay'] }
14
+ ], template: "<ng-template ngMenuContent>\r\n <ng-content select=\"lat-menuitem,lat-menugroup,lat-menulabel\"/>\r\n</ng-template>\r\n" }]
15
+ }] });
16
+
17
+ class MenuGroupComponent {
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: MenuGroupComponent, isStandalone: true, selector: "lat-menugroup", host: { attributes: { "role": "group" } }, exportAs: ["latMenuGroup"], ngImport: i0, template: "<ng-content select=\"lat-menuitem,lat-menugroup\"/>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuGroupComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ exportAs: 'latMenuGroup', selector: 'lat-menugroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
24
+ role: 'group'
25
+ }, template: "<ng-content select=\"lat-menuitem,lat-menugroup\"/>\r\n" }]
26
+ }] });
27
+
28
+ class MenuItemComponent {
29
+ role = input('menuitem', ...(ngDevMode ? [{ debugName: "role" }] : []));
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: MenuItemComponent, isStandalone: true, selector: "lat-menuitem", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()" } }, exportAs: ["latMenuItem"], hostDirectives: [{ directive: i1.MenuItem, inputs: ["id", "id", "disabled", "disabled", "value", "value"] }], ngImport: i0, template: "@if (role() === 'menuitem') {\r\n <ng-content />\r\n}\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuItemComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ exportAs: 'latMenuItem', selector: 'lat-menuitem', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
36
+ { directive: MenuItem, inputs: ['id', 'disabled', 'value'] },
37
+ ], host: {
38
+ '[attr.role]': 'role()'
39
+ }, template: "@if (role() === 'menuitem') {\r\n <ng-content />\r\n}\r\n" }]
40
+ }], propDecorators: { role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }] } });
41
+
42
+ class MenuLabelComponent {
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: MenuLabelComponent, isStandalone: true, selector: "lat-menulabel", host: { attributes: { "role": "presentation" } }, exportAs: ["latMenuLabel"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuLabelComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ exportAs: 'latMenuLabel', selector: 'lat-menulabel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
49
+ role: 'presentation'
50
+ }, template: "<ng-content />\r\n" }]
51
+ }] });
52
+
53
+ class MenuTriggerDirective {
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: MenuTriggerDirective, isStandalone: true, selector: "[latMenuTrigger]", exportAs: ["latMenuTrigger"], hostDirectives: [{ directive: i1.MenuTrigger, inputs: ["disabled", "disabled"] }], ngImport: i0 });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuTriggerDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{
60
+ exportAs: 'latMenuTrigger',
61
+ selector: '[latMenuTrigger]',
62
+ hostDirectives: [
63
+ { directive: MenuTrigger, inputs: ['disabled'] }
64
+ ],
65
+ }]
66
+ }] });
67
+
68
+ /**
69
+ * Generated bundle index. Do not edit.
70
+ */
71
+
72
+ export { MenuComponent, MenuGroupComponent, MenuItemComponent, MenuLabelComponent, MenuTriggerDirective };
73
+ //# sourceMappingURL=latitude-ui-widgets-menu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latitude-ui-widgets-menu.mjs","sources":["../../../../packages/widgets/menu/lib/menu.component.ts","../../../../packages/widgets/menu/lib/menu.component.html","../../../../packages/widgets/menu/lib/menugroup.component.ts","../../../../packages/widgets/menu/lib/menugroup.component.html","../../../../packages/widgets/menu/lib/menuitem.component.ts","../../../../packages/widgets/menu/lib/menuitem.component.html","../../../../packages/widgets/menu/lib/menulabel.component.ts","../../../../packages/widgets/menu/lib/menulabel.component.html","../../../../packages/widgets/menu/lib/menutrigger.directive.ts","../../../../packages/widgets/menu/latitude-ui-widgets-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { Menu as CdkMenu, MenuContent as CdkMenuContent } from '@angular/aria/menu';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenu',\r\n selector: 'lat-menu',\r\n templateUrl: './menu.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CdkMenuContent],\r\n hostDirectives: [\r\n { directive: CdkMenu, inputs: ['id', 'disabled', 'typeaheadDelay'] }\r\n ]\r\n})\r\nexport class MenuComponent {\r\n}\r\n","<ng-template ngMenuContent>\r\n <ng-content select=\"lat-menuitem,lat-menugroup,lat-menulabel\"/>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuGroup',\r\n selector: 'lat-menugroup',\r\n templateUrl: './menugroup.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'group'\r\n }\r\n})\r\nexport class MenuGroupComponent {\r\n}\r\n","<ng-content select=\"lat-menuitem,lat-menugroup\"/>\r\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\r\nimport { MenuItem as CdkMenuItem } from '@angular/aria/menu';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuItem',\r\n selector: 'lat-menuitem',\r\n templateUrl: './menuitem.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [\r\n { directive: CdkMenuItem, inputs: ['id', 'disabled', 'value'] },\r\n ],\r\n host: {\r\n '[attr.role]': 'role()'\r\n }\r\n})\r\nexport class MenuItemComponent {\r\n readonly role = input<string>('menuitem');\r\n}\r\n","@if (role() === 'menuitem') {\r\n <ng-content />\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuLabel',\r\n selector: 'lat-menulabel',\r\n templateUrl: './menulabel.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 MenuLabelComponent {\r\n}\r\n","<ng-content />\r\n","import { Directive } from '@angular/core';\r\nimport { MenuTrigger as CdkMenuTrigger } from '@angular/aria/menu';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latMenuTrigger',\r\n selector: '[latMenuTrigger]',\r\n hostDirectives: [\r\n { directive: CdkMenuTrigger, inputs: ['disabled'] }\r\n ],\r\n})\r\nexport class MenuTriggerDirective {\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CdkMenuContent","CdkMenu","CdkMenuItem","CdkMenuTrigger"],"mappings":"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"}
@@ -17,7 +17,7 @@ class SelectOptionComponent {
17
17
  hidden = input(false, { ...(ngDevMode ? { debugName: "hidden" } : {}), transform: booleanAttribute });
18
18
  disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
19
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 });
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: "\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectOptionComponent, decorators: [{
23
23
  type: Component,
@@ -25,7 +25,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
25
25
  {
26
26
  directive: forwardRef(() => SelectOptionDirective),
27
27
  },
28
- ], template: "\n" }]
28
+ ], template: "\r\n" }]
29
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 }] }] } });
30
30
 
31
31
  class SelectOptionDirective {
@@ -233,7 +233,7 @@ class SelectMultipleComponent extends SelectDirective {
233
233
  provide: HTMLFormControl,
234
234
  useExisting: forwardRef(() => SelectMultipleComponent),
235
235
  },
236
- ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "@if(mode() === 'popover') {\n <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} @else {\n <lat-select-trigger>\n <lat-select-values />\n </lat-select-trigger>\n}\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 });
236
+ ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "@if(mode() === 'popover') {\r\n <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} @else {\r\n <lat-select-trigger>\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n}\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", "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 });
237
237
  }
238
238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectMultipleComponent, decorators: [{
239
239
  type: Component,
@@ -252,7 +252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
252
252
  provide: HTMLFormControl,
253
253
  useExisting: forwardRef(() => SelectMultipleComponent),
254
254
  },
255
- ], template: "@if(mode() === 'popover') {\n <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} @else {\n <lat-select-trigger>\n <lat-select-values />\n </lat-select-trigger>\n}\n" }]
255
+ ], template: "@if(mode() === 'popover') {\r\n <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} @else {\r\n <lat-select-trigger>\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n}\r\n" }]
256
256
  }], propDecorators: { maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }] } });
257
257
 
258
258
  class SelectSingleComponent extends SelectDirective {
@@ -276,7 +276,7 @@ class SelectSingleComponent extends SelectDirective {
276
276
  provide: HTMLFormControl,
277
277
  useExisting: forwardRef(() => SelectSingleComponent),
278
278
  },
279
- ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "@if(mode() === 'popover') {\n <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} @else {\n <lat-select-trigger>\n <lat-select-values />\n </lat-select-trigger>\n}\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 });
279
+ ], exportAs: ["latSelect"], usesInheritance: true, ngImport: i0, template: "@if(mode() === 'popover') {\r\n <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} @else {\r\n <lat-select-trigger>\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n}\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", "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 });
280
280
  }
281
281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectSingleComponent, decorators: [{
282
282
  type: Component,
@@ -295,7 +295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
295
295
  provide: HTMLFormControl,
296
296
  useExisting: forwardRef(() => SelectSingleComponent),
297
297
  },
298
- ], template: "@if(mode() === 'popover') {\n <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} @else {\n <lat-select-trigger>\n <lat-select-values />\n </lat-select-trigger>\n}\n" }]
298
+ ], template: "@if(mode() === 'popover') {\r\n <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} @else {\r\n <lat-select-trigger>\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n}\r\n" }]
299
299
  }], propDecorators: { nullable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nullable", required: false }] }] } });
300
300
 
301
301
  /**