@wkly/datetime-picker 19.0.0 → 20.0.0

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,32 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@wkly/datetime-picker/cdk-overlay" />
5
- export * from './public-api';
1
+ import * as i0 from '@angular/core';
2
+ import { ElementRef, Injector } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/overlay';
4
+ import { Overlay } from '@angular/cdk/overlay';
5
+ import { FocusTrapFactory } from '@angular/cdk/a11y';
6
+ import * as i2 from '@wkly/datetime-picker';
7
+ import { WklyTriggerBase, WklyCloseReason, WklyPresentationRef } from '@wkly/datetime-picker';
8
+
9
+ declare class WklyDateTimePickerOverlayService {
10
+ private overlay;
11
+ private injector;
12
+ private traps;
13
+ constructor(overlay: Overlay, injector: Injector, traps: FocusTrapFactory);
14
+ open(trigger: HTMLElement, onCancel: (reason: WklyCloseReason) => void, backdrop?: boolean, injector?: Injector): WklyPresentationRef;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<WklyDateTimePickerOverlayService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<WklyDateTimePickerOverlayService>;
17
+ }
18
+ declare class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {
19
+ private service;
20
+ private triggerInjector;
21
+ constructor(element: ElementRef<HTMLElement>, service: WklyDateTimePickerOverlayService, triggerInjector: Injector);
22
+ protected create(): WklyPresentationRef;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<WklyDateTimePickerOverlayDirective, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WklyDateTimePickerOverlayDirective, "[wklyDateTimePickerOverlay]", ["wklyOverlay"], {}, {}, never, never, false, never>;
25
+ }
26
+ declare class WklyDateTimePickerOverlayModule {
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<WklyDateTimePickerOverlayModule, never>;
28
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WklyDateTimePickerOverlayModule, [typeof WklyDateTimePickerOverlayDirective], [typeof i1.OverlayModule, typeof i2.WklyDateTimePickerModule], [typeof WklyDateTimePickerOverlayDirective]>;
29
+ static ɵinj: i0.ɵɵInjectorDeclaration<WklyDateTimePickerOverlayModule>;
30
+ }
31
+
32
+ export { WklyDateTimePickerOverlayDirective, WklyDateTimePickerOverlayModule, WklyDateTimePickerOverlayService };
@@ -75,10 +75,10 @@ class WklyDateTimePickerOverlayService {
75
75
  },
76
76
  };
77
77
  }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.FocusTrapFactory }], target: i0.ɵɵFactoryTarget.Injectable });
