@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
@@ -7,7 +7,7 @@ import { AXPWidgetComponent, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_GROUP, cloneP
7
7
  import * as i1$2 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
- import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, signal, ViewEncapsulation, ViewChild, effect, HostBinding, ElementRef, NgModule } from '@angular/core';
10
+ import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, signal, ViewEncapsulation, ViewChild, effect, HostBinding, NgModule } from '@angular/core';
11
11
  import { AX_STYLE_COLOR_TYPES, AXDataSource } from '@acorex/components/common';
12
12
  import * as i1 from '@acorex/components/check-box';
13
13
  import { AXCheckBoxModule } from '@acorex/components/check-box';
@@ -64,7 +64,7 @@ import { DomSanitizer } from '@angular/platform-browser';
64
64
  import * as i2$6 from '@acorex/components/label';
65
65
  import { AXLabelModule } from '@acorex/components/label';
66
66
  import * as i1$6 from '@acorex/components/qrcode';
67
- import { QrcodeModule } from '@acorex/components/qrcode';
67
+ import { AXQrcodeModule } from '@acorex/components/qrcode';
68
68
  import { AXColorUtil } from '@acorex/core/utils';
69
69
 
70
70
  class AXPButtonWidgetViewComponent extends AXPWidgetComponent {
@@ -551,6 +551,7 @@ function plainTextDefaultProperty() {
551
551
  group: AXP_DATA_PROPERTY_GROUP,
552
552
  schema: {
553
553
  dataType: 'string',
554
+ defaultValue: "Sample Text",
554
555
  interface: {
555
556
  name: 'defaultValue',
556
557
  path: 'defaultValue',
@@ -3922,7 +3923,7 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
3922
3923
  this._validationRules = v;
3923
3924
  }
3924
3925
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRichTextWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3925
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRichTextWidgetEditComponent, isStandalone: true, selector: "axp-rich-text-widget", usesInheritance: true, ngImport: i0, template: `<ax-wysiwyg-container [look]="'solid'" [ngModel]="getValue()" (ngModelChange)="setNgModel($event)">
3926
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRichTextWidgetEditComponent, isStandalone: true, selector: "axp-rich-text-widget", usesInheritance: true, ngImport: i0, template: `<ax-wysiwyg-container [look]="'solid'" [ngModel]="getValue()" (ngModelChange)="setNgModel($event)" >
3926
3927
  <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
3927
3928
  <ax-wysiwyg-toolbar>
3928
3929
  <ax-wysiwyg-history></ax-wysiwyg-history>
@@ -3935,13 +3936,13 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
3935
3936
  @for (validation of validationRules; track $index) {
3936
3937
  <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
3937
3938
  }
3938
- </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i1$4.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "initialValue"] }, { kind: "component", type: i1$4.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i1$4.AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar" }, { kind: "component", type: i1$4.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i1$4.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i1$4.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i1$4.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i1$4.AXWysiwygInsertComponent, selector: "ax-wysiwyg-insert" }, { kind: "component", type: i1$4.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i4$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3939
+ </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i1$4.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look"] }, { kind: "component", type: i1$4.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i1$4.AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar" }, { kind: "component", type: i1$4.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i1$4.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i1$4.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i1$4.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i1$4.AXWysiwygInsertComponent, selector: "ax-wysiwyg-insert" }, { kind: "component", type: i1$4.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i4$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3939
3940
  }
3940
3941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRichTextWidgetEditComponent, decorators: [{
3941
3942
  type: Component,
3942
3943
  args: [{
3943
3944
  selector: 'axp-rich-text-widget',
3944
- template: `<ax-wysiwyg-container [look]="'solid'" [ngModel]="getValue()" (ngModelChange)="setNgModel($event)">
3945
+ template: `<ax-wysiwyg-container [look]="'solid'" [ngModel]="getValue()" (ngModelChange)="setNgModel($event)" >
3945
3946
  <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
3946
3947
  <ax-wysiwyg-toolbar>
3947
3948
  <ax-wysiwyg-history></ax-wysiwyg-history>
@@ -7180,29 +7181,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7180
7181
  }]
7181
7182
  }] });
7182
7183
 
