@solar-angular/ui-ionic 19.4.2 → 20.0.1

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.
@@ -0,0 +1,20 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Color } from '@ionic/core';
3
+
4
+ declare class SunCircularProgress {
5
+ readonly progress: _angular_core.InputSignalWithTransform<number, unknown>;
6
+ readonly size: _angular_core.InputSignalWithTransform<number, unknown>;
7
+ readonly strokeWidth: _angular_core.InputSignalWithTransform<number, unknown>;
8
+ readonly color: _angular_core.InputSignal<Color>;
9
+ readonly radius: _angular_core.Signal<number>;
10
+ readonly normalizedColor: _angular_core.Signal<string>;
11
+ readonly normalizedRadius: _angular_core.Signal<number>;
12
+ readonly transform: _angular_core.Signal<string>;
13
+ /** 圆周 */
14
+ readonly circumference: _angular_core.Signal<number>;
15
+ readonly dashOffset: _angular_core.Signal<number>;
16
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SunCircularProgress, never>;
17
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SunCircularProgress, "sun-circular-progress", never, { "progress": { "alias": "progress"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": true; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
+ }
19
+
20
+ export { SunCircularProgress };
@@ -0,0 +1,43 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ declare class SunDatetimePicker implements ControlValueAccessor {
6
+ private onTouched;
7
+ private onChange;
8
+ readonly template: _angular_core.Signal<TemplateRef<any> | undefined>;
9
+ readonly type: _angular_core.InputSignal<"date" | "date-time" | "month" | "month-year" | "time" | "time-date" | "year">;
10
+ readonly label: _angular_core.InputSignal<string | undefined>;
11
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
12
+ readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
13
+ readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
14
+ readonly min: _angular_core.InputSignal<number>;
15
+ readonly max: _angular_core.InputSignal<number>;
16
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
17
+ readonly minDate: _angular_core.Signal<Date>;
18
+ readonly maxDate: _angular_core.Signal<Date>;
19
+ readonly valueDate: _angular_core.Signal<Date | null>;
20
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
21
+ readonly value: _angular_core.WritableSignal<number | null>;
22
+ readonly finalPlaceholder: _angular_core.Signal<string>;
23
+ readonly finalDisabeld: _angular_core.WritableSignal<boolean>;
24
+ setValue(value: string | string[] | null | undefined): void;
25
+ writeValue(value: number | null): void;
26
+ registerOnChange(fn: (value: number | null) => void): void;
27
+ registerOnTouched(fn: () => void): void;
28
+ setDisabledState(value: boolean): void;
29
+ present(): void;
30
+ dismiss(): void;
31
+ cancel(): void;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SunDatetimePicker, never>;
33
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SunDatetimePicker, "sun-datetime-picker", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
34
+ }
35
+ declare class SunDatetimePickerTemplate {
36
+ static ngTemplateContextGuard(_: SunDatetimePickerTemplate, ctx: unknown): ctx is {
37
+ $implicit: number | null;
38
+ };
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SunDatetimePickerTemplate, never>;
40
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SunDatetimePickerTemplate, "[sunDatetimePicker]", never, {}, {}, never, never, true, never>;
41
+ }
42
+
43
+ export { SunDatetimePicker, SunDatetimePickerTemplate };
@@ -0,0 +1,40 @@
1
+ import { PercentPipe } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, numberAttribute, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
4
+
5
+ class SunCircularProgress {
6
+ constructor() {
7
+ this.progress = input.required(...(ngDevMode ? [{ debugName: "progress", transform: numberAttribute }] : [{ transform: numberAttribute }]));
8
+ this.size = input.required(...(ngDevMode ? [{ debugName: "size", transform: numberAttribute }] : [{ transform: numberAttribute }]));
9
+ this.strokeWidth = input.required(...(ngDevMode ? [{ debugName: "strokeWidth", transform: numberAttribute }] : [{ transform: numberAttribute }]));
10
+ this.color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : []));
11
+ this.radius = computed(() => this.size() / 2, ...(ngDevMode ? [{ debugName: "radius" }] : []));
12
+ this.normalizedColor = computed(() => `var(--ion-color-${this.color()})`, ...(ngDevMode ? [{ debugName: "normalizedColor" }] : []));
13
+ this.normalizedRadius = computed(() => this.radius() - this.strokeWidth() / 2, ...(ngDevMode ? [{ debugName: "normalizedRadius" }] : []));
14
+ this.transform = computed(() => `rotate(-90 ${this.radius()} ${this.radius()})`, ...(ngDevMode ? [{ debugName: "transform" }] : []));
15
+ /** 圆周 */
16
+ this.circumference = computed(() => 2 * Math.PI * this.normalizedRadius(), ...(ngDevMode ? [{ debugName: "circumference" }] : []));
17
+ this.dashOffset = computed(() => {
18
+ // 限制 progress 范围 0~1
19
+ const clamped = Math.max(0, Math.min(1, this.progress() || 0));
20
+ return this.circumference() - clamped * this.circumference();
21
+ }, ...(ngDevMode ? [{ debugName: "dashOffset" }] : []));
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunCircularProgress, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: SunCircularProgress, isStandalone: true, selector: "sun-circular-progress", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "sun-circular-progress" }, ngImport: i0, template: "<svg [attr.height]=\"size()\" [attr.width]=\"size()\">\n <!-- \u80CC\u666F\u5706 -->\n <circle\n stroke=\"var(--ion-color-light)\"\n fill=\"transparent\"\n [attr.cx]=\"radius()\"\n [attr.cy]=\"radius()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.r]=\"normalizedRadius()\" />\n <!-- \u524D\u666F\u8FDB\u5EA6\u5706 -->\n <circle\n fill=\"transparent\"\n stroke-linecap=\"round\"\n [attr.transform]=\"transform()\"\n [attr.cx]=\"radius()\"\n [attr.cy]=\"radius()\"\n [attr.stroke]=\"normalizedColor()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-dasharray]=\"circumference() + ' ' + circumference()\"\n [attr.stroke-dashoffset]=\"dashOffset()\"\n [attr.r]=\"normalizedRadius()\" />\n <text\n class=\"sun-circular-progress-value\"\n x=\"50%\"\n y=\"50%\"\n text-anchor=\"middle\"\n dy=\".35em\"\n [style.font-size.px]=\"(size() - strokeWidth()) / 4.5\">\n {{ progress() | percent: '0.0-1' }}\n </text>\n</svg>\n", styles: [".sun-circular-progress{display:inline-block;line-height:0}.sun-circular-progress circle{transition:stroke-dashoffset ease-out .35s}.sun-circular-progress-text{fill:var(--ion-text-color)}\n"], dependencies: [{ kind: "pipe", type: PercentPipe, name: "percent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunCircularProgress, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'sun-circular-progress', imports: [
29
+ PercentPipe
30
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
31
+ class: 'sun-circular-progress'
32
+ }, template: "<svg [attr.height]=\"size()\" [attr.width]=\"size()\">\n <!-- \u80CC\u666F\u5706 -->\n <circle\n stroke=\"var(--ion-color-light)\"\n fill=\"transparent\"\n [attr.cx]=\"radius()\"\n [attr.cy]=\"radius()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.r]=\"normalizedRadius()\" />\n <!-- \u524D\u666F\u8FDB\u5EA6\u5706 -->\n <circle\n fill=\"transparent\"\n stroke-linecap=\"round\"\n [attr.transform]=\"transform()\"\n [attr.cx]=\"radius()\"\n [attr.cy]=\"radius()\"\n [attr.stroke]=\"normalizedColor()\"\n [attr.stroke-width]=\"strokeWidth()\"\n [attr.stroke-dasharray]=\"circumference() + ' ' + circumference()\"\n [attr.stroke-dashoffset]=\"dashOffset()\"\n [attr.r]=\"normalizedRadius()\" />\n <text\n class=\"sun-circular-progress-value\"\n x=\"50%\"\n y=\"50%\"\n text-anchor=\"middle\"\n dy=\".35em\"\n [style.font-size.px]=\"(size() - strokeWidth()) / 4.5\">\n {{ progress() | percent: '0.0-1' }}\n </text>\n</svg>\n", styles: [".sun-circular-progress{display:inline-block;line-height:0}.sun-circular-progress circle{transition:stroke-dashoffset ease-out .35s}.sun-circular-progress-text{fill:var(--ion-text-color)}\n"] }]
33
+ }], propDecorators: { progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: true }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
34
+
35
+ /**
36
+ * Generated bundle index. Do not edit.
37
+ */
38
+
39
+ export { SunCircularProgress };
40
+ //# sourceMappingURL=solar-angular-ui-ionic-circular-progress.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-angular-ui-ionic-circular-progress.mjs","sources":["../tmp-esm2022/circular-progress/circular-progress.js","../tmp-esm2022/circular-progress/solar-angular-ui-ionic-circular-progress.js"],"sourcesContent":["import { PercentPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SunCircularProgress {\n constructor() {\n this.progress = input.required(...(ngDevMode ? [{ debugName: \"progress\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n this.size = input.required(...(ngDevMode ? [{ debugName: \"size\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n this.strokeWidth = input.required(...(ngDevMode ? [{ debugName: \"strokeWidth\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n this.color = input('primary', ...(ngDevMode ? [{ debugName: \"color\" }] : []));\n this.radius = computed(() => this.size() / 2, ...(ngDevMode ? [{ debugName: \"radius\" }] : []));\n this.normalizedColor = computed(() => `var(--ion-color-${this.color()})`, ...(ngDevMode ? [{ debugName: \"normalizedColor\" }] : []));\n this.normalizedRadius = computed(() => this.radius() - this.strokeWidth() / 2, ...(ngDevMode ? [{ debugName: \"normalizedRadius\" }] : []));\n this.transform = computed(() => `rotate(-90 ${this.radius()} ${this.radius()})`, ...(ngDevMode ? [{ debugName: \"transform\" }] : []));\n /** 圆周 */\n this.circumference = computed(() => 2 * Math.PI * this.normalizedRadius(), ...(ngDevMode ? [{ debugName: \"circumference\" }] : []));\n this.dashOffset = computed(() => {\n // 限制 progress 范围 0~1\n const clamped = Math.max(0, Math.min(1, this.progress() || 0));\n return this.circumference() - clamped * this.circumference();\n }, ...(ngDevMode ? [{ debugName: \"dashOffset\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunCircularProgress, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.9\", type: SunCircularProgress, isStandalone: true, selector: \"sun-circular-progress\", inputs: { progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: true, transformFunction: null }, strokeWidth: { classPropertyName: \"strokeWidth\", publicName: \"strokeWidth\", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: \"color\", publicName: \"color\", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: \"sun-circular-progress\" }, ngImport: i0, template: \"<svg [attr.height]=\\\"size()\\\" [attr.width]=\\\"size()\\\">\\n <!-- \\u80CC\\u666F\\u5706 -->\\n <circle\\n stroke=\\\"var(--ion-color-light)\\\"\\n fill=\\\"transparent\\\"\\n [attr.cx]=\\\"radius()\\\"\\n [attr.cy]=\\\"radius()\\\"\\n [attr.stroke-width]=\\\"strokeWidth()\\\"\\n [attr.r]=\\\"normalizedRadius()\\\" />\\n <!-- \\u524D\\u666F\\u8FDB\\u5EA6\\u5706 -->\\n <circle\\n fill=\\\"transparent\\\"\\n stroke-linecap=\\\"round\\\"\\n [attr.transform]=\\\"transform()\\\"\\n [attr.cx]=\\\"radius()\\\"\\n [attr.cy]=\\\"radius()\\\"\\n [attr.stroke]=\\\"normalizedColor()\\\"\\n [attr.stroke-width]=\\\"strokeWidth()\\\"\\n [attr.stroke-dasharray]=\\\"circumference() + ' ' + circumference()\\\"\\n [attr.stroke-dashoffset]=\\\"dashOffset()\\\"\\n [attr.r]=\\\"normalizedRadius()\\\" />\\n <text\\n class=\\\"sun-circular-progress-value\\\"\\n x=\\\"50%\\\"\\n y=\\\"50%\\\"\\n text-anchor=\\\"middle\\\"\\n dy=\\\".35em\\\"\\n [style.font-size.px]=\\\"(size() - strokeWidth()) / 4.5\\\">\\n {{ progress() | percent: '0.0-1' }}\\n </text>\\n</svg>\\n\", styles: [\".sun-circular-progress{display:inline-block;line-height:0}.sun-circular-progress circle{transition:stroke-dashoffset ease-out .35s}.sun-circular-progress-text{fill:var(--ion-text-color)}\\n\"], dependencies: [{ kind: \"pipe\", type: PercentPipe, name: \"percent\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunCircularProgress, decorators: [{\n type: Component,\n args: [{ selector: 'sun-circular-progress', imports: [\n PercentPipe\n ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'sun-circular-progress'\n }, template: \"<svg [attr.height]=\\\"size()\\\" [attr.width]=\\\"size()\\\">\\n <!-- \\u80CC\\u666F\\u5706 -->\\n <circle\\n stroke=\\\"var(--ion-color-light)\\\"\\n fill=\\\"transparent\\\"\\n [attr.cx]=\\\"radius()\\\"\\n [attr.cy]=\\\"radius()\\\"\\n [attr.stroke-width]=\\\"strokeWidth()\\\"\\n [attr.r]=\\\"normalizedRadius()\\\" />\\n <!-- \\u524D\\u666F\\u8FDB\\u5EA6\\u5706 -->\\n <circle\\n fill=\\\"transparent\\\"\\n stroke-linecap=\\\"round\\\"\\n [attr.transform]=\\\"transform()\\\"\\n [attr.cx]=\\\"radius()\\\"\\n [attr.cy]=\\\"radius()\\\"\\n [attr.stroke]=\\\"normalizedColor()\\\"\\n [attr.stroke-width]=\\\"strokeWidth()\\\"\\n [attr.stroke-dasharray]=\\\"circumference() + ' ' + circumference()\\\"\\n [attr.stroke-dashoffset]=\\\"dashOffset()\\\"\\n [attr.r]=\\\"normalizedRadius()\\\" />\\n <text\\n class=\\\"sun-circular-progress-value\\\"\\n x=\\\"50%\\\"\\n y=\\\"50%\\\"\\n text-anchor=\\\"middle\\\"\\n dy=\\\".35em\\\"\\n [style.font-size.px]=\\\"(size() - strokeWidth()) / 4.5\\\">\\n {{ progress() | percent: '0.0-1' }}\\n </text>\\n</svg>\\n\", styles: [\".sun-circular-progress{display:inline-block;line-height:0}.sun-circular-progress circle{transition:stroke-dashoffset ease-out .35s}.sun-circular-progress-text{fill:var(--ion-text-color)}\\n\"] }]\n }], propDecorators: { progress: [{ type: i0.Input, args: [{ isSignal: true, alias: \"progress\", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: \"size\", required: true }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: \"strokeWidth\", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: \"color\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY3VsYXItcHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS1pb25pYy9jaXJjdWxhci1wcm9ncmVzcy9jaXJjdWxhci1wcm9ncmVzcy50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLWlvbmljL2NpcmN1bGFyLXByb2dyZXNzL2NpcmN1bGFyLXByb2dyZXNzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZ0J4SCxNQUFNLE9BQU8sbUJBQW1CO0lBYmhDO1FBY1csYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLDJDQUFHLFNBQVMsRUFBRSxlQUFlLE9BQTVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxHQUFDLENBQUM7UUFDMUQsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLHVDQUFHLFNBQVMsRUFBRSxlQUFlLE9BQTVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxHQUFDLENBQUM7UUFDdEQsZ0JBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSw4Q0FBRyxTQUFTLEVBQUUsZUFBZSxPQUE1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsR0FBQyxDQUFDO1FBQzdELFVBQUssR0FBRyxLQUFLLENBQVEsU0FBUyxpREFBQyxDQUFDO1FBRWhDLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsa0RBQUMsQ0FBQztRQUN6QyxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLDJEQUFDLENBQUM7UUFDckUscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsNERBQ3ZDLENBQUM7UUFDTyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNqQyxjQUFjLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcscURBQ2hELENBQUM7UUFDRixTQUFTO1FBQ0Esa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3JDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSx5REFDdEMsQ0FBQztRQUNPLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2xDLHFCQUFxQjtZQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9ELENBQUMsc0RBQUMsQ0FBQztLQUNKOzhHQXZCWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixxb0JDakJoQywwK0JBK0JBLGlQRHhCSSxXQUFXOzsyRkFVRixtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsdUJBQXVCLFdBQ3hCO3dCQUNQLFdBQVc7cUJBQ1osaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsdUJBQXVCO3FCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcmNlbnRQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1bi1jaXJjdWxhci1wcm9ncmVzcycsXG4gIGltcG9ydHM6IFtcbiAgICBQZXJjZW50UGlwZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2lyY3VsYXItcHJvZ3Jlc3MuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaXJjdWxhci1wcm9ncmVzcy5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3N1bi1jaXJjdWxhci1wcm9ncmVzcydcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTdW5DaXJjdWxhclByb2dyZXNzIHtcbiAgcmVhZG9ubHkgcHJvZ3Jlc3MgPSBpbnB1dC5yZXF1aXJlZCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICByZWFkb25seSBzaXplID0gaW5wdXQucmVxdWlyZWQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgcmVhZG9ubHkgc3Ryb2tlV2lkdGggPSBpbnB1dC5yZXF1aXJlZCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICByZWFkb25seSBjb2xvciA9IGlucHV0PENvbG9yPigncHJpbWFyeScpO1xuXG4gIHJlYWRvbmx5IHJhZGl1cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2l6ZSgpIC8gMik7XG4gIHJlYWRvbmx5IG5vcm1hbGl6ZWRDb2xvciA9IGNvbXB1dGVkKCgpID0+IGB2YXIoLS1pb24tY29sb3ItJHt0aGlzLmNvbG9yKCl9KWApO1xuICByZWFkb25seSBub3JtYWxpemVkUmFkaXVzID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnJhZGl1cygpIC0gdGhpcy5zdHJva2VXaWR0aCgpIC8gMlxuICApO1xuICByZWFkb25seSB0cmFuc2Zvcm0gPSBjb21wdXRlZCgoKSA9PlxuICAgIGByb3RhdGUoLTkwICR7dGhpcy5yYWRpdXMoKX0gJHt0aGlzLnJhZGl1cygpfSlgXG4gICk7XG4gIC8qKiDlnIblkaggKi9cbiAgcmVhZG9ubHkgY2lyY3VtZmVyZW5jZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgMiAqIE1hdGguUEkgKiB0aGlzLm5vcm1hbGl6ZWRSYWRpdXMoKVxuICApO1xuICByZWFkb25seSBkYXNoT2Zmc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIC8vIOmZkOWItiBwcm9ncmVzcyDojIPlm7QgMO+9njFcbiAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgdGhpcy5wcm9ncmVzcygpIHx8IDApKTtcbiAgICByZXR1cm4gdGhpcy5jaXJjdW1mZXJlbmNlKCkgLSBjbGFtcGVkICogdGhpcy5jaXJjdW1mZXJlbmNlKCk7XG4gIH0pO1xufVxuIiwiPHN2ZyBbYXR0ci5oZWlnaHRdPVwic2l6ZSgpXCIgW2F0dHIud2lkdGhdPVwic2l6ZSgpXCI+XG4gIDwhLS0g6IOM5pmv5ZyGIC0tPlxuICA8Y2lyY2xlXG4gICAgc3Ryb2tlPVwidmFyKC0taW9uLWNvbG9yLWxpZ2h0KVwiXG4gICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICBbYXR0ci5jeF09XCJyYWRpdXMoKVwiXG4gICAgW2F0dHIuY3ldPVwicmFkaXVzKClcIlxuICAgIFthdHRyLnN0cm9rZS13aWR0aF09XCJzdHJva2VXaWR0aCgpXCJcbiAgICBbYXR0ci5yXT1cIm5vcm1hbGl6ZWRSYWRpdXMoKVwiIC8+XG4gIDwhLS0g5YmN5pmv6L+b5bqm5ZyGIC0tPlxuICA8Y2lyY2xlXG4gICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICBbYXR0ci50cmFuc2Zvcm1dPVwidHJhbnNmb3JtKClcIlxuICAgIFthdHRyLmN4XT1cInJhZGl1cygpXCJcbiAgICBbYXR0ci5jeV09XCJyYWRpdXMoKVwiXG4gICAgW2F0dHIuc3Ryb2tlXT1cIm5vcm1hbGl6ZWRDb2xvcigpXCJcbiAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwic3Ryb2tlV2lkdGgoKVwiXG4gICAgW2F0dHIuc3Ryb2tlLWRhc2hhcnJheV09XCJjaXJjdW1mZXJlbmNlKCkgKyAnICcgKyBjaXJjdW1mZXJlbmNlKClcIlxuICAgIFthdHRyLnN0cm9rZS1kYXNob2Zmc2V0XT1cImRhc2hPZmZzZXQoKVwiXG4gICAgW2F0dHIucl09XCJub3JtYWxpemVkUmFkaXVzKClcIiAvPlxuICA8dGV4dFxuICAgIGNsYXNzPVwic3VuLWNpcmN1bGFyLXByb2dyZXNzLXZhbHVlXCJcbiAgICB4PVwiNTAlXCJcbiAgICB5PVwiNTAlXCJcbiAgICB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXG4gICAgZHk9XCIuMzVlbVwiXG4gICAgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCIoc2l6ZSgpIC0gc3Ryb2tlV2lkdGgoKSkgLyA0LjVcIj5cbiAgICB7eyBwcm9ncmVzcygpIHwgcGVyY2VudDogJzAuMC0xJyB9fVxuICA8L3RleHQ+XG48L3N2Zz5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS1pb25pYy1jaXJjdWxhci1wcm9ncmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLWlvbmljL2NpcmN1bGFyLXByb2dyZXNzL3NvbGFyLWFuZ3VsYXItdWktaW9uaWMtY2lyY3VsYXItcHJvZ3Jlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { NgTemplateOutlet, DatePipe } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { contentChild, TemplateRef, input, booleanAttribute, computed, signal, linkedSignal, forwardRef, ViewEncapsulation, Component, Directive } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { IonIcon, IonInput, IonButton, IonButtons, IonDatetime, IonModal } from '@ionic/angular/standalone';
6
+
7
+ class SunDatetimePicker {
8
+ constructor() {
9
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
10
+ this.onTouched = () => { };
11
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
12
+ this.onChange = () => { };
13
+ this.template = contentChild(SunDatetimePickerTemplate, ...(ngDevMode ? [{ debugName: "template", read: TemplateRef }] : [{ read: TemplateRef }]));
14
+ this.type = input('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
15
+ this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
16
+ this.placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
17
+ this.multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
18
+ this.required = input(false, ...(ngDevMode ? [{ debugName: "required", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
19
+ this.min = input(new Date().setHours(0, 0, 0, 0) - 86400_000 * 30, ...(ngDevMode ? [{ debugName: "min" }] : []));
20
+ this.max = input(new Date().setHours(0, 0, 0, 0) + 86400_000, ...(ngDevMode ? [{ debugName: "max" }] : []));
21
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
22
+ this.minDate = computed(() => toLocalDate(new Date(this.min())), ...(ngDevMode ? [{ debugName: "minDate" }] : []));
23
+ this.maxDate = computed(() => toLocalDate(new Date(this.max())), ...(ngDevMode ? [{ debugName: "maxDate" }] : []));
24
+ this.valueDate = computed(() => {
25
+ const value = this.value();
26
+ if (!value) {
27
+ return null;
28
+ }
29
+ return toLocalDate(new Date(value));
30
+ }, ...(ngDevMode ? [{ debugName: "valueDate" }] : []));
31
+ this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
32
+ this.value = signal(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
33
+ this.finalPlaceholder = computed(() => this.placeholder() || `请选择${this.label()}`, ...(ngDevMode ? [{ debugName: "finalPlaceholder" }] : []));
34
+ this.finalDisabeld = linkedSignal(this.disabled, ...(ngDevMode ? [{ debugName: "finalDisabeld" }] : []));
35
+ }
36
+ setValue(value) {
37
+ const date = value ? new Date(value) : null;
38
+ // 如果不是时间类型,将时间设置为0点
39
+ if (!this.type().includes('time')) {
40
+ date?.setHours(0, 0, 0, 0);
41
+ }
42
+ this.value.set(date?.getTime() ?? null);
43
+ this.onChange(this.value());
44
+ }
45
+ writeValue(value) {
46
+ this.value.set(value);
47
+ }
48
+ registerOnChange(fn) {
49
+ this.onChange = fn;
50
+ }
51
+ registerOnTouched(fn) {
52
+ this.onTouched = fn;
53
+ }
54
+ setDisabledState(value) {
55
+ this.finalDisabeld.set(value);
56
+ }
57
+ present() {
58
+ this.isOpen.set(true);
59
+ }
60
+ dismiss() {
61
+ this.isOpen.set(false);
62
+ }
63
+ cancel() {
64
+ if (!this.required()) {
65
+ this.setValue(null);
66
+ }
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunDatetimePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: SunDatetimePicker, isStandalone: true, selector: "sun-datetime-picker", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "finalDisabeld() || present()" }, classAttribute: "sun-datetime-picker" }, providers: [
70
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SunDatetimePicker), multi: true }
71
+ ], queries: [{ propertyName: "template", first: true, predicate: SunDatetimePickerTemplate, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "@if (template(); as tpl) {\n <ng-template [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"{ $implicit: value() }\" />\n} @else {\n <ion-input\n readonly\n [label]=\"label()\"\n [attr.required]=\"required()\"\n [disabled]=\"finalDisabeld()\"\n [value]=\"valueDate() | date: 'yyyy-MM-dd'\"\n [placeholder]=\"finalPlaceholder()\">\n <ion-icon name=\"calendar-outline\" color=\"medium\" slot=\"end\" />\n </ion-input>\n}\n\n<ion-modal\n [isOpen]=\"isOpen()\"\n [style.--width]=\"'fit-content'\"\n [style.--height]=\"'fit-content'\"\n (didDismiss)=\"dismiss()\">\n <ng-template>\n <ion-datetime\n #datetime\n showDefaultButtons=\"true\"\n [presentation]=\"type()\"\n [min]=\"minDate().toISOString()\"\n [max]=\"maxDate().toISOString()\"\n [value]=\"valueDate()?.toISOString()\"\n (ionChange)=\"setValue($event.detail.value)\">\n <ion-buttons slot=\"buttons\">\n <ion-button color=\"primary\" (click)=\"cancel(); datetime.cancel(true)\">\u53D6\u6D88</ion-button>\n <ion-button color=\"primary\" (click)=\"datetime.confirm(true)\">\u5B8C\u6210</ion-button>\n </ion-buttons>\n </ion-datetime>\n </ng-template>\n</ion-modal>\n", styles: [".sun-datetime-picker{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showAdjacentDays", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunDatetimePicker, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'sun-datetime-picker', imports: [
76
+ IonIcon,
77
+ IonInput,
78
+ IonButton,
79
+ IonButtons,
80
+ IonDatetime,
81
+ IonModal,
82
+ DatePipe,
83
+ NgTemplateOutlet
84
+ ], providers: [
85
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SunDatetimePicker), multi: true }
86
+ ], encapsulation: ViewEncapsulation.None, host: {
87
+ class: 'sun-datetime-picker',
88
+ '(click)': 'finalDisabeld() || present()'
89
+ }, template: "@if (template(); as tpl) {\n <ng-template [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"{ $implicit: value() }\" />\n} @else {\n <ion-input\n readonly\n [label]=\"label()\"\n [attr.required]=\"required()\"\n [disabled]=\"finalDisabeld()\"\n [value]=\"valueDate() | date: 'yyyy-MM-dd'\"\n [placeholder]=\"finalPlaceholder()\">\n <ion-icon name=\"calendar-outline\" color=\"medium\" slot=\"end\" />\n </ion-input>\n}\n\n<ion-modal\n [isOpen]=\"isOpen()\"\n [style.--width]=\"'fit-content'\"\n [style.--height]=\"'fit-content'\"\n (didDismiss)=\"dismiss()\">\n <ng-template>\n <ion-datetime\n #datetime\n showDefaultButtons=\"true\"\n [presentation]=\"type()\"\n [min]=\"minDate().toISOString()\"\n [max]=\"maxDate().toISOString()\"\n [value]=\"valueDate()?.toISOString()\"\n (ionChange)=\"setValue($event.detail.value)\">\n <ion-buttons slot=\"buttons\">\n <ion-button color=\"primary\" (click)=\"cancel(); datetime.cancel(true)\">\u53D6\u6D88</ion-button>\n <ion-button color=\"primary\" (click)=\"datetime.confirm(true)\">\u5B8C\u6210</ion-button>\n </ion-buttons>\n </ion-datetime>\n </ng-template>\n</ion-modal>\n", styles: [".sun-datetime-picker{display:block;width:100%}\n"] }]
90
+ }], propDecorators: { template: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SunDatetimePickerTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
91
+ class SunDatetimePickerTemplate {
92
+ static ngTemplateContextGuard(_, ctx) {
93
+ return true;
94
+ }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunDatetimePickerTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
96
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: SunDatetimePickerTemplate, isStandalone: true, selector: "[sunDatetimePicker]", ngImport: i0 }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SunDatetimePickerTemplate, decorators: [{
99
+ type: Directive,
100
+ args: [{
101
+ selector: '[sunDatetimePicker]',
102
+ standalone: true
103
+ }]
104
+ }] });
105
+ function toLocalDate(date) {
106
+ // 解决时区问题,确保显示的日期不受时区影响
107
+ return new Date(date.getTime() -
108
+ date.getTimezoneOffset() * 60000 // 将时区偏移分钟转换为毫秒并从日期中减去
109
+ );
110
+ }
111
+
112
+ /**
113
+ * Generated bundle index. Do not edit.
114
+ */
115
+
116
+ export { SunDatetimePicker, SunDatetimePickerTemplate };
117
+ //# sourceMappingURL=solar-angular-ui-ionic-datetime-picker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-angular-ui-ionic-datetime-picker.mjs","sources":["../tmp-esm2022/datetime-picker/datetime-picker.js","../tmp-esm2022/datetime-picker/solar-angular-ui-ionic-datetime-picker.js"],"sourcesContent":["import { DatePipe, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, contentChild, Directive, forwardRef, input, linkedSignal, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IonButton, IonButtons, IonDatetime, IonIcon, IonInput, IonModal } from '@ionic/angular/standalone';\nimport * as i0 from \"@angular/core\";\nexport class SunDatetimePicker {\n constructor() {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.onTouched = () => { };\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.onChange = () => { };\n this.template = contentChild(SunDatetimePickerTemplate, ...(ngDevMode ? [{ debugName: \"template\", read: TemplateRef }] : [{ read: TemplateRef }]));\n this.type = input('date', ...(ngDevMode ? [{ debugName: \"type\" }] : []));\n this.label = input(...(ngDevMode ? [undefined, { debugName: \"label\" }] : []));\n this.placeholder = input(...(ngDevMode ? [undefined, { debugName: \"placeholder\" }] : []));\n this.multiple = input(false, ...(ngDevMode ? [{ debugName: \"multiple\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.required = input(false, ...(ngDevMode ? [{ debugName: \"required\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.min = input(new Date().setHours(0, 0, 0, 0) - 86400_000 * 30, ...(ngDevMode ? [{ debugName: \"min\" }] : []));\n this.max = input(new Date().setHours(0, 0, 0, 0) + 86400_000, ...(ngDevMode ? [{ debugName: \"max\" }] : []));\n this.disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.minDate = computed(() => toLocalDate(new Date(this.min())), ...(ngDevMode ? [{ debugName: \"minDate\" }] : []));\n this.maxDate = computed(() => toLocalDate(new Date(this.max())), ...(ngDevMode ? [{ debugName: \"maxDate\" }] : []));\n this.valueDate = computed(() => {\n const value = this.value();\n if (!value) {\n return null;\n }\n return toLocalDate(new Date(value));\n }, ...(ngDevMode ? [{ debugName: \"valueDate\" }] : []));\n this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n this.value = signal(null, ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n this.finalPlaceholder = computed(() => this.placeholder() || `请选择${this.label()}`, ...(ngDevMode ? [{ debugName: \"finalPlaceholder\" }] : []));\n this.finalDisabeld = linkedSignal(this.disabled, ...(ngDevMode ? [{ debugName: \"finalDisabeld\" }] : []));\n }\n setValue(value) {\n const date = value ? new Date(value) : null;\n // 如果不是时间类型,将时间设置为0点\n if (!this.type().includes('time')) {\n date?.setHours(0, 0, 0, 0);\n }\n this.value.set(date?.getTime() ?? null);\n this.onChange(this.value());\n }\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n setDisabledState(value) {\n this.finalDisabeld.set(value);\n }\n present() {\n this.isOpen.set(true);\n }\n dismiss() {\n this.isOpen.set(false);\n }\n cancel() {\n if (!this.required()) {\n this.setValue(null);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunDatetimePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.9\", type: SunDatetimePicker, isStandalone: true, selector: \"sun-datetime-picker\", inputs: { type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: \"min\", publicName: \"min\", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: \"max\", publicName: \"max\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"click\": \"finalDisabeld() || present()\" }, classAttribute: \"sun-datetime-picker\" }, providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SunDatetimePicker), multi: true }\n ], queries: [{ propertyName: \"template\", first: true, predicate: SunDatetimePickerTemplate, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: \"@if (template(); as tpl) {\\n <ng-template [ngTemplateOutlet]=\\\"tpl\\\" [ngTemplateOutletContext]=\\\"{ $implicit: value() }\\\" />\\n} @else {\\n <ion-input\\n readonly\\n [label]=\\\"label()\\\"\\n [attr.required]=\\\"required()\\\"\\n [disabled]=\\\"finalDisabeld()\\\"\\n [value]=\\\"valueDate() | date: 'yyyy-MM-dd'\\\"\\n [placeholder]=\\\"finalPlaceholder()\\\">\\n <ion-icon name=\\\"calendar-outline\\\" color=\\\"medium\\\" slot=\\\"end\\\" />\\n </ion-input>\\n}\\n\\n<ion-modal\\n [isOpen]=\\\"isOpen()\\\"\\n [style.--width]=\\\"'fit-content'\\\"\\n [style.--height]=\\\"'fit-content'\\\"\\n (didDismiss)=\\\"dismiss()\\\">\\n <ng-template>\\n <ion-datetime\\n #datetime\\n showDefaultButtons=\\\"true\\\"\\n [presentation]=\\\"type()\\\"\\n [min]=\\\"minDate().toISOString()\\\"\\n [max]=\\\"maxDate().toISOString()\\\"\\n [value]=\\\"valueDate()?.toISOString()\\\"\\n (ionChange)=\\\"setValue($event.detail.value)\\\">\\n <ion-buttons slot=\\\"buttons\\\">\\n <ion-button color=\\\"primary\\\" (click)=\\\"cancel(); datetime.cancel(true)\\\">\\u53D6\\u6D88</ion-button>\\n <ion-button color=\\\"primary\\\" (click)=\\\"datetime.confirm(true)\\\">\\u5B8C\\u6210</ion-button>\\n </ion-buttons>\\n </ion-datetime>\\n </ng-template>\\n</ion-modal>\\n\", styles: [\".sun-datetime-picker{display:block;width:100%}\\n\"], dependencies: [{ kind: \"component\", type: IonIcon, selector: \"ion-icon\", inputs: [\"color\", \"flipRtl\", \"icon\", \"ios\", \"lazy\", \"md\", \"mode\", \"name\", \"sanitize\", \"size\", \"src\"] }, { kind: \"component\", type: IonInput, selector: \"ion-input\", inputs: [\"accept\", \"autocapitalize\", \"autocomplete\", \"autocorrect\", \"autofocus\", \"clearInput\", \"clearOnEdit\", \"color\", \"counter\", \"counterFormatter\", \"debounce\", \"disabled\", \"enterkeyhint\", \"errorText\", \"fill\", \"helperText\", \"inputmode\", \"label\", \"labelPlacement\", \"max\", \"maxlength\", \"min\", \"minlength\", \"mode\", \"multiple\", \"name\", \"pattern\", \"placeholder\", \"readonly\", \"required\", \"shape\", \"size\", \"spellcheck\", \"step\", \"type\", \"value\"] }, { kind: \"component\", type: IonButton, selector: \"ion-button\", inputs: [\"buttonType\", \"color\", \"disabled\", \"download\", \"expand\", \"fill\", \"form\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"shape\", \"size\", \"strong\", \"target\", \"type\"] }, { kind: \"component\", type: IonButtons, selector: \"ion-buttons\", inputs: [\"collapse\"] }, { kind: \"component\", type: IonDatetime, selector: \"ion-datetime\", inputs: [\"cancelText\", \"clearText\", \"color\", \"dayValues\", \"disabled\", \"doneText\", \"firstDayOfWeek\", \"formatOptions\", \"highlightedDates\", \"hourCycle\", \"hourValues\", \"isDateEnabled\", \"locale\", \"max\", \"min\", \"minuteValues\", \"mode\", \"monthValues\", \"multiple\", \"name\", \"preferWheel\", \"presentation\", \"readonly\", \"showAdjacentDays\", \"showClearButton\", \"showDefaultButtons\", \"showDefaultTimeLabel\", \"showDefaultTitle\", \"size\", \"titleSelectedDatesFormatter\", \"value\", \"yearValues\"] }, { kind: \"component\", type: IonModal, selector: \"ion-modal\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: DatePipe, name: \"date\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunDatetimePicker, decorators: [{\n type: Component,\n args: [{ selector: 'sun-datetime-picker', imports: [\n IonIcon,\n IonInput,\n IonButton,\n IonButtons,\n IonDatetime,\n IonModal,\n DatePipe,\n NgTemplateOutlet\n ], providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SunDatetimePicker), multi: true }\n ], encapsulation: ViewEncapsulation.None, host: {\n class: 'sun-datetime-picker',\n '(click)': 'finalDisabeld() || present()'\n }, template: \"@if (template(); as tpl) {\\n <ng-template [ngTemplateOutlet]=\\\"tpl\\\" [ngTemplateOutletContext]=\\\"{ $implicit: value() }\\\" />\\n} @else {\\n <ion-input\\n readonly\\n [label]=\\\"label()\\\"\\n [attr.required]=\\\"required()\\\"\\n [disabled]=\\\"finalDisabeld()\\\"\\n [value]=\\\"valueDate() | date: 'yyyy-MM-dd'\\\"\\n [placeholder]=\\\"finalPlaceholder()\\\">\\n <ion-icon name=\\\"calendar-outline\\\" color=\\\"medium\\\" slot=\\\"end\\\" />\\n </ion-input>\\n}\\n\\n<ion-modal\\n [isOpen]=\\\"isOpen()\\\"\\n [style.--width]=\\\"'fit-content'\\\"\\n [style.--height]=\\\"'fit-content'\\\"\\n (didDismiss)=\\\"dismiss()\\\">\\n <ng-template>\\n <ion-datetime\\n #datetime\\n showDefaultButtons=\\\"true\\\"\\n [presentation]=\\\"type()\\\"\\n [min]=\\\"minDate().toISOString()\\\"\\n [max]=\\\"maxDate().toISOString()\\\"\\n [value]=\\\"valueDate()?.toISOString()\\\"\\n (ionChange)=\\\"setValue($event.detail.value)\\\">\\n <ion-buttons slot=\\\"buttons\\\">\\n <ion-button color=\\\"primary\\\" (click)=\\\"cancel(); datetime.cancel(true)\\\">\\u53D6\\u6D88</ion-button>\\n <ion-button color=\\\"primary\\\" (click)=\\\"datetime.confirm(true)\\\">\\u5B8C\\u6210</ion-button>\\n </ion-buttons>\\n </ion-datetime>\\n </ng-template>\\n</ion-modal>\\n\", styles: [\".sun-datetime-picker{display:block;width:100%}\\n\"] }]\n }], propDecorators: { template: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SunDatetimePickerTemplate), { ...{ read: TemplateRef }, isSignal: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: \"type\", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: \"label\", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: \"placeholder\", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: \"multiple\", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: \"required\", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: \"min\", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: \"max\", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: \"disabled\", required: false }] }] } });\nexport class SunDatetimePickerTemplate {\n static ngTemplateContextGuard(_, ctx) {\n return true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunDatetimePickerTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.9\", type: SunDatetimePickerTemplate, isStandalone: true, selector: \"[sunDatetimePicker]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: SunDatetimePickerTemplate, decorators: [{\n type: Directive,\n args: [{\n selector: '[sunDatetimePicker]',\n standalone: true\n }]\n }] });\nfunction toLocalDate(date) {\n // 解决时区问题,确保显示的日期不受时区影响\n return new Date(date.getTime() -\n date.getTimezoneOffset() * 60000 // 将时区偏移分钟转换为毫秒并从日期中减去\n );\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdWktaW9uaWMvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3VpLWlvbmljL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hLLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUF5QjVHLE1BQU0sT0FBTyxpQkFBaUI7SUF2QjlCO1FBd0JFLGdFQUFnRTtRQUN4RCxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLGdFQUFnRTtRQUN4RCxhQUFRLEdBQW1DLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVwRCxhQUFRLEdBQUcsWUFBWSxDQUFDLHlCQUF5Qiw0Q0FBSSxJQUFJLEVBQUUsV0FBVyxPQUFuQixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBQyxDQUFDO1FBRTFFLFNBQUksR0FBRyxLQUFLLENBQWdGLE1BQU0sZ0RBQUMsQ0FBQztRQUNwRyxVQUFLLEdBQUcsS0FBSywyREFBVSxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxp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QyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUM5RixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLFNBQVMsRUFBRSw4QkFBOEI7cUJBQzFDOzZGQVFnQyx5QkFBeUIsUUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7QUEyRW5GLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQTRCLEVBQUUsR0FBWTtRQUN0RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBSFUseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQU9ELFNBQVMsV0FBVyxDQUFDLElBQVU7SUFDN0IsdUJBQXVCO0lBQ3ZCLE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxzQkFBc0I7S0FDeEQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDb21wb25lbnQsIGNvbXB1dGVkLCBjb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgaW5wdXQsIGxpbmtlZFNpZ25hbCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uRGF0ZXRpbWUsIElvbkljb24sIElvbklucHV0LCBJb25Nb2RhbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdW4tZGF0ZXRpbWUtcGlja2VyJyxcbiAgaW1wb3J0czogW1xuICAgIElvbkljb24sXG4gICAgSW9uSW5wdXQsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uRGF0ZXRpbWUsXG4gICAgSW9uTW9kYWwsXG4gICAgRGF0ZVBpcGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdW5EYXRldGltZVBpY2tlciksIG11bHRpOiB0cnVlIH1cbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGV0aW1lLXBpY2tlci5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGV0aW1lLXBpY2tlci5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnc3VuLWRhdGV0aW1lLXBpY2tlcicsXG4gICAgJyhjbGljayknOiAnZmluYWxEaXNhYmVsZCgpIHx8IHByZXNlbnQoKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTdW5EYXRldGltZVBpY2tlciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IG51bWJlciB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB7IH07XG5cbiAgcmVhZG9ubHkgdGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoU3VuRGF0ZXRpbWVQaWNrZXJUZW1wbGF0ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KTtcblxuICByZWFkb25seSB0eXBlID0gaW5wdXQ8J2RhdGUnIHwgJ2RhdGUtdGltZScgfCAnbW9udGgnIHwgJ21vbnRoLXllYXInIHwgJ3RpbWUnIHwgJ3RpbWUtZGF0ZScgfCAneWVhcic+KCdkYXRlJyk7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbXVsdGlwbGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICByZWFkb25seSBtaW4gPSBpbnB1dChcbiAgICBuZXcgRGF0ZSgpLnNldEhvdXJzKDAsIDAsIDAsIDApIC0gODY0MDBfMDAwICogMzBcbiAgKTtcbiAgcmVhZG9ubHkgbWF4ID0gaW5wdXQoXG4gICAgbmV3IERhdGUoKS5zZXRIb3VycygwLCAwLCAwLCAwKSArIDg2NDAwXzAwMFxuICApO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICByZWFkb25seSBtaW5EYXRlID0gY29tcHV0ZWQoKCkgPT4gdG9Mb2NhbERhdGUobmV3IERhdGUodGhpcy5taW4oKSkpKTtcbiAgcmVhZG9ubHkgbWF4RGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRvTG9jYWxEYXRlKG5ldyBEYXRlKHRoaXMubWF4KCkpKSk7XG4gIHJlYWRvbmx5IHZhbHVlRGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRvTG9jYWxEYXRlKG5ldyBEYXRlKHZhbHVlKSk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHZhbHVlID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBmaW5hbFBsYWNlaG9sZGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wbGFjZWhvbGRlcigpIHx8IGDor7fpgInmi6kke3RoaXMubGFiZWwoKX1gKTtcbiAgcmVhZG9ubHkgZmluYWxEaXNhYmVsZCA9IGxpbmtlZFNpZ25hbCh0aGlzLmRpc2FibGVkKTtcblxuICBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGF0ZSA9IHZhbHVlID8gbmV3IERhdGUodmFsdWUgYXMgYW55KSA6IG51bGw7XG4gICAgLy8g5aaC5p6c5LiN5piv5pe26Ze057G75Z6L77yM5bCG5pe26Ze06K6+572u5Li6MOeCuVxuICAgIGlmICghdGhpcy50eXBlKCkuaW5jbHVkZXMoJ3RpbWUnKSkge1xuICAgICAgZGF0ZT8uc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgfVxuICAgIHRoaXMudmFsdWUuc2V0KGRhdGU/LmdldFRpbWUoKSA/PyBudWxsKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZmluYWxEaXNhYmVsZC5zZXQodmFsdWUpO1xuICB9XG5cbiAgcHJlc2VudCgpIHtcbiAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XG4gIH1cblxuICBkaXNtaXNzKCkge1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgaWYgKCF0aGlzLnJlcXVpcmVkKCkpIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzdW5EYXRldGltZVBpY2tlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFN1bkRhdGV0aW1lUGlja2VyVGVtcGxhdGUge1xuICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfOiBTdW5EYXRldGltZVBpY2tlclRlbXBsYXRlLCBjdHg6IHVua25vd24pOiBjdHggaXMgeyAkaW1wbGljaXQ6IG51bWJlciB8IG51bGwgfSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gdG9Mb2NhbERhdGUoZGF0ZTogRGF0ZSkge1xuICAvLyDop6PlhrPml7bljLrpl67popjvvIznoa7kv53mmL7npLrnmoTml6XmnJ/kuI3lj5fml7bljLrlvbHlk41cbiAgcmV0dXJuIG5ldyBEYXRlKFxuICAgIGRhdGUuZ2V0VGltZSgpIC1cbiAgICBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCAvLyDlsIbml7bljLrlgY/np7vliIbpkp/ovazmjaLkuLrmr6vnp5Llubbku47ml6XmnJ/kuK3lh4/ljrtcbiAgKTtcbn1cbiIsIkBpZiAodGVtcGxhdGUoKTsgYXMgdHBsKSB7XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cGxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHZhbHVlKCkgfVwiIC8+XG59IEBlbHNlIHtcbiAgPGlvbi1pbnB1dFxuICAgIHJlYWRvbmx5XG4gICAgW2xhYmVsXT1cImxhYmVsKClcIlxuICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkKClcIlxuICAgIFtkaXNhYmxlZF09XCJmaW5hbERpc2FiZWxkKClcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZURhdGUoKSB8IGRhdGU6ICd5eXl5LU1NLWRkJ1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cImZpbmFsUGxhY2Vob2xkZXIoKVwiPlxuICAgIDxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXItb3V0bGluZVwiIGNvbG9yPVwibWVkaXVtXCIgc2xvdD1cImVuZFwiIC8+XG4gIDwvaW9uLWlucHV0PlxufVxuXG48aW9uLW1vZGFsXG4gIFtpc09wZW5dPVwiaXNPcGVuKClcIlxuICBbc3R5bGUuLS13aWR0aF09XCInZml0LWNvbnRlbnQnXCJcbiAgW3N0eWxlLi0taGVpZ2h0XT1cIidmaXQtY29udGVudCdcIlxuICAoZGlkRGlzbWlzcyk9XCJkaXNtaXNzKClcIj5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxpb24tZGF0ZXRpbWVcbiAgICAgICNkYXRldGltZVxuICAgICAgc2hvd0RlZmF1bHRCdXR0b25zPVwidHJ1ZVwiXG4gICAgICBbcHJlc2VudGF0aW9uXT1cInR5cGUoKVwiXG4gICAgICBbbWluXT1cIm1pbkRhdGUoKS50b0lTT1N0cmluZygpXCJcbiAgICAgIFttYXhdPVwibWF4RGF0ZSgpLnRvSVNPU3RyaW5nKClcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlRGF0ZSgpPy50b0lTT1N0cmluZygpXCJcbiAgICAgIChpb25DaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50LmRldGFpbC52YWx1ZSlcIj5cbiAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiYnV0dG9uc1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2FuY2VsKCk7IGRhdGV0aW1lLmNhbmNlbCh0cnVlKVwiPuWPlua2iDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImRhdGV0aW1lLmNvbmZpcm0odHJ1ZSlcIj7lrozmiJA8L2lvbi1idXR0b24+XG4gICAgICA8L2lvbi1idXR0b25zPlxuICAgIDwvaW9uLWRhdGV0aW1lPlxuICA8L25nLXRlbXBsYXRlPlxuPC9pb24tbW9kYWw+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS1pb25pYy1kYXRldGltZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91aS1pb25pYy9kYXRldGltZS1waWNrZXIvc29sYXItYW5ndWxhci11aS1pb25pYy1kYXRldGltZS1waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;AAKO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;AAClC;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,yBAAyB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;AAC1J,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChF,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjG,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACnJ,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACnJ,QAAQ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxH,QAAQ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnH,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACnJ,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1H,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1H,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACxC,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AACtC,YAAY,IAAI,CAAC,KAAK,EAAE;AACxB,gBAAgB,OAAO,IAAI;AAC3B,YAAY;AACZ,YAAY,OAAO,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9D,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpF,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrJ,QAAQ,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChH,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI;AACnD;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3C,YAAY,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtC,QAAQ;AACR,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC;AAC/C,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACnC,IAAI;AACJ,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,IAAI;AACJ,IAAI,gBAAgB,CAAC,EAAE,EAAE;AACzB,QAAQ,IAAI,CAAC,QAAQ,GAAG,EAAE;AAC1B,IAAI;AACJ,IAAI,iBAAiB,CAAC,EAAE,EAAE;AAC1B,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B,IAAI;AACJ,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AACrC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9B,IAAI;AACJ,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC9B,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC/B,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACnL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,EAAE,SAAS,EAAE;AACxwC,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI;AACvG,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,qsCAAqsC,EAAE,MAAM,EAAE,CAAC,kDAAkD,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,EAAE,6BAA6B,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACpxG;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE;AAC/D,wBAAwB,OAAO;AAC/B,wBAAwB,QAAQ;AAChC,wBAAwB,SAAS;AACjC,wBAAwB,UAAU;AAClC,wBAAwB,WAAW;AACnC,wBAAwB,QAAQ;AAChC,wBAAwB,QAAQ;AAChC,wBAAwB;AACxB,qBAAqB,EAAE,SAAS,EAAE;AAClC,wBAAwB,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI;AACnH,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE;AACpE,wBAAwB,KAAK,EAAE,qBAAqB;AACpD,wBAAwB,SAAS,EAAE;AACnC,qBAAqB,EAAE,QAAQ,EAAE,qsCAAqsC,EAAE,MAAM,EAAE,CAAC,kDAAkD,CAAC,EAAE;AACtyC,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAC34B,MAAM,yBAAyB,CAAC;AACvC,IAAI,OAAO,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE;AAC1C,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClM;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,qBAAqB;AACnD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;AACb,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B;AACA,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAClC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK;AACxC,KAAK;AACL;;AC5GA;AACA;AACA;;;;"}
@@ -103,10 +103,10 @@ class OverlayController {
103
103
  return observable.pipe(finalize(async () => (await loading).dismiss()));
104
104
  };
