@wkly/datetime-picker 11.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.
Files changed (53) hide show
  1. package/API.md +112 -0
  2. package/LICENSE +21 -0
  3. package/README.md +402 -0
  4. package/bundles/wkly-datetime-picker-cdk-overlay.umd.js +653 -0
  5. package/bundles/wkly-datetime-picker-cdk-overlay.umd.js.map +1 -0
  6. package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js +2 -0
  7. package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js.map +1 -0
  8. package/bundles/wkly-datetime-picker.umd.js +2354 -0
  9. package/bundles/wkly-datetime-picker.umd.js.map +1 -0
  10. package/bundles/wkly-datetime-picker.umd.min.js +2 -0
  11. package/bundles/wkly-datetime-picker.umd.min.js.map +1 -0
  12. package/cdk-overlay/package.json +11 -0
  13. package/cdk-overlay/public-api.d.ts +19 -0
  14. package/cdk-overlay/public-api.ngfactory.d.ts +3 -0
  15. package/cdk-overlay/wkly-datetime-picker-cdk-overlay.d.ts +4 -0
  16. package/cdk-overlay/wkly-datetime-picker-cdk-overlay.metadata.json +1 -0
  17. package/config.d.ts +46 -0
  18. package/esm2015/cdk-overlay/public-api.js +127 -0
  19. package/esm2015/cdk-overlay/public-api.ngfactory.js +19 -0
  20. package/esm2015/cdk-overlay/public-api.ngsummary.json +1 -0
  21. package/esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.js +5 -0
  22. package/esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.ngsummary.json +1 -0
  23. package/esm2015/config.js +241 -0
  24. package/esm2015/config.ngsummary.json +1 -0
  25. package/esm2015/field.component.css.shim.ngstyle.js +9 -0
  26. package/esm2015/field.component.js +240 -0
  27. package/esm2015/field.component.ngfactory.js +52 -0
  28. package/esm2015/field.component.ngsummary.json +1 -0
  29. package/esm2015/picker.component.js +929 -0
  30. package/esm2015/picker.component.ngfactory.js +137 -0
  31. package/esm2015/picker.component.ngsummary.json +1 -0
  32. package/esm2015/presentation.js +295 -0
  33. package/esm2015/presentation.ngsummary.json +1 -0
  34. package/esm2015/public-api.js +24 -0
  35. package/esm2015/public-api.ngfactory.js +13 -0
  36. package/esm2015/public-api.ngsummary.json +1 -0
  37. package/esm2015/wkly-datetime-picker.js +5 -0
  38. package/esm2015/wkly-datetime-picker.ngsummary.json +1 -0
  39. package/fesm2015/wkly-datetime-picker-cdk-overlay.js +131 -0
  40. package/fesm2015/wkly-datetime-picker-cdk-overlay.js.map +1 -0
  41. package/fesm2015/wkly-datetime-picker.js +1713 -0
  42. package/fesm2015/wkly-datetime-picker.js.map +1 -0
  43. package/field.component.css.shim.ngstyle.d.ts +1 -0
  44. package/field.component.d.ts +41 -0
  45. package/field.component.ngfactory.d.ts +1 -0
  46. package/package.json +45 -0
  47. package/picker.component.d.ts +130 -0
  48. package/picker.component.ngfactory.d.ts +1 -0
  49. package/presentation.d.ts +57 -0
  50. package/public-api.d.ts +7 -0
  51. package/public-api.ngfactory.d.ts +3 -0
  52. package/wkly-datetime-picker.d.ts +5 -0
  53. package/wkly-datetime-picker.metadata.json +1 -0
