@acorex/platform 19.1.1 → 19.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +1 -0
- package/common/lib/app/application.types.d.ts +14 -9
- package/common/lib/configs/app.config.d.ts +0 -1
- package/common/lib/filters/filters.service.d.ts +8 -0
- package/common/lib/filters/filters.types.d.ts +18 -0
- package/common/lib/filters/index.d.ts +2 -0
- package/common/lib/settings/setting-definition.provider.d.ts +4 -2
- package/common/lib/settings/setting.builder.d.ts +3 -5
- package/common/lib/settings/settings.types.d.ts +1 -0
- package/fesm2022/acorex-platform-auth.mjs +5 -4
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +72 -15
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +80 -28
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +7 -7
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +364 -256
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-filters.mjs +47 -0
- package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-setting.mjs +175 -70
- package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
- package/fesm2022/acorex-platform-layouts.mjs +1 -1
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs → acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs → acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs} +83 -20
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs → acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs → acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs} +11 -11
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs +78 -0
- package/fesm2022/acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-setting-view.component-BgiMClew.mjs +58 -0
- package/fesm2022/acorex-platform-themes-default-setting-view.component-BgiMClew.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +47 -98
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +248 -54
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +258 -34
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +3 -4
- package/layout/builder/lib/builder/widget.types.d.ts +12 -5
- package/layout/entity/lib/entity-master-create.viewmodel.d.ts +3 -3
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
- package/layout/entity/lib/entity.viewmodel.d.ts +1 -0
- package/layout/entity/lib/workflows/modify-entity.workflow.d.ts +14 -0
- package/layout/filters/README.md +3 -0
- package/layout/filters/index.d.ts +1 -0
- package/layout/filters/lib/filters.viewmodel.d.ts +20 -0
- package/layout/setting/lib/setting.viewmodel.d.ts +23 -21
- package/package.json +15 -11
- package/themes/default/index.d.ts +0 -1
- package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +48 -3
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.d.ts +11 -0
- package/themes/default/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.d.ts +12 -0
- package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +51 -0
- package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +43 -0
- package/themes/shared/lib/components/layout-elements/index.d.ts +5 -1
- package/themes/shared/lib/components/layout-elements/layout-actions.component.d.ts +20 -0
- package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +1 -1
- package/themes/shared/lib/components/layout-elements/layout-header.component.d.ts +12 -0
- package/themes/shared/lib/components/layout-elements/layout-list-component.d.ts +13 -0
- package/themes/shared/lib/components/layout-elements/layout-section.component.d.ts +9 -0
- package/themes/shared/lib/components/layout-elements/layout-side.component.d.ts +9 -0
- package/themes/shared/lib/shared.module.d.ts +3 -1
- package/widgets/lib/properties/editors.props.d.ts +2 -0
- package/widgets/lib/properties/layout.props.d.ts +2 -0
- package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
- package/widgets/lib/widgets/index.d.ts +1 -0
- package/widgets/lib/widgets/property-editors/border/border-widget-editor.component.d.ts +12 -0
- package/widgets/lib/widgets/property-editors/border/border-widget-type.d.ts +18 -0
- package/widgets/lib/widgets/property-editors/border/border-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/property-editors/border/index.d.ts +3 -0
- package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +14 -4
- package/widgets/lib/widgets/property-editors/spacing/spacing-widget-type.d.ts +9 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BJ-ELNnN.mjs.map +0 -1
- package/themes/default/lib/layouts/setting-layout/index.d.ts +0 -2
- package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +0 -10
- package/themes/shared/lib/components/layout-elements/layout-page-header.component.d.ts +0 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, viewChild, computed, inject, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, viewChild, contentChild, computed, inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@acorex/components/button';
|
|
@@ -14,24 +14,32 @@ import { signalStore, withState, withComputed, withMethods, patchState, withHook
|
|
|
14
14
|
import { timer } from 'rxjs';
|
|
15
15
|
import * as i5 from '@acorex/core/translation';
|
|
16
16
|
import { AXTranslationModule } from '@acorex/core/translation';
|
|
17
|
+
import { objectKeyValueTransforms } from '@acorex/platform/layout/builder';
|
|
17
18
|
|
|
18
19
|
class AXPThemeLayoutBlockComponent {
|
|
19
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutBlockComponent, isStandalone: true, selector: "\n axp-
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutBlockComponent, isStandalone: true, selector: "\n axp-layout-content, \n axp-layout-header-container,\n axp-layout-footer-container,\n axp-layout-side-container,\n axp-layout-sections,\n axp-layout-section-container,\n axp-layout-body,\n axp-layout-suffix,\n axp-layout-prefix,\n axp-layout-title, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-toolbar,\n axp-layout-title-bar,\n axp-layout-breadcrumbs\n ", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
21
22
|
}
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutBlockComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
25
|
args: [{
|
|
25
26
|
standalone: true,
|
|
26
27
|
selector: `
|
|
27
|
-
axp-
|
|
28
|
-
axp-
|
|
29
|
-
axp-
|
|
30
|
-
axp-
|
|
31
|
-
axp-
|
|
32
|
-
axp-
|
|
33
|
-
axp-
|
|
34
|
-
axp-
|
|
28
|
+
axp-layout-content,
|
|
29
|
+
axp-layout-header-container,
|
|
30
|
+
axp-layout-footer-container,
|
|
31
|
+
axp-layout-side-container,
|
|
32
|
+
axp-layout-sections,
|
|
33
|
+
axp-layout-section-container,
|
|
34
|
+
axp-layout-body,
|
|
35
|
+
axp-layout-suffix,
|
|
36
|
+
axp-layout-prefix,
|
|
37
|
+
axp-layout-title,
|
|
38
|
+
axp-layout-nav-button,
|
|
39
|
+
axp-layout-description,
|
|
40
|
+
axp-layout-toolbar,
|
|
41
|
+
axp-layout-title-bar,
|
|
42
|
+
axp-layout-breadcrumbs
|
|
35
43
|
`,
|
|
36
44
|
template: '<ng-content></ng-content>',
|
|
37
45
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -39,75 +47,261 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
39
47
|
}]
|
|
40
48
|
}] });
|
|
41
49
|
|
|
42
|
-
class
|
|
50
|
+
class AXPThemeLayoutPagePrimaryActionsComponent {
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutPagePrimaryActionsComponent, isStandalone: true, selector: "axp-layout-actions-primary", ngImport: i0, template: `<ng-content select="ax-button,ax-dropdown-button"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{
|
|
57
|
+
standalone: true,
|
|
58
|
+
selector: 'axp-layout-actions-primary',
|
|
59
|
+
template: `<ng-content select="ax-button,ax-dropdown-button"></ng-content>`,
|
|
60
|
+
encapsulation: ViewEncapsulation.None,
|
|
61
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
62
|
+
}]
|
|
63
|
+
}] });
|
|
64
|
+
class AXPThemeLayoutPageSecondaryActionsComponent {
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutPageSecondaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutPageSecondaryActionsComponent, isStandalone: true, selector: "axp-layout-actions-secondary", ngImport: i0, template: `<ng-content select="ax-button-item"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutPageSecondaryActionsComponent, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{
|
|
71
|
+
standalone: true,
|
|
72
|
+
selector: 'axp-layout-actions-secondary',
|
|
73
|
+
template: `<ng-content select="ax-button-item"></ng-content>`,
|
|
74
|
+
encapsulation: ViewEncapsulation.None,
|
|
75
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
76
|
+
}]
|
|
77
|
+
}] });
|
|
78
|
+
class AXPThemeLayoutActionsComponent {
|
|
79
|
+
constructor() {
|
|
80
|
+
this.primaryTemplate = viewChild('primary');
|
|
81
|
+
this.primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent);
|
|
82
|
+
this.hasPrimary = computed(() => this.primaryContent() != null);
|
|
83
|
+
this.secondaryTemplate = viewChild('secondary');
|
|
84
|
+
this.secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent);
|
|
85
|
+
this.hasSecondary = computed(() => this.secondaryContent() != null);
|
|
86
|
+
}
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPThemeLayoutActionsComponent, isStandalone: true, selector: "axp-layout-actions", queries: [{ propertyName: "primaryContent", first: true, predicate: AXPThemeLayoutPagePrimaryActionsComponent, descendants: true, isSignal: true }, { propertyName: "secondaryContent", first: true, predicate: AXPThemeLayoutPageSecondaryActionsComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "primaryTemplate", first: true, predicate: ["primary"], descendants: true, isSignal: true }, { propertyName: "secondaryTemplate", first: true, predicate: ["secondary"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
89
|
+
|
|
90
|
+
<ng-template #primary>
|
|
91
|
+
<ng-content select="axp-layout-actions-primary"></ng-content>
|
|
92
|
+
</ng-template>
|
|
93
|
+
|
|
94
|
+
<ng-template #secondary>
|
|
95
|
+
<ng-content select="axp-layout-actions-secondary"></ng-content>
|
|
96
|
+
</ng-template>
|
|
97
|
+
|
|
98
|
+
<ng-content></ng-content>
|
|
99
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutActionsComponent, decorators: [{
|
|
102
|
+
type: Component,
|
|
103
|
+
args: [{
|
|
104
|
+
imports: [CommonModule],
|
|
105
|
+
standalone: true,
|
|
106
|
+
selector: 'axp-layout-actions',
|
|
107
|
+
template: `
|
|
108
|
+
|
|
109
|
+
<ng-template #primary>
|
|
110
|
+
<ng-content select="axp-layout-actions-primary"></ng-content>
|
|
111
|
+
</ng-template>
|
|
112
|
+
|
|
113
|
+
<ng-template #secondary>
|
|
114
|
+
<ng-content select="axp-layout-actions-secondary"></ng-content>
|
|
115
|
+
</ng-template>
|
|
116
|
+
|
|
117
|
+
<ng-content></ng-content>
|
|
118
|
+
`,
|
|
119
|
+
encapsulation: ViewEncapsulation.None,
|
|
120
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
121
|
+
}]
|
|
122
|
+
}] });
|
|
123
|
+
|
|
124
|
+
class AXPThemeLayoutHeaderTemplateComponent {
|
|
43
125
|
constructor() {
|
|
44
126
|
this.title = viewChild('title');
|
|
45
127
|
this.description = viewChild('description');
|
|
46
128
|
this.actions = viewChild('actions');
|
|
47
129
|
this.navbar = viewChild('navbar');
|
|
48
130
|
this.breadcrumbs = viewChild('breadcrumbs');
|
|
131
|
+
this.navButton = viewChild('navButton');
|
|
49
132
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type:
|
|
52
|
-
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutHeaderTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPThemeLayoutHeaderTemplateComponent, isStandalone: true, selector: "axp-layout-header", viewQueries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true, isSignal: true }, { propertyName: "description", first: true, predicate: ["description"], descendants: true, isSignal: true }, { propertyName: "actions", first: true, predicate: ["actions"], descendants: true, isSignal: true }, { propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true, isSignal: true }, { propertyName: "breadcrumbs", first: true, predicate: ["breadcrumbs"], descendants: true, isSignal: true }, { propertyName: "navButton", first: true, predicate: ["navButton"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
53
135
|
<ng-template #breadcrumbs>
|
|
54
|
-
<ng-content select="axp-
|
|
136
|
+
<ng-content select="axp-layout-breadcrumbs"></ng-content>
|
|
55
137
|
</ng-template>
|
|
56
138
|
|
|
57
139
|
<ng-template #navbar>
|
|
58
|
-
<ng-content select="axp-
|
|
140
|
+
<ng-content select="axp-layout-toolbar"></ng-content>
|
|
59
141
|
</ng-template>
|
|
60
142
|
|
|
61
143
|
<ng-template #actions>
|
|
62
|
-
<ng-content select="axp-
|
|
144
|
+
<ng-content select="axp-layout-actions"></ng-content>
|
|
63
145
|
</ng-template>
|
|
64
146
|
|
|
65
147
|
<ng-template #description>
|
|
66
|
-
<ng-content select="axp-
|
|
148
|
+
<ng-content select="axp-layout-description"></ng-content>
|
|
67
149
|
</ng-template>
|
|
68
150
|
|
|
69
151
|
<ng-template #title>
|
|
70
|
-
<ng-content select="axp-
|
|
152
|
+
<ng-content select="axp-layout-title"></ng-content>
|
|
153
|
+
</ng-template>
|
|
154
|
+
<ng-template #navButton>
|
|
155
|
+
<ng-content select="axp-layout-nav-button"></ng-content>
|
|
71
156
|
</ng-template>
|
|
72
|
-
|
|
73
|
-
<ng-content></ng-content>
|
|
74
157
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
75
158
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutHeaderTemplateComponent, decorators: [{
|
|
77
160
|
type: Component,
|
|
78
161
|
args: [{
|
|
79
162
|
imports: [CommonModule],
|
|
80
163
|
standalone: true,
|
|
81
|
-
selector: 'axp-
|
|
164
|
+
selector: 'axp-layout-header',
|
|
82
165
|
template: `
|
|
83
|
-
|
|
84
166
|
<ng-template #breadcrumbs>
|
|
85
|
-
<ng-content select="axp-
|
|
167
|
+
<ng-content select="axp-layout-breadcrumbs"></ng-content>
|
|
86
168
|
</ng-template>
|
|
87
169
|
|
|
88
170
|
<ng-template #navbar>
|
|
89
|
-
<ng-content select="axp-
|
|
171
|
+
<ng-content select="axp-layout-toolbar"></ng-content>
|
|
90
172
|
</ng-template>
|
|
91
173
|
|
|
92
174
|
<ng-template #actions>
|
|
93
|
-
<ng-content select="axp-
|
|
175
|
+
<ng-content select="axp-layout-actions"></ng-content>
|
|
94
176
|
</ng-template>
|
|
95
177
|
|
|
96
178
|
<ng-template #description>
|
|
97
|
-
<ng-content select="axp-
|
|
179
|
+
<ng-content select="axp-layout-description"></ng-content>
|
|
98
180
|
</ng-template>
|
|
99
181
|
|
|
100
182
|
<ng-template #title>
|
|
101
|
-
<ng-content select="axp-
|
|
183
|
+
<ng-content select="axp-layout-title"></ng-content>
|
|
184
|
+
</ng-template>
|
|
185
|
+
<ng-template #navButton>
|
|
186
|
+
<ng-content select="axp-layout-nav-button"></ng-content>
|
|
102
187
|
</ng-template>
|
|
103
|
-
|
|
104
|
-
<ng-content></ng-content>
|
|
105
188
|
`,
|
|
106
189
|
encapsulation: ViewEncapsulation.None,
|
|
107
190
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
108
191
|
}]
|
|
109
192
|
}] });
|
|
110
193
|
|
|
194
|
+
class AXPThemeLayoutSectionTemplateComponent {
|
|
195
|
+
constructor() {
|
|
196
|
+
this.header = contentChild(AXPThemeLayoutHeaderTemplateComponent);
|
|
197
|
+
this.content = viewChild('content');
|
|
198
|
+
}
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutSectionTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPThemeLayoutSectionTemplateComponent, isStandalone: true, selector: "axp-layout-section", queries: [{ propertyName: "header", first: true, predicate: AXPThemeLayoutHeaderTemplateComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
201
|
+
<ng-template #header>
|
|
202
|
+
<ng-content select="axp-layout-header"></ng-content>
|
|
203
|
+
</ng-template>
|
|
204
|
+
<ng-template #content>
|
|
205
|
+
<ng-content select="axp-layout-content"></ng-content>
|
|
206
|
+
</ng-template>
|
|
207
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
208
|
+
}
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutSectionTemplateComponent, decorators: [{
|
|
210
|
+
type: Component,
|
|
211
|
+
args: [{
|
|
212
|
+
imports: [CommonModule],
|
|
213
|
+
standalone: true,
|
|
214
|
+
selector: 'axp-layout-section',
|
|
215
|
+
template: `
|
|
216
|
+
<ng-template #header>
|
|
217
|
+
<ng-content select="axp-layout-header"></ng-content>
|
|
218
|
+
</ng-template>
|
|
219
|
+
<ng-template #content>
|
|
220
|
+
<ng-content select="axp-layout-content"></ng-content>
|
|
221
|
+
</ng-template>
|
|
222
|
+
`,
|
|
223
|
+
encapsulation: ViewEncapsulation.None,
|
|
224
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
225
|
+
}]
|
|
226
|
+
}] });
|
|
227
|
+
|
|
228
|
+
class AXPThemeLayoutSideTemplateComponent {
|
|
229
|
+
constructor() {
|
|
230
|
+
this.header = contentChild(AXPThemeLayoutHeaderTemplateComponent);
|
|
231
|
+
this.content = viewChild('content');
|
|
232
|
+
}
|
|
233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutSideTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
234
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPThemeLayoutSideTemplateComponent, isStandalone: true, selector: "axp-layout-side", queries: [{ propertyName: "header", first: true, predicate: AXPThemeLayoutHeaderTemplateComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
235
|
+
<ng-template #header>
|
|
236
|
+
<ng-content select="axp-layout-header"></ng-content>
|
|
237
|
+
</ng-template>
|
|
238
|
+
<ng-template #content>
|
|
239
|
+
<ng-content select="axp-layout-content"></ng-content>
|
|
240
|
+
</ng-template>
|
|
241
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
242
|
+
}
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutSideTemplateComponent, decorators: [{
|
|
244
|
+
type: Component,
|
|
245
|
+
args: [{
|
|
246
|
+
imports: [CommonModule],
|
|
247
|
+
standalone: true,
|
|
248
|
+
selector: 'axp-layout-side',
|
|
249
|
+
template: `
|
|
250
|
+
<ng-template #header>
|
|
251
|
+
<ng-content select="axp-layout-header"></ng-content>
|
|
252
|
+
</ng-template>
|
|
253
|
+
<ng-template #content>
|
|
254
|
+
<ng-content select="axp-layout-content"></ng-content>
|
|
255
|
+
</ng-template>
|
|
256
|
+
`,
|
|
257
|
+
encapsulation: ViewEncapsulation.None,
|
|
258
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
259
|
+
}]
|
|
260
|
+
}] });
|
|
261
|
+
|
|
262
|
+
class AXPThemeLayoutListComponent {
|
|
263
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
264
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutListComponent, isStandalone: true, selector: "axp-layout-list", ngImport: i0, template: `<ng-content select="axp-layout-list-item,axp-layout-list-group"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
265
|
+
}
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutListComponent, decorators: [{
|
|
267
|
+
type: Component,
|
|
268
|
+
args: [{
|
|
269
|
+
standalone: true,
|
|
270
|
+
selector: 'axp-layout-list',
|
|
271
|
+
template: `<ng-content select="axp-layout-list-item,axp-layout-list-group"></ng-content>`,
|
|
272
|
+
encapsulation: ViewEncapsulation.None,
|
|
273
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
274
|
+
}]
|
|
275
|
+
}] });
|
|
276
|
+
class AXPThemeLayoutListItemsGroupComponent {
|
|
277
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutListItemsGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutListItemsGroupComponent, isStandalone: true, selector: "axp-layout-list-group", ngImport: i0, template: `<ng-content select="axp-layout-list-item"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
279
|
+
}
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutListItemsGroupComponent, decorators: [{
|
|
281
|
+
type: Component,
|
|
282
|
+
args: [{
|
|
283
|
+
standalone: true,
|
|
284
|
+
selector: 'axp-layout-list-group',
|
|
285
|
+
template: `<ng-content select="axp-layout-list-item"></ng-content>`,
|
|
286
|
+
encapsulation: ViewEncapsulation.None,
|
|
287
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
288
|
+
}]
|
|
289
|
+
}] });
|
|
290
|
+
class AXPThemeLayoutListItemComponent {
|
|
291
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
292
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutListItemComponent, isStandalone: true, selector: "axp-layout-list-item", ngImport: i0, template: `<ng-content select="axp-layout-content,axp-layout-prefix,axp-layout-suffix"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
293
|
+
}
|
|
294
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutListItemComponent, decorators: [{
|
|
295
|
+
type: Component,
|
|
296
|
+
args: [{
|
|
297
|
+
standalone: true,
|
|
298
|
+
selector: 'axp-layout-list-item',
|
|
299
|
+
template: `<ng-content select="axp-layout-content,axp-layout-prefix,axp-layout-suffix"></ng-content>`,
|
|
300
|
+
encapsulation: ViewEncapsulation.None,
|
|
301
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
302
|
+
}]
|
|
303
|
+
}] });
|
|
304
|
+
|
|
111
305
|
var AXPThemeLayoutSetting;
|
|
112
306
|
(function (AXPThemeLayoutSetting) {
|
|
113
307
|
AXPThemeLayoutSetting["ThemeVariant"] = "layout:theme:variant";
|
|
@@ -241,12 +435,6 @@ withMethods((store, settingService = inject(AXPSettingValueProviderService)) =>
|
|
|
241
435
|
}
|
|
242
436
|
}
|
|
243
437
|
};
|
|
244
|
-
//
|
|
245
|
-
settingService.onChanged.subscribe((setting) => {
|
|
246
|
-
if (setting.keys.includes(AXPThemeLayoutSetting.ThemeVariant)) {
|
|
247
|
-
applySettings();
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
438
|
const minimumDisplayTime = 500; // milliseconds
|
|
251
439
|
return {
|
|
252
440
|
// Change theme and update HTML class
|
|
@@ -346,11 +534,14 @@ withMethods((store, settingService = inject(AXPSettingValueProviderService)) =>
|
|
|
346
534
|
};
|
|
347
535
|
}),
|
|
348
536
|
// Lifecycle Hooks
|
|
349
|
-
withHooks((store) => ({
|
|
537
|
+
withHooks((store, settingService = inject(AXPSettingValueProviderService)) => ({
|
|
350
538
|
onInit() {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
539
|
+
//
|
|
540
|
+
settingService.onChanged.subscribe(async (setting) => {
|
|
541
|
+
if (setting.keys.includes(AXPThemeLayoutSetting.ThemeVariant)) {
|
|
542
|
+
await store.loadSettings();
|
|
543
|
+
}
|
|
544
|
+
});
|
|
354
545
|
// Set up event listener for system theme changes
|
|
355
546
|
const listener = store._setupSystemColorListener();
|
|
356
547
|
patchState(store, { _listener: listener });
|
|
@@ -486,16 +677,10 @@ class AXPThemeSettingProvider {
|
|
|
486
677
|
?.addSetting({
|
|
487
678
|
key: AXPThemeLayoutSetting.ThemeVariant,
|
|
488
679
|
title: 'Default Theme',
|
|
489
|
-
scope: '
|
|
680
|
+
scope: 'U',
|
|
681
|
+
isInherited: true,
|
|
490
682
|
defaultValue: AXPThemeVariant.Light,
|
|
491
|
-
valueTransforms:
|
|
492
|
-
getter: (value) => {
|
|
493
|
-
return typeof value == 'object' ? value['id'] : value;
|
|
494
|
-
},
|
|
495
|
-
setter: (value) => {
|
|
496
|
-
return typeof value == 'object' ? value['id'] : value;
|
|
497
|
-
}
|
|
498
|
-
},
|
|
683
|
+
valueTransforms: objectKeyValueTransforms('id'),
|
|
499
684
|
widget: {
|
|
500
685
|
type: 'select-editor',
|
|
501
686
|
options: {
|
|
@@ -511,8 +696,17 @@ class AXPThemeSettingProvider {
|
|
|
511
696
|
}
|
|
512
697
|
|
|
513
698
|
class AXPThemesSharedModule {
|
|
514
|
-
constructor() {
|
|
515
|
-
|
|
699
|
+
constructor(appInitService, injector) {
|
|
700
|
+
const service = injector.get(AXPLayoutThemeService);
|
|
701
|
+
appInitService.registerTask({
|
|
702
|
+
name: 'Settings',
|
|
703
|
+
statusText: 'Loading Settings ...',
|
|
704
|
+
run: async () => {
|
|
705
|
+
await service.loadSettings();
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
}
|
|
709
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, deps: [{ token: i1$1.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
516
710
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, imports: [i1$1.AXPComponentSlotModule] }); }
|
|
517
711
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, providers: [
|
|
518
712
|
{
|
|
@@ -554,11 +748,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
554
748
|
}
|
|
555
749
|
],
|
|
556
750
|
}]
|
|
557
|
-
}], ctorParameters: () => [] });
|
|
751
|
+
}], ctorParameters: () => [{ type: i1$1.AXPAppStartUpService }, { type: i0.Injector }] });
|
|
558
752
|
|
|
559
753
|
/**
|
|
560
754
|
* Generated bundle index. Do not edit.
|
|
561
755
|
*/
|
|
562
756
|
|
|
563
|
-
export { AXPDeviceType, AXPLayoutThemeService, AXPScreenSize, AXPSideMenuState, AXPThemeLayoutBlockComponent,
|
|
757
|
+
export { AXPDeviceType, AXPLayoutThemeService, AXPScreenSize, AXPSideMenuState, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderTemplateComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionTemplateComponent, AXPThemeLayoutSideTemplateComponent, AXPThemeSlotComponent, AXPThemeVariant, AXPThemesSharedModule };
|
|
564
758
|
//# sourceMappingURL=acorex-platform-themes-shared.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-blocks.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-page-header.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.keys.ts","../../../../libs/platform/themes/shared/src/lib/services/theme.service.ts","../../../../libs/platform/themes/shared/src/lib/components/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.provider.ts","../../../../libs/platform/themes/shared/src/lib/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n axp-page-content, \n axp-page-body,\n axp-page-title, \n axp-page-description, \n axp-page-actions,\n axp-page-navbar,\n axp-page-side, \n axp-page-breadcrumbs\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutBlockComponent {\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-page-header',\n template: `\n\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-page-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-page-navbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-page-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-page-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-page-title\"></ng-content>\n </ng-template>\n \n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutPageHeaderComponent {\n\n public readonly title = viewChild<TemplateRef<any>>('title');\n public readonly description = viewChild<TemplateRef<any>>('description');\n public readonly actions = viewChild<TemplateRef<any>>('actions');\n public readonly navbar = viewChild<TemplateRef<any>>('navbar');\n public readonly breadcrumbs = viewChild<TemplateRef<any>>('breadcrumbs');\n\n}","export enum AXPThemeLayoutSetting {\n ThemeVariant = 'layout:theme:variant',\n ThemeSideMenu = 'layout:theme:sidemenu',\n}","import { AXPSettingValueProviderService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { timer } from 'rxjs';\nimport { AXPThemeLayoutSetting } from '../setting.keys';\n\n// Theme Enum\nexport enum AXPThemeVariant {\n Light = 'light',\n Dark = 'dark',\n System = 'system',\n}\n\n// Screen Size Enum\nexport enum AXPScreenSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\n// Device Type Enum\nexport enum AXPDeviceType {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop',\n}\n\n// Side Menu State Enum\nexport enum AXPSideMenuState {\n Opened = 'opened',\n Closed = 'closed',\n}\n\n\n// ThemeStore - Manages theme settings, system changes, and loading states\nexport const AXPLayoutThemeService = signalStore(\n { providedIn: 'root' },\n\n // Initial State\n withState(() => {\n const initialTheme = AXPThemeVariant.System;\n const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n // Helper function to get the initial screen size\n const getScreenSize = (): AXPScreenSize => {\n const width = window.innerWidth;\n if (width <= 600) return AXPScreenSize.Small;\n if (width <= 1024) return AXPScreenSize.Medium;\n return AXPScreenSize.Large;\n };\n\n // Helper function to determine device type\n const getDeviceType = (): AXPDeviceType => {\n const userAgent = navigator.userAgent.toLowerCase();\n if (/mobile|android|iphone|ipad/.test(userAgent)) {\n return AXPDeviceType.Mobile;\n } else if (/tablet/.test(userAgent)) {\n return AXPDeviceType.Tablet;\n }\n return AXPDeviceType.Desktop;\n };\n\n // Helper function to determine if the device supports touch\n const isTouchDevice = (): boolean => {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n };\n\n const state = {\n currentTheme: initialTheme,\n systemTheme: (systemPrefersDark ? AXPThemeVariant.Dark : AXPThemeVariant.Light) as AXPThemeVariant,\n screenSize: getScreenSize(),\n deviceType: getDeviceType(),\n isTouchDevice: isTouchDevice(),\n overlayLoading: false,\n navigationLoading: false,\n overlayLoadingTaskCount: 0,\n navigationLoadingTaskCount: 0,\n sideMenuState: (getScreenSize() === AXPScreenSize.Large ? AXPSideMenuState.Opened : AXPSideMenuState.Closed) as AXPSideMenuState,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n _resizeListener: null as (() => void) | null,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(({ currentTheme, systemTheme, screenSize, deviceType, isTouchDevice, sideMenuState, overlayLoading, navigationLoading }) => ({\n isDarkMode: computed(\n () =>\n currentTheme() === AXPThemeVariant.Dark ||\n (currentTheme() === AXPThemeVariant.System && systemTheme() === AXPThemeVariant.Dark)\n ),\n isLightMode: computed(\n () =>\n currentTheme() === AXPThemeVariant.Light ||\n (currentTheme() === AXPThemeVariant.System && systemTheme() === AXPThemeVariant.Light)\n ),\n isSystemMode: computed(() => currentTheme() === AXPThemeVariant.System),\n isSideMenuOpen: computed(() => sideMenuState() === AXPSideMenuState.Opened),\n isSmall: computed(() => screenSize() === AXPScreenSize.Small),\n isMedium: computed(() => screenSize() === AXPScreenSize.Medium),\n isLarge: computed(() => screenSize() === AXPScreenSize.Large),\n isMobileDevice: computed(() => deviceType() === AXPDeviceType.Mobile),\n isTabletDevice: computed(() => deviceType() === AXPDeviceType.Tablet),\n isDesktopDevice: computed(() => deviceType() === AXPDeviceType.Desktop),\n isTouchScreen: computed(() => isTouchDevice()),\n isOverlayLoading: computed(() => overlayLoading()),\n isNavigationLoading: computed(() => navigationLoading()),\n })),\n\n // Methods for State Management\n withMethods((store, settingService = inject(AXPSettingValueProviderService)) => {\n\n const applySettings = async () => {\n // Initialize theme and side menu setting from storage\n const settingTheme = ((await settingService.get(AXPThemeLayoutSetting.ThemeVariant)) as AXPThemeVariant) ?? AXPThemeVariant.Light;\n patchState(store, { currentTheme: settingTheme });\n const settingSideMenu = ((await settingService.get(AXPThemeLayoutSetting.ThemeSideMenu)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n updateHtmlClass(store.isDarkMode());\n\n }\n\n // Update HTML class based on theme\n const updateHtmlClass = (dark: boolean) => {\n const html = document.getElementsByTagName('html')[0];\n dark ? html.classList.add('ax-dark') : html.classList.remove('ax-dark');\n };\n\n // Update screen size based on window width\n const updateScreenSize = () => {\n const width = window.innerWidth;\n let newScreenSize: AXPScreenSize;\n\n if (width <= 600) {\n newScreenSize = AXPScreenSize.Small;\n } else if (width <= 1024) {\n newScreenSize = AXPScreenSize.Medium;\n } else {\n newScreenSize = AXPScreenSize.Large;\n }\n\n if (newScreenSize !== store.screenSize()) {\n patchState(store, { screenSize: newScreenSize });\n if (store.sideMenuState() !== AXPSideMenuState.Closed) {\n patchState(store, { sideMenuState: newScreenSize === AXPScreenSize.Small ? AXPSideMenuState.Closed : AXPSideMenuState.Opened });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, store.sideMenuState());\n }\n }\n };\n\n //\n settingService.onChanged.subscribe((setting) => {\n if (setting.keys.includes(AXPThemeLayoutSetting.ThemeVariant)) {\n applySettings();\n }\n });\n\n const minimumDisplayTime = 500; // milliseconds\n\n return {\n // Change theme and update HTML class\n changeTheme(theme: AXPThemeVariant) {\n settingService.set(AXPThemeLayoutSetting.ThemeVariant, theme);\n patchState(store, { currentTheme: theme });\n updateHtmlClass(store.isDarkMode());\n },\n\n // Open side menu\n openSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Opened });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, AXPSideMenuState.Closed);\n },\n\n // Toggle side menu state\n toggleSideMenu() {\n const newSideMenuState = store.sideMenuState() === AXPSideMenuState.Opened ? AXPSideMenuState.Closed : AXPSideMenuState.Opened;\n patchState(store, { sideMenuState: newSideMenuState });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, newSideMenuState);\n },\n\n // Set navigation loading state with a task counter\n setNavigationLoading(value: boolean) {\n if (value) {\n patchState(store, { navigationLoadingTaskCount: store.navigationLoadingTaskCount() + 1 });\n patchState(store, { navigationLoading: true });\n } else {\n if (store.navigationLoadingTaskCount() > 0) {\n patchState(store, { navigationLoadingTaskCount: store.navigationLoadingTaskCount() - 1 });\n }\n if (store.navigationLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.navigationLoadingTaskCount() === 0) {\n patchState(store, { navigationLoading: false });\n }\n });\n }\n }\n },\n\n // Set overlay loading state with a task counter\n setOverlayLoading(value: boolean) {\n if (value) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() + 1 });\n patchState(store, { overlayLoading: true });\n } else {\n if (store.overlayLoadingTaskCount() > 0) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() - 1 });\n }\n if (store.overlayLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.overlayLoadingTaskCount() === 0) {\n patchState(store, { overlayLoading: false });\n }\n });\n }\n }\n },\n\n // Apply the current theme to the HTML class\n _applyCurrentTheme() {\n updateHtmlClass(store.isDarkMode());\n },\n\n // Set up event listener for system theme changes\n _setupSystemColorListener() {\n const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n const listener = (e: MediaQueryListEvent) => {\n patchState(store, { systemTheme: e.matches ? AXPThemeVariant.Dark : AXPThemeVariant.Light });\n updateHtmlClass(store.isDarkMode());\n };\n mediaQueryList.addEventListener('change', listener);\n return listener;\n },\n\n // Remove event listener for system theme changes\n _removeSystemColorListener(listener: (e: MediaQueryListEvent) => void) {\n const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n mediaQueryList.removeEventListener('change', listener);\n },\n\n // Set up event listener for window resize\n _setupResizeListener() {\n const listener = () => {\n updateScreenSize();\n };\n window.addEventListener('resize', listener);\n return listener;\n },\n\n // Remove event listener for window resize\n _removeResizeListener(listener: () => void) {\n window.removeEventListener('resize', listener);\n },\n async loadSettings() {\n applySettings();\n }\n };\n }),\n\n // Lifecycle Hooks\n withHooks((store) => ({\n onInit() {\n (async () => {\n store.loadSettings()\n })()\n // Set up event listener for system theme changes\n const listener = store._setupSystemColorListener();\n patchState(store, { _listener: listener });\n\n // Set up event listener for window resize\n const resizeListener = store._setupResizeListener();\n patchState(store, { _resizeListener: resizeListener });\n },\n\n onDestroy() {\n // Clean up event listeners when store is destroyed\n const { _listener: listener, _resizeListener: resizeListener } = store;\n if (listener) {\n store._removeSystemColorListener(listener);\n }\n if (resizeListener) {\n store._removeResizeListener(resizeListener);\n }\n },\n }))\n);\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { AXPLayoutThemeService, AXPThemeVariant } from '../services/theme.service';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@Component({\n template: `\n <ax-button look=\"blank\">\n <ax-icon\n class=\"fa-regular \"\n [ngClass]=\"{\n 'fa-desktop':store.isSystemMode(),\n 'fa-moon':!store.isSystemMode() && store.isDarkMode(),\n 'fa-brightness':!store.isSystemMode() && !store.isDarkMode(),\n }\"\n >\n </ax-icon>\n <ax-dropdown-panel *translate=\"let t\">\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.changeTheme(variants.Light)\"\n [text]=\"(t('theme.light') | async)!\"\n [selected]=\"!store.isSystemMode() && !store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-brightness\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeTheme(variants.Dark)\"\n [text]=\"(t('theme.dark') | async)!\"\n [selected]=\"!store.isSystemMode() && store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-moon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeTheme(variants.System)\"\n [text]=\"(t('theme.system') | async)!\"\n [selected]=\"store.isSystemMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-desktop\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule]\n})\nexport class AXPThemeSlotComponent {\n protected store = inject(AXPLayoutThemeService);\n\n protected variants = AXPThemeVariant;\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPThemeVariant } from './services/theme.service';\nimport { AXPThemeLayoutSetting } from './setting.keys';\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context.addGroup('common-settings', 'General Settings', 'General application settings.', 'fa-solid fa-gear-complex')\n // General Settings Section\n .addSection('general', 'General', 'General configurations for the application.')\n .endSection()\n .endGroup();\n //\n context\n .group('common-settings')\n ?.section('general')\n ?.addSetting({\n key: AXPThemeLayoutSetting.ThemeVariant,\n title: 'Default Theme',\n scope: 'G',\n defaultValue: AXPThemeVariant.Light,\n valueTransforms: {\n getter: (value: any) => {\n return typeof value == 'object' ? value['id'] : value;\n },\n setter: (value: any) => {\n return typeof value == 'object' ? value['id'] : value;\n }\n },\n widget: {\n type: 'select-editor',\n options: {\n\n dataSource: Object.entries(AXPThemeVariant).map(([key, value]) => ({\n id: value,\n title: key.charAt(0).toUpperCase() + key.slice(1).toLowerCase(),\n })),\n },\n },\n description: 'Select the default theme for the application.',\n })\n }\n}\n","import { AXP_SETTING_DEFINITION_PROVIDER, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './components/theme-slot.component';\nimport { AXPThemeSettingProvider } from './setting.provider';\n@NgModule({\n imports: [\n AXPComponentSlotModule.forRoot({\n 'header-end': [\n {\n priority: 50,\n name: 'theme',\n component: AXPThemeSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPThemeSettingProvider,\n multi: true\n }\n ],\n})\nexport class AXPThemesSharedModule {\n constructor() { }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-blocks.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-actions.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-header.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-section.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-side.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-list-component.ts","../../../../libs/platform/themes/shared/src/lib/setting.keys.ts","../../../../libs/platform/themes/shared/src/lib/services/theme.service.ts","../../../../libs/platform/themes/shared/src/lib/components/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.provider.ts","../../../../libs/platform/themes/shared/src/lib/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n axp-layout-content, \n axp-layout-header-container,\n axp-layout-footer-container,\n axp-layout-side-container,\n axp-layout-sections,\n axp-layout-section-container,\n axp-layout-body,\n axp-layout-suffix,\n axp-layout-prefix,\n axp-layout-title, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-toolbar,\n axp-layout-title-bar,\n axp-layout-breadcrumbs\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutBlockComponent {\n}\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutActionsComponent {\n\n public readonly primaryTemplate = viewChild<TemplateRef<any>>('primary');\n private readonly primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent);\n public hasPrimary = computed(() => this.primaryContent() != null);\n\n public readonly secondaryTemplate = viewChild<TemplateRef<any>>('secondary');\n private readonly secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent);\n public hasSecondary = computed(() => this.secondaryContent() != null);\n\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutHeaderTemplateComponent {\n\n public readonly title = viewChild<TemplateRef<any>>('title');\n public readonly description = viewChild<TemplateRef<any>>('description');\n public readonly actions = viewChild<TemplateRef<any>>('actions');\n public readonly navbar = viewChild<TemplateRef<any>>('navbar');\n public readonly breadcrumbs = viewChild<TemplateRef<any>>('breadcrumbs');\n public readonly navButton = viewChild<TemplateRef<any>>('navButton');\n\n\n}\n\n\n","import { CommonModule } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, viewChild, ViewEncapsulation } from \"@angular/core\";\nimport { AXPThemeLayoutHeaderTemplateComponent } from \"./layout-header.component\";\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-template #header>\n <ng-content select=\"axp-layout-header\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutSectionTemplateComponent {\n public readonly header = contentChild(AXPThemeLayoutHeaderTemplateComponent);\n public readonly content = viewChild<TemplateRef<any>>('content');\n}","import { CommonModule } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, viewChild, ViewEncapsulation } from \"@angular/core\";\nimport { AXPThemeLayoutHeaderTemplateComponent } from \"./layout-header.component\";\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-side',\n template: `\n <ng-template #header>\n <ng-content select=\"axp-layout-header\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutSideTemplateComponent {\n public readonly header = contentChild(AXPThemeLayoutHeaderTemplateComponent);\n public readonly content = viewChild<TemplateRef<any>>('content');\n}","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemsGroupComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemComponent {\n}","export enum AXPThemeLayoutSetting {\n ThemeVariant = 'layout:theme:variant',\n ThemeSideMenu = 'layout:theme:sidemenu',\n}","import { AXPSettingValueProviderService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { timer } from 'rxjs';\nimport { AXPThemeLayoutSetting } from '../setting.keys';\n\n// Theme Enum\nexport enum AXPThemeVariant {\n Light = 'light',\n Dark = 'dark',\n System = 'system',\n}\n\n// Screen Size Enum\nexport enum AXPScreenSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\n// Device Type Enum\nexport enum AXPDeviceType {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop',\n}\n\n// Side Menu State Enum\nexport enum AXPSideMenuState {\n Opened = 'opened',\n Closed = 'closed',\n}\n\n\n// ThemeStore - Manages theme settings, system changes, and loading states\nexport const AXPLayoutThemeService = signalStore(\n { providedIn: 'root' },\n\n // Initial State\n withState(() => {\n const initialTheme = AXPThemeVariant.System;\n const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n // Helper function to get the initial screen size\n const getScreenSize = (): AXPScreenSize => {\n const width = window.innerWidth;\n if (width <= 600) return AXPScreenSize.Small;\n if (width <= 1024) return AXPScreenSize.Medium;\n return AXPScreenSize.Large;\n };\n\n // Helper function to determine device type\n const getDeviceType = (): AXPDeviceType => {\n const userAgent = navigator.userAgent.toLowerCase();\n if (/mobile|android|iphone|ipad/.test(userAgent)) {\n return AXPDeviceType.Mobile;\n } else if (/tablet/.test(userAgent)) {\n return AXPDeviceType.Tablet;\n }\n return AXPDeviceType.Desktop;\n };\n\n // Helper function to determine if the device supports touch\n const isTouchDevice = (): boolean => {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n };\n\n const state = {\n currentTheme: initialTheme,\n systemTheme: (systemPrefersDark ? AXPThemeVariant.Dark : AXPThemeVariant.Light) as AXPThemeVariant,\n screenSize: getScreenSize(),\n deviceType: getDeviceType(),\n isTouchDevice: isTouchDevice(),\n overlayLoading: false,\n navigationLoading: false,\n overlayLoadingTaskCount: 0,\n navigationLoadingTaskCount: 0,\n sideMenuState: (getScreenSize() === AXPScreenSize.Large ? AXPSideMenuState.Opened : AXPSideMenuState.Closed) as AXPSideMenuState,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n _resizeListener: null as (() => void) | null,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(({ currentTheme, systemTheme, screenSize, deviceType, isTouchDevice, sideMenuState, overlayLoading, navigationLoading }) => ({\n isDarkMode: computed(\n () =>\n currentTheme() === AXPThemeVariant.Dark ||\n (currentTheme() === AXPThemeVariant.System && systemTheme() === AXPThemeVariant.Dark)\n ),\n isLightMode: computed(\n () =>\n currentTheme() === AXPThemeVariant.Light ||\n (currentTheme() === AXPThemeVariant.System && systemTheme() === AXPThemeVariant.Light)\n ),\n isSystemMode: computed(() => currentTheme() === AXPThemeVariant.System),\n isSideMenuOpen: computed(() => sideMenuState() === AXPSideMenuState.Opened),\n isSmall: computed(() => screenSize() === AXPScreenSize.Small),\n isMedium: computed(() => screenSize() === AXPScreenSize.Medium),\n isLarge: computed(() => screenSize() === AXPScreenSize.Large),\n isMobileDevice: computed(() => deviceType() === AXPDeviceType.Mobile),\n isTabletDevice: computed(() => deviceType() === AXPDeviceType.Tablet),\n isDesktopDevice: computed(() => deviceType() === AXPDeviceType.Desktop),\n isTouchScreen: computed(() => isTouchDevice()),\n isOverlayLoading: computed(() => overlayLoading()),\n isNavigationLoading: computed(() => navigationLoading()),\n })),\n\n // Methods for State Management\n withMethods((store, settingService = inject(AXPSettingValueProviderService)) => {\n\n const applySettings = async () => {\n // Initialize theme and side menu setting from storage\n const settingTheme = ((await settingService.get(AXPThemeLayoutSetting.ThemeVariant)) as AXPThemeVariant) ?? AXPThemeVariant.Light;\n patchState(store, { currentTheme: settingTheme });\n const settingSideMenu = ((await settingService.get(AXPThemeLayoutSetting.ThemeSideMenu)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n updateHtmlClass(store.isDarkMode());\n\n }\n\n // Update HTML class based on theme\n const updateHtmlClass = (dark: boolean) => {\n const html = document.getElementsByTagName('html')[0];\n dark ? html.classList.add('ax-dark') : html.classList.remove('ax-dark');\n };\n\n // Update screen size based on window width\n const updateScreenSize = () => {\n const width = window.innerWidth;\n let newScreenSize: AXPScreenSize;\n\n if (width <= 600) {\n newScreenSize = AXPScreenSize.Small;\n } else if (width <= 1024) {\n newScreenSize = AXPScreenSize.Medium;\n } else {\n newScreenSize = AXPScreenSize.Large;\n }\n\n if (newScreenSize !== store.screenSize()) {\n patchState(store, { screenSize: newScreenSize });\n if (store.sideMenuState() !== AXPSideMenuState.Closed) {\n patchState(store, { sideMenuState: newScreenSize === AXPScreenSize.Small ? AXPSideMenuState.Closed : AXPSideMenuState.Opened });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, store.sideMenuState());\n }\n }\n };\n\n\n\n const minimumDisplayTime = 500; // milliseconds\n\n return {\n // Change theme and update HTML class\n changeTheme(theme: AXPThemeVariant) {\n settingService.set(AXPThemeLayoutSetting.ThemeVariant, theme);\n patchState(store, { currentTheme: theme });\n updateHtmlClass(store.isDarkMode());\n },\n\n // Open side menu\n openSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Opened });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, AXPSideMenuState.Closed);\n },\n\n // Toggle side menu state\n toggleSideMenu() {\n const newSideMenuState = store.sideMenuState() === AXPSideMenuState.Opened ? AXPSideMenuState.Closed : AXPSideMenuState.Opened;\n patchState(store, { sideMenuState: newSideMenuState });\n settingService.set(AXPThemeLayoutSetting.ThemeSideMenu, newSideMenuState);\n },\n\n // Set navigation loading state with a task counter\n setNavigationLoading(value: boolean) {\n if (value) {\n patchState(store, { navigationLoadingTaskCount: store.navigationLoadingTaskCount() + 1 });\n patchState(store, { navigationLoading: true });\n } else {\n if (store.navigationLoadingTaskCount() > 0) {\n patchState(store, { navigationLoadingTaskCount: store.navigationLoadingTaskCount() - 1 });\n }\n if (store.navigationLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.navigationLoadingTaskCount() === 0) {\n patchState(store, { navigationLoading: false });\n }\n });\n }\n }\n },\n\n // Set overlay loading state with a task counter\n setOverlayLoading(value: boolean) {\n if (value) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() + 1 });\n patchState(store, { overlayLoading: true });\n } else {\n if (store.overlayLoadingTaskCount() > 0) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() - 1 });\n }\n if (store.overlayLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.overlayLoadingTaskCount() === 0) {\n patchState(store, { overlayLoading: false });\n }\n });\n }\n }\n },\n\n // Apply the current theme to the HTML class\n _applyCurrentTheme() {\n updateHtmlClass(store.isDarkMode());\n },\n\n // Set up event listener for system theme changes\n _setupSystemColorListener() {\n const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n const listener = (e: MediaQueryListEvent) => {\n patchState(store, { systemTheme: e.matches ? AXPThemeVariant.Dark : AXPThemeVariant.Light });\n updateHtmlClass(store.isDarkMode());\n };\n mediaQueryList.addEventListener('change', listener);\n return listener;\n },\n\n // Remove event listener for system theme changes\n _removeSystemColorListener(listener: (e: MediaQueryListEvent) => void) {\n const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n mediaQueryList.removeEventListener('change', listener);\n },\n\n // Set up event listener for window resize\n _setupResizeListener() {\n const listener = () => {\n updateScreenSize();\n };\n window.addEventListener('resize', listener);\n return listener;\n },\n\n // Remove event listener for window resize\n _removeResizeListener(listener: () => void) {\n window.removeEventListener('resize', listener);\n },\n async loadSettings() {\n applySettings();\n }\n };\n }),\n\n // Lifecycle Hooks\n withHooks((store, settingService = inject(AXPSettingValueProviderService)) => ({\n onInit() {\n //\n settingService.onChanged.subscribe(async (setting) => {\n if (setting.keys.includes(AXPThemeLayoutSetting.ThemeVariant)) {\n await store.loadSettings();\n }\n });\n\n // Set up event listener for system theme changes\n const listener = store._setupSystemColorListener();\n patchState(store, { _listener: listener });\n\n // Set up event listener for window resize\n const resizeListener = store._setupResizeListener();\n patchState(store, { _resizeListener: resizeListener });\n },\n\n onDestroy() {\n // Clean up event listeners when store is destroyed\n const { _listener: listener, _resizeListener: resizeListener } = store;\n if (listener) {\n store._removeSystemColorListener(listener);\n }\n if (resizeListener) {\n store._removeResizeListener(resizeListener);\n }\n },\n }))\n);\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { AXPLayoutThemeService, AXPThemeVariant } from '../services/theme.service';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@Component({\n template: `\n <ax-button look=\"blank\">\n <ax-icon\n class=\"fa-regular \"\n [ngClass]=\"{\n 'fa-desktop':store.isSystemMode(),\n 'fa-moon':!store.isSystemMode() && store.isDarkMode(),\n 'fa-brightness':!store.isSystemMode() && !store.isDarkMode(),\n }\"\n >\n </ax-icon>\n <ax-dropdown-panel *translate=\"let t\">\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.changeTheme(variants.Light)\"\n [text]=\"(t('theme.light') | async)!\"\n [selected]=\"!store.isSystemMode() && !store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-brightness\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeTheme(variants.Dark)\"\n [text]=\"(t('theme.dark') | async)!\"\n [selected]=\"!store.isSystemMode() && store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-moon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeTheme(variants.System)\"\n [text]=\"(t('theme.system') | async)!\"\n [selected]=\"store.isSystemMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-desktop\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule]\n})\nexport class AXPThemeSlotComponent {\n protected store = inject(AXPLayoutThemeService);\n\n protected variants = AXPThemeVariant;\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPThemeVariant } from './services/theme.service';\nimport { AXPThemeLayoutSetting } from './setting.keys';\nimport { objectKeyValueTransforms } from '@acorex/platform/layout/builder';\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context.addGroup('common-settings', 'General Settings', 'General application settings.', 'fa-solid fa-gear-complex')\n // General Settings Section\n .addSection('general', 'General', 'General configurations for the application.')\n .endSection()\n .endGroup();\n //\n context\n .group('common-settings')\n ?.section('general')\n ?.addSetting({\n key: AXPThemeLayoutSetting.ThemeVariant,\n title: 'Default Theme',\n scope: 'U',\n isInherited: true,\n defaultValue: AXPThemeVariant.Light,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: 'select-editor',\n options: {\n dataSource: Object.entries(AXPThemeVariant).map(([key, value]) => ({\n id: value,\n title: key.charAt(0).toUpperCase() + key.slice(1).toLowerCase(),\n })),\n },\n },\n description: 'Select the default theme for the application.',\n })\n }\n}\n","import { AXP_SETTING_DEFINITION_PROVIDER, AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './components/theme-slot.component';\nimport { AXPThemeSettingProvider } from './setting.provider';\nimport { AXPLayoutThemeService } from './services/theme.service';\n@NgModule({\n imports: [\n AXPComponentSlotModule.forRoot({\n 'header-end': [\n {\n priority: 50,\n name: 'theme',\n component: AXPThemeSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPThemeSettingProvider,\n multi: true\n }\n ],\n})\nexport class AXPThemesSharedModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n const service = injector.get(AXPLayoutThemeService);\n appInitService.registerTask({\n name: 'Settings',\n statusText: 'Loading Settings ...',\n run: async () => {\n await service.loadSettings();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;MA0Ba,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,seAL3B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAxBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;AAgBT,IAAA,CAAA;AACD,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;MCbY,yCAAyC,CAAA;8GAAzC,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yCAAyC,sFAJxC,CAAiE,+DAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIlE,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAPrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE,CAAiE,+DAAA,CAAA;oBAC3E,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;MAWY,2CAA2C,CAAA;8GAA3C,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2CAA2C,wFAJ1C,CAAmD,iDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIpD,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBAPvD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAmD,iDAAA,CAAA;oBAC7D,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;MAwBY,8BAA8B,CAAA;AApB3C,IAAA,WAAA,GAAA;AAsBoB,QAAA,IAAA,CAAA,eAAe,GAAG,SAAS,CAAmB,SAAS,CAAC;AACvD,QAAA,IAAA,CAAA,cAAc,GAAG,YAAY,CAAC,yCAAyC,CAAC;AAClF,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC;AAEjD,QAAA,IAAA,CAAA,iBAAiB,GAAG,SAAS,CAAmB,WAAW,CAAC;AAC3D,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAC,2CAA2C,CAAC;AACtF,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC;AAExE;8GAVY,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EAGQ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,yCAAyC,EAIvC,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,2CAA2C,EAvBlF,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;AAWT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAdS,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAmBb,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBApB1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;;;;;;;;;AAWT,IAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;MCPY,qCAAqC,CAAA;AAhClD,IAAA,WAAA,GAAA;AAkCoB,QAAA,IAAA,CAAA,KAAK,GAAG,SAAS,CAAmB,OAAO,CAAC;AAC5C,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAmB,aAAa,CAAC;AACxD,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAmB,SAAS,CAAC;AAChD,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAmB,QAAQ,CAAC;AAC9C,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAmB,aAAa,CAAC;AACxD,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAmB,WAAW,CAAC;AAGvE;8GAVY,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qCAAqC,EA5BpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA1BS,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FA+Bb,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAhCjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;AAuBT,IAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;MCbY,sCAAsC,CAAA;AAhBnD,IAAA,WAAA,GAAA;AAiBoB,QAAA,IAAA,CAAA,MAAM,GAAG,YAAY,CAAC,qCAAqC,CAAC;AAC5D,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAmB,SAAS,CAAC;AACnE;8GAHY,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACT,qCAAqC,EAbjE,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;AAOT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAVS,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAeb,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAhBlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;;;;;AAOT,IAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;MCEY,mCAAmC,CAAA;AAhBhD,IAAA,WAAA,GAAA;AAiBoB,QAAA,IAAA,CAAA,MAAM,GAAG,YAAY,CAAC,qCAAqC,CAAC;AAC5D,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAmB,SAAS,CAAC;AACnE;8GAHY,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACN,qCAAqC,EAbjE,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;AAOT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAVS,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAeb,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAhB/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE;;;;;;;AAOT,IAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;MCRY,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,2EAJ1B,CAA+E,6EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIhF,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAA+E,6EAAA,CAAA;oBACzF,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;MAWY,qCAAqC,CAAA;8GAArC,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qCAAqC,iFAJpC,CAAyD,uDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAI1D,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAPjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAyD,uDAAA,CAAA;oBACnE,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;MAWY,+BAA+B,CAAA;8GAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,gFAJ9B,CAA2F,yFAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAI5F,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAP3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,CAA2F,yFAAA,CAAA;oBACrG,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;;;AC7BD,IAAY,qBAGX;AAHD,CAAA,UAAY,qBAAqB,EAAA;AAC7B,IAAA,qBAAA,CAAA,cAAA,CAAA,GAAA,sBAAqC;AACrC,IAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,uBAAuC;AAC3C,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAGhC,EAAA,CAAA,CAAA;;ACGD;IACY;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJW,eAAe,KAAf,eAAe,GAI1B,EAAA,CAAA,CAAA;AAED;IACY;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAED;IACY;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAED;IACY;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,GAG3B,EAAA,CAAA,CAAA;AAGD;AACa,MAAA,qBAAqB,GAAG,WAAW,CAC9C,EAAE,UAAU,EAAE,MAAM,EAAE;AAEtB;AACA,SAAS,CAAC,MAAK;AACb,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM;IAC3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;;IAGnF,MAAM,aAAa,GAAG,MAAoB;AACxC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;QAC/B,IAAI,KAAK,IAAI,GAAG;YAAE,OAAO,aAAa,CAAC,KAAK;QAC5C,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,aAAa,CAAC,MAAM;QAC9C,OAAO,aAAa,CAAC,KAAK;AAC5B,KAAC;;IAGD,MAAM,aAAa,GAAG,MAAoB;QACxC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE;AACnD,QAAA,IAAI,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAChD,OAAO,aAAa,CAAC,MAAM;;AACtB,aAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,aAAa,CAAC,MAAM;;QAE7B,OAAO,aAAa,CAAC,OAAO;AAC9B,KAAC;;IAGD,MAAM,aAAa,GAAG,MAAc;QAClC,OAAO,cAAc,IAAI,MAAM,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC;AACjE,KAAC;AAED,IAAA,MAAM,KAAK,GAAG;AACZ,QAAA,YAAY,EAAE,YAAY;AAC1B,QAAA,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAoB;QAClG,UAAU,EAAE,aAAa,EAAE;QAC3B,UAAU,EAAE,aAAa,EAAE;QAC3B,aAAa,EAAE,aAAa,EAAE;AAC9B,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,uBAAuB,EAAE,CAAC;AAC1B,QAAA,0BAA0B,EAAE,CAAC;QAC7B,aAAa,GAAG,aAAa,EAAE,KAAK,aAAa,CAAC,KAAK,GAAG,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAqB;AAChI,QAAA,SAAS,EAAE,IAAiD;AAC5D,QAAA,eAAe,EAAE,IAA2B;KAC7C;AAED,IAAA,OAAO,KAAK;AACd,CAAC,CAAC;AAEF;AACA,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM;IACxI,UAAU,EAAE,QAAQ,CAClB,MACE,YAAY,EAAE,KAAK,eAAe,CAAC,IAAI;AACvC,SAAC,YAAY,EAAE,KAAK,eAAe,CAAC,MAAM,IAAI,WAAW,EAAE,KAAK,eAAe,CAAC,IAAI,CAAC,CACxF;IACD,WAAW,EAAE,QAAQ,CACnB,MACE,YAAY,EAAE,KAAK,eAAe,CAAC,KAAK;AACxC,SAAC,YAAY,EAAE,KAAK,eAAe,CAAC,MAAM,IAAI,WAAW,EAAE,KAAK,eAAe,CAAC,KAAK,CAAC,CACzF;AACD,IAAA,YAAY,EAAE,QAAQ,CAAC,MAAM,YAAY,EAAE,KAAK,eAAe,CAAC,MAAM,CAAC;AACvE,IAAA,cAAc,EAAE,QAAQ,CAAC,MAAM,aAAa,EAAE,KAAK,gBAAgB,CAAC,MAAM,CAAC;AAC3E,IAAA,OAAO,EAAE,QAAQ,CAAC,MAAM,UAAU,EAAE,KAAK,aAAa,CAAC,KAAK,CAAC;AAC7D,IAAA,QAAQ,EAAE,QAAQ,CAAC,MAAM,UAAU,EAAE,KAAK,aAAa,CAAC,MAAM,CAAC;AAC/D,IAAA,OAAO,EAAE,QAAQ,CAAC,MAAM,UAAU,EAAE,KAAK,aAAa,CAAC,KAAK,CAAC;AAC7D,IAAA,cAAc,EAAE,QAAQ,CAAC,MAAM,UAAU,EAAE,KAAK,aAAa,CAAC,MAAM,CAAC;AACrE,IAAA,cAAc,EAAE,QAAQ,CAAC,MAAM,UAAU,EAAE,KAAK,aAAa,CAAC,MAAM,CAAC;AACrE,IAAA,eAAe,EAAE,QAAQ,CAAC,MAAM,UAAU,EAAE,KAAK,aAAa,CAAC,OAAO,CAAC;IACvE,aAAa,EAAE,QAAQ,CAAC,MAAM,aAAa,EAAE,CAAC;IAC9C,gBAAgB,EAAE,QAAQ,CAAC,MAAM,cAAc,EAAE,CAAC;IAClD,mBAAmB,EAAE,QAAQ,CAAC,MAAM,iBAAiB,EAAE,CAAC;AACzD,CAAA,CAAC,CAAC;AAEH;AACA,WAAW,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,8BAA8B,CAAC,KAAI;AAE7E,IAAA,MAAM,aAAa,GAAG,YAAW;;AAE/B,QAAA,MAAM,YAAY,GAAI,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAyB,eAAe,CAAC,KAAK;QACjI,UAAU,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACjD,QAAA,MAAM,eAAe,GAAI,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,CAAC,KAA0B,KAAK,CAAC,aAAa,EAAE;QACtI,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AACrD,QAAA,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AAErC,KAAC;;AAGD,IAAA,MAAM,eAAe,GAAG,CAAC,IAAa,KAAI;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AACzE,KAAC;;IAGD,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAC/B,QAAA,IAAI,aAA4B;AAEhC,QAAA,IAAI,KAAK,IAAI,GAAG,EAAE;AAChB,YAAA,aAAa,GAAG,aAAa,CAAC,KAAK;;AAC9B,aAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACxB,YAAA,aAAa,GAAG,aAAa,CAAC,MAAM;;aAC/B;AACL,YAAA,aAAa,GAAG,aAAa,CAAC,KAAK;;AAGrC,QAAA,IAAI,aAAa,KAAK,KAAK,CAAC,UAAU,EAAE,EAAE;YACxC,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,aAAa,EAAE,KAAK,gBAAgB,CAAC,MAAM,EAAE;gBACrD,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,GAAG,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAC/H,gBAAA,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;;;AAGpF,KAAC;AAID,IAAA,MAAM,kBAAkB,GAAG,GAAG,CAAC;IAE/B,OAAO;;AAEL,QAAA,WAAW,CAAC,KAAsB,EAAA;YAChC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC;YAC7D,UAAU,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC1C,YAAA,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;SACpC;;QAGD,YAAY,GAAA;YACV,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC7D,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC;SACjF;;QAGD,aAAa,GAAA;YACX,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC7D,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC;SACjF;;QAGD,cAAc,GAAA;YACZ,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM;YAC9H,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;YACtD,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,CAAC;SAC1E;;AAGD,QAAA,oBAAoB,CAAC,KAAc,EAAA;YACjC,IAAI,KAAK,EAAE;AACT,gBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzF,UAAU,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;;iBACzC;AACL,gBAAA,IAAI,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,EAAE;AAC1C,oBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,EAAE,CAAC;;AAE3F,gBAAA,IAAI,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE;AAC5C,oBAAA,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,MAAK;AACvC,wBAAA,IAAI,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE;4BAC5C,UAAU,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;;AAEnD,qBAAC,CAAC;;;SAGP;;AAGD,QAAA,iBAAiB,CAAC,KAAc,EAAA;YAC9B,IAAI,KAAK,EAAE;AACT,gBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnF,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;;iBACtC;AACL,gBAAA,IAAI,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE;AACvC,oBAAA,UAAU,CAAC,KAAK,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,CAAC;;AAErF,gBAAA,IAAI,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE;AACzC,oBAAA,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,MAAK;AACvC,wBAAA,IAAI,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE;4BACzC,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;;AAEhD,qBAAC,CAAC;;;SAGP;;QAGD,kBAAkB,GAAA;AAChB,YAAA,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;SACpC;;QAGD,yBAAyB,GAAA;YACvB,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;AACxE,YAAA,MAAM,QAAQ,GAAG,CAAC,CAAsB,KAAI;gBAC1C,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;AAC5F,gBAAA,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AACrC,aAAC;AACD,YAAA,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACnD,YAAA,OAAO,QAAQ;SAChB;;AAGD,QAAA,0BAA0B,CAAC,QAA0C,EAAA;YACnE,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;AACxE,YAAA,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACvD;;QAGD,oBAAoB,GAAA;YAClB,MAAM,QAAQ,GAAG,MAAK;AACpB,gBAAA,gBAAgB,EAAE;AACpB,aAAC;AACD,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC3C,YAAA,OAAO,QAAQ;SAChB;;AAGD,QAAA,qBAAqB,CAAC,QAAoB,EAAA;AACxC,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC/C;AACD,QAAA,MAAM,YAAY,GAAA;AAChB,YAAA,aAAa,EAAE;;KAElB;AACH,CAAC,CAAC;AAEF;AACA,SAAS,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC,8BAA8B,CAAC,MAAM;IAC7E,MAAM,GAAA;;QAEJ,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,OAAO,KAAI;YACnD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE;AAC7D,gBAAA,MAAM,KAAK,CAAC,YAAY,EAAE;;AAE9B,SAAC,CAAC;;AAGF,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,yBAAyB,EAAE;QAClD,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;;AAG1C,QAAA,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,EAAE;QACnD,UAAU,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;KACvD;IAED,SAAS,GAAA;;QAEP,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,KAAK;QACtE,IAAI,QAAQ,EAAE;AACZ,YAAA,KAAK,CAAC,0BAA0B,CAAC,QAAQ,CAAC;;QAE5C,IAAI,cAAc,EAAE;AAClB,YAAA,KAAK,CAAC,qBAAqB,CAAC,cAAc,CAAC;;KAE9C;CACF,CAAC,CAAC;;MC3OQ,qBAAqB,CAAA;AA/ClC,IAAA,WAAA,GAAA;AAgDY,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAErC,IAAQ,CAAA,QAAA,GAAG,eAAe;AACrC;8GAJY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EA9CpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CX,EACW,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,iLAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,wPAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAEvF,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA/CjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CX,EAAA,CAAA;oBACC,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB;AACnG,iBAAA;;;MCjDY,uBAAuB,CAAA;IAGlC,MAAM,OAAO,CAAC,OAA4C,EAAA;QACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,0BAA0B;;AAEhH,aAAA,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,6CAA6C;AAC9E,aAAA,UAAU;AACV,aAAA,QAAQ,EAAE;;QAEb;aACG,KAAK,CAAC,iBAAiB;cACtB,OAAO,CAAC,SAAS;AACnB,cAAE,UAAU,CAAC;YACX,GAAG,EAAE,qBAAqB,CAAC,YAAY;AACvC,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,eAAe,CAAC,KAAK;AACnC,YAAA,eAAe,EAAE,wBAAwB,CAAC,IAAI,CAAC;AAC/C,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM;AACjE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAChE,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,+CAA+C;AAC7D,SAAA,CAAC;;AAEP;;MCVY,qBAAqB,CAAA;IAChC,WACE,CAAA,cAAoC,EACpC,QAAkB,EAAA;QAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACnD,cAAc,CAAC,YAAY,CAAC;AAC1B,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,UAAU,EAAE,sBAAsB;YAClC,GAAG,EAAE,YAAW;AACd,gBAAA,MAAM,OAAO,CAAC,YAAY,EAAE;;AAE/B,SAAA,CAAC;;8GAZO,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAAAA,IAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EARrB,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,+BAA+B;AACxC,gBAAA,QAAQ,EAAE,uBAAuB;AACjC,gBAAA,KAAK,EAAE;AACR;SACF,EAlBC,OAAA,EAAA,CAAA,sBAAsB,CAAC,OAAO,CAAC;AAC7B,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,SAAS,EAAE,qBAAqB;AACjC,qBAAA;AACF,iBAAA;aACF,CAAC,CAAA,EAAA,CAAA,CAAA;;2FAYO,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAtBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,sBAAsB,CAAC,OAAO,CAAC;AAC7B,4BAAA,YAAY,EAAE;AACZ,gCAAA;AACE,oCAAA,QAAQ,EAAE,EAAE;AACZ,oCAAA,IAAI,EAAE,OAAO;AACb,oCAAA,SAAS,EAAE,qBAAqB;AACjC,iCAAA;AACF,6BAAA;yBACF,CAAC;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,+BAA+B;AACxC,4BAAA,QAAQ,EAAE,uBAAuB;AACjC,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA;AACF,iBAAA;;;AC1BD;;AAEG;;;;"}
|