@acorex/platform 19.2.9 → 19.2.11

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 (57) hide show
  1. package/common/lib/app/application.types.d.ts +3 -2
  2. package/common/lib/settings/settings.service.d.ts +1 -0
  3. package/common/lib/utils/expression-evaluator.service.d.ts +3 -1
  4. package/fesm2022/acorex-platform-common.mjs +49 -15
  5. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-layout-builder.mjs +25 -6
  7. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-designer.mjs +31 -12
  9. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-layout-entity.mjs +102 -86
  11. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  12. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BK8BItxL.mjs → acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs} +8 -4
  13. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Bvwr0PVk.mjs.map +1 -0
  14. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs → acorex-platform-themes-default-entity-master-list-view.component-7KY7G6qo.mjs} +9 -16
  15. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7KY7G6qo.mjs.map +1 -0
  16. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-U8aBv1Ql.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs} +8 -4
  17. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BAU_s90_.mjs.map +1 -0
  18. package/fesm2022/{acorex-platform-themes-default-setting-page.component-CN2NCgUv.mjs → acorex-platform-themes-default-setting-page.component-DYumYm5k.mjs} +3 -3
  19. package/fesm2022/{acorex-platform-themes-default-setting-page.component-CN2NCgUv.mjs.map → acorex-platform-themes-default-setting-page.component-DYumYm5k.mjs.map} +1 -1
  20. package/fesm2022/acorex-platform-themes-default.mjs +15 -16
  21. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-widgets.mjs +546 -341
  23. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  24. package/layout/builder/lib/builder/widget-column-renderer.d.ts +2 -1
  25. package/layout/builder/lib/builder/widget-map.d.ts +2 -0
  26. package/layout/builder/lib/builder/widget.types.d.ts +13 -0
  27. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +3 -0
  28. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +2 -1
  29. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -2
  30. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +4 -3
  31. package/layout/entity/lib/entity.viewmodel.d.ts +3 -0
  32. package/package.json +5 -5
  33. package/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.d.ts +2 -0
  34. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +2 -1
  35. package/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.d.ts +2 -0
  36. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +0 -1
  37. package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +6 -4
  38. package/widgets/lib/widgets/advance/file/file-box-widget-view.component.d.ts +9 -7
  39. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +21 -14
  40. package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +4 -12
  41. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget-edit.component.d.ts +42 -0
  42. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget.config.d.ts +7 -0
  43. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +21 -0
  44. package/widgets/lib/widgets/charts/gauge-chart/index.d.ts +2 -0
  45. package/widgets/lib/widgets/charts/sticky-note/index.d.ts +2 -0
  46. package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget-edit.component.d.ts +9 -0
  47. package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.config.d.ts +7 -0
  48. package/widgets/lib/widgets/editors/tabular-data/index.d.ts +3 -3
  49. package/widgets/lib/widgets/editors/tabular-data/{table-widget-column.component.d.ts → tabular-data-column.component.d.ts} +3 -3
  50. package/widgets/lib/widgets/editors/tabular-data/tabular-data-filter.component.d.ts +6 -0
  51. package/widgets/lib/widgets/editors/tabular-data/tabular-data-widget-edit.component.d.ts +3 -3
  52. package/widgets/lib/widgets/editors/tabular-data/{table-widget-print.component.d.ts → tabular-data-widget-print.component.d.ts} +3 -3
  53. package/widgets/lib/widgets/index.d.ts +2 -0
  54. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BK8BItxL.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs.map +0 -1
  56. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-U8aBv1Ql.mjs.map +0 -1
  57. package/widgets/lib/widgets/editors/tabular-data/table-widget-filter.component.d.ts +0 -6
@@ -1,5 +1,5 @@
1
1
  import * as i1$6 from '@acorex/platform/layout/builder';
2
- import { AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXPWidgetComponent, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPWidgetStatus, AXPPageStatus, AXP_WIDGETS_ADVANCE_GROUP, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP, AXP_WIDGETS_VALIDATION_GROUP, AXP_WIDGETS_CHART_GROUP, AXP_WIDGETS_FILTER_GROUP } from '@acorex/platform/layout/builder';
2
+ import { AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXPWidgetComponent, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, createNumberProperty, AXPDataListWidgetComponent, AXPWidgetStatus, AXPPageStatus, AXP_WIDGETS_ADVANCE_GROUP, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP, AXP_WIDGETS_VALIDATION_GROUP, AXP_WIDGETS_CHART_GROUP, AXP_WIDGETS_FILTER_GROUP } from '@acorex/platform/layout/builder';
3
3
  import { AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, AXDataSource } from '@acorex/components/common';
4
4
  import * as i1$2 from '@acorex/components/badge';
5
5
  import { AXBadgeModule } from '@acorex/components/badge';
@@ -22,7 +22,7 @@ import { AXLabelModule } from '@acorex/components/label';
22
22
  import { AXValidationModule, AXValidationService } from '@acorex/core/validation';
23
23
  import * as i2 from '@angular/forms';
24
24
  import { FormsModule } from '@angular/forms';
25
- import { AXPClipBoardService, AXPFileStorageService, ALL_DEFAULT_OPERATORS, DATE_OPERATORS, BOOLEAN_OPERATORS, NUMBER_OPERATORS, STRING_OPERATORS } from '@acorex/platform/common';
25
+ import { AXPClipBoardService, AXPFileStorageService, AXPDataGenerator, ALL_DEFAULT_OPERATORS, DATE_OPERATORS, BOOLEAN_OPERATORS, NUMBER_OPERATORS, STRING_OPERATORS } from '@acorex/platform/common';
26
26
  import { AXPopupService } from '@acorex/components/popup';
27
27
  import * as i3$2 from '@acorex/components/select-box';
28
28
  import { AXSelectBoxModule, AXSelectBoxComponent } from '@acorex/components/select-box';
