mis-crystal-design-system 18.1.2-signal → 18.1.4-signal

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, inject, ElementRef, DestroyRef, Directive, input, contentChild, computed, effect, Component, NgModule } from '@angular/core';
2
+ import { signal, inject, ElementRef, DestroyRef, effect, Directive, input, computed, contentChild, Component, NgModule } from '@angular/core';
3
3
  import { NgControl, FormsModule } from '@angular/forms';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import * as i1 from '@angular/common';
@@ -7,26 +7,44 @@ import { CommonModule } from '@angular/common';
7
7
 
8
8
  class MisInputDirective {
9
9
  constructor() {
10
- // Public signal to expose directive state
10
+ // Public signals to expose directive state
11
11
  this.validity = signal(true);
12
+ this.value = signal('');
12
13
  // Dependencies injected for use with signals
13
14
  this.el = inject(ElementRef);
14
15
  this.control = inject(NgControl, { optional: true, self: true });
15
- this.destroyRef = inject(DestroyRef); // Provides a reference for automatic cleanup
16
+ this.destroyRef = inject(DestroyRef);
17
+ // Handle initial value synchronously
18
+ const element = this.el.nativeElement;
19
+ const initialValue = this.control?.control?.value ?? element.value ?? '';
20
+ this.value.set(initialValue);
21
+ // Then track changes
22
+ effect(() => {
23
+ const element = this.el.nativeElement;
24
+ const attrValue = element.value;
25
+ const controlValue = this.control?.control?.value;
26
+ if (controlValue !== undefined && controlValue !== null) {
27
+ this.value.set(controlValue);
28
+ }
29
+ else if (attrValue) {
30
+ this.value.set(attrValue);
31
+ }
32
+ }, { allowSignalWrites: true });
16
33
  if (this.control?.control) {
34
+ // Track status changes
17
35
  this.control.control.statusChanges
18
36
  .pipe(takeUntilDestroyed(this.destroyRef))
19
37
  .subscribe(() => {
20
38
  this.validity.set(!this.control.control.invalid);
21
39
  });
40
+ // Track value changes
41
+ this.control.control.valueChanges
42
+ .pipe(takeUntilDestroyed(this.destroyRef))
43
+ .subscribe(value => {
44
+ this.value.set(value ?? '');
45
+ });
22
46
  }
23
47
  }
24
- ngOnInit() {
25
- // No need for explicit subscription in ngOnInit with the constructor logic
26
- }
27
- ngOnDestroy() {
28
- // `takeUntilDestroyed` handles cleanup automatically.
29
- }
30
48
  static { this.ɵfac = function MisInputDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MisInputDirective)(); }; }
31
49
  static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: MisInputDirective, selectors: [["input", "misInput", ""]] }); }
32
50
  }
