@acorex/platform 19.1.4 → 19.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/common/lib/workflows/common.workflow.d.ts +11 -0
  2. package/fesm2022/acorex-platform-common.mjs +4 -4
  3. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-layout-builder.mjs +127 -94
  5. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-layout-entity.mjs +540 -534
  7. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-filters.mjs +0 -1
  9. package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -1
  10. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs → acorex-platform-themes-default-entity-master-list-view.component-xlBBA76O.mjs} +3 -3
  11. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-xlBBA76O.mjs.map +1 -0
  12. package/fesm2022/acorex-platform-themes-default.mjs +2 -2
  13. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs → acorex-platform-widgets-checkbox-widget-designer.component-D8KErkus.mjs} +4 -4
  14. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-D8KErkus.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs → acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs} +4 -4
  16. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-widgets.mjs +942 -160
  18. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  19. package/layout/builder/lib/builder/builder.module.d.ts +4 -3
  20. package/layout/builder/lib/builder/widget-map.d.ts +5 -0
  21. package/layout/builder/lib/builder/widget-placeholder.component.d.ts +5 -0
  22. package/layout/builder/lib/builder/widget-renderer.directive.d.ts +1 -1
  23. package/layout/builder/lib/builder/widget.types.d.ts +6 -2
  24. package/package.json +13 -13
  25. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -1
  26. package/widgets/lib/widgets/filters/boolean-filter/boolean-filter-widget-edit.component.d.ts +18 -0
  27. package/widgets/lib/widgets/filters/boolean-filter/boolean-filter-widget.config.d.ts +7 -0
  28. package/widgets/lib/widgets/filters/boolean-filter/index.d.ts +2 -0
  29. package/widgets/lib/widgets/filters/date-time-filter/date-time-filter-widget-edit.component.d.ts +20 -0
  30. package/widgets/lib/widgets/filters/date-time-filter/date-time-filter-widget.config.d.ts +7 -0
  31. package/widgets/lib/widgets/filters/date-time-filter/index.d.ts +2 -0
  32. package/widgets/lib/widgets/filters/number-filter/index.d.ts +2 -0
  33. package/widgets/lib/widgets/filters/number-filter/number-filter-widget-edit.component.d.ts +12 -0
  34. package/widgets/lib/widgets/filters/number-filter/number-filter-widget.config.d.ts +7 -0
  35. package/widgets/lib/widgets/filters/select-filter/index.d.ts +2 -0
  36. package/widgets/lib/widgets/filters/select-filter/select-filter-widget-edit.component.d.ts +16 -0
  37. package/widgets/lib/widgets/filters/select-filter/select-filter-widget.config.d.ts +7 -0
  38. package/widgets/lib/widgets/filters/string-filter/string-filter-widget-edit.component.d.ts +1 -0
  39. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +22 -17
  40. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget.type.d.ts +16 -13
  41. package/widgets/lib/widgets/property-editors/property-editor-helper.d.ts +10 -0
  42. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs.map +0 -1
  43. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { ModuleWithProviders } from "@angular/core";
2
- import { AXPWidgetConfig } from "./widget.types";
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { AXPWidgetConfig, extendedWidget } from './widget.types';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./widget-container.component";
5
5
  import * as i2 from "./widget-column-renderer";
@@ -8,7 +8,8 @@ import * as i4 from "@angular/common";
8
8
  import * as i5 from "@angular/cdk/portal";
9
9
  import * as i6 from "@acorex/components/skeleton";
10
10
  export interface AXPLayoutBuilderModuleConfigs {
11
- widgets: AXPWidgetConfig[];
11
+ widgets?: AXPWidgetConfig[];
12
+ extendedWidgets?: extendedWidget[];
12
13
  }
