ng-luna 0.3.4 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -649,9 +649,9 @@ ng-luna/
649
649
 
650
650
  ## Dependencies
651
651
 
652
+ - **@angular/cdk** (19.x.x) - Angular Component Dev Kit
652
653
  - **@ibm/plex** (v6.4.1) - IBM Plex font families (fonts are bundled with the library)
653
654
  - **lucide-static** - Lucide icon set (icons are bundled with the library)
654
- - **@angular/cdk** (19.x.x) - Angular Component Dev Kit
655
655
 
656
656
  ## Publishing
657
657
 
@@ -31,6 +31,6 @@ export declare class ButtonComponent extends LunaControl implements AfterViewIni
31
31
  ngAfterViewInit(): void;
32
32
  ngOnDestroy(): void;
33
33
  onClick(event: MouseEvent): void;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, [null, null, null, { optional: true; }]>;
35
35
  static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "luna-button", never, { "command": { "alias": "command"; "required": false; }; "commandfor": { "alias": "commandfor"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "popovertarget": { "alias": "popovertarget"; "required": false; }; "popovertargetaction": { "alias": "popovertargetaction"; "required": false; }; "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "click": "click"; }, never, ["*"], true, never>;
36
36
  }
@@ -32,6 +32,6 @@ export declare class InputComponent extends LunaControl implements ControlValueA
32
32
  registerOnChange(fn: (value: string) => void): void;
33
33
  registerOnTouched(fn: () => void): void;
34
34
  setDisabledState(isDisabled: boolean): void;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, [null, null, null, null, { optional: true; }, null]>;
36
36
  static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "luna-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "change": "change"; "blur": "blur"; }, never, never, true, never>;
37
37
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, Directive, EventEmitter, Output, Component, forwardRef, SecurityContext, ViewChild, ViewChildren, ContentChildren } from '@angular/core';
2
+ import { Input, Directive, EventEmitter, Output, Optional, Component, forwardRef, ViewChild, ViewChildren, ContentChildren } from '@angular/core';
3
3
  import * as i3 from '@angular/cdk/bidi';
4
4
  import { BidiModule } from '@angular/cdk/bidi';
5
5
  import * as i1 from '@angular/cdk/a11y';
@@ -80,13 +80,15 @@ class ButtonComponent extends LunaControl {
80
80
  }
81
81
  this.click.emit(event);