@@ -39,7 +57,7 @@ class MisInputDirective {
39
57
 
40
58
  const _c0 = [[["", "mis-input-icon", ""]], [["input"]], [["", "mis-input-act", ""]], [["", "mis-input-hint", ""]], [["", "mis-input-error", ""]]];
41
59
  const _c1 = ["[mis-input-icon]", "input", "[mis-input-act]", "[mis-input-hint]", "[mis-input-error]"];
42
- const _c2 = (a0, a1, a2, a3, a4) => ({ rounded: a0, floating: a1, "has-error": a2, "no-hint": a3, "mis-disabled": a4 });
60
+ const _c2 = (a0, a1, a2, a3, a4, a5) => ({ rounded: a0, floating: a1, "has-error": a2, "no-hint": a3, "mis-disabled": a4, "has-value": a5 });
43
61
  function MisInputComponent_span_7_Template(rf, ctx) { if (rf & 1) {
44
62
  i0.ɵɵelementStart(0, "span", 5);
45
63
  i0.ɵɵtext(1, "*");
@@ -54,6 +72,14 @@ class MisInputComponent {
54
72
  this.noHints = input(false);
55
73
  this.hasError = input(false);
56
74
  this.isMandatory = input(false);
75
+ // Computed signal to track if input has value
76
+ this.hasValue = computed(() => {
77
+ const formInput = this.formInput();
78
+ if (!formInput)
79
+ return false;
80
+ const value = formInput.value(); // Use the directive's value signal
81
+ return value !== null && value !== undefined && value !== '';
82
+ });
57
83
  // Content Child as a signal
58
84
  this.formInput = contentChild(MisInputDirective);
59
85
  // Use a computed signal to derive the input control from the content child.
@@ -67,22 +93,28 @@ class MisInputComponent {
67
93
  // This effect is now only for a side-effect (modifying a DOM element)
68
94
  // and no longer writes to signals.
69
95
  effect(() => {
70
- const input = this.formInput();
71
- if (input && this.type() === 'floating') {
72
- if (!this.placeholder() && input.el.nativeElement.placeholder) {
73
- input.el.nativeElement.placeholder = '';
96
+ const formInput = this.formInput();
97
+ const inputElement = formInput?.el.nativeElement;
98
+ const ngControl = formInput?.control;
99
+ // Handle null/undefined values
100
+ if (ngControl?.control) {
101
+ const value = ngControl.control.value;
102
+ if (value === null || value === undefined) {
103
+ ngControl.control.setValue('', { emitEvent: false });
74
104
  }
75
105
  }
106
+ // For floating labels, we must clear the native placeholder to prevent it from overlapping.
107
+ if (inputElement && this.type() === 'floating' && !this.placeholder() && inputElement.placeholder) {
108
+ inputElement.placeholder = '';
109
+ }
76
110
  });
77
111
  }
78
- ngOnInit() { }
79
- ngOnDestroy() { }
80
112
  static { this.ɵfac = function MisInputComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MisInputComponent)(); }; }
81
113
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MisInputComponent, selectors: [["mis-input"]], contentQueries: function MisInputComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
82
114
  i0.ɵɵcontentQuerySignal(dirIndex, ctx.formInput, MisInputDirective, 5);
83
115
  } if (rf & 2) {
84
116
  i0.ɵɵqueryAdvance();
85
- } }, inputs: { type: [1, "type"], size: [1, "size"], placeholder: [1, "placeholder"], noHints: [1, "noHints"], hasError: [1, "hasError"], isMandatory: [1, "isMandatory"] }, ngContentSelectors: _c1, decls: 11, vars: 11, consts: [[3, "ngClass"], [1, "input-wrapper"], [1, "mis-input"], [1, "mis-placeholder"], ["style", "color: red;", 4, "ngIf"], [2, "color", "red"]], template: function MisInputComponent_Template(rf, ctx) { if (rf & 1) {
117
+ } }, inputs: { type: [1, "type"], size: [1, "size"], placeholder: [1, "placeholder"], noHints: [1, "noHints"], hasError: [1, "hasError"], isMandatory: [1, "isMandatory"] }, ngContentSelectors: _c1, decls: 11, vars: 12, consts: [[3, "ngClass"], [1, "input-wrapper"], [1, "mis-input"], [1, "mis-placeholder"], ["style", "color: red;", 4, "ngIf"], [2, "color", "red"]], template: function MisInputComponent_Template(rf, ctx) { if (rf & 1) {
86
118
  i0.ɵɵprojectionDef(_c0);
87
119
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
88
120
  i0.ɵɵprojection(2);
@@ -101,16 +133,16 @@ class MisInputComponent {
101
133
  let tmp_1_0;
102
134
  let tmp_2_0;
103
135
  i0.ɵɵclassMap("input-container " + ctx.size());
104
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction5(5, _c2, ctx.type() === "rounded", ctx.type() === "floating", ctx.isInvalid(), ctx.noHints(), (tmp_1_0 = ctx.inputCtrl()) == null ? null : tmp_1_0.disabled));
136
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction6(5, _c2, ctx.type() === "rounded", ctx.type() === "floating", ctx.isInvalid(), ctx.noHints(), (tmp_1_0 = ctx.inputCtrl()) == null ? null : tmp_1_0.disabled, ctx.hasValue()));
105
137
  i0.ɵɵadvance(6);
106
138
  i0.ɵɵtextInterpolate(ctx.placeholder() || ((tmp_2_0 = ctx.formInput()) == null ? null : tmp_2_0.el.nativeElement.placeholder));
107
139
  i0.ɵɵadvance();
108
140
  i0.ɵɵproperty("ngIf", ctx.isMandatory());
109
- } }, dependencies: [i1.NgClass, i1.NgIf], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.input-container[_ngcontent-%COMP%]{position:relative;padding-bottom:24px}.input-container.mis-disabled[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{pointer-events:none!important}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all ease-in 60ms;background-color:var(--bg-primary, #FFFFFF);padding:3px 16px;gap:16px}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-input[_ngcontent-%COMP%]{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:var(--text-primary, #181F33);background-color:transparent;width:100%;vertical-align:middle}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{transition:all ease-in .1s;opacity:0;transform-origin:left center;color:transparent}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:var(--text-secondary, #6A737D);z-index:1;transition:all ease-in .15s;pointer-events:none}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{background-color:var(--bg-tertiary, #F5F5F5)}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{border:1px solid #0937B2}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] [mis-input-act][_ngcontent-%COMP%], .input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] [mis-input-icon][_ngcontent-%COMP%]{width:18px;height:18px;color:var(--text-secondary, #6A737D);font-size:24px;line-height:18px}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] [mis-input-act][_ngcontent-%COMP%]{cursor:pointer}.input-container.no-hint[_ngcontent-%COMP%]{padding-bottom:0}.input-container.rounded[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-sizing:initial}.input-container.rounded.sm[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:3px 16px}.input-container.rounded.md[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:9px 16px}.input-container.rounded.lg[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:15px 16px}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{border-radius:4px;border:1px solid var(--border-primary, #E0E0E0);padding:0}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:hover{background-color:var(--bg-tertiary, #F5F5F5)}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{border:1px solid var(--brand-primary, #0937B2)}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not(:placeholder-shown) + .mis-placeholder[_ngcontent-%COMP%]{color:transparent!important}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{margin-left:16px;transition-duration:50ms}.input-container.rounded.has-error[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{border:1px solid var(--brand-error, #B00020)!important}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{padding-top:24px;padding-bottom:7px;border-bottom:1px solid var(--border-primary, #E0E0E0)}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus + .mis-placeholder[_ngcontent-%COMP%]{color:var(--brand-primary, #0937B2)!important}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not(:placeholder-shown) + .mis-placeholder[_ngcontent-%COMP%], .input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus + .mis-placeholder[_ngcontent-%COMP%]{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{border:none;border-bottom:1px solid var(--brand-primary, #0937B2)}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within input[_ngcontent-%COMP%]::placeholder{color:var(--text-secondary, #6A737D);opacity:1;font-size:16px}.input-container.floating.has-error[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{border-bottom:1px solid var(--brand-error, #B00020)!important}.input-container.floating.has-error[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{color:var(--brand-error, #B00020)!important}.input-container[_ngcontent-%COMP%] [mis-input-hint][_ngcontent-%COMP%], .input-container[_ngcontent-%COMP%] [mis-input-error][_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:var(--text-secondary, #6A737D);letter-spacing:.2px}.input-container[_ngcontent-%COMP%] [mis-input-error][_ngcontent-%COMP%]{color:var(--brand-error, #B00020)}"] }); }
141
+ } }, dependencies: [i1.NgClass, i1.NgIf], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.input-container[_ngcontent-%COMP%]{position:relative;padding-bottom:24px}.input-container.mis-disabled[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{pointer-events:none!important}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all ease-in 60ms;background-color:var(--bg-primary, #FFFFFF);padding:3px 16px;gap:16px}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-input[_ngcontent-%COMP%]{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:var(--text-primary, #181F33);background-color:transparent;width:100%;vertical-align:middle;position:relative}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{transition:all ease-in .1s;opacity:0;transform-origin:left center;color:transparent}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:var(--text-secondary, #6A737D);transition:all ease-in .15s;pointer-events:none}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{background-color:var(--bg-tertiary, #F5F5F5)}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{border:1px solid #0937B2}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] [mis-input-act][_ngcontent-%COMP%], .input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] [mis-input-icon][_ngcontent-%COMP%]{width:18px;height:18px;color:var(--text-secondary, #6A737D);font-size:24px;line-height:18px}.input-container[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] [mis-input-act][_ngcontent-%COMP%]{cursor:pointer}.input-container.no-hint[_ngcontent-%COMP%]{padding-bottom:0}.input-container.has-value[_ngcontent-%COMP%] .mis-input[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{color:transparent!important}.input-container.rounded[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-sizing:initial}.input-container.rounded.sm[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:3px 16px}.input-container.rounded.md[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:9px 16px}.input-container.rounded.lg[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:15px 16px}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{border-radius:4px;border:1px solid var(--border-primary, #E0E0E0);padding:0}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:hover{background-color:var(--bg-tertiary, #F5F5F5)}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{border:1px solid var(--brand-primary, #0937B2)}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{color:var(--text-secondary, #6A737D)}.input-container.rounded[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{margin-left:16px;transition-duration:50ms}.input-container.rounded.has-error[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{border:1px solid var(--brand-error, #B00020)!important}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{padding-top:24px;padding-bottom:7px;border-bottom:1px solid var(--border-primary, #E0E0E0)}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus + .mis-placeholder[_ngcontent-%COMP%]{color:var(--brand-primary, #0937B2)!important}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not(:placeholder-shown) + .mis-placeholder[_ngcontent-%COMP%], .input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus + .mis-placeholder[_ngcontent-%COMP%]{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within{border:none;border-bottom:1px solid var(--brand-primary, #0937B2)}.input-container.floating[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]:focus-within input[_ngcontent-%COMP%]::placeholder{color:var(--text-secondary, #6A737D);opacity:1;font-size:16px}.input-container.floating.has-error[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%]{border-bottom:1px solid var(--brand-error, #B00020)!important}.input-container.floating.has-error[_ngcontent-%COMP%] .input-wrapper[_ngcontent-%COMP%] .mis-placeholder[_ngcontent-%COMP%]{color:var(--brand-error, #B00020)!important}.input-container[_ngcontent-%COMP%] [mis-input-hint][_ngcontent-%COMP%], .input-container[_ngcontent-%COMP%] [mis-input-error][_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:var(--text-secondary, #6A737D);letter-spacing:.2px}.input-container[_ngcontent-%COMP%] [mis-input-error][_ngcontent-%COMP%]{color:var(--brand-error, #B00020)}"] }); }
110
142
  }
111
143
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MisInputComponent, [{
112
144
  type: Component,
113
- args: [{ selector: "mis-input", template: "<div\n [class]=\"'input-container ' + size()\"\n [ngClass]=\"{\n rounded: type() === 'rounded',\n floating: type() === 'floating',\n 'has-error': isInvalid(),\n 'no-hint': noHints(),\n 'mis-disabled': inputCtrl()?.disabled\n }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder() || formInput()?.el.nativeElement.placeholder }}<span *ngIf=\"isMandatory()\" style=\"color: red;\">*</span></span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.input-container{position:relative;padding-bottom:24px}.input-container.mis-disabled .input-wrapper{pointer-events:none!important}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all ease-in 60ms;background-color:var(--bg-primary, #FFFFFF);padding:3px 16px;gap:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:var(--text-primary, #181F33);background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::placeholder{transition:all ease-in .1s;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:var(--text-secondary, #6A737D);z-index:1;transition:all ease-in .15s;pointer-events:none}.input-container .input-wrapper:focus-within{background-color:var(--bg-tertiary, #F5F5F5)}.input-container .input-wrapper:focus-within{border:1px solid #0937B2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:var(--text-secondary, #6A737D);font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded input{box-sizing:initial}.input-container.rounded.sm input{padding:3px 16px}.input-container.rounded.md input{padding:9px 16px}.input-container.rounded.lg input{padding:15px 16px}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid var(--border-primary, #E0E0E0);padding:0}.input-container.rounded .input-wrapper:hover{background-color:var(--bg-tertiary, #F5F5F5)}.input-container.rounded .input-wrapper:focus-within{border:1px solid var(--brand-primary, #0937B2)}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{margin-left:16px;transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid var(--brand-error, #B00020)!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid var(--border-primary, #E0E0E0)}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:var(--brand-primary, #0937B2)!important}.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder,.input-container.floating .input-wrapper input:focus+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid var(--brand-primary, #0937B2)}.input-container.floating .input-wrapper:focus-within input::placeholder{color:var(--text-secondary, #6A737D);opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid var(--brand-error, #B00020)!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:var(--brand-error, #B00020)!important}.input-container [mis-input-hint],.input-container [mis-input-error]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:var(--text-secondary, #6A737D);letter-spacing:.2px}.input-container [mis-input-error]{color:var(--brand-error, #B00020)}\n"] }]
145
+ args: [{ selector: "mis-input", template: "<div\n [class]=\"'input-container ' + size()\"\n [ngClass]=\"{\n rounded: type() === 'rounded',\n floating: type() === 'floating',\n 'has-error': isInvalid(),\n 'no-hint': noHints(),\n 'mis-disabled': inputCtrl()?.disabled,\n 'has-value': hasValue()\n }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder() || formInput()?.el.nativeElement.placeholder }}<span *ngIf=\"isMandatory()\" style=\"color: red;\">*</span></span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.input-container{position:relative;padding-bottom:24px}.input-container.mis-disabled .input-wrapper{pointer-events:none!important}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all ease-in 60ms;background-color:var(--bg-primary, #FFFFFF);padding:3px 16px;gap:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:var(--text-primary, #181F33);background-color:transparent;width:100%;vertical-align:middle;position:relative}.input-container .input-wrapper input::placeholder{transition:all ease-in .1s;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:var(--text-secondary, #6A737D);transition:all ease-in .15s;pointer-events:none}.input-container .input-wrapper:focus-within{background-color:var(--bg-tertiary, #F5F5F5)}.input-container .input-wrapper:focus-within{border:1px solid #0937B2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:var(--text-secondary, #6A737D);font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.has-value .mis-input .mis-placeholder{color:transparent!important}.input-container.rounded input{box-sizing:initial}.input-container.rounded.sm input{padding:3px 16px}.input-container.rounded.md input{padding:9px 16px}.input-container.rounded.lg input{padding:15px 16px}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid var(--border-primary, #E0E0E0);padding:0}.input-container.rounded .input-wrapper:hover{background-color:var(--bg-tertiary, #F5F5F5)}.input-container.rounded .input-wrapper:focus-within{border:1px solid var(--brand-primary, #0937B2)}.input-container.rounded .input-wrapper .mis-placeholder{color:var(--text-secondary, #6A737D)}.input-container.rounded .input-wrapper .mis-placeholder{margin-left:16px;transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid var(--brand-error, #B00020)!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid var(--border-primary, #E0E0E0)}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:var(--brand-primary, #0937B2)!important}.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder,.input-container.floating .input-wrapper input:focus+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid var(--brand-primary, #0937B2)}.input-container.floating .input-wrapper:focus-within input::placeholder{color:var(--text-secondary, #6A737D);opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid var(--brand-error, #B00020)!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:var(--brand-error, #B00020)!important}.input-container [mis-input-hint],.input-container [mis-input-error]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:var(--text-secondary, #6A737D);letter-spacing:.2px}.input-container [mis-input-error]{color:var(--brand-error, #B00020)}\n"] }]
114
146
  }], () => [], null); })();
