@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.
- package/API.md +112 -0
- package/LICENSE +21 -0
- package/README.md +402 -0
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.js +653 -0
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.js.map +1 -0
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js +2 -0
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js.map +1 -0
- package/bundles/wkly-datetime-picker.umd.js +2354 -0
- package/bundles/wkly-datetime-picker.umd.js.map +1 -0
- package/bundles/wkly-datetime-picker.umd.min.js +2 -0
- package/bundles/wkly-datetime-picker.umd.min.js.map +1 -0
- package/cdk-overlay/package.json +11 -0
- package/cdk-overlay/public-api.d.ts +19 -0
- package/cdk-overlay/public-api.ngfactory.d.ts +3 -0
- package/cdk-overlay/wkly-datetime-picker-cdk-overlay.d.ts +4 -0
- package/cdk-overlay/wkly-datetime-picker-cdk-overlay.metadata.json +1 -0
- package/config.d.ts +46 -0
- package/esm2015/cdk-overlay/public-api.js +127 -0
- package/esm2015/cdk-overlay/public-api.ngfactory.js +19 -0
- package/esm2015/cdk-overlay/public-api.ngsummary.json +1 -0
- package/esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.js +5 -0
- package/esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.ngsummary.json +1 -0
- package/esm2015/config.js +241 -0
- package/esm2015/config.ngsummary.json +1 -0
- package/esm2015/field.component.css.shim.ngstyle.js +9 -0
- package/esm2015/field.component.js +240 -0
- package/esm2015/field.component.ngfactory.js +52 -0
- package/esm2015/field.component.ngsummary.json +1 -0
- package/esm2015/picker.component.js +929 -0
- package/esm2015/picker.component.ngfactory.js +137 -0
- package/esm2015/picker.component.ngsummary.json +1 -0
- package/esm2015/presentation.js +295 -0
- package/esm2015/presentation.ngsummary.json +1 -0
- package/esm2015/public-api.js +24 -0
- package/esm2015/public-api.ngfactory.js +13 -0
- package/esm2015/public-api.ngsummary.json +1 -0
- package/esm2015/wkly-datetime-picker.js +5 -0
- package/esm2015/wkly-datetime-picker.ngsummary.json +1 -0
- package/fesm2015/wkly-datetime-picker-cdk-overlay.js +131 -0
- package/fesm2015/wkly-datetime-picker-cdk-overlay.js.map +1 -0
- package/fesm2015/wkly-datetime-picker.js +1713 -0
- package/fesm2015/wkly-datetime-picker.js.map +1 -0
- package/field.component.css.shim.ngstyle.d.ts +1 -0
- package/field.component.d.ts +41 -0
- package/field.component.ngfactory.d.ts +1 -0
- package/package.json +45 -0
- package/picker.component.d.ts +130 -0
- package/picker.component.ngfactory.d.ts +1 -0
- package/presentation.d.ts +57 -0
- package/public-api.d.ts +7 -0
- package/public-api.ngfactory.d.ts +3 -0
- package/wkly-datetime-picker.d.ts +5 -0
- 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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"}
|