@acorex/platform 18.0.13 → 18.0.14

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 (48) hide show
  1. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +3 -2
  2. package/esm2022/layout/builder/lib/builder/widget.types.mjs +2 -1
  3. package/esm2022/layout/designer/lib/board/board.component.mjs +1 -1
  4. package/esm2022/layout/designer/lib/designer/designer.component.mjs +5 -4
  5. package/esm2022/layout/designer/lib/designer.service.mjs +6 -4
  6. package/esm2022/layout/designer/lib/header-menu/header-menu.component.mjs +1 -1
  7. package/esm2022/layout/designer/lib/helpers/add-widget-button/add-widget-button.component.mjs +3 -3
  8. package/esm2022/layout/designer/lib/helpers/grid-drawer/grid-drawer.component.mjs +3 -3
  9. package/esm2022/layout/designer/lib/preview/preview.component.mjs +20 -0
  10. package/esm2022/layout/designer/lib/widget-designer-renderer.component.mjs +14 -6
  11. package/esm2022/layout/designer/lib/widget-picker/widget-picker.component.mjs +3 -3
  12. package/esm2022/widgets/lib/properties/editors.props.mjs +2 -1
  13. package/esm2022/widgets/lib/properties/layout.props.mjs +106 -1
  14. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +4 -4
  15. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +3 -3
  16. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +4 -4
  17. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +38 -44
  18. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget.config.mjs +3 -3
  19. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +97 -0
  20. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-print.component.mjs +19 -0
  21. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.mjs +18 -0
  22. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.mjs +34 -0
  23. package/esm2022/widgets/lib/widgets/layout/grid-item/index.mjs +5 -0
  24. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  25. package/fesm2022/acorex-platform-layout-builder.mjs +3 -1
  26. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-designer-preview.component-xkvSLydm.mjs +23 -0
  28. package/fesm2022/acorex-platform-layout-designer-preview.component-xkvSLydm.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-designer-widget-picker.component-CaMaBGON.mjs → acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs} +3 -3
  30. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-layout-designer.mjs +28 -17
  32. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-widgets.mjs +317 -58
  34. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  35. package/layout/builder/lib/builder/widget.types.d.ts +7 -5
  36. package/layout/designer/lib/designer.service.d.ts +1 -1
  37. package/layout/designer/lib/preview/preview.component.d.ts +8 -0
  38. package/layout/designer/lib/widget-designer-renderer.component.d.ts +1 -0
  39. package/package.json +14 -13
  40. package/widgets/lib/properties/layout.props.d.ts +5 -0
  41. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +1 -5
  42. package/widgets/lib/widgets/layout/grid/grid-widget.config.d.ts +1 -1
  43. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +15 -0
  44. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-print.component.d.ts +6 -0
  45. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +6 -0
  46. package/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.d.ts +7 -0
  47. package/widgets/lib/widgets/layout/grid-item/index.d.ts +4 -0
  48. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-CaMaBGON.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { AXPMetaData, AXPOptionsData, AXPPartialNested, AXPValidationRules } from '@acorex/platform/core';
2
- import { InjectionToken } from '@angular/core';
2
+ import { InjectionToken, Signal } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
4
  import { AXPLayoutElement } from './builder.service';
5
5
  import * as i0 from "@angular/core";
@@ -73,7 +73,8 @@ export interface AXPWidgetTypesMap {
73
73
  document: 'document-layout';
74
74
  lookup: 'lookup-editor';
75
75
  formField: 'form-field';
76
- grid: 'grid';
76
+ grid: 'grid-layout';
77
+ gridItem: 'grid-item-layout';
77
78
  qrcode: 'qrcode';
78
79
  }