@@ -107,7 +107,7 @@ const AXP_WIDGET_PROPERTY_GROUP = {
107
107
  const AXP_VALIDATION_PROPERTY_GROUP = {
108
108
  name: 'validation',
109
109
  order: 4,
110
- title: 'validation',
110
+ title: 'Validation',
111
111
  };
112
112
 
113
113
  const AXP_DATA_SOURCE_PROPERTY = {
@@ -3788,6 +3788,7 @@ const AXPNumberBoxWidget = {
3788
3788
  numberDefaultProperty(),
3789
3789
  numberMinValueProperty(),
3790
3790
  numberMaxValueProperty(),
3791
+ createNumberProperty({ defaultValue: 0, name: 'decimals', title: "Decimals", path: "options.decimals", group: AXP_BEHAVIOR_PROPERTY_GROUP }),
3791
3792
  cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),
3792
3793
  //
3793
3794
  AXP_REQUIRED_VALIDATION_PROPERTY,
@@ -4813,7 +4814,6 @@ const AXPRichTextWidget = {
4813
4814
  properties: [
4814
4815
  AXP_NAME_PROPERTY,
4815
4816
  AXP_DATA_PATH_PROPERTY,
4816
- AXP_ALLOW_MULTIPLE_PROPERTY,
4817
4817
  AXP_DISABLED_PROPERTY,
4818
4818
  AXP_PLACEHOLDER_PROPERTY,
4819
4819
  //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),
@@ -5723,11 +5723,11 @@ var textBoxWidgetEdit_component = /*#__PURE__*/Object.freeze({
5723
5723
  AXPTextBoxWidgetEditComponent: AXPTextBoxWidgetEditComponent
5724
5724
  });
5725
5725
 
5726
- let AXPTextBoxWidgetFilterComponent$1 = class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
5726
+ class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
5727
5727
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5728
5728
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTextBoxWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5729
- };
5730
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent$1, decorators: [{
5729
+ }
5730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, decorators: [{
5731
5731
  type: Component,
5732
5732
  args: [{
5733
5733
  template: ``,
@@ -5739,7 +5739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5739
5739
 
5740
5740
  var textBoxWidgetFilter_component = /*#__PURE__*/Object.freeze({
5741
5741
  __proto__: null,
5742
- AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent$1
5742
+ AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent
5743
5743
  });
5744
5744
 
5745
5745
  class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
@@ -6346,29 +6346,36 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6346
6346
  return [];
6347
6347
  return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}];
6348
6348
  });
6349
+ this.files = signal([]);
6349
6350
  this.markedListAsCommitted = null;
6350
6351
  this.markedListAsDeleted = null;
6351
- this.#effect2 = effect(async () => {
6352
- const status = this.layoutService.status();
6353
- if (status == AXPPageStatus.Submitted) {
6354
- if (this.markedListAsCommitted) {
6355
- for (const fileId of this.markedListAsCommitted) {
6356
- await this.fileStorage.commit(fileId);
6357
- }
6358
- this.markedListAsCommitted = null;
6352
+ }
6353
+ async ngOnDestroy() {
6354
+ const status = this.layoutService.status();
6355
+ if (status == AXPPageStatus.Submitted) {
6356
+ if (this.markedListAsCommitted) {
6357
+ for (const fileId of this.markedListAsCommitted) {
6358
+ await this.fileStorage.commit(fileId);
6359
6359
  }
6360
- if (this.markedListAsDeleted) {
6361
- for (const fileId of this.markedListAsDeleted) {
6362
- await this.fileStorage.markForDeletion(fileId);
6363
- }
6364
- this.markedListAsDeleted = null;
6360
+ this.markedListAsCommitted = null;
6361
+ }
6362
+ if (this.markedListAsDeleted) {
6363
+ for (const fileId of this.markedListAsDeleted) {
6364
+ await this.fileStorage.markForDeletion(fileId);
6365
6365
  }
6366
+ this.markedListAsDeleted = null;
6366
6367
  }
6367
- });
6368
+ }
6369
+ }
6370
+ handleOnFileRemove(file) {
6371
+ debugger;
6372
+ this.files.update((files) => files.filter((f) => f !== file));
6368
6373
  }
6369
- #effect2;
6370
6374
  handleOnFileUploadComplete(e) { }
6371
- handleOnFilesUploadComplete(e) { }
6375
+ handleOnFilesUploadComplete(e) {
6376
+ this.files.set(e.uploadedFiles);
6377
+ console.log(e.uploadedFiles[0].onComplete);
6378
+ }
6372
6379
  async handleChanged(e) {
6373
6380
  const results = [];
6374
6381
  for (var i = 0; i < e.requests.length; i++) {
@@ -6379,7 +6386,9 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6379
6386
  refType: this.refType(),
6380
6387
  isPrimary: true,
6381
6388
  }));
6382
- e.requests[i].finish();
6389
+ e.requests[i].finish({
6390
+ id: results[i].fileId,
6391
+ });
6383
6392
  }
6384
6393
  if (!this.multiple()) {
6385
6394
  this.setValue(results[0].fileId);
@@ -6394,45 +6403,45 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6394
6403
  const extension = fileName?.split('.')?.pop()?.toLowerCase();
6395
6404
  switch (extension) {
6396
6405
  case 'txt':
6397
- return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };
6406
+ return { icon: ' far fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };
6398
6407
  case 'pdf':
6399
- return { icon: 'fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };
6408
+ return { icon: ' far fa-file-pdf', color: 'ax-bg-red-100 ax-text-red-500' };
6400
6409
  case 'doc':
6401
6410
  case 'docx':
6402
- return { icon: 'fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };
6411
+ return { icon: ' far fa-file-word', color: 'ax-bg-blue-200 ax-text-blue-600' };
6403
6412
  case 'xls':
6404
6413
  case 'xlsx':
6405
- return { icon: 'fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };
6414
+ return { icon: ' far fa-file-excel', color: 'ax-bg-green-100 ax-text-green-500' };
6406
6415
  case 'ppt':
6407
6416
  case 'pptx':
6408
- return { icon: 'fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };
6417
+ return { icon: ' far fa-file-powerpoint', color: 'ax-bg-orange-100 ax-text-orange-500' };
6409
6418
  case 'jpg':
6410
6419
  case 'jpeg':
6411
6420
  case 'png':
6412
6421
  case 'gif':
6413
6422
  case 'bmp':
6414
- return { icon: 'fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };
6423
+ return { icon: ' far fa-file-image', color: 'ax-bg-purple-100 ax-text-purple-500' };
6415
6424
  case 'zip':
6416
6425
  case 'rar':
6417
6426
  case '7z':
6418
- return { icon: 'fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
6427
+ return { icon: ' far fa-file-archive', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
6419
6428
  case 'mp3':
6420
6429
  case 'wav':
6421
6430
  case 'ogg':
6422
- return { icon: 'fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };
6431
+ return { icon: ' far fa-file-audio', color: 'ax-bg-pink-100 ax-text-pink-500' };
6423
6432
  case 'mp4':
6424
6433
  case 'avi':
6425
6434
  case 'mkv':
6426
6435
  case 'mov':
6427
- return { icon: 'fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };
6436
+ return { icon: ' far fa-file-video', color: 'ax-bg-blue-100 ax-text-blue-500' };
6428
6437
  case 'js':
6429
6438
  case 'jsx':
6430
6439
  case 'ts':
6431
6440
  case 'tsx':
6432
- return { icon: 'fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
6441
+ return { icon: ' far fa-file-code', color: 'ax-bg-yellow-100 ax-text-yellow-500' };
6433
6442
  // Add more cases as needed for other file types
6434
6443
  default:
6435
- return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };
6444
+ return { icon: ' far fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };
6436
6445
  }
6437
6446
  }
6438
6447
  get __class() {
@@ -6442,7 +6451,7 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6442
6451
  return cls;
6443
6452
  }
6444
6453
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPFileBoxWidgetEditComponent, isStandalone: true, selector: "axp-file-widget-edit", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
6454
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFileBoxWidgetEditComponent, isStandalone: true, selector: "axp-file-widget-edit", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
6446
6455
  <div class="ax-grid ax-grid-cols-12">
6447
6456
  <div class="ax-col-span-12">
6448
6457
  <ax-uploader-drop-zone
@@ -6456,7 +6465,17 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6456
6465
  ></ax-uploader-drop-zone>
6457
6466
  </div>
6458
6467
  </div>
6459
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXUploaderModule }, { kind: "component", type: i5$3.AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", inputs: ["description"] }, { kind: "directive", type: i5$3.AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple", "accept"], outputs: ["onChanged", "onFileUploadComplete", "onFilesUploadComplete"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6468
+ @for(file of files(); track $index){
6469
+ <div class="ax-grid ax-mt-10 ax-grid-cols-12 ax-gap-1 ax-px-4">
6470
+ <ax-icon class="{{ getFileInfo(file.file.name).icon }} {{ getFileInfo(file.file.name).color }}"></ax-icon>
6471
+ <ax-text class="ax-col-span-10" [textContent]="file.file.name"></ax-text>
6472
+ <div>
6473
+ <ax-icon class="fa-light fa-download ax-px-2"></ax-icon>
6474
+ <ax-icon (click)="handleOnFileRemove(file)" class="fa-light fa-xmark"></ax-icon>
6475
+ </div>
6476
+ </div>
6477
+ }
6478
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXUploaderModule }, { kind: "component", type: i5$3.AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", inputs: ["description"] }, { kind: "directive", type: i5$3.AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple", "accept"], outputs: ["onChanged", "onFileUploadComplete", "onFilesUploadComplete"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6460
6479
  }
6461
6480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetEditComponent, decorators: [{
6462
6481
  type: Component,
@@ -6476,6 +6495,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6476
6495
  ></ax-uploader-drop-zone>
6477
6496
  </div>
6478
6497
  </div>
6498
+ @for(file of files(); track $index){
6499
+ <div class="ax-grid ax-mt-10 ax-grid-cols-12 ax-gap-1 ax-px-4">
6500
+ <ax-icon class="{{ getFileInfo(file.file.name).icon }} {{ getFileInfo(file.file.name).color }}"></ax-icon>
6501
+ <ax-text class="ax-col-span-10" [textContent]="file.file.name"></ax-text>
6502
+ <div>
6503
+ <ax-icon class="fa-light fa-download ax-px-2"></ax-icon>
6504
+ <ax-icon (click)="handleOnFileRemove(file)" class="fa-light fa-xmark"></ax-icon>
6505
+ </div>
6506
+ </div>
6507
+ }
6479
6508
  `,
6480
6509
  changeDetection: ChangeDetectionStrategy.OnPush,
6481
6510
  imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXUploaderModule],
@@ -6529,24 +6558,21 @@ var fileBoxWidgetPrint_component = /*#__PURE__*/Object.freeze({
6529
6558
  AXPFileBoxWidgetPrintComponent: AXPFileBoxWidgetPrintComponent
6530
6559
  });
6531
6560
 
6532
- class AXPFileManagementService {
6533
- }
6534
-
6535
6561
  class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6536
6562
  constructor() {
6537
6563
  super(...arguments);
6538
- this.fileService = inject(AXPFileManagementService);
6564
+ this.fileStorageService = inject(AXPFileStorageService);
6539
6565
  this.loadingDialog = inject(AXLoadingDialogService);
6540
6566
  this.translateService = inject(AXTranslationService);
6541
6567
  this.multiple = computed(() => this.options()['multiple']);
6542
6568
  this.downloadable = computed(() => this.options()['downloadable']);
6543
- this.internalValue = computed(() => {
6544
- if (!this.getValue())
6545
- return [];
6546
- return Array.isArray(this.getValue()) ? this.getValue().map((item) => this.extractItem(item)) : [this.extractItem(this.getValue())];
6547
- });
6569
+ this.internalValue = signal([]);
6548
6570
  this.downloadSubscription = new Subscription();
6549
6571
  }
6572
+ ngOnInit() {
6573
+ this.updateInternalValue();
6574
+ super.ngOnInit();
6575
+ }
6550
6576
  async handleDownload(item) {
6551
6577
  const d = this.loadingDialog.show({
6552
6578
  title: await this.translateService.translateAsync('downloader.dialog.downloading'), // Downloading File
@@ -6565,23 +6591,6 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6565
6591
  },
6566
6592
  ],
6567
6593
  });
6568
- this.downloadSubscription = this.fileService.get(item.value, item.name || 'download').subscribe((event) => {
6569
- d.setProgressText(event.status);
6570
- d.setProgressStatus(`${event.progress}%`);
6571
- d.setProgressValue(event.progress);
6572
- if (event.progress === 100) {
6573
- this.triggerDownload(event.data, item.name);
6574
- setTimeout(() => {
6575
- d.close();
6576
- }, 1000);
6577
- }
6578
- }, async (error) => {
6579
- d.setProgressText(error.statusText);
6580
- d.setProgressStatus(await this.translateService.translateSync('downloader.dialog.downloadFailed')); //Downloading Failed
6581
- setTimeout(() => {
6582
- d.close();
6583
- }, 1000);
6584
- });
6585
6594
  }
6586
6595
  cancelDownload() {
6587
6596
  this.downloadSubscription.unsubscribe();
@@ -6596,8 +6605,7 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6596
6605
  document.body.removeChild(link);
6597
6606
  URL.revokeObjectURL(url);
6598
6607
  }
6599
- getFileInfo(fileName) {
6600
- const extension = fileName.split('.').pop()?.toLowerCase();
6608
+ getFileInfo(extension) {
6601
6609
  switch (extension) {
6602
6610
  case 'txt':
6603
6611
  return { icon: 'fa-file-alt', color: 'ax-bg-blue-100 ax-text-blue-500' };
@@ -6641,28 +6649,33 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6641
6649
  return { icon: 'fa-file', color: 'ax-bg-gray-100 ax-text-gray-500' };
6642
6650
  }
6643
6651
  }
6644
- extractItem(item) {
6645
- return typeof item == 'object'
6646
- ? {
6647
- name: item.name,
6648
- type: item.type ?? 'Unknown',
6649
- value: item.value,
6650
- size: item.size || '-',
6652
+ async updateInternalValue() {
6653
+ if (!this.getValue()) {
6654
+ this.internalValue.set([]);
6655
+ }
6656
+ else {
6657
+ if (Array.isArray(this.getValue())) {
6658
+ this.internalValue.set(await Promise.all(this.getValue().map(async (item) => await this.fileStorageService.getInfo(item))));
6651
6659
  }
6652
- : {
6653
- name: item || '',
6654
- type: 'Unknown',
6655
- value: item || '',
6656
- size: '-',
6657
- };
6660
+ else {
6661
+ this.internalValue.set([await this.fileStorageService.getInfo(this.getValue())]);
6662
+ }
6663
+ }
6664
+ console.log(this.internalValue());
6665
+ console.log(this.getValue());
6658
6666
  }
6659
6667
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6660
6668
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFileBoxWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
6661
6669
  <div class="ax-grid ax-grid-cols-12 ax-gap-2">
6662
- @if(multiple()){ @for(item of internalValue();let first=$first;track item.name) {
6670
+ @if (multiple()) { @for (item of internalValue(); track item.fileId) {
6663
6671
  <ng-template [ngTemplateOutlet]="itemTemplate" ] [ngTemplateOutletContext]="{ data: item }" ]></ng-template>
6664
- } }@else {
6665
- <ng-template [ngTemplateOutlet]="itemTemplate" ] [ngTemplateOutletContext]="{ data: internalValue()[0] }" ]></ng-template>
6672
+ } } @else {
6673
+ <ng-template
6674
+ [ngTemplateOutlet]="itemTemplate"
6675
+ ]
6676
+ [ngTemplateOutletContext]="{ data: internalValue()[0] }"
6677
+ ]
6678
+ ></ng-template>
6666
6679
  }
6667
6680
  <ng-template #itemTemplate let-item="data">
6668
6681
  <div
@@ -6670,18 +6683,25 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6670
6683
  class="ax-flex ax-items-center ax-justify-between ax-p-2 ax-border ax-rounded-lg ax-bg-surface ax-col-start-1 ax-col-end-13"
6671
6684
  >
6672
6685
  <div class="ax-flex ax-items-center ax-gap-3">
6673
- <ng-container *ngIf="getFileInfo(item.name) as fileInfo">
6674
- <div class="ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center" [ngClass]="[fileInfo.color]">
6686
+ <ng-container *ngIf="getFileInfo(item.mimeType) as fileInfo">
6687
+ <div
6688
+ class="ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center"
6689
+ [ngClass]="[fileInfo.color]"
6690
+ >
6675
6691
  <i [ngClass]="['fa-solid', 'ax-text-xl', fileInfo.icon]"></i>
6676
6692
  </div>
6677
6693
  </ng-container>
6678
6694
  <div>
6679
- <div class="ax-leading-6">{{ item.name }}</div>
6695
+ <div class="ax-leading-6">{{ item.fileId }}</div>
6680
6696
  <p class="ax-text-sm ax-text-neutral-400">{{ item.size }}</p>
6681
6697
  </div>
6682
6698
  </div>
6683
- @if(downloadable()){
6684
- <ax-button (onClick)="handleDownload(item)" look="blank" color="ghost" class="!ax-text-neutral-400 hover:!ax-text-neutral-600">
6699
+ @if (downloadable()) {
6700
+ <ax-button
6701
+ (onClick)="handleDownload(item)"
6702
+ look="blank"
6703
+ class="!ax-text-neutral-400 hover:!ax-text-neutral-600"
6704
+ >
6685
6705
  <ax-icon>
6686
6706
  <i class="fa-solid fa-download"></i>
6687
6707
  </ax-icon>
@@ -6697,10 +6717,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6697
6717
  args: [{
6698
6718
  template: `
6699
6719
  <div class="ax-grid ax-grid-cols-12 ax-gap-2">
6700
- @if(multiple()){ @for(item of internalValue();let first=$first;track item.name) {
6720
+ @if (multiple()) { @for (item of internalValue(); track item.fileId) {
6701
6721
  <ng-template [ngTemplateOutlet]="itemTemplate" ] [ngTemplateOutletContext]="{ data: item }" ]></ng-template>
6702
- } }@else {
6703
- <ng-template [ngTemplateOutlet]="itemTemplate" ] [ngTemplateOutletContext]="{ data: internalValue()[0] }" ]></ng-template>
6722
+ } } @else {
6723
+ <ng-template
6724
+ [ngTemplateOutlet]="itemTemplate"
6725
+ ]
6726
+ [ngTemplateOutletContext]="{ data: internalValue()[0] }"
6727
+ ]
6728
+ ></ng-template>
6704
6729
  }
6705
6730
  <ng-template #itemTemplate let-item="data">
6706
6731
  <div
@@ -6708,18 +6733,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6708
6733
  class="ax-flex ax-items-center ax-justify-between ax-p-2 ax-border ax-rounded-lg ax-bg-surface ax-col-start-1 ax-col-end-13"
6709
6734
  >
6710
6735
  <div class="ax-flex ax-items-center ax-gap-3">
6711
- <ng-container *ngIf="getFileInfo(item.name) as fileInfo">
6712
- <div class="ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center" [ngClass]="[fileInfo.color]">
6736
+ <ng-container *ngIf="getFileInfo(item.mimeType) as fileInfo">
6737
+ <div
6738
+ class="ax-w-10 ax-h-10 ax-rounded-lg ax-flex ax-items-center ax-justify-center"
6739
+ [ngClass]="[fileInfo.color]"
6740
+ >
6713
6741
  <i [ngClass]="['fa-solid', 'ax-text-xl', fileInfo.icon]"></i>
6714
6742
  </div>
6715
6743
  </ng-container>
6716
6744
  <div>
6717
- <div class="ax-leading-6">{{ item.name }}</div>
6745
+ <div class="ax-leading-6">{{ item.fileId }}</div>
6718
6746
  <p class="ax-text-sm ax-text-neutral-400">{{ item.size }}</p>
6719
6747
  </div>
6720
6748
  </div>
6721
- @if(downloadable()){
6722
- <ax-button (onClick)="handleDownload(item)" look="blank" color="ghost" class="!ax-text-neutral-400 hover:!ax-text-neutral-600">
6749
+ @if (downloadable()) {
6750
+ <ax-button
6751
+ (onClick)="handleDownload(item)"
6752
+ look="blank"
6753
+ class="!ax-text-neutral-400 hover:!ax-text-neutral-600"
6754
+ >
6723
6755
  <ax-icon>
6724
6756
  <i class="fa-solid fa-download"></i>
6725
6757
  </ax-icon>
@@ -6731,7 +6763,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6731
6763
  `,
6732
6764
  changeDetection: ChangeDetectionStrategy.OnPush,
6733
6765
  imports: [CommonModule, AXButtonModule, AXDecoratorModule],
6734
- inputs: []
6766
+ inputs: [],
6735
6767
  }]
6736
6768
  }] });
6737
6769
 
@@ -6790,6 +6822,9 @@ const AXPFileBoxWidget = {
6790
6822
  },
6791
6823
  };
6792
6824
 
6825
+ class AXPFileManagementService {
6826
+ }
6827
+
6793
6828
  class AXPGalleryWidgetViewComponent extends AXPWidgetComponent {
6794
6829
  constructor() {
6795
6830
  super(...arguments);
@@ -7407,6 +7442,7 @@ const AXPMapBoxWidget = {
7407
7442
  options: {
7408
7443
  minValue: -90,
7409
7444
  maxValue: 90,
7445
+ decimals: 5
7410
7446
  },
7411
7447
  },
7412
7448
  },
@@ -7426,6 +7462,7 @@ const AXPMapBoxWidget = {
7426
7462
  options: {
7427
7463
  minValue: -180,
7428
7464
  maxValue: 180,
7465
+ decimals: 5
7429
7466
  },
7430
7467
  },
7431
7468
  },
@@ -11581,19 +11618,27 @@ class AXPBarChartWidgetEditComponent extends AXPWidgetComponent {
11581
11618
  this.chartEl = viewChild.required('chart');
11582
11619
  this.data = linkedSignal(() => this.getValue());
11583
11620
  this.isRendered = false;
11621
+ // Constants
11622
+ this.DEFAULT_COLOR = 'steelblue';
11623
+ this.DEFAULT_MARGIN = { top: 10, right: 0, bottom: 20, left: 20 };
11624
+ this.BAR_TRANSITION_DELAY = 10;
11625
+ // After the next render, load D3, create the chart, and mark rendering complete
11584
11626
  this.#af = afterNextRender(async () => {
11585
11627
  await this.loadD3();
11586
- this.initializeChart();
11628
+ this.createChart();
11587
11629
  this.isRendered = true;
11630
+ //(window as any).chart = this; // Debug purpose only
11588
11631
  });
11632
+ // Reactively update the chart when the data signal changes
11589
11633
  this.#eff = effect(() => {
11590
- this.data();
11591
- if (this.isRendered) {
11634
+ if (this.isRendered && this.data()) {
11592
11635
  this.updateChart(this.data());
11593
11636
  }
11594
11637
  });
11595
11638
  }
11639
+ // After the next render, load D3, create the chart, and mark rendering complete
11596
11640
  #af;
11641
+ // Reactively update the chart when the data signal changes
11597
11642
  #eff;
11598
11643
  async loadD3() {
11599
11644
  try {
@@ -11603,226 +11648,99 @@ class AXPBarChartWidgetEditComponent extends AXPWidgetComponent {
11603
11648
  console.error('Failed to load D3.js:', error);
11604
11649
  }
11605
11650
  }
11606
- initializeChart() {
11607
- const chartValue = this.data();
11608
- const { width, height, margin } = this.getChartDimensions(chartValue.options);
11609
- // Clear existing SVG if it exists
11610
- if (this.svg) {
11611
- this.svg.selectAll('*').remove();
11612
- }
11613
- // Create SVG
11614
- this.svg = this.d3.select(this.chartEl().nativeElement).append('svg').attr('width', width).attr('height', height);
11615
- this.drawChart(chartValue);
11616
- }
11617
- drawChart(chartValue) {
11618
- const { data, options } = chartValue;
11619
- const { width, height, margin } = this.getChartDimensions(options);
11620
- const x = this.createXScale(data, width, margin);
11621
- const y = this.createYScale(data, height, margin);
11622
- this.drawBars(data, x, y, height, margin, options);
11623
- this.drawAxes(x, y, height, margin, options);
11624
- if (options.enableTooltip) {
11625
- this.addTooltips(data, x, y, options);
11626
- }
11627
- if (options.enableLegend) {
11628
- this.addLegend(data, width, height, margin, options);
11629
- }
11630
- if (options.enableExport) {
11631
- this.addExportButton();
11632
- }
11633
- }
11634
- updateChart(chartValue) {
11635
- const { data, options } = chartValue;
11636
- // Clear existing chart content
11637
- this.svg.selectAll('*').remove();
11638
- // Re-render chart with new options
11639
- this.drawChart(chartValue);
11640
- }
11641
- getChartDimensions(options) {
11642
- const baseWidth = options.width || 400;
11643
- const baseHeight = options.height || 200;
11644
- const margin = options.margin || { top: 20, right: 20, bottom: 30, left: 40 };
11645
- // Reserve space for legend
11646
- const legendSpace = 100; // 100px reserved for legend
11647
- let width = baseWidth;
11648
- let height = baseHeight;
11649
- if (options.enableLegend) {
11650
- switch (options.legendPosition) {
11651
- case 'top-right':
11652
- case 'top-left':
11653
- height -= legendSpace; // Reserve space at the top
11654
- margin.top += legendSpace;
11655
- break;
11656
- case 'bottom-right':
11657
- case 'bottom-left':
11658
- height -= legendSpace; // Reserve space at the bottom
11659
- margin.bottom += legendSpace;
11660
- break;
11661
- }
11662
- }
11663
- return { width, height, margin };
11664
- }
11665
- createXScale(data, width, margin) {
11666
- return this.d3
11667
- .scaleBand()
11668
- .domain(data.map((d) => d.name))
11669
- .range([margin.left, width - margin.right])
11670
- .padding(0.1);
11671
- }
11672
- createYScale(data, height, margin) {
11673
- return this.d3
11674
- .scaleLinear()
11675
- .domain([0, this.d3.max(data, (d) => d.value)])
11676
- .nice()
11677
- .range([height - margin.bottom, margin.top]);
11678
- }
11679
- drawBars(data, x, y, height, margin, options) {
11680
- this.svg
11681
- .selectAll('rect')
11682
- .data(data)
11683
- .enter()
11684
- .append('rect')
11685
- .attr('x', (d) => x(d.name) || 0)
11686
- .attr('y', height - margin.bottom)
11687
- .attr('width', x.bandwidth())
11688
- .attr('height', 0)
11689
- .attr('fill', (d) => d.color || options.color || 'teal')
11690
- .transition()
11691
- .duration(500)
11692
- .attr('y', (d) => y(d.value))
11693
- .attr('height', (d) => y(0) - y(d.value));
11694
- }
11695
- drawAxes(x, y, height, margin, options) {
11696
- const axisColor = options.axisColor || '#000';
11697
- const axisFontSize = options.axisFontSize || 12;
11698
- // Draw X axis
11699
- this.svg
11651
+ createChart(dataValue = this.data()) {
11652
+ const element = this.chartEl().nativeElement;
11653
+ this.margin = {
11654
+ top: (dataValue?.options?.margin?.top ?? 0) + this.DEFAULT_MARGIN.top,
11655
+ bottom: (dataValue?.options?.margin?.bottom ?? 0) + this.DEFAULT_MARGIN.bottom,
11656
+ left: (dataValue?.options?.margin?.left ?? 0) + this.DEFAULT_MARGIN.left,
11657
+ right: (dataValue?.options?.margin?.right ?? 0) + this.DEFAULT_MARGIN.right,
11658
+ };
11659
+ this.width = (dataValue?.options?.width ?? element.offsetWidth) - (this.margin.left + this.margin.right);
11660
+ this.height = (dataValue?.options?.height ?? element.offsetHeight) - (this.margin.top + this.margin.bottom);
11661
+ this.initializeSVG(element);
11662
+ this.initializeScales(dataValue);
11663
+ this.initializeAxes();
11664
+ this.updateChart();
11665
+ }
11666
+ initializeSVG(element) {
11667
+ this.svg = this.d3
11668
+ .select(element)
11669
+ .append('svg')
11670
+ .attr('width', this.width + this.margin.left + this.margin.right)
11671
+ .attr('height', this.height + this.margin.top + this.margin.bottom);
11672
+ this.chart = this.svg
11700
11673
  .append('g')
11701
- .attr('class', 'x-axis')
11702
- .attr('transform', `translate(0,${height - margin.bottom})`)
11703
- .call(this.d3.axisBottom(x).tickSizeOuter(0))
11704
- .attr('color', axisColor)
11705
- .style('font-size', `${axisFontSize}px`);
11706
- // Draw Y axis
11707
- this.svg
11674
+ .attr('class', 'axp-bar-chart-bars')
11675
+ .attr('transform', `translate(${this.margin.left}, ${this.margin.top})`);
11676
+ }
11677
+ initializeScales(dataValue) {
11678
+ const xDomain = dataValue.data.map((d) => d.label);
11679
+ const yDomain = [0, this.d3.max(dataValue.data, (d) => d.value) ?? 100];
11680
+ this.xScale = this.d3.scaleBand().padding(0.1).domain(xDomain).rangeRound([0, this.width]);
11681
+ this.yScale = this.d3.scaleLinear().domain(yDomain).range([this.height, 0]);
11682
+ this.colors = this.createColorScale(dataValue);
11683
+ }
11684
+ createColorScale(dataValue) {
11685
+ const { data, options } = dataValue;
11686
+ const colors = options.color || [this.DEFAULT_COLOR];
11687
+ const domain = data.length === 1 ? [0, data.length - 1] : data.map((_, i) => (i / (data.length - 1)) * (data.length - 1));
11688
+ const range = !Array.isArray(colors) ? [colors, colors] : [colors[0], colors[colors.length - 1]];
11689
+ return this.d3.scaleLinear().domain(domain).range(range);
11690
+ }
11691
+ initializeAxes() {
11692
+ this.xAxis = this.chart
11708
11693
  .append('g')
11709
- .attr('class', 'y-axis')
11710
- .attr('transform', `translate(${margin.left},0)`)
11711
- .call(this.d3.axisLeft(y))
11712
- .attr('color', axisColor)
11713
- .style('font-size', `${axisFontSize}px`);
11714
- }
11715
- addTooltips(data, x, y, options) {
11716
- this.tooltip = this.svg.append('g').attr('class', 'tooltip').style('opacity', 0);
11717
- this.tooltip
11718
- .append('rect')
11719
- .attr('width', 80)
11720
- .attr('height', 30)
11721
- .attr('fill', options.tooltipBackground || '#fff')
11722
- .attr('rx', 4)
11723
- .attr('ry', 4);
11724
- this.tooltip
11725
- .append('text')
11726
- .attr('x', 40)
11727
- .attr('y', 20)
11728
- .attr('text-anchor', 'middle')
11729
- .attr('fill', options.tooltipTextColor || '#000')
11730
- .style('font-size', '11px');
11731
- this.svg
11732
- .selectAll('rect')
11733
- .on('mouseover', (event, d) => {
11734
- const barX = x(d.name) || 0;
11735
- const barY = y(d.value);
11736
- this.tooltip.style('opacity', 1).attr('transform', `translate(${barX + x.bandwidth() / 2 - 40},${barY - 40})`);
11737
- this.tooltip.select('text').text(`${d.name}: ${d.value}`);
11738
- })
11739
- .on('mouseout', () => {
11740
- this.tooltip.style('opacity', 0);
11741
- });
11742
- }
11743
- addLegend(data, width, height, margin, options) {
11744
- const legendPosition = options.legendPosition || 'top-right';
11745
- const legend = this.svg.append('g').attr('class', 'legend');
11746
- const legendItems = legend
11747
- .selectAll('.legend-item')
11748
- .data(data)
11694
+ .attr('class', 'axp-bar-chart-axis-x')
11695
+ .attr('transform', `translate(0, ${this.height})`)
11696
+ .call(this.d3.axisBottom(this.xScale));
11697
+ this.yAxis = this.chart.append('g').attr('class', 'axp-bar-chart-axis-y').call(this.d3.axisLeft(this.yScale));
11698
+ }
11699
+ updateChart(dataValue = this.data()) {
11700
+ this.updateScales(dataValue);
11701
+ this.updateAxes();
11702
+ this.updateBars(dataValue);
11703
+ }
11704
+ updateScales(dataValue) {
11705
+ this.xScale.domain(dataValue.data.map((d) => d.label));
11706
+ this.yScale.domain([0, this.d3.max(dataValue.data, (d) => d.value) ?? 100]);
11707
+ this.colors.domain([0, dataValue.data.length]);
11708
+ }
11709
+ updateAxes() {
11710
+ this.xAxis.transition().call(this.d3.axisBottom(this.xScale));
11711
+ this.yAxis.transition().call(this.d3.axisLeft(this.yScale));
11712
+ }
11713
+ updateBars(dataValue) {
11714
+ const bars = this.chart.selectAll('.axp-bar-chart-bar').data(dataValue.data);
11715
+ bars.exit().remove();
11716
+ bars
11717
+ .transition()
11718
+ .attr('x', (d) => this.xScale(d.label))
11719
+ .attr('y', (d) => this.yScale(d.value))
11720
+ .attr('width', this.xScale.bandwidth())
11721
+ .attr('height', (d) => this.height - this.yScale(d.value))
11722
+ .style('fill', (d, i) => d.color ?? this.colors(i));
11723
+ bars
11749
11724
  .enter()
11750
- .append('g')
11751
- .attr('class', 'legend-item')
11752
- .attr('transform', (d, i) => `translate(0, ${i * 20})`);
11753
- legendItems
11754
11725
  .append('rect')
11755
- .attr('width', 16)
11756
- .attr('height', 16)
11757
- .attr('fill', (d) => d.color || options.color || 'teal');
11758
- legendItems
11759
- .append('text')
11760
- .attr('x', 24)
11761
- .attr('y', 12)
11762
- .attr('fill', '#000')
11763
- .style('font-size', '12px')
11764
- .text((d) => d.name);
11765
- // Position the legend
11766
- switch (legendPosition) {
11767
- case 'top-right':
11768
- legend.attr('transform', `translate(${width - margin.right - 100}, ${margin.top - 80})`);
11769
- break;
11770
- case 'top-left':
11771
- legend.attr('transform', `translate(${margin.left}, ${margin.top - 80})`);
11772
- break;
11773
- case 'bottom-right':
11774
- legend.attr('transform', `translate(${width - margin.right - 100}, ${height - margin.bottom + 20})`);
11775
- break;
11776
- case 'bottom-left':
11777
- legend.attr('transform', `translate(${margin.left}, ${height - margin.bottom + 20})`);
11778
- break;
11779
- }
11780
- }
11781
- addExportButton() {
11782
- const exportButton = this.d3
11783
- .select(this.chartEl().nativeElement)
11784
- .append('button')
11785
- .text('Export to PNG')
11786
- .style('position', 'absolute')
11787
- .style('top', '10px')
11788
- .style('right', '10px')
11789
- .style('z-index', '1000')
11790
- .on('click', () => {
11791
- const svgElement = this.svg.node();
11792
- if (svgElement) {
11793
- const serializer = new XMLSerializer();
11794
- const svgString = serializer.serializeToString(svgElement);
11795
- const canvas = document.createElement('canvas');
11796
- const ctx = canvas.getContext('2d');
11797
- const img = new Image();
11798
- img.onload = () => {
11799
- canvas.width = img.width;
11800
- canvas.height = img.height;
11801
- ctx?.drawImage(img, 0, 0);
11802
- const link = document.createElement('a');
11803
- link.download = 'chart.png';
11804
- link.href = canvas.toDataURL('image/png');
11805
- link.click();
11806
- };
11807
- img.src = 'data:image/svg+xml;base64,' + btoa(svgString);
11808
- }
11809
- });
11810
- }
11811
- ngOnDestroy() {
11812
- if (this.svg) {
11813
- this.svg.selectAll('*').remove();
11814
- }
11726
+ .attr('class', 'axp-bar-chart-bar')
11727
+ .attr('x', (d) => this.xScale(d.label))
11728
+ .attr('y', (d) => this.yScale(0))
11729
+ .attr('width', this.xScale.bandwidth())
11730
+ .attr('height', 0)
11731
+ .attr('data-id', (d) => d.id ?? AXPDataGenerator.uuid())
11732
+ .style('fill', (d, i) => d.color ?? this.colors(i))
11733
+ .transition()
11734
+ .delay((d, i) => i * (this.getValue().options.transitionDelayMs ?? this.BAR_TRANSITION_DELAY))
11735
+ .attr('y', (d) => this.yScale(d.value) - 0.5)
11736
+ .attr('height', (d) => this.height - this.yScale(d.value));
11815
11737
  }
11816
11738
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBarChartWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11817
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPBarChartWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "chartEl", first: true, predicate: ["chart"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<div class="ax-flex ax-justify-center ax-items-center" #chart></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11739
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPBarChartWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "chartEl", first: true, predicate: ["chart"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<div class="axp-bar-chart" #chart></div>`, isInline: true, styles: [".axp-bar-chart{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11818
11740
  }
11819
11741
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBarChartWidgetEditComponent, decorators: [{
11820
11742
  type: Component,
11821
- args: [{
11822
- template: `<div class="ax-flex ax-justify-center ax-items-center" #chart></div>`,
11823
- standalone: true,
11824
- changeDetection: ChangeDetectionStrategy.OnPush,
11825
- }]
11743
+ args: [{ template: `<div class="axp-bar-chart" #chart></div>`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".axp-bar-chart{width:100%;height:100%}\n"] }]
11826
11744
  }] });
11827
11745
 
11828
11746
  var barChartWidgetEdit_component = /*#__PURE__*/Object.freeze({
@@ -11948,6 +11866,289 @@ const AXPDonutChartWidget = {
11948
11866
  },
11949
11867
  };
11950
11868
 
11869
+ class AXPGaugeChartWidgetEditComponent extends AXPWidgetComponent {
11870
+ constructor() {
11871
+ super(...arguments);
11872
+ this.chartContainerEl = viewChild.required('chartContainer');
11873
+ this.chartEl = viewChild.required('chart');
11874
+ this.#af = afterNextRender(async () => {
11875
+ await this.loadD3();
11876
+ this.createChart();
11877
+ });
11878
+ }
11879
+ #af;
11880
+ async loadD3() {
11881
+ try {
11882
+ this.d3 = await import('d3');
11883
+ }
11884
+ catch (error) {
11885
+ console.error('Failed to load D3.js:', error);
11886
+ }
11887
+ }
11888
+ createChart() {
11889
+ const chartValue = this.getValue(); // Get the AXPGaugeChartValue
11890
+ if (!chartValue || !chartValue.data || !chartValue.options) {
11891
+ console.error('Invalid chart data or options');
11892
+ return;
11893
+ }
11894
+ const { data, options } = chartValue;
11895
+ const { width, height, minValue, maxValue, thresholds, label, animationDuration } = options;
11896
+ // Clear any existing chart
11897
+ this.d3.select(this.chartEl().nativeElement).selectAll('*').remove();
11898
+ // Set up SVG dimensions
11899
+ const svg = this.d3.select(this.chartEl().nativeElement).attr('width', width).attr('height', height);
11900
+ // Create a group for the chart
11901
+ const chartGroup = svg.append('g').attr('transform', `translate(${width / 2}, ${height / 2})`);
11902
+ // Draw the background arc
11903
+ this.drawBackgroundArc(chartGroup, width);
11904
+ // Draw the threshold arcs and labels
11905
+ this.drawThresholds(chartGroup, width, minValue, maxValue, thresholds);
11906
+ // Draw the dial/needle
11907
+ this.drawDial(chartGroup, width, data.value, minValue, maxValue);
11908
+ // Add the label
11909
+ this.drawLabel(chartGroup, label);
11910
+ }
11911
+ /**
11912
+ * Draw the background arc.
11913
+ */
11914
+ drawBackgroundArc(chartGroup, width) {
11915
+ const backgroundArc = this.d3
11916
+ .arc()
11917
+ .innerRadius(width * 0.3)
11918
+ .outerRadius(width * 0.4)
11919
+ .startAngle(-Math.PI / 2)
11920
+ .endAngle(Math.PI / 2);
11921
+ chartGroup
11922
+ .append('path')
11923
+ .attr('d', backgroundArc({
11924
+ innerRadius: width * 0.3,
11925
+ outerRadius: width * 0.4,
11926
+ startAngle: -Math.PI / 2,
11927
+ endAngle: Math.PI / 2,
11928
+ }))
11929
+ .attr('fill', '#eee');
11930
+ }
11931
+ /**
11932
+ * Draw the threshold arcs and labels.
11933
+ */
11934
+ drawThresholds(chartGroup, width, minValue, maxValue, thresholds) {
11935
+ const arc = this.d3
11936
+ .arc()
11937
+ .innerRadius(width * 0.3)
11938
+ .outerRadius(width * 0.4);
11939
+ let previousEndAngle = -Math.PI / 2;
11940
+ thresholds.forEach((threshold) => {
11941
+ const range = threshold.range;
11942
+ const endAngle = this.scaleValueToAngle(range, minValue, maxValue);
11943
+ // Draw the threshold arc
11944
+ chartGroup
11945
+ .append('path')
11946
+ .attr('d', arc({
11947
+ innerRadius: width * 0.3,
11948
+ outerRadius: width * 0.4,
11949
+ startAngle: previousEndAngle,
11950
+ endAngle,
11951
+ }))
11952
+ .attr('fill', threshold.color);
11953
+ // Draw the threshold label
11954
+ this.drawThresholdLabel(chartGroup, width, endAngle, range.toString());
11955
+ previousEndAngle = endAngle;
11956
+ });
11957
+ }
11958
+ /**
11959
+ * Draw a threshold label.
11960
+ */
11961
+ drawThresholdLabel(chartGroup, width, angle, text) {
11962
+ const labelRadius = width * 0.45; // Position outside the arc
11963
+ const labelX = labelRadius * Math.cos(angle);
11964
+ const labelY = labelRadius * Math.sin(angle);
11965
+ // Calculate the rotation angle in degrees
11966
+ const rotationAngle = this.radiansToDegrees(angle);
11967
+ chartGroup
11968
+ .append('text')
11969
+ .attr('x', labelX)
11970
+ .attr('y', labelY)
11971
+ .attr('text-anchor', 'middle') // Center the text
11972
+ .attr('dy', '0.35em')
11973
+ .attr('transform', `rotate(${rotationAngle}, ${labelX}, ${labelY})`) // Rotate label
11974
+ .text(text)
11975
+ .style('font-size', '12px')
11976
+ .style('fill', '#000');
11977
+ }
11978
+ /**
11979
+ * Draw the dial/needle.
11980
+ */
11981
+ drawDial(chartGroup, width, value, minValue, maxValue) {
11982
+ const valueAngle = this.scaleValueToAngle(value, minValue, maxValue);
11983
+ chartGroup
11984
+ .append('line')
11985
+ .attr('x1', 0)
11986
+ .attr('y1', 0)
11987
+ .attr('x2', width * 0.35 * Math.cos(valueAngle))
11988
+ .attr('y2', width * 0.35 * Math.sin(valueAngle))
11989
+ .attr('stroke', '#000')
11990
+ .attr('stroke-width', 2);
11991
+ }
11992
+ /**
11993
+ * Draw the chart label.
11994
+ */
11995
+ drawLabel(chartGroup, label) {
11996
+ chartGroup
11997
+ .append('text')
11998
+ .attr('text-anchor', 'middle')
11999
+ .attr('dy', '0.35em')
12000
+ .text(label || '')
12001
+ .style('font-size', '16px')
12002
+ .style('fill', '#000');
12003
+ }
12004
+ /**
12005
+ * Scale a value to an angle for the gauge chart.
12006
+ */
12007
+ scaleValueToAngle(value, min, max) {
12008
+ const scaledValue = (value - min) / (max - min);
12009
+ return -Math.PI / 2 + scaledValue * Math.PI;
12010
+ }
12011
+ /**
12012
+ * Convert radians to degrees.
12013
+ */
12014
+ radiansToDegrees(radians) {
12015
+ return radians * (180 / Math.PI);
12016
+ }
12017
+ ngOnDestroy() {
12018
+ this.d3.select(this.chartEl().nativeElement).selectAll('*').remove();
12019
+ }
12020
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGaugeChartWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12021
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPGaugeChartWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "chartContainerEl", first: true, predicate: ["chartContainer"], descendants: true, isSignal: true }, { propertyName: "chartEl", first: true, predicate: ["chart"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
12022
+ <div class="ax-flex ax-justify-center ax-items-center" #chartContainer>
12023
+ <svg #chart></svg>
12024
+ </div>
12025
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12026
+ }
12027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGaugeChartWidgetEditComponent, decorators: [{
12028
+ type: Component,
12029
+ args: [{
12030
+ template: `
12031
+ <div class="ax-flex ax-justify-center ax-items-center" #chartContainer>
12032
+ <svg #chart></svg>
12033
+ </div>
12034
+ `,
12035
+ standalone: true,
12036
+ changeDetection: ChangeDetectionStrategy.OnPush,
12037
+ }]
12038
+ }] });
12039
+
12040
+ var gaugeChartWidgetEdit_component = /*#__PURE__*/Object.freeze({
12041
+ __proto__: null,
12042
+ AXPGaugeChartWidgetEditComponent: AXPGaugeChartWidgetEditComponent
12043
+ });
12044
+
12045
+ const AXPGaugeChartWidget = {
12046
+ name: 'gauge-chart',
12047
+ title: 'Gauge Chart Widget',
12048
+ group: AXP_WIDGETS_CHART_GROUP,
12049
+ type: 'chart',
12050
+ icon: 'fa-solid fa-gauge',
12051
+ visible: false,
12052
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
12053
+ components: {
12054
+ edit: {
12055
+ component: () => Promise.resolve().then(function () { return gaugeChartWidgetEdit_component; }).then((c) => c.AXPGaugeChartWidgetEditComponent),
12056
+ },
12057
+ },
12058
+ };
12059
+
12060
+ class AXPStickyNoteWidgetEditComponent extends AXPWidgetComponent {
12061
+ constructor() {
12062
+ super(...arguments);
12063
+ this.value = linkedSignal(() => this.getValue());
12064
+ }
12065
+ valueChange(event) {
12066
+ if (event.isUserInteraction) {
12067
+ this.value.set(event.value);
12068
+ }
12069
+ }
12070
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStickyNoteWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12071
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPStickyNoteWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
12072
+ <div class="ax-size-full ax-border">
12073
+ <div class="axp-sticky-note-container ax-flex ax-flex-col">
12074
+ <div
12075
+ class="axp-sticky-note-header ax-flex ax-justify-between ax-items-center ax-p-2 ax-border ax-bg-yellow-300 ax-text-gray-500"
12076
+ >
12077
+ <div><i class="fa-solid fa-plus"></i></div>
12078
+ <div class="ax-flex ax-gap-3"><i class="fa-solid fa-ellipsis"></i> <i class="fa-solid fa-xmark"></i></div>
12079
+ </div>
12080
+ <ax-wysiwyg-container
12081
+ class="ax-size-full"
12082
+ placeHolder="enter your note here"
12083
+ look="none"
12084
+ (onValueChanged)="valueChange($event)"
12085
+ [ngModel]="value()"
12086
+ >
12087
+ <ax-wysiwyg-view class="ax-min-h-10"></ax-wysiwyg-view>
12088
+ <ax-toolbar class="ax-min-h-10">
12089
+ <ax-prefix>
12090
+ <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
12091
+ </ax-prefix>
12092
+ </ax-toolbar>
12093
+ </ax-wysiwyg-container>
12094
+ <div class="axp-sticky-note-body ax-bg-yellow-200"></div>
12095
+ <div class="axp-sticky-note-footer ax-p-2"></div>
12096
+ </div>
12097
+ </div>
12098
+ `, isInline: true, styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i2$2.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "placeHolder"], outputs: ["onValueChanged"] }, { kind: "component", type: i2$2.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i2$2.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXToolBarModule }, { kind: "component", type: i3$5.AXToolBarComponent, selector: "ax-toolbar" }, { 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 }); }
12099
+ }
12100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStickyNoteWidgetEditComponent, decorators: [{
12101
+ type: Component,
12102
+ args: [{ template: `
12103
+ <div class="ax-size-full ax-border">
12104
+ <div class="axp-sticky-note-container ax-flex ax-flex-col">
12105
+ <div
12106
+ class="axp-sticky-note-header ax-flex ax-justify-between ax-items-center ax-p-2 ax-border ax-bg-yellow-300 ax-text-gray-500"
12107
+ >
12108
+ <div><i class="fa-solid fa-plus"></i></div>
12109
+ <div class="ax-flex ax-gap-3"><i class="fa-solid fa-ellipsis"></i> <i class="fa-solid fa-xmark"></i></div>
12110
+ </div>
12111
+ <ax-wysiwyg-container
12112
+ class="ax-size-full"
12113
+ placeHolder="enter your note here"
12114
+ look="none"
12115
+ (onValueChanged)="valueChange($event)"
12116
+ [ngModel]="value()"
12117
+ >
12118
+ <ax-wysiwyg-view class="ax-min-h-10"></ax-wysiwyg-view>
12119
+ <ax-toolbar class="ax-min-h-10">
12120
+ <ax-prefix>
12121
+ <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
12122
+ </ax-prefix>
12123
+ </ax-toolbar>
12124
+ </ax-wysiwyg-container>
12125
+ <div class="axp-sticky-note-body ax-bg-yellow-200"></div>
12126
+ <div class="axp-sticky-note-footer ax-p-2"></div>
12127
+ </div>
12128
+ </div>
12129
+ `, standalone: true, imports: [AXWysiwygModule, AXDecoratorModule, AXToolBarModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%}\n"] }]
12130
+ }] });
12131
+
12132
+ var stickyNoteWidgetEdit_component = /*#__PURE__*/Object.freeze({
12133
+ __proto__: null,
12134
+ AXPStickyNoteWidgetEditComponent: AXPStickyNoteWidgetEditComponent
12135
+ });
12136
+
12137
+ const AXPStickyNoteWidget = {
12138
+ name: 'sticky-note',
12139
+ title: 'Sticky Note Widget',
12140
+ group: AXP_WIDGETS_CHART_GROUP,
12141
+ type: 'chart',
12142
+ icon: 'fa-solid fa-sticky-note',
12143
+ visible: false,
12144
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
12145
+ components: {
12146
+ edit: {
12147
+ component: () => Promise.resolve().then(function () { return stickyNoteWidgetEdit_component; }).then((c) => c.AXPStickyNoteWidgetEditComponent),
12148
+ },
12149
+ },
12150
+ };
12151
+
11951
12152
  class AXPCronJobWidgetViewComponent extends AXPWidgetComponent {
11952
12153
  constructor() {
11953
12154
  super(...arguments);
@@ -12420,11 +12621,11 @@ const AXPColorBoxWidget = {
12420
12621
  },
12421
12622
  };
12422
12623
 
12423
- class AXPTableEditorWidgetColumnComponent extends AXPColumnWidgetComponent {
12424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTableEditorWidgetColumnComponent, isStandalone: true, selector: "axp-tabular-editor-widget-column", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `{{ rawValue }}`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12624
+ class AXPTabularDataWidgetColumnComponent extends AXPColumnWidgetComponent {
12625
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12626
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataWidgetColumnComponent, isStandalone: true, selector: "axp-tabular-editor-widget-column", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `{{ rawValue }}`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12426
12627
  }
12427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetColumnComponent, decorators: [{
12628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetColumnComponent, decorators: [{
12428
12629
  type: Component,
12429
12630
  args: [{
12430
12631
  selector: 'axp-tabular-editor-widget-column',
@@ -12435,12 +12636,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
12435
12636
  }]
12436
12637
  }] });
12437
12638
 
12438
- var tableWidgetColumn_component = /*#__PURE__*/Object.freeze({
12639
+ var tabularDataColumn_component = /*#__PURE__*/Object.freeze({
12439
12640
  __proto__: null,
12440
- AXPTableEditorWidgetColumnComponent: AXPTableEditorWidgetColumnComponent
12641
+ AXPTabularDataWidgetColumnComponent: AXPTabularDataWidgetColumnComponent
12441
12642
  });
12442
12643
 
12443
- class AXPTabularDataEditorWidgetEditComponent extends AXPWidgetComponent {
12644
+ class AXPTabularDataWidgetEditComponent extends AXPWidgetComponent {
12444
12645
  constructor() {
12445
12646
  super(...arguments);
12446
12647
  this.columns = computed(() => this.options()['columns']);
@@ -12465,10 +12666,10 @@ class AXPTabularDataEditorWidgetEditComponent extends AXPWidgetComponent {
12465
12666
  });
12466
12667
  this.setValue(popupData.data?.context);
12467
12668
  }
12468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataEditorWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataEditorWidgetEditComponent, isStandalone: true, selector: "axp-tabular-data-editor-widget", usesInheritance: true, ngImport: i0, template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()"> Click To Edit</span> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXDataTableModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataWidgetEditComponent, isStandalone: true, selector: "axp-tabular-data-editor-widget", usesInheritance: true, ngImport: i0, template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()"> Click To Edit</span> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXDataTableModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12470
12671
  }
12471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataEditorWidgetEditComponent, decorators: [{
12672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetEditComponent, decorators: [{
12472
12673
  type: Component,
12473
12674
  args: [{
12474
12675
  selector: 'axp-tabular-data-editor-widget',
@@ -12491,14 +12692,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
12491
12692
 
12492
12693
  var tabularDataWidgetEdit_component = /*#__PURE__*/Object.freeze({
12493
12694
  __proto__: null,
12494
- AXPTabularDataEditorWidgetEditComponent: AXPTabularDataEditorWidgetEditComponent
12695
+ AXPTabularDataWidgetEditComponent: AXPTabularDataWidgetEditComponent
12495
12696
  });
12496
12697
 
12497
- class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
12498
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12499
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTextBoxWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12698
+ class AXPTabulaDataWidgetFilterComponent extends AXPWidgetComponent {
12699
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabulaDataWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12700
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabulaDataWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12500
12701
  }
12501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, decorators: [{
12702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabulaDataWidgetFilterComponent, decorators: [{
12502
12703
  type: Component,
12503
12704
  args: [{
12504
12705
  template: ``,
@@ -12508,16 +12709,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
12508
12709
  }]
12509
12710
  }] });
12510
12711
 
12511
- var tableWidgetFilter_component = /*#__PURE__*/Object.freeze({
12712
+ var tabularDataFilter_component = /*#__PURE__*/Object.freeze({
12512
12713
  __proto__: null,
12513
- AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent
12714
+ AXPTabulaDataWidgetFilterComponent: AXPTabulaDataWidgetFilterComponent
12514
12715
  });
12515
12716
 
12516
- class AXPTableEditorWidgetPrintComponent extends AXPWidgetComponent {
12517
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12518
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTableEditorWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12717
+ class AXPTabularDataWidgetPrintComponent extends AXPWidgetComponent {
12718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12719
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12519
12720
  }
12520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetPrintComponent, decorators: [{
12721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataWidgetPrintComponent, decorators: [{
12521
12722
  type: Component,
12522
12723
  args: [{
12523
12724
  template: ``,
@@ -12527,9 +12728,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
12527
12728
  }]
12528
12729
  }] });
12529
12730
 
12530
- var tableWidgetPrint_component = /*#__PURE__*/Object.freeze({
12731
+ var tabularDataWidgetPrint_component = /*#__PURE__*/Object.freeze({
12531
12732
  __proto__: null,
12532
- AXPTableEditorWidgetPrintComponent: AXPTableEditorWidgetPrintComponent
12733
+ AXPTabularDataWidgetPrintComponent: AXPTabularDataWidgetPrintComponent
12533
12734
  });
12534
12735
 
12535
12736
  class AXPTabularDataEditorWidgetViewComponent extends AXPWidgetComponent {
@@ -12575,7 +12776,7 @@ var tabularDataWidgetView_component = /*#__PURE__*/Object.freeze({
12575
12776
 
12576
12777
  const AXPTableEditorWidget = {
12577
12778
  name: 'table-editor',
12578
- title: 'Table Editor Box',
12779
+ title: 'Table Editor',
12579
12780
  icon: 'fa-solid fa-input-text',
12580
12781
  description: 'Inputs single-line text',
12581
12782
  group: AXP_WIDGETS_EDITOR_GROUP,
@@ -12595,21 +12796,22 @@ const AXPTableEditorWidget = {
12595
12796
  component: () => Promise.resolve().then(function () { return tabularDataWidgetView_component; }).then((c) => c.AXPTabularDataEditorWidgetViewComponent),
12596
12797
  },
12597
12798
  edit: {
12598
- component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataEditorWidgetEditComponent),
12799
+ component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataWidgetEditComponent),
12599
12800
  },
12600
12801
  filter: {
12601
- component: () => Promise.resolve().then(function () { return tableWidgetFilter_component; }).then((c) => c.AXPTextBoxWidgetFilterComponent),
12802
+ component: () => Promise.resolve().then(function () { return tabularDataFilter_component; }).then((c) => c.AXPTabulaDataWidgetFilterComponent),
12602
12803
  },
12603
12804
  column: {
12604
- component: () => Promise.resolve().then(function () { return tableWidgetColumn_component; }).then((c) => c.AXPTableEditorWidgetColumnComponent),
12805
+ component: () => Promise.resolve().then(function () { return tabularDataColumn_component; }).then((c) => c.AXPTabularDataWidgetColumnComponent),
12605
12806
  },
12606
12807
  print: {
12607
- component: () => Promise.resolve().then(function () { return tableWidgetPrint_component; }).then((c) => c.AXPTableEditorWidgetPrintComponent),
12808
+ component: () => Promise.resolve().then(function () { return tabularDataWidgetPrint_component; }).then((c) => c.AXPTabularDataWidgetPrintComponent),
12608
12809
  },
12609
12810
  designer: {
12610
- component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataEditorWidgetEditComponent),
12811
+ component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataWidgetEditComponent),
12611
12812
  },
12612
12813
  },
12814
+ visible: false
12613
12815
  };
12614
12816
 
12615
12817
  class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent {
@@ -13494,7 +13696,6 @@ const AXPFormFieldWidget = {
13494
13696
  icon: 'fa-solid fa-pen-field',
13495
13697
  properties: [
13496
13698
  AXP_NAME_PROPERTY,
13497
- AXP_DATA_PATH_PROPERTY,
13498
13699
  AXP_LABEL_PROPERTY
13499
13700
  ],
13500
13701
  components: {
@@ -14293,6 +14494,8 @@ class AXPWidgetsModule {
14293
14494
  //charts
14294
14495
  AXPDonutChartWidget,
14295
14496
  AXPBarChartWidget,
14497
+ AXPGaugeChartWidget,
14498
+ AXPStickyNoteWidget,
14296
14499
  ],
14297
14500
  })] }); }
14298
14501
  }
@@ -14362,6 +14565,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
14362
14565
  //charts
14363
14566
  AXPDonutChartWidget,
14364
14567
  AXPBarChartWidget,
14568
+ AXPGaugeChartWidget,
14569
+ AXPStickyNoteWidget,
14365
14570
  ],
14366
14571
  }),
14367
14572
  ],
@@ -14375,5 +14580,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
14375
14580
  * Generated bundle index. Do not edit.
14376
14581
  */
14377
14582
 
14378
- export { AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetPrintComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetPrintComponent, AXPAvatarWidgetViewComponent, AXPBarChartWidget, AXPBarChartWidgetEditComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, AXPDonutChartWidget, AXPDonutChartWidgetEditComponent, AXPEmailBoxWidget, AXPEmailBoxWidgetColumnComponent, AXPEmailBoxWidgetEditComponent, AXPEmailBoxWidgetFilterComponent, AXPEmailBoxWidgetPrintComponent, AXPEmailBoxWidgetViewComponent, AXPEqualValidationWidget, AXPEqualValidationWidgetEditComponent, AXPFileBoxWidget, AXPFileBoxWidgetColumnComponent, AXPFileBoxWidgetEditComponent, AXPFileBoxWidgetFilterComponent, AXPFileBoxWidgetPrintComponent, AXPFileBoxWidgetViewComponent, AXPFileManagementService, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, AXPGalleryWidget, AXPGalleryWidgetColumnComponent, AXPGalleryWidgetEditComponent, AXPGalleryWidgetFilterComponent, AXPGalleryWidgetPrintComponent, AXPGalleryWidgetViewComponent, AXPGreaterThanExpressionValidationWidget, AXPGreaterThanValidationWidgetEditComponent, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetFilterComponent, AXPLargeTextWidgetPrintComponent, AXPLargeTextWidgetViewComponent, AXPLessThanExpressionValidationWidget, AXPLessThanValidationWidgetEditComponent, AXPLinkWidget, AXPLinkWidgetColumnComponent, AXPLinkWidgetEditComponent, AXPLinkWidgetFilterComponent, AXPLinkWidgetPrintComponent, AXPLinkWidgetViewComponent, AXPMapBoxWidget, AXPMapBoxWidgetEditComponent, AXPMapBoxWidgetViewComponent, AXPMaxLengthExpressionValidationWidget, AXPMaxLengthValidationWidgetEditComponent, AXPMinLengthExpressionValidationWidget, AXPMinLengthValidationWidgetEditComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetFilterComponent, AXPNumberBoxWidgetPrintComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetFilterComponent, AXPPasswordBoxWidgetPrintComponent, AXPPasswordBoxWidgetViewComponent, AXPPhoneBoxWidget, AXPPhoneBoxWidgetColumnComponent, AXPPhoneBoxWidgetEditComponent, AXPPhoneBoxWidgetFilterComponent, AXPPhoneBoxWidgetPrintComponent, AXPPhoneBoxWidgetViewComponent, AXPPropertyEditorHelper, AXPRegularExpressionValidationWidget, AXPRegularExpressionValidationWidgetEditComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetPrintComponent, AXPRepeaterWidgetViewComponent, AXPRequiredValidationWidget, AXPRequiredValidationWidgetEditComponent, AXPRichTextWidget, AXPRichTextWidgetColumnComponent, AXPRichTextWidgetEditComponent, AXPRichTextWidgetFilterComponent, AXPRichTextWidgetPrintComponent, AXPRichTextWidgetViewComponent, AXPSelectBoxWidget, AXPSelectBoxWidgetColumnComponent, AXPSelectBoxWidgetEditComponent, AXPSelectBoxWidgetFilterComponent, AXPSelectBoxWidgetPrintComponent, AXPSelectBoxWidgetViewComponent, AXPSelectionListWidget, AXPSelectionListWidgetColumnComponent, AXPSelectionListWidgetDesignerComponent, AXPSelectionListWidgetEditComponent, AXPSelectionListWidgetFilterComponent, AXPSelectionListWidgetPrintComponent, AXPSelectionListWidgetViewComponent, AXPSignatureWidget, AXPSignatureWidgetColumnComponent, AXPSignatureWidgetEditComponent, AXPSignatureWidgetFilterComponent, AXPSignatureWidgetPrintComponent, AXPSignatureWidgetViewComponent, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent$1 as AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BETWEEN_VALIDATION_PROPERTY, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_CALLBACK_VALIDATION_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTIES, AXP_DATA_SOURCE_PROPERTY, AXP_DATA_SOURCE_TEXT_FIELD, AXP_DATA_SOURCE_VALUE_FIELD, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_Flex_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, AXP_GREATER_THAN_VALIDATION_PROPERTY, AXP_Grid_Box_Align_Items_Options, AXP_Grid_Box_Alignments, AXP_Grid_Box_Justify_Items_Options, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ADVANCED_GRID_PROPERTY, AXP_LAYOUT_ALIGN_CONTENT_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_COL_END_PROPERTY, AXP_LAYOUT_COL_SPAN_PROPERTY, AXP_LAYOUT_COL_START_PROPERTY, AXP_LAYOUT_FLEX_ALIGN_PROPERTY, AXP_LAYOUT_FLEX_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY, AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, AXP_default_Border_Box_Units, AXP_default_Border_Box_Value, AXP_default_Spacing_Box_Units, AXP_default_Spacing_Box_Value, DEFAULT_STRATEGY_CONFIG, STRATEGY_CONFIG_TOKEN, booleanDefaultProperty, findNonEmptyBreakpoints, largeTextDefaultProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty };
14583
+ export { AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetPrintComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetPrintComponent, AXPAvatarWidgetViewComponent, AXPBarChartWidget, AXPBarChartWidgetEditComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, AXPDonutChartWidget, AXPDonutChartWidgetEditComponent, AXPEmailBoxWidget, AXPEmailBoxWidgetColumnComponent, AXPEmailBoxWidgetEditComponent, AXPEmailBoxWidgetFilterComponent, AXPEmailBoxWidgetPrintComponent, AXPEmailBoxWidgetViewComponent, AXPEqualValidationWidget, AXPEqualValidationWidgetEditComponent, AXPFileBoxWidget, AXPFileBoxWidgetColumnComponent, AXPFileBoxWidgetEditComponent, AXPFileBoxWidgetFilterComponent, AXPFileBoxWidgetPrintComponent, AXPFileBoxWidgetViewComponent, AXPFileManagementService, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, AXPGalleryWidget, AXPGalleryWidgetColumnComponent, AXPGalleryWidgetEditComponent, AXPGalleryWidgetFilterComponent, AXPGalleryWidgetPrintComponent, AXPGalleryWidgetViewComponent, AXPGaugeChartWidget, AXPGaugeChartWidgetEditComponent, AXPGreaterThanExpressionValidationWidget, AXPGreaterThanValidationWidgetEditComponent, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetFilterComponent, AXPLargeTextWidgetPrintComponent, AXPLargeTextWidgetViewComponent, AXPLessThanExpressionValidationWidget, AXPLessThanValidationWidgetEditComponent, AXPLinkWidget, AXPLinkWidgetColumnComponent, AXPLinkWidgetEditComponent, AXPLinkWidgetFilterComponent, AXPLinkWidgetPrintComponent, AXPLinkWidgetViewComponent, AXPMapBoxWidget, AXPMapBoxWidgetEditComponent, AXPMapBoxWidgetViewComponent, AXPMaxLengthExpressionValidationWidget, AXPMaxLengthValidationWidgetEditComponent, AXPMinLengthExpressionValidationWidget, AXPMinLengthValidationWidgetEditComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetFilterComponent, AXPNumberBoxWidgetPrintComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetFilterComponent, AXPPasswordBoxWidgetPrintComponent, AXPPasswordBoxWidgetViewComponent, AXPPhoneBoxWidget, AXPPhoneBoxWidgetColumnComponent, AXPPhoneBoxWidgetEditComponent, AXPPhoneBoxWidgetFilterComponent, AXPPhoneBoxWidgetPrintComponent, AXPPhoneBoxWidgetViewComponent, AXPPropertyEditorHelper, AXPRegularExpressionValidationWidget, AXPRegularExpressionValidationWidgetEditComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetPrintComponent, AXPRepeaterWidgetViewComponent, AXPRequiredValidationWidget, AXPRequiredValidationWidgetEditComponent, AXPRichTextWidget, AXPRichTextWidgetColumnComponent, AXPRichTextWidgetEditComponent, AXPRichTextWidgetFilterComponent, AXPRichTextWidgetPrintComponent, AXPRichTextWidgetViewComponent, AXPSelectBoxWidget, AXPSelectBoxWidgetColumnComponent, AXPSelectBoxWidgetEditComponent, AXPSelectBoxWidgetFilterComponent, AXPSelectBoxWidgetPrintComponent, AXPSelectBoxWidgetViewComponent, AXPSelectionListWidget, AXPSelectionListWidgetColumnComponent, AXPSelectionListWidgetDesignerComponent, AXPSelectionListWidgetEditComponent, AXPSelectionListWidgetFilterComponent, AXPSelectionListWidgetPrintComponent, AXPSelectionListWidgetViewComponent, AXPSignatureWidget, AXPSignatureWidgetColumnComponent, AXPSignatureWidgetEditComponent, AXPSignatureWidgetFilterComponent, AXPSignatureWidgetPrintComponent, AXPSignatureWidgetViewComponent, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPStickyNoteWidget, AXPStickyNoteWidgetEditComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BETWEEN_VALIDATION_PROPERTY, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_CALLBACK_VALIDATION_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTIES, AXP_DATA_SOURCE_PROPERTY, AXP_DATA_SOURCE_TEXT_FIELD, AXP_DATA_SOURCE_VALUE_FIELD, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_Flex_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, AXP_GREATER_THAN_VALIDATION_PROPERTY, AXP_Grid_Box_Align_Items_Options, AXP_Grid_Box_Alignments, AXP_Grid_Box_Justify_Items_Options, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ADVANCED_GRID_PROPERTY, AXP_LAYOUT_ALIGN_CONTENT_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_COL_END_PROPERTY, AXP_LAYOUT_COL_SPAN_PROPERTY, AXP_LAYOUT_COL_START_PROPERTY, AXP_LAYOUT_FLEX_ALIGN_PROPERTY, AXP_LAYOUT_FLEX_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY, AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, AXP_default_Border_Box_Units, AXP_default_Border_Box_Value, AXP_default_Spacing_Box_Units, AXP_default_Spacing_Box_Value, DEFAULT_STRATEGY_CONFIG, STRATEGY_CONFIG_TOKEN, booleanDefaultProperty, findNonEmptyBreakpoints, largeTextDefaultProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty };
14379
14584
  //# sourceMappingURL=acorex-platform-widgets.mjs.map