@acorex/platform 19.2.20 → 19.3.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +1 -0
- package/common/lib/app/application.types.d.ts +13 -3
- package/common/lib/file-storage/file-storage.types.d.ts +20 -12
- package/common/lib/filters/filters.types.d.ts +5 -0
- package/common/lib/layout/menu/badge-helper.d.ts +7 -0
- package/common/lib/layout/menu/index.d.ts +1 -0
- package/common/lib/layout/menu/menu.types.d.ts +1 -0
- package/common/lib/layout/task-badge/index.d.ts +2 -0
- package/common/lib/layout/task-badge/task-badge.service.d.ts +11 -0
- package/common/lib/layout/task-badge/task-badge.type.d.ts +6 -0
- package/common/lib/settings/setting-definition.provider.d.ts +7 -5
- package/common/lib/settings/setting.builder.d.ts +8 -5
- package/common/lib/settings/settings.service.d.ts +6 -5
- package/common/lib/settings/settings.types.d.ts +6 -10
- package/core/lib/data/index.d.ts +1 -0
- package/core/lib/data/value-transformer.d.ts +6 -0
- package/core/lib/types/core.types.d.ts +18 -0
- package/{layout/entity/lib → core/lib/types}/data.types.d.ts +3 -1
- package/core/lib/types/element.types.d.ts +6 -0
- package/core/lib/types/index.d.ts +6 -0
- package/core/lib/{types.d.ts → types/interactive.types.d.ts} +5 -25
- package/core/lib/types/scope.types.d.ts +10 -0
- package/core/lib/types/validation.types.d.ts +7 -0
- package/core/lib/utils/index.d.ts +1 -0
- package/core/lib/utils/object-util.d.ts +3 -0
- package/fesm2022/acorex-platform-common.mjs +79 -35
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +151 -6
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +44 -55
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +77 -35
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +240 -414
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-search.mjs +7 -26
- package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-setting.mjs +211 -278
- package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs → acorex-platform-themes-default-entity-master-create-view.component-3gmbdeJ_.mjs} +4 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-3gmbdeJ_.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DnEL7Ej-.mjs +741 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DnEL7Ej-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-8DdICjNs.mjs +91 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-8DdICjNs.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DadBeY1I.mjs +164 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DadBeY1I.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-search-popup.component-BY3oQqbr.mjs → acorex-platform-themes-default-search-popup.component-BADEuoeJ.mjs} +9 -9
- package/fesm2022/{acorex-platform-themes-default-search-popup.component-BY3oQqbr.mjs.map → acorex-platform-themes-default-search-popup.component-BADEuoeJ.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-setting-page.component-Cj73brIK.mjs +219 -0
- package/fesm2022/acorex-platform-themes-default-setting-page.component-Cj73brIK.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-setting-view.component-rrAq6hg2.mjs +103 -0
- package/fesm2022/acorex-platform-themes-default-setting-view.component-rrAq6hg2.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +108 -64
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs +168 -0
- package/fesm2022/acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +495 -240
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +4100 -1480
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/lib/builder/builder.service.d.ts +1 -1
- package/layout/builder/lib/builder/index.d.ts +2 -1
- package/layout/builder/lib/builder/widget-categories.d.ts +10 -0
- package/layout/builder/lib/builder/widget-group.types.d.ts +10 -0
- package/layout/builder/lib/builder/widget-map.d.ts +8 -1
- package/layout/builder/lib/builder/widget-status.types.d.ts +2 -0
- package/layout/builder/lib/builder/widget.types.d.ts +11 -27
- package/layout/designer/lib/designer/components/widget-picker/widget-picker.component.d.ts +7 -3
- package/layout/designer/lib/designer/components/widget-picker/widget-picker.service.d.ts +12 -0
- package/layout/designer/lib/designer/index.d.ts +1 -0
- package/layout/designer/lib/designer/shared/designer.service.d.ts +1 -0
- package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +2 -1
- package/layout/entity/lib/entity-data-seeder.d.ts +2 -2
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +4 -7
- package/layout/entity/lib/entity-storage-service.d.ts +39 -55
- package/layout/entity/lib/entity.types.d.ts +21 -0
- package/layout/entity/lib/index.d.ts +1 -2
- package/layout/entity/lib/widgets/lookup-widget/index.d.ts +0 -2
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +4 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +7 -9
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +5 -2
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +11 -3
- package/layout/search/lib/search.viewmodel.d.ts +0 -2
- package/layout/setting/lib/setting.viewmodel.d.ts +45 -111
- package/package.json +5 -5
- package/themes/default/lib/layouts/base/base-page.component.d.ts +14 -5
- package/themes/default/lib/layouts/base/base-page.types.d.ts +6 -1
- package/themes/default/lib/layouts/base/page-layout/page-layout.component.d.ts +5 -4
- package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +2 -2
- package/themes/default/lib/layouts/entity-layouts/entity-category/entity-category.component.d.ts +16 -0
- package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +2 -2
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +10 -8
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +12 -4
- package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/entity-master-toolbar-view.component.d.ts +7 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/filters/entity-filter-toolbar.component.d.ts +48 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/views/entity-view-toolbar.component.d.ts +12 -0
- package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +2 -2
- package/themes/default/lib/layouts/root-layout/components/horizontal-menu/horizontal-menu.component.d.ts +9 -3
- package/themes/default/lib/layouts/root-layout/components/side-menu/side-menu.component.d.ts +7 -1
- package/themes/default/lib/layouts/root-layout/horizontal/horizontal-layout.component.d.ts +2 -2
- package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +2 -2
- package/themes/default/lib/layouts/root-layout/vertical/vertical-layout.component.d.ts +2 -2
- package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +61 -5
- package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +68 -6
- package/themes/shared/index.d.ts +1 -0
- package/themes/shared/lib/components/badge/badge.directive.d.ts +14 -0
- package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +4 -1
- package/themes/shared/lib/components/layout-elements/layout-side.component.d.ts +2 -2
- package/themes/shared/lib/components/slots/theme-slot.component.d.ts +2 -2
- package/themes/shared/lib/palette.provider.d.ts +1 -1
- package/themes/shared/lib/setting.keys.d.ts +2 -1
- package/themes/shared/lib/setting.provider.d.ts +4 -1
- package/themes/shared/lib/theme.service.d.ts +2 -2
- package/themes/shared/lib/theme.types.d.ts +11 -2
- package/themes/shared/lib/widgets/font-size-chooser/font-size-chooser-widget.component.d.ts +10 -0
- package/themes/shared/lib/widgets/font-size-chooser/font-size-chooser-widget.config.d.ts +7 -0
- package/themes/shared/lib/widgets/font-size-chooser/index.d.ts +2 -0
- package/themes/shared/lib/widgets/font-style-chooser/font-style-chooser-widget.component.d.ts +15 -0
- package/themes/shared/lib/widgets/font-style-chooser/font-style-chooser-widget.config.d.ts +7 -0
- package/themes/shared/lib/widgets/font-style-chooser/index.d.ts +2 -0
- package/themes/shared/lib/widgets/menu-orientation-chooser/index.d.ts +2 -0
- package/themes/shared/lib/widgets/menu-orientation-chooser/menu-orientation-chooser-widget.component.d.ts +15 -0
- package/themes/shared/lib/widgets/menu-orientation-chooser/menu-orientation-chooser-widget.config.d.ts +7 -0
- package/themes/shared/lib/widgets/theme-mode-chooser/index.d.ts +2 -0
- package/themes/shared/lib/widgets/theme-mode-chooser/theme-mode-chooser-widget.component.d.ts +16 -0
- package/themes/shared/lib/widgets/theme-mode-chooser/theme-mode-chooser-widget.config.d.ts +7 -0
- package/themes/shared/lib/widgets/theme-palette-chooser/index.d.ts +2 -0
- package/themes/shared/lib/widgets/theme-palette-chooser/theme-palette-chooser-widget.component.d.ts +13 -0
- package/themes/shared/lib/widgets/{theme-color-selection/theme-color-selection-widget.config.d.ts → theme-palette-chooser/theme-palette-chooser-widget.config.d.ts} +2 -2
- package/widgets/lib/properties/groups.d.ts +2 -0
- package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +5 -5
- package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.component.d.ts +52 -0
- package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +29 -11
- package/widgets/lib/widgets/charts/bar-chart/index.d.ts +1 -1
- package/widgets/lib/widgets/charts/chart.type.d.ts +3 -0
- package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.component.d.ts +40 -0
- package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/charts/clock-calendar/clock-calendar.types.d.ts +50 -0
- package/widgets/lib/widgets/charts/clock-calendar/index.d.ts +3 -0
- package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.component.d.ts +54 -0
- package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +31 -21
- package/widgets/lib/widgets/charts/donut-chart/index.d.ts +1 -1
- package/widgets/lib/widgets/charts/gauge-chart/{gauge-chart-widget-edit.component.d.ts → gauge-chart-widget.component.d.ts} +3 -3
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +26 -11
- package/widgets/lib/widgets/charts/gauge-chart/index.d.ts +2 -1
- package/widgets/lib/widgets/charts/shared/chart-base.component.d.ts +44 -0
- package/widgets/lib/widgets/charts/shared/chart-base.type.d.ts +37 -0
- package/widgets/lib/widgets/charts/sticky-note/index.d.ts +1 -1
- package/widgets/lib/widgets/charts/sticky-note/{sticky-note-widget-edit.component.d.ts → sticky-note-widget.component.d.ts} +3 -3
- package/widgets/lib/widgets/charts/weather/index.d.ts +4 -0
- package/widgets/lib/widgets/charts/weather/weather-services/index.d.ts +3 -0
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.abstract.d.ts +174 -0
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.key.d.ts +2 -0
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.mock.service.d.ts +47 -0
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.service.d.ts +48 -0
- package/widgets/lib/widgets/charts/weather/weather-widget.component.d.ts +109 -0
- package/widgets/lib/widgets/charts/weather/weather-widget.config.d.ts +14 -0
- package/widgets/lib/widgets/charts/weather/weather.module.d.ts +11 -0
- package/widgets/lib/widgets/editors/select/select-box-widget-column.component.d.ts +0 -1
- package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +4 -1
- package/widgets/lib/widgets/editors/template-box/index.d.ts +6 -0
- package/widgets/lib/widgets/editors/template-box/template-box-widget-column.component.d.ts +10 -0
- package/widgets/lib/widgets/editors/template-box/template-box-widget-edit.component.d.ts +29 -0
- package/widgets/lib/widgets/editors/template-box/template-box-widget-filter.component.d.ts +6 -0
- package/widgets/lib/widgets/editors/template-box/template-box-widget-print.component.d.ts +10 -0
- package/widgets/lib/widgets/editors/template-box/template-box-widget-view.component.d.ts +11 -0
- package/widgets/lib/widgets/editors/template-box/template-box-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/filters/select-filter/select-filter-widget-edit.component.d.ts +2 -5
- package/widgets/lib/widgets/index.d.ts +3 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-LKhN00ob.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BYUOmONk.mjs +0 -400
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BYUOmONk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs +0 -91
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B9TUh-2S.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-9U774Tr7.mjs +0 -135
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-9U774Tr7.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-setting-page.component-_IStMWcu.mjs +0 -74
- package/fesm2022/acorex-platform-themes-default-setting-page.component-_IStMWcu.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-setting-view.component-CeHpcfsc.mjs +0 -73
- package/fesm2022/acorex-platform-themes-default-setting-view.component-CeHpcfsc.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D_EkB2k8.mjs +0 -146
- package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D_EkB2k8.mjs.map +0 -1
- package/layout/builder/lib/builder/widget-groups.d.ts +0 -9
- package/layout/entity/lib/dexie-storage.service.d.ts +0 -16
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +0 -6
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +0 -6
- package/themes/default/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.d.ts +0 -13
- package/themes/default/lib/pages/theme-palette-preview/theme-palette-preview.page.d.ts +0 -85
- package/themes/shared/lib/widgets/theme-color-selection/index.d.ts +0 -2
- package/themes/shared/lib/widgets/theme-color-selection/theme-color-selection-widget-edit.component.d.ts +0 -6
- package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +0 -40
- package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget-edit.component.d.ts +0 -44
|
@@ -1,27 +1,67 @@
|
|
|
1
|
+
import { AXBadgeComponent } from '@acorex/components/badge';
|
|
2
|
+
import * as i1$1 from '@acorex/platform/common';
|
|
3
|
+
import { AXPTaskBadgeService, AXPSettingService, AXPComponentSlotModule, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { inject, input, computed, effect, Directive, ChangeDetectionStrategy, ViewEncapsulation, Component, viewChild, contentChild, ElementRef, InjectionToken, signal, Injector, NgModule } from '@angular/core';
|
|
6
|
+
import { SIGNAL, signalSetFn } from '@angular/core/primitives/signals';
|
|
1
7
|
import * as i1 from '@angular/common';
|
|
2
8
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from '@angular/core';
|
|
4
|
-
import { ChangeDetectionStrategy, ViewEncapsulation, Component, viewChild, contentChild, computed, InjectionToken, inject, NgModule } from '@angular/core';
|
|
5
9
|
import * as i2 from '@acorex/components/button';
|
|
6
10
|
import { AXButtonModule } from '@acorex/components/button';
|
|
7
11
|
import * as i3 from '@acorex/components/decorators';
|
|
8
12
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
9
13
|
import * as i4 from '@acorex/components/dropdown';
|
|
10
14
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
11
|
-
import * as i1$2 from '@acorex/platform/common';
|
|
12
|
-
import { AXPSettingScope, AXPSettingService, AXPComponentSlotModule, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
|
|
13
15
|
import { signalStore, withState, withComputed, withMethods, patchState, withHooks } from '@ngrx/signals';
|
|
14
|
-
import { timer, firstValueFrom, filter } from 'rxjs';
|
|
16
|
+
import { timer, firstValueFrom, fromEvent, Subscription, filter } from 'rxjs';
|
|
17
|
+
import { debounceTime } from 'rxjs/operators';
|
|
15
18
|
import { HttpClient } from '@angular/common/http';
|
|
16
|
-
import
|
|
19
|
+
import { AXPPlatformScope } from '@acorex/platform/core';
|
|
20
|
+
import * as i2$1 from '@acorex/core/translation';
|
|
17
21
|
import { AXTranslationModule } from '@acorex/core/translation';
|
|
18
|
-
import * as i2$
|
|
19
|
-
import {
|
|
22
|
+
import * as i2$2 from '@acorex/platform/layout/builder';
|
|
23
|
+
import { AXPWidgetComponent, AXP_WIDGETS_LAYOUT_CATEGORY, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
|
20
24
|
import { FormsModule } from '@angular/forms';
|
|
21
|
-
import * as i1$1 from '@acorex/cdk/selection';
|
|
22
25
|
import { AXSelectionModule } from '@acorex/cdk/selection';
|
|
23
26
|
import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/widgets';
|
|
24
27
|
|
|
28
|
+
class AXPTaskBadgeDirective {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.badgeService = inject(AXPTaskBadgeService);
|
|
31
|
+
this.host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>
|
|
32
|
+
this.hostElement = this.host.getHostElement();
|
|
33
|
+
this.badgeKey = input(undefined);
|
|
34
|
+
this.count = input(0, { alias: 'axp-task-badge' });
|
|
35
|
+
this.displayCount = computed(() => {
|
|
36
|
+
const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey())());
|
|
37
|
+
return value ? value.toString() : '';
|
|
38
|
+
});
|
|
39
|
+
this.#eff = effect(() => {
|
|
40
|
+
this.setValueOfInputSignal(this.host.text, this.displayCount());
|
|
41
|
+
if (!this.displayCount()) {
|
|
42
|
+
this.hostElement.style.display = 'none';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.hostElement.style.removeProperty('display');
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
#eff;
|
|
50
|
+
setValueOfInputSignal(signal, value) {
|
|
51
|
+
const node = signal[SIGNAL];
|
|
52
|
+
signalSetFn(node, value);
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTaskBadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.3", type: AXPTaskBadgeDirective, isStandalone: true, selector: "[axp-task-badge]", inputs: { badgeKey: { classPropertyName: "badgeKey", publicName: "badgeKey", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "axp-task-badge", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTaskBadgeDirective, decorators: [{
|
|
58
|
+
type: Directive,
|
|
59
|
+
args: [{
|
|
60
|
+
selector: '[axp-task-badge]',
|
|
61
|
+
standalone: true,
|
|
62
|
+
}]
|
|
63
|
+
}] });
|
|
64
|
+
|
|
25
65
|
class AXPThemeLayoutPagePrimaryActionsComponent {
|
|
26
66
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutPagePrimaryActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
67
|
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 }); }
|
|
@@ -97,8 +137,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
97
137
|
}] });
|
|
98
138
|
|
|
99
139
|
class AXPThemeLayoutBlockComponent {
|
|
140
|
+
constructor() {
|
|
141
|
+
this.elementRef = inject(ElementRef);
|
|
142
|
+
this.hostElement = this.elementRef.nativeElement;
|
|
143
|
+
}
|
|
100
144
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutBlockComponent, isStandalone: true, selector: "\n\n axp-page-content, \n axp-page-footer,\n axp-page-header,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title, \n axp-layout-
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutBlockComponent, isStandalone: true, selector: "\n\n axp-page-content, \n axp-page-footer,\n axp-page-header,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-container,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n ", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
102
146
|
}
|
|
103
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutBlockComponent, decorators: [{
|
|
104
148
|
type: Component,
|
|
@@ -116,13 +160,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
116
160
|
|
|
117
161
|
axp-layout-sections,
|
|
118
162
|
axp-layout-body,
|
|
163
|
+
axp-layout-container,
|
|
119
164
|
axp-layout-page-body,
|
|
120
165
|
axp-layout-prefix,
|
|
121
166
|
axp-layout-suffix,
|
|
167
|
+
axp-layout-title-bar,
|
|
122
168
|
axp-layout-title,
|
|
169
|
+
axp-layout-title-actions,
|
|
123
170
|
axp-layout-nav-button,
|
|
124
171
|
axp-layout-description,
|
|
125
|
-
axp-layout-title-bar,
|
|
126
172
|
axp-layout-breadcrumbs,
|
|
127
173
|
axp-layout-list-action,
|
|
128
174
|
`,
|
|
@@ -314,7 +360,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
314
360
|
|
|
315
361
|
class AXPThemeLayoutStartSideComponent {
|
|
316
362
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutStartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutStartSideComponent, isStandalone: true, selector: "axp-layout-page-start-side", ngImport: i0, template: `
|
|
363
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutStartSideComponent, isStandalone: true, selector: "axp-layout-page-start-side, axp-layout-start-side", ngImport: i0, template: `
|
|
318
364
|
<ng-content select="axp-layout-header"></ng-content>
|
|
319
365
|
<ng-content select="axp-layout-content"></ng-content>
|
|
320
366
|
<ng-content select="axp-layout-footer"></ng-content>
|
|
@@ -325,7 +371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
325
371
|
args: [{
|
|
326
372
|
imports: [CommonModule],
|
|
327
373
|
standalone: true,
|
|
328
|
-
selector: 'axp-layout-page-start-side',
|
|
374
|
+
selector: 'axp-layout-page-start-side, axp-layout-start-side',
|
|
329
375
|
template: `
|
|
330
376
|
<ng-content select="axp-layout-header"></ng-content>
|
|
331
377
|
<ng-content select="axp-layout-content"></ng-content>
|
|
@@ -337,7 +383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
337
383
|
}] });
|
|
338
384
|
class AXPThemeLayoutEndSideComponent {
|
|
339
385
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeLayoutEndSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
340
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutEndSideComponent, isStandalone: true, selector: "axp-layout-page-end-side", ngImport: i0, template: `
|
|
386
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPThemeLayoutEndSideComponent, isStandalone: true, selector: "axp-layout-page-end-side, axp-layout-end-side", ngImport: i0, template: `
|
|
341
387
|
<ng-content select="axp-layout-header"></ng-content>
|
|
342
388
|
<ng-content select="axp-layout-content"></ng-content>
|
|
343
389
|
<ng-content select="axp-layout-footer"></ng-content>
|
|
@@ -348,7 +394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
348
394
|
args: [{
|
|
349
395
|
imports: [CommonModule],
|
|
350
396
|
standalone: true,
|
|
351
|
-
selector: 'axp-layout-page-end-side',
|
|
397
|
+
selector: 'axp-layout-page-end-side, axp-layout-end-side',
|
|
352
398
|
template: `
|
|
353
399
|
<ng-content select="axp-layout-header"></ng-content>
|
|
354
400
|
<ng-content select="axp-layout-content"></ng-content>
|
|
@@ -393,7 +439,8 @@ var AXPThemeLayoutSetting;
|
|
|
393
439
|
AXPThemeLayoutSetting["Mode"] = "layout:theme:mode";
|
|
394
440
|
AXPThemeLayoutSetting["SideMenuStatus"] = "layout:theme:sidemenu:status";
|
|
395
441
|
AXPThemeLayoutSetting["SideMenuWidth"] = "layout:theme:sidemenu:width";
|
|
396
|
-
AXPThemeLayoutSetting["MenuOrientation"] = "layout:theme:menu:
|
|
442
|
+
AXPThemeLayoutSetting["MenuOrientation"] = "layout:theme:root-menu:direction";
|
|
443
|
+
AXPThemeLayoutSetting["MenuBadgeVisible"] = "layout:theme:root-menu:badge";
|
|
397
444
|
})(AXPThemeLayoutSetting || (AXPThemeLayoutSetting = {}));
|
|
398
445
|
|
|
399
446
|
// Theme Enum
|
|
@@ -430,25 +477,6 @@ var AXPMenuOrientation;
|
|
|
430
477
|
AXPMenuOrientation["Horizontal"] = "horizontal";
|
|
431
478
|
})(AXPMenuOrientation || (AXPMenuOrientation = {}));
|
|
432
479
|
|
|
433
|
-
const AXP_THEME_PALETTE_PROVIDER = new InjectionToken('AXP_THEME_PALETTE_PROVIDER', {
|
|
434
|
-
providedIn: 'root',
|
|
435
|
-
factory: () => {
|
|
436
|
-
return new AXPThemePaletteProviderDefault();
|
|
437
|
-
},
|
|
438
|
-
});
|
|
439
|
-
class AXPThemePaletteProviderDefault {
|
|
440
|
-
getList() {
|
|
441
|
-
return Promise.resolve([
|
|
442
|
-
{
|
|
443
|
-
name: 'default',
|
|
444
|
-
title: 'Default',
|
|
445
|
-
path: '/assets/themes/palletes/default.css',
|
|
446
|
-
colors: [],
|
|
447
|
-
},
|
|
448
|
-
]);
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
|
|
452
480
|
// ThemeStore - Manages theme settings, system changes, and loading states
|
|
453
481
|
const AXPLayoutThemeService = signalStore({ providedIn: 'root' },
|
|
454
482
|
// Initial State
|
|
@@ -480,7 +508,7 @@ withState(() => {
|
|
|
480
508
|
};
|
|
481
509
|
const state = {
|
|
482
510
|
currentMode: AXPThemeMode.System,
|
|
483
|
-
|
|
511
|
+
currentPalette: 'default',
|
|
484
512
|
systemThemeMode: (isSystemDark ? AXPThemeMode.Dark : AXPThemeMode.Light),
|
|
485
513
|
font: {
|
|
486
514
|
family: 'system-ui',
|
|
@@ -522,14 +550,14 @@ withComputed(({ currentMode: currentTheme, systemThemeMode: systemTheme, screenS
|
|
|
522
550
|
isMenuHorizontal: computed(() => menuOrientation() === AXPMenuOrientation.Horizontal),
|
|
523
551
|
})),
|
|
524
552
|
// Methods for State Management
|
|
525
|
-
withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettingService)
|
|
553
|
+
withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettingService)) => {
|
|
526
554
|
const _applySettings = async () => {
|
|
527
555
|
// Initialize theme and side menu setting from storage
|
|
528
556
|
const settingThemeMode = (await settingService.get(AXPThemeLayoutSetting.Mode)) ?? AXPThemeMode.Light;
|
|
529
557
|
patchState(store, { currentMode: settingThemeMode });
|
|
530
558
|
//
|
|
531
559
|
const settingThemePallete = (await settingService.get(AXPThemeLayoutSetting.Palette)) ?? 'default';
|
|
532
|
-
patchState(store, {
|
|
560
|
+
patchState(store, { currentPalette: settingThemePallete });
|
|
533
561
|
//
|
|
534
562
|
const settingSideMenu = (await settingService.get(AXPThemeLayoutSetting.SideMenuStatus)) ?? store.sideMenuState();
|
|
535
563
|
patchState(store, { sideMenuState: settingSideMenu });
|
|
@@ -554,7 +582,7 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
554
582
|
html.style.fontFamily = store.font().family;
|
|
555
583
|
html.style.fontSize = store.font().size;
|
|
556
584
|
//
|
|
557
|
-
await _applyThemePalette(store.
|
|
585
|
+
await _applyThemePalette(store.currentPalette());
|
|
558
586
|
};
|
|
559
587
|
// Update screen size based on window width
|
|
560
588
|
const _updateScreenSize = () => {
|
|
@@ -571,12 +599,10 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
571
599
|
}
|
|
572
600
|
if (newScreenSize !== store.screenSize()) {
|
|
573
601
|
patchState(store, { screenSize: newScreenSize });
|
|
574
|
-
if (store.
|
|
575
|
-
patchState(store, { sideMenuState:
|
|
576
|
-
settingService.scope(
|
|
602
|
+
if (!store.isLarge()) {
|
|
603
|
+
patchState(store, { sideMenuState: AXPSideMenuState.Closed });
|
|
604
|
+
settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, store.sideMenuState());
|
|
577
605
|
}
|
|
578
|
-
console.log('screenSize', newScreenSize);
|
|
579
|
-
console.log('deviceType', store.deviceType());
|
|
580
606
|
}
|
|
581
607
|
};
|
|
582
608
|
const _setOverlayLoading = async (value, delay = 0) => {
|
|
@@ -633,10 +659,8 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
633
659
|
};
|
|
634
660
|
// Helper method to apply a cached theme palette
|
|
635
661
|
const _applyThemePalette = async (name) => {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
return;
|
|
639
|
-
}
|
|
662
|
+
// TODO: Get the path from the palette provider token
|
|
663
|
+
const path = `/assets/themes/palettes/css/${name}.css`;
|
|
640
664
|
// Check if the current theme is already applied
|
|
641
665
|
const existingStyle = document.querySelector(`style[data-theme="${name}"]`);
|
|
642
666
|
if (existingStyle) {
|
|
@@ -645,7 +669,7 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
645
669
|
_setNavigationLoading(true);
|
|
646
670
|
try {
|
|
647
671
|
// Fetch the CSS file via HttpClient
|
|
648
|
-
const cssText = await firstValueFrom(http.get(
|
|
672
|
+
const cssText = await firstValueFrom(http.get(path, { responseType: 'text' }));
|
|
649
673
|
// Create a new <style> tag and apply the CSS
|
|
650
674
|
const style = document.createElement('style');
|
|
651
675
|
style.setAttribute('data-theme', name);
|
|
@@ -669,30 +693,30 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
669
693
|
return {
|
|
670
694
|
// Change theme and update HTML class
|
|
671
695
|
changeThemeMode(theme) {
|
|
672
|
-
settingService.scope(
|
|
696
|
+
settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.Mode, theme);
|
|
673
697
|
patchState(store, { currentMode: theme });
|
|
674
698
|
_updateHtmlClass();
|
|
675
699
|
},
|
|
676
700
|
// Open side menu
|
|
677
701
|
openSideMenu() {
|
|
678
702
|
patchState(store, { sideMenuState: AXPSideMenuState.Opened });
|
|
679
|
-
settingService.scope(
|
|
703
|
+
settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Opened);
|
|
680
704
|
},
|
|
681
705
|
// Close side menu
|
|
682
706
|
closeSideMenu() {
|
|
683
707
|
patchState(store, { sideMenuState: AXPSideMenuState.Closed });
|
|
684
|
-
settingService.scope(
|
|
708
|
+
settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Closed);
|
|
685
709
|
},
|
|
686
710
|
// Set side menu width
|
|
687
711
|
setSideMenuWidth(width) {
|
|
688
712
|
patchState(store, { sideMenuWidth: width });
|
|
689
|
-
settingService.scope(
|
|
713
|
+
settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuWidth, width);
|
|
690
714
|
},
|
|
691
715
|
// Toggle side menu state
|
|
692
716
|
toggleSideMenu() {
|
|
693
717
|
const newSideMenuState = store.sideMenuState() === AXPSideMenuState.Opened ? AXPSideMenuState.Closed : AXPSideMenuState.Opened;
|
|
694
718
|
patchState(store, { sideMenuState: newSideMenuState });
|
|
695
|
-
settingService.scope(
|
|
719
|
+
settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, newSideMenuState);
|
|
696
720
|
},
|
|
697
721
|
// Set navigation loading state with a task counter
|
|
698
722
|
setNavigationLoading(value, delay) {
|
|
@@ -722,15 +746,19 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
722
746
|
},
|
|
723
747
|
// Set up event listener for window resize
|
|
724
748
|
_setupResizeListener() {
|
|
725
|
-
const
|
|
749
|
+
const subscription = fromEvent(window, 'resize')
|
|
750
|
+
.pipe(debounceTime(250) // 250ms debounce delay
|
|
751
|
+
)
|
|
752
|
+
.subscribe(() => {
|
|
726
753
|
_updateScreenSize();
|
|
727
|
-
};
|
|
728
|
-
|
|
729
|
-
return listener;
|
|
754
|
+
});
|
|
755
|
+
return subscription;
|
|
730
756
|
},
|
|
731
757
|
// Remove event listener for window resize
|
|
732
|
-
_removeResizeListener(
|
|
733
|
-
|
|
758
|
+
_removeResizeListener(subscription) {
|
|
759
|
+
if (subscription) {
|
|
760
|
+
subscription.unsubscribe();
|
|
761
|
+
}
|
|
734
762
|
},
|
|
735
763
|
};
|
|
736
764
|
}),
|
|
@@ -738,7 +766,7 @@ withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettin
|
|
|
738
766
|
withHooks((store, settingService = inject(AXPSettingService)) => ({
|
|
739
767
|
onInit() {
|
|
740
768
|
//
|
|
741
|
-
settingService.onChanged.pipe(filter(c => c.scope ==
|
|
769
|
+
settingService.onChanged.pipe(filter(c => c.scope == AXPPlatformScope.User)).subscribe(async (changes) => {
|
|
742
770
|
const keys = Object.values(AXPThemeLayoutSetting);
|
|
743
771
|
if (changes.keys.some((key) => keys.includes(key))) {
|
|
744
772
|
await store.loadSettings();
|
|
@@ -748,8 +776,8 @@ withHooks((store, settingService = inject(AXPSettingService)) => ({
|
|
|
748
776
|
const listener = store._setupSystemColorListener();
|
|
749
777
|
patchState(store, { _listener: listener });
|
|
750
778
|
// Set up event listener for window resize
|
|
751
|
-
const
|
|
752
|
-
patchState(store, { _resizeListener:
|
|
779
|
+
const resizeSubscription = store._setupResizeListener();
|
|
780
|
+
patchState(store, { _resizeListener: resizeSubscription });
|
|
753
781
|
},
|
|
754
782
|
onDestroy() {
|
|
755
783
|
// Clean up event listeners when store is destroyed
|
|
@@ -757,7 +785,7 @@ withHooks((store, settingService = inject(AXPSettingService)) => ({
|
|
|
757
785
|
if (listener) {
|
|
758
786
|
store._removeSystemColorListener(listener);
|
|
759
787
|
}
|
|
760
|
-
if (resizeListener) {
|
|
788
|
+
if (resizeListener instanceof Subscription) {
|
|
761
789
|
store._removeResizeListener(resizeListener);
|
|
762
790
|
}
|
|
763
791
|
},
|
|
@@ -784,35 +812,35 @@ class AXPThemeSlotComponent {
|
|
|
784
812
|
<ax-button-item-list>
|
|
785
813
|
<ax-button-item
|
|
786
814
|
(onClick)="store.changeThemeMode(variants.Light)"
|
|
787
|
-
[text]="(t('theme.light') | async)!"
|
|
815
|
+
[text]="(t('theme-modes.light',{scope:'layout'}) | async)!"
|
|
788
816
|
[selected]="!store.isSystemMode() && !store.isDarkMode()"
|
|
789
817
|
>
|
|
790
818
|
<ax-prefix>
|
|
791
|
-
<ax-icon icon="fa-
|
|
819
|
+
<ax-icon icon="fa-light fa-brightness"> </ax-icon>
|
|
792
820
|
</ax-prefix>
|
|
793
821
|
</ax-button-item>
|
|
794
822
|
<ax-button-item
|
|
795
823
|
(onClick)="store.changeThemeMode(variants.Dark)"
|
|
796
|
-
[text]="(t('theme.dark') | async)!"
|
|
824
|
+
[text]="(t('theme-modes.dark',{scope:'layout'}) | async)!"
|
|
797
825
|
[selected]="!store.isSystemMode() && store.isDarkMode()"
|
|
798
826
|
>
|
|
799
827
|
<ax-prefix>
|
|
800
|
-
<ax-icon icon="fa-
|
|
828
|
+
<ax-icon icon="fa-light fa-moon"> </ax-icon>
|
|
801
829
|
</ax-prefix>
|
|
802
830
|
</ax-button-item>
|
|
803
831
|
<ax-button-item
|
|
804
832
|
(onClick)="store.changeThemeMode(variants.System)"
|
|
805
|
-
[text]="(t('theme.system') | async)!"
|
|
833
|
+
[text]="(t('theme-modes.system',{scope:'layout'}) | async)!"
|
|
806
834
|
[selected]="store.isSystemMode()"
|
|
807
835
|
>
|
|
808
836
|
<ax-prefix>
|
|
809
|
-
<ax-icon icon="fa-
|
|
837
|
+
<ax-icon icon="fa-light fa-desktop"> </ax-icon>
|
|
810
838
|
</ax-prefix>
|
|
811
839
|
</ax-button-item>
|
|
812
840
|
</ax-button-item-list>
|
|
813
841
|
</ax-dropdown-panel>
|
|
814
842
|
</ax-button>
|
|
815
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type:
|
|
843
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i2$1.AXTranslatorDirective, selector: "[translate]" }] }); }
|
|
816
844
|
}
|
|
817
845
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeSlotComponent, decorators: [{
|
|
818
846
|
type: Component,
|
|
@@ -832,29 +860,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
832
860
|
<ax-button-item-list>
|
|
833
861
|
<ax-button-item
|
|
834
862
|
(onClick)="store.changeThemeMode(variants.Light)"
|
|
835
|
-
[text]="(t('theme.light') | async)!"
|
|
863
|
+
[text]="(t('theme-modes.light',{scope:'layout'}) | async)!"
|
|
836
864
|
[selected]="!store.isSystemMode() && !store.isDarkMode()"
|
|
837
865
|
>
|
|
838
866
|
<ax-prefix>
|
|
839
|
-
<ax-icon icon="fa-
|
|
867
|
+
<ax-icon icon="fa-light fa-brightness"> </ax-icon>
|
|
840
868
|
</ax-prefix>
|
|
841
869
|
</ax-button-item>
|
|
842
870
|
<ax-button-item
|
|
843
871
|
(onClick)="store.changeThemeMode(variants.Dark)"
|
|
844
|
-
[text]="(t('theme.dark') | async)!"
|
|
872
|
+
[text]="(t('theme-modes.dark',{scope:'layout'}) | async)!"
|
|
845
873
|
[selected]="!store.isSystemMode() && store.isDarkMode()"
|
|
846
874
|
>
|
|
847
875
|
<ax-prefix>
|
|
848
|
-
<ax-icon icon="fa-
|
|
876
|
+
<ax-icon icon="fa-light fa-moon"> </ax-icon>
|
|
849
877
|
</ax-prefix>
|
|
850
878
|
</ax-button-item>
|
|
851
879
|
<ax-button-item
|
|
852
880
|
(onClick)="store.changeThemeMode(variants.System)"
|
|
853
|
-
[text]="(t('theme.system') | async)!"
|
|
881
|
+
[text]="(t('theme-modes.system',{scope:'layout'}) | async)!"
|
|
854
882
|
[selected]="store.isSystemMode()"
|
|
855
883
|
>
|
|
856
884
|
<ax-prefix>
|
|
857
|
-
<ax-icon icon="fa-
|
|
885
|
+
<ax-icon icon="fa-light fa-desktop"> </ax-icon>
|
|
858
886
|
</ax-prefix>
|
|
859
887
|
</ax-button-item>
|
|
860
888
|
</ax-button-item-list>
|
|
@@ -865,177 +893,238 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
865
893
|
}]
|
|
866
894
|
}] });
|
|
867
895
|
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
})),
|
|
892
|
-
},
|
|
893
|
-
},
|
|
894
|
-
description: 'Switch between Light and Dark themes for the application.',
|
|
895
|
-
})
|
|
896
|
-
// Add the 'Palette' setting
|
|
897
|
-
.addSetting({
|
|
898
|
-
key: AXPThemeLayoutSetting.Palette,
|
|
899
|
-
title: 'Palette',
|
|
900
|
-
scope: 'U',
|
|
901
|
-
isInherited: true,
|
|
902
|
-
defaultValue: 'default',
|
|
903
|
-
valueTransforms: objectKeyValueTransforms('name'),
|
|
904
|
-
widget: {
|
|
905
|
-
type: AXPWidgetsCatalog.select,
|
|
906
|
-
options: {
|
|
907
|
-
valueField: 'name',
|
|
908
|
-
dataSource: await this.pallets.getList(),
|
|
909
|
-
},
|
|
910
|
-
},
|
|
911
|
-
description: 'Choose a color palette for the application interface.',
|
|
912
|
-
})
|
|
913
|
-
// End the 'Brightness & Color' section
|
|
914
|
-
.endSection()
|
|
915
|
-
// Add the 'Scale & Layout' section
|
|
916
|
-
.addSection('layout', 'Scale & Layout', 'Customize the application’s layout and scaling options.')
|
|
917
|
-
// Add the 'Menu Orientation' setting
|
|
918
|
-
.addSetting({
|
|
919
|
-
key: AXPThemeLayoutSetting.MenuOrientation,
|
|
920
|
-
title: 'Menu Orientation',
|
|
921
|
-
scope: 'U',
|
|
922
|
-
isInherited: true,
|
|
923
|
-
defaultValue: 'vertical',
|
|
924
|
-
valueTransforms: objectKeyValueTransforms('id'),
|
|
925
|
-
widget: {
|
|
926
|
-
type: 'select-editor',
|
|
927
|
-
options: {
|
|
928
|
-
dataSource: [
|
|
929
|
-
{ id: 'vertical', title: 'Vertical' },
|
|
930
|
-
{ id: 'horizontal', title: 'Horizontal' },
|
|
931
|
-
],
|
|
932
|
-
},
|
|
933
|
-
},
|
|
934
|
-
description: 'Set the menu orientation for the application.',
|
|
935
|
-
})
|
|
936
|
-
// Add the 'Font Style' setting
|
|
937
|
-
.addSetting({
|
|
938
|
-
key: AXPThemeLayoutSetting.Font,
|
|
939
|
-
title: 'Font Style',
|
|
940
|
-
scope: 'U',
|
|
941
|
-
isInherited: true,
|
|
942
|
-
defaultValue: 'system-ui',
|
|
943
|
-
valueTransforms: objectKeyValueTransforms('id'),
|
|
944
|
-
widget: {
|
|
945
|
-
type: 'select-editor',
|
|
946
|
-
options: {
|
|
947
|
-
dataSource: [
|
|
948
|
-
{ id: 'system-ui', title: 'Default' },
|
|
949
|
-
{ id: 'serif', title: 'Serif' },
|
|
950
|
-
{ id: 'sans-serif', title: 'Sans-serif' },
|
|
951
|
-
{ id: 'monospace', title: 'Monospace' },
|
|
952
|
-
{ id: 'arial', title: 'Arial' },
|
|
953
|
-
{ id: 'verdana', title: 'Verdana' },
|
|
954
|
-
{ id: 'tahoma', title: 'Tahoma' },
|
|
955
|
-
{ id: 'times-new-roman', title: 'Times New Roman' },
|
|
956
|
-
{ id: 'georgia', title: 'Georgia' },
|
|
957
|
-
{ id: 'helvetica', title: 'Helvetica' },
|
|
958
|
-
{ id: 'calibri', title: 'Calibri' },
|
|
959
|
-
{ id: 'cursive', title: 'Cursive' },
|
|
960
|
-
],
|
|
961
|
-
},
|
|
962
|
-
},
|
|
963
|
-
description: 'Set the font style for application text.',
|
|
964
|
-
})
|
|
965
|
-
// Add the 'Font Size' setting
|
|
966
|
-
.addSetting({
|
|
967
|
-
key: AXPThemeLayoutSetting.FontSize,
|
|
968
|
-
title: 'Font Size',
|
|
969
|
-
scope: 'U',
|
|
970
|
-
isInherited: true,
|
|
971
|
-
defaultValue: 'medium',
|
|
972
|
-
valueTransforms: objectKeyValueTransforms('id'),
|
|
973
|
-
widget: {
|
|
974
|
-
type: 'select-editor',
|
|
975
|
-
options: {
|
|
976
|
-
dataSource: [
|
|
977
|
-
{ id: 'small', title: 'Small' },
|
|
978
|
-
{ id: 'medium', title: 'Medium' },
|
|
979
|
-
{ id: 'large', title: 'Large' },
|
|
980
|
-
{ id: 'x-large', title: 'Extra Large' },
|
|
981
|
-
],
|
|
896
|
+
const AXP_THEME_PALETTE_PROVIDER = new InjectionToken('AXP_THEME_PALETTE_PROVIDER', {
|
|
897
|
+
providedIn: 'root',
|
|
898
|
+
factory: async () => {
|
|
899
|
+
return new AXPThemePaletteProviderDefault();
|
|
900
|
+
},
|
|
901
|
+
});
|
|
902
|
+
class AXPThemePaletteProviderDefault {
|
|
903
|
+
getList() {
|
|
904
|
+
return Promise.resolve([
|
|
905
|
+
{
|
|
906
|
+
name: 'default',
|
|
907
|
+
title: 'Default',
|
|
908
|
+
path: '/assets/themes/palletes/default.css',
|
|
909
|
+
colors: {
|
|
910
|
+
primary: '#113b53',
|
|
911
|
+
secondary: '#1a6ab1',
|
|
912
|
+
neutral: '#606c76',
|
|
913
|
+
success: '#2d9c67',
|
|
914
|
+
warning: '#e9a01b',
|
|
915
|
+
danger: '#c02f1d',
|
|
916
|
+
accents: ['#d6a7a6', '#a0897e', '#8bf4d9'],
|
|
917
|
+
dark: '#2a2d30',
|
|
918
|
+
light: '#ffffff',
|
|
982
919
|
},
|
|
983
920
|
},
|
|
984
|
-
|
|
985
|
-
})
|
|
986
|
-
// End the 'Scale & Layout' section
|
|
987
|
-
.endSection()
|
|
988
|
-
// End the 'Appearance Settings' group
|
|
989
|
-
.endGroup();
|
|
921
|
+
]);
|
|
990
922
|
}
|
|
991
923
|
}
|
|
992
924
|
|
|
993
|
-
class
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
925
|
+
class AXPThemePaletteChooserWidgetComponent extends AXPWidgetComponent {
|
|
926
|
+
constructor() {
|
|
927
|
+
super(...arguments);
|
|
928
|
+
this.paletteService = inject(AXP_THEME_PALETTE_PROVIDER);
|
|
929
|
+
this.palettes = signal([]);
|
|
930
|
+
this.selectedPalette = signal(null);
|
|
931
|
+
this.#eff = effect(() => {
|
|
932
|
+
if (this.getValue()) {
|
|
933
|
+
this.selectedPalette.set(this.palettes().find(p => p.name === this.getValue()) ?? this.palettes().find(p => p.name === 'default') ?? this.palettes()[0]);
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
#eff;
|
|
938
|
+
async ngOnInit() {
|
|
939
|
+
super.ngOnInit();
|
|
940
|
+
const palletsProviderInstance = await this.paletteService;
|
|
941
|
+
this.palettes.set(await palletsProviderInstance.getList());
|
|
942
|
+
}
|
|
943
|
+
onPaletteClick(palette) {
|
|
944
|
+
this.setValue(palette.name);
|
|
945
|
+
}
|
|
946
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemePaletteChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
947
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPThemePaletteChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
948
|
+
@for (palette of palettes(); track palette.name) {
|
|
949
|
+
<div (click)="onPaletteClick(palette)"
|
|
950
|
+
[class.--selected]="palette.name === selectedPalette()?.name">
|
|
951
|
+
<span>{{ palette.title }}</span>
|
|
952
|
+
<div >
|
|
953
|
+
<div [style.background-color]="palette.colors.primary" class="ax-end-7 ax-z-[2]"></div>
|
|
954
|
+
<div [style.background-color]="palette.colors.secondary" class="ax-end-3.5 ax-z-[1]"></div>
|
|
955
|
+
<div [style.background-color]="palette.colors.accents[0]" class="ax-end-0 ax-z-0"></div>
|
|
1002
956
|
</div>
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
`, isInline: true,
|
|
957
|
+
</div>
|
|
958
|
+
}
|
|
959
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{height:3rem;min-width:100%}@media (min-width: 768px){:host>div{min-width:16rem}}:host>div>div{position:relative;height:100%;width:fit-content}:host>div>div div{position:absolute;height:2rem;width:2rem;border-radius:9999px;border-width:1px;border-color:rgba(255,255,255,.5);--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1006
960
|
}
|
|
1007
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type:
|
|
961
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemePaletteChooserWidgetComponent, decorators: [{
|
|
1008
962
|
type: Component,
|
|
1009
|
-
args: [{
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
963
|
+
args: [{ template: `
|
|
964
|
+
@for (palette of palettes(); track palette.name) {
|
|
965
|
+
<div (click)="onPaletteClick(palette)"
|
|
966
|
+
[class.--selected]="palette.name === selectedPalette()?.name">
|
|
967
|
+
<span>{{ palette.title }}</span>
|
|
968
|
+
<div >
|
|
969
|
+
<div [style.background-color]="palette.colors.primary" class="ax-end-7 ax-z-[2]"></div>
|
|
970
|
+
<div [style.background-color]="palette.colors.secondary" class="ax-end-3.5 ax-z-[1]"></div>
|
|
971
|
+
<div [style.background-color]="palette.colors.accents[0]" class="ax-end-0 ax-z-0"></div>
|
|
1014
972
|
</div>
|
|
1015
|
-
|
|
1016
|
-
|
|
973
|
+
</div>
|
|
974
|
+
}
|
|
975
|
+
`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{height:3rem;min-width:100%}@media (min-width: 768px){:host>div{min-width:16rem}}:host>div>div{position:relative;height:100%;width:fit-content}:host>div>div div{position:absolute;height:2rem;width:2rem;border-radius:9999px;border-width:1px;border-color:rgba(255,255,255,.5);--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"] }]
|
|
976
|
+
}] });
|
|
977
|
+
|
|
978
|
+
var themePaletteChooserWidget_component = /*#__PURE__*/Object.freeze({
|
|
979
|
+
__proto__: null,
|
|
980
|
+
AXPThemePaletteChooserWidgetComponent: AXPThemePaletteChooserWidgetComponent
|
|
981
|
+
});
|
|
982
|
+
|
|
983
|
+
const AXPThemePaletteChooserWidget = {
|
|
984
|
+
name: "theme-palette-chooser",
|
|
985
|
+
title: "Theme Palette Chooser",
|
|
986
|
+
icon: "fa-solid fa-square",
|
|
987
|
+
type: 'editor',
|
|
988
|
+
categories: AXP_WIDGETS_LAYOUT_CATEGORY,
|
|
989
|
+
properties: [
|
|
990
|
+
AXP_NAME_PROPERTY,
|
|
991
|
+
AXP_DATA_PATH_PROPERTY,
|
|
992
|
+
AXP_DISABLED_PROPERTY,
|
|
993
|
+
],
|
|
994
|
+
components: {
|
|
995
|
+
edit: {
|
|
996
|
+
component: () => Promise.resolve().then(function () { return themePaletteChooserWidget_component; }).then((c) => c.AXPThemePaletteChooserWidgetComponent),
|
|
997
|
+
},
|
|
998
|
+
}
|
|
999
|
+
};
|
|
1000
|
+
|
|
1001
|
+
class AXPThemeModeChooserWidgetComponent extends AXPWidgetComponent {
|
|
1002
|
+
constructor() {
|
|
1003
|
+
super(...arguments);
|
|
1004
|
+
this.modes = signal([
|
|
1005
|
+
{ id: AXPThemeMode.Light, icon: 'fa-light fa-brightness' },
|
|
1006
|
+
{ id: AXPThemeMode.Dark, icon: 'fa-light fa-moon' },
|
|
1007
|
+
{ id: AXPThemeMode.System, icon: 'fa-light fa-desktop' },
|
|
1008
|
+
]);
|
|
1009
|
+
this.selectedMode = signal(null);
|
|
1010
|
+
this.#eff = effect(() => {
|
|
1011
|
+
if (this.getValue()) {
|
|
1012
|
+
this.selectedMode.set(this.modes().find(m => m.id === this.getValue()) ?? this.modes()[0]);
|
|
1013
|
+
}
|
|
1014
|
+
});
|
|
1015
|
+
}
|
|
1016
|
+
#eff;
|
|
1017
|
+
onModeClick(mode) {
|
|
1018
|
+
this.setValue(mode.id);
|
|
1019
|
+
}
|
|
1020
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeModeChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1021
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPThemeModeChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1022
|
+
@for (mode of modes(); track mode.id) {
|
|
1023
|
+
<div (click)="onModeClick(mode)"
|
|
1024
|
+
[class.--selected]="mode.id === selectedMode()?.id">
|
|
1025
|
+
<div>
|
|
1026
|
+
<i [class]="mode.icon"></i>
|
|
1017
1027
|
</div>
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1028
|
+
<span>{{ ('theme-modes.' + mode.id) | translate: { scope: 'layout' } | async}}</span>
|
|
1029
|
+
</div>
|
|
1030
|
+
}
|
|
1031
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{padding-top:.25rem!important;padding-bottom:.25rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1032
|
+
}
|
|
1033
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemeModeChooserWidgetComponent, decorators: [{
|
|
1034
|
+
type: Component,
|
|
1035
|
+
args: [{ template: `
|
|
1036
|
+
@for (mode of modes(); track mode.id) {
|
|
1037
|
+
<div (click)="onModeClick(mode)"
|
|
1038
|
+
[class.--selected]="mode.id === selectedMode()?.id">
|
|
1039
|
+
<div>
|
|
1040
|
+
<i [class]="mode.icon"></i>
|
|
1041
|
+
</div>
|
|
1042
|
+
<span>{{ ('theme-modes.' + mode.id) | translate: { scope: 'layout' } | async}}</span>
|
|
1043
|
+
</div>
|
|
1044
|
+
}
|
|
1045
|
+
`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionModule, AXTranslationModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{padding-top:.25rem!important;padding-bottom:.25rem!important}\n"] }]
|
|
1025
1046
|
}] });
|
|
1026
1047
|
|
|
1027
|
-
var
|
|
1048
|
+
var themeModeChooserWidget_component = /*#__PURE__*/Object.freeze({
|
|
1028
1049
|
__proto__: null,
|
|
1029
|
-
|
|
1050
|
+
AXPThemeModeChooserWidgetComponent: AXPThemeModeChooserWidgetComponent
|
|
1030
1051
|
});
|
|
1031
1052
|
|
|
1032
|
-
const
|
|
1033
|
-
name: "theme-
|
|
1034
|
-
title: "Theme
|
|
1053
|
+
const AXPThemeModeChooserWidget = {
|
|
1054
|
+
name: "theme-mode-chooser",
|
|
1055
|
+
title: "Theme Mode Chooser",
|
|
1035
1056
|
icon: "fa-solid fa-square",
|
|
1036
1057
|
type: 'editor',
|
|
1037
|
-
|
|
1038
|
-
|
|
1058
|
+
categories: AXP_WIDGETS_LAYOUT_CATEGORY,
|
|
1059
|
+
properties: [
|
|
1060
|
+
AXP_NAME_PROPERTY,
|
|
1061
|
+
AXP_DATA_PATH_PROPERTY,
|
|
1062
|
+
AXP_DISABLED_PROPERTY,
|
|
1063
|
+
],
|
|
1064
|
+
components: {
|
|
1065
|
+
edit: {
|
|
1066
|
+
component: () => Promise.resolve().then(function () { return themeModeChooserWidget_component; }).then((c) => c.AXPThemeModeChooserWidgetComponent),
|
|
1067
|
+
},
|
|
1068
|
+
}
|
|
1069
|
+
};
|
|
1070
|
+
|
|
1071
|
+
class AXPMenuOrientationChooserWidgetComponent extends AXPWidgetComponent {
|
|
1072
|
+
constructor() {
|
|
1073
|
+
super(...arguments);
|
|
1074
|
+
this.orientations = signal([
|
|
1075
|
+
{ id: 'vertical', icon: 'fa-regular fa-square-ellipsis-vertical' },
|
|
1076
|
+
{ id: 'horizontal', icon: 'fa-regular fa-square-ellipsis' },
|
|
1077
|
+
]);
|
|
1078
|
+
this.selectedOrientation = signal(null);
|
|
1079
|
+
this.#eff = effect(() => {
|
|
1080
|
+
if (this.getValue()) {
|
|
1081
|
+
this.selectedOrientation.set(this.orientations().find(o => o.id === this.getValue()) ?? this.orientations()[0]);
|
|
1082
|
+
}
|
|
1083
|
+
});
|
|
1084
|
+
}
|
|
1085
|
+
#eff;
|
|
1086
|
+
onOrientationClick(orientation) {
|
|
1087
|
+
this.setValue(orientation.id);
|
|
1088
|
+
}
|
|
1089
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMenuOrientationChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1090
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPMenuOrientationChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1091
|
+
@for (orientation of orientations(); track orientation.id) {
|
|
1092
|
+
<div (click)="onOrientationClick(orientation)"
|
|
1093
|
+
[class.--selected]="orientation.id === selectedOrientation()?.id">
|
|
1094
|
+
<div>
|
|
1095
|
+
<i [class]="orientation.icon"></i>
|
|
1096
|
+
</div>
|
|
1097
|
+
<span>{{ ('menu-modes.' + orientation.id) | translate: { scope: 'layout' } | async}}</span>
|
|
1098
|
+
</div>
|
|
1099
|
+
}
|
|
1100
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{padding-top:.25rem!important;padding-bottom:.25rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1101
|
+
}
|
|
1102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMenuOrientationChooserWidgetComponent, decorators: [{
|
|
1103
|
+
type: Component,
|
|
1104
|
+
args: [{ template: `
|
|
1105
|
+
@for (orientation of orientations(); track orientation.id) {
|
|
1106
|
+
<div (click)="onOrientationClick(orientation)"
|
|
1107
|
+
[class.--selected]="orientation.id === selectedOrientation()?.id">
|
|
1108
|
+
<div>
|
|
1109
|
+
<i [class]="orientation.icon"></i>
|
|
1110
|
+
</div>
|
|
1111
|
+
<span>{{ ('menu-modes.' + orientation.id) | translate: { scope: 'layout' } | async}}</span>
|
|
1112
|
+
</div>
|
|
1113
|
+
}
|
|
1114
|
+
`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionModule, AXTranslationModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{padding-top:.25rem!important;padding-bottom:.25rem!important}\n"] }]
|
|
1115
|
+
}] });
|
|
1116
|
+
|
|
1117
|
+
var menuOrientationChooserWidget_component = /*#__PURE__*/Object.freeze({
|
|
1118
|
+
__proto__: null,
|
|
1119
|
+
AXPMenuOrientationChooserWidgetComponent: AXPMenuOrientationChooserWidgetComponent
|
|
1120
|
+
});
|
|
1121
|
+
|
|
1122
|
+
const AXPMenuOrientationChooserWidget = {
|
|
1123
|
+
name: "menu-orientation-chooser",
|
|
1124
|
+
title: "Menu Orientation Chooser",
|
|
1125
|
+
icon: "fa-light fa-bars-staggered",
|
|
1126
|
+
type: 'editor',
|
|
1127
|
+
categories: AXP_WIDGETS_LAYOUT_CATEGORY,
|
|
1039
1128
|
properties: [
|
|
1040
1129
|
AXP_NAME_PROPERTY,
|
|
1041
1130
|
AXP_DATA_PATH_PROPERTY,
|
|
@@ -1043,7 +1132,157 @@ const AXPThemeColorSelectionWidget = {
|
|
|
1043
1132
|
],
|
|
1044
1133
|
components: {
|
|
1045
1134
|
edit: {
|
|
1046
|
-
component: () => Promise.resolve().then(function () { return
|
|
1135
|
+
component: () => Promise.resolve().then(function () { return menuOrientationChooserWidget_component; }).then((c) => c.AXPMenuOrientationChooserWidgetComponent),
|
|
1136
|
+
},
|
|
1137
|
+
}
|
|
1138
|
+
};
|
|
1139
|
+
|
|
1140
|
+
class AXPFontStyleChooserWidgetComponent extends AXPWidgetComponent {
|
|
1141
|
+
constructor() {
|
|
1142
|
+
super(...arguments);
|
|
1143
|
+
this.fonts = signal([
|
|
1144
|
+
{ id: 'system-ui', title: 'Default' },
|
|
1145
|
+
{ id: 'serif', title: 'Serif' },
|
|
1146
|
+
{ id: 'sans-serif', title: 'Sans-serif' },
|
|
1147
|
+
{ id: 'monospace', title: 'Monospace' },
|
|
1148
|
+
{ id: 'arial', title: 'Arial' },
|
|
1149
|
+
{ id: 'verdana', title: 'Verdana' },
|
|
1150
|
+
{ id: 'tahoma', title: 'Tahoma' },
|
|
1151
|
+
{ id: 'times-new-roman', title: 'Times New Roman' },
|
|
1152
|
+
{ id: 'georgia', title: 'Georgia' },
|
|
1153
|
+
{ id: 'helvetica', title: 'Helvetica' },
|
|
1154
|
+
{ id: 'calibri', title: 'Calibri' },
|
|
1155
|
+
{ id: 'cursive', title: 'Cursive' },
|
|
1156
|
+
]);
|
|
1157
|
+
this.selectedFont = signal(null);
|
|
1158
|
+
this.#eff = effect(() => {
|
|
1159
|
+
if (this.getValue()) {
|
|
1160
|
+
this.selectedFont.set(this.fonts().find(f => f.id === this.getValue()) ?? this.fonts()[0]);
|
|
1161
|
+
}
|
|
1162
|
+
});
|
|
1163
|
+
}
|
|
1164
|
+
#eff;
|
|
1165
|
+
onFontClick(font) {
|
|
1166
|
+
this.setValue(font.id);
|
|
1167
|
+
}
|
|
1168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFontStyleChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFontStyleChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1170
|
+
@for (font of fonts(); track font.id) {
|
|
1171
|
+
<div (click)="onFontClick(font)"
|
|
1172
|
+
[class.--selected]="font.id === selectedFont()?.id"
|
|
1173
|
+
[style.font-family]="font.id">
|
|
1174
|
+
<div>
|
|
1175
|
+
<span >{{ font.title }}</span>
|
|
1176
|
+
</div>
|
|
1177
|
+
</div>
|
|
1178
|
+
}
|
|
1179
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1180
|
+
}
|
|
1181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFontStyleChooserWidgetComponent, decorators: [{
|
|
1182
|
+
type: Component,
|
|
1183
|
+
args: [{ template: `
|
|
1184
|
+
@for (font of fonts(); track font.id) {
|
|
1185
|
+
<div (click)="onFontClick(font)"
|
|
1186
|
+
[class.--selected]="font.id === selectedFont()?.id"
|
|
1187
|
+
[style.font-family]="font.id">
|
|
1188
|
+
<div>
|
|
1189
|
+
<span >{{ font.title }}</span>
|
|
1190
|
+
</div>
|
|
1191
|
+
</div>
|
|
1192
|
+
}
|
|
1193
|
+
`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"] }]
|
|
1194
|
+
}] });
|
|
1195
|
+
|
|
1196
|
+
var fontStyleChooserWidget_component = /*#__PURE__*/Object.freeze({
|
|
1197
|
+
__proto__: null,
|
|
1198
|
+
AXPFontStyleChooserWidgetComponent: AXPFontStyleChooserWidgetComponent
|
|
1199
|
+
});
|
|
1200
|
+
|
|
1201
|
+
const AXPFontStyleChooserWidget = {
|
|
1202
|
+
name: "font-style-chooser",
|
|
1203
|
+
title: "Font Style Chooser",
|
|
1204
|
+
icon: "fa-light fa-font",
|
|
1205
|
+
type: 'editor',
|
|
1206
|
+
categories: AXP_WIDGETS_LAYOUT_CATEGORY,
|
|
1207
|
+
properties: [
|
|
1208
|
+
AXP_NAME_PROPERTY,
|
|
1209
|
+
AXP_DATA_PATH_PROPERTY,
|
|
1210
|
+
AXP_DISABLED_PROPERTY,
|
|
1211
|
+
],
|
|
1212
|
+
components: {
|
|
1213
|
+
edit: {
|
|
1214
|
+
component: () => Promise.resolve().then(function () { return fontStyleChooserWidget_component; }).then((c) => c.AXPFontStyleChooserWidgetComponent),
|
|
1215
|
+
},
|
|
1216
|
+
}
|
|
1217
|
+
};
|
|
1218
|
+
|
|
1219
|
+
class AXPFontSizeChooserWidgetComponent extends AXPWidgetComponent {
|
|
1220
|
+
constructor() {
|
|
1221
|
+
super(...arguments);
|
|
1222
|
+
this.sizes = signal([
|
|
1223
|
+
'small',
|
|
1224
|
+
'medium',
|
|
1225
|
+
'large',
|
|
1226
|
+
'x-large',
|
|
1227
|
+
]);
|
|
1228
|
+
this.selectedSize = signal(null);
|
|
1229
|
+
this.#eff = effect(() => {
|
|
1230
|
+
if (this.getValue()) {
|
|
1231
|
+
this.selectedSize.set(this.sizes().find(s => s === this.getValue()) ?? this.sizes()[0]);
|
|
1232
|
+
}
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1235
|
+
#eff;
|
|
1236
|
+
onSizeClick(size) {
|
|
1237
|
+
this.setValue(size);
|
|
1238
|
+
}
|
|
1239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFontSizeChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFontSizeChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1241
|
+
@for (size of sizes(); track size) {
|
|
1242
|
+
<div (click)="onSizeClick(size)"
|
|
1243
|
+
[style.font-size]="size"
|
|
1244
|
+
[class.--selected]="size === selectedSize()">
|
|
1245
|
+
<div>
|
|
1246
|
+
<span >{{ ('font-sizes.' + size) | translate: { scope: 'layout' } | async}}</span>
|
|
1247
|
+
</div>
|
|
1248
|
+
</div>
|
|
1249
|
+
}
|
|
1250
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1251
|
+
}
|
|
1252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFontSizeChooserWidgetComponent, decorators: [{
|
|
1253
|
+
type: Component,
|
|
1254
|
+
args: [{ template: `
|
|
1255
|
+
@for (size of sizes(); track size) {
|
|
1256
|
+
<div (click)="onSizeClick(size)"
|
|
1257
|
+
[style.font-size]="size"
|
|
1258
|
+
[class.--selected]="size === selectedSize()">
|
|
1259
|
+
<div>
|
|
1260
|
+
<span >{{ ('font-sizes.' + size) | translate: { scope: 'layout' } | async}}</span>
|
|
1261
|
+
</div>
|
|
1262
|
+
</div>
|
|
1263
|
+
}
|
|
1264
|
+
`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionModule, AXTranslationModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"] }]
|
|
1265
|
+
}] });
|
|
1266
|
+
|
|
1267
|
+
var fontSizeChooserWidget_component = /*#__PURE__*/Object.freeze({
|
|
1268
|
+
__proto__: null,
|
|
1269
|
+
AXPFontSizeChooserWidgetComponent: AXPFontSizeChooserWidgetComponent
|
|
1270
|
+
});
|
|
1271
|
+
|
|
1272
|
+
const AXPFontSizeChooserWidget = {
|
|
1273
|
+
name: "font-size-chooser",
|
|
1274
|
+
title: "Font Size Chooser",
|
|
1275
|
+
icon: "fa-light fa-text-size",
|
|
1276
|
+
type: 'editor',
|
|
1277
|
+
categories: AXP_WIDGETS_LAYOUT_CATEGORY,
|
|
1278
|
+
properties: [
|
|
1279
|
+
AXP_NAME_PROPERTY,
|
|
1280
|
+
AXP_DATA_PATH_PROPERTY,
|
|
1281
|
+
AXP_DISABLED_PROPERTY,
|
|
1282
|
+
],
|
|
1283
|
+
components: {
|
|
1284
|
+
edit: {
|
|
1285
|
+
component: () => Promise.resolve().then(function () { return fontSizeChooserWidget_component; }).then((c) => c.AXPFontSizeChooserWidgetComponent),
|
|
1047
1286
|
},
|
|
1048
1287
|
}
|
|
1049
1288
|
};
|
|
@@ -1059,12 +1298,16 @@ class AXPThemesSharedModule {
|
|
|
1059
1298
|
}
|
|
1060
1299
|
});
|
|
1061
1300
|
}
|
|
1062
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, deps: [{ token: i1$
|
|
1063
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, imports: [i1$
|
|
1301
|
+
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 }); }
|
|
1302
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, imports: [i1$1.AXPComponentSlotModule, i2$2.AXPLayoutBuilderModule] }); }
|
|
1064
1303
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPThemesSharedModule, providers: [
|
|
1065
1304
|
{
|
|
1066
1305
|
provide: AXP_SETTING_DEFINITION_PROVIDER,
|
|
1067
|
-
|
|
1306
|
+
useFactory: async () => {
|
|
1307
|
+
const injector = inject(Injector);
|
|
1308
|
+
const provider = (await import('./acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs')).AXPThemeSettingProvider;
|
|
1309
|
+
return new provider(injector);
|
|
1310
|
+
},
|
|
1068
1311
|
multi: true
|
|
1069
1312
|
}
|
|
1070
1313
|
], imports: [AXPComponentSlotModule.forRoot({
|
|
@@ -1078,7 +1321,11 @@ class AXPThemesSharedModule {
|
|
|
1078
1321
|
}),
|
|
1079
1322
|
AXPLayoutBuilderModule.forChild({
|
|
1080
1323
|
widgets: [
|
|
1081
|
-
|
|
1324
|
+
AXPThemePaletteChooserWidget,
|
|
1325
|
+
AXPThemeModeChooserWidget,
|
|
1326
|
+
AXPMenuOrientationChooserWidget,
|
|
1327
|
+
AXPFontSizeChooserWidget,
|
|
1328
|
+
AXPFontStyleChooserWidget
|
|
1082
1329
|
]
|
|
1083
1330
|
})] }); }
|
|
1084
1331
|
}
|
|
@@ -1097,7 +1344,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
1097
1344
|
}),
|
|
1098
1345
|
AXPLayoutBuilderModule.forChild({
|
|
1099
1346
|
widgets: [
|
|
1100
|
-
|
|
1347
|
+
AXPThemePaletteChooserWidget,
|
|
1348
|
+
AXPThemeModeChooserWidget,
|
|
1349
|
+
AXPMenuOrientationChooserWidget,
|
|
1350
|
+
AXPFontSizeChooserWidget,
|
|
1351
|
+
AXPFontStyleChooserWidget
|
|
1101
1352
|
]
|
|
1102
1353
|
})
|
|
1103
1354
|
],
|
|
@@ -1106,16 +1357,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
1106
1357
|
providers: [
|
|
1107
1358
|
{
|
|
1108
1359
|
provide: AXP_SETTING_DEFINITION_PROVIDER,
|
|
1109
|
-
|
|
1360
|
+
useFactory: async () => {
|
|
1361
|
+
const injector = inject(Injector);
|
|
1362
|
+
const provider = (await import('./acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs')).AXPThemeSettingProvider;
|
|
1363
|
+
return new provider(injector);
|
|
1364
|
+
},
|
|
1110
1365
|
multi: true
|
|
1111
1366
|
}
|
|
1112
1367
|
],
|
|
1113
1368
|
}]
|
|
1114
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1369
|
+
}], ctorParameters: () => [{ type: i1$1.AXPAppStartUpService }, { type: i0.Injector }] });
|
|
1115
1370
|
|
|
1116
1371
|
/**
|
|
1117
1372
|
* Generated bundle index. Do not edit.
|
|
1118
1373
|
*/
|
|
1119
1374
|
|
|
1120
|
-
export { AXPDeviceType, AXPLayoutThemeService, AXPMenuOrientation, AXPScreenSize, AXPSideMenuState, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutSetting, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPThemeMode, AXPThemePaletteProviderDefault, AXPThemeSlotComponent, AXPThemesSharedModule, AXP_THEME_PALETTE_PROVIDER };
|
|
1375
|
+
export { AXPDeviceType, AXPLayoutThemeService, AXPMenuOrientation, AXPScreenSize, AXPSideMenuState, AXPTaskBadgeDirective, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutSetting, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPThemeMode, AXPThemePaletteProviderDefault, AXPThemeSlotComponent, AXPThemesSharedModule, AXP_THEME_PALETTE_PROVIDER };
|
|
1121
1376
|
//# sourceMappingURL=acorex-platform-themes-shared.mjs.map
|