79
80
  export interface AXPWidgetNodeToken {
@@ -129,12 +130,12 @@ export declare abstract class AXPWidgetComponent<T = any | null | void> extends
129
130
  protected readonly name: string | undefined;
130
131
  protected readonly defaultValue: any;
131
132
  protected readonly _children: import("@angular/core").WritableSignal<AXPWidgetNode[]>;
132
- protected children: import("@angular/core").Signal<AXPWidgetNode[]>;
133
+ protected children: Signal<AXPWidgetNode[]>;
133
134
  protected readonly config: AXPWidgetConfig;
134
135
  protected _options: import("@angular/core").WritableSignal<any>;
135
- protected options: import("@angular/core").Signal<any>;
136
+ protected options: Signal<any>;
136
137
  private readonly contextService;
137
- protected readonly rawValue: import("@angular/core").Signal<T>;
138
+ protected readonly rawValue: Signal<T>;
138
139
  readonly onReady: Subject<void>;
139
140
  private isRendered;
140
141
  private _id;
@@ -158,6 +159,7 @@ export declare abstract class AXPWidgetComponent<T = any | null | void> extends
158
159
  }
159
160
  export declare abstract class AXPContainerWidgetComponent<T> extends AXPWidgetComponent<T> {
160
161
  readonly node: AXPWidgetNode;
162
+ outerClass: Signal<any>;
161
163
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPContainerWidgetComponent<any>, never>;
162
164
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPContainerWidgetComponent<any>>;
163
165
  }