79
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayService, providedIn: "root" });
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.FocusTrapFactory }], target: i0.ɵɵFactoryTarget.Injectable });
79
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayService, providedIn: "root" });
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayService, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayService, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{ providedIn: "root" }]
84
84
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.FocusTrapFactory }] });
@@ -93,8 +93,8 @@ class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {
93
93
  create() {
94
94
  return this.service.open(this.element.nativeElement, (reason) => this.close(reason), this[WklyPickerInputsPropertyKeys.CloseOnBackdrop](), this.triggerInjector);
95
95
  }
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayDirective, deps: [{ token: i0.ElementRef }, { token: WklyDateTimePickerOverlayService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
97
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: WklyDateTimePickerOverlayDirective, isStandalone: false, selector: "[wklyDateTimePickerOverlay]", providers: [
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayDirective, deps: [{ token: i0.ElementRef }, { token: WklyDateTimePickerOverlayService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
97
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.33", type: WklyDateTimePickerOverlayDirective, isStandalone: false, selector: "[wklyDateTimePickerOverlay]", providers: [
98
98
  {
99
99
  provide: NG_VALUE_ACCESSOR,
100
100
  useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
@@ -107,7 +107,7 @@ class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {
107
107
  },
108
108
  ], exportAs: ["wklyOverlay"], usesInheritance: true, ngImport: i0 });
109
109
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayDirective, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayDirective, decorators: [{
111
111
  type: Directive,
112
112
  args: [{
113
113
  selector: "[wklyDateTimePickerOverlay]",
@@ -128,11 +128,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
128
128
  }]
129
129
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: WklyDateTimePickerOverlayService }, { type: i0.Injector }] });
130
130
  class WklyDateTimePickerOverlayModule {
131
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
132
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayModule, declarations: [WklyDateTimePickerOverlayDirective], imports: [OverlayModule, WklyDateTimePickerModule], exports: [WklyDateTimePickerOverlayDirective] });
133
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayModule, imports: [OverlayModule, WklyDateTimePickerModule] });
131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
132
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayModule, declarations: [WklyDateTimePickerOverlayDirective], imports: [OverlayModule, WklyDateTimePickerModule], exports: [WklyDateTimePickerOverlayDirective] });
133
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayModule, imports: [OverlayModule, WklyDateTimePickerModule] });
134
134
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerOverlayModule, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerOverlayModule, decorators: [{
136
136
  type: NgModule,
137
137
  args: [{
138
138
  imports: [OverlayModule, WklyDateTimePickerModule],
@@ -1 +1 @@
1
- {"version":3,"file":"wkly-datetime-picker-cdk-overlay.mjs","sources":["../../../projects/wkly-datetime-picker.19/cdk-overlay/public-api.ts","../../../projects/wkly-datetime-picker.19/cdk-overlay/wkly-datetime-picker-cdk-overlay.ts"],"sourcesContent":["import {\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Injectable,\n Injector,\n NgModule,\n} from \"@angular/core\";\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Overlay, OverlayModule } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { FocusTrapFactory } from \"@angular/cdk/a11y\";\nimport {\n WklyDateTimePickerComponent,\n WklyDateTimePickerModule,\n WklyCloseReason,\n WklyPresentationRef,\n WklyTriggerBase,\n WklyPickerInputsPropertyKeys,\n} from \"@wkly/datetime-picker\";\n@Injectable({ providedIn: \"root\" })\nexport class WklyDateTimePickerOverlayService {\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n private traps: FocusTrapFactory,\n ) {}\n open(\n trigger: HTMLElement,\n onCancel: (reason: WklyCloseReason) => void,\n backdrop = true,\n injector?: Injector,\n ): WklyPresentationRef {\n const overlay = this.overlay.create({\n width: \"390px\",\n maxWidth: \"100vw\",\n maxHeight: \"94vh\",\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(trigger)\n .withPush(true)\n .withFlexibleDimensions(false)\n .withLockedPosition(true)\n .withPositions([\n {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\",\n offsetY: 6,\n },\n {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"bottom\",\n offsetY: -6,\n },\n ]),\n });\n const component = overlay.attach(\n new ComponentPortal(\n WklyDateTimePickerComponent,\n null,\n injector || this.injector,\n ),\n );\n component.instance.presentation = \"transient\";\n overlay.overlayElement.setAttribute(\"role\", \"dialog\");\n overlay.overlayElement.setAttribute(\"aria-modal\", \"true\");\n overlay.overlayElement.setAttribute(\"aria-label\", \"Date and time picker\");\n overlay.overlayElement.style.overflow = \"auto\";\n const trap = this.traps.create(overlay.overlayElement);\n const sub = overlay.backdropClick().subscribe(() => {\n if (backdrop) onCancel(\"backdrop\");\n });\n const key = overlay.keydownEvents().subscribe((event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n onCancel(\"escape\");\n }\n });\n return {\n component,\n destroy: () => {\n sub.unsubscribe();\n key.unsubscribe();\n trap.destroy();\n overlay.dispose();\n trigger.focus();\n },\n };\n }\n}\n@Directive({\n selector: \"[wklyDateTimePickerOverlay]\",\n standalone: false,\n exportAs: \"wklyOverlay\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),\n multi: true,\n },\n ],\n})\nexport class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {\n constructor(\n element: ElementRef<HTMLElement>,\n private service: WklyDateTimePickerOverlayService,\n private triggerInjector: Injector,\n ) {\n super(element);\n }\n protected create(): WklyPresentationRef {\n return this.service.open(\n this.element.nativeElement,\n (reason) => this.close(reason),\n this[WklyPickerInputsPropertyKeys.CloseOnBackdrop](),\n this.triggerInjector,\n );\n }\n}\n@NgModule({\n imports: [OverlayModule, WklyDateTimePickerModule],\n declarations: [WklyDateTimePickerOverlayDirective],\n exports: [WklyDateTimePickerOverlayDirective],\n})\nexport class WklyDateTimePickerOverlayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wkly-datetime-picker-cdk-overlay.mjs","sources":["../../../projects/wkly-datetime-picker.20/cdk-overlay/public-api.ts","../../../projects/wkly-datetime-picker.20/cdk-overlay/wkly-datetime-picker-cdk-overlay.ts"],"sourcesContent":["import {\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Injectable,\n Injector,\n NgModule,\n} from \"@angular/core\";\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Overlay, OverlayModule } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { FocusTrapFactory } from \"@angular/cdk/a11y\";\nimport {\n WklyDateTimePickerComponent,\n WklyDateTimePickerModule,\n WklyCloseReason,\n WklyPresentationRef,\n WklyTriggerBase,\n WklyPickerInputsPropertyKeys,\n} from \"@wkly/datetime-picker\";\n@Injectable({ providedIn: \"root\" })\nexport class WklyDateTimePickerOverlayService {\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n private traps: FocusTrapFactory,\n ) {}\n open(\n trigger: HTMLElement,\n onCancel: (reason: WklyCloseReason) => void,\n backdrop = true,\n injector?: Injector,\n ): WklyPresentationRef {\n const overlay = this.overlay.create({\n width: \"390px\",\n maxWidth: \"100vw\",\n maxHeight: \"94vh\",\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(trigger)\n .withPush(true)\n .withFlexibleDimensions(false)\n .withLockedPosition(true)\n .withPositions([\n {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\",\n offsetY: 6,\n },\n {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"bottom\",\n offsetY: -6,\n },\n ]),\n });\n const component = overlay.attach(\n new ComponentPortal(\n WklyDateTimePickerComponent,\n null,\n injector || this.injector,\n ),\n );\n component.instance.presentation = \"transient\";\n overlay.overlayElement.setAttribute(\"role\", \"dialog\");\n overlay.overlayElement.setAttribute(\"aria-modal\", \"true\");\n overlay.overlayElement.setAttribute(\"aria-label\", \"Date and time picker\");\n overlay.overlayElement.style.overflow = \"auto\";\n const trap = this.traps.create(overlay.overlayElement);\n const sub = overlay.backdropClick().subscribe(() => {\n if (backdrop) onCancel(\"backdrop\");\n });\n const key = overlay.keydownEvents().subscribe((event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n onCancel(\"escape\");\n }\n });\n return {\n component,\n destroy: () => {\n sub.unsubscribe();\n key.unsubscribe();\n trap.destroy();\n overlay.dispose();\n trigger.focus();\n },\n };\n }\n}\n@Directive({\n selector: \"[wklyDateTimePickerOverlay]\",\n standalone: false,\n exportAs: \"wklyOverlay\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),\n multi: true,\n },\n ],\n})\nexport class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {\n constructor(\n element: ElementRef<HTMLElement>,\n private service: WklyDateTimePickerOverlayService,\n private triggerInjector: Injector,\n ) {\n super(element);\n }\n protected create(): WklyPresentationRef {\n return this.service.open(\n this.element.nativeElement,\n (reason) => this.close(reason),\n this[WklyPickerInputsPropertyKeys.CloseOnBackdrop](),\n this.triggerInjector,\n );\n }\n}\n@NgModule({\n imports: [OverlayModule, WklyDateTimePickerModule],\n declarations: [WklyDateTimePickerOverlayDirective],\n exports: [WklyDateTimePickerOverlayDirective],\n})\nexport class WklyDateTimePickerOverlayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -17,71 +17,76 @@ const WKLY_LOCALIZATION = new InjectionToken("WKLY_LOCALIZATION", { providedIn:
17
17
  const WKLY_TRANSLATIONS = new InjectionToken("WKLY_TRANSLATIONS", { providedIn: "root", factory: () => ({}) });
18
18
  class WklyPickerInputs {
19
19
  // Angular discovers signal inputs from identifier property declarations.
20
- modeInput = input("datetime", {
21
- alias: "mode",
22
- });
23
- valueInput = input(null, {
24
- alias: "value",
25
- });
26
- calendarAdapterInput = input(undefined, { alias: "calendarAdapter" });
27
- localeInput = input("", { alias: "locale" });
28
- weekOffsetInput = input(null, {
29
- alias: "weekOffset",
30
- });
31
- viewportPresetInput = input({ kind: "full-month" }, { alias: "viewportPreset" });
32
- hourCycleInput = input("locale", {
33
- alias: "hourCycle",
34
- });
35
- showSecondsInput = input(false, {
36
- alias: "showSeconds",
37
- transform: booleanAttribute,
38
- });
39
- minuteStepInput = input(1, { alias: "minuteStep" });
40
- secondStepInput = input(1, { alias: "secondStep" });
41
- minInput = input(null, { alias: "min" });
42
- maxInput = input(null, { alias: "max" });
43
- isDateDisabledInput = input(null, { alias: "isDateDisabled" });
44
- isTimeDisabledInput = input(null, { alias: "isTimeDisabled" });
45
- rangeValidatorInput = input(null, { alias: "rangeValidator" });
46
- allowRangeAcrossDisabledInput = input(false, {
47
- alias: "allowRangeAcrossDisabled",
48
- transform: booleanAttribute,
49
- });
50
- requiredInput = input(false, {
51
- alias: "required",
52
- transform: booleanAttribute,
53
- });
54
- disabledInput = input(false, {
55
- alias: "disabled",
56
- transform: booleanAttribute,
57
- });
58
- weekLabelModeInput = input("locale", {
59
- alias: "weekLabelMode",
60
- });
61
- weekLabelFormatterInput = input(null, { alias: "weekLabelFormatter" });
62
- weekCacheSizeInput = input(256, {
63
- alias: "weekCacheSize",
64
- });
65
- overscanWeeksInput = input(DEFAULT_OVERSCAN_WEEKS, {
66
- alias: "overscanWeeks",
67
- });
68
- ariaLabelInput = input(null, {
69
- alias: "ariaLabel",
70
- });
71
- ariaDescribedByInput = input(null, {
72
- alias: "ariaDescribedBy",
73
- });
74
- initialEpochDayInput = input(null, {
75
- alias: "initialEpochDay",
76
- });
77
- closeOnBackdropInput = input(true, {
78
- alias: "closeOnBackdrop",
79
- transform: booleanAttribute,
80
- });
81
- validatorsInput = input([], { alias: "validators" });
82
- translationsInput = input(null, {
83
- alias: "translations",
84
- });
20
+ modeInput = input("datetime", ...(ngDevMode ? [{ debugName: "modeInput", alias: "mode" }] : [{
21
+ alias: "mode",
22
+ }]));
23
+ valueInput = input(null, ...(ngDevMode ? [{ debugName: "valueInput", alias: "value" }] : [{
24
+ alias: "value",
25
+ }]));
26
+ calendarAdapterInput = input(undefined, ...(ngDevMode ? [{ debugName: "calendarAdapterInput", alias: "calendarAdapter" }] : [{ alias: "calendarAdapter" }]));
27
+ localeInput = input("", ...(ngDevMode ? [{ debugName: "localeInput", alias: "locale" }] : [{ alias: "locale" }]));
28
+ weekOffsetInput = input(null, ...(ngDevMode ? [{ debugName: "weekOffsetInput", alias: "weekOffset" }] : [{
29
+ alias: "weekOffset",
30
+ }]));
31
+ viewportPresetInput = input({ kind: "full-month" }, ...(ngDevMode ? [{ debugName: "viewportPresetInput", alias: "viewportPreset" }] : [{ alias: "viewportPreset" }]));
32
+ hourCycleInput = input("locale", ...(ngDevMode ? [{ debugName: "hourCycleInput", alias: "hourCycle" }] : [{
33
+ alias: "hourCycle",
34
+ }]));
35
+ showSecondsInput = input(false, ...(ngDevMode ? [{ debugName: "showSecondsInput", alias: "showSeconds",
36
+ transform: booleanAttribute }] : [{
37
+ alias: "showSeconds",
38
+ transform: booleanAttribute,
39
+ }]));
40
+ minuteStepInput = input(1, ...(ngDevMode ? [{ debugName: "minuteStepInput", alias: "minuteStep" }] : [{ alias: "minuteStep" }]));
41
+ secondStepInput = input(1, ...(ngDevMode ? [{ debugName: "secondStepInput", alias: "secondStep" }] : [{ alias: "secondStep" }]));
42
+ minInput = input(null, ...(ngDevMode ? [{ debugName: "minInput", alias: "min" }] : [{ alias: "min" }]));
43
+ maxInput = input(null, ...(ngDevMode ? [{ debugName: "maxInput", alias: "max" }] : [{ alias: "max" }]));
44
+ isDateDisabledInput = input(null, ...(ngDevMode ? [{ debugName: "isDateDisabledInput", alias: "isDateDisabled" }] : [{ alias: "isDateDisabled" }]));
45
+ isTimeDisabledInput = input(null, ...(ngDevMode ? [{ debugName: "isTimeDisabledInput", alias: "isTimeDisabled" }] : [{ alias: "isTimeDisabled" }]));
46
+ rangeValidatorInput = input(null, ...(ngDevMode ? [{ debugName: "rangeValidatorInput", alias: "rangeValidator" }] : [{ alias: "rangeValidator" }]));
47
+ allowRangeAcrossDisabledInput = input(false, ...(ngDevMode ? [{ debugName: "allowRangeAcrossDisabledInput", alias: "allowRangeAcrossDisabled",
48
+ transform: booleanAttribute }] : [{
49
+ alias: "allowRangeAcrossDisabled",
50
+ transform: booleanAttribute,
51
+ }]));
52
+ requiredInput = input(false, ...(ngDevMode ? [{ debugName: "requiredInput", alias: "required",
53
+ transform: booleanAttribute }] : [{
54
+ alias: "required",
55
+ transform: booleanAttribute,
56
+ }]));
57
+ disabledInput = input(false, ...(ngDevMode ? [{ debugName: "disabledInput", alias: "disabled",
58
+ transform: booleanAttribute }] : [{
59
+ alias: "disabled",
60
+ transform: booleanAttribute,
61
+ }]));
62
+ weekLabelModeInput = input("locale", ...(ngDevMode ? [{ debugName: "weekLabelModeInput", alias: "weekLabelMode" }] : [{
63
+ alias: "weekLabelMode",
64
+ }]));
65
+ weekLabelFormatterInput = input(null, ...(ngDevMode ? [{ debugName: "weekLabelFormatterInput", alias: "weekLabelFormatter" }] : [{ alias: "weekLabelFormatter" }]));
66
+ weekCacheSizeInput = input(256, ...(ngDevMode ? [{ debugName: "weekCacheSizeInput", alias: "weekCacheSize" }] : [{
67
+ alias: "weekCacheSize",
68
+ }]));
69
+ overscanWeeksInput = input(DEFAULT_OVERSCAN_WEEKS, ...(ngDevMode ? [{ debugName: "overscanWeeksInput", alias: "overscanWeeks" }] : [{
70
+ alias: "overscanWeeks",
71
+ }]));
72
+ ariaLabelInput = input(null, ...(ngDevMode ? [{ debugName: "ariaLabelInput", alias: "ariaLabel" }] : [{
73
+ alias: "ariaLabel",
74
+ }]));
75
+ ariaDescribedByInput = input(null, ...(ngDevMode ? [{ debugName: "ariaDescribedByInput", alias: "ariaDescribedBy" }] : [{
76
+ alias: "ariaDescribedBy",
77
+ }]));
78
+ initialEpochDayInput = input(null, ...(ngDevMode ? [{ debugName: "initialEpochDayInput", alias: "initialEpochDay" }] : [{
79
+ alias: "initialEpochDay",
80
+ }]));
81
+ closeOnBackdropInput = input(true, ...(ngDevMode ? [{ debugName: "closeOnBackdropInput", alias: "closeOnBackdrop",
82
+ transform: booleanAttribute }] : [{
83
+ alias: "closeOnBackdrop",
84
+ transform: booleanAttribute,
85
+ }]));
86
+ validatorsInput = input([], ...(ngDevMode ? [{ debugName: "validatorsInput", alias: "validators" }] : [{ alias: "validators" }]));
87
+ translationsInput = input(null, ...(ngDevMode ? [{ debugName: "translationsInput", alias: "translations" }] : [{
88
+ alias: "translations",
89
+ }]));
85
90
  // Public members of the shared picker input contract.
86
91
  [WklyPickerInputsPropertyKeys.Mode] = this.modeInput;
87
92
  [WklyPickerInputsPropertyKeys.Value] = this.valueInput;
@@ -117,10 +122,10 @@ class WklyPickerInputs {
117
122
  [WklyPickerOutputsPropertyKeys.Closed] = output();
118
123
  [WklyPickerOutputsPropertyKeys.ViewportChange] = output();
119
124
  [WklyPickerOutputsPropertyKeys.ViewModeChange] = output();
120
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyPickerInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive });
121
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: WklyPickerInputs, isStandalone: true, inputs: { modeInput: { classPropertyName: "modeInput", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, calendarAdapterInput: { classPropertyName: "calendarAdapterInput", publicName: "calendarAdapter", isSignal: true, isRequired: false, transformFunction: null }, localeInput: { classPropertyName: "localeInput", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, weekOffsetInput: { classPropertyName: "weekOffsetInput", publicName: "weekOffset", isSignal: true, isRequired: false, transformFunction: null }, viewportPresetInput: { classPropertyName: "viewportPresetInput", publicName: "viewportPreset", isSignal: true, isRequired: false, transformFunction: null }, hourCycleInput: { classPropertyName: "hourCycleInput", publicName: "hourCycle", isSignal: true, isRequired: false, transformFunction: null }, showSecondsInput: { classPropertyName: "showSecondsInput", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, minuteStepInput: { classPropertyName: "minuteStepInput", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStepInput: { classPropertyName: "secondStepInput", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, minInput: { classPropertyName: "minInput", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxInput: { classPropertyName: "maxInput", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, isDateDisabledInput: { classPropertyName: "isDateDisabledInput", publicName: "isDateDisabled", isSignal: true, isRequired: false, transformFunction: null }, isTimeDisabledInput: { classPropertyName: "isTimeDisabledInput", publicName: "isTimeDisabled", isSignal: true, isRequired: false, transformFunction: null }, rangeValidatorInput: { classPropertyName: "rangeValidatorInput", publicName: "rangeValidator", isSignal: true, isRequired: false, transformFunction: null }, allowRangeAcrossDisabledInput: { classPropertyName: "allowRangeAcrossDisabledInput", publicName: "allowRangeAcrossDisabled", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: "requiredInput", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, weekLabelModeInput: { classPropertyName: "weekLabelModeInput", publicName: "weekLabelMode", isSignal: true, isRequired: false, transformFunction: null }, weekLabelFormatterInput: { classPropertyName: "weekLabelFormatterInput", publicName: "weekLabelFormatter", isSignal: true, isRequired: false, transformFunction: null }, weekCacheSizeInput: { classPropertyName: "weekCacheSizeInput", publicName: "weekCacheSize", isSignal: true, isRequired: false, transformFunction: null }, overscanWeeksInput: { classPropertyName: "overscanWeeksInput", publicName: "overscanWeeks", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelInput: { classPropertyName: "ariaLabelInput", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedByInput: { classPropertyName: "ariaDescribedByInput", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, initialEpochDayInput: { classPropertyName: "initialEpochDayInput", publicName: "initialEpochDay", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropInput: { classPropertyName: "closeOnBackdropInput", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null }, validatorsInput: { classPropertyName: "validatorsInput", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, translationsInput: { classPropertyName: "translationsInput", publicName: "translations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", validationChange: "validationChange", opened: "opened", closed: "closed", viewportChange: "viewportChange", viewModeChange: "viewModeChange" }, ngImport: i0 });
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyPickerInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive });
126
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.33", type: WklyPickerInputs, isStandalone: true, inputs: { modeInput: { classPropertyName: "modeInput", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, calendarAdapterInput: { classPropertyName: "calendarAdapterInput", publicName: "calendarAdapter", isSignal: true, isRequired: false, transformFunction: null }, localeInput: { classPropertyName: "localeInput", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, weekOffsetInput: { classPropertyName: "weekOffsetInput", publicName: "weekOffset", isSignal: true, isRequired: false, transformFunction: null }, viewportPresetInput: { classPropertyName: "viewportPresetInput", publicName: "viewportPreset", isSignal: true, isRequired: false, transformFunction: null }, hourCycleInput: { classPropertyName: "hourCycleInput", publicName: "hourCycle", isSignal: true, isRequired: false, transformFunction: null }, showSecondsInput: { classPropertyName: "showSecondsInput", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, minuteStepInput: { classPropertyName: "minuteStepInput", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null }, secondStepInput: { classPropertyName: "secondStepInput", publicName: "secondStep", isSignal: true, isRequired: false, transformFunction: null }, minInput: { classPropertyName: "minInput", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxInput: { classPropertyName: "maxInput", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, isDateDisabledInput: { classPropertyName: "isDateDisabledInput", publicName: "isDateDisabled", isSignal: true, isRequired: false, transformFunction: null }, isTimeDisabledInput: { classPropertyName: "isTimeDisabledInput", publicName: "isTimeDisabled", isSignal: true, isRequired: false, transformFunction: null }, rangeValidatorInput: { classPropertyName: "rangeValidatorInput", publicName: "rangeValidator", isSignal: true, isRequired: false, transformFunction: null }, allowRangeAcrossDisabledInput: { classPropertyName: "allowRangeAcrossDisabledInput", publicName: "allowRangeAcrossDisabled", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: "requiredInput", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, weekLabelModeInput: { classPropertyName: "weekLabelModeInput", publicName: "weekLabelMode", isSignal: true, isRequired: false, transformFunction: null }, weekLabelFormatterInput: { classPropertyName: "weekLabelFormatterInput", publicName: "weekLabelFormatter", isSignal: true, isRequired: false, transformFunction: null }, weekCacheSizeInput: { classPropertyName: "weekCacheSizeInput", publicName: "weekCacheSize", isSignal: true, isRequired: false, transformFunction: null }, overscanWeeksInput: { classPropertyName: "overscanWeeksInput", publicName: "overscanWeeks", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelInput: { classPropertyName: "ariaLabelInput", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedByInput: { classPropertyName: "ariaDescribedByInput", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, initialEpochDayInput: { classPropertyName: "initialEpochDayInput", publicName: "initialEpochDay", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropInput: { classPropertyName: "closeOnBackdropInput", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null }, validatorsInput: { classPropertyName: "validatorsInput", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, translationsInput: { classPropertyName: "translationsInput", publicName: "translations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", validationChange: "validationChange", opened: "opened", closed: "closed", viewportChange: "viewportChange", viewModeChange: "viewModeChange" }, ngImport: i0 });
122
127
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyPickerInputs, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyPickerInputs, decorators: [{
124
129
  type: Directive,
125
130
  args: [{
126
131
  // Angular's metadata evaluator requires strings; template expressions
@@ -134,7 +139,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
134
139
  `${WklyPickerOutputsPropertyKeys.ViewModeChange}`,
135
140
  ],
136
141
  }]
137
- }] });
142
+ }], propDecorators: { modeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], calendarAdapterInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarAdapter", required: false }] }], localeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], weekOffsetInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekOffset", required: false }] }], viewportPresetInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewportPreset", required: false }] }], hourCycleInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "hourCycle", required: false }] }], showSecondsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSeconds", required: false }] }], minuteStepInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "minuteStep", required: false }] }], secondStepInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondStep", required: false }] }], minInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], maxInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], isDateDisabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDateDisabled", required: false }] }], isTimeDisabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isTimeDisabled", required: false }] }], rangeValidatorInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeValidator", required: false }] }], allowRangeAcrossDisabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowRangeAcrossDisabled", required: false }] }], requiredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], weekLabelModeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekLabelMode", required: false }] }], weekLabelFormatterInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekLabelFormatter", required: false }] }], weekCacheSizeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekCacheSize", required: false }] }], overscanWeeksInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "overscanWeeks", required: false }] }], ariaLabelInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaDescribedByInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }], initialEpochDayInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialEpochDay", required: false }] }], closeOnBackdropInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdrop", required: false }] }], validatorsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], translationsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "translations", required: false }] }] } });
138
143
  function unwrapWklyPickerSignalInputs(source) {
139
144
  const keys = Object.values(WklyPickerInputsPropertyKeys);
140
145
  return Object.fromEntries(keys.map((key) => [key, source[key]()]));
@@ -350,10 +355,10 @@ class WklyFieldComponent {
350
355
  this.touchSteps = steps;
351
356
  this.touchChanged = true;
352
357
  }
353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
354
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: WklyFieldComponent, isStandalone: false, selector: "wkly-field", inputs: { value: "value", label: "label", hideLabel: "hideLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", min: "min", max: "max", step: "step", locale: "locale", disabled: "disabled", invalid: "invalid", labels: "labels" }, outputs: { valueChange: "valueChange", complete: "complete" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"field\"\n (wheel)=\"wheel($event)\"\n (touchstart)=\"touchStart($event)\"\n (touchmove)=\"touchMove($event)\"\n (touchend)=\"touchEnd($event)\"\n (touchcancel)=\"touchEnd($event)\"\n>\n <span *ngIf=\"!hideLabel\" class=\"label\">{{ label }}</span>\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"previousLabel || label + ': previous'\"\n (click)=\"stepBy(-1)\"\n >\n {{ neighbor(-1) }}\n </button>\n <input\n [attr.aria-label]=\"label\"\n [attr.aria-invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [value]=\"display\"\n [attr.inputmode]=\"labels ? 'text' : min < 0 ? 'text' : 'numeric'\"\n autocomplete=\"off\"\n (focus)=\"begin($event)\"\n (input)=\"type($event)\"\n (blur)=\"finish()\"\n (keydown)=\"key($event)\"\n />\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"nextLabel || label + ': next'\"\n (click)=\"stepBy(1)\"\n >\n {{ neighbor(1) }}\n </button>\n</div>\n", styles: [".field{display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:center;touch-action:pan-x}.label{font-size:11px;color:var(--wkly-muted-color, #54616e);margin-bottom:4px}button,input{font:inherit;box-sizing:border-box;min-height:44px;width:100%;border:0;text-align:center;background:transparent;color:inherit;border-radius:7px}button{color:var(--wkly-muted-color, #54616e);cursor:pointer}input{font-size:18px;font-weight:650;background:var(--wkly-range-color, #e5f1ee);border-block:2px solid var(--wkly-accent-color, #176c55)}input[aria-invalid=true]{border-color:var(--wkly-error-color, #b42318)}:focus-visible{outline:2px solid var(--wkly-focus-color, #124ee0);outline-offset:1px}button:disabled,input:disabled{opacity:.45}button:hover:not(:disabled){background:var(--wkly-range-color, #e5f1ee)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
358
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
359
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.33", type: WklyFieldComponent, isStandalone: false, selector: "wkly-field", inputs: { value: "value", label: "label", hideLabel: "hideLabel", previousLabel: "previousLabel", nextLabel: "nextLabel", min: "min", max: "max", step: "step", locale: "locale", disabled: "disabled", invalid: "invalid", labels: "labels" }, outputs: { valueChange: "valueChange", complete: "complete" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"field\"\n (wheel)=\"wheel($event)\"\n (touchstart)=\"touchStart($event)\"\n (touchmove)=\"touchMove($event)\"\n (touchend)=\"touchEnd($event)\"\n (touchcancel)=\"touchEnd($event)\"\n>\n <span *ngIf=\"!hideLabel\" class=\"label\">{{ label }}</span>\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"previousLabel || label + ': previous'\"\n (click)=\"stepBy(-1)\"\n >\n {{ neighbor(-1) }}\n </button>\n <input\n [attr.aria-label]=\"label\"\n [attr.aria-invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [value]=\"display\"\n [attr.inputmode]=\"labels ? 'text' : min < 0 ? 'text' : 'numeric'\"\n autocomplete=\"off\"\n (focus)=\"begin($event)\"\n (input)=\"type($event)\"\n (blur)=\"finish()\"\n (keydown)=\"key($event)\"\n />\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"nextLabel || label + ': next'\"\n (click)=\"stepBy(1)\"\n >\n {{ neighbor(1) }}\n </button>\n</div>\n", styles: [".field{display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:center;touch-action:pan-x}.label{font-size:11px;color:var(--wkly-muted-color, #54616e);margin-bottom:4px}button,input{font:inherit;box-sizing:border-box;min-height:44px;width:100%;border:0;text-align:center;background:transparent;color:inherit;border-radius:7px}button{color:var(--wkly-muted-color, #54616e);cursor:pointer}input{font-size:18px;font-weight:650;background:var(--wkly-range-color, #e5f1ee);border-block:2px solid var(--wkly-accent-color, #176c55)}input[aria-invalid=true]{border-color:var(--wkly-error-color, #b42318)}:focus-visible{outline:2px solid var(--wkly-focus-color, #124ee0);outline-offset:1px}button:disabled,input:disabled{opacity:.45}button:hover:not(:disabled){background:var(--wkly-range-color, #e5f1ee)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
355
360
  }
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyFieldComponent, decorators: [{
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyFieldComponent, decorators: [{
357
362
  type: Component,
358
363
  args: [{ standalone: false, selector: "wkly-field", template: "<div\n class=\"field\"\n (wheel)=\"wheel($event)\"\n (touchstart)=\"touchStart($event)\"\n (touchmove)=\"touchMove($event)\"\n (touchend)=\"touchEnd($event)\"\n (touchcancel)=\"touchEnd($event)\"\n>\n <span *ngIf=\"!hideLabel\" class=\"label\">{{ label }}</span>\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"previousLabel || label + ': previous'\"\n (click)=\"stepBy(-1)\"\n >\n {{ neighbor(-1) }}\n </button>\n <input\n [attr.aria-label]=\"label\"\n [attr.aria-invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [value]=\"display\"\n [attr.inputmode]=\"labels ? 'text' : min < 0 ? 'text' : 'numeric'\"\n autocomplete=\"off\"\n (focus)=\"begin($event)\"\n (input)=\"type($event)\"\n (blur)=\"finish()\"\n (keydown)=\"key($event)\"\n />\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"nextLabel || label + ': next'\"\n (click)=\"stepBy(1)\"\n >\n {{ neighbor(1) }}\n </button>\n</div>\n", styles: [".field{display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:center;touch-action:pan-x}.label{font-size:11px;color:var(--wkly-muted-color, #54616e);margin-bottom:4px}button,input{font:inherit;box-sizing:border-box;min-height:44px;width:100%;border:0;text-align:center;background:transparent;color:inherit;border-radius:7px}button{color:var(--wkly-muted-color, #54616e);cursor:pointer}input{font-size:18px;font-weight:650;background:var(--wkly-range-color, #e5f1ee);border-block:2px solid var(--wkly-accent-color, #176c55)}input[aria-invalid=true]{border-color:var(--wkly-error-color, #b42318)}:focus-visible{outline:2px solid var(--wkly-focus-color, #124ee0);outline-offset:1px}button:disabled,input:disabled{opacity:.45}button:hover:not(:disabled){background:var(--wkly-range-color, #e5f1ee)}\n"] }]
359
364
  }], propDecorators: { value: [{
@@ -438,8 +443,8 @@ class WklyDateTimePickerComponent extends WklyPickerInputs {
438
443
  pendingValue = null;
439
444
  emittedValue = null;
440
445
  manualDateEndpoint = 0;
441
- formValue = signal(undefined);
442
- formDisabled = signal(false);
446
+ formValue = signal(undefined, ...(ngDevMode ? [{ debugName: "formValue" }] : []));
447
+ formDisabled = signal(false, ...(ngDevMode ? [{ debugName: "formDisabled" }] : []));
443
448
  previousInputs;
444
449
  currentValue() {
445
450
  return this.formValue() === undefined
@@ -1303,8 +1308,8 @@ class WklyDateTimePickerComponent extends WklyPickerInputs {
1303
1308
  (day || fallback)?.focus({ preventScroll: true });
1304
1309
  });
1305
1310
  }
1306
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerComponent, deps: [{ token: LOCALE_ID }, { token: WKLY_CONFIG }, { token: WKLY_CLOCK }, { token: WKLY_LOCALIZATION }, { token: WKLY_TRANSLATIONS }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1307
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: WklyDateTimePickerComponent, isStandalone: false, selector: "wkly-datetime-picker", providers: [
1311
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerComponent, deps: [{ token: LOCALE_ID }, { token: WKLY_CONFIG }, { token: WKLY_CLOCK }, { token: WKLY_LOCALIZATION }, { token: WKLY_TRANSLATIONS }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1312
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: WklyDateTimePickerComponent, isStandalone: false, selector: "wkly-datetime-picker", providers: [
1308
1313
  {
1309
1314
  provide: NG_VALUE_ACCESSOR,
1310
1315
  useExisting: forwardRef(() => WklyDateTimePickerComponent),
@@ -1317,7 +1322,7 @@ class WklyDateTimePickerComponent extends WklyPickerInputs {
1317
1322
  },
1318
1323
  ], viewQueries: [{ propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<section\n class=\"wkly\"\n [attr.dir]=\"direction\"\n [attr.aria-label]=\"\n this[WklyPickerInputsPropertyKeys.AriaLabel]() || 'Date and time picker'\n \"\n [attr.aria-describedby]=\"this[WklyPickerInputsPropertyKeys.AriaDescribedBy]()\"\n (focusout)=\"touched()\"\n>\n <header class=\"toolbar\">\n @if (hasDate) {\n <button\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"t(viewMode === 'calendar' ? 'manual' : 'calendar')\"\n (click)=\"toggleView()\"\n >\n {{ viewMode === \"calendar\" ? \"\u2637\" : \"\u25A6\" }}\n </button>\n }\n @if (hasDate) {\n <span class=\"year-control\">{{ title }}</span>\n }\n <span class=\"spacer\"></span\n ><button\n type=\"button\"\n class=\"now\"\n [disabled]=\"isDisabled()\"\n (click)=\"now()\"\n >\n {{ t(\"now\") }}\n </button>\n @if (presentation === \"transient\") {\n <button\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"t('close')\"\n (click)=\"cancel()\"\n >\n \u00D7\n </button>\n }\n </header>\n <ng-container *ngIf=\"hasDate && viewMode === 'calendar'\">\n <div\n role=\"grid\"\n [attr.aria-label]=\"\n this[WklyPickerInputsPropertyKeys.AriaLabel]() || 'Calendar'\n \"\n [attr.aria-multiselectable]=\"isRange\"\n >\n <div\n role=\"row\"\n class=\"week-head\"\n [class.no-label]=\"\n compact ||\n (this[WklyPickerInputsPropertyKeys.WeekLabelMode]() === 'hidden' &&\n !this[WklyPickerInputsPropertyKeys.WeekLabelFormatter]())\n \"\n >\n <span\n *ngIf=\"\n !compact &&\n (this[WklyPickerInputsPropertyKeys.WeekLabelMode]() !== 'hidden' ||\n this[WklyPickerInputsPropertyKeys.WeekLabelFormatter]())\n \"\n role=\"columnheader\"\n aria-label=\"Week\"\n ></span>\n @for (day of weekdays; track $index) {\n <span role=\"columnheader\">{{ day }}</span>\n }\n </div>\n <div\n #scroller\n class=\"week-scroll\"\n [style.height.px]=\"visibleCount * rowHeight\"\n (scroll)=\"scroll($event)\"\n (scrollend)=\"snapWeek()\"\n >\n <div [style.height.px]=\"scrollHeight\" class=\"scroll-space\">\n <div class=\"rows\" [style.top.px]=\"paddingTop\">\n <div\n *ngFor=\"let row of rows; trackBy: trackRow\"\n role=\"row\"\n class=\"week-row\"\n [class.no-label]=\"\n compact ||\n (this[WklyPickerInputsPropertyKeys.WeekLabelMode]() ===\n 'hidden' &&\n !this[WklyPickerInputsPropertyKeys.WeekLabelFormatter]())\n \"\n >\n <span\n *ngIf=\"\n !compact &&\n (this[WklyPickerInputsPropertyKeys.WeekLabelMode]() !==\n 'hidden' ||\n this[WklyPickerInputsPropertyKeys.WeekLabelFormatter]())\n \"\n role=\"rowheader\"\n class=\"week-number\"\n >{{ row.label }}</span\n >\n <div\n *ngFor=\"\n let cell of row.cells;\n let dayIndex = index;\n trackBy: trackCell\n \"\n role=\"gridcell\"\n [attr.data-weekday-index]=\"dayIndex\"\n [attr.aria-colindex]=\"\n dayIndex +\n (compact ||\n (this[WklyPickerInputsPropertyKeys.WeekLabelMode]() ===\n 'hidden' &&\n !this[WklyPickerInputsPropertyKeys.WeekLabelFormatter]())\n ? 1\n : 2)\n \"\n [attr.aria-selected]=\"selected(cell.epochDay)\"\n [attr.aria-disabled]=\"cell.disabled || isDisabled()\"\n [class.range]=\"inRange(cell.epochDay)\"\n [class.hidden]=\"cell.hidden\"\n [class.odd-month]=\"cell.date && cell.date.month % 2 === 1\"\n >\n <span [class]=\"'annotation annotation--' + dayIndex\">{{\n cell.annotation\n }}</span>\n <button\n type=\"button\"\n class=\"day\"\n [attr.data-day]=\"cell.epochDay\"\n [attr.aria-label]=\"cell.accessible\"\n [attr.aria-current]=\"cell.epochDay === today ? 'date' : null\"\n [attr.aria-disabled]=\"cell.disabled || isDisabled()\"\n [attr.tabindex]=\"\n !cell.hidden && cell.epochDay === focused ? 0 : -1\n \"\n [class.selected]=\"selected(cell.epochDay)\"\n [class.today]=\"cell.epochDay === today\"\n (focus)=\"focused = cell.epochDay\"\n (click)=\"select(cell.epochDay)\"\n (keydown)=\"key($event, cell.epochDay)\"\n >\n {{ cell.label }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"week-navigation\">\n <button\n type=\"button\"\n [disabled]=\"isDisabled() || !canMoveWeek(-1)\"\n [attr.aria-label]=\"t('previous')\"\n (click)=\"moveWeek(-1)\"\n >\n \u2191</button\n ><span>{{ title }}</span\n ><button\n type=\"button\"\n [disabled]=\"isDisabled() || !canMoveWeek(1)\"\n [attr.aria-label]=\"t('next')\"\n (click)=\"moveWeek(1)\"\n >\n \u2193\n </button>\n </div>\n </ng-container>\n <ng-container\n *ngFor=\"let draft of drafts; let i = index; trackBy: trackDraft\"\n >\n <fieldset\n *ngIf=\"(i === 0 || isRange) && (hasTime || viewMode === 'manual')\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"isRange ? t(i === 0 ? 'start' : 'end') : null\"\n >\n <legend *ngIf=\"isRange\">\n <ng-container\n *ngIf=\"\n i === 1 && hasDate && viewMode === 'manual';\n else endpointLabel\n \"\n >\n <span class=\"end-view-toggle\">\n <button\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [attr.aria-pressed]=\"endView === 'date'\"\n (click)=\"toggleEndView('date')\"\n >\n {{ t(\"end\") }}\n </button>\n <button\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [attr.aria-pressed]=\"endView === 'days'\"\n (click)=\"toggleEndView('days')\"\n >\n {{ inDaysLabel }}\n </button>\n </span>\n </ng-container>\n <ng-template #endpointLabel>{{\n t(i === 0 ? \"start\" : \"end\")\n }}</ng-template>\n </legend>\n <div\n *ngIf=\"\n i === 1 && hasDate && viewMode === 'manual' && endView === 'days'\n \"\n class=\"date-fields in-days-fields\"\n >\n <span class=\"resulting-end-date\" [attr.aria-label]=\"t('endDate')\">{{\n resultingEndDate\n }}</span>\n <wkly-field\n [label]=\"t('days')\"\n [hideLabel]=\"true\"\n [previousLabel]=\"t('daysPrevious')\"\n [nextLabel]=\"t('daysNext')\"\n [locale]=\"effectiveLocale\"\n [value]=\"inDays\"\n [min]=\"-9999\"\n [max]=\"9999\"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"days($event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n </div>\n <div\n *ngIf=\"\n hasDate && viewMode === 'manual' && (i === 0 || endView === 'date')\n \"\n class=\"date-fields\"\n >\n <wkly-field\n [label]=\"t('day')\"\n [locale]=\"effectiveLocale\"\n [value]=\"draft.date.day\"\n [min]=\"1\"\n [max]=\"31\"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"field(i, 'day', $event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n <wkly-field\n [label]=\"t('month')\"\n [locale]=\"effectiveLocale\"\n [value]=\"draft.date.month\"\n [min]=\"1\"\n [max]=\"monthCount(draft)\"\n [labels]=\"months(draft)\"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"field(i, 'month', $event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n <wkly-field\n [label]=\"t('year')\"\n [locale]=\"effectiveLocale\"\n [value]=\"draft.date.year\"\n [min]=\"adapter.supportedYearRange[0]\"\n [max]=\"adapter.supportedYearRange[1]\"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"field(i, 'year', $event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n </div>\n <div\n *ngIf=\"hasTime\"\n class=\"time-fields\"\n [class.seconds]=\"this[WklyPickerInputsPropertyKeys.ShowSeconds]()\"\n >\n <wkly-field\n [label]=\"t('hour')\"\n [locale]=\"effectiveLocale\"\n [value]=\"displayHour(draft)\"\n [min]=\"effectiveHourCycle === 'h12' ? 1 : 0\"\n [max]=\"effectiveHourCycle === 'h12' ? 12 : 23\"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"field(i, 'hour', $event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n <wkly-field\n [label]=\"t('minute')\"\n [locale]=\"effectiveLocale\"\n [value]=\"draft.minute\"\n [max]=\"59\"\n [step]=\"\n this[WklyPickerInputsPropertyKeys.MinuteStep]() > 0 &&\n 60 % this[WklyPickerInputsPropertyKeys.MinuteStep]() === 0\n ? this[WklyPickerInputsPropertyKeys.MinuteStep]()\n : 1\n \"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"field(i, 'minute', $event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n <wkly-field\n *ngIf=\"this[WklyPickerInputsPropertyKeys.ShowSeconds]()\"\n [label]=\"t('second')\"\n [locale]=\"effectiveLocale\"\n [value]=\"draft.second\"\n [max]=\"59\"\n [step]=\"\n this[WklyPickerInputsPropertyKeys.SecondStep]() > 0 &&\n 60 % this[WklyPickerInputsPropertyKeys.SecondStep]() === 0\n ? this[WklyPickerInputsPropertyKeys.SecondStep]()\n : 1\n \"\n [disabled]=\"isDisabled()\"\n [invalid]=\"!!errors.length\"\n (valueChange)=\"field(i, 'second', $event)\"\n (complete)=\"finish()\"\n ></wkly-field>\n <div class=\"period\">\n <button\n *ngIf=\"\n effectiveHourCycle === 'h12' ||\n this[WklyPickerInputsPropertyKeys.HourCycle]() === 'switchable'\n \"\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [attr.aria-pressed]=\"\n effectiveHourCycle === 'h12' && (draft.hour || 0) < 12\n \"\n (click)=\"period(i, 'am')\"\n >\n {{ t(\"am\") }}</button\n ><button\n type=\"button\"\n [disabled]=\"\n isDisabled() ||\n this[WklyPickerInputsPropertyKeys.HourCycle]() !== 'switchable'\n \"\n [attr.aria-pressed]=\"effectiveHourCycle === 'h24'\"\n (click)=\"period(i, '24')\"\n >\n 24</button\n ><button\n *ngIf=\"\n effectiveHourCycle === 'h12' ||\n this[WklyPickerInputsPropertyKeys.HourCycle]() === 'switchable'\n \"\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [attr.aria-pressed]=\"\n effectiveHourCycle === 'h12' && (draft.hour || 0) >= 12\n \"\n (click)=\"period(i, 'pm')\"\n >\n {{ t(\"pm\") }}\n </button>\n </div>\n </div>\n </fieldset>\n </ng-container>\n <div class=\"validation\" role=\"status\" aria-live=\"polite\">\n <p *ngFor=\"let err of errors\">! {{ t(err.messageKey) }}</p>\n </div>\n <footer *ngIf=\"submitVisible\">\n <button\n type=\"button\"\n class=\"confirm\"\n [disabled]=\"!canSubmit\"\n (click)=\"submit()\"\n >\n {{ t(\"confirm\") }}\n </button>\n </footer>\n</section>\n", styles: [":host{display:block;width:100%;box-sizing:border-box;--wkly-background-color: #fff;--wkly-background-color-alternate: #fafafa;--wkly-text-color: #192c28;--wkly-muted-color: #52635e;--wkly-border-color: #dce5e1;--wkly-accent-color: #176c55;--wkly-accent-color-alternate: #6ea494;--wkly-accent-text-color: #fff;--wkly-range-color: #e5f1ee;--wkly-error-color: #b42318;--wkly-focus-color: #245bd6;--wkly-size-multiplier: 1;--wkly-size-unit: 3.5em;color:var(--wkly-text-color);font:14px/1.4 system-ui,sans-serif;container-type:inline-size}.wkly{background:var(--wkly-background-color);border:1px solid var(--wkly-border-color);border-radius:14px;overflow:hidden;min-width:0;font-size:calc(14px*clamp(1,var(--wkly-size-multiplier),1.5))}button{font:inherit;color:inherit;min-width:var(--wkly-size-unit);min-height:var(--wkly-size-unit);border:0;background:transparent;border-radius:8px;cursor:pointer}button:hover:not(:disabled):not([aria-disabled=true]){background:var(--wkly-accent-color-alternate)}button:disabled,button[aria-disabled=true]{opacity:.4;cursor:default}button:focus-visible{outline:2px solid var(--wkly-focus-color);outline-offset:-2px}.toolbar{display:flex;align-items:center;padding:8px;gap:3px;border-bottom:1px solid var(--wkly-border-color)}.spacer{flex:1}.year-control{padding:0 6px;font-weight:650;text-align:start;line-height:1.2}.now{color:var(--wkly-accent-color);font-weight:650}.week-head,.week-row{display:grid;grid-template-columns:28px repeat(7,minmax(0,1fr))}.week-head{font-size:.85em;color:var(--wkly-muted-color);height:34px;align-items:center;text-align:center}.week-row{height:calc(var(--wkly-size-unit) * clamp(1,var(--wkly-size-multiplier),1));align-items:end}.no-label{grid-template-columns:repeat(7,minmax(0,1fr))}.week-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;max-height:65vh;touch-action:pan-y}.scroll-space{position:relative}.rows{position:absolute;left:0;right:0}.week-number{font-size:.85em;text-align:center;align-self:end;line-height:var(--wkly-size-unit);color:var(--wkly-muted-color)}[role=gridcell]{position:relative;min-width:0;height:var(--wkly-size-unit);text-align:center}[role=gridcell].odd-month:not(.range):not(.today){background:var(--wkly-background-color-alternate)}.day{width:100%;min-width:0;height:var(--wkly-size-unit);padding:0;border-radius:8px}.annotation{position:absolute;bottom:.25em;white-space:nowrap;font-size:1.25em;font-weight:650;line-height:1;pointer-events:none;z-index:1;color:var(--wkly-muted-color);color:color-mix(in srgb,var(--wkly-muted-color) 50%,transparent);text-shadow:0 0 2px --wkly-background-color,0 0 4px --wkly-background-color}.odd-month .annotation{text-shadow:0 0 2px --wkly-background-color-alternate,0 0 4px --wkly-background-color-alternate}.annotation:empty{display:none}.annotation--0{inset-inline-start:10%;bottom:1.75em}.annotation--1{inset-inline-start:-5%}.annotation--2{inset-inline-start:-20%}.annotation--3{inset-inline-start:-50%;inset-inline-end:-50%}.annotation--4{inset-inline-end:-20%}.annotation--5{inset-inline-end:-5%}.annotation--6{inset-inline-end:10%}.range{background:var(--wkly-range-color)}.day.selected{background:var(--wkly-accent-color);color:var(--wkly-accent-text-color);font-weight:700}.today:after{content:\"\";display:block;width:5px;height:5px;background:currentColor;border-radius:50%;position:absolute;bottom:2px;left:calc(50% - 2px)}.today{font-weight:750;box-shadow:inset 0 0 0 1px var(--wkly-accent-color)}.hidden{visibility:hidden}.week-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--wkly-border-color);font-size:.85em;color:var(--wkly-muted-color)}fieldset{border:0;padding:0 12px;margin:0;min-width:0}legend{padding-top:.85em;font-weight:650;color:var(--wkly-accent-color)}.date-fields{display:grid;grid-template-columns:1fr 2fr 1.4fr;gap:7px;padding:12px 0}.end-view-toggle{display:inline-flex}.end-view-toggle button{min-height:0;min-width:0;padding:0 6px;border-radius:0;line-height:inherit}.end-view-toggle button:first-child{padding-inline-start:0}.end-view-toggle button+button{border-inline-start:1px solid var(--wkly-text-color)}.end-view-toggle button[aria-pressed=false]{color:var(--wkly-muted-color);font-weight:400}.in-days-fields{grid-template-columns:minmax(0,1fr);gap:0;text-align:center}.resulting-end-date{font-size:11px;color:var(--wkly-muted-color);height:1.4em;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-fields{display:grid;grid-template-columns:1fr 1fr 52px;gap:8px;padding:14px 0;border-top:1px solid var(--wkly-border-color)}.time-fields.seconds{grid-template-columns:1fr 1fr 1fr 48px}.period{display:flex;flex-direction:column;justify-content:center;gap:2px;padding-top:1.25em}.period button{font-size:.85em}.period [aria-pressed=true]{background:var(--wkly-range-color);box-shadow:inset 0 0 0 1px var(--wkly-accent-color);font-weight:700}.validation{color:var(--wkly-error-color);font-size:.85em}.validation p{margin:.5em .85em}footer{padding:12px;border-top:1px solid var(--wkly-border-color)}.confirm{background:var(--wkly-accent-color);color:var(--wkly-accent-text-color);width:100%;font-weight:650}.confirm:hover:not(:disabled){background:var(--wkly-accent-color-alternate)}@media(forced-colors:active){.day.selected{outline:2px solid Highlight}.range{border-bottom:2px solid Highlight}.today{outline:1px dashed CanvasText}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WklyFieldComponent, selector: "wkly-field", inputs: ["value", "label", "hideLabel", "previousLabel", "nextLabel", "min", "max", "step", "locale", "disabled", "invalid", "labels"], outputs: ["valueChange", "complete"] }] });
1319
1324
  }
1320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerComponent, decorators: [{
1325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerComponent, decorators: [{
1321
1326
  type: Component,
1322
1327
  args: [{ selector: "wkly-datetime-picker", standalone: false, providers: [
1323
1328
  {
@@ -1435,10 +1440,10 @@ class WklyDateTimePickerDialogService {
1435
1440
  },
1436
1441
  };
1437
1442
  }
1438
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerDialogService, deps: [{ token: i0.EnvironmentInjector }, { token: i0.ApplicationRef }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
1439
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerDialogService, providedIn: "root" });
1443
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerDialogService, deps: [{ token: i0.EnvironmentInjector }, { token: i0.ApplicationRef }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
1444
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerDialogService, providedIn: "root" });
1440
1445
  }
1441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerDialogService, decorators: [{
1446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerDialogService, decorators: [{
1442
1447
  type: Injectable,
1443
1448
  args: [{ providedIn: "root" }]
1444
1449
  }], ctorParameters: () => [{ type: i0.EnvironmentInjector }, { type: i0.ApplicationRef }, { type: Document, decorators: [{
@@ -1457,8 +1462,8 @@ class WklyTriggerBase extends WklyPickerInputs {
1457
1462
  change = () => { };
1458
1463
  touched = () => { };
1459
1464
  validation = () => { };
1460
- formValue = signal(undefined);
1461
- formDisabled = signal(false);
1465
+ formValue = signal(undefined, ...(ngDevMode ? [{ debugName: "formValue" }] : []));
1466
+ formDisabled = signal(false, ...(ngDevMode ? [{ debugName: "formDisabled" }] : []));
1462
1467
  previousInputs;
1463
1468
  currentValue() {
1464
1469
  return this.formValue() === undefined
@@ -1615,10 +1620,10 @@ class WklyTriggerBase extends WklyPickerInputs {
1615
1620
  this.open();
1616
1621
  this.ref?.component.instance.scrollToValue(value, options);
1617
1622
  }
1618
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyTriggerBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1619
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: WklyTriggerBase, isStandalone: true, host: { listeners: { "click": "open()", "keydown": "key($event)", "blur": "blur()" } }, usesInheritance: true, ngImport: i0 });
1623
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyTriggerBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1624
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.33", type: WklyTriggerBase, isStandalone: true, host: { listeners: { "click": "open()", "keydown": "key($event)", "blur": "blur()" } }, usesInheritance: true, ngImport: i0 });
1620
1625
  }
1621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyTriggerBase, decorators: [{
1626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyTriggerBase, decorators: [{
1622
1627
  type: Directive
1623
1628
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { open: [{
1624
1629
  type: HostListener,
@@ -1641,8 +1646,8 @@ class WklyDateTimePickerDialogDirective extends WklyTriggerBase {
1641
1646
  create() {
1642
1647
  return this.service.open(this.element.nativeElement, (reason) => this.close(reason), this[WklyPickerInputsPropertyKeys.CloseOnBackdrop](), this.triggerInjector);
1643
1648
  }
1644
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerDialogDirective, deps: [{ token: i0.ElementRef }, { token: WklyDateTimePickerDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
1645
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: WklyDateTimePickerDialogDirective, isStandalone: false, selector: "[wklyDateTimePickerDialog]", providers: [
1649
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerDialogDirective, deps: [{ token: i0.ElementRef }, { token: WklyDateTimePickerDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
1650
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.33", type: WklyDateTimePickerDialogDirective, isStandalone: false, selector: "[wklyDateTimePickerDialog]", providers: [
1646
1651
  {
1647
1652
  provide: NG_VALUE_ACCESSOR,
1648
1653
  useExisting: forwardRef(() => WklyDateTimePickerDialogDirective),
@@ -1655,7 +1660,7 @@ class WklyDateTimePickerDialogDirective extends WklyTriggerBase {
1655
1660
  },
1656
1661
  ], exportAs: ["wklyDialog"], usesInheritance: true, ngImport: i0 });
1657
1662
  }
1658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerDialogDirective, decorators: [{
1663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerDialogDirective, decorators: [{
1659
1664
  type: Directive,
1660
1665
  args: [{
1661
1666
  selector: "[wklyDateTimePickerDialog]",
@@ -1677,13 +1682,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1677
1682
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: WklyDateTimePickerDialogService }, { type: i0.Injector }] });
1678
1683
 
1679
1684
  class WklyDateTimePickerModule {
1680
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1681
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerModule, declarations: [WklyDateTimePickerComponent,
1685
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1686
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerModule, declarations: [WklyDateTimePickerComponent,
1682
1687
  WklyDateTimePickerDialogDirective,
1683
1688
  WklyFieldComponent], imports: [CommonModule], exports: [WklyDateTimePickerComponent, WklyDateTimePickerDialogDirective] });
1684
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerModule, imports: [CommonModule] });
1689
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerModule, imports: [CommonModule] });
1685
1690
  }
1686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WklyDateTimePickerModule, decorators: [{
1691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: WklyDateTimePickerModule, decorators: [{
1687
1692
  type: NgModule,
1688
1693
  args: [{
1689
1694
  imports: [CommonModule],