7183
- var gridWidgetPrint_component = /*#__PURE__*/Object.freeze({
7184
- __proto__: null,
7185
- AXPGridWidgetPrintComponent: AXPGridWidgetPrintComponent
7186
- });
7187
-
7188
7184
  class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent {
7189
7185
  constructor() {
7190
7186
  super(...arguments);
7191
7187
  this.designerService = inject(AXPDesignerService);
7192
- this.element = inject(ElementRef);
7193
7188
  this.cols = computed(() => this.options()["cols"] ?? 1);
7194
7189
  this.rows = computed(() => this.options()["rows"] ?? 1);
7195
7190
  this.gap = computed(() => this.options()["gap"] ?? 0);
7196
7191
  this.cells = computed(() => Array.from({ length: this.cols() * this.rows() }).map((c, index) => index));
7197
- this.settled = signal(false);
7198
- this.e = effect(() => {
7199
- const v = this.cells();
7200
- const g = this.gap();
7201
- setTimeout(() => {
7202
- this.element.nativeElement.style.minHeight = this.placeholder?.nativeElement ? `${this.placeholder.nativeElement.clientHeight}px` : '100px';
7203
- }, 50);
7204
- });
7205
- }
7192
+ this.settled = computed(() => this.cols() * this.rows() > 1);
7193
+ }
7194
+ // private e = effect(async () => {
7195
+ // if (this.settled()) {
7196
+ // const cols = this.cols();
7197
+ // const rows = this.rows();
7198
+ // const gap = this.gap();
7199
+ // // const gridstack = (await import('gridstack')).GridStack;
7200
+ // // const cols = this.cols();
7201
+ // // const rows = this.rows();
7202
+ // // debugger
7203
+ // // // Initialize the grid with responsive options
7204
+ // // gridstack.init({
7205
+ // // cellHeight: 80,
7206
+ // // margin: 0,
7207
+ // // minRow: 1,
7208
+ // // column: 11,
7209
+ // // });
7210
+ // setTimeout(() => {
7211
+ // this.element.nativeElement.style.minHeight = this.placeholder?.nativeElement ? `${this.placeholder.nativeElement.clientHeight}px` : '100px';
7212
+ // }, 50);
7213
+ // }
7214
+ // })
7206
7215
  handleDrawerSelect(e) {
7207
7216
  this.designerService.update({
7208
7217
  values: {
@@ -7211,31 +7220,24 @@ class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent {
7211
7220
  mode: 'update',
7212
7221
  widget: this.node
7213
7222
  });
7214
- this.settled.set(true);
7215
- }
7216
- get __class() {
7217
- return [
7218
- 'ax-relative',
7219
- 'ax-block',
7220
- ];
7223
+ const list = Array.from({ length: this.cells().length }).map(() => ({
7224
+ type: AXPWidgetsCatalog.gridItem,
7225
+ }));
7226
+ list.forEach((node) => {
7227
+ this.designerService.addWidget(this.node, node);
7228
+ });
7221
7229
  }
7222
7230
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridWidgetDesignerComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.__class" } }, providers: [
7231
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridWidgetDesignerComponent, isStandalone: true, selector: "ng-component", providers: [
7224
7232
  {
7225
7233
  provide: AXPContainerWidgetComponent, useExisting: AXPGridWidgetDesignerComponent
7226
7234
  }
7227
- ], viewQueries: [{ propertyName: "placeholder", first: true, predicate: ["placeholder"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
7235
+ ], usesInheritance: true, ngImport: i0, template: `
7228
7236
  @if(settled())
7229
7237
  {
7230
- <div #placeholder class="ax-absolute ax-top-0 ax-left-0 ax-right-0 ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
7231
- @for(c of cells();track $index)
7232
- {
7233
- <div class="axp-empty-space ax-p-8"></div>
7234
- }
7235
- </div>
7236
- <div class="ax-relative ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
7238
+ <div class="ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
7237
7239
  @for (node of children(); track $index) {
7238
- <axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-designer-renderer>
7240
+ <axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-designer-renderer>
7239
7241
  }
7240
7242
  </div>
7241
7243
  }@else {
@@ -7249,15 +7251,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7249
7251
  template: `
7250
7252
  @if(settled())
7251
7253
  {
7252
- <div #placeholder class="ax-absolute ax-top-0 ax-left-0 ax-right-0 ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
7253
- @for(c of cells();track $index)
7254
- {
7255
- <div class="axp-empty-space ax-p-8"></div>
7256
- }
7257
- </div>
7258
- <div class="ax-relative ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
7254
+ <div class="ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
7259
7255
  @for (node of children(); track $index) {
7260
- <axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-designer-renderer>
7256
+ <axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-designer-renderer>
7261
7257
  }
7262
7258
  </div>
7263
7259
  }@else {
@@ -7273,13 +7269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7273
7269
  }
7274
7270
  ]
7275
7271
  }]
7276
- }], propDecorators: { placeholder: [{
7277
- type: ViewChild,
7278
- args: ["placeholder", { static: false }]
7279
- }], __class: [{
7280
- type: HostBinding,
7281
- args: ['class']
7282
- }] } });
7272
+ }] });
7283
7273
 