82
82
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i2.Platform }, { token: i3.Dir }], target: i0.ɵɵFactoryTarget.Component });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i2.Platform }, { token: i3.Dir, optional: true }], target: i0.ɵɵFactoryTarget.Component });
84
84
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ButtonComponent, isStandalone: true, selector: "luna-button", inputs: { command: "command", commandfor: "commandfor", form: "form", formaction: "formaction", formenctype: "formenctype", formmethod: "formmethod", formnovalidate: "formnovalidate", formtarget: "formtarget", popovertarget: "popovertarget", popovertargetaction: "popovertargetaction", type: "type", value: "value" }, outputs: { click: "click" }, usesInheritance: true, ngImport: i0, template: "<button\n [attr.autofocus]=\"autofocus || null\"\n [attr.command]=\"command\"\n [attr.commandfor]=\"commandfor\"\n [disabled]=\"disabled\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate || null\"\n [attr.formtarget]=\"formtarget\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.popovertarget]=\"popovertarget\"\n [attr.popovertargetaction]=\"popovertargetaction\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [attr.value]=\"value\"\n (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n", styles: ["@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Thin.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ThinItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ExtraLight.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Light.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-LightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Regular.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Italic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Medium.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-MediumItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-SemiBold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Bold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-BoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Text.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-TextItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Thin.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ThinItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ExtraLight.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Light.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-LightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Regular.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Italic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Medium.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-MediumItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-SemiBold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Bold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-BoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Text.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-TextItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Thin.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ThinItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ExtraLight.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Light.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-LightItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Regular.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Italic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Medium.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-MediumItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-SemiBold.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Bold.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-BoldItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Text.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-TextItalic.woff) format(\"woff\")}:host{display:contents}button{background:linear-gradient(180deg,#fff,#ecebe5 86%,#d8d0c4);border:1px solid #003c74;border-radius:3px;box-shadow:none;box-sizing:border-box;font-family:IBM Plex Sans,sans-serif;font-size:11px}button:not(:disabled):active,button:not(:disabled).active{box-shadow:none;background:linear-gradient(180deg,#cdcac3,#e3e3db 8%,#e5e5de 94%,#f2f2f1)}button:not(:disabled):hover{box-shadow:inset -1px 1px #fff0cf,inset 1px 2px #fdd889,inset -2px 2px #fbc761,inset 2px -2px #e5a01a}button:focus,button.focused{box-shadow:inset -1px 1px #cee7ff,inset 1px 2px #98b8ea,inset -2px 2px #bcd4f6,inset 1px -1px #89ade4,inset 2px -2px #89ade4}button::-moz-focus-inner{border:0}\n"], dependencies: [{ kind: "ngmodule", type: BidiModule }] });
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ButtonComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{ selector: 'luna-button', standalone: true, imports: [BidiModule], template: "<button\n [attr.autofocus]=\"autofocus || null\"\n [attr.command]=\"command\"\n [attr.commandfor]=\"commandfor\"\n [disabled]=\"disabled\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate || null\"\n [attr.formtarget]=\"formtarget\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.popovertarget]=\"popovertarget\"\n [attr.popovertargetaction]=\"popovertargetaction\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [attr.value]=\"value\"\n (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n", styles: ["@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Thin.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ThinItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ExtraLight.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Light.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-LightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Regular.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Italic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Medium.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-MediumItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-SemiBold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Bold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-BoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Text.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-TextItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Thin.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ThinItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ExtraLight.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Light.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-LightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Regular.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Italic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Medium.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-MediumItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-SemiBold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Bold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-BoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Text.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-TextItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Thin.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ThinItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ExtraLight.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Light.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-LightItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Regular.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Italic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Medium.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-MediumItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-SemiBold.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Bold.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-BoldItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Text.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-TextItalic.woff) format(\"woff\")}:host{display:contents}button{background:linear-gradient(180deg,#fff,#ecebe5 86%,#d8d0c4);border:1px solid #003c74;border-radius:3px;box-shadow:none;box-sizing:border-box;font-family:IBM Plex Sans,sans-serif;font-size:11px}button:not(:disabled):active,button:not(:disabled).active{box-shadow:none;background:linear-gradient(180deg,#cdcac3,#e3e3db 8%,#e5e5de 94%,#f2f2f1)}button:not(:disabled):hover{box-shadow:inset -1px 1px #fff0cf,inset 1px 2px #fdd889,inset -2px 2px #fbc761,inset 2px -2px #e5a01a}button:focus,button.focused{box-shadow:inset -1px 1px #cee7ff,inset 1px 2px #98b8ea,inset -2px 2px #bcd4f6,inset 1px -1px #89ade4,inset 2px -2px #89ade4}button::-moz-focus-inner{border:0}\n"] }]
89
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i2.Platform }, { type: i3.Dir }], propDecorators: { command: [{
89
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i2.Platform }, { type: i3.Dir, decorators: [{
90
+ type: Optional
91
+ }] }], propDecorators: { command: [{
90
92
  type: Input
91
93
  }], commandfor: [{
92
94
  type: Input
@@ -198,7 +200,7 @@ class IconComponent {
198
200
  sanitizer;
199
201
  size = '24';
200
202
  set svg(value) {
201
- this.sanitizedSvg = this.sanitizer.sanitize(SecurityContext.HTML, value) || '';
203
+ this.sanitizedSvg = this.sanitizer.bypassSecurityTrustHtml(value);
202
204
  }
203
205
  sanitizedSvg = '';
204
206
  constructor(sanitizer) {
@@ -273,7 +275,7 @@ class InputComponent extends LunaControl {
273
275
  setDisabledState(isDisabled) {
274
276
  this.disabled = isDisabled;
275
277
  }
276
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InputComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i1.LiveAnnouncer }, { token: i2.Platform }, { token: i3.Dir }, { token: i4.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
278
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InputComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i1.LiveAnnouncer }, { token: i2.Platform }, { token: i3.Dir, optional: true }, { token: i4.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
277
279
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: InputComponent, isStandalone: true, selector: "luna-input", inputs: { placeholder: "placeholder", readonly: "readonly", type: "type" }, outputs: { change: "change", blur: "blur" }, providers: [{
278
280
  provide: NG_VALUE_ACCESSOR,
279
281
  useExisting: forwardRef(() => InputComponent),
@@ -287,7 +289,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
287
289
  useExisting: forwardRef(() => InputComponent),
288
290
  multi: true
289
291
  }], template: "<input\n #inputElement\n [attr.autofocus]=\"autofocus || null\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [value]=\"value\"\n (blur)=\"onInputBlur($event)\"\n (input)=\"onInputChange($event)\">\n", styles: ["@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Thin.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ThinItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ExtraLight.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Light.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-LightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Regular.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Italic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Medium.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-MediumItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-SemiBold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Bold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-BoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-Text.woff) format(\"woff\")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff2/IBMPlexMono-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Mono/fonts/complete/woff/IBMPlexMono-TextItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Thin.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ThinItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ExtraLight.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Light.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-LightItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Regular.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Italic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Medium.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-MediumItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-SemiBold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Bold.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-BoldItalic.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-Text.woff) format(\"woff\")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff2/IBMPlexSans-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Sans/fonts/complete/woff/IBMPlexSans-TextItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:100;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Thin.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Thin.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:100;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ThinItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ThinItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:200;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ExtraLight.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ExtraLight.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:200;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-ExtraLightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-ExtraLightItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:300;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Light.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Light.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:300;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-LightItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-LightItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:400;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Regular.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Regular.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:400;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Italic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Italic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:500;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Medium.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Medium.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:500;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-MediumItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-MediumItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:600;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-SemiBold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-SemiBold.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:600;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-SemiBoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-SemiBoldItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:700;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Bold.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Bold.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:700;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-BoldItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-BoldItalic.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:normal;font-weight:450;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-Text.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-Text.woff) format(\"woff\")}@font-face{font-family:\"IBM Plex Serif\";font-style:italic;font-weight:450;src:url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff2/IBMPlexSerif-TextItalic.woff2) format(\"woff2\"),url(/assets/fonts/IBM-Plex-Serif/fonts/complete/woff/IBMPlexSerif-TextItalic.woff) format(\"woff\")}:host{display:contents}input[type=text],input[type=password],input[type=email]{border:1px solid #7f9db9;box-sizing:border-box;font-family:IBM Plex Sans,sans-serif;font-size:11px;height:23px;padding:3px 4px}input[type=text]::selection,input[type=password]::selection,input[type=email]::selection{background:var(--dialog-blue);color:#fff}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus{outline:none;box-shadow:inset 2px 2px #fff,inset -2px -2px #fff}\n"] }]
290
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i1.LiveAnnouncer }, { type: i2.Platform }, { type: i3.Dir }, { type: i4.Clipboard }], propDecorators: { placeholder: [{
292
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i1.LiveAnnouncer }, { type: i2.Platform }, { type: i3.Dir, decorators: [{
293
+ type: Optional
294
+ }] }, { type: i4.Clipboard }], propDecorators: { placeholder: [{
291
295
  type: Input
292
296
  }], readonly: [{
293
297
  type: Input
@@ -583,11 +587,11 @@ class TabComponent {
583
587
  label;
584
588
  active = false;
585
589
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
586
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TabComponent, isStandalone: true, selector: "luna-tab", inputs: { id: "id", label: "label" }, ngImport: i0, template: "<div [hidden]=\"!active\" role=\"tabpanel\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:contents}[role=tabpanel]{box-shadow:inset 1px 1px #fcfcfe,inset -1px -1px #fcfcfe,1px 2px 2px #d0cebfbf;padding:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
590
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TabComponent, isStandalone: true, selector: "luna-tab", inputs: { id: "id", label: "label" }, ngImport: i0, template: "<div [hidden]=\"!active\" role=\"tabpanel\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:contents}[role=tabpanel]{background:#ecebe4;border:1px solid #9d9c99;border-left-color:#e3e3db;border-top-color:#e3e3db;padding:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
587
591
  }
588
592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TabComponent, decorators: [{
589
593
  type: Component,
590
- args: [{ selector: 'luna-tab', standalone: true, imports: [CommonModule], template: "<div [hidden]=\"!active\" role=\"tabpanel\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:contents}[role=tabpanel]{box-shadow:inset 1px 1px #fcfcfe,inset -1px -1px #fcfcfe,1px 2px 2px #d0cebfbf;padding:12px}\n"] }]
594
+ args: [{ selector: 'luna-tab', standalone: true, imports: [CommonModule], template: "<div [hidden]=\"!active\" role=\"tabpanel\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:contents}[role=tabpanel]{background:#ecebe4;border:1px solid #9d9c99;border-left-color:#e3e3db;border-top-color:#e3e3db;padding:12px}\n"] }]
591
595
  }], propDecorators: { id: [{
592
596
  type: Input
593
597
  }], label: [{
@@ -664,11 +668,11 @@ class TabsComponent extends LunaControl {
664
668
  }
665
669
  }
666
670
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TabsComponent, deps: [{ token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component });
667
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TabsComponent, isStandalone: true, selector: "luna-tabs", inputs: { activeTabId: "activeTabId" }, outputs: { tabChange: "tabChange" }, queries: [{ propertyName: "tabs", predicate: TabComponent }], viewQueries: [{ propertyName: "tabButtons", predicate: ["tabButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<menu [attr.autofocus]=\"autofocus || null\" [attr.id]=\"id\" [attr.name]=\"name\" role=\"tablist\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeyDown($event)\">\n <button #tabButton *ngFor=\"let tab of tabs\" [attr.aria-selected]=\"isActive(tab.id)\" role=\"tab\" (click)=\"selectTab(tab.id)\">\n {{ tab.label }}\n </button>\n</menu>\n<ng-content></ng-content>\n", styles: [":host{display:contents}menu[role=tablist]{display:flex;list-style:none;margin:0;padding:0}menu[role=tablist] button{background:linear-gradient(180deg,#fff,#fafaf9 26%,#f0f0ea 95%,#ecebe5);border-color:#91a7b4;border-radius:3px 3px 0 0;margin-left:-1px;margin-right:2px;padding:0 12px 3px}menu[role=tablist] button:hover{border-top:1px solid #e68b2c;box-shadow:inset 0 2px #ffc73c}menu[role=tablist] button[aria-selected=true]{background:#fcfcfe;border-bottom:1px solid transparent;border-color:#919b9c;border-top:1px solid #e68b2c;box-shadow:inset 0 2px #ffc73c;margin-right:-1px}menu[role=tablist] button[aria-selected=true]:first-of-type:before{border-left:1px solid #919b9c;content:\"\";display:block;height:2px;left:-1px;position:absolute;top:100%;width:0;z-index:-1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: A11yModule }] });
671
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TabsComponent, isStandalone: true, selector: "luna-tabs", inputs: { activeTabId: "activeTabId" }, outputs: { tabChange: "tabChange" }, queries: [{ propertyName: "tabs", predicate: TabComponent }], viewQueries: [{ propertyName: "tabButtons", predicate: ["tabButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<menu [attr.autofocus]=\"autofocus || null\" [attr.id]=\"id\" [attr.name]=\"name\" role=\"tablist\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeyDown($event)\">\n <button #tabButton *ngFor=\"let tab of tabs\" [attr.aria-selected]=\"isActive(tab.id)\" role=\"tab\" (click)=\"selectTab(tab.id)\">\n {{ tab.label }}\n </button>\n</menu>\n<ng-content></ng-content>\n", styles: [":host{display:contents}menu[role=tablist]{display:flex;list-style:none;margin:0;padding:0}menu[role=tablist] button{background:linear-gradient(180deg,#fff,#f2f2f1);border:1px solid #ffffff;border-bottom-color:#9d9c99;border-left-color:#fff;border-radius:2px 2px 0 0;border-right-color:#9d9c99;border-top-color:#fff;color:#000;cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-size:11px;margin-right:2px;padding:4px 12px 3px;position:relative}menu[role=tablist] button:hover{background:linear-gradient(180deg,#fff,#f0f0ea)}menu[role=tablist] button[aria-selected=true]{background:#ecebe4;border-bottom-color:#ecebe4;border-left-color:#e3e3db;border-right-color:#9d9c99;border-top-color:#e3e3db;font-weight:600;margin-bottom:-1px;padding-bottom:4px;z-index:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: A11yModule }] });
668
672
  }
669
673
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TabsComponent, decorators: [{
670
674
  type: Component,
671
- args: [{ selector: 'luna-tabs', standalone: true, imports: [CommonModule, A11yModule], template: "<menu [attr.autofocus]=\"autofocus || null\" [attr.id]=\"id\" [attr.name]=\"name\" role=\"tablist\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeyDown($event)\">\n <button #tabButton *ngFor=\"let tab of tabs\" [attr.aria-selected]=\"isActive(tab.id)\" role=\"tab\" (click)=\"selectTab(tab.id)\">\n {{ tab.label }}\n </button>\n</menu>\n<ng-content></ng-content>\n", styles: [":host{display:contents}menu[role=tablist]{display:flex;list-style:none;margin:0;padding:0}menu[role=tablist] button{background:linear-gradient(180deg,#fff,#fafaf9 26%,#f0f0ea 95%,#ecebe5);border-color:#91a7b4;border-radius:3px 3px 0 0;margin-left:-1px;margin-right:2px;padding:0 12px 3px}menu[role=tablist] button:hover{border-top:1px solid #e68b2c;box-shadow:inset 0 2px #ffc73c}menu[role=tablist] button[aria-selected=true]{background:#fcfcfe;border-bottom:1px solid transparent;border-color:#919b9c;border-top:1px solid #e68b2c;box-shadow:inset 0 2px #ffc73c;margin-right:-1px}menu[role=tablist] button[aria-selected=true]:first-of-type:before{border-left:1px solid #919b9c;content:\"\";display:block;height:2px;left:-1px;position:absolute;top:100%;width:0;z-index:-1}\n"] }]
675
+ args: [{ selector: 'luna-tabs', standalone: true, imports: [CommonModule, A11yModule], template: "<menu [attr.autofocus]=\"autofocus || null\" [attr.id]=\"id\" [attr.name]=\"name\" role=\"tablist\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeyDown($event)\">\n <button #tabButton *ngFor=\"let tab of tabs\" [attr.aria-selected]=\"isActive(tab.id)\" role=\"tab\" (click)=\"selectTab(tab.id)\">\n {{ tab.label }}\n </button>\n</menu>\n<ng-content></ng-content>\n", styles: [":host{display:contents}menu[role=tablist]{display:flex;list-style:none;margin:0;padding:0}menu[role=tablist] button{background:linear-gradient(180deg,#fff,#f2f2f1);border:1px solid #ffffff;border-bottom-color:#9d9c99;border-left-color:#fff;border-radius:2px 2px 0 0;border-right-color:#9d9c99;border-top-color:#fff;color:#000;cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-size:11px;margin-right:2px;padding:4px 12px 3px;position:relative}menu[role=tablist] button:hover{background:linear-gradient(180deg,#fff,#f0f0ea)}menu[role=tablist] button[aria-selected=true]{background:#ecebe4;border-bottom-color:#ecebe4;border-left-color:#e3e3db;border-right-color:#9d9c99;border-top-color:#e3e3db;font-weight:600;margin-bottom:-1px;padding-bottom:4px;z-index:1}\n"] }]
672
676
  }], ctorParameters: () => [{ type: i2.Platform }], propDecorators: { activeTabId: [{
673
677
  type: Input
674
678
  }], tabChange: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-luna.mjs","sources":["../../src/controls/luna-control.ts","../../src/controls/button/button.component.ts","../../src/controls/button/button.component.html","../../src/controls/checkbox/checkbox.component.ts","../../src/controls/checkbox/checkbox.component.html","../../src/controls/fieldset/fieldset.component.ts","../../src/controls/fieldset/fieldset.component.html","../../src/controls/icons/icon.component.ts","../../src/controls/input/input.component.ts","../../src/controls/input/input.component.html","../../src/controls/progress/progress.component.ts","../../src/controls/progress/progress.component.html","../../src/controls/radio/radio.component.ts","../../src/controls/radio/radio.component.html","../../src/controls/select/select.component.ts","../../src/controls/select/select.component.html","../../src/controls/slider/slider.component.ts","../../src/controls/slider/slider.component.html","../../src/controls/tabs/tab.component.ts","../../src/controls/tabs/tab.component.html","../../src/controls/tabs/tabs.component.ts","../../src/controls/tabs/tabs.component.html","../../src/controls/textarea/textarea.component.ts","../../src/controls/textarea/textarea.component.html","../../src/controls/window/window.component.ts","../../src/controls/window/window.component.html","../../src/public-api.ts","../../src/ng-luna.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\n\n// Base class for all Luna components providing common form element attributes\n@Directive()\nexport abstract class LunaControl\n{\n @Input()\n public id?: string;\n\n @Input()\n public name?: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabindex?: number;\n\n @Input()\n public autofocus = false;\n}\n","import { Component, Input, Output, EventEmitter, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { BidiModule, Dir } from '@angular/cdk/bidi';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\nexport type FormEnctype = 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';\n\nexport type FormMethod = 'get' | 'post';\n\nexport type FormTarget = '_self' | '_blank' | '_parent' | '_top';\n\nexport type PopoverTargetAction = 'show' | 'hide' | 'toggle';\n\n@Component({\n selector: 'luna-button',\n standalone: true,\n imports: [ BidiModule ],\n templateUrl: './button.component.html',\n styleUrls: [ './button.component.scss' ]\n})\nexport class ButtonComponent\n extends LunaControl implements AfterViewInit, OnDestroy\n{\n @Input()\n public command?: string;\n\n @Input()\n public commandfor?: string;\n\n @Input()\n public form?: string;\n\n @Input()\n public formaction?: string;\n\n @Input()\n public formenctype?: FormEnctype;\n\n @Input()\n public formmethod?: FormMethod;\n\n @Input()\n public formnovalidate = false;\n\n @Input()\n public formtarget?: FormTarget;\n\n @Input()\n public popovertarget?: string;\n\n @Input()\n public popovertargetaction?: PopoverTargetAction;\n\n @Input()\n public type: ButtonType = 'button';\n\n @Input()\n public value?: string;\n\n @Output()\n public click = new EventEmitter<MouseEvent>();\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n public platform: Platform,\n public dir: Dir\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onClick(event: MouseEvent): void\n {\n if (this.disabled)\n {\n event.preventDefault();\n event.stopImmediatePropagation();\n return;\n }\n this.click.emit(event);\n }\n}\n","<button\n [attr.autofocus]=\"autofocus || null\"\n [attr.command]=\"command\"\n [attr.commandfor]=\"commandfor\"\n [disabled]=\"disabled\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate || null\"\n [attr.formtarget]=\"formtarget\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.popovertarget]=\"popovertarget\"\n [attr.popovertargetaction]=\"popovertargetaction\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [attr.value]=\"value\"\n (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-checkbox',\n standalone: true,\n templateUrl: './checkbox.component.html',\n styleUrls: [ './checkbox.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }]\n})\nexport class CheckboxComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public label?: string;\n\n @Input()\n public value?: string;\n\n @Output()\n public change = new EventEmitter<boolean>();\n\n public checked = false;\n\n private onChange: (value: boolean) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onCheckboxChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n const label = this.label || 'checkbox';\n const state = this.checked ? 'checked' : 'unchecked';\n this.liveAnnouncer.announce(`${label} ${state}`, 'polite');\n this.onChange(this.checked);\n this.onTouched();\n this.change.emit(this.checked);\n }\n\n public writeValue(value: boolean): void\n {\n this.checked = coerceBooleanProperty(value);\n }\n\n public registerOnChange(fn: (value: boolean) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<input\n [attr.autofocus]=\"autofocus || null\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n type=\"checkbox\"\n [attr.value]=\"value\"\n (change)=\"onCheckboxChange($event)\">\n<label [attr.for]=\"id || name\">\n <ng-content></ng-content>{{ label }}\n</label>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n imports: [ CommonModule ],\n selector: 'luna-fieldset',\n standalone: true,\n styleUrls: [ './fieldset.component.scss' ],\n templateUrl: './fieldset.component.html'\n})\nexport class FieldsetComponent extends LunaControl\n{\n @Input()\n public legend?: string;\n}\n","<fieldset\n [attr.autofocus]=\"autofocus || null\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\">\n <legend *ngIf=\"legend\">{{ legend }}</legend>\n <ng-content></ng-content>\n</fieldset>\n","import { Component, Input, SecurityContext } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport type IconSize = '12' | '16' | '20' | '24' | '32' | '48';\n\n@Component(\n{\n selector: 'luna-icon',\n standalone: true,\n styleUrl: './icon.component.scss',\n template: `<span [innerHTML]=\"sanitizedSvg\"></span>`\n})\nexport class IconComponent\n{\n @Input()\n public size: IconSize = '24';\n\n @Input({ required: true })\n public set svg(value: string)\n {\n this.sanitizedSvg = this.sanitizer.sanitize(SecurityContext.HTML, value) || '';\n }\n\n public sanitizedSvg: SafeHtml = '';\n\n constructor(private sanitizer: DomSanitizer) {}\n}\n\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { Platform } from '@angular/cdk/platform';\nimport { BidiModule, Dir } from '@angular/cdk/bidi';\nimport { ClipboardModule, Clipboard } from '@angular/cdk/clipboard';\n\nimport { LunaControl } from '../luna-control';\n\nexport type InputType = 'text' | 'password' | 'email';\n\n@Component({\n selector: 'luna-input',\n standalone: true,\n imports: [ TextFieldModule, BidiModule ],\n templateUrl: './input.component.html',\n styleUrls: [ './input.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }]\n})\nexport class InputComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public placeholder?: string;\n\n @Input()\n public readonly = false;\n\n @Input()\n public type: InputType = 'text';\n\n @Output()\n public change = new EventEmitter<string>();\n\n @Output()\n public blur = new EventEmitter<FocusEvent>();\n\n public value = '';\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n\n @ViewChild('inputElement', { static: false })\n public inputElement?: ElementRef<HTMLInputElement>;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform,\n public dir: Dir,\n private clipboard: Clipboard\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onInputChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.onChange(this.value);\n this.change.emit(this.value);\n }\n\n public onInputBlur(event: FocusEvent): void\n {\n this.onTouched();\n if (this.value && this.id)\n {\n this.liveAnnouncer.announce(`${this.id} value is ${this.value}`, 'polite');\n }\n this.blur.emit(event);\n }\n\n public writeValue(value: string): void\n {\n this.value = value ?? '';\n }\n\n public registerOnChange(fn: (value: string) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<input\n #inputElement\n [attr.autofocus]=\"autofocus || null\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [value]=\"value\"\n (blur)=\"onInputBlur($event)\"\n (input)=\"onInputChange($event)\">\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-progress',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './progress.component.html',\n styleUrls: [ './progress.component.scss' ]\n})\nexport class ProgressComponent\n extends LunaControl implements OnChanges\n{\n @Input()\n public set max(value: NumberInput)\n {\n this._max = coerceNumberProperty(value, 100);\n }\n\n public get max(): number\n {\n return this._max;\n }\n\n @Input()\n public set value(value: NumberInput | undefined)\n {\n this._value = value !== undefined ? coerceNumberProperty(value) : undefined;\n }\n\n public get value(): number | undefined\n {\n return this._value;\n }\n\n private _max = 100;\n private _value?: number;\n private _previousValue?: number;\n\n constructor(\n private liveAnnouncer: LiveAnnouncer\n )\n {\n super();\n }\n\n public ngOnChanges(changes: SimpleChanges): void\n {\n if (changes['value'] && this._value !== undefined)\n {\n const percentage = Math.round((this._value / this._max) * 100);\n const milestones = [ 0, 25, 50, 75, 100 ];\n const previousPercentage = this._previousValue !== undefined\n ? Math.round((this._previousValue / this._max) * 100)\n : undefined;\n\n if (previousPercentage === undefined || milestones.includes(percentage))\n {\n if (previousPercentage === undefined || Math.abs(percentage - (previousPercentage || 0)) >= 10)\n {\n this.liveAnnouncer.announce(`Progress ${percentage} percent`, 'polite');\n }\n }\n this._previousValue = this._value;\n }\n }\n}\n","<progress\n [attr.autofocus]=\"autofocus || null\"\n [attr.id]=\"id\"\n [attr.max]=\"max\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n [attr.value]=\"value\"></progress>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-radio',\n standalone: true,\n templateUrl: './radio.component.html',\n styleUrls: [ './radio.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }]\n})\nexport class RadioComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public label?: string;\n\n @Input()\n public value?: string;\n\n @Output()\n public change = new EventEmitter<string>();\n\n public checked = false;\n\n private onChange: (value: string | null) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onRadioChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n if (this.checked)\n {\n const label = this.label || this.value || 'radio option';\n this.liveAnnouncer.announce(`${label} selected`, 'polite');\n }\n this.onChange(this.checked ? this.value ?? null : null);\n this.onTouched();\n if (this.value)\n {\n this.change.emit(this.value);\n }\n }\n\n public writeValue(value: string | null): void\n {\n this.checked = value === this.value;\n }\n\n public registerOnChange(fn: (value: string | null) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<input\n [attr.autofocus]=\"autofocus || null\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n type=\"radio\"\n [attr.value]=\"value\"\n (change)=\"onRadioChange($event)\">\n<label [attr.for]=\"id || name\">\n <ng-content></ng-content>{{ label }}\n</label>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-select',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './select.component.html',\n styleUrls: [ './select.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }]\n})\nexport class SelectComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n\n @Output()\n public change = new EventEmitter<string>();\n\n public value = '';\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onSelectChange(event: Event): void\n {\n const target = event.target as HTMLSelectElement;\n this.value = target.value;\n const selectedOption = target.options[target.selectedIndex];\n const optionText = selectedOption?.textContent || this.value;\n this.liveAnnouncer.announce(`Selected ${optionText}`, 'polite');\n this.onChange(this.value);\n this.onTouched();\n this.change.emit(this.value);\n }\n\n public writeValue(value: string): void\n {\n this.value = value ?? '';\n }\n\n public registerOnChange(fn: (value: string) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<select\n [attr.autofocus]=\"autofocus || null\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\">\n <ng-content></ng-content>\n</select>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-slider',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './slider.component.html',\n styleUrls: [ './slider.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true\n }]\n})\nexport class SliderComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public boxIndicator = false;\n\n @Input()\n public set max(value: NumberInput)\n {\n this._max = coerceNumberProperty(value, 100);\n }\n\n public get max(): number\n {\n return this._max;\n }\n\n @Input()\n public set min(value: NumberInput)\n {\n this._min = coerceNumberProperty(value, 0);\n }\n\n public get min(): number\n {\n return this._min;\n }\n\n @Input()\n public set step(value: NumberInput)\n {\n this._step = coerceNumberProperty(value, 1);\n }\n\n public get step(): number\n {\n return this._step;\n }\n\n @Input()\n public vertical = false;\n\n @Output()\n public change = new EventEmitter<number>();\n\n public value = 0;\n\n private _max = 100;\n private _min = 0;\n private _step = 1;\n\n private onChange: (value: number) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onSliderChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.value = Number(target.value);\n this.onChange(this.value);\n this.change.emit(this.value);\n this.liveAnnouncer.announce(`Value changed to ${this.value}`, 'polite');\n }\n\n public onSliderBlur(): void\n {\n this.onTouched();\n }\n\n public writeValue(value: number): void\n {\n this.value = coerceNumberProperty(value, 0);\n }\n\n public registerOnChange(fn: (value: number) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<div [class.is-vertical]=\"vertical\">\n <input\n [attr.autofocus]=\"autofocus || null\"\n [class.has-box-indicator]=\"boxIndicator\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [attr.step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n type=\"range\"\n [value]=\"value\"\n (blur)=\"onSliderBlur()\"\n (input)=\"onSliderChange($event)\">\n</div>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'luna-tab',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './tab.component.html',\n styleUrls: [ './tab.component.scss' ]\n})\nexport class TabComponent\n{\n @Input()\n public id!: string;\n\n @Input()\n public label!: string;\n\n public active: boolean = false;\n}\n","<div [hidden]=\"!active\" role=\"tabpanel\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, Output, EventEmitter, QueryList, ViewChildren, ContentChildren, ElementRef, AfterViewInit, AfterContentInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { A11yModule, FocusKeyManager, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\nimport { TabComponent } from './tab.component';\n\nclass TabButtonFocusable implements FocusableOption\n{\n constructor(private elementRef: ElementRef<HTMLButtonElement>)\n {\n }\n\n public focus(origin?: FocusOrigin): void\n {\n this.elementRef.nativeElement.focus();\n }\n}\n\n@Component({\n selector: 'luna-tabs',\n standalone: true,\n imports: [ CommonModule, A11yModule ],\n templateUrl: './tabs.component.html',\n styleUrls: [ './tabs.component.scss' ]\n})\nexport class TabsComponent\n extends LunaControl implements AfterViewInit, AfterContentInit\n{\n @Input()\n public activeTabId?: string;\n\n @Output()\n public tabChange = new EventEmitter<string>();\n\n @ContentChildren(TabComponent)\n public tabs!: QueryList<TabComponent>;\n\n @ViewChildren('tabButton')\n public tabButtons!: QueryList<ElementRef<HTMLButtonElement>>;\n\n private keyManager?: FocusKeyManager<TabButtonFocusable>;\n\n constructor(\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterContentInit(): void\n {\n if (!this.activeTabId && this.tabs.length > 0)\n {\n this.activeTabId = this.tabs.first.id;\n }\n\n this.updateActiveTab();\n }\n\n public ngAfterViewInit(): void\n {\n const focusableItems = this.tabButtons.map(ref => new TabButtonFocusable(ref));\n this.keyManager = new FocusKeyManager(focusableItems)\n .withHorizontalOrientation('ltr')\n .withWrap();\n\n if (this.activeTabId)\n {\n const tabsArray = this.tabs.toArray();\n const activeIndex = tabsArray.findIndex(tab => tab.id === this.activeTabId);\n if (activeIndex >= 0)\n {\n this.keyManager.setActiveItem(activeIndex);\n }\n }\n }\n\n public selectTab(tabId: string): void\n {\n this.activeTabId = tabId;\n this.updateActiveTab();\n this.tabChange.emit(tabId);\n\n const tabsArray = this.tabs.toArray();\n const activeIndex = tabsArray.findIndex(tab => tab.id === tabId);\n if (activeIndex >= 0 && this.keyManager)\n {\n this.keyManager.setActiveItem(activeIndex);\n }\n }\n\n public isActive(tabId: string): boolean\n {\n return this.activeTabId === tabId;\n }\n\n private updateActiveTab(): void\n {\n this.tabs.forEach(tab =>\n {\n tab.active = tab.id === this.activeTabId;\n });\n }\n\n public onKeyDown(event: KeyboardEvent): void\n {\n if (this.keyManager)\n {\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n {\n this.keyManager.onKeydown(event);\n const activeIndex = this.keyManager.activeItemIndex;\n const tabsArray = this.tabs.toArray();\n if (activeIndex !== null && activeIndex >= 0 && activeIndex < tabsArray.length)\n {\n this.selectTab(tabsArray[activeIndex].id);\n }\n }\n }\n }\n}\n","<menu [attr.autofocus]=\"autofocus || null\" [attr.id]=\"id\" [attr.name]=\"name\" role=\"tablist\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeyDown($event)\">\n <button #tabButton *ngFor=\"let tab of tabs\" [attr.aria-selected]=\"isActive(tab.id)\" role=\"tab\" (click)=\"selectTab(tab.id)\">\n {{ tab.label }}\n </button>\n</menu>\n<ng-content></ng-content>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-textarea',\n standalone: true,\n templateUrl: './textarea.component.html',\n styleUrls: [ './textarea.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }]\n})\nexport class TextareaComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public cols?: number;\n\n @Input()\n public placeholder?: string;\n\n @Input()\n public readonly = false;\n\n @Input()\n public rows?: number;\n\n @Output()\n public change = new EventEmitter<string>();\n\n @Output()\n public blur = new EventEmitter<FocusEvent>();\n\n public value = '';\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onTextareaChange(event: Event): void\n {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this.onChange(this.value);\n this.change.emit(this.value);\n }\n\n public onTextareaBlur(event: FocusEvent): void\n {\n this.onTouched();\n if (this.value && this.id)\n {\n const charCount = this.value.length;\n this.liveAnnouncer.announce(`${this.id} contains ${charCount} characters`, 'polite');\n }\n this.blur.emit(event);\n }\n\n public writeValue(value: string): void\n {\n this.value = value ?? '';\n }\n\n public registerOnChange(fn: (value: string) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<textarea\n [attr.autofocus]=\"autofocus || null\"\n [attr.cols]=\"cols\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [attr.rows]=\"rows\"\n [attr.tabindex]=\"tabindex\"\n [value]=\"value\"\n (blur)=\"onTextareaBlur($event)\"\n (input)=\"onTextareaChange($event)\"></textarea>\n","import { Component, Input, Output, EventEmitter, ElementRef, AfterViewInit, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DragDropModule, CdkDrag } from '@angular/cdk/drag-drop';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-window',\n standalone: true,\n imports: [ CommonModule, DragDropModule, ScrollingModule ],\n templateUrl: './window.component.html',\n styleUrls: [ './window.component.scss' ]\n})\nexport class WindowComponent\n extends LunaControl implements AfterViewInit, OnChanges\n{\n @Input()\n public isMaximized = false;\n\n @Input()\n public showClose = true;\n\n @Input()\n public showHelp = false;\n\n @Input()\n public showMaximize = true;\n\n @Input()\n public showMinimize = true;\n\n @Input()\n public title?: string;\n\n @Output()\n public minimize = new EventEmitter<void>();\n\n @Output()\n public maximize = new EventEmitter<void>();\n\n @Output()\n public restore = new EventEmitter<void>();\n\n @Output()\n public help = new EventEmitter<void>();\n\n @Output()\n public close = new EventEmitter<void>();\n\n @Input()\n public boundaryElement?: string;\n\n @Input()\n public scrollable = false;\n\n @Input()\n public dragDisabled = false;\n\n @ViewChild(CdkDrag, { static: false })\n private dragInstance?: CdkDrag;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.updateDragBoundary();\n }\n\n public ngOnChanges(changes: SimpleChanges): void\n {\n if (changes['boundaryElement'])\n {\n this.updateDragBoundary();\n }\n }\n\n public get isDragDisabled(): boolean\n {\n return this.dragDisabled || this.isMaximized;\n }\n\n private updateDragBoundary(): void\n {\n if (this.dragInstance && this.boundaryElement)\n {\n const boundary = document.querySelector(this.boundaryElement);\n if (boundary)\n {\n this.dragInstance.boundaryElement = boundary as HTMLElement;\n }\n }\n }\n\n public onMinimize(): void\n {\n this.minimize.emit();\n }\n\n public onMaximize(): void\n {\n if (this.isMaximized)\n {\n this.restore.emit();\n }\n else\n {\n this.maximize.emit();\n }\n }\n\n public onHelp(): void\n {\n this.help.emit();\n }\n\n public onClose(): void\n {\n this.close.emit();\n }\n}\n","<div\n [attr.autofocus]=\"autofocus || null\"\n [cdkDragDisabled]=\"isDragDisabled\"\n class=\"window\"\n cdkDrag\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\">\n <div\n cdkDragHandle\n class=\"title-bar\">\n <div class=\"title-bar-text\">{{ title }}</div>\n <div class=\"title-bar-controls\">\n <button\n *ngIf=\"showMinimize\"\n aria-label=\"Minimize\"\n (click)=\"onMinimize()\"></button>\n <button\n *ngIf=\"showMaximize\"\n [attr.aria-label]=\"isMaximized ? 'Restore' : 'Maximize'\"\n (click)=\"onMaximize()\"></button>\n <button\n *ngIf=\"showHelp\"\n aria-label=\"Help\"\n (click)=\"onHelp()\"></button>\n <button\n *ngIf=\"showClose\"\n aria-label=\"Close\"\n (click)=\"onClose()\"></button>\n </div>\n </div>\n <ng-container *ngIf=\"scrollable; else notScrollable\">\n <div\n cdkScrollable\n class=\"window-body scrollable\">\n <ng-content></ng-content>\n </div>\n </ng-container>\n <ng-template #notScrollable>\n <div class=\"window-body\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n <div class=\"status-bar\">\n <ng-content select=\"[slot='status']\"></ng-content>\n </div>\n</div>\n","/*\n * Public API Surface of ng-luna\n */\n\nexport * from './controls';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"ng-luna.mjs","sources":["../../src/controls/luna-control.ts","../../src/controls/button/button.component.ts","../../src/controls/button/button.component.html","../../src/controls/checkbox/checkbox.component.ts","../../src/controls/checkbox/checkbox.component.html","../../src/controls/fieldset/fieldset.component.ts","../../src/controls/fieldset/fieldset.component.html","../../src/controls/icons/icon.component.ts","../../src/controls/input/input.component.ts","../../src/controls/input/input.component.html","../../src/controls/progress/progress.component.ts","../../src/controls/progress/progress.component.html","../../src/controls/radio/radio.component.ts","../../src/controls/radio/radio.component.html","../../src/controls/select/select.component.ts","../../src/controls/select/select.component.html","../../src/controls/slider/slider.component.ts","../../src/controls/slider/slider.component.html","../../src/controls/tabs/tab.component.ts","../../src/controls/tabs/tab.component.html","../../src/controls/tabs/tabs.component.ts","../../src/controls/tabs/tabs.component.html","../../src/controls/textarea/textarea.component.ts","../../src/controls/textarea/textarea.component.html","../../src/controls/window/window.component.ts","../../src/controls/window/window.component.html","../../src/public-api.ts","../../src/ng-luna.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\n\n// Base class for all Luna components providing common form element attributes\n@Directive()\nexport abstract class LunaControl\n{\n @Input()\n public id?: string;\n\n @Input()\n public name?: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabindex?: number;\n\n @Input()\n public autofocus = false;\n}\n","import { Component, Input, Output, EventEmitter, ElementRef, OnDestroy, AfterViewInit, Optional } from '@angular/core';\nimport { BidiModule, Dir } from '@angular/cdk/bidi';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\nexport type FormEnctype = 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';\n\nexport type FormMethod = 'get' | 'post';\n\nexport type FormTarget = '_self' | '_blank' | '_parent' | '_top';\n\nexport type PopoverTargetAction = 'show' | 'hide' | 'toggle';\n\n@Component({\n selector: 'luna-button',\n standalone: true,\n imports: [ BidiModule ],\n templateUrl: './button.component.html',\n styleUrls: [ './button.component.scss' ]\n})\nexport class ButtonComponent\n extends LunaControl implements AfterViewInit, OnDestroy\n{\n @Input()\n public command?: string;\n\n @Input()\n public commandfor?: string;\n\n @Input()\n public form?: string;\n\n @Input()\n public formaction?: string;\n\n @Input()\n public formenctype?: FormEnctype;\n\n @Input()\n public formmethod?: FormMethod;\n\n @Input()\n public formnovalidate = false;\n\n @Input()\n public formtarget?: FormTarget;\n\n @Input()\n public popovertarget?: string;\n\n @Input()\n public popovertargetaction?: PopoverTargetAction;\n\n @Input()\n public type: ButtonType = 'button';\n\n @Input()\n public value?: string;\n\n @Output()\n public click = new EventEmitter<MouseEvent>();\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n public platform: Platform,\n @Optional() public dir: Dir\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onClick(event: MouseEvent): void\n {\n if (this.disabled)\n {\n event.preventDefault();\n event.stopImmediatePropagation();\n return;\n }\n this.click.emit(event);\n }\n}\n","<button\n [attr.autofocus]=\"autofocus || null\"\n [attr.command]=\"command\"\n [attr.commandfor]=\"commandfor\"\n [disabled]=\"disabled\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate || null\"\n [attr.formtarget]=\"formtarget\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.popovertarget]=\"popovertarget\"\n [attr.popovertargetaction]=\"popovertargetaction\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [attr.value]=\"value\"\n (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-checkbox',\n standalone: true,\n templateUrl: './checkbox.component.html',\n styleUrls: [ './checkbox.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }]\n})\nexport class CheckboxComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public label?: string;\n\n @Input()\n public value?: string;\n\n @Output()\n public change = new EventEmitter<boolean>();\n\n public checked = false;\n\n private onChange: (value: boolean) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onCheckboxChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n const label = this.label || 'checkbox';\n const state = this.checked ? 'checked' : 'unchecked';\n this.liveAnnouncer.announce(`${label} ${state}`, 'polite');\n this.onChange(this.checked);\n this.onTouched();\n this.change.emit(this.checked);\n }\n\n public writeValue(value: boolean): void\n {\n this.checked = coerceBooleanProperty(value);\n }\n\n public registerOnChange(fn: (value: boolean) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<input\n [attr.autofocus]=\"autofocus || null\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n type=\"checkbox\"\n [attr.value]=\"value\"\n (change)=\"onCheckboxChange($event)\">\n<label [attr.for]=\"id || name\">\n <ng-content></ng-content>{{ label }}\n</label>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n imports: [ CommonModule ],\n selector: 'luna-fieldset',\n standalone: true,\n styleUrls: [ './fieldset.component.scss' ],\n templateUrl: './fieldset.component.html'\n})\nexport class FieldsetComponent extends LunaControl\n{\n @Input()\n public legend?: string;\n}\n","<fieldset\n [attr.autofocus]=\"autofocus || null\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\">\n <legend *ngIf=\"legend\">{{ legend }}</legend>\n <ng-content></ng-content>\n</fieldset>\n","import { Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nexport type IconSize = '12' | '16' | '20' | '24' | '32' | '48';\n\n@Component(\n{\n selector: 'luna-icon',\n standalone: true,\n styleUrl: './icon.component.scss',\n template: `<span [innerHTML]=\"sanitizedSvg\"></span>`\n})\nexport class IconComponent\n{\n @Input()\n public size: IconSize = '24';\n\n @Input({ required: true })\n public set svg(value: string)\n {\n this.sanitizedSvg = this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n public sanitizedSvg: SafeHtml = '';\n\n constructor(private sanitizer: DomSanitizer) {}\n}\n\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit, ViewChild, Optional } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { Platform } from '@angular/cdk/platform';\nimport { BidiModule, Dir } from '@angular/cdk/bidi';\nimport { ClipboardModule, Clipboard } from '@angular/cdk/clipboard';\n\nimport { LunaControl } from '../luna-control';\n\nexport type InputType = 'text' | 'password' | 'email';\n\n@Component({\n selector: 'luna-input',\n standalone: true,\n imports: [ TextFieldModule, BidiModule ],\n templateUrl: './input.component.html',\n styleUrls: [ './input.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }]\n})\nexport class InputComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public placeholder?: string;\n\n @Input()\n public readonly = false;\n\n @Input()\n public type: InputType = 'text';\n\n @Output()\n public change = new EventEmitter<string>();\n\n @Output()\n public blur = new EventEmitter<FocusEvent>();\n\n public value = '';\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n\n @ViewChild('inputElement', { static: false })\n public inputElement?: ElementRef<HTMLInputElement>;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform,\n @Optional() public dir: Dir,\n private clipboard: Clipboard\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onInputChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.onChange(this.value);\n this.change.emit(this.value);\n }\n\n public onInputBlur(event: FocusEvent): void\n {\n this.onTouched();\n if (this.value && this.id)\n {\n this.liveAnnouncer.announce(`${this.id} value is ${this.value}`, 'polite');\n }\n this.blur.emit(event);\n }\n\n public writeValue(value: string): void\n {\n this.value = value ?? '';\n }\n\n public registerOnChange(fn: (value: string) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<input\n #inputElement\n [attr.autofocus]=\"autofocus || null\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [attr.tabindex]=\"tabindex\"\n [attr.type]=\"type\"\n [value]=\"value\"\n (blur)=\"onInputBlur($event)\"\n (input)=\"onInputChange($event)\">\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-progress',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './progress.component.html',\n styleUrls: [ './progress.component.scss' ]\n})\nexport class ProgressComponent\n extends LunaControl implements OnChanges\n{\n @Input()\n public set max(value: NumberInput)\n {\n this._max = coerceNumberProperty(value, 100);\n }\n\n public get max(): number\n {\n return this._max;\n }\n\n @Input()\n public set value(value: NumberInput | undefined)\n {\n this._value = value !== undefined ? coerceNumberProperty(value) : undefined;\n }\n\n public get value(): number | undefined\n {\n return this._value;\n }\n\n private _max = 100;\n private _value?: number;\n private _previousValue?: number;\n\n constructor(\n private liveAnnouncer: LiveAnnouncer\n )\n {\n super();\n }\n\n public ngOnChanges(changes: SimpleChanges): void\n {\n if (changes['value'] && this._value !== undefined)\n {\n const percentage = Math.round((this._value / this._max) * 100);\n const milestones = [ 0, 25, 50, 75, 100 ];\n const previousPercentage = this._previousValue !== undefined\n ? Math.round((this._previousValue / this._max) * 100)\n : undefined;\n\n if (previousPercentage === undefined || milestones.includes(percentage))\n {\n if (previousPercentage === undefined || Math.abs(percentage - (previousPercentage || 0)) >= 10)\n {\n this.liveAnnouncer.announce(`Progress ${percentage} percent`, 'polite');\n }\n }\n this._previousValue = this._value;\n }\n }\n}\n","<progress\n [attr.autofocus]=\"autofocus || null\"\n [attr.id]=\"id\"\n [attr.max]=\"max\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n [attr.value]=\"value\"></progress>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-radio',\n standalone: true,\n templateUrl: './radio.component.html',\n styleUrls: [ './radio.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }]\n})\nexport class RadioComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public label?: string;\n\n @Input()\n public value?: string;\n\n @Output()\n public change = new EventEmitter<string>();\n\n public checked = false;\n\n private onChange: (value: string | null) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onRadioChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n if (this.checked)\n {\n const label = this.label || this.value || 'radio option';\n this.liveAnnouncer.announce(`${label} selected`, 'polite');\n }\n this.onChange(this.checked ? this.value ?? null : null);\n this.onTouched();\n if (this.value)\n {\n this.change.emit(this.value);\n }\n }\n\n public writeValue(value: string | null): void\n {\n this.checked = value === this.value;\n }\n\n public registerOnChange(fn: (value: string | null) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<input\n [attr.autofocus]=\"autofocus || null\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n type=\"radio\"\n [attr.value]=\"value\"\n (change)=\"onRadioChange($event)\">\n<label [attr.for]=\"id || name\">\n <ng-content></ng-content>{{ label }}\n</label>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-select',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './select.component.html',\n styleUrls: [ './select.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }]\n})\nexport class SelectComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n\n @Output()\n public change = new EventEmitter<string>();\n\n public value = '';\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onSelectChange(event: Event): void\n {\n const target = event.target as HTMLSelectElement;\n this.value = target.value;\n const selectedOption = target.options[target.selectedIndex];\n const optionText = selectedOption?.textContent || this.value;\n this.liveAnnouncer.announce(`Selected ${optionText}`, 'polite');\n this.onChange(this.value);\n this.onTouched();\n this.change.emit(this.value);\n }\n\n public writeValue(value: string): void\n {\n this.value = value ?? '';\n }\n\n public registerOnChange(fn: (value: string) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<select\n [attr.autofocus]=\"autofocus || null\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\">\n <ng-content></ng-content>\n</select>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-slider',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './slider.component.html',\n styleUrls: [ './slider.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true\n }]\n})\nexport class SliderComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public boxIndicator = false;\n\n @Input()\n public set max(value: NumberInput)\n {\n this._max = coerceNumberProperty(value, 100);\n }\n\n public get max(): number\n {\n return this._max;\n }\n\n @Input()\n public set min(value: NumberInput)\n {\n this._min = coerceNumberProperty(value, 0);\n }\n\n public get min(): number\n {\n return this._min;\n }\n\n @Input()\n public set step(value: NumberInput)\n {\n this._step = coerceNumberProperty(value, 1);\n }\n\n public get step(): number\n {\n return this._step;\n }\n\n @Input()\n public vertical = false;\n\n @Output()\n public change = new EventEmitter<number>();\n\n public value = 0;\n\n private _max = 100;\n private _min = 0;\n private _step = 1;\n\n private onChange: (value: number) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onSliderChange(event: Event): void\n {\n const target = event.target as HTMLInputElement;\n this.value = Number(target.value);\n this.onChange(this.value);\n this.change.emit(this.value);\n this.liveAnnouncer.announce(`Value changed to ${this.value}`, 'polite');\n }\n\n public onSliderBlur(): void\n {\n this.onTouched();\n }\n\n public writeValue(value: number): void\n {\n this.value = coerceNumberProperty(value, 0);\n }\n\n public registerOnChange(fn: (value: number) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<div [class.is-vertical]=\"vertical\">\n <input\n [attr.autofocus]=\"autofocus || null\"\n [class.has-box-indicator]=\"boxIndicator\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [attr.step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n type=\"range\"\n [value]=\"value\"\n (blur)=\"onSliderBlur()\"\n (input)=\"onSliderChange($event)\">\n</div>\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'luna-tab',\n standalone: true,\n imports: [ CommonModule ],\n templateUrl: './tab.component.html',\n styleUrls: [ './tab.component.scss' ]\n})\nexport class TabComponent\n{\n @Input()\n public id!: string;\n\n @Input()\n public label!: string;\n\n public active: boolean = false;\n}\n","<div [hidden]=\"!active\" role=\"tabpanel\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, Output, EventEmitter, QueryList, ViewChildren, ContentChildren, ElementRef, AfterViewInit, AfterContentInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { A11yModule, FocusKeyManager, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\nimport { TabComponent } from './tab.component';\n\nclass TabButtonFocusable implements FocusableOption\n{\n constructor(private elementRef: ElementRef<HTMLButtonElement>)\n {\n }\n\n public focus(origin?: FocusOrigin): void\n {\n this.elementRef.nativeElement.focus();\n }\n}\n\n@Component({\n selector: 'luna-tabs',\n standalone: true,\n imports: [ CommonModule, A11yModule ],\n templateUrl: './tabs.component.html',\n styleUrls: [ './tabs.component.scss' ]\n})\nexport class TabsComponent\n extends LunaControl implements AfterViewInit, AfterContentInit\n{\n @Input()\n public activeTabId?: string;\n\n @Output()\n public tabChange = new EventEmitter<string>();\n\n @ContentChildren(TabComponent)\n public tabs!: QueryList<TabComponent>;\n\n @ViewChildren('tabButton')\n public tabButtons!: QueryList<ElementRef<HTMLButtonElement>>;\n\n private keyManager?: FocusKeyManager<TabButtonFocusable>;\n\n constructor(\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterContentInit(): void\n {\n if (!this.activeTabId && this.tabs.length > 0)\n {\n this.activeTabId = this.tabs.first.id;\n }\n\n this.updateActiveTab();\n }\n\n public ngAfterViewInit(): void\n {\n const focusableItems = this.tabButtons.map(ref => new TabButtonFocusable(ref));\n this.keyManager = new FocusKeyManager(focusableItems)\n .withHorizontalOrientation('ltr')\n .withWrap();\n\n if (this.activeTabId)\n {\n const tabsArray = this.tabs.toArray();\n const activeIndex = tabsArray.findIndex(tab => tab.id === this.activeTabId);\n if (activeIndex >= 0)\n {\n this.keyManager.setActiveItem(activeIndex);\n }\n }\n }\n\n public selectTab(tabId: string): void\n {\n this.activeTabId = tabId;\n this.updateActiveTab();\n this.tabChange.emit(tabId);\n\n const tabsArray = this.tabs.toArray();\n const activeIndex = tabsArray.findIndex(tab => tab.id === tabId);\n if (activeIndex >= 0 && this.keyManager)\n {\n this.keyManager.setActiveItem(activeIndex);\n }\n }\n\n public isActive(tabId: string): boolean\n {\n return this.activeTabId === tabId;\n }\n\n private updateActiveTab(): void\n {\n this.tabs.forEach(tab =>\n {\n tab.active = tab.id === this.activeTabId;\n });\n }\n\n public onKeyDown(event: KeyboardEvent): void\n {\n if (this.keyManager)\n {\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n {\n this.keyManager.onKeydown(event);\n const activeIndex = this.keyManager.activeItemIndex;\n const tabsArray = this.tabs.toArray();\n if (activeIndex !== null && activeIndex >= 0 && activeIndex < tabsArray.length)\n {\n this.selectTab(tabsArray[activeIndex].id);\n }\n }\n }\n }\n}\n","<menu [attr.autofocus]=\"autofocus || null\" [attr.id]=\"id\" [attr.name]=\"name\" role=\"tablist\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeyDown($event)\">\n <button #tabButton *ngFor=\"let tab of tabs\" [attr.aria-selected]=\"isActive(tab.id)\" role=\"tab\" (click)=\"selectTab(tab.id)\">\n {{ tab.label }}\n </button>\n</menu>\n<ng-content></ng-content>\n","import { Component, Input, Output, EventEmitter, forwardRef, ElementRef, OnDestroy, AfterViewInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusMonitor, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-textarea',\n standalone: true,\n templateUrl: './textarea.component.html',\n styleUrls: [ './textarea.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }]\n})\nexport class TextareaComponent\n extends LunaControl implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @Input()\n public cols?: number;\n\n @Input()\n public placeholder?: string;\n\n @Input()\n public readonly = false;\n\n @Input()\n public rows?: number;\n\n @Output()\n public change = new EventEmitter<string>();\n\n @Output()\n public blur = new EventEmitter<FocusEvent>();\n\n public value = '';\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private focusMonitor: FocusMonitor,\n private liveAnnouncer: LiveAnnouncer,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n public ngOnDestroy(): void\n {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n public onTextareaChange(event: Event): void\n {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this.onChange(this.value);\n this.change.emit(this.value);\n }\n\n public onTextareaBlur(event: FocusEvent): void\n {\n this.onTouched();\n if (this.value && this.id)\n {\n const charCount = this.value.length;\n this.liveAnnouncer.announce(`${this.id} contains ${charCount} characters`, 'polite');\n }\n this.blur.emit(event);\n }\n\n public writeValue(value: string): void\n {\n this.value = value ?? '';\n }\n\n public registerOnChange(fn: (value: string) => void): void\n {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled = isDisabled;\n }\n}\n","<textarea\n [attr.autofocus]=\"autofocus || null\"\n [attr.cols]=\"cols\"\n [disabled]=\"disabled\"\n [attr.id]=\"id || name\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [attr.rows]=\"rows\"\n [attr.tabindex]=\"tabindex\"\n [value]=\"value\"\n (blur)=\"onTextareaBlur($event)\"\n (input)=\"onTextareaChange($event)\"></textarea>\n","import { Component, Input, Output, EventEmitter, ElementRef, AfterViewInit, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DragDropModule, CdkDrag } from '@angular/cdk/drag-drop';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { LunaControl } from '../luna-control';\n\n@Component({\n selector: 'luna-window',\n standalone: true,\n imports: [ CommonModule, DragDropModule, ScrollingModule ],\n templateUrl: './window.component.html',\n styleUrls: [ './window.component.scss' ]\n})\nexport class WindowComponent\n extends LunaControl implements AfterViewInit, OnChanges\n{\n @Input()\n public isMaximized = false;\n\n @Input()\n public showClose = true;\n\n @Input()\n public showHelp = false;\n\n @Input()\n public showMaximize = true;\n\n @Input()\n public showMinimize = true;\n\n @Input()\n public title?: string;\n\n @Output()\n public minimize = new EventEmitter<void>();\n\n @Output()\n public maximize = new EventEmitter<void>();\n\n @Output()\n public restore = new EventEmitter<void>();\n\n @Output()\n public help = new EventEmitter<void>();\n\n @Output()\n public close = new EventEmitter<void>();\n\n @Input()\n public boundaryElement?: string;\n\n @Input()\n public scrollable = false;\n\n @Input()\n public dragDisabled = false;\n\n @ViewChild(CdkDrag, { static: false })\n private dragInstance?: CdkDrag;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n public platform: Platform\n )\n {\n super();\n }\n\n public ngAfterViewInit(): void\n {\n this.updateDragBoundary();\n }\n\n public ngOnChanges(changes: SimpleChanges): void\n {\n if (changes['boundaryElement'])\n {\n this.updateDragBoundary();\n }\n }\n\n public get isDragDisabled(): boolean\n {\n return this.dragDisabled || this.isMaximized;\n }\n\n private updateDragBoundary(): void\n {\n if (this.dragInstance && this.boundaryElement)\n {\n const boundary = document.querySelector(this.boundaryElement);\n if (boundary)\n {\n this.dragInstance.boundaryElement = boundary as HTMLElement;\n }\n }\n }\n\n public onMinimize(): void\n {\n this.minimize.emit();\n }\n\n public onMaximize(): void\n {\n if (this.isMaximized)\n {\n this.restore.emit();\n }\n else\n {\n this.maximize.emit();\n }\n }\n\n public onHelp(): void\n {\n this.help.emit();\n }\n\n public onClose(): void\n {\n this.close.emit();\n }\n}\n","<div\n [attr.autofocus]=\"autofocus || null\"\n [cdkDragDisabled]=\"isDragDisabled\"\n class=\"window\"\n cdkDrag\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\">\n <div\n cdkDragHandle\n class=\"title-bar\">\n <div class=\"title-bar-text\">{{ title }}</div>\n <div class=\"title-bar-controls\">\n <button\n *ngIf=\"showMinimize\"\n aria-label=\"Minimize\"\n (click)=\"onMinimize()\"></button>\n <button\n *ngIf=\"showMaximize\"\n [attr.aria-label]=\"isMaximized ? 'Restore' : 'Maximize'\"\n (click)=\"onMaximize()\"></button>\n <button\n *ngIf=\"showHelp\"\n aria-label=\"Help\"\n (click)=\"onHelp()\"></button>\n <button\n *ngIf=\"showClose\"\n aria-label=\"Close\"\n (click)=\"onClose()\"></button>\n </div>\n </div>\n <ng-container *ngIf=\"scrollable; else notScrollable\">\n <div\n cdkScrollable\n class=\"window-body scrollable\">\n <ng-content></ng-content>\n </div>\n </ng-container>\n <ng-template #notScrollable>\n <div class=\"window-body\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n <div class=\"status-bar\">\n <ng-content select=\"[slot='status']\"></ng-content>\n </div>\n</div>\n","/*\n * Public API Surface of ng-luna\n */\n\nexport * from './controls';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-luna",
3
- "version": "0.3.4",
3
+ "version": "0.4.2",
4
4
  "description": "An Angular component library inspired by Windows XP aesthetics, built with IBM Plex fonts",
5
5
  "author": {
6
6
  "name": "Adam R Moss",