13
14
  export declare class AXPLayoutBuilderModule {
14
15
  static forRoot(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule>;
@@ -39,5 +39,10 @@ export interface AXPWidgetTypesMap {
39
39
  avatar: 'avatar';
40
40
  stringFilter: 'string-filter';
41
41
  themeColorSelection: 'theme-color-selection';
42
+ numberFilter: 'number-filter';
43
+ dateTimeFilter: 'datetime-filter';
44
+ booleanFilter: 'boolean-filter';
45
+ lookupFilter: 'lookup-filter';
42
46
  flexOptions: 'flex-options';
47
+ selectFilter: 'select-filter';
43
48
  }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXPWidgetPlaceholderComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPWidgetPlaceholderComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPWidgetPlaceholderComponent, "axp-widget-placeholder", never, {}, {}, never, never, true, never>;
5
+ }
@@ -1,9 +1,9 @@
1
1
  import { AXUnsubscriber } from '@acorex/core/utils';
2
+ import { AXPMetaData } from '@acorex/platform/core';
2
3
  import { SimpleChanges, WritableSignal } from '@angular/core';
3
4
  import { AXPLayoutBuilderService } from './builder.service';
4
5
  import { AXPWidgetRegistryService } from './widget-registery.service';
5
6
  import { AXPWidgetComponent, AXPWidgetNode } from './widget.types';
6
- import { AXPMetaData } from '@acorex/platform/core';
7
7
  import * as i0 from "@angular/core";
8
8
  export type AXPWidgetRendererDirectiveOptions = AXPMetaData;
9
9
  export declare class AXPWidgetRendererDirective {
@@ -3,8 +3,8 @@ import { AXPMetaData, AXPOptionsData, AXPPartialNested, AXPValidationRules } fro
3
3
  import { InjectionToken, OnInit } from '@angular/core';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import { AXPLayoutBuilderService, AXPLayoutElement } from './builder.service';
6
- import { AXPPageStatus, AXPWidgetStatus } from './widget-status.types';
7
6
  import { AXPWidgetTypesMap } from './widget-map';
7
+ import { AXPPageStatus, AXPWidgetStatus } from './widget-status.types';
8
8
  import * as i0 from "@angular/core";
9
9
  export type AXPWidgetTrigger = {
10
10
  event: string;
@@ -140,10 +140,14 @@ export interface AXPWidgetConfig<T = any> {
140
140
  components: AXPWidgetConfigComponents;
141
141
  meta?: AXPMetaData;
142
142
  type: AXPExtractWidgetConfig<T>['type'];
143
- defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'select-filter' | 'lookup-filter';
143
+ defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter';
144
144
  options?: AXPExtractWidgetConfig<T>['options'];
145
145
  visible?: boolean;
146
146
  }
147
+ export interface extendedWidget {
148
+ widget: AXPWidgetConfig;
149
+ parentName: string;
150
+ }
147
151
  export type AXPWidgetRenderMode = keyof AXPWidgetConfigComponents;
148
152
  export interface AXPLayoutBuilderStatusChangedEvent {
149
153
  status: AXPPageStatus;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "19.1.4",
3
+ "version": "19.1.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.0.0",
6
6
  "@angular/core": ">=19.0.0",
@@ -41,14 +41,6 @@
41
41
  "types": "./auth/index.d.ts",
42
42
  "default": "./fesm2022/acorex-platform-auth.mjs"
43
43
  },
44
- "./common": {
45
- "types": "./common/index.d.ts",
46
- "default": "./fesm2022/acorex-platform-common.mjs"
47
- },
48
- "./core": {
49
- "types": "./core/index.d.ts",
50
- "default": "./fesm2022/acorex-platform-core.mjs"
51
- },
52
44
  "./layouts": {
53
45
  "types": "./layouts/index.d.ts",
54
46
  "default": "./fesm2022/acorex-platform-layouts.mjs"
@@ -57,6 +49,14 @@
57
49
  "types": "./native/index.d.ts",
58
50
  "default": "./fesm2022/acorex-platform-native.mjs"
59
51
  },
52
+ "./core": {
53
+ "types": "./core/index.d.ts",
54
+ "default": "./fesm2022/acorex-platform-core.mjs"
55
+ },
56
+ "./common": {
57
+ "types": "./common/index.d.ts",
58
+ "default": "./fesm2022/acorex-platform-common.mjs"
59
+ },
60
60
  "./widgets": {
61
61
  "types": "./widgets/index.d.ts",
62
62
  "default": "./fesm2022/acorex-platform-widgets.mjs"
@@ -65,14 +65,14 @@
65
65
  "types": "./workflow/index.d.ts",
66
66
  "default": "./fesm2022/acorex-platform-workflow.mjs"
67
67
  },
68
- "./layout/builder": {
69
- "types": "./layout/builder/index.d.ts",
70
- "default": "./fesm2022/acorex-platform-layout-builder.mjs"
71
- },
72
68
  "./layout/designer": {
73
69
  "types": "./layout/designer/index.d.ts",
74
70
  "default": "./fesm2022/acorex-platform-layout-designer.mjs"
75
71
  },
72
+ "./layout/builder": {
73
+ "types": "./layout/builder/index.d.ts",
74
+ "default": "./fesm2022/acorex-platform-layout-builder.mjs"
75
+ },
76
76
  "./layout/entity": {
77
77
  "types": "./layout/entity/index.d.ts",
78
78
  "default": "./fesm2022/acorex-platform-layout-entity.mjs"
@@ -4,8 +4,8 @@ import { AXPDataListWidgetComponent } from '@acorex/platform/layout/builder';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent {
6
6
  private selectbox;
7
- protected multiple: import("@angular/core").Signal<boolean>;
8
7
  protected validationRules: import("@angular/core").Signal<AXPValidationRules>;
8
+ protected multiple: import("@angular/core").Signal<boolean>;
9
9
  protected disabled: import("@angular/core").Signal<boolean>;
10
10
  protected placeholder: import("@angular/core").Signal<string>;
11
11
  protected hasClearButton: import("@angular/core").Signal<boolean>;
@@ -0,0 +1,18 @@
1
+ import { AXValueChangedEvent } from '@acorex/components/common';
2
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent<any> {
5
+ #private;
6
+ protected operation: import("@angular/core").Signal<any>;
7
+ protected value: import("@angular/core").Signal<any>;
8
+ protected trulyText: import("@angular/core").Signal<any>;
9
+ protected falsyText: import("@angular/core").Signal<any>;
10
+ protected items: {
11
+ text: string;
12
+ value: boolean;
13
+ }[];
14
+ protected handleValueChange(e: AXValueChangedEvent): void;
15
+ protected dataSource: any;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBooleanFilterWidgetEditComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPBooleanFilterWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
18
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPBooleanFilterWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ booleanFilter: 'boolean-filter';
6
+ }
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './boolean-filter-widget-edit.component';
2
+ export * from './boolean-filter-widget.config';
@@ -0,0 +1,20 @@
1
+ import { AXValueChangedEvent } from '@acorex/components/common';
2
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
+ import { Signal, WritableSignal } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXPDateTimeFilterWidgetEditComponent extends AXPWidgetComponent<any> {
6
+ #private;
7
+ private formatCamelCaseToUpper;
8
+ protected mounted: WritableSignal<boolean>;
9
+ private calendarService;
10
+ protected value: Signal<any>;
11
+ protected operation: Signal<any>;
12
+ protected filterTypeSelectedItem: WritableSignal<string>;
13
+ filterTypeDataSource: string[];
14
+ private convertISODateToDate;
15
+ protected handleFilterTypeSelectedItemChange(e: AXValueChangedEvent): void;
16
+ protected setDateValue(): void;
17
+ protected handleValueChange(e: AXValueChangedEvent, type: 'from' | 'to' | 'self'): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDateTimeFilterWidgetEditComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPDateTimeFilterWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
20
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPDateTimeFilterWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ dateTimeFilter: 'datetime-filter';
6
+ }
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './date-time-filter-widget-edit.component';
2
+ export * from './date-time-filter-widget.config';
@@ -0,0 +1,2 @@
1
+ export * from './number-filter-widget-edit.component';
2
+ export * from './number-filter-widget.config';
@@ -0,0 +1,12 @@
1
+ import { AXValueChangedEvent } from '@acorex/components/common';
2
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXPNumberFilterWidgetEditComponent extends AXPWidgetComponent<any> {
5
+ protected value: import("@angular/core").Signal<any>;
6
+ protected operation: import("@angular/core").Signal<any>;
7
+ protected placeholder: import("@angular/core").Signal<any>;
8
+ handleValueChange(e: AXValueChangedEvent, type: 'self' | 'from' | 'to'): void;
9
+ handleOperationChange(e: unknown): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPNumberFilterWidgetEditComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPNumberFilterWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPNumberFilterWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ numberFilter: 'number-filter';
6
+ }
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './select-filter-widget-edit.component';
2
+ export * from './select-filter-widget.config';
@@ -0,0 +1,16 @@
1
+ import { AXValueChangedEvent } from '@acorex/components/common';
2
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXPSelectFilterWidgetEditComponent extends AXPWidgetComponent<any> {
5
+ protected value: import("@angular/core").Signal<any>;
6
+ protected operation: import("@angular/core").Signal<any>;
7
+ protected dataSource: import("@angular/core").Signal<any>;
8
+ protected textField: import("@angular/core").Signal<any>;
9
+ protected valueField: import("@angular/core").Signal<any>;
10
+ protected multiple: import("@angular/core").Signal<any>;
11
+ protected allowSearch: import("@angular/core").Signal<any>;
12
+ protected placeholder: import("@angular/core").Signal<any>;
13
+ handleValueChange(e: AXValueChangedEvent): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSelectFilterWidgetEditComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPSelectFilterWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPSelectFilterWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ selectFilter: 'select-filter';
6
+ }
7
+ }
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class AXPStringWidgetFilterComponent extends AXPWidgetComponent<any> {
5
5
  protected operation: import("@angular/core").Signal<any>;
6
6
  protected value: import("@angular/core").Signal<any>;
7
+ protected placeholder: import("@angular/core").Signal<any>;
7
8
  handleValueChange(e: AXValueChangedEvent): void;
8
9
  handleOperationChanged(e: unknown): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPStringWidgetFilterComponent, never>;
@@ -1,31 +1,36 @@
1
1
  import { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
- import { AXPFlexDataSource, AXPFlexDirection, AXPFlexSidesData } from './flex-options-widget.type';
3
+ import { AXPFlexBoxAlignmentOption, AXPFlexBoxOption, AXPFlexBoxValues } from './flex-options-widget.type';
4
4
  import * as i0 from "@angular/core";
5
- export declare class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
6
- protected flexSides: AXPFlexSidesData[];
7
- protected flexDirection: import("@angular/core").WritableSignal<AXPFlexDirection>;
5
+ export declare class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent<AXPFlexBoxValues> {
6
+ #private;
7
+ protected flexSides: AXPFlexBoxAlignmentOption[];
8
+ protected flexDirection: import("@angular/core").WritableSignal<"row" | "row-reverse" | "column" | "column-reverse">;
9
+ protected flexWrap: import("@angular/core").WritableSignal<"nowrap" | "wrap" | "wrap-reverse">;
8
10
  protected flexDirectionIsColumn: import("@angular/core").Signal<boolean>;
9
11
  protected gapMode: import("@angular/core").WritableSignal<"single" | "dual">;
12
+ protected gapUnit: import("@angular/core").WritableSignal<Record<"both" | "x" | "y", string>>;
10
13
  protected gap: import("@angular/core").WritableSignal<Record<"both" | "x" | "y", number>>;
11
- protected selectedJustify: import("@angular/core").WritableSignal<AXPFlexDataSource>;
12
- protected selectedAlign: import("@angular/core").WritableSignal<AXPFlexDataSource>;
13
- protected hoveredAlign: import("@angular/core").WritableSignal<string | null>;
14
- protected hoveredJustify: import("@angular/core").WritableSignal<string | null>;
15
- protected clickedAlign: import("@angular/core").WritableSignal<string>;
16
- protected clickedJustify: import("@angular/core").WritableSignal<string>;
14
+ protected selectedJustify: import("@angular/core").WritableSignal<AXPFlexBoxOption>;
15
+ protected selectedAlign: import("@angular/core").WritableSignal<AXPFlexBoxOption>;
16
+ protected hoveredAlign: import("@angular/core").WritableSignal<"center" | "flex-start" | "flex-end" | "stretch" | "baseline" | null>;
17
+ protected hoveredJustify: import("@angular/core").WritableSignal<"center" | "flex-start" | "flex-end" | "space-between" | "space-around" | null>;
18
+ protected clickedAlign: import("@angular/core").WritableSignal<"center" | "flex-start" | "flex-end" | "stretch" | "baseline">;
19
+ protected clickedJustify: import("@angular/core").WritableSignal<"center" | "flex-start" | "flex-end" | "space-between" | "space-around">;
17
20
  protected setFlexMode(): void;
18
- protected setFlexDirection(type: AXPFlexDirection): void;
21
+ protected setFlexDirection(type: AXPFlexBoxValues['flexDirection']): void;
19
22
  protected setGap(size: number, side: 'both' | 'x' | 'y'): void;
20
- protected onClick(data: AXPFlexSidesData): void;
21
- protected onHover(data: AXPFlexSidesData): void;
23
+ protected onClick(data: AXPFlexBoxAlignmentOption): void;
24
+ protected onHover(data: AXPFlexBoxAlignmentOption): void;
22
25
  protected onHoverLeave(): void;
23
26
  protected onJustifyChange(event: AXValueChangedEvent<any>): void;
24
27
  protected onAlignChange(event: AXValueChangedEvent<any>): void;
25
- protected justifyDataSource: AXDataSource<AXPFlexDataSource>;
26
- protected alignDataSource: AXDataSource<AXPFlexDataSource>;
27
- findAlignNameById: (id: string) => string | undefined;
28
- findJustifyNameById: (id: string) => string | undefined;
28
+ protected justifyDataSource: AXDataSource<AXPFlexBoxOption>;
29
+ protected alignDataSource: AXDataSource<AXPFlexBoxOption>;
30
+ private findAlignNameById;
31
+ private findJustifyNameById;
32
+ protected shouldRenderPoint(side: AXPFlexBoxAlignmentOption): boolean;
33
+ private saveValue;
29
34
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPFlexOptionsWidgetEditComponent, never>;
30
35
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPFlexOptionsWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
31
36
  }
@@ -1,15 +1,18 @@
1
- export type AXPFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
2
- export type AXPFlexSides = 'top-left' | 'top-center' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
3
- export interface AXPFlexSidesData {
4
- id: string;
5
- name: string;
6
- align: string;
7
- justify: string;
1
+ export interface AXPFlexBoxValues {
2
+ flexDirection: 'row' | 'row-reverse' | 'column' | 'column-reverse';
3
+ flexWrap: 'nowrap' | 'wrap' | 'wrap-reverse';
4
+ justifyContent: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';
5
+ alignItems: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';
6
+ gap: string;
8
7
  }
9
- export interface AXPFlexDataSource {
10
- id: string;
11
- name: string;
8
+ export interface AXPFlexBoxOption {
9
+ value: string;
10
+ label: string;
12
11
  }
13
- export declare const AXP_Flex_Sides: AXPFlexSidesData[];
14
- export declare const AXP_Flex_Justify: AXPFlexDataSource[];
15
- export declare const AXP_Flex_Align: AXPFlexDataSource[];
12
+ export interface AXPFlexBoxAlignmentOption extends AXPFlexBoxOption {
13
+ alignItems: AXPFlexBoxValues['alignItems'];
14
+ justifyContent: AXPFlexBoxValues['justifyContent'];
15
+ }
16
+ export declare const AXP_Flex_Box_Alignments: AXPFlexBoxAlignmentOption[];
17
+ export declare const AXP_Flex_Box_Justify_Options: AXPFlexBoxOption[];
18
+ export declare const AXP_Flex_Box_Align_Options: AXPFlexBoxOption[];
@@ -69,4 +69,14 @@ export declare class AXPPropertyEditorHelper {
69
69
  * @returns Combined string.
70
70
  */
71
71
  static getValueFromUnit(value: number, unit: string): string;
72
+ /**
73
+ * Parses a flex gap string and returns an object with values and units.
74
+ *
75
+ * @param gapString - The gap string to parse (e.g., "10px", "10px 20%").
76
+ * @returns An object containing the gap values and their respective units.
77
+ */
78
+ static parseGap(gapString: string): {
79
+ units: Record<'both' | 'x' | 'y', string>;
80
+ values: Record<'both' | 'x' | 'y', number>;
81
+ };
72
82
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.html","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.html","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.html","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.html","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.html"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPFilterDefinition, AXPFilterQuery } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXPFiltersViewModel } from '@acorex/platform/layout/filters';\nimport { CdkDrag, CdkDragHandle, CdkDropList } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n Injector,\n input,\n InputSignal,\n model,\n ModelSignal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-simple-filters-view',\n templateUrl: 'filters-view.component.html',\n providers: [AXPLayoutBuilderService],\n imports: [\n FormsModule,\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXImageModule,\n AXLabelModule,\n AXBadgeModule,\n AXSelectionListModule,\n AXPopoverModule,\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPSimpleFiltersViewComponent {\n protected vm = inject(AXPFiltersViewModel);\n protected injector = inject(Injector);\n\n availAbleFilters: InputSignal<AXPFilterDefinition[]> = input.required();\n\n filters: ModelSignal<AXPFilterQuery> = model.required();\n\n ngAfterViewInit(): void {\n this.vm.setAvailableFilters(this.availAbleFilters());\n this.vm.setFiltersModel(this.filters);\n this.vm.initializeFilters();\n }\n}\n","<div class=\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-select-none\"\n [class.ax-h-[calc(100vh-310px)]]=\"!vm.activeFiltersCount()\">\n @if(!vm.activeFiltersCount()){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-max-h-[calc(100vh-310px)] ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"vm.drop($event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of vm.activeFilters(); track $index ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ item.title }}</ax-label>\n <!-- @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n } -->\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"vm.context.set($event.data)\">\n <ng-container axp-widget-renderer [node]=\"item.widget\" [mode]=\"'edit'\"></ng-container>\n </axp-widgets-container>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"vm.removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(vm.activeFiltersCount()){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\"\n class=\"ax-sm ax-mx-2\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\"\n class=\"ax-md ax-mx-2 ax-w-56\"></ax-button>\n </div>\n }\n </div>\n <ax-popover #fieldsPopover [target]=\"addField\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n (onOpened)=\"vm.resetFilterFields()\" [offsetX]=\"15\">\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-72 2xl:ax-max-h-80 ax-overflow-auto\">\n <ax-selection-list [valueField]=\"'field'\" [textField]=\"'title'\" [value]=\"vm.newFilters()\"\n (onValueChanged)=\"vm.onChoosingFiltersChange($event)\" [direction]=\"'vertical'\"\n [items]=\"vm.availableFilters()\" [multiple]=\"true\"></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"vm.onChoosingFiltersConfirm(); fieldsPopover.close()\" class=\"ax-sm\"\n [text]=\"'confirm' | translate | async\" color=\"primary\">\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSettingValueProviderService } from '@acorex/platform/common';\n\nimport { AXPEntityMasterListViewModel } from '@acorex/platform/layout/entity';\nimport { CdkDrag, CdkDragDrop, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { Component, effect, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\n\n@Component({\n selector: 'axp-list-view-option-columns',\n templateUrl: './list-view-option-columns.component.html',\n imports: [\n CommonModule,\n FormsModule,\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n AXButtonModule,\n AXDecoratorModule,\n AXSwitchModule,\n AXTranslationModule,\n ],\n})\nexport class AXPListViewOptionsColumnsComponent {\n protected settings = inject(AXPSettingValueProviderService);\n\n @Input('viewModel')\n public vm!: AXPEntityMasterListViewModel;\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n columnsChanged = effect(() => {\n this.vm.onColumnsChanged(this.vm.columns());\n //.map((c) => ({ visible: c.visible, name: c.name }))\n });\n\n handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string) {\n if (e.isUserInteraction) {\n this.vm.columns.update((prev) => {\n return prev.map((c: any) => {\n return c.name === name ? { ...c, visible: e.value ?? true } : c;\n });\n });\n }\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n const columns = cloneDeep(this.vm.columns());\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n this.vm.columns.set(columns);\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n protected handleResetClick() {\n this.vm.resetColumns();\n }\n\n protected handleApplyClick() {\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">{{ 'entity.columns' | translate | async }}</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n @for(item of vm.columns();track item.name) {\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title | translate | async }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"item.visible\"\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\n ></ax-switch>\n </div>\n }\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityMasterListViewModel } from '@acorex/platform/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'axp-list-view-option-filters',\n templateUrl: './list-view-option-filters.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, AXDecoratorModule, AXButtonModule, AXTranslationModule, AXDropdownButtonModule],\n})\nexport class AXPListViewOptionFiltersComponent {\n constructor() {}\n\n @Input('viewModel')\n public vm!: AXPEntityMasterListViewModel;\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n protected handleClose() {\n this.onClosed.emit();\n }\n\n protected handleResetClick() {\n this.vm.resetFilters();\n }\n\n protected handleDiscardClick() {\n this.vm.discardFilters();\n }\n\n protected handleApplyClick() {\n this.vm.applyFilterAndSort();\n\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Filters</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-px-4 ax-py-2\">\n <ng-content></ng-content>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-dropdown-button\n color=\"ghost\"\n [text]=\"('discard' | translate | async) || 'discard'\"\n (onClick)=\"handleDiscardClick()\"\n >\n <ax-button-item-list>\n <ax-button-item [text]=\"('reset' | translate | async) || 'reset'\" look=\"solid\" (onClick)=\"handleResetClick()\">\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n</ax-footer>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityMasterListViewModel, AXPEntityMasterListViewSortPropViewModel } from '@acorex/platform/layout/entity';\nimport { CdkDrag, CdkDragDrop, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axp-list-view-option-sorting',\n templateUrl: './list-view-option-sorting.component.html',\n imports: [\n AXTranslationModule,\n CommonModule,\n FormsModule,\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n AXButtonModule,\n AXImageModule,\n AXDecoratorModule,\n AXSwitchModule,\n AXSelectBoxModule,\n ],\n})\nexport class AXPListViewOptionSortingComponent {\n protected isSM = false;\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n @Input('viewModel')\n public vm!: AXPEntityMasterListViewModel;\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n moveItemInArray(this.vm.sortedFields(), event.previousIndex, event.currentIndex);\n }\n\n protected changeItemSort(item: AXPEntityMasterListViewSortPropViewModel) {\n const newDirection = item.dir === 'asc' ? 'desc' : item.dir === 'desc' ? undefined : 'asc';\n\n this.vm.sortedFields.update((prev) => {\n return prev.map((field) => {\n if (field.name === item.name) {\n return { ...field, dir: newDirection };\n }\n return field;\n });\n });\n\n item.dir = newDirection;\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n protected handleResetClick() {\n this.vm.resetSorts();\n }\n\n protected handleApplyClick() {\n this.vm.applySorts();\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">{{ 'entity.sort' | translate | async }}</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-select-none\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n @for(item of vm.sortedFields();track item.name) {\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title | translate | async }}</p>\n </div>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"changeItemSort(item)\">\n <ax-icon\n [class.ax-text-primary]=\"item.dir === 'asc'\"\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\n ></ax-icon>\n <ax-icon\n [class.ax-text-primary]=\"item.dir === 'desc'\"\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport {\n AXDataTableComponent,\n AXDataTableModule,\n AXDataTableRowDbClick,\n AXRowCommandItem,\n AXRowCommandItemClickEvent,\n} from '@acorex/components/data-table';\nimport { AXDrawerComponent, AXDrawerModule } from '@acorex/components/drawer';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\n\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslationModule, translateSync } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXPStickyDirective } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPEntityMasterListViewModel } from '@acorex/platform/layout/entity';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { AXPSimpleFiltersViewComponent } from '../../filters-layout/simple-filter-builder/filters-view.component';\nimport { AXPListViewOptionsColumnsComponent } from './list-view-option-columns/list-view-option-columns.component';\nimport { AXPListViewOptionFiltersComponent } from './list-view-option-filters/list-view-option-filters.component';\nimport { AXPListViewOptionSortingComponent } from './list-view-option-sorting/list-view-option-sorting.component';\n\n@Component({\n templateUrl: 'entity-master-list-view.component.html',\n styleUrls: ['entity-master-list-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXBreadcrumbsModule,\n AXSearchBoxModule,\n AXDataTableModule,\n AXTranslationModule,\n //\n AXPLayoutBuilderModule,\n AXPWidgetsModule,\n AXPStickyDirective,\n AXPAuthModule,\n //\n AXPListViewOptionsColumnsComponent,\n AXPListViewOptionSortingComponent,\n AXPSimpleFiltersViewComponent,\n AXPListViewOptionFiltersComponent,\n ],\n})\nexport class AXPEntityMasterListViewComponent {\n private activeRoute = inject(ActivatedRoute);\n\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterListViewModel;\n\n //\n protected store = inject(AXPLayoutThemeService);\n //\n protected searchBarShown = signal(true);\n\n @ViewChild('grid', { static: true }) grid: AXDataTableComponent;\n\n constructor(protected platform: AXPlatform) {\n effect(() => {\n this.grid.selectedRows = this.vm.selectedItems();\n });\n //\n this.vm.events$.subscribe((e) => {\n if (e.action == 'refresh') {\n this.grid.refresh();\n }\n });\n }\n\n ngAfterViewInit() {\n this.vm.setView();\n }\n\n protected closeFiltersDrawer(e: AXDrawerComponent, collapsed: boolean) {\n if (collapsed) {\n e.close();\n this.vm.discardFilters();\n }\n }\n\n handleChangeSearchValue(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.vm.applyInlineFilter(e.value);\n }\n }\n\n protected dropdownRowItems = computed<AXRowCommandItem[]>(() => {\n return this.vm.secondaryRowActions().map(\n (c) =>\n ({\n icon: c.icon,\n name: c.name,\n text: translateSync(c.title),\n color: c.color,\n } as AXRowCommandItem)\n );\n });\n\n private commandRowItems = computed<AXRowCommandItem[]>(() => {\n return this.vm.primaryRowActions().map((c) => {\n return {\n icon: c.icon,\n name: c.name,\n text: translateSync(c.title),\n color: c.color,\n } as AXRowCommandItem;\n });\n });\n\n protected handleRowDbClick(e: AXDataTableRowDbClick) {\n //TODO: find a way for default action\n const item = [...this.commandRowItems(), ...this.dropdownRowItems()][0];\n if (item) {\n const d: AXRowCommandItemClickEvent = {\n component: e.component,\n name: item.name,\n data: e.data,\n };\n this.handleRowCommandClick(d);\n }\n }\n\n protected getDropdownRowItems = (rowData: unknown): Promise<AXRowCommandItem[]> => {\n return Promise.resolve(this.dropdownRowItems());\n };\n\n protected getCommandRowItems = (): AXRowCommandItem[] => {\n return this.commandRowItems();\n };\n\n protected async handleRowCommandClick(e: AXRowCommandItemClickEvent) {\n this.vm.executeCommand(e.name, e.data);\n }\n\n protected async handleSelectedRowsChange(rows: unknown[]) {\n this.vm.selectedItems.set(rows);\n }\n\n protected makeResponsive<t>(value: t): t | string {\n if (this.platform.is('Mobile') || this.platform.is('SM')) {\n return '';\n } else {\n return value;\n }\n }\n\n protected toggleSearchBar() {\n this.searchBarShown.set(!this.searchBarShown());\n }\n\n ngOnDestroy(): void {\n this.vm.destroy();\n }\n}\n","<ax-drawer-container>\n <ax-content class=\"ax-flex ax-flex-col ax-overflow-hidden\" #content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-gap-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Toolbar -------->\n <!-------- Begin Line 1 -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ vm.title() | translate | async }}</div>\n @if(vm.description() ) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description()! | translate | async }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\"\n [class.ax-hidden]=\"store.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\" [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title | translate | async }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title | translate | async\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"store.isSmall() ? null : ('actions' | translate | async)\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index;let first=$first) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [color]=\"tr.color\" [text]=\"(tr.title | translate | async)!\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n\n <!-------- Finish Line 1 -------->\n\n <!-------- Begin Line 2 -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n <!-------- Begin Selection -------->\n\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\">\n {{ vm.selectedItems().length }} {{ 't(\"itemsSelected\", { scope: \"common\" })' | translate | async }}\n </span>\n <span (click)=\"vm.clearSelection()\"\n class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\">{{\n 't(\"unselect\", { scope: \"common\" })' | translate | async }}</span>\n </div>\n\n <!-------- Finish Selection -------->\n\n } @else {\n\n <!-------- Begin View -------->\n\n <ax-button [text]=\"vm.view().title | translate | async\" #views color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-eye\"></i>\n </ax-prefix>\n <ax-suffix>\n <i class=\"fa-solid fa-caret-down\"></i>\n </ax-suffix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list class=\"ax-p-2\">\n <ax-title class=\"ax-font-bold ax-opacity-100\">{{\n 'entity.public-view' | translate | async\n }}</ax-title>\n <ax-button-item *ngFor=\"let v of vm.views()\" [text]=\"(v.title | translate | async)!\"\n [selected]=\"vm.view() == v\" (onClick)=\"vm.setView(v.name)\"></ax-button-item>\n <!-- <ax-title class=\"ax-font-bold ax-opacity-100\" *ngIf=\"hasCustomViews$ | async\">Created by me</ax-title>\n <ax-button-item class=\"ax-pe-4 ax-flex ax-justify-between\" *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\" [class.ax-bg-on-surface]=\"(view$ | async) == v\" (onClick)=\"loader.setView(v.name)\">\n <ax-suffix>\n <ax-button (onClick)=\"updateViewPopup($event, v)\" class=\"ax-xs\" look=\"none\">\n <ax-icon class=\"far fa-edit\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-button-item> -->\n <!-- <ng-container *feature=\"'axp-entity-list-custom-view'\">\n <ax-divider></ax-divider>\n <ax-button-item text=\"Add Custom View\" (onClick)=\"addCustomViewPopup()\"\n class=\"ax-font-semibold ax-text-primary\"></ax-button-item>\n </ng-container> -->\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <!-------- Finish View -------->\n\n <!-------- Begin Inline Search -------->\n @if(vm.hasInlineFilters() && !(this.platform.is('Mobile') || this.platform.is('SM'))) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n <!-------- Finish Inline Search -------->\n </div>\n <!-- Begin View Action Menu -->\n @if(!vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3\">\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-button (onClick)=\"toggleSearchBar()\" color=\"ghost\">\n <ax-icon class=\"fa-solid fa-search\"> </ax-icon> </ax-button>}\n\n <ax-button [text]=\"makeResponsive('entity.columns' | translate | async)\" color=\"ghost\"\n (onClick)=\"columnsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.visibleColumnCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button text=\"Filters\" color=\"ghost\" (onClick)=\"filtersDrawer.open()\"\n *feature=\"'axp-entity-list-advance-filter'\">\n <ax-prefix>\n <i class=\"fa-solid fa-sliders\"></i>\n </ax-prefix>\n @if(vm.simpleFilters().filters?.length){\n <ax-suffix>\n <ax-badge [text]=\"vm.simpleFilters().filters?.length?.toString() || '0'\" color=\"primary\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n\n @if(vm.canSort()) {\n <ax-button [text]=\"makeResponsive('entity.sort' | translate | async)\" color=\"ghost\"\n (onClick)=\"sortsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars-sort\"></i>\n </ax-prefix>\n @if(vm.sortedCount()) {\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.sortedCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n }\n </div>\n }\n <!-- Finish View Action Menu -->\n </div>\n <div>\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-search-box [class.collapsed-search-box]=\"searchBarShown()\" class=\"ax-transition-all\"\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n }\n </div>\n <!-------- Finish Line 2 -------->\n\n <!----- Finish Toolbar ----->\n </div>\n </div>\n <!----- Begin DataTable ----->\n <div class=\"ax-flex ax-flex-1 ax-px-6 ax-py-6 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [parentField]=\"vm.parentKey()\" [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n @if(vm.view().indexCol === true){\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n } @if(vm.selectedScopeActionsCount()){\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n } @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [expandHandler]=\"$index === 0 && vm.parentKey() ? true : false\"\n [caption]=\"(col.title | translate | async)!\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } } @if(getCommandRowItems().length){\n\n <ax-command-column fixed=\"end\" [width]=\"getCommandRowItems().length * 60 + 'px'\" [items]=\"getCommandRowItems()\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-command-column>\n\n } @if(dropdownRowItems().length){\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n }\n </ax-data-table>\n </div>\n <!----- Finish DataTable ----->\n </ax-content>\n\n <ax-drawer #columnsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[20vw] ax-border-e\">\n <axp-list-view-option-columns [viewModel]=\"vm\" (onClosed)=\"columnsDrawer.close()\"></axp-list-view-option-columns>\n </ax-content>\n </ax-drawer>\n <ax-drawer #filtersDrawer location=\"end\" [mode]=\"'overlay'\"\n (collapsedChange)=\"closeFiltersDrawer(filtersDrawer, $event)\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[25vw] ax-border-e\">\n <axp-list-view-option-filters (onClosed)=\"closeFiltersDrawer(filtersDrawer, true)\" [viewModel]=\"vm\">\n <axp-simple-filters-view [availAbleFilters]=\"vm.filtersDef\"\n [(filters)]=\"vm.simpleFilters\"></axp-simple-filters-view>\n </axp-list-view-option-filters>\n </ax-content>\n </ax-drawer>\n <ax-drawer #sortsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[20vw] ax-border-e\">\n <axp-list-view-option-sorting (onClosed)=\"sortsDrawer.close()\" [viewModel]=\"vm\"></axp-list-view-option-sorting>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>"],"names":["i2","i3","i4","i5","i6","i1","i9","i10","i12","i13","i14"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgDa,6BAA6B,CAAA;AAvB1C,IAAA,WAAA,GAAA;AAwBY,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAErC,QAAA,IAAA,CAAA,gBAAgB,GAAuC,KAAK,CAAC,QAAQ,EAAE;AAEvE,QAAA,IAAA,CAAA,OAAO,GAAgC,KAAK,CAAC,QAAQ,EAAE;AAOxD;IALC,eAAe,GAAA;QACb,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;AACrC,QAAA,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE;;8GAXlB,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EApB7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAAC,uBAAuB,CAAC,0BC5BtC,umHAuEM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzCF,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,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,UAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,GAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,kKACb,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,qBAAqB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACrB,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,WAAW,EACX,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,wcACP,aAAa,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKJ,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAvBzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAExB,SAAA,EAAA,CAAC,uBAAuB,CAAC,EAC3B,OAAA,EAAA;wBACP,WAAW;wBACX,YAAY;wBACZ,iBAAiB;wBACjB,cAAc;wBACd,mBAAmB;wBACnB,sBAAsB;wBACtB,aAAa;wBACb,aAAa;wBACb,aAAa;wBACb,qBAAqB;wBACrB,eAAe;wBACf,WAAW;wBACX,OAAO;wBACP,aAAa;AACd,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,umHAAA,EAAA;;;MEjBpC,kCAAkC,CAAA;AAf/C,IAAA,WAAA,GAAA;AAgBY,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAMpD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ;AAE1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,MAAK;AAC3B,YAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;;AAE7C,SAAC,CAAC;AA4BH;IA1BC,sBAAsB,CAAC,CAA+B,EAAE,IAAY,EAAA;AAClE,QAAA,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC9B,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,KAAI;oBACzB,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,GAAG,CAAC;AACjE,iBAAC,CAAC;AACJ,aAAC,CAAC;;;AAII,IAAA,IAAI,CAAC,KAA6B,EAAA;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAC5C,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;QACjE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;;IAGpB,WAAW,GAAA;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;IAEZ,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;IAGd,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;8GAtCX,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,gKC7B/C,k+CA2BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTI,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,+VACX,WAAW,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,OAAO,EACP,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,8FACb,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,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,UAAA,EAAA,IAAA,EACd,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,oSACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAE,GAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGV,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAf9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAE/B,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,WAAW;wBACX,OAAO;wBACP,aAAa;wBACb,cAAc;wBACd,iBAAiB;wBACjB,cAAc;wBACd,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,k+CAAA,EAAA;8BAMM,EAAE,EAAA,CAAA;sBADR,KAAK;uBAAC,WAAW;gBAIX,QAAQ,EAAA,CAAA;sBADd;;;MEnBU,iCAAiC,CAAA;AAC5C,IAAA,WAAA,GAAA;AAMO,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ;;IAEhC,WAAW,GAAA;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;IAGZ,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;IAGd,kBAAkB,GAAA;AAC1B,QAAA,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;;IAGhB,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;8GAxBX,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB9C,u6BAsBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDRY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,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,EAAAA,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,EAAAA,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,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,GAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAE3F,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAR7C,SAAS;+BACE,8BAA8B,EAAA,eAAA,EAEvB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA,IAAI,WACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,EAAA,QAAA,EAAA,u6BAAA,EAAA;wDAMhG,EAAE,EAAA,CAAA;sBADR,KAAK;uBAAC,WAAW;gBAIX,QAAQ,EAAA,CAAA;sBADd;;;MEOU,iCAAiC,CAAA;AAjB9C,IAAA,WAAA,GAAA;QAkBY,IAAI,CAAA,IAAA,GAAG,KAAK;AAGf,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ;AAmC3C;AA9BW,IAAA,IAAI,CAAC,KAA6B,EAAA;AAC1C,QAAA,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;;AAGxE,IAAA,cAAc,CAAC,IAA8C,EAAA;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,GAAG,SAAS,GAAG,KAAK;QAE1F,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AACnC,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;gBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;oBAC5B,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE;;AAExC,gBAAA,OAAO,KAAK;AACd,aAAC,CAAC;AACJ,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,GAAG,GAAG,YAAY;;IAGf,WAAW,GAAA;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;IAEZ,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE;;IAGZ,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;8GArCX,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7B9C,o3DAkCA,EDlBI,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+FACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,WAAW,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,OAAO,EACP,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EACb,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,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,UAAA,EAAA,IAAA,EAAA,aAAa,8BACb,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGR,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAjB7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAE/B,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,WAAW;wBACX,WAAW;wBACX,OAAO;wBACP,aAAa;wBACb,cAAc;wBACd,aAAa;wBACb,iBAAiB;wBACjB,cAAc;wBACd,iBAAiB;AAClB,qBAAA,EAAA,QAAA,EAAA,o3DAAA,EAAA;8BAMM,QAAQ,EAAA,CAAA;sBADd;gBAIM,EAAE,EAAA,CAAA;sBADR,KAAK;uBAAC,WAAW;;;MEmDP,gCAAgC,CAAA;AAY3C,IAAA,WAAA,CAAsB,QAAoB,EAAA;QAApB,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAXtB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC;QAEzB,IAAE,CAAA,EAAA,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAiC;;AAGlF,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC;;AAErC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;AAiC7B,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAqB,MAAK;AAC7D,YAAA,OAAO,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,CACtC,CAAC,CAAC,MACC;gBACC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;AACZ,gBAAA,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5B,KAAK,EAAE,CAAC,CAAC,KAAK;AACM,aAAA,CAAA,CACzB;AACH,SAAC,CAAC;AAEM,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAqB,MAAK;AAC1D,YAAA,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;gBAC3C,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;AACZ,oBAAA,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC5B,KAAK,EAAE,CAAC,CAAC,KAAK;iBACK;AACvB,aAAC,CAAC;AACJ,SAAC,CAAC;AAeQ,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,OAAgB,KAAiC;YAChF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACjD,SAAC;QAES,IAAkB,CAAA,kBAAA,GAAG,MAAyB;AACtD,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE;AAC/B,SAAC;QAtEC,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AAClD,SAAC,CAAC;;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC9B,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;;AAEvB,SAAC,CAAC;;IAGJ,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;;IAGT,kBAAkB,CAAC,CAAoB,EAAE,SAAkB,EAAA;QACnE,IAAI,SAAS,EAAE;YACb,CAAC,CAAC,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;;;AAI5B,IAAA,uBAAuB,CAAC,CAAsB,EAAA;AAC5C,QAAA,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACvB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;;;AA2B5B,IAAA,gBAAgB,CAAC,CAAwB,EAAA;;AAEjD,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,CAAC,GAA+B;gBACpC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,CAAC,CAAC,IAAI;aACb;AACD,YAAA,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;IAYvB,MAAM,qBAAqB,CAAC,CAA6B,EAAA;AACjE,QAAA,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;;IAG9B,MAAM,wBAAwB,CAAC,IAAe,EAAA;QACtD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;;AAGvB,IAAA,cAAc,CAAI,KAAQ,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACxD,YAAA,OAAO,EAAE;;aACJ;AACL,YAAA,OAAO,KAAK;;;IAIN,eAAe,GAAA;QACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;;IAGjD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;;8GA1GR,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,oLCtF7C,6/YAiPsB,EAAA,MAAA,EAAA,CAAA,meAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1LlB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,8vBACd,iBAAiB,EAAA,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,+BAAA,EAAA,QAAA,EAAA,iBAAA,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,EACjB,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,0PAChB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,iVACd,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BACf,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,0nCACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,GAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;AAEnB,gBAAA,sBAAsB,EACtB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,oLAClB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAEb,gBAAA,kCAAkC,EAClC,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iCAAiC,EACjC,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,6BAA6B,yIAC7B,iCAAiC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGxB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBArC5C,SAAS;AAGO,YAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,aAAa;wBACb,gBAAgB;wBAChB,eAAe;wBACf,YAAY;wBACZ,mBAAmB;wBACnB,cAAc;wBACd,cAAc;wBACd,eAAe;wBACf,YAAY;wBACZ,eAAe;wBACf,mBAAmB;wBACnB,iBAAiB;wBACjB,iBAAiB;wBACjB,mBAAmB;;wBAEnB,sBAAsB;wBACtB,gBAAgB;wBAChB,kBAAkB;wBAClB,aAAa;;wBAEb,kCAAkC;wBAClC,iCAAiC;wBACjC,6BAA6B;wBAC7B,iCAAiC;AAClC,qBAAA,EAAA,QAAA,EAAA,6/YAAA,EAAA,MAAA,EAAA,CAAA,meAAA,CAAA,EAAA;iFAYoC,IAAI,EAAA,CAAA;sBAAxC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs","sources":["../../../../libs/platform/widgets/src/lib/widgets/editors/color/color-box-widget-designer.component.ts"],"sourcesContent":["import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorBoxModule } from '@acorex/components/color-box'\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\n\n@Component({\n selector: 'axp-color-box-widget',\n template: `\n <ax-color-box [disabled]=\"disabled()\" [readonly]=\"readonly()\" [ngModel]=\"getValue()\" [placeholder]=\"placeholder()\" >\n @if(hasClearButton()){\n <ax-clear-button></ax-clear-button>\n } \n </ax-color-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXColorBoxModule, AXDecoratorModule, AXFormModule]\n})\nexport class AXPColorBoxWidgetDesignerComponent extends AXPWidgetComponent<string> {\n\n protected placeholder = computed<string>(() => this.options()[\"placeholder\"] as string);\n protected disabled = computed<boolean>(() => this.options()[\"disabled\"] as boolean);\n protected readonly = computed<boolean>(() => this.options()[\"readonly\"] as boolean);\n protected hasClearButton = computed<boolean>(() => this.options()['hasClearButton'] as boolean);\n\n\n @HostBinding('class')\n private get __class(): string {\n const cls: any = {};\n cls[`ax-block`] = true;\n cls[`ax-flex-1`] = true;\n return cls;\n }\n}"],"names":[],"mappings":"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"}