7284
7274
  var gridWidgetDesigner_component = /*#__PURE__*/Object.freeze({
7285
7275
  __proto__: null,
@@ -7305,6 +7295,60 @@ const AXP_LAYOUT_GAP_PROPERTY = {
7305
7295
  },
7306
7296
  visible: true,
7307
7297
  };
7298
+ const AXP_LAYOUT_COL_SPAN_PROPERTY = {
7299
+ name: 'colSpan',
7300
+ title: 'Column Span',
7301
+ group: AXP_STYLING_PROPERTY_GROUP,
7302
+ schema: {
7303
+ dataType: 'number',
7304
+ interface: {
7305
+ name: 'colSpan',
7306
+ path: 'options.colSpan',
7307
+ type: AXPWidgetsCatalog.number,
7308
+ options: {
7309
+ minValue: 0,
7310
+ maxValue: 12,
7311
+ },
7312
+ },
7313
+ },
7314
+ visible: true,
7315
+ };
7316
+ const AXP_LAYOUT_COL_START_PROPERTY = {
7317
+ name: 'colStart',
7318
+ title: 'Column Start',
7319
+ group: AXP_STYLING_PROPERTY_GROUP,
7320
+ schema: {
7321
+ dataType: 'number',
7322
+ interface: {
7323
+ name: 'colStart',
7324
+ path: 'options.colStart',
7325
+ type: AXPWidgetsCatalog.number,
7326
+ options: {
7327
+ minValue: 1,
7328
+ maxValue: 13,
7329
+ },
7330
+ },
7331
+ },
7332
+ visible: true,
7333
+ };
7334
+ const AXP_LAYOUT_COL_END_PROPERTY = {
7335
+ name: 'colEnd',
7336
+ title: 'Column End',
7337
+ group: AXP_STYLING_PROPERTY_GROUP,
7338
+ schema: {
7339
+ dataType: 'number',
7340
+ interface: {
7341
+ name: 'colEnd',
7342
+ path: 'options.colEnd',
7343
+ type: AXPWidgetsCatalog.number,
7344
+ options: {
7345
+ minValue: 1,
7346
+ maxValue: 13,
7347
+ },
7348
+ },
7349
+ },
7350
+ visible: true,
7351
+ };
7308
7352
  const AXP_LAYOUT_COLUMNS_PROPERTY = {
7309
7353
  name: 'cols',
7310
7354
  title: 'Columns',
@@ -7343,9 +7387,60 @@ const AXP_LAYOUT_ROWS_PROPERTY = {
7343
7387
  },
7344
7388
  visible: true,
7345
7389
  };
7390
+ const AXP_FLEX_JUSTIFY_PROPERTY = {
7391
+ name: 'flexJustify',
7392
+ title: 'Flex Justify',
7393
+ group: AXP_STYLING_PROPERTY_GROUP,
7394
+ schema: {
7395
+ dataType: 'string',
7396
+ defaultValue: { id: 'ax-justify-start' },
7397
+ interface: {
7398
+ name: 'flexJustify',
7399
+ path: 'options.flexJustify',
7400
+ type: AXPWidgetsCatalog.select,
7401
+ options: {
7402
+ hasClearButton: false,
7403
+ dataSource: [
7404
+ { id: 'ax-justify-start', title: 'Justify Start' },
7405
+ { id: 'ax-justify-end', title: 'Justify End' },
7406
+ { id: 'ax-justify-center', title: 'Justify Center' },
7407
+ { id: 'ax-justify-between', title: 'Justify Between' },
7408
+ { id: 'ax-justify-around', title: 'Justify Around' },
7409
+ { id: 'ax-justify-evenly', title: 'Justify Evenly' },
7410
+ ],
7411
+ },
7412
+ },
7413
+ },
7414
+ visible: true,
7415
+ };
7416
+ const AXP_FLEX_ALIGN_PROPERTY = {
7417
+ name: 'flexAlign',
7418
+ title: 'Flex Align',
7419
+ group: AXP_STYLING_PROPERTY_GROUP,
7420
+ schema: {
7421
+ dataType: 'string',
7422
+ defaultValue: { id: 'ax-items-start' },
7423
+ interface: {
7424
+ name: 'flexAlign',
7425
+ path: 'options.flexAlign',
7426
+ type: AXPWidgetsCatalog.select,
7427
+ options: {
7428
+ hasClearButton: false,
7429
+ dataSource: [
7430
+ { id: 'ax-items-start', title: 'Align Start' },
7431
+ { id: 'ax-items-end', title: 'Align End' },
7432
+ { id: 'ax-items-center', title: 'Align Center' },
7433
+ { id: 'ax-items-baseline', title: 'Align Baseline' },
7434
+ { id: 'ax-items-stretch', title: 'Align Stretch' },
7435
+ ],
7436
+ },
7437
+ },
7438
+ },
7439
+ visible: true,
7440
+ };
7346
7441
 
7347
7442
  const AXPGridWidget = {
7348
- name: 'grid',
7443
+ name: 'grid-layout',
7349
7444
  title: 'Grid Layout',
7350
7445
  container: true,
7351
7446
  group: AXP_WIDGETS_LAYOUT_GROUP,
@@ -7359,7 +7454,7 @@ const AXPGridWidget = {
7359
7454
  component: () => Promise.resolve().then(function () { return gridWidgetView_component; }).then((c) => c.AXPGridWidgetViewComponent),
7360
7455
  },
7361
7456
  print: {
7362
- component: () => Promise.resolve().then(function () { return gridWidgetPrint_component; }).then((c) => c.AXPGridWidgetPrintComponent),
7457
+ component: () => Promise.resolve().then(function () { return gridWidgetView_component; }).then((c) => c.AXPGridWidgetViewComponent),
7363
7458
  },
7364
7459
  designer: {
7365
7460
  component: () => Promise.resolve().then(function () { return gridWidgetDesigner_component; }).then((c) => c.AXPGridWidgetDesignerComponent),
@@ -7388,7 +7483,7 @@ class AXPQrcodeWidgetViewComponent extends AXPWidgetComponent {
7388
7483
  >
7389
7484
  </ax-qrcode>
7390
7485
  }
7391
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: QrcodeModule }, { kind: "component", type: i1$6.AXQrcodeComponent, selector: "ax-qrcode", inputs: ["content", "size", "level", "color", "backgroundColor", "outputType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7486
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXQrcodeModule }, { kind: "component", type: i1$6.AXQrcodeComponent, selector: "ax-qrcode", inputs: ["content", "size", "level", "color", "backgroundColor", "outputType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7392
7487
  }
7393
7488
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPQrcodeWidgetViewComponent, decorators: [{
7394
7489
  type: Component,
@@ -7407,7 +7502,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7407
7502
  `,
7408
7503
  standalone: true,
7409
7504
  changeDetection: ChangeDetectionStrategy.OnPush,
7410
- imports: [CommonModule, QrcodeModule],
7505
+ imports: [CommonModule, AXQrcodeModule],
7411
7506
  }]
7412
7507
  }] });
7413
7508
 
@@ -7418,11 +7513,11 @@ var qrcodeWidgetView_component = /*#__PURE__*/Object.freeze({
7418
7513
 
7419
7514
  const AXPQrcodeWidget = {
7420
7515
  name: 'qrcode',
7421
- title: 'Qrcode',
7516
+ title: 'QR Code',
7422
7517
  group: AXP_WIDGETS_ADVANCE_GROUP,
7423
7518
  container: false,
7424
7519
  icon: 'fa-solid fa-qrcode',
7425
- description: 'Display and edit Qrcodes',
7520
+ description: 'Display and edit QR Codes',
7426
7521
  properties: [
7427
7522
  AXP_NAME_PROPERTY,
7428
7523
  AXP_DATA_PATH_PROPERTY,
@@ -7476,6 +7571,168 @@ const AXPQrcodeWidget = {
7476
7571
  },
7477
7572
  };
7478
7573
 
7574
+ class AXPGridItemWidgetViewComponent extends AXPWidgetComponent {
7575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPGridItemWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7577
+ }
7578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetViewComponent, decorators: [{
7579
+ type: Component,
7580
+ args: [{
7581
+ template: ``,
7582
+ standalone: true,
7583
+ changeDetection: ChangeDetectionStrategy.OnPush,
7584
+ imports: [CommonModule]
7585
+ }]
7586
+ }] });
7587
+
7588
+ var gridItemWidgetView_component = /*#__PURE__*/Object.freeze({
7589
+ __proto__: null,
7590
+ AXPGridItemWidgetViewComponent: AXPGridItemWidgetViewComponent
7591
+ });
7592
+
7593
+ class AXPGridItemWidgetPrintComponent extends AXPWidgetComponent {
7594
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7595
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPGridItemWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7596
+ }
7597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetPrintComponent, decorators: [{
7598
+ type: Component,
7599
+ args: [{
7600
+ template: ``,
7601
+ standalone: true,
7602
+ changeDetection: ChangeDetectionStrategy.OnPush,
7603
+ imports: [CommonModule],
7604
+ inputs: []
7605
+ }]
7606
+ }] });
7607
+
7608
+ class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent {
7609
+ constructor() {
7610
+ super(...arguments);
7611
+ this.designerService = inject(AXPDesignerService);
7612
+ this.colSpan = computed(() => this.options()["colSpan"]);
7613
+ this.colStart = computed(() => this.options()["colStart"]);
7614
+ this.colEnd = computed(() => this.options()["colEnd"]);
7615
+ this.flexAlign = computed(() => this.options()["flexAlign"]?.id);
7616
+ this.flexJustify = computed(() => this.options()["flexJustify"]?.id);
7617
+ this.outerClass = computed(() => {
7618
+ const cls = {};
7619
+ //
7620
+ cls[`!ax-flex`] = true;
7621
+ cls[`ax-flex-1`] = true;
7622
+ if (this.flexAlign()) {
7623
+ cls[this.flexAlign()] = true;
7624
+ }
7625
+ if (this.flexJustify()) {
7626
+ cls[this.flexJustify()] = true;
7627
+ }
7628
+ //
7629
+ cls[`ax-col-span-12`] = true;
7630
+ if (this.colSpan() != null) {
7631
+ cls[`lg:ax-col-span-${this.colSpan()}`] = true;
7632
+ }
7633
+ else {
7634
+ cls[`lg:ax-col-span-1`] = true;
7635
+ }
7636
+ //
7637
+ if (this.colStart() != null) {
7638
+ cls[`lg:ax-col-start-${this.colStart()}`] = true;
7639
+ }
7640
+ //
7641
+ if (this.colEnd() != null) {
7642
+ cls[`lg:ax-col-end-${this.colEnd()}`] = true;
7643
+ }
7644
+ return cls;
7645
+ });
7646
+ }
7647
+ async handleSlotClick() {
7648
+ await this.designerService.showPicker(this.node);
7649
+ }
7650
+ get __class() {
7651
+ return ['ax-flex-1'];
7652
+ }
7653
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7654
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridItemWidgetDesignerComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.__class" } }, providers: [
7655
+ {
7656
+ provide: AXPContainerWidgetComponent, useExisting: AXPGridItemWidgetDesignerComponent
7657
+ }
7658
+ ], usesInheritance: true, ngImport: i0, template: `
7659
+ @for (node of children(); track $index) {
7660
+ <axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-designer-renderer>
7661
+ }
7662
+ @empty {
7663
+ <div class="axp-empty-space ax-flex ax-justify-center ax-items-center" >
7664
+ <div class="ax-m-auto ax-p-4 ax-text-primary-500 hover:ax-text-primary-800" (click)="handleSlotClick()">
7665
+ <i class="fa-solid fa-plus "></i>
7666
+ </div>
7667
+ </div>
7668
+ }
7669
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPWidgetDesignerRendererComponent, selector: "axp-widget-designer-renderer", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7670
+ }
7671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetDesignerComponent, decorators: [{
7672
+ type: Component,
7673
+ args: [{
7674
+ template: `
7675
+ @for (node of children(); track $index) {
7676
+ <axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-designer-renderer>
7677
+ }
7678
+ @empty {
7679
+ <div class="axp-empty-space ax-flex ax-justify-center ax-items-center" >
7680
+ <div class="ax-m-auto ax-p-4 ax-text-primary-500 hover:ax-text-primary-800" (click)="handleSlotClick()">
7681
+ <i class="fa-solid fa-plus "></i>
7682
+ </div>
7683
+ </div>
7684
+ }
7685
+ `,
7686
+ standalone: true,
7687
+ changeDetection: ChangeDetectionStrategy.OnPush,
7688
+ imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererComponent, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],
7689
+ providers: [
7690
+ {
7691
+ provide: AXPContainerWidgetComponent, useExisting: AXPGridItemWidgetDesignerComponent
7692
+ }
7693
+ ]
7694
+ }]
7695
+ }], propDecorators: { __class: [{
7696
+ type: HostBinding,
7697
+ args: ['class']
7698
+ }] } });
7699
+
7700
+ var gridItemWidgetDesigner_component = /*#__PURE__*/Object.freeze({
7701
+ __proto__: null,
7702
+ AXPGridItemWidgetDesignerComponent: AXPGridItemWidgetDesignerComponent
7703
+ });
7704
+
7705
+ const AXPGridItemWidget = {
7706
+ name: 'grid-item-layout',
7707
+ title: 'Grid Item',
7708
+ container: true,
7709
+ visible: false,
7710
+ group: AXP_WIDGETS_LAYOUT_GROUP,
7711
+ icon: 'fa-solid fa-objects-column',
7712
+ properties: [
7713
+ AXP_NAME_PROPERTY,
7714
+ AXP_LAYOUT_COL_SPAN_PROPERTY,
7715
+ AXP_LAYOUT_COL_START_PROPERTY,
7716
+ AXP_LAYOUT_COL_END_PROPERTY,
7717
+ AXP_FLEX_ALIGN_PROPERTY,
7718
+ AXP_FLEX_JUSTIFY_PROPERTY,
7719
+ ],
7720
+ components: {
7721
+ view: {
7722
+ component: () => Promise.resolve().then(function () { return gridItemWidgetView_component; }).then((c) => c.AXPGridItemWidgetViewComponent),
7723
+ },
7724
+ edit: {
7725
+ component: () => Promise.resolve().then(function () { return gridItemWidgetView_component; }).then((c) => c.AXPGridItemWidgetViewComponent),
7726
+ },
7727
+ print: {
7728
+ component: () => Promise.resolve().then(function () { return gridItemWidgetView_component; }).then((c) => c.AXPGridItemWidgetViewComponent),
7729
+ },
7730
+ designer: {
7731
+ component: () => Promise.resolve().then(function () { return gridItemWidgetDesigner_component; }).then((c) => c.AXPGridItemWidgetDesignerComponent),
7732
+ },
7733
+ },
7734
+ };
7735
+
7479
7736
  class AXPWidgetsModule {
7480
7737
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7481
7738
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetsModule, imports: [i1$5.AXPLayoutBuilderModule] }); }
@@ -7489,6 +7746,7 @@ class AXPWidgetsModule {
7489
7746
  AXPTextBlockWidget,
7490
7747
  AXPFormFieldWidget,
7491
7748
  AXPGridWidget,
7749
+ AXPGridItemWidget,
7492
7750
  //
7493
7751
  AXPTextBoxWidget,
7494
7752
  AXPCheckBoxWidget,
@@ -7529,6 +7787,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7529
7787
  AXPTextBlockWidget,
7530
7788
  AXPFormFieldWidget,
7531
7789
  AXPGridWidget,
7790
+ AXPGridItemWidget,
7532
7791
  //
7533
7792
  AXPTextBoxWidget,
7534
7793
  AXPCheckBoxWidget,