@neural-ui/core 1.5.7 → 1.5.8

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,6 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, output, signal, computed, forwardRef, HostListener, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
2
+ import { inject, input, output, signal, computed, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { DOCUMENT } from '@angular/common';
4
+ import * as i1 from '@angular/cdk/overlay';
5
+ import { Overlay, OverlayModule } from '@angular/cdk/overlay';
4
6
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
7
 
6
8
  // ── Private helpers ──────────────────────────────────────────────────────────
@@ -25,8 +27,8 @@ function cloneDate(d) {
25
27
  * <neu-date-input type="range" [formControl]="rangeCtrl" />
26
28
  */
27
29
  class NeuDateInputComponent {
28
- el = inject(ElementRef);
29
30
  doc = inject(DOCUMENT);
31
+ overlay = inject(Overlay);
30
32
  _langObserver;
31
33
  /** Tipo del campo / Field type */
32
34
  type = input('date', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
@@ -69,6 +71,68 @@ class NeuDateInputComponent {
69
71
  // ── Estado interno / Internal state ──────────────────────────────
70
72
  _id = `neu-date-input-${++_neuDateInputIdSeq}`;
71
73
  isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
74
+ _viewportMargin = 16;
75
+ singleOverlayPositions = [
76
+ {
77
+ originX: 'start',
78
+ originY: 'bottom',
79
+ overlayX: 'start',
80
+ overlayY: 'top',
81
+ offsetY: 6,
82
+ },
83
+ {
84
+ originX: 'start',
85
+ originY: 'top',
86
+ overlayX: 'start',
87
+ overlayY: 'bottom',
88
+ offsetY: -6,
89
+ },
90
+ {
91
+ originX: 'end',
92
+ originY: 'bottom',
93
+ overlayX: 'end',
94
+ overlayY: 'top',
95
+ offsetY: 6,
96
+ },
97
+ {
98
+ originX: 'end',
99
+ originY: 'top',
100
+ overlayX: 'end',
101
+ overlayY: 'bottom',
102
+ offsetY: -6,
103
+ },
104
+ ];
105
+ rangeOverlayPositions = [
106
+ {
107
+ originX: 'start',
108
+ originY: 'bottom',
109
+ overlayX: 'start',
110
+ overlayY: 'top',
111
+ offsetY: 6,
112
+ },
113
+ {
114
+ originX: 'end',
115
+ originY: 'bottom',
116
+ overlayX: 'end',
117
+ overlayY: 'top',
118
+ offsetY: 6,
119
+ },
120
+ {
121
+ originX: 'start',
122
+ originY: 'top',
123
+ overlayX: 'start',
124
+ overlayY: 'bottom',
125
+ offsetY: -6,
126
+ },
127
+ {
128
+ originX: 'end',
129
+ originY: 'top',
130
+ overlayX: 'end',
131
+ overlayY: 'bottom',
132
+ offsetY: -6,
133
+ },
134
+ ];
135
+ overlayScrollStrategy = this.overlay.scrollStrategies.reposition();
72
136
  _isRange = computed(() => this.type() === 'range', ...(ngDevMode ? [{ debugName: "_isRange" }] : /* istanbul ignore next */ []));
73
137
  _cvaDisabled = signal(false, ...(ngDevMode ? [{ debugName: "_cvaDisabled" }] : /* istanbul ignore next */ []));
74
138
  isDisabledFinal = computed(() => this.disabled() || this._cvaDisabled(), ...(ngDevMode ? [{ debugName: "isDisabledFinal" }] : /* istanbul ignore next */ []));
@@ -372,8 +436,11 @@ class NeuDateInputComponent {
372
436
  this.isOpen.set(false);
373
437
  }
374
438
  onDocumentClick(event) {
375
- if (!this.el.nativeElement.contains(event.target))
439
+ const target = event.target;
440
+ const isInsidePanel = !!target?.closest('.neu-date-input__panel, .neu-drp__panel');
441
+ if (!isInsidePanel) {
376
442
  this.close();
443
+ }
377
444
  }
378
445
  prevMonth() {
379
446
  if (this._viewMonth() === 0) {
@@ -544,7 +611,7 @@ class NeuDateInputComponent {
544
611
  });
545
612
  }
546
613
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: NeuDateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
547
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: NeuDateInputComponent, isStandalone: true, selector: "neu-date-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, floatingLabel: { classPropertyName: "floatingLabel", publicName: "floatingLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rangeChange: "rangeChange" }, host: { listeners: { "keydown.escape": "close()", "document:click": "onDocumentClick($event)" }, properties: { "class.neu-date-input-host--sm": "size() === \"sm\"", "class.neu-date-input-host--lg": "size() === \"lg\"", "class.neu-drp": "_isRange()", "class.neu-drp--open": "_isRange() && isOpen()", "class.neu-drp--disabled": "_isRange() && isDisabledFinal()" }, classAttribute: "neu-date-input-host" }, providers: [
614
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: NeuDateInputComponent, isStandalone: true, selector: "neu-date-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, floatingLabel: { classPropertyName: "floatingLabel", publicName: "floatingLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rangeChange: "rangeChange" }, host: { listeners: { "keydown.escape": "close()" }, properties: { "class.neu-date-input-host--sm": "size() === \"sm\"", "class.neu-date-input-host--lg": "size() === \"lg\"", "class.neu-drp": "_isRange()", "class.neu-drp--open": "_isRange() && isOpen()", "class.neu-drp--disabled": "_isRange() && isDisabledFinal()" }, classAttribute: "neu-date-input-host" }, providers: [
548
615
  {
549
616
  provide: NG_VALUE_ACCESSOR,
550
617
  useExisting: forwardRef(() => NeuDateInputComponent),
@@ -556,6 +623,8 @@ class NeuDateInputComponent {
556
623
  <label class="neu-drp__label" [for]="_id">{{ label() }}</label>
557
624
  }
558
625
  <button
626
+ cdkOverlayOrigin
627
+ #rangeOrigin="cdkOverlayOrigin"
559
628
  type="button"
560
629
  [id]="_id"
561
630
  class="neu-drp__trigger"
@@ -583,7 +652,19 @@ class NeuDateInputComponent {
583
652
  {{ _hasRange() ? _rangeDisplayValue() : _rangePlaceholderText() }}
584
653
  </span>
585
654
  </button>
586
- @if (isOpen()) {
655
+ <ng-template
656
+ cdkConnectedOverlay
657
+ [cdkConnectedOverlayOrigin]="rangeOrigin"
658
+ [cdkConnectedOverlayOpen]="isOpen()"
659
+ [cdkConnectedOverlayPositions]="rangeOverlayPositions"
660
+ [cdkConnectedOverlayScrollStrategy]="overlayScrollStrategy"
661
+ [cdkConnectedOverlayHasBackdrop]="true"
662
+ [cdkConnectedOverlayBackdropClass]="'cdk-overlay-transparent-backdrop'"
663
+ [cdkConnectedOverlayPush]="true"
664
+ [cdkConnectedOverlayViewportMargin]="_viewportMargin"
665
+ (backdropClick)="close()"
666
+ (detach)="close()"
667
+ >
587
668
  <div
588
669
  class="neu-drp__panel"
589
670
  role="dialog"
@@ -675,7 +756,7 @@ class NeuDateInputComponent {
675
756
  </button>
676
757
  </div>
677
758
  </div>
678
- }
759
+ </ng-template>
679
760
  } @else {
680
761
  @if (!floatingLabel() && label()) {
681
762
  <label class="neu-date-input__label" [for]="_id">{{ label() }}</label>
@@ -689,6 +770,8 @@ class NeuDateInputComponent {
689
770
  [class.neu-date-input--float]="floatingLabel()"
690
771
  >
691
772
  <button
773
+ cdkOverlayOrigin
774
+ #singleOrigin="cdkOverlayOrigin"
692
775
  class="neu-date-input__trigger"
693
776
  type="button"
694
777
  [id]="_id"
@@ -736,7 +819,19 @@ class NeuDateInputComponent {
736
819
  @if (floatingLabel() && label()) {
737
820
  <label class="neu-date-input__float-label" [for]="_id">{{ label() }}</label>
738
821
  }
739
- @if (isOpen()) {
822
+ <ng-template
823
+ cdkConnectedOverlay
824
+ [cdkConnectedOverlayOrigin]="singleOrigin"
825
+ [cdkConnectedOverlayOpen]="isOpen()"
826
+ [cdkConnectedOverlayPositions]="singleOverlayPositions"
827
+ [cdkConnectedOverlayScrollStrategy]="overlayScrollStrategy"
828
+ [cdkConnectedOverlayHasBackdrop]="true"
829
+ [cdkConnectedOverlayBackdropClass]="'cdk-overlay-transparent-backdrop'"
830
+ [cdkConnectedOverlayPush]="true"
831
+ [cdkConnectedOverlayViewportMargin]="_viewportMargin"
832
+ (backdropClick)="close()"
833
+ (detach)="close()"
834
+ >
740
835
  <div
741
836
  class="neu-date-input__panel"
742
837
  [class.neu-date-input__panel--time-only]="type() === 'time'"
@@ -923,7 +1018,7 @@ class NeuDateInputComponent {
923
1018
  </div>
924
1019
  }
925
1020
  </div>
926
- }
1021
+ </ng-template>
927
1022
  </div>
928
1023
  @if (hasError()) {
929
1024
  <p class="neu-date-input__error" role="alert">{{ errorMessage() }}</p>
@@ -931,11 +1026,11 @@ class NeuDateInputComponent {
931
1026
  <p class="neu-date-input__hint">{{ hint() }}</p>
932
1027
  }
933
1028
  }
934
- `, isInline: true, styles: [".neu-date-input-host{display:block;font-family:var(--neu-font-sans)}.neu-date-input-host--sm .neu-date-input__trigger{min-height:36px;font-size:var(--neu-text-sm)}.neu-date-input-host--lg .neu-date-input__trigger{min-height:56px}.neu-date-input__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-date-input--float{position:relative}.neu-date-input--float .neu-date-input__float-label{position:absolute;pointer-events:none;left:calc(var(--neu-space-3) + 32px);top:50%;transform:translateY(-50%);font-size:var(--neu-text-base);color:var(--neu-text-muted);background:transparent;padding:0;z-index:1;white-space:nowrap;transition:top var(--neu-transition),font-size var(--neu-transition),color var(--neu-transition),transform var(--neu-transition),padding var(--neu-transition),background var(--neu-transition)}.neu-date-input--float.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--has-value .neu-date-input__float-label{top:0;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--neu-primary);background:var(--neu-surface);padding:0 4px;left:calc(var(--neu-space-3) - 4px)}.neu-date-input--float.neu-date-input--disabled .neu-date-input__float-label{background:var(--neu-surface-2)}.neu-date-input--float.neu-date-input--error .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--has-value .neu-date-input__float-label{color:var(--neu-error)}.neu-date-input{position:relative;font-family:var(--neu-font-sans)}.neu-date-input__trigger{display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);cursor:pointer;text-align:left;font-family:var(--neu-font-sans);font-size:var(--neu-text-base);color:var(--neu-text);transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-date-input__trigger:hover:not(:disabled){border-color:var(--neu-border-hover, var(--neu-border))}.neu-date-input__trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-date-input--open .neu-date-input__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-date-input--error .neu-date-input__trigger{border-color:var(--neu-error)}.neu-date-input__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-date-input__icon svg{width:18px;height:18px}.neu-date-input__display{flex:1;color:var(--neu-text);white-space:nowrap}.neu-date-input__display--placeholder{color:var(--neu-text-disabled)}.neu-date-input__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);box-shadow:var(--neu-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:neu-datepicker-in .12s ease}.neu-date-input__panel--time-only{flex-direction:row}@media(max-width:600px){.neu-date-input__panel{left:auto;right:0;width:min(280px,100vw - 2rem);max-width:calc(100vw - 2rem)}}@keyframes neu-datepicker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.neu-date-input__calendar{padding:var(--neu-space-3);width:280px;flex-shrink:0}.neu-date-input__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-2)}.neu-date-input__cal-title{font-size:var(--neu-text-sm);font-weight:600;color:var(--neu-text);text-transform:capitalize}.neu-date-input__cal-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-arrow svg{width:15px;height:15px}.neu-date-input__cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.neu-date-input__cal-weekdays span{font-size:11px;font-weight:600;color:var(--neu-text-muted);padding:4px 0;text-transform:uppercase}.neu-date-input__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-date-input__cal-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);font-family:var(--neu-font-sans);font-size:var(--neu-text-sm);color:var(--neu-text);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-day:hover:not(.neu-date-input__cal-day--other):not(.neu-date-input__cal-day--selected){background:var(--neu-surface-2)}.neu-date-input__cal-day--other{color:var(--neu-text-disabled);pointer-events:none;cursor:default}.neu-date-input__cal-day--today{color:var(--neu-primary);font-weight:700}.neu-date-input__cal-day--selected{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)))!important;color:var(--neu-primary-solid-fg, var(--neu-primary-fg))!important;font-weight:600}.neu-date-input__cal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--neu-space-2);padding-top:var(--neu-space-2);border-top:1px solid var(--neu-border)}.neu-date-input__cal-footer-btn{background:none;border:none;padding:4px 8px;font-family:var(--neu-font-sans);font-size:var(--neu-text-xs);color:var(--neu-text-muted);cursor:pointer;border-radius:var(--neu-radius-sm);transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-footer-btn:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-footer-btn--today{color:var(--neu-primary);font-weight:500}.neu-date-input__cal-footer-btn--today:hover{color:var(--neu-primary)}.neu-date-input__sep{height:1px;width:100%;background:var(--neu-border);flex-shrink:0}.neu-date-input__time{display:flex;align-items:center;justify-content:center;gap:var(--neu-space-1);padding:var(--neu-space-3) var(--neu-space-4);flex-shrink:0}.neu-date-input__time-colon{font-size:20px;font-weight:700;color:var(--neu-text);line-height:1;margin-bottom:4px;-webkit-user-select:none;user-select:none}.neu-date-input__drum{display:flex;flex-direction:column;align-items:center;gap:4px}.neu-date-input__drum-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:24px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__drum-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__drum-arrow svg{width:14px;height:14px}.neu-date-input__drum-track{position:relative;display:flex;flex-direction:column;align-items:center}.neu-date-input__drum-track:before{content:\"\";position:absolute;top:36px;left:-6px;right:-6px;height:36px;background:var(--neu-primary-soft, rgba(0, 122, 255, .1));border-radius:var(--neu-radius-sm);pointer-events:none}.neu-date-input__drum-item{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:36px;font-family:var(--neu-font-sans);font-weight:500;-webkit-user-select:none;user-select:none;border-radius:var(--neu-radius-sm);transition:opacity var(--neu-transition)}.neu-date-input__drum-item--adjacent{font-size:13px;color:var(--neu-text-muted);opacity:.45;cursor:pointer}.neu-date-input__drum-item--adjacent:hover{opacity:.75}.neu-date-input__drum-item--selected{font-size:22px;font-weight:700;color:var(--neu-primary);cursor:default}.neu-date-input__error{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-error-text, var(--neu-error));font-family:var(--neu-font-sans)}.neu-date-input__hint{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-text-muted);font-family:var(--neu-font-sans)}.neu-drp{position:relative;display:block;font-family:var(--neu-font-sans)}.neu-drp--disabled{opacity:.55;pointer-events:none}.neu-drp__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-drp__trigger{all:unset;display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);background:var(--neu-surface);color:var(--neu-text);font-size:var(--neu-text-base);font-family:var(--neu-font-sans);cursor:pointer;box-sizing:border-box;transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-drp__trigger:hover:not([disabled]){border-color:var(--neu-border-hover, var(--neu-border))}.neu-drp__trigger:focus-visible{outline:none;border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__trigger[disabled]{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-drp--open .neu-drp__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-drp__icon svg{width:18px;height:18px}.neu-drp__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neu-drp__value--placeholder{color:var(--neu-text-disabled)}.neu-drp__panel{position:absolute;top:calc(100% + 6px);left:0;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius-lg);box-shadow:var(--neu-shadow-lg);padding:var(--neu-space-4);z-index:1000;animation:neu-drp-in .1s ease;min-width:560px}@keyframes neu-drp-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.neu-drp__calendars{display:flex;gap:var(--neu-space-6)}.neu-drp__cal{flex:1}.neu-drp__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-3)}.neu-drp__cal-nav button{all:unset;padding:4px 8px;border-radius:var(--neu-radius);cursor:pointer;font-size:1.1rem;color:var(--neu-text-muted)}.neu-drp__cal-nav button:hover{background:var(--neu-surface-2)}.neu-drp__cal-title{font-size:var(--neu-text-sm);font-weight:600;text-transform:capitalize;color:var(--neu-text)}.neu-drp__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-drp__day-label{text-align:center;font-size:.7rem;font-weight:600;color:var(--neu-text-muted);padding:4px 0}.neu-drp__cell{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:var(--neu-text-sm);cursor:pointer;transition:background var(--neu-transition);box-sizing:border-box;margin:1px auto}.neu-drp__cell:hover{background:var(--neu-surface-2)}.neu-drp__cell--other-month{opacity:.35}.neu-drp__cell--today{font-weight:700;border:1.5px solid var(--neu-primary)}.neu-drp__cell--selected,.neu-drp__cell--range-start,.neu-drp__cell--range-end{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));border-radius:50%}.neu-drp__cell--in-range{background:var(--neu-primary-soft, rgba(14, 165, 233, .15));border-radius:0}.neu-drp__footer{display:flex;justify-content:flex-end;gap:var(--neu-space-2);padding-top:var(--neu-space-3);border-top:1px solid var(--neu-border);margin-top:var(--neu-space-3)}.neu-drp__clear{all:unset;padding:7px 14px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);color:var(--neu-text-muted);cursor:pointer;background:var(--neu-surface-2)}.neu-drp__clear:hover{background:var(--neu-surface-3, var(--neu-surface-2));color:var(--neu-text)}.neu-drp__apply{all:unset;padding:7px 18px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);font-weight:500;background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));cursor:pointer}.neu-drp__apply:hover:not([disabled]){filter:brightness(1.08)}.neu-drp__apply[disabled]{opacity:.4;cursor:not-allowed}.neu-drp__apply:focus-visible{outline:2px solid var(--neu-primary);outline-offset:2px}@media(max-width:600px){.neu-drp__panel{left:0;right:auto;min-width:0;width:min(100%,360px,100vw - 2rem);max-width:calc(100vw - 2rem);padding:var(--neu-space-2)}.neu-drp__calendars{flex-direction:column;gap:var(--neu-space-4)}.neu-drp__cal{width:100%;max-width:320px;margin-inline:auto}.neu-drp__footer{flex-wrap:wrap}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1029
+ `, isInline: true, styles: [".neu-date-input-host{display:block;font-family:var(--neu-font-sans)}.neu-date-input-host--sm .neu-date-input__trigger{min-height:36px;font-size:var(--neu-text-sm)}.neu-date-input-host--lg .neu-date-input__trigger{min-height:56px}.neu-date-input__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-date-input--float{position:relative}.neu-date-input--float .neu-date-input__float-label{position:absolute;pointer-events:none;left:calc(var(--neu-space-3) + 32px);top:50%;transform:translateY(-50%);font-size:var(--neu-text-base);color:var(--neu-text-muted);background:transparent;padding:0;z-index:1;white-space:nowrap;transition:top var(--neu-transition),font-size var(--neu-transition),color var(--neu-transition),transform var(--neu-transition),padding var(--neu-transition),background var(--neu-transition)}.neu-date-input--float.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--has-value .neu-date-input__float-label{top:0;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--neu-primary);background:var(--neu-surface);padding:0 4px;left:calc(var(--neu-space-3) - 4px)}.neu-date-input--float.neu-date-input--disabled .neu-date-input__float-label{background:var(--neu-surface-2)}.neu-date-input--float.neu-date-input--error .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--has-value .neu-date-input__float-label{color:var(--neu-error)}.neu-date-input{position:relative;font-family:var(--neu-font-sans)}.neu-date-input__trigger{display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);cursor:pointer;text-align:left;font-family:var(--neu-font-sans);font-size:var(--neu-text-base);color:var(--neu-text);transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-date-input__trigger:hover:not(:disabled){border-color:var(--neu-border-hover, var(--neu-border))}.neu-date-input__trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-date-input--open .neu-date-input__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-date-input--error .neu-date-input__trigger{border-color:var(--neu-error)}.neu-date-input__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-date-input__icon svg{width:18px;height:18px}.neu-date-input__display{flex:1;color:var(--neu-text);white-space:nowrap}.neu-date-input__display--placeholder{color:var(--neu-text-disabled)}.neu-date-input__panel{position:relative;z-index:200;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);box-shadow:var(--neu-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:neu-datepicker-in .12s ease}.neu-date-input__panel--time-only{flex-direction:row}@media(max-width:600px){.neu-date-input__panel{left:auto;right:0;width:min(280px,100vw - 2rem);max-width:calc(100vw - 2rem)}}@keyframes neu-datepicker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.neu-date-input__calendar{padding:var(--neu-space-3);width:280px;flex-shrink:0}.neu-date-input__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-2)}.neu-date-input__cal-title{font-size:var(--neu-text-sm);font-weight:600;color:var(--neu-text);text-transform:capitalize}.neu-date-input__cal-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-arrow svg{width:15px;height:15px}.neu-date-input__cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.neu-date-input__cal-weekdays span{font-size:11px;font-weight:600;color:var(--neu-text-muted);padding:4px 0;text-transform:uppercase}.neu-date-input__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-date-input__cal-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);font-family:var(--neu-font-sans);font-size:var(--neu-text-sm);color:var(--neu-text);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-day:hover:not(.neu-date-input__cal-day--other):not(.neu-date-input__cal-day--selected){background:var(--neu-surface-2)}.neu-date-input__cal-day--other{color:var(--neu-text-disabled);pointer-events:none;cursor:default}.neu-date-input__cal-day--today{color:var(--neu-primary);font-weight:700}.neu-date-input__cal-day--selected{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)))!important;color:var(--neu-primary-solid-fg, var(--neu-primary-fg))!important;font-weight:600}.neu-date-input__cal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--neu-space-2);padding-top:var(--neu-space-2);border-top:1px solid var(--neu-border)}.neu-date-input__cal-footer-btn{background:none;border:none;padding:4px 8px;font-family:var(--neu-font-sans);font-size:var(--neu-text-xs);color:var(--neu-text-muted);cursor:pointer;border-radius:var(--neu-radius-sm);transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-footer-btn:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-footer-btn--today{color:var(--neu-primary);font-weight:500}.neu-date-input__cal-footer-btn--today:hover{color:var(--neu-primary)}.neu-date-input__sep{height:1px;width:100%;background:var(--neu-border);flex-shrink:0}.neu-date-input__time{display:flex;align-items:center;justify-content:center;gap:var(--neu-space-1);padding:var(--neu-space-3) var(--neu-space-4);flex-shrink:0}.neu-date-input__time-colon{font-size:20px;font-weight:700;color:var(--neu-text);line-height:1;margin-bottom:4px;-webkit-user-select:none;user-select:none}.neu-date-input__drum{display:flex;flex-direction:column;align-items:center;gap:4px}.neu-date-input__drum-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:24px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__drum-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__drum-arrow svg{width:14px;height:14px}.neu-date-input__drum-track{position:relative;display:flex;flex-direction:column;align-items:center}.neu-date-input__drum-track:before{content:\"\";position:absolute;top:36px;left:-6px;right:-6px;height:36px;background:var(--neu-primary-soft, rgba(0, 122, 255, .1));border-radius:var(--neu-radius-sm);pointer-events:none}.neu-date-input__drum-item{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:36px;font-family:var(--neu-font-sans);font-weight:500;-webkit-user-select:none;user-select:none;border-radius:var(--neu-radius-sm);transition:opacity var(--neu-transition)}.neu-date-input__drum-item--adjacent{font-size:13px;color:var(--neu-text-muted);opacity:.45;cursor:pointer}.neu-date-input__drum-item--adjacent:hover{opacity:.75}.neu-date-input__drum-item--selected{font-size:22px;font-weight:700;color:var(--neu-primary);cursor:default}.neu-date-input__error{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-error-text, var(--neu-error));font-family:var(--neu-font-sans)}.neu-date-input__hint{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-text-muted);font-family:var(--neu-font-sans)}.neu-drp{position:relative;display:block;font-family:var(--neu-font-sans)}.neu-drp--disabled{opacity:.55;pointer-events:none}.neu-drp__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-drp__trigger{all:unset;display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);background:var(--neu-surface);color:var(--neu-text);font-size:var(--neu-text-base);font-family:var(--neu-font-sans);cursor:pointer;box-sizing:border-box;transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-drp__trigger:hover:not([disabled]){border-color:var(--neu-border-hover, var(--neu-border))}.neu-drp__trigger:focus-visible{outline:none;border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__trigger[disabled]{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-drp--open .neu-drp__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-drp__icon svg{width:18px;height:18px}.neu-drp__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neu-drp__value--placeholder{color:var(--neu-text-disabled)}.neu-drp__panel{position:relative;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius-lg);box-shadow:var(--neu-shadow-lg);padding:var(--neu-space-4);z-index:1000;animation:neu-drp-in .1s ease;min-width:560px}@keyframes neu-drp-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.neu-drp__calendars{display:flex;gap:var(--neu-space-6)}.neu-drp__cal{flex:1}.neu-drp__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-3)}.neu-drp__cal-nav button{all:unset;padding:4px 8px;border-radius:var(--neu-radius);cursor:pointer;font-size:1.1rem;color:var(--neu-text-muted)}.neu-drp__cal-nav button:hover{background:var(--neu-surface-2)}.neu-drp__cal-title{font-size:var(--neu-text-sm);font-weight:600;text-transform:capitalize;color:var(--neu-text)}.neu-drp__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-drp__day-label{text-align:center;font-size:.7rem;font-weight:600;color:var(--neu-text-muted);padding:4px 0}.neu-drp__cell{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:var(--neu-text-sm);cursor:pointer;transition:background var(--neu-transition);box-sizing:border-box;margin:1px auto}.neu-drp__cell:hover{background:var(--neu-surface-2)}.neu-drp__cell--other-month{opacity:.35}.neu-drp__cell--today{font-weight:700;border:1.5px solid var(--neu-primary)}.neu-drp__cell--selected,.neu-drp__cell--range-start,.neu-drp__cell--range-end{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));border-radius:50%}.neu-drp__cell--in-range{background:var(--neu-primary-soft, rgba(14, 165, 233, .15));border-radius:0}.neu-drp__footer{display:flex;justify-content:flex-end;gap:var(--neu-space-2);padding-top:var(--neu-space-3);border-top:1px solid var(--neu-border);margin-top:var(--neu-space-3)}.neu-drp__clear{all:unset;padding:7px 14px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);color:var(--neu-text-muted);cursor:pointer;background:var(--neu-surface-2)}.neu-drp__clear:hover{background:var(--neu-surface-3, var(--neu-surface-2));color:var(--neu-text)}.neu-drp__apply{all:unset;padding:7px 18px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);font-weight:500;background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));cursor:pointer}.neu-drp__apply:hover:not([disabled]){filter:brightness(1.08)}.neu-drp__apply[disabled]{opacity:.4;cursor:not-allowed}.neu-drp__apply:focus-visible{outline:2px solid var(--neu-primary);outline-offset:2px}@media(max-width:600px){.neu-drp__panel{left:0;right:auto;min-width:0;width:min(100%,360px,100vw - 2rem);max-width:calc(100vw - 2rem);padding:var(--neu-space-2)}.neu-drp__calendars{flex-direction:column;gap:var(--neu-space-4)}.neu-drp__cal{width:100%;max-width:320px;margin-inline:auto}.neu-drp__footer{flex-wrap:wrap}}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
935
1030
  }
936
1031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: NeuDateInputComponent, decorators: [{
937
1032
  type: Component,
938
- args: [{ selector: 'neu-date-input', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1033
+ args: [{ selector: 'neu-date-input', imports: [OverlayModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
939
1034
  class: 'neu-date-input-host',
940
1035
  '[class.neu-date-input-host--sm]': 'size() === "sm"',
941
1036
  '[class.neu-date-input-host--lg]': 'size() === "lg"',
@@ -955,6 +1050,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
955
1050
  <label class="neu-drp__label" [for]="_id">{{ label() }}</label>
956
1051
  }
957
1052
  <button
1053
+ cdkOverlayOrigin
1054
+ #rangeOrigin="cdkOverlayOrigin"
958
1055
  type="button"
959
1056
  [id]="_id"
960
1057
  class="neu-drp__trigger"
@@ -982,7 +1079,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
982
1079
  {{ _hasRange() ? _rangeDisplayValue() : _rangePlaceholderText() }}
983
1080
  </span>
984
1081
  </button>
985
- @if (isOpen()) {
1082
+ <ng-template
1083
+ cdkConnectedOverlay
1084
+ [cdkConnectedOverlayOrigin]="rangeOrigin"
1085
+ [cdkConnectedOverlayOpen]="isOpen()"
1086
+ [cdkConnectedOverlayPositions]="rangeOverlayPositions"
1087
+ [cdkConnectedOverlayScrollStrategy]="overlayScrollStrategy"
1088
+ [cdkConnectedOverlayHasBackdrop]="true"
1089
+ [cdkConnectedOverlayBackdropClass]="'cdk-overlay-transparent-backdrop'"
1090
+ [cdkConnectedOverlayPush]="true"
1091
+ [cdkConnectedOverlayViewportMargin]="_viewportMargin"
1092
+ (backdropClick)="close()"
1093
+ (detach)="close()"
1094
+ >
986
1095
  <div
987
1096
  class="neu-drp__panel"
988
1097
  role="dialog"
@@ -1074,7 +1183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1074
1183
  </button>
1075
1184
  </div>
1076
1185
  </div>
1077
- }
1186
+ </ng-template>
1078
1187
  } @else {
1079
1188
  @if (!floatingLabel() && label()) {
1080
1189
  <label class="neu-date-input__label" [for]="_id">{{ label() }}</label>
@@ -1088,6 +1197,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1088
1197
  [class.neu-date-input--float]="floatingLabel()"
1089
1198
  >
1090
1199
  <button
1200
+ cdkOverlayOrigin
1201
+ #singleOrigin="cdkOverlayOrigin"
1091
1202
  class="neu-date-input__trigger"
1092
1203
  type="button"
1093
1204
  [id]="_id"
@@ -1135,7 +1246,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1135
1246
  @if (floatingLabel() && label()) {
1136
1247
  <label class="neu-date-input__float-label" [for]="_id">{{ label() }}</label>
1137
1248
  }
1138
- @if (isOpen()) {
1249
+ <ng-template
1250
+ cdkConnectedOverlay
1251
+ [cdkConnectedOverlayOrigin]="singleOrigin"
1252
+ [cdkConnectedOverlayOpen]="isOpen()"
1253
+ [cdkConnectedOverlayPositions]="singleOverlayPositions"
1254
+ [cdkConnectedOverlayScrollStrategy]="overlayScrollStrategy"
1255
+ [cdkConnectedOverlayHasBackdrop]="true"
1256
+ [cdkConnectedOverlayBackdropClass]="'cdk-overlay-transparent-backdrop'"
1257
+ [cdkConnectedOverlayPush]="true"
1258
+ [cdkConnectedOverlayViewportMargin]="_viewportMargin"
1259
+ (backdropClick)="close()"
1260
+ (detach)="close()"
1261
+ >
1139
1262
  <div
1140
1263
  class="neu-date-input__panel"
1141
1264
  [class.neu-date-input__panel--time-only]="type() === 'time'"
@@ -1322,7 +1445,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1322
1445
  </div>
1323
1446
  }
1324
1447
  </div>
1325
- }
1448
+ </ng-template>
1326
1449
  </div>
1327
1450
  @if (hasError()) {
1328
1451
  <p class="neu-date-input__error" role="alert">{{ errorMessage() }}</p>
@@ -1330,11 +1453,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1330
1453
  <p class="neu-date-input__hint">{{ hint() }}</p>
1331
1454
  }
1332
1455
  }
1333
- `, styles: [".neu-date-input-host{display:block;font-family:var(--neu-font-sans)}.neu-date-input-host--sm .neu-date-input__trigger{min-height:36px;font-size:var(--neu-text-sm)}.neu-date-input-host--lg .neu-date-input__trigger{min-height:56px}.neu-date-input__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-date-input--float{position:relative}.neu-date-input--float .neu-date-input__float-label{position:absolute;pointer-events:none;left:calc(var(--neu-space-3) + 32px);top:50%;transform:translateY(-50%);font-size:var(--neu-text-base);color:var(--neu-text-muted);background:transparent;padding:0;z-index:1;white-space:nowrap;transition:top var(--neu-transition),font-size var(--neu-transition),color var(--neu-transition),transform var(--neu-transition),padding var(--neu-transition),background var(--neu-transition)}.neu-date-input--float.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--has-value .neu-date-input__float-label{top:0;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--neu-primary);background:var(--neu-surface);padding:0 4px;left:calc(var(--neu-space-3) - 4px)}.neu-date-input--float.neu-date-input--disabled .neu-date-input__float-label{background:var(--neu-surface-2)}.neu-date-input--float.neu-date-input--error .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--has-value .neu-date-input__float-label{color:var(--neu-error)}.neu-date-input{position:relative;font-family:var(--neu-font-sans)}.neu-date-input__trigger{display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);cursor:pointer;text-align:left;font-family:var(--neu-font-sans);font-size:var(--neu-text-base);color:var(--neu-text);transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-date-input__trigger:hover:not(:disabled){border-color:var(--neu-border-hover, var(--neu-border))}.neu-date-input__trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-date-input--open .neu-date-input__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-date-input--error .neu-date-input__trigger{border-color:var(--neu-error)}.neu-date-input__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-date-input__icon svg{width:18px;height:18px}.neu-date-input__display{flex:1;color:var(--neu-text);white-space:nowrap}.neu-date-input__display--placeholder{color:var(--neu-text-disabled)}.neu-date-input__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);box-shadow:var(--neu-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:neu-datepicker-in .12s ease}.neu-date-input__panel--time-only{flex-direction:row}@media(max-width:600px){.neu-date-input__panel{left:auto;right:0;width:min(280px,100vw - 2rem);max-width:calc(100vw - 2rem)}}@keyframes neu-datepicker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.neu-date-input__calendar{padding:var(--neu-space-3);width:280px;flex-shrink:0}.neu-date-input__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-2)}.neu-date-input__cal-title{font-size:var(--neu-text-sm);font-weight:600;color:var(--neu-text);text-transform:capitalize}.neu-date-input__cal-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-arrow svg{width:15px;height:15px}.neu-date-input__cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.neu-date-input__cal-weekdays span{font-size:11px;font-weight:600;color:var(--neu-text-muted);padding:4px 0;text-transform:uppercase}.neu-date-input__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-date-input__cal-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);font-family:var(--neu-font-sans);font-size:var(--neu-text-sm);color:var(--neu-text);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-day:hover:not(.neu-date-input__cal-day--other):not(.neu-date-input__cal-day--selected){background:var(--neu-surface-2)}.neu-date-input__cal-day--other{color:var(--neu-text-disabled);pointer-events:none;cursor:default}.neu-date-input__cal-day--today{color:var(--neu-primary);font-weight:700}.neu-date-input__cal-day--selected{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)))!important;color:var(--neu-primary-solid-fg, var(--neu-primary-fg))!important;font-weight:600}.neu-date-input__cal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--neu-space-2);padding-top:var(--neu-space-2);border-top:1px solid var(--neu-border)}.neu-date-input__cal-footer-btn{background:none;border:none;padding:4px 8px;font-family:var(--neu-font-sans);font-size:var(--neu-text-xs);color:var(--neu-text-muted);cursor:pointer;border-radius:var(--neu-radius-sm);transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-footer-btn:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-footer-btn--today{color:var(--neu-primary);font-weight:500}.neu-date-input__cal-footer-btn--today:hover{color:var(--neu-primary)}.neu-date-input__sep{height:1px;width:100%;background:var(--neu-border);flex-shrink:0}.neu-date-input__time{display:flex;align-items:center;justify-content:center;gap:var(--neu-space-1);padding:var(--neu-space-3) var(--neu-space-4);flex-shrink:0}.neu-date-input__time-colon{font-size:20px;font-weight:700;color:var(--neu-text);line-height:1;margin-bottom:4px;-webkit-user-select:none;user-select:none}.neu-date-input__drum{display:flex;flex-direction:column;align-items:center;gap:4px}.neu-date-input__drum-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:24px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__drum-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__drum-arrow svg{width:14px;height:14px}.neu-date-input__drum-track{position:relative;display:flex;flex-direction:column;align-items:center}.neu-date-input__drum-track:before{content:\"\";position:absolute;top:36px;left:-6px;right:-6px;height:36px;background:var(--neu-primary-soft, rgba(0, 122, 255, .1));border-radius:var(--neu-radius-sm);pointer-events:none}.neu-date-input__drum-item{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:36px;font-family:var(--neu-font-sans);font-weight:500;-webkit-user-select:none;user-select:none;border-radius:var(--neu-radius-sm);transition:opacity var(--neu-transition)}.neu-date-input__drum-item--adjacent{font-size:13px;color:var(--neu-text-muted);opacity:.45;cursor:pointer}.neu-date-input__drum-item--adjacent:hover{opacity:.75}.neu-date-input__drum-item--selected{font-size:22px;font-weight:700;color:var(--neu-primary);cursor:default}.neu-date-input__error{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-error-text, var(--neu-error));font-family:var(--neu-font-sans)}.neu-date-input__hint{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-text-muted);font-family:var(--neu-font-sans)}.neu-drp{position:relative;display:block;font-family:var(--neu-font-sans)}.neu-drp--disabled{opacity:.55;pointer-events:none}.neu-drp__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-drp__trigger{all:unset;display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);background:var(--neu-surface);color:var(--neu-text);font-size:var(--neu-text-base);font-family:var(--neu-font-sans);cursor:pointer;box-sizing:border-box;transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-drp__trigger:hover:not([disabled]){border-color:var(--neu-border-hover, var(--neu-border))}.neu-drp__trigger:focus-visible{outline:none;border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__trigger[disabled]{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-drp--open .neu-drp__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-drp__icon svg{width:18px;height:18px}.neu-drp__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neu-drp__value--placeholder{color:var(--neu-text-disabled)}.neu-drp__panel{position:absolute;top:calc(100% + 6px);left:0;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius-lg);box-shadow:var(--neu-shadow-lg);padding:var(--neu-space-4);z-index:1000;animation:neu-drp-in .1s ease;min-width:560px}@keyframes neu-drp-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.neu-drp__calendars{display:flex;gap:var(--neu-space-6)}.neu-drp__cal{flex:1}.neu-drp__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-3)}.neu-drp__cal-nav button{all:unset;padding:4px 8px;border-radius:var(--neu-radius);cursor:pointer;font-size:1.1rem;color:var(--neu-text-muted)}.neu-drp__cal-nav button:hover{background:var(--neu-surface-2)}.neu-drp__cal-title{font-size:var(--neu-text-sm);font-weight:600;text-transform:capitalize;color:var(--neu-text)}.neu-drp__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-drp__day-label{text-align:center;font-size:.7rem;font-weight:600;color:var(--neu-text-muted);padding:4px 0}.neu-drp__cell{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:var(--neu-text-sm);cursor:pointer;transition:background var(--neu-transition);box-sizing:border-box;margin:1px auto}.neu-drp__cell:hover{background:var(--neu-surface-2)}.neu-drp__cell--other-month{opacity:.35}.neu-drp__cell--today{font-weight:700;border:1.5px solid var(--neu-primary)}.neu-drp__cell--selected,.neu-drp__cell--range-start,.neu-drp__cell--range-end{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));border-radius:50%}.neu-drp__cell--in-range{background:var(--neu-primary-soft, rgba(14, 165, 233, .15));border-radius:0}.neu-drp__footer{display:flex;justify-content:flex-end;gap:var(--neu-space-2);padding-top:var(--neu-space-3);border-top:1px solid var(--neu-border);margin-top:var(--neu-space-3)}.neu-drp__clear{all:unset;padding:7px 14px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);color:var(--neu-text-muted);cursor:pointer;background:var(--neu-surface-2)}.neu-drp__clear:hover{background:var(--neu-surface-3, var(--neu-surface-2));color:var(--neu-text)}.neu-drp__apply{all:unset;padding:7px 18px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);font-weight:500;background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));cursor:pointer}.neu-drp__apply:hover:not([disabled]){filter:brightness(1.08)}.neu-drp__apply[disabled]{opacity:.4;cursor:not-allowed}.neu-drp__apply:focus-visible{outline:2px solid var(--neu-primary);outline-offset:2px}@media(max-width:600px){.neu-drp__panel{left:0;right:auto;min-width:0;width:min(100%,360px,100vw - 2rem);max-width:calc(100vw - 2rem);padding:var(--neu-space-2)}.neu-drp__calendars{flex-direction:column;gap:var(--neu-space-4)}.neu-drp__cal{width:100%;max-width:320px;margin-inline:auto}.neu-drp__footer{flex-wrap:wrap}}\n"] }]
1334
- }], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], errorMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorMessage", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], floatingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatingLabel", required: false }] }], rangeChange: [{ type: i0.Output, args: ["rangeChange"] }], onDocumentClick: [{
1335
- type: HostListener,
1336
- args: ['document:click', ['$event']]
1337
- }] } });
1456
+ `, styles: [".neu-date-input-host{display:block;font-family:var(--neu-font-sans)}.neu-date-input-host--sm .neu-date-input__trigger{min-height:36px;font-size:var(--neu-text-sm)}.neu-date-input-host--lg .neu-date-input__trigger{min-height:56px}.neu-date-input__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-date-input--float{position:relative}.neu-date-input--float .neu-date-input__float-label{position:absolute;pointer-events:none;left:calc(var(--neu-space-3) + 32px);top:50%;transform:translateY(-50%);font-size:var(--neu-text-base);color:var(--neu-text-muted);background:transparent;padding:0;z-index:1;white-space:nowrap;transition:top var(--neu-transition),font-size var(--neu-transition),color var(--neu-transition),transform var(--neu-transition),padding var(--neu-transition),background var(--neu-transition)}.neu-date-input--float.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--has-value .neu-date-input__float-label{top:0;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--neu-primary);background:var(--neu-surface);padding:0 4px;left:calc(var(--neu-space-3) - 4px)}.neu-date-input--float.neu-date-input--disabled .neu-date-input__float-label{background:var(--neu-surface-2)}.neu-date-input--float.neu-date-input--error .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--open .neu-date-input__float-label,.neu-date-input--float.neu-date-input--error .neu-date-input__float-label.neu-date-input--has-value .neu-date-input__float-label{color:var(--neu-error)}.neu-date-input{position:relative;font-family:var(--neu-font-sans)}.neu-date-input__trigger{display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);cursor:pointer;text-align:left;font-family:var(--neu-font-sans);font-size:var(--neu-text-base);color:var(--neu-text);transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-date-input__trigger:hover:not(:disabled){border-color:var(--neu-border-hover, var(--neu-border))}.neu-date-input__trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-date-input--open .neu-date-input__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-date-input--error .neu-date-input__trigger{border-color:var(--neu-error)}.neu-date-input__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-date-input__icon svg{width:18px;height:18px}.neu-date-input__display{flex:1;color:var(--neu-text);white-space:nowrap}.neu-date-input__display--placeholder{color:var(--neu-text-disabled)}.neu-date-input__panel{position:relative;z-index:200;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);box-shadow:var(--neu-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:neu-datepicker-in .12s ease}.neu-date-input__panel--time-only{flex-direction:row}@media(max-width:600px){.neu-date-input__panel{left:auto;right:0;width:min(280px,100vw - 2rem);max-width:calc(100vw - 2rem)}}@keyframes neu-datepicker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.neu-date-input__calendar{padding:var(--neu-space-3);width:280px;flex-shrink:0}.neu-date-input__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-2)}.neu-date-input__cal-title{font-size:var(--neu-text-sm);font-weight:600;color:var(--neu-text);text-transform:capitalize}.neu-date-input__cal-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-arrow svg{width:15px;height:15px}.neu-date-input__cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.neu-date-input__cal-weekdays span{font-size:11px;font-weight:600;color:var(--neu-text-muted);padding:4px 0;text-transform:uppercase}.neu-date-input__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-date-input__cal-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);font-family:var(--neu-font-sans);font-size:var(--neu-text-sm);color:var(--neu-text);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-day:hover:not(.neu-date-input__cal-day--other):not(.neu-date-input__cal-day--selected){background:var(--neu-surface-2)}.neu-date-input__cal-day--other{color:var(--neu-text-disabled);pointer-events:none;cursor:default}.neu-date-input__cal-day--today{color:var(--neu-primary);font-weight:700}.neu-date-input__cal-day--selected{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)))!important;color:var(--neu-primary-solid-fg, var(--neu-primary-fg))!important;font-weight:600}.neu-date-input__cal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--neu-space-2);padding-top:var(--neu-space-2);border-top:1px solid var(--neu-border)}.neu-date-input__cal-footer-btn{background:none;border:none;padding:4px 8px;font-family:var(--neu-font-sans);font-size:var(--neu-text-xs);color:var(--neu-text-muted);cursor:pointer;border-radius:var(--neu-radius-sm);transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__cal-footer-btn:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__cal-footer-btn--today{color:var(--neu-primary);font-weight:500}.neu-date-input__cal-footer-btn--today:hover{color:var(--neu-primary)}.neu-date-input__sep{height:1px;width:100%;background:var(--neu-border);flex-shrink:0}.neu-date-input__time{display:flex;align-items:center;justify-content:center;gap:var(--neu-space-1);padding:var(--neu-space-3) var(--neu-space-4);flex-shrink:0}.neu-date-input__time-colon{font-size:20px;font-weight:700;color:var(--neu-text);line-height:1;margin-bottom:4px;-webkit-user-select:none;user-select:none}.neu-date-input__drum{display:flex;flex-direction:column;align-items:center;gap:4px}.neu-date-input__drum-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:24px;padding:0;background:none;border:none;border-radius:var(--neu-radius-sm);color:var(--neu-text-muted);cursor:pointer;transition:background var(--neu-transition),color var(--neu-transition)}.neu-date-input__drum-arrow:hover{background:var(--neu-surface-2);color:var(--neu-text)}.neu-date-input__drum-arrow svg{width:14px;height:14px}.neu-date-input__drum-track{position:relative;display:flex;flex-direction:column;align-items:center}.neu-date-input__drum-track:before{content:\"\";position:absolute;top:36px;left:-6px;right:-6px;height:36px;background:var(--neu-primary-soft, rgba(0, 122, 255, .1));border-radius:var(--neu-radius-sm);pointer-events:none}.neu-date-input__drum-item{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:36px;font-family:var(--neu-font-sans);font-weight:500;-webkit-user-select:none;user-select:none;border-radius:var(--neu-radius-sm);transition:opacity var(--neu-transition)}.neu-date-input__drum-item--adjacent{font-size:13px;color:var(--neu-text-muted);opacity:.45;cursor:pointer}.neu-date-input__drum-item--adjacent:hover{opacity:.75}.neu-date-input__drum-item--selected{font-size:22px;font-weight:700;color:var(--neu-primary);cursor:default}.neu-date-input__error{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-error-text, var(--neu-error));font-family:var(--neu-font-sans)}.neu-date-input__hint{margin-top:var(--neu-space-1);font-size:var(--neu-text-xs);color:var(--neu-text-muted);font-family:var(--neu-font-sans)}.neu-drp{position:relative;display:block;font-family:var(--neu-font-sans)}.neu-drp--disabled{opacity:.55;pointer-events:none}.neu-drp__label{display:block;font-size:var(--neu-text-sm);font-weight:500;color:var(--neu-text-muted);margin-bottom:var(--neu-space-2)}.neu-drp__trigger{all:unset;display:flex;align-items:center;gap:var(--neu-space-2);width:100%;min-height:48px;padding:0 var(--neu-space-3);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius);background:var(--neu-surface);color:var(--neu-text);font-size:var(--neu-text-base);font-family:var(--neu-font-sans);cursor:pointer;box-sizing:border-box;transition:border-color var(--neu-transition),box-shadow var(--neu-transition)}.neu-drp__trigger:hover:not([disabled]){border-color:var(--neu-border-hover, var(--neu-border))}.neu-drp__trigger:focus-visible{outline:none;border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__trigger[disabled]{opacity:.6;cursor:not-allowed;background:var(--neu-surface-2)}.neu-drp--open .neu-drp__trigger{border-color:var(--neu-primary);box-shadow:var(--neu-focus-ring)}.neu-drp__icon{display:flex;align-items:center;color:var(--neu-text-muted);flex-shrink:0}.neu-drp__icon svg{width:18px;height:18px}.neu-drp__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neu-drp__value--placeholder{color:var(--neu-text-disabled)}.neu-drp__panel{position:relative;background:var(--neu-surface);border:1.5px solid var(--neu-border);border-radius:var(--neu-radius-lg);box-shadow:var(--neu-shadow-lg);padding:var(--neu-space-4);z-index:1000;animation:neu-drp-in .1s ease;min-width:560px}@keyframes neu-drp-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.neu-drp__calendars{display:flex;gap:var(--neu-space-6)}.neu-drp__cal{flex:1}.neu-drp__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--neu-space-3)}.neu-drp__cal-nav button{all:unset;padding:4px 8px;border-radius:var(--neu-radius);cursor:pointer;font-size:1.1rem;color:var(--neu-text-muted)}.neu-drp__cal-nav button:hover{background:var(--neu-surface-2)}.neu-drp__cal-title{font-size:var(--neu-text-sm);font-weight:600;text-transform:capitalize;color:var(--neu-text)}.neu-drp__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.neu-drp__day-label{text-align:center;font-size:.7rem;font-weight:600;color:var(--neu-text-muted);padding:4px 0}.neu-drp__cell{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:var(--neu-text-sm);cursor:pointer;transition:background var(--neu-transition);box-sizing:border-box;margin:1px auto}.neu-drp__cell:hover{background:var(--neu-surface-2)}.neu-drp__cell--other-month{opacity:.35}.neu-drp__cell--today{font-weight:700;border:1.5px solid var(--neu-primary)}.neu-drp__cell--selected,.neu-drp__cell--range-start,.neu-drp__cell--range-end{background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));border-radius:50%}.neu-drp__cell--in-range{background:var(--neu-primary-soft, rgba(14, 165, 233, .15));border-radius:0}.neu-drp__footer{display:flex;justify-content:flex-end;gap:var(--neu-space-2);padding-top:var(--neu-space-3);border-top:1px solid var(--neu-border);margin-top:var(--neu-space-3)}.neu-drp__clear{all:unset;padding:7px 14px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);color:var(--neu-text-muted);cursor:pointer;background:var(--neu-surface-2)}.neu-drp__clear:hover{background:var(--neu-surface-3, var(--neu-surface-2));color:var(--neu-text)}.neu-drp__apply{all:unset;padding:7px 18px;border-radius:var(--neu-radius);font-size:var(--neu-text-sm);font-weight:500;background:var(--neu-primary-solid, var(--neu-primary-dark, var(--neu-primary)));color:var(--neu-primary-solid-fg, var(--neu-primary-fg));cursor:pointer}.neu-drp__apply:hover:not([disabled]){filter:brightness(1.08)}.neu-drp__apply[disabled]{opacity:.4;cursor:not-allowed}.neu-drp__apply:focus-visible{outline:2px solid var(--neu-primary);outline-offset:2px}@media(max-width:600px){.neu-drp__panel{left:0;right:auto;min-width:0;width:min(100%,360px,100vw - 2rem);max-width:calc(100vw - 2rem);padding:var(--neu-space-2)}.neu-drp__calendars{flex-direction:column;gap:var(--neu-space-4)}.neu-drp__cal{width:100%;max-width:320px;margin-inline:auto}.neu-drp__footer{flex-wrap:wrap}}\n"] }]
1457
+ }], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], errorMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorMessage", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], floatingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatingLabel", required: false }] }], rangeChange: [{ type: i0.Output, args: ["rangeChange"] }] } });
1338
1458
 
1339
1459
  /**
1340
1460
  * Generated bundle index. Do not edit.