105
105
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: OverlayController, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
107
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: OverlayController, providedIn: 'root' }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: OverlayController, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: OverlayController, providedIn: 'root' }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: OverlayController, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: OverlayController, decorators: [{
110
110
  type: Injectable,
111
111
  args: [{
112
112
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"solar-angular-ui-ionic.mjs","sources":["../../../packages/ui-ionic/src/haptics.ts","../../../packages/ui-ionic/src/overlay.controller.ts","../../../packages/ui-ionic/src/solar-angular-ui-ionic.ts"],"sourcesContent":["import { Haptics, ImpactStyle, type NotificationType } from '@capacitor/haptics';\n\nexport function HapticsImpact(style: ImpactStyle = ImpactStyle.Light) {\n return function <This, Args extends any[], Return>(\n target: (this: This, ...args: Args) => Return,\n _context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>\n ) {\n return function (this: This, ...args: Args): Return {\n Haptics.impact({ style });\n return target.apply(this, args);\n };\n };\n}\n\nexport function HapticsNotification(type: NotificationType) {\n return function <This, Args extends any[], Return>(\n target: (this: This, ...args: Args) => Return,\n _context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>\n ) {\n return function (this: This, ...args: Args): Return {\n Haptics.notification({ type });\n return target.apply(this, args);\n };\n };\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ActionSheetButton, ActionSheetController, ActionSheetOptions, AlertButton, AlertController, AlertOptions, LoadingController, ToastController } from '@ionic/angular/standalone';\nimport { finalize, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OverlayController {\n private readonly loadingCtrl = inject(LoadingController);\n private readonly toastCtrl = inject(ToastController);\n private readonly alertCtrl = inject(AlertController);\n private readonly actionSheetCtrl = inject(ActionSheetController);\n\n readonly toast = {\n info: async (message: string) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'information-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n },\n success: async (message: string) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'checkmark-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n },\n warning: async (message: string) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'alert-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n },\n error: async (message: string) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'close-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n }\n };\n\n async alert(header: string, message: string, options: AlertOptions) {\n const alert = await this.alertCtrl.create({\n header,\n message,\n translucent: true,\n ...options\n });\n await alert.present();\n return alert;\n }\n\n async actionSheet(header: string, options: ActionSheetOptions) {\n const actionSheet = await this.actionSheetCtrl.create({\n header: header || undefined,\n translucent: true,\n ...options\n });\n await actionSheet.present();\n return actionSheet;\n }\n\n async loading(message = '正在加载') {\n const loading = await this.loadingCtrl.create({\n message,\n cssClass: 'ion-loading'\n });\n await loading.present();\n return loading;\n }\n\n withLoading<T>(message?: string) {\n return (observable: Observable<T>) => {\n const loading = this.loading(message);\n return observable.pipe(\n finalize(async () => (await loading).dismiss())\n );\n };\n }\n\n}\n\nexport function actionSheetCancelButton(text = '取消', handler?: ActionSheetButton['handler']): ActionSheetButton {\n return {\n text,\n role: 'cancel',\n handler\n };\n}\n\nexport function actionSheetDestructiveButton(text: string, handler?: ActionSheetButton['handler']): ActionSheetButton {\n return {\n text,\n role: 'destructive',\n handler\n };\n}\n\nexport function actionSheetButton(text: string, handler?: ActionSheetButton['handler']): ActionSheetButton {\n return {\n text,\n handler\n };\n}\n\nexport function alertCancelButton(text = '取消', handler?: AlertButton['handler']): AlertButton {\n return {\n text,\n role: 'cancel',\n handler\n };\n}\n\nexport function alertDestructiveButton(text: string, handler?: AlertButton['handler']): AlertButton {\n return {\n text,\n role: 'destructive',\n handler\n };\n}\n\nexport function alertButton(text: string, handler?: AlertButton['handler']): AlertButton {\n return {\n text,\n handler\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solar-angular-ui-ionic.mjs","sources":["../tmp-esm2022/haptics.js","../tmp-esm2022/overlay.controller.js","../tmp-esm2022/solar-angular-ui-ionic.js"],"sourcesContent":["import { Haptics, ImpactStyle } from '@capacitor/haptics';\nexport function HapticsImpact(style = ImpactStyle.Light) {\n return function (target, _context) {\n return function (...args) {\n Haptics.impact({ style });\n return target.apply(this, args);\n };\n };\n}\nexport function HapticsNotification(type) {\n return function (target, _context) {\n return function (...args) {\n Haptics.notification({ type });\n return target.apply(this, args);\n };\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFwdGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3VpLWlvbmljL3NyYy9oYXB0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBRWpGLE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBcUIsV0FBVyxDQUFDLEtBQUs7SUFDbEUsT0FBTyxVQUNMLE1BQTZDLEVBQzdDLFFBQWtGO1FBRWxGLE9BQU8sVUFBc0IsR0FBRyxJQUFVO1lBQ3hDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFzQjtJQUN4RCxPQUFPLFVBQ0wsTUFBNkMsRUFDN0MsUUFBa0Y7UUFFbEYsT0FBTyxVQUFzQixHQUFHLElBQVU7WUFDeEMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDL0IsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFwdGljcywgSW1wYWN0U3R5bGUsIHR5cGUgTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJ0BjYXBhY2l0b3IvaGFwdGljcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBIYXB0aWNzSW1wYWN0KHN0eWxlOiBJbXBhY3RTdHlsZSA9IEltcGFjdFN0eWxlLkxpZ2h0KSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VGhpcywgQXJncyBleHRlbmRzIGFueVtdLCBSZXR1cm4+KFxuICAgIHRhcmdldDogKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybixcbiAgICBfY29udGV4dDogQ2xhc3NNZXRob2REZWNvcmF0b3JDb250ZXh0PFRoaXMsICh0aGlzOiBUaGlzLCAuLi5hcmdzOiBBcmdzKSA9PiBSZXR1cm4+XG4gICkge1xuICAgIHJldHVybiBmdW5jdGlvbiAodGhpczogVGhpcywgLi4uYXJnczogQXJncyk6IFJldHVybiB7XG4gICAgICBIYXB0aWNzLmltcGFjdCh7IHN0eWxlIH0pO1xuICAgICAgcmV0dXJuIHRhcmdldC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSGFwdGljc05vdGlmaWNhdGlvbih0eXBlOiBOb3RpZmljYXRpb25UeXBlKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VGhpcywgQXJncyBleHRlbmRzIGFueVtdLCBSZXR1cm4+KFxuICAgIHRhcmdldDogKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybixcbiAgICBfY29udGV4dDogQ2xhc3NNZXRob2REZWNvcmF0b3JDb250ZXh0PFRoaXMsICh0aGlzOiBUaGlzLCAuLi5hcmdzOiBBcmdzKSA9PiBSZXR1cm4+XG4gICkge1xuICAgIHJldHVybiBmdW5jdGlvbiAodGhpczogVGhpcywgLi4uYXJnczogQXJncyk6IFJldHVybiB7XG4gICAgICBIYXB0aWNzLm5vdGlmaWNhdGlvbih7IHR5cGUgfSk7XG4gICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gIH07XG59XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { ActionSheetController, AlertController, LoadingController, ToastController } from '@ionic/angular/standalone';\nimport { finalize } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class OverlayController {\n constructor() {\n this.loadingCtrl = inject(LoadingController);\n this.toastCtrl = inject(ToastController);\n this.alertCtrl = inject(AlertController);\n this.actionSheetCtrl = inject(ActionSheetController);\n this.toast = {\n info: async (message) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'information-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n },\n success: async (message) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'checkmark-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n },\n warning: async (message) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'alert-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n },\n error: async (message) => {\n const toast = await this.toastCtrl.create({\n message,\n color: 'dark',\n icon: 'close-circle',\n translucent: true\n });\n await toast.present();\n return toast;\n }\n };\n }\n async alert(header, message, options) {\n const alert = await this.alertCtrl.create({\n header,\n message,\n translucent: true,\n ...options\n });\n await alert.present();\n return alert;\n }\n async actionSheet(header, options) {\n const actionSheet = await this.actionSheetCtrl.create({\n header: header || undefined,\n translucent: true,\n ...options\n });\n await actionSheet.present();\n return actionSheet;\n }\n async loading(message = '正在加载') {\n const loading = await this.loadingCtrl.create({\n message,\n cssClass: 'ion-loading'\n });\n await loading.present();\n return loading;\n }\n withLoading(message) {\n return (observable) => {\n const loading = this.loading(message);\n return observable.pipe(finalize(async () => (await loading).dismiss()));\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: OverlayController, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: OverlayController, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: OverlayController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\nexport function actionSheetCancelButton(text = '取消', handler) {\n return {\n text,\n role: 'cancel',\n handler\n };\n}\nexport function actionSheetDestructiveButton(text, handler) {\n return {\n text,\n role: 'destructive',\n handler\n };\n}\nexport function actionSheetButton(text, handler) {\n return {\n text,\n handler\n };\n}\nexport function alertCancelButton(text = '取消', handler) {\n return {\n text,\n role: 'cancel',\n handler\n };\n}\nexport function alertDestructiveButton(text, handler) {\n return {\n text,\n role: 'destructive',\n handler\n };\n}\nexport function alertButton(text, handler) {\n return {\n text,\n handler\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvdWktaW9uaWMvc3JjL292ZXJsYXkuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQXFCLHFCQUFxQixFQUFtQyxlQUFlLEVBQWdCLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pMLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBSzVDLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJbUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEMsb0JBQWUsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV4RCxVQUFLLEdBQUc7WUFDZixJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQWUsRUFBRSxFQUFFO2dCQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO29CQUN4QyxPQUFPO29CQUNQLEtBQUssRUFBRSxNQUFNO29CQUNiLElBQUksRUFBRSxvQkFBb0I7b0JBQzFCLFdBQVcsRUFBRSxJQUFJO2lCQUNsQixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBZSxFQUFFLEVBQUU7Z0JBQ2pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7b0JBQ3hD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QUFPO1FBQ0wsSUFBSTtRQUNKLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLElBQVksRUFBRSxPQUFzQztJQUMvRixPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsT0FBc0M7SUFDcEYsT0FBTztRQUNMLElBQUk7UUFDSixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxPQUFnQztJQUM3RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQVksRUFBRSxPQUFnQztJQUNuRixPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE9BQWdDO0lBQ3hFLE9BQU87UUFDTCxJQUFJO1FBQ0osT0FBTztLQUNSLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldEJ1dHRvbiwgQWN0aW9uU2hlZXRDb250cm9sbGVyLCBBY3Rpb25TaGVldE9wdGlvbnMsIEFsZXJ0QnV0dG9uLCBBbGVydENvbnRyb2xsZXIsIEFsZXJ0T3B0aW9ucywgTG9hZGluZ0NvbnRyb2xsZXIsIFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgZmluYWxpemUsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmxheUNvbnRyb2xsZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmdDdHJsID0gaW5qZWN0KExvYWRpbmdDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0b2FzdEN0cmwgPSBpbmplY3QoVG9hc3RDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhbGVydEN0cmwgPSBpbmplY3QoQWxlcnRDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25TaGVldEN0cmwgPSBpbmplY3QoQWN0aW9uU2hlZXRDb250cm9sbGVyKTtcblxuICByZWFkb25seSB0b2FzdCA9IHtcbiAgICBpbmZvOiBhc3luYyAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDdHJsLmNyZWF0ZSh7XG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGljb246ICdpbmZvcm1hdGlvbi1jaXJjbGUnLFxuICAgICAgICB0cmFuc2x1Y2VudDogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XG4gICAgICByZXR1cm4gdG9hc3Q7XG4gICAgfSxcbiAgICBzdWNjZXNzOiBhc3luYyAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDdHJsLmNyZWF0ZSh7XG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGljb246ICdjaGVja21hcmstY2lyY2xlJyxcbiAgICAgICAgdHJhbnNsdWNlbnQ6IHRydWVcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xuICAgICAgcmV0dXJuIHRvYXN0O1xuICAgIH0sXG4gICAgd2FybmluZzogYXN5bmMgKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q3RybC5jcmVhdGUoe1xuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICBpY29uOiAnYWxlcnQtY2lyY2xlJyxcbiAgICAgICAgdHJhbnNsdWNlbnQ6IHRydWVcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xuICAgICAgcmV0dXJuIHRvYXN0O1xuICAgIH0sXG4gICAgZXJyb3I6IGFzeW5jIChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdEN0cmwuY3JlYXRlKHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgaWNvbjogJ2Nsb3NlLWNpcmNsZScsXG4gICAgICAgIHRyYW5zbHVjZW50OiB0cnVlXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHRvYXN0LnByZXNlbnQoKTtcbiAgICAgIHJldHVybiB0b2FzdDtcbiAgICB9XG4gIH07XG5cbiAgYXN5bmMgYWxlcnQoaGVhZGVyOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgb3B0aW9uczogQWxlcnRPcHRpb25zKSB7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q3RybC5jcmVhdGUoe1xuICAgICAgaGVhZGVyLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH0pO1xuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgICByZXR1cm4gYWxlcnQ7XG4gIH1cblxuICBhc3luYyBhY3Rpb25TaGVldChoZWFkZXI6IHN0cmluZywgb3B0aW9uczogQWN0aW9uU2hlZXRPcHRpb25zKSB7XG4gICAgY29uc3QgYWN0aW9uU2hlZXQgPSBhd2FpdCB0aGlzLmFjdGlvblNoZWV0Q3RybC5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiBoZWFkZXIgfHwgdW5kZWZpbmVkLFxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfSk7XG4gICAgYXdhaXQgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xuICAgIHJldHVybiBhY3Rpb25TaGVldDtcbiAgfVxuXG4gIGFzeW5jIGxvYWRpbmcobWVzc2FnZSA9ICfmraPlnKjliqDovb0nKSB7XG4gICAgY29uc3QgbG9hZGluZyA9IGF3YWl0IHRoaXMubG9hZGluZ0N0cmwuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBjc3NDbGFzczogJ2lvbi1sb2FkaW5nJ1xuICAgIH0pO1xuICAgIGF3YWl0IGxvYWRpbmcucHJlc2VudCgpO1xuICAgIHJldHVybiBsb2FkaW5nO1xuICB9XG5cbiAgd2l0aExvYWRpbmc8VD4obWVzc2FnZT86IHN0cmluZykge1xuICAgIHJldHVybiAob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPikgPT4ge1xuICAgICAgY29uc3QgbG9hZGluZyA9IHRoaXMubG9hZGluZyhtZXNzYWdlKTtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICAgIGZpbmFsaXplKGFzeW5jICgpID0+IChhd2FpdCBsb2FkaW5nKS5kaXNtaXNzKCkpXG4gICAgICApO1xuICAgIH07XG4gIH1cblxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uU2hlZXRDYW5jZWxCdXR0b24odGV4dCA9ICflj5bmtognLCBoYW5kbGVyPzogQWN0aW9uU2hlZXRCdXR0b25bJ2hhbmRsZXInXSk6IEFjdGlvblNoZWV0QnV0dG9uIHtcbiAgcmV0dXJuIHtcbiAgICB0ZXh0LFxuICAgIHJvbGU6ICdjYW5jZWwnLFxuICAgIGhhbmRsZXJcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvblNoZWV0RGVzdHJ1Y3RpdmVCdXR0b24odGV4dDogc3RyaW5nLCBoYW5kbGVyPzogQWN0aW9uU2hlZXRCdXR0b25bJ2hhbmRsZXInXSk6IEFjdGlvblNoZWV0QnV0dG9uIHtcbiAgcmV0dXJuIHtcbiAgICB0ZXh0LFxuICAgIHJvbGU6ICdkZXN0cnVjdGl2ZScsXG4gICAgaGFuZGxlclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uU2hlZXRCdXR0b24odGV4dDogc3RyaW5nLCBoYW5kbGVyPzogQWN0aW9uU2hlZXRCdXR0b25bJ2hhbmRsZXInXSk6IEFjdGlvblNoZWV0QnV0dG9uIHtcbiAgcmV0dXJuIHtcbiAgICB0ZXh0LFxuICAgIGhhbmRsZXJcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsZXJ0Q2FuY2VsQnV0dG9uKHRleHQgPSAn5Y+W5raIJywgaGFuZGxlcj86IEFsZXJ0QnV0dG9uWydoYW5kbGVyJ10pOiBBbGVydEJ1dHRvbiB7XG4gIHJldHVybiB7XG4gICAgdGV4dCxcbiAgICByb2xlOiAnY2FuY2VsJyxcbiAgICBoYW5kbGVyXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGVydERlc3RydWN0aXZlQnV0dG9uKHRleHQ6IHN0cmluZywgaGFuZGxlcj86IEFsZXJ0QnV0dG9uWydoYW5kbGVyJ10pOiBBbGVydEJ1dHRvbiB7XG4gIHJldHVybiB7XG4gICAgdGV4dCxcbiAgICByb2xlOiAnZGVzdHJ1Y3RpdmUnLFxuICAgIGhhbmRsZXJcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsZXJ0QnV0dG9uKHRleHQ6IHN0cmluZywgaGFuZGxlcj86IEFsZXJ0QnV0dG9uWydoYW5kbGVyJ10pOiBBbGVydEJ1dHRvbiB7XG4gIHJldHVybiB7XG4gICAgdGV4dCxcbiAgICBoYW5kbGVyXG4gIH07XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci11aS1pb25pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3VpLWlvbmljL3NyYy9zb2xhci1hbmd1bGFyLXVpLWlvbmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,34 @@
1
- export * from './haptics';
2
- export * from './overlay.controller';
1
+ import { ImpactStyle, NotificationType } from '@capacitor/haptics';
2
+ import { AlertOptions, ActionSheetOptions, ActionSheetButton, AlertButton } from '@ionic/angular/standalone';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from '@angular/core';
5
+
6
+ declare function HapticsImpact(style?: ImpactStyle): <This, Args extends any[], Return>(target: (this: This, ...args: Args) => Return, _context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>) => (this: This, ...args: Args) => Return;
7
+ declare function HapticsNotification(type: NotificationType): <This, Args extends any[], Return>(target: (this: This, ...args: Args) => Return, _context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>) => (this: This, ...args: Args) => Return;
8
+
9
+ declare class OverlayController {
10
+ private readonly loadingCtrl;
11
+ private readonly toastCtrl;
12
+ private readonly alertCtrl;
13
+ private readonly actionSheetCtrl;
14
+ readonly toast: {
15
+ info: (message: string) => Promise<HTMLIonToastElement>;
16
+ success: (message: string) => Promise<HTMLIonToastElement>;
17
+ warning: (message: string) => Promise<HTMLIonToastElement>;
18
+ error: (message: string) => Promise<HTMLIonToastElement>;
19
+ };
20
+ alert(header: string, message: string, options: AlertOptions): Promise<HTMLIonAlertElement>;
21
+ actionSheet(header: string, options: ActionSheetOptions): Promise<HTMLIonActionSheetElement>;
22
+ loading(message?: string): Promise<HTMLIonLoadingElement>;
23
+ withLoading<T>(message?: string): (observable: Observable<T>) => Observable<T>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayController, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<OverlayController>;
26
+ }
27
+ declare function actionSheetCancelButton(text?: string, handler?: ActionSheetButton['handler']): ActionSheetButton;
28
+ declare function actionSheetDestructiveButton(text: string, handler?: ActionSheetButton['handler']): ActionSheetButton;
29
+ declare function actionSheetButton(text: string, handler?: ActionSheetButton['handler']): ActionSheetButton;
30
+ declare function alertCancelButton(text?: string, handler?: AlertButton['handler']): AlertButton;
31
+ declare function alertDestructiveButton(text: string, handler?: AlertButton['handler']): AlertButton;
32
+ declare function alertButton(text: string, handler?: AlertButton['handler']): AlertButton;
33
+
34
+ export { HapticsImpact, HapticsNotification, OverlayController, actionSheetButton, actionSheetCancelButton, actionSheetDestructiveButton, alertButton, alertCancelButton, alertDestructiveButton };
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@solar-angular/ui-ionic",
3
- "version": "19.4.2",
3
+ "version": "20.0.1",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "peerDependencies": {
9
- "@angular/core": ">=19.0.0",
10
- "@ionic/angular": ">=7.0.0",
11
- "@capacitor/haptics": ">=7.0.0"
9
+ "@angular/core": ">=20.0.0",
10
+ "@ionic/angular": ">=8.0.0",
11
+ "@capacitor/haptics": ">=8.0.0"
12
12
  },
13
13
  "module": "fesm2022/solar-angular-ui-ionic.mjs",
14
14
  "typings": "index.d.ts",
@@ -19,6 +19,14 @@
19
19
  ".": {
20
20
  "types": "./index.d.ts",
21
21
  "default": "./fesm2022/solar-angular-ui-ionic.mjs"
22
+ },
23
+ "./circular-progress": {
24
+ "types": "./circular-progress/index.d.ts",
25
+ "default": "./fesm2022/solar-angular-ui-ionic-circular-progress.mjs"
26
+ },
27
+ "./datetime-picker": {
28
+ "types": "./datetime-picker/index.d.ts",
29
+ "default": "./fesm2022/solar-angular-ui-ionic-datetime-picker.mjs"
22
30
  }
23
31
  },
24
32
  "dependencies": {
package/haptics.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { ImpactStyle, type NotificationType } from '@capacitor/haptics';
2
- export declare function HapticsImpact(style?: ImpactStyle): <This, Args extends any[], Return>(target: (this: This, ...args: Args) => Return, _context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>) => (this: This, ...args: Args) => Return;
3
- export declare function HapticsNotification(type: NotificationType): <This, Args extends any[], Return>(target: (this: This, ...args: Args) => Return, _context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Return>) => (this: This, ...args: Args) => Return;
@@ -1,27 +0,0 @@
1
- import { ActionSheetButton, ActionSheetOptions, AlertButton, AlertOptions } from '@ionic/angular/standalone';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class OverlayController {
5
- private readonly loadingCtrl;
6
- private readonly toastCtrl;
7
- private readonly alertCtrl;
8
- private readonly actionSheetCtrl;
9
- readonly toast: {
10
- info: (message: string) => Promise<HTMLIonToastElement>;
11
- success: (message: string) => Promise<HTMLIonToastElement>;
12
- warning: (message: string) => Promise<HTMLIonToastElement>;
13
- error: (message: string) => Promise<HTMLIonToastElement>;
14
- };
15
- alert(header: string, message: string, options: AlertOptions): Promise<HTMLIonAlertElement>;
16
- actionSheet(header: string, options: ActionSheetOptions): Promise<HTMLIonActionSheetElement>;
17
- loading(message?: string): Promise<HTMLIonLoadingElement>;
18
- withLoading<T>(message?: string): (observable: Observable<T>) => Observable<T>;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<OverlayController, never>;
20
- static ɵprov: i0.ɵɵInjectableDeclaration<OverlayController>;
21
- }
22
- export declare function actionSheetCancelButton(text?: string, handler?: ActionSheetButton['handler']): ActionSheetButton;
23
- export declare function actionSheetDestructiveButton(text: string, handler?: ActionSheetButton['handler']): ActionSheetButton;
24
- export declare function actionSheetButton(text: string, handler?: ActionSheetButton['handler']): ActionSheetButton;
25
- export declare function alertCancelButton(text?: string, handler?: AlertButton['handler']): AlertButton;
26
- export declare function alertDestructiveButton(text: string, handler?: AlertButton['handler']): AlertButton;
27
- export declare function alertButton(text: string, handler?: AlertButton['handler']): AlertButton;