115
147
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MisInputComponent, { className: "MisInputComponent" }); })();
116
148
 
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-input.mjs","sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.html","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts","../../../projects/mis-components/input/mis-crystal-design-system-input.ts"],"sourcesContent":["import { Directive, ElementRef, OnInit, Optional, Self, signal, effect, OnDestroy, inject, DestroyRef } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\n\n@Directive({\n selector: \"input[misInput]\"\n})\nexport class MisInputDirective implements OnInit, OnDestroy {\n // Public signal to expose directive state\n public validity = signal<boolean>(true);\n \n // Dependencies injected for use with signals\n public el = inject(ElementRef);\n public control = inject(NgControl, { optional: true, self: true });\n private destroyRef = inject(DestroyRef); // Provides a reference for automatic cleanup\n\n constructor() {\n if (this.control?.control) {\n this.control.control.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.validity.set(!this.control!.control!.invalid);\n });\n }\n }\n\n ngOnInit(): void {\n // No need for explicit subscription in ngOnInit with the constructor logic\n }\n \n ngOnDestroy(): void {\n // `takeUntilDestroyed` handles cleanup automatically.\n }\n}\n\n\n","<div\n [class]=\"'input-container ' + size()\"\n [ngClass]=\"{\n rounded: type() === 'rounded',\n floating: type() === 'floating',\n 'has-error': isInvalid(),\n 'no-hint': noHints(),\n 'mis-disabled': inputCtrl()?.disabled\n }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder() || formInput()?.el.nativeElement.placeholder }}<span *ngIf=\"isMandatory()\" style=\"color: red;\">*</span></span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n\n","import { Component, OnInit, OnDestroy, ViewEncapsulation, computed, contentChild, input, effect, signal } from \"@angular/core\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\n\n@Component({\n selector: \"mis-input\",\n templateUrl: \"./mis-input.component.html\",\n styleUrls: [\"./mis-input.component.scss\"],\n})\nexport class MisInputComponent implements OnInit, OnDestroy {\n // Signal Inputs replacing @Input()\n public type = input<\"rounded\" | \"floating\">(\"floating\");\n public size = input<\"sm\" | \"md\" | \"lg\">(\"sm\");\n public placeholder = input<string | undefined>(undefined);\n public noHints = input<boolean>(false);\n public hasError = input<boolean>(false);\n public isMandatory = input<boolean>(false);\n\n // Content Child as a signal\n public formInput = contentChild(MisInputDirective);\n\n // Use a computed signal to derive the input control from the content child.\n // This will automatically update when the content child becomes available.\n public inputCtrl = computed(() => this.formInput()?.control?.control || null);\n\n // Use a computed signal to derive the validity state.\n // It reads the signal from the directive and updates whenever the directive's signal changes.\n public inputValidity = computed(() => this.formInput()?.validity() ?? true);\n\n constructor() {\n // This effect is now only for a side-effect (modifying a DOM element)\n // and no longer writes to signals.\n effect(() => {\n const input = this.formInput();\n if (input && this.type() === 'floating') {\n if (!this.placeholder() && input.el.nativeElement.placeholder) {\n input.el.nativeElement.placeholder = '';\n }\n }\n });\n }\n\n ngOnInit(): void {}\n ngOnDestroy(): void {}\n\n // Computed signal to determine the overall invalid state\n public isInvalid = computed(() => !this.inputValidity() || this.hasError());\n}\n\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\nimport { MisInputComponent } from \"./mis-input.component\";\n\n@NgModule({\n declarations: [MisInputComponent, MisInputDirective],\n imports: [CommonModule, FormsModule],\n exports: [MisInputComponent, MisInputDirective]\n})\nexport class MisInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-input.mjs","sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.html","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts","../../../projects/mis-components/input/mis-crystal-design-system-input.ts"],"sourcesContent":["import { Directive, ElementRef, OnInit, Optional, Self, signal, effect, OnDestroy, inject, DestroyRef } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\n\n@Directive({\n selector: \"input[misInput]\"\n})\nexport class MisInputDirective{\n // Public signals to expose directive state\n public validity = signal<boolean>(true);\n public value = signal<any>('');\n \n // Dependencies injected for use with signals\n public el = inject(ElementRef);\n public control = inject(NgControl, { optional: true, self: true });\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n // Handle initial value synchronously\n const element = this.el.nativeElement;\n const initialValue = this.control?.control?.value ?? element.value ?? '';\n this.value.set(initialValue);\n\n // Then track changes\n effect(() => {\n const element = this.el.nativeElement;\n const attrValue = element.value;\n const controlValue = this.control?.control?.value;\n \n if (controlValue !== undefined && controlValue !== null) {\n this.value.set(controlValue);\n } else if (attrValue) {\n this.value.set(attrValue);\n }\n }, { allowSignalWrites: true });\n\n if (this.control?.control) {\n // Track status changes\n this.control.control.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.validity.set(!this.control!.control!.invalid);\n });\n\n // Track value changes\n this.control.control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(value => {\n this.value.set(value ?? '');\n });\n }\n }\n}\n\n\n","<div\n [class]=\"'input-container ' + size()\"\n [ngClass]=\"{\n rounded: type() === 'rounded',\n floating: type() === 'floating',\n 'has-error': isInvalid(),\n 'no-hint': noHints(),\n 'mis-disabled': inputCtrl()?.disabled,\n 'has-value': hasValue()\n }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder() || formInput()?.el.nativeElement.placeholder }}<span *ngIf=\"isMandatory()\" style=\"color: red;\">*</span></span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n\n","import { Component, OnInit, OnDestroy, ViewEncapsulation, computed, contentChild, input, effect, signal, inject, DestroyRef } from \"@angular/core\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\n\n@Component({\n selector: \"mis-input\",\n templateUrl: \"./mis-input.component.html\",\n styleUrls: [\"./mis-input.component.scss\"],\n})\nexport class MisInputComponent{\n // Signal Inputs replacing @Input()\n public type = input<\"rounded\" | \"floating\">(\"floating\");\n public size = input<\"sm\" | \"md\" | \"lg\">(\"sm\");\n public placeholder = input<string | undefined>(undefined);\n public noHints = input<boolean>(false);\n public hasError = input<boolean>(false);\n public isMandatory = input<boolean>(false);\n\n // Computed signal to track if input has value\n public hasValue = computed(() => {\n const formInput = this.formInput();\n if (!formInput) return false;\n \n const value = formInput.value(); // Use the directive's value signal\n return value !== null && value !== undefined && value !== '';\n });\n\n // Content Child as a signal\n public formInput = contentChild(MisInputDirective);\n\n // Use a computed signal to derive the input control from the content child.\n // This will automatically update when the content child becomes available.\n public inputCtrl = computed(() => this.formInput()?.control?.control || null);\n\n // Use a computed signal to derive the validity state.\n // It reads the signal from the directive and updates whenever the directive's signal changes.\n public inputValidity = computed(() => this.formInput()?.validity() ?? true);\n\n constructor() {\n // This effect is now only for a side-effect (modifying a DOM element)\n // and no longer writes to signals.\n effect(() => {\n const formInput = this.formInput();\n const inputElement = formInput?.el.nativeElement;\n const ngControl = formInput?.control;\n\n // Handle null/undefined values\n if (ngControl?.control) {\n const value = ngControl.control.value;\n if (value === null || value === undefined) {\n ngControl.control.setValue('', { emitEvent: false });\n }\n }\n\n // For floating labels, we must clear the native placeholder to prevent it from overlapping.\n if (inputElement && this.type() === 'floating' && !this.placeholder() && inputElement.placeholder) {\n inputElement.placeholder = '';\n }\n });\n }\n\n // Computed signal to determine the overall invalid state\n public isInvalid = computed(() => !this.inputValidity() || this.hasError());\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\nimport { MisInputComponent } from \"./mis-input.component\";\n\n@NgModule({\n declarations: [MisInputComponent, MisInputDirective],\n imports: [CommonModule, FormsModule],\n exports: [MisInputComponent, MisInputDirective]\n})\nexport class MisInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -332,7 +332,7 @@ class TzDrpContainerComponent {
332
332
  this.openElement.set(true);
333
333
  this.singleDateSelectedValue.set(this.data().dates[0]?.selectedDate || '');
334
334
  }
335
- });
335
+ }, { allowSignalWrites: true });
336
336
  if (this.data()?.dpConfig?.timezone) {
337
337
  this.dayjsInstance = computed(() => (...args) => dayjs(...args).tz(this.data().dpConfig.timezone));
338
338
  }