@@ -0,0 +1,131 @@
1
+ import { ɵɵdefineInjectable, ɵɵinject, INJECTOR, Injectable, Injector, Directive, forwardRef, ElementRef, NgModule } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
3
+ import { Overlay, OverlayModule } from '@angular/cdk/overlay';
4
+ import { ComponentPortal } from '@angular/cdk/portal';
5
+ import { FocusTrapFactory } from '@angular/cdk/a11y';
6
+ import { WklyDateTimePickerComponent, WklyTriggerBase, WklyPickerInputsPropertyKeys, WklyDateTimePickerModule } from '@wkly/datetime-picker';
7
+
8
+ class WklyDateTimePickerOverlayService {
9
+ constructor(overlay, injector, traps) {
10
+ this.overlay = overlay;
11
+ this.injector = injector;
12
+ this.traps = traps;
13
+ }
14
+ open(trigger, onCancel, backdrop = true, injector) {
15
+ const overlay = this.overlay.create({
16
+ width: "390px",
17
+ maxWidth: "100vw",
18
+ maxHeight: "94vh",
19
+ hasBackdrop: true,
20
+ backdropClass: "cdk-overlay-transparent-backdrop",
21
+ scrollStrategy: this.overlay.scrollStrategies.block(),
22
+ positionStrategy: this.overlay
23
+ .position()
24
+ .flexibleConnectedTo(trigger)
25
+ .withPush(true)
26
+ .withFlexibleDimensions(false)
27
+ .withLockedPosition(true)
28
+ .withPositions([
29
+ {
30
+ originX: "start",
31
+ originY: "bottom",
32
+ overlayX: "start",
33
+ overlayY: "top",
34
+ offsetY: 6,
35
+ },
36
+ {
37
+ originX: "start",
38
+ originY: "top",
39
+ overlayX: "start",
40
+ overlayY: "bottom",
41
+ offsetY: -6,
42
+ },
43
+ ]),
44
+ });
45
+ const component = overlay.attach(new ComponentPortal(WklyDateTimePickerComponent, null, injector || this.injector));
46
+ component.instance.presentation = "transient";
47
+ overlay.overlayElement.setAttribute("role", "dialog");
48
+ overlay.overlayElement.setAttribute("aria-modal", "true");
49
+ overlay.overlayElement.setAttribute("aria-label", "Date and time picker");
50
+ overlay.overlayElement.style.overflow = "auto";
51
+ const trap = this.traps.create(overlay.overlayElement);
52
+ const sub = overlay.backdropClick().subscribe(() => {
53
+ if (backdrop)
54
+ onCancel("backdrop");
55
+ });
56
+ const key = overlay.keydownEvents().subscribe((event) => {
57
+ if (event.key === "Escape") {
58
+ event.preventDefault();
59
+ onCancel("escape");
60
+ }
61
+ });
62
+ return {
63
+ component,
64
+ destroy: () => {
65
+ sub.unsubscribe();
66
+ key.unsubscribe();
67
+ trap.destroy();
68
+ overlay.dispose();
69
+ trigger.focus();
70
+ },
71
+ };
72
+ }
73
+ }
74
+ WklyDateTimePickerOverlayService.ɵprov = ɵɵdefineInjectable({ factory: function WklyDateTimePickerOverlayService_Factory() { return new WklyDateTimePickerOverlayService(ɵɵinject(Overlay), ɵɵinject(INJECTOR), ɵɵinject(FocusTrapFactory)); }, token: WklyDateTimePickerOverlayService, providedIn: "root" });
75
+ WklyDateTimePickerOverlayService.decorators = [
76
+ { type: Injectable, args: [{ providedIn: "root" },] }
77
+ ];
78
+ WklyDateTimePickerOverlayService.ctorParameters = () => [
79
+ { type: Overlay },
80
+ { type: Injector },
81
+ { type: FocusTrapFactory }
82
+ ];
83
+ class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {
84
+ constructor(element, service, triggerInjector) {
85
+ super(element);
86
+ this.service = service;
87
+ this.triggerInjector = triggerInjector;
88
+ }
89
+ create() {
90
+ return this.service.open(this.element.nativeElement, (reason) => this.close(reason), this[WklyPickerInputsPropertyKeys.CloseOnBackdrop], this.triggerInjector);
91
+ }
92
+ }
93
+ WklyDateTimePickerOverlayDirective.decorators = [
94
+ { type: Directive, args: [{
95
+ selector: "[wklyDateTimePickerOverlay]",
96
+ exportAs: "wklyOverlay",
97
+ providers: [
98
+ {
99
+ provide: NG_VALUE_ACCESSOR,
100
+ useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
101
+ multi: true,
102
+ },
103
+ {
104
+ provide: NG_VALIDATORS,
105
+ useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
106
+ multi: true,
107
+ },
108
+ ],
109
+ },] }
110
+ ];
111
+ WklyDateTimePickerOverlayDirective.ctorParameters = () => [
112
+ { type: ElementRef },
113
+ { type: WklyDateTimePickerOverlayService },
114
+ { type: Injector }
115
+ ];
116
+ class WklyDateTimePickerOverlayModule {
117
+ }
118
+ WklyDateTimePickerOverlayModule.decorators = [
119
+ { type: NgModule, args: [{
120
+ imports: [OverlayModule, WklyDateTimePickerModule],
121
+ declarations: [WklyDateTimePickerOverlayDirective],
122
+ exports: [WklyDateTimePickerOverlayDirective],
123
+ },] }
124
+ ];
125
+
126
+ /**
127
+ * Generated bundle index. Do not edit.
128
+ */
129
+
130
+ export { WklyDateTimePickerOverlayDirective, WklyDateTimePickerOverlayModule, WklyDateTimePickerOverlayService };
131
+ //# sourceMappingURL=wkly-datetime-picker-cdk-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkly-datetime-picker-cdk-overlay.js","sources":["../../../projects/wkly-datetime-picker.11/cdk-overlay/public-api.ts","../../../projects/wkly-datetime-picker.11/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 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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"}