@@ -76,7 +76,7 @@ export declare class AXPDesignerService {
76
76
  focus(command: AXPDesignerFocusCommand): void;
77
77
  refresh(command: AXPDesignerRefreshCommand): void;
78
78
  private findBreadcrumbs;
79
- showPicker(currentNode: AXPWidgetNode): Promise<void>;
79
+ showPicker(currentNode: AXPWidgetNode): Promise<AXPWidgetNode[]>;
80
80
  private createDoc;
81
81
  private createPage;
82
82
  addNewPage(): void;
@@ -0,0 +1,8 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPLayoutDesignerPreviewComponent implements OnInit {
4
+ constructor();
5
+ ngOnInit(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutDesignerPreviewComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPLayoutDesignerPreviewComponent, "axp-layout-preview", never, {}, {}, never, never, true, never>;
8
+ }
@@ -32,6 +32,7 @@ export declare class AXPWidgetDesignerRendererComponent {
32
32
  private removeOverlay;
33
33
  preprocessAndInitialOptions(obj: any, pathPrefix?: string): void;
34
34
  private applyOptions;
35
+ private get __class();
35
36
  onKeydownHandler(event: KeyboardEvent): Promise<void>;
36
37
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWidgetDesignerRendererComponent, never>;
37
38
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPWidgetDesignerRendererComponent, "axp-widget-designer-renderer", never, { "parentNode": { "alias": "parentNode"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "18.0.13",
3
+ "version": "18.0.14",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
@@ -11,6 +11,7 @@
11
11
  "jwt-decode": "^4.0.0",
12
12
  "leaflet": "^1.9.4",
13
13
  "leaflet-draw": "^1.0.4",
14
+ "leaflet.locatecontrol": "^0.81.1",
14
15
  "lodash-es": "^4.17.21",
15
16
  "@types/lodash-es": "^4.17.8",
16
17
  "memoizee": "^0.4.15",
@@ -44,18 +45,6 @@
44
45
  "esm": "./esm2022/auth/acorex-platform-auth.mjs",
45
46
  "default": "./fesm2022/acorex-platform-auth.mjs"
46
47
  },
47
- "./common": {
48
- "types": "./common/index.d.ts",
49
- "esm2022": "./esm2022/common/acorex-platform-common.mjs",
50
- "esm": "./esm2022/common/acorex-platform-common.mjs",
51
- "default": "./fesm2022/acorex-platform-common.mjs"
52
- },
53
- "./core": {
54
- "types": "./core/index.d.ts",
55
- "esm2022": "./esm2022/core/acorex-platform-core.mjs",
56
- "esm": "./esm2022/core/acorex-platform-core.mjs",
57
- "default": "./fesm2022/acorex-platform-core.mjs"
58
- },
59
48
  "./layouts": {
60
49
  "types": "./layouts/index.d.ts",
61
50
  "esm2022": "./esm2022/layouts/acorex-platform-layouts.mjs",
@@ -74,6 +63,18 @@
74
63
  "esm": "./esm2022/native/acorex-platform-native.mjs",
75
64
  "default": "./fesm2022/acorex-platform-native.mjs"
76
65
  },
66
+ "./common": {
67
+ "types": "./common/index.d.ts",
68
+ "esm2022": "./esm2022/common/acorex-platform-common.mjs",
69
+ "esm": "./esm2022/common/acorex-platform-common.mjs",
70
+ "default": "./fesm2022/acorex-platform-common.mjs"
71
+ },
72
+ "./core": {
73
+ "types": "./core/index.d.ts",
74
+ "esm2022": "./esm2022/core/acorex-platform-core.mjs",
75
+ "esm": "./esm2022/core/acorex-platform-core.mjs",
76
+ "default": "./fesm2022/acorex-platform-core.mjs"
77
+ },
77
78
  "./widgets": {
78
79
  "types": "./widgets/index.d.ts",
79
80
  "esm2022": "./esm2022/widgets/acorex-platform-widgets.mjs",
@@ -1,4 +1,9 @@
1
1
  import { AXPWidgetProperty } from '@acorex/platform/layout/builder';
2
2
  export declare const AXP_LAYOUT_GAP_PROPERTY: AXPWidgetProperty;
3
+ export declare const AXP_LAYOUT_COL_SPAN_PROPERTY: AXPWidgetProperty;
4
+ export declare const AXP_LAYOUT_COL_START_PROPERTY: AXPWidgetProperty;
5
+ export declare const AXP_LAYOUT_COL_END_PROPERTY: AXPWidgetProperty;
3
6
  export declare const AXP_LAYOUT_COLUMNS_PROPERTY: AXPWidgetProperty;
4
7
  export declare const AXP_LAYOUT_ROWS_PROPERTY: AXPWidgetProperty;
8
+ export declare const AXP_FLEX_JUSTIFY_PROPERTY: AXPWidgetProperty;
9
+ export declare const AXP_FLEX_ALIGN_PROPERTY: AXPWidgetProperty;
@@ -2,19 +2,15 @@ import { AXPContainerWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {
4
4
  private designerService;
5
- private element;
6
5
  protected cols: import("@angular/core").Signal<number>;
7
6
  protected rows: import("@angular/core").Signal<number>;
8
7
  protected gap: import("@angular/core").Signal<number>;
9
8
  protected cells: import("@angular/core").Signal<number[]>;
10
- protected settled: import("@angular/core").WritableSignal<boolean>;
11
- private placeholder;
12
- private e;
9
+ protected settled: import("@angular/core").Signal<boolean>;
13
10
  protected handleDrawerSelect(e: {
14
11
  rows: number;
15
12
  cols: number;
16
13
  }): void;
17
- private get __class();
18
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPGridWidgetDesignerComponent, never>;
19
15
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPGridWidgetDesignerComponent, "ng-component", never, {}, {}, never, never, true, never>;
20
16
  }
@@ -2,6 +2,6 @@ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
2
  export declare const AXPGridWidget: AXPWidgetConfig;
3
3
  declare module '@acorex/platform/layout/builder' {
4
4
  interface AXPWidgetTypesMap {
5
- grid: 'grid';
5
+ grid: 'grid-layout';
6
6
  }
7
7
  }
@@ -0,0 +1,15 @@
1
+ import { AXPContainerWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {
4
+ private designerService;
5
+ protected colSpan: import("@angular/core").Signal<number>;
6
+ protected colStart: import("@angular/core").Signal<number>;
7
+ protected colEnd: import("@angular/core").Signal<number>;
8
+ protected flexAlign: import("@angular/core").Signal<string>;
9
+ protected flexJustify: import("@angular/core").Signal<string>;
10
+ protected handleSlotClick(): Promise<void>;
11
+ private get __class();
12
+ outerClass: import("@angular/core").Signal<any>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPGridItemWidgetDesignerComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPGridItemWidgetDesignerComponent, "ng-component", never, {}, {}, never, never, true, never>;
15
+ }
@@ -0,0 +1,6 @@
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPGridItemWidgetPrintComponent extends AXPWidgetComponent<any> {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPGridItemWidgetPrintComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPGridItemWidgetPrintComponent, "ng-component", never, {}, {}, never, never, true, never>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPGridItemWidgetViewComponent extends AXPWidgetComponent<any> {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPGridItemWidgetViewComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPGridItemWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPGridItemWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ gridItem: 'grid-item-layout';
6
+ }
7
+ }
@@ -0,0 +1,4 @@
1
+ export * from './grid-item-widget-view.component';
2
+ export * from './grid-item-widget-print.component';
3
+ export * from './grid-item-widget-designer.component';
4
+ export * from './grid-item-widget.config';
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-layout-designer-widget-picker.component-CaMaBGON.mjs","sources":["../../../../libs/platform/layout/designer/src/lib/widget-picker/widget-picker.component.ts","../../../../libs/platform/layout/designer/src/lib/widget-picker/widget-picker.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXPStickyDirective } from '@acorex/platform/common';\nimport { AXP_WIDGETS_GROUPS, AXPWidgetConfig, AXPWidgetGroup } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, model, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { orderBy } from 'lodash-es';\n\n\nexport interface AXPDisplayWidgetConfig extends AXPWidgetConfig {\n pinned: boolean;\n}\n\n\n@Component({\n standalone: true,\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTabsModule, AXSearchBoxModule, AXPStickyDirective],\n templateUrl: './widget-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./widget-picker.component.scss'],\n})\nexport class AXPDesignerWidgetPickerComponent extends AXBasePageComponent {\n\n\n protected searchTerm = model('');\n\n // Signals\n private widgets: AXPWidgetConfig[] = [];\n private displayWidgets = signal<AXPDisplayWidgetConfig[]>([]);\n\n // Signal to track selected widgets\n protected selectedWidgets = signal<AXPDisplayWidgetConfig[]>([]);\n\n // Computed for filtered and ordered widget list\n private orderedList = computed(() => {\n const search = this.searchTerm().toLowerCase();\n const selectedTabName = this.selectedTab().name;\n\n return orderBy(\n this.displayWidgets().filter(w => {\n const matchesTab = selectedTabName === 'all' || w.group.name === selectedTabName;\n const matchesSearch = !search || w.title.toLowerCase().includes(search) || w.description?.toLowerCase().includes(search);\n return matchesTab && matchesSearch;\n }),\n ['pinned', 'title'], ['desc', 'asc']\n );\n });\n\n // Pinned and regular lists\n protected pinnedList = computed(() => this.orderedList().filter(c => c.pinned));\n protected regularList = computed(() => this.orderedList().filter(c => !c.pinned));\n\n // Tabs for the widget groups\n protected tabs: AXPWidgetGroup[] = orderBy([{ name: 'all', title: 'All', order: 0 }, ...AXP_WIDGETS_GROUPS], c => c.order);\n protected currentTabIndex = signal(0);\n protected selectedTab = computed(() => this.tabs[this.currentTabIndex()]);\n\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.displayWidgets.set(this.widgets.map(c => ({ ...c, pinned: false })))\n }\n\n protected handleTabChange(event: AXTabStripChangedEvent): void {\n const indx = event.index;\n if (this.currentTabIndex() != indx) {\n this.currentTabIndex.set(indx);\n }\n }\n\n protected handleClick(event: MouseEvent, widget: AXPDisplayWidgetConfig) {\n //this.close({ widgets: [widget] });\n if (event.ctrlKey) {\n const currentSelection = this.selectedWidgets();\n const isAlreadySelected = currentSelection.some(w => w === widget);\n\n if (isAlreadySelected) {\n // Deselect widget if already selected\n this.selectedWidgets.set(currentSelection.filter(w => w !== widget));\n } else {\n // Add widget to selection\n this.selectedWidgets.set([...currentSelection, widget]);\n }\n } else {\n // If CTRL is not pressed, select only the clicked widget\n //this.selectedWidgets.set([widget]);\n this.close({ widgets: [widget] });\n }\n }\n\n protected handlePinClick(e: MouseEvent, widget: AXPDisplayWidgetConfig) {\n e.stopPropagation();\n widget.pinned = !widget.pinned;\n this.displayWidgets.set([...this.displayWidgets()]);\n }\n\n // Check if a widget is selected\n protected isWidgetSelected(widget: AXPDisplayWidgetConfig): boolean {\n return this.selectedWidgets().includes(widget);\n }\n\n protected handleConfirmSelection(): void {\n this.close({ widgets: this.selectedWidgets() });\n }\n\n}\n","<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs;track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-neutral-100 group-hover:ax-text-primary-500\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-500\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-400 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-400 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}"],"names":["i5","i6"],"mappings":"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"}