@acorex/platform 19.2.6 → 19.2.8

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 (81) hide show
  1. package/common/lib/app/application.types.d.ts +4 -1
  2. package/common/lib/settings/settings.service.d.ts +3 -2
  3. package/common/lib/utils/export-popup.d.ts +2 -1
  4. package/common/lib/utils/expression-evaluator.service.d.ts +11 -0
  5. package/common/lib/utils/index.d.ts +1 -0
  6. package/fesm2022/acorex-platform-common.mjs +86 -28
  7. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-builder.mjs +23 -4
  9. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-layout-designer.mjs +5 -5
  11. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-entity.mjs +55 -19
  13. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  14. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-ClNKQnoc.mjs → acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs} +28 -15
  15. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs.map +1 -0
  16. package/fesm2022/{acorex-platform-themes-default-search-popup.component-BZJTLnlM.mjs → acorex-platform-themes-default-search-popup.component-Blkpqvqa.mjs} +4 -4
  17. package/fesm2022/{acorex-platform-themes-default-search-popup.component-BZJTLnlM.mjs.map → acorex-platform-themes-default-search-popup.component-Blkpqvqa.mjs.map} +1 -1
  18. package/fesm2022/{acorex-platform-themes-default-setting-page.component-oA4kM_-3.mjs → acorex-platform-themes-default-setting-page.component-BERYnJnp.mjs} +8 -8
  19. package/fesm2022/acorex-platform-themes-default-setting-page.component-BERYnJnp.mjs.map +1 -0
  20. package/fesm2022/{acorex-platform-themes-default-setting-view.component-CJZBhtKE.mjs → acorex-platform-themes-default-setting-view.component-BagAWM4W.mjs} +2 -2
  21. package/fesm2022/{acorex-platform-themes-default-setting-view.component-CJZBhtKE.mjs.map → acorex-platform-themes-default-setting-view.component-BagAWM4W.mjs.map} +1 -1
  22. package/fesm2022/{acorex-platform-themes-default-theme-palette-preview.page-D_AK8uVB.mjs → acorex-platform-themes-default-theme-palette-preview.page-D-yzbISw.mjs} +25 -5
  23. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D-yzbISw.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-themes-default.mjs +24 -17
  25. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-themes-shared.mjs +112 -54
  27. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-B90if8wb.mjs +272 -0
  29. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-B90if8wb.mjs.map +1 -0
  30. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-BaslkAPS.mjs +63 -0
  31. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-BaslkAPS.mjs.map +1 -0
  32. package/fesm2022/acorex-platform-widgets.mjs +779 -118
  33. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  34. package/layout/builder/lib/builder/widget-groups.d.ts +1 -0
  35. package/layout/builder/lib/builder/widget-map.d.ts +3 -0
  36. package/layout/builder/lib/builder/widget-renderer.directive.d.ts +3 -0
  37. package/layout/builder/lib/builder/widget.types.d.ts +1 -1
  38. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
  39. package/layout/entity/lib/entity.viewmodel.d.ts +3 -0
  40. package/layout/setting/lib/setting.viewmodel.d.ts +2 -2
  41. package/package.json +5 -5
  42. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +4 -3
  43. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +2 -2
  44. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +4 -4
  45. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +2 -2
  46. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +2 -2
  47. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +2 -2
  48. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +2 -2
  49. package/themes/default/lib/pages/theme-palette-preview/theme-palette-preview.page.d.ts +3 -2
  50. package/themes/shared/lib/components/layout-elements/index.d.ts +1 -0
  51. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +1 -1
  52. package/themes/shared/lib/components/layout-elements/layout-footer.component.d.ts +5 -0
  53. package/themes/shared/lib/components/slots/theme-slot.component.d.ts +2 -2
  54. package/themes/shared/lib/theme.service.d.ts +2 -2
  55. package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +3 -1
  56. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +33 -0
  57. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.config.d.ts +7 -0
  58. package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +29 -0
  59. package/widgets/lib/widgets/charts/bar-chart/index.d.ts +2 -0
  60. package/widgets/lib/widgets/charts/chart.type.d.ts +4 -0
  61. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget-edit.component.d.ts +14 -0
  62. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.config.d.ts +7 -0
  63. package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +13 -0
  64. package/widgets/lib/widgets/charts/donut-chart/index.d.ts +2 -0
  65. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.d.ts +1 -3
  66. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +4 -1
  67. package/widgets/lib/widgets/editors/tabular-data/index.d.ts +6 -0
  68. package/widgets/lib/widgets/editors/tabular-data/table-widget-column.component.d.ts +6 -0
  69. package/widgets/lib/widgets/editors/tabular-data/table-widget-filter.component.d.ts +6 -0
  70. package/widgets/lib/widgets/editors/tabular-data/table-widget-print.component.d.ts +6 -0
  71. package/widgets/lib/widgets/editors/tabular-data/table-widget.config.d.ts +7 -0
  72. package/widgets/lib/widgets/editors/tabular-data/tabular-data-edit-popup.component.d.ts +27 -0
  73. package/widgets/lib/widgets/editors/tabular-data/tabular-data-view-popup.component.d.ts +12 -0
  74. package/widgets/lib/widgets/editors/tabular-data/tabular-data-widget-edit.component.d.ts +12 -0
  75. package/widgets/lib/widgets/editors/tabular-data/tabular-data-widget-view.component.d.ts +11 -0
  76. package/widgets/lib/widgets/editors/tabular-data/tabular-widget.types.d.ts +11 -0
  77. package/widgets/lib/widgets/editors/text/text-box-widget-edit.component.d.ts +0 -1
  78. package/widgets/lib/widgets/index.d.ts +2 -0
  79. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-ClNKQnoc.mjs.map +0 -1
  80. package/fesm2022/acorex-platform-themes-default-setting-page.component-oA4kM_-3.mjs.map +0 -1
  81. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D_AK8uVB.mjs.map +0 -1
@@ -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_FILTER_GROUP } 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';
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';
@@ -12,7 +12,7 @@ import { AXLoadingModule } from '@acorex/components/loading';
12
12
  import * as i1$1 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
14
  import * as i0 from '@angular/core';
15
- import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, afterNextRender, HostBinding, signal, effect, ViewEncapsulation, InjectionToken, ViewChild, untracked, ChangeDetectorRef, viewChild, ElementRef, afterRender, NgZone, model, input, linkedSignal, HostListener, NgModule } from '@angular/core';
15
+ import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, afterNextRender, HostBinding, signal, ViewEncapsulation, InjectionToken, effect, ViewChild, untracked, ChangeDetectorRef, viewChild, ElementRef, afterRender, NgZone, model, input, linkedSignal, HostListener, NgModule } from '@angular/core';
16
16
  import * as i1 from '@acorex/components/check-box';
17
17
  import { AXCheckBoxModule } from '@acorex/components/check-box';
18
18
  import * as i3$1 from '@acorex/components/form';
@@ -81,6 +81,7 @@ import { AXCronJobModule } from '@acorex/components/cron-job';
81
81
  import * as i1$a from '@acorex/components/qrcode';
82
82
  import { AXQrcodeModule } from '@acorex/components/qrcode';
83
83
  import { AXColorUtil } from '@acorex/core/utils';
84
+ import { AXDataTableModule } from '@acorex/components/data-table';
84
85
  import { DomSanitizer } from '@angular/platform-browser';
85
86
 
86
87
  const AXP_STYLING_PROPERTY_GROUP = {
@@ -1674,7 +1675,7 @@ const AXPContactWidget = {
1674
1675
  dataType: 'string',
1675
1676
  nullable: false,
1676
1677
  interface: {
1677
- defaultValue: 'link',
1678
+ defaultValue: 'email',
1678
1679
  name: 'type',
1679
1680
  path: 'options.type',
1680
1681
  type: AXPWidgetsCatalog.select,
@@ -1793,7 +1794,7 @@ class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent {
1793
1794
  this.disabled = computed(() => this.options()['disabled']);
1794
1795
  this.placeholder = computed(() => this.options()['placeholder']);
1795
1796
  this.internalValue = computed(() => Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]);
1796
- this._validationRules = [];
1797
+ this.validationRules = computed(() => this.options()['validationRules'] ?? []);
1797
1798
  this.calendarFormat = computed(() => {
1798
1799
  if (this.format() === 'date')
1799
1800
  return 'dd/MM/yyyy';
@@ -1803,12 +1804,6 @@ class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent {
1803
1804
  return 'dd/MM/yyyy HH:mm';
1804
1805
  });
1805
1806
  }
1806
- get validationRules() {
1807
- return this._validationRules;
1808
- }
1809
- set validationRules(v) {
1810
- this._validationRules = v;
1811
- }
1812
1807
  handleValueChange(e, i) {
1813
1808
  if (e.isUserInteraction) {
1814
1809
  const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));
@@ -1844,7 +1839,7 @@ class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent {
1844
1839
  [format]="calendarFormat()"
1845
1840
  [placeholder]="placeholder()"
1846
1841
  >
1847
- @for (validation of validationRules; track $index) {
1842
+ @for (validation of validationRules(); track $index) {
1848
1843
  <ax-validation-rule
1849
1844
  [rule]="validation.rule"
1850
1845
  [message]="validation.options?.message"
@@ -1886,7 +1881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1886
1881
  [format]="calendarFormat()"
1887
1882
  [placeholder]="placeholder()"
1888
1883
  >
1889
- @for (validation of validationRules; track $index) {
1884
+ @for (validation of validationRules(); track $index) {
1890
1885
  <ax-validation-rule
1891
1886
  [rule]="validation.rule"
1892
1887
  [message]="validation.options?.message"
@@ -3900,6 +3895,7 @@ const AXPPasswordBoxWidget = {
3900
3895
  properties: [
3901
3896
  AXP_NAME_PROPERTY,
3902
3897
  AXP_VALIDATION_PROPERTY,
3898
+ AXP_DATA_PATH_PROPERTY,
3903
3899
  AXP_HAS_CLEAR_BUTTON_PROPERTY,
3904
3900
  AXP_DISABLED_PROPERTY,
3905
3901
  AXP_HAS_COPY_ICON_PROPERTY,
@@ -4444,16 +4440,19 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4444
4440
  super(...arguments);
4445
4441
  this.placeholder = computed(() => this.options()['placeholder']);
4446
4442
  this.disabled = computed(() => this.options()['disabled']);
4443
+ this.minLineCount = computed(() => this.options()['minLineCount'] ?? 3);
4444
+ this.maxLineCount = computed(() => this.options()['maxLineCount'] ?? 3);
4445
+ this.isFitLine = computed(() => this.options()['fitLineCount'] ?? false);
4447
4446
  this.validationRules = computed(() => this.options()['validationRules'] ?? []);
4448
- this.eff = effect(() => {
4449
- console.log(this.getValue());
4450
- });
4451
4447
  }
4452
4448
  setWysiwyg(e) {
4453
4449
  if (e) {
4454
4450
  this.setValue(e.value);
4455
4451
  }
4456
4452
  }
4453
+ getLinePx(count) {
4454
+ return 24 + 18.46 * count + 'px';
4455
+ }
4457
4456
  get __class() {
4458
4457
  const cls = {};
4459
4458
  cls[`ax-block`] = true;
@@ -4467,7 +4466,11 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4467
4466
  [ngModel]="getValue()"
4468
4467
  (onValueChanged)="setWysiwyg($event)"
4469
4468
  >
4470
- <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
4469
+ <ax-wysiwyg-view
4470
+ [style.min-height]="getLinePx(minLineCount())"
4471
+ [style.max-height]="getLinePx(maxLineCount())"
4472
+ [style.height]="'fit-content !important'"
4473
+ ></ax-wysiwyg-view>
4471
4474
  <!-- <ax-wysiwyg-toolbar>
4472
4475
  <ax-wysiwyg-history></ax-wysiwyg-history>
4473
4476
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
@@ -4482,6 +4485,7 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4482
4485
  <ax-wysiwyg-colors></ax-wysiwyg-colors> <ax-wysiwyg-list></ax-wysiwyg-list>
4483
4486
  <ax-wysiwyg-alignment></ax-wysiwyg-alignment> <ax-wysiwyg-insert></ax-wysiwyg-insert> -->
4484
4487
  <ax-wysiwyg-history></ax-wysiwyg-history>
4488
+ <ax-wysiwyg-insert></ax-wysiwyg-insert>
4485
4489
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4486
4490
  <ax-wysiwyg-colors></ax-wysiwyg-colors>
4487
4491
  <ax-wysiwyg-list></ax-wysiwyg-list>
@@ -4495,7 +4499,7 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4495
4499
  [options]="validation.options"
4496
4500
  ></ax-validation-rule>
4497
4501
  }
4498
- </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: 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.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i2$2.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i2$2.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i2$2.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i2$2.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXToolBarModule }, { kind: "component", type: i3$5.AXToolBarComponent, selector: "ax-toolbar" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$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 }); }
4502
+ </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: 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.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i2$2.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i2$2.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i2$2.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i2$2.AXWysiwygInsertComponent, selector: "ax-wysiwyg-insert" }, { kind: "component", type: i2$2.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXToolBarModule }, { kind: "component", type: i3$5.AXToolBarComponent, selector: "ax-toolbar" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$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 }); }
4499
4503
  }
4500
4504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRichTextWidgetEditComponent, decorators: [{
4501
4505
  type: Component,
@@ -4507,7 +4511,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4507
4511
  [ngModel]="getValue()"
4508
4512
  (onValueChanged)="setWysiwyg($event)"
4509
4513
  >
4510
- <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
4514
+ <ax-wysiwyg-view
4515
+ [style.min-height]="getLinePx(minLineCount())"
4516
+ [style.max-height]="getLinePx(maxLineCount())"
4517
+ [style.height]="'fit-content !important'"
4518
+ ></ax-wysiwyg-view>
4511
4519
  <!-- <ax-wysiwyg-toolbar>
4512
4520
  <ax-wysiwyg-history></ax-wysiwyg-history>
4513
4521
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
@@ -4522,6 +4530,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4522
4530
  <ax-wysiwyg-colors></ax-wysiwyg-colors> <ax-wysiwyg-list></ax-wysiwyg-list>
4523
4531
  <ax-wysiwyg-alignment></ax-wysiwyg-alignment> <ax-wysiwyg-insert></ax-wysiwyg-insert> -->
4524
4532
  <ax-wysiwyg-history></ax-wysiwyg-history>
4533
+ <ax-wysiwyg-insert></ax-wysiwyg-insert>
4525
4534
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4526
4535
  <ax-wysiwyg-colors></ax-wysiwyg-colors>
4527
4536
  <ax-wysiwyg-list></ax-wysiwyg-list>
@@ -4650,7 +4659,7 @@ const AXPRichTextWidget = {
4650
4659
  AXP_DATA_PATH_PROPERTY,
4651
4660
  AXP_ALLOW_MULTIPLE_PROPERTY,
4652
4661
  AXP_DISABLED_PROPERTY,
4653
- AXP_VALIDATION_PROPERTY,
4662
+ // AXP_VALIDATION_PROPERTY,
4654
4663
  AXP_PLACEHOLDER_PROPERTY,
4655
4664
  //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '300px' } }),
4656
4665
  ],
@@ -5402,8 +5411,8 @@ class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent {
5402
5411
  this.placeholder = computed(() => this.options()['placeholder']);
5403
5412
  this.validationRules = computed(() => this.options()['validationRules'] ?? []);
5404
5413
  this.internalValue = computed(() => Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]);
5405
- this.eff = effect(() => console.log(this.options()));
5406
5414
  }
5415
+ //eff = effect(() => console.log(this.options()));
5407
5416
  handleValueChange(e, i) {
5408
5417
  if (e.isUserInteraction) {
5409
5418
  const newValues = this.internalValue().map((item, index) => (i === index ? e.value : item));
@@ -5520,7 +5529,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5520
5529
  </div>
5521
5530
  `,
5522
5531
  changeDetection: ChangeDetectionStrategy.OnPush,
5523
- imports: [CommonModule, AXTextBoxModule, FormsModule, AXFormModule, AXDecoratorModule, AXValidationModule, AXButtonModule],
5532
+ imports: [
5533
+ CommonModule,
5534
+ AXTextBoxModule,
5535
+ FormsModule,
5536
+ AXFormModule,
5537
+ AXDecoratorModule,
5538
+ AXValidationModule,
5539
+ AXButtonModule,
5540
+ ],
5524
5541
  inputs: [],
5525
5542
  }]
5526
5543
  }], propDecorators: { __class: [{
@@ -5533,11 +5550,11 @@ var textBoxWidgetEdit_component = /*#__PURE__*/Object.freeze({
5533
5550
  AXPTextBoxWidgetEditComponent: AXPTextBoxWidgetEditComponent
5534
5551
  });
5535
5552
 
5536
- class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
5553
+ let AXPTextBoxWidgetFilterComponent$1 = class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
5537
5554
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5538
5555
  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 }); }
5539
- }
5540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, decorators: [{
5556
+ };
5557
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent$1, decorators: [{
5541
5558
  type: Component,
5542
5559
  args: [{
5543
5560
  template: ``,
@@ -5549,7 +5566,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5549
5566
 
5550
5567
  var textBoxWidgetFilter_component = /*#__PURE__*/Object.freeze({
5551
5568
  __proto__: null,
5552
- AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent
5569
+ AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent$1
5553
5570
  });
5554
5571
 
5555
5572
  class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
@@ -5601,7 +5618,7 @@ const AXP_REQUIRED_VALIDATION_PROPERTY = {
5601
5618
  name: 'requiredValidation',
5602
5619
  path: 'options.requiredValidation',
5603
5620
  type: AXPWidgetsCatalog.requiredValidation,
5604
- // defaultValue: false,
5621
+ defaultValue: false,
5605
5622
  },
5606
5623
  },
5607
5624
  visible: true,
@@ -5616,7 +5633,7 @@ const AXP_MIN_LENGTH_VALIDATION_PROPERTY = {
5616
5633
  name: 'minLengthValidation',
5617
5634
  path: 'options.minLengthValidation',
5618
5635
  type: AXPWidgetsCatalog.minLengthValidation,
5619
- // defaultValue: false,
5636
+ defaultValue: false,
5620
5637
  },
5621
5638
  },
5622
5639
  visible: true,
@@ -5631,7 +5648,7 @@ const AXP_MAX_LENGTH_VALIDATION_PROPERTY = {
5631
5648
  name: 'maxLengthValidation',
5632
5649
  path: 'options.maxLengthValidation',
5633
5650
  type: AXPWidgetsCatalog.maxLengthValidation,
5634
- // defaultValue: false,
5651
+ defaultValue: false,
5635
5652
  },
5636
5653
  },
5637
5654
  visible: true,
@@ -5646,7 +5663,7 @@ const AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY = {
5646
5663
  name: 'regularExpressionValidation',
5647
5664
  path: 'options.regularExpressionValidation',
5648
5665
  type: AXPWidgetsCatalog.regularExpressionValidation,
5649
- // defaultValue: false,
5666
+ defaultValue: false,
5650
5667
  },
5651
5668
  },
5652
5669
  visible: true,
@@ -5661,7 +5678,7 @@ const AXP_LESS_THAN_VALIDATION_PROPERTY = {
5661
5678
  name: 'lessThanValidation',
5662
5679
  path: 'options.lessThanValidation',
5663
5680
  type: AXPWidgetsCatalog.lessThanValidation,
5664
- // defaultValue: false,
5681
+ defaultValue: false,
5665
5682
  },
5666
5683
  },
5667
5684
  visible: true,
@@ -5676,7 +5693,7 @@ const AXP_GREATER_THAN_VALIDATION_PROPERTY = {
5676
5693
  name: 'greaterThanValidation',
5677
5694
  path: 'options.greaterThanValidation',
5678
5695
  type: AXPWidgetsCatalog.greaterThanValidation,
5679
- // defaultValue: false,
5696
+ defaultValue: false,
5680
5697
  },
5681
5698
  },
5682
5699
  visible: true,
@@ -5691,7 +5708,7 @@ const AXP_BETWEEN_VALIDATION_PROPERTY = {
5691
5708
  name: 'betweenValidation',
5692
5709
  path: 'options.betweenValidation',
5693
5710
  type: AXPWidgetsCatalog.betweenValidation,
5694
- // defaultValue: false,
5711
+ defaultValue: false,
5695
5712
  },
5696
5713
  },
5697
5714
  visible: true,
@@ -5706,7 +5723,7 @@ const AXP_EQUAL_VALIDATION_PROPERTY = {
5706
5723
  name: 'equalValidation',
5707
5724
  path: 'options.equalValidation',
5708
5725
  type: AXPWidgetsCatalog.equalValidation,
5709
- // defaultValue: false,
5726
+ defaultValue: false,
5710
5727
  },
5711
5728
  },
5712
5729
  visible: true,
@@ -5721,7 +5738,7 @@ const AXP_CALLBACK_VALIDATION_PROPERTY = {
5721
5738
  name: 'callbackValidation',
5722
5739
  path: 'options.callbackValidation',
5723
5740
  type: AXPWidgetsCatalog.callbackValidation,
5724
- // defaultValue: false,
5741
+ defaultValue: false,
5725
5742
  },
5726
5743
  },
5727
5744
  visible: true,
@@ -5740,7 +5757,6 @@ const AXPTextBoxWidget = {
5740
5757
  AXP_DATA_PATH_PROPERTY,
5741
5758
  AXP_ALLOW_MULTIPLE_PROPERTY,
5742
5759
  AXP_DISABLED_PROPERTY,
5743
- AXP_VALIDATION_PROPERTY,
5744
5760
  AXP_PLACEHOLDER_PROPERTY,
5745
5761
  AXP_HAS_CLEAR_BUTTON_PROPERTY,
5746
5762
  plainTextDefaultProperty(),
@@ -6133,7 +6149,7 @@ class AXPAvatarWidgetEditComponent extends AXPWidgetComponent {
6133
6149
  </div>
6134
6150
  </div>
6135
6151
  }
6136
- `, isInline: true, styles: ["axp-avatar-widget-edit .axp-empty{height:11rem;width:11rem;cursor:pointer;border-radius:.375rem;border-width:2px;border-style:dashed;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1));display:flex;align-items:center;justify-content:center}axp-avatar-widget-edit .axp-empty.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-400),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading{--fa-animation-duration: .7s}axp-avatar-widget-edit .axp-empty.axp-state-loading i{font-size:1.875rem;line-height:2.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading i:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-400),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content{cursor:pointer;overflow:hidden;border-radius:.375rem;border-width:1px;display:flex}axp-avatar-widget-edit .axp-content.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-content>:first-child{border-start-start-radius:.375rem;border-end-start-radius:.375rem;background-size:cover;background-position:center;height:11rem;width:11rem;border-inline-end-width:1px}axp-avatar-widget-edit .axp-content>:last-child{display:flex;flex-direction:column}axp-avatar-widget-edit .axp-content>:last-child>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axp-avatar-widget-edit .axp-content>:last-child{overflow:hidden}axp-avatar-widget-edit .axp-content>:last-child>div{display:flex;width:5rem;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-on-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div>i{font-size:1.5rem;line-height:2rem}axp-avatar-widget-edit .axp-content>:last-child>:first-child{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:first-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-800),var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6152
+ `, isInline: true, styles: ["axp-avatar-widget-edit .axp-empty{height:11rem;width:11rem;cursor:pointer;border-radius:.375rem;border-width:2px;border-style:dashed;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1));display:flex;align-items:center;justify-content:center}axp-avatar-widget-edit .axp-empty.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-danger-surface),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-primary-surface),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading{--fa-animation-duration: .7s}axp-avatar-widget-edit .axp-empty.axp-state-loading i{font-size:1.875rem;line-height:2.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading i:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-400),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content{cursor:pointer;overflow:hidden;border-radius:.375rem;border-width:1px;display:flex}axp-avatar-widget-edit .axp-content.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-danger-surface),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-content>:first-child{border-start-start-radius:.375rem;border-end-start-radius:.375rem;background-size:cover;background-position:center;height:11rem;width:11rem;border-inline-end-width:1px}axp-avatar-widget-edit .axp-content>:last-child{display:flex;flex-direction:column}axp-avatar-widget-edit .axp-content>:last-child>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axp-avatar-widget-edit .axp-content>:last-child{overflow:hidden}axp-avatar-widget-edit .axp-content>:last-child>div{display:flex;width:5rem;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-darkest-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div>i{font-size:1.5rem;line-height:2rem}axp-avatar-widget-edit .axp-content>:last-child>:first-child{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-surface),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-800),var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6137
6153
  }
6138
6154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetEditComponent, decorators: [{
6139
6155
  type: Component,
@@ -6165,7 +6181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6165
6181
  }
6166
6182
  `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
6167
6183
  CommonModule,
6168
- ], styles: ["axp-avatar-widget-edit .axp-empty{height:11rem;width:11rem;cursor:pointer;border-radius:.375rem;border-width:2px;border-style:dashed;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1));display:flex;align-items:center;justify-content:center}axp-avatar-widget-edit .axp-empty.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-400),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading{--fa-animation-duration: .7s}axp-avatar-widget-edit .axp-empty.axp-state-loading i{font-size:1.875rem;line-height:2.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading i:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-400),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content{cursor:pointer;overflow:hidden;border-radius:.375rem;border-width:1px;display:flex}axp-avatar-widget-edit .axp-content.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-content>:first-child{border-start-start-radius:.375rem;border-end-start-radius:.375rem;background-size:cover;background-position:center;height:11rem;width:11rem;border-inline-end-width:1px}axp-avatar-widget-edit .axp-content>:last-child{display:flex;flex-direction:column}axp-avatar-widget-edit .axp-content>:last-child>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axp-avatar-widget-edit .axp-content>:last-child{overflow:hidden}axp-avatar-widget-edit .axp-content>:last-child>div{display:flex;width:5rem;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-on-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div>i{font-size:1.5rem;line-height:2rem}axp-avatar-widget-edit .axp-content>:last-child>:first-child{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:first-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-800),var(--tw-text-opacity, 1))}\n"] }]
6184
+ ], styles: ["axp-avatar-widget-edit .axp-empty{height:11rem;width:11rem;cursor:pointer;border-radius:.375rem;border-width:2px;border-style:dashed;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1));display:flex;align-items:center;justify-content:center}axp-avatar-widget-edit .axp-empty.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-danger-surface),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-primary-surface),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading{--fa-animation-duration: .7s}axp-avatar-widget-edit .axp-empty.axp-state-loading i{font-size:1.875rem;line-height:2.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading i:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-400),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content{cursor:pointer;overflow:hidden;border-radius:.375rem;border-width:1px;display:flex}axp-avatar-widget-edit .axp-content.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-danger-surface),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-content>:first-child{border-start-start-radius:.375rem;border-end-start-radius:.375rem;background-size:cover;background-position:center;height:11rem;width:11rem;border-inline-end-width:1px}axp-avatar-widget-edit .axp-content>:last-child{display:flex;flex-direction:column}axp-avatar-widget-edit .axp-content>:last-child>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axp-avatar-widget-edit .axp-content>:last-child{overflow:hidden}axp-avatar-widget-edit .axp-content>:last-child>div{display:flex;width:5rem;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-darkest-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div>i{font-size:1.5rem;line-height:2rem}axp-avatar-widget-edit .axp-content>:last-child>:first-child{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-surface),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-danger-800),var(--tw-text-opacity, 1))}\n"] }]
6169
6185
  }] });
6170
6186
 
6171
6187
  var avatarWidgetEdit_component = /*#__PURE__*/Object.freeze({
@@ -6285,26 +6301,41 @@ var fileBoxWidgetColumn_component = /*#__PURE__*/Object.freeze({
6285
6301
  class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6286
6302
  constructor() {
6287
6303
  super(...arguments);
6288
- this.fileService = inject(AXFileService);
6289
6304
  this.fileStorage = inject(AXPFileStorageService);
6290
6305
  this.multiple = computed(() => this.options()['multiple']);
6291
6306
  this.accept = computed(() => this.options()['accept']);
6292
6307
  this.description = computed(() => this.options()['description']);
6293
6308
  this.metaData = computed(() => this.options()['metaData']);
6294
- this.refId = computed(() => this.options()['metaData']);
6295
- this.refType = computed(() => this.options()['metaData']);
6309
+ this.refId = computed(() => this.options()['refId']);
6310
+ this.refType = computed(() => this.options()['refType']);
6296
6311
  this.internalValue = computed(() => {
6297
6312
  if (!this.getValue())
6298
6313
  return [];
6299
6314
  return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}];
6300
6315
  });
6316
+ this.markedListAsCommitted = null;
6317
+ this.markedListAsDeleted = null;
6318
+ this.#effect2 = effect(async () => {
6319
+ const status = this.layoutService.status();
6320
+ if (status == AXPPageStatus.Submitted) {
6321
+ if (this.markedListAsCommitted) {
6322
+ for (const fileId of this.markedListAsCommitted) {
6323
+ await this.fileStorage.commit(fileId);
6324
+ }
6325
+ this.markedListAsCommitted = null;
6326
+ }
6327
+ if (this.markedListAsDeleted) {
6328
+ for (const fileId of this.markedListAsDeleted) {
6329
+ await this.fileStorage.markForDeletion(fileId);
6330
+ }
6331
+ this.markedListAsDeleted = null;
6332
+ }
6333
+ }
6334
+ });
6301
6335
  }
6302
- handleOnFileUploadComplete(e) {
6303
- console.log('here');
6304
- }
6305
- handleOnFilesUploadComplete(e) {
6306
- console.log('here');
6307
- }
6336
+ #effect2;
6337
+ handleOnFileUploadComplete(e) { }
6338
+ handleOnFilesUploadComplete(e) { }
6308
6339
  async handleChanged(e) {
6309
6340
  const results = [];
6310
6341
  for (var i = 0; i < e.requests.length; i++) {
@@ -6315,13 +6346,15 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
6315
6346
  refType: this.refType(),
6316
6347
  isPrimary: true,
6317
6348
  }));
6349
+ e.requests[i].finish();
6350
+ }
6351
+ if (!this.multiple()) {
6352
+ this.setValue(results[0].fileId);
6353
+ this.markedListAsCommitted = [results[0].fileId];
6318
6354
  }
6319
- // const results = await this.fileService.upload(e.requests, this.metaData);
6320
- // const uploadedFilesResult = results.filter((r) => r.status === 'fulfilled');
6321
- if (!this.multiple)
6322
- this.setValue(results[0].fileId != null);
6323
6355
  else {
6324
- this.setValue(results.map((r) => r.fileId != null));
6356
+ this.setValue(results.map((r) => r.fileId));
6357
+ this.markedListAsCommitted = results.map((r) => r.fileId);
6325
6358
  }
6326
6359
  }
6327
6360
  getFileInfo(fileName) {
@@ -6683,6 +6716,7 @@ const AXPFileBoxWidget = {
6683
6716
  type: 'editor',
6684
6717
  properties: [
6685
6718
  AXP_NAME_PROPERTY,
6719
+ AXP_DATA_PATH_PROPERTY,
6686
6720
  AXP_VALIDATION_PROPERTY,
6687
6721
  AXP_ALLOW_MULTIPLE_PROPERTY,
6688
6722
  AXP_DOWNLOADABLE_PROPERTY,
@@ -8158,7 +8192,6 @@ class AXPAdvancedGridWidgetViewComponent extends AXPWidgetComponent {
8158
8192
  //debugger;
8159
8193
  const save = this.container()?.save();
8160
8194
  const layout = save?.children?.map((child) => {
8161
- debugger;
8162
8195
  if (child && child.id !== undefined) {
8163
8196
  return {
8164
8197
  ...child,
@@ -8987,8 +9020,8 @@ var repeaterWidgetView_component = /*#__PURE__*/Object.freeze({
8987
9020
  class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
8988
9021
  constructor() {
8989
9022
  super(...arguments);
8990
- this.disabled = computed(() => this.options()["disabled"]);
8991
- this.hasControls = computed(() => this.options()["hasControls"]);
9023
+ this.disabled = computed(() => this.options()['disabled']);
9024
+ this.hasControls = computed(() => this.options()['hasControls']);
8992
9025
  this.rows = computed(() => {
8993
9026
  return this.convertValueToArray() ?? [];
8994
9027
  });
@@ -9009,24 +9042,20 @@ class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
9009
9042
  this.setValue(currentArray);
9010
9043
  }
9011
9044
  convertValueToArray() {
9012
- return this.getValue() ?
9013
- Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()] :
9014
- [];
9045
+ return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [];
9015
9046
  }
9016
9047
  api() {
9017
9048
  return {
9018
- "addNew": this.addNew.bind(this)
9049
+ addNew: this.addNew.bind(this),
9019
9050
  };
9020
9051
  }
9021
9052
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9022
9053
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPRepeaterWidgetEditComponent, isStandalone: true, selector: "axp-repeater-widget", usesInheritance: true, ngImport: i0, template: `
9023
- @if(hasControls())
9024
- {
9054
+ @if(hasControls()) {
9025
9055
  <div class="ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center">
9026
- @for(row of rows();let i=$index; track i)
9027
- {
9056
+ @for(row of rows();let i=$index; track i) {
9028
9057
  <div class="ax-col-span-11">
9029
- <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
9058
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ index: i }"></ng-container>
9030
9059
  </div>
9031
9060
  <ax-button
9032
9061
  [disabled]="disabled()"
@@ -9037,38 +9066,36 @@ class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
9037
9066
  >
9038
9067
  <ax-icon icon="fa-regular fa-xmark"></ax-icon>
9039
9068
  </ax-button>
9069
+ } @empty {
9070
+ <ng-container [ngTemplateOutlet]="empty"></ng-container>
9040
9071
  }
9041
- @empty {
9042
- <ng-container [ngTemplateOutlet]="empty" ></ng-container>
9043
- }
9044
9072
  <ax-button
9045
- [text]="rows().length ? 'Start Adding Items':'Add Your First Item'"
9046
- look="twotone"
9047
- [disabled]="disabled()"
9048
- (onClick)="handleAddItemClick()"
9049
- class="ax-col-start-10 ax-col-end-13"
9050
- >
9073
+ [text]="rows().length ? 'Start Adding Items' : 'Add Your First Item'"
9074
+ look="twotone"
9075
+ [disabled]="disabled()"
9076
+ (onClick)="handleAddItemClick()"
9077
+ class="ax-col-start-10 ax-col-end-13"
9078
+ >
9051
9079
  <ax-prefix>
9052
9080
  <ax-icon class="fa-solid fa-add"></ax-icon>
9053
9081
  </ax-prefix>
9054
9082
  </ax-button>
9055
9083
  </div>
9056
- }
9057
- @else {
9058
- @for(row of rows();let i=$index; track i)
9059
- {
9060
- <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
9061
- }
9062
- @empty {
9063
- <ng-container [ngTemplateOutlet]="empty" ></ng-container>
9064
- }
9065
- }
9066
- <ng-template #tpl let-index="index">
9067
- @for (node of children();track $index)
9068
- {
9069
- <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="index" [mode]="this.mode"></ng-container>
9084
+ } @else { @for(row of rows();let i=$index; track i) {
9085
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ index: i }"></ng-container>
9086
+ } @empty {
9087
+ <ng-container [ngTemplateOutlet]="empty"></ng-container>
9088
+ } }
9089
+ <ng-template #tpl let-index="index">
9090
+ @for (node of children();track $index) {
9091
+ <ng-container
9092
+ axp-widget-renderer
9093
+ [node]="node"
9094
+ [parentNode]="this"
9095
+ [index]="index"
9096
+ [mode]="this.mode"
9097
+ ></ng-container>
9070
9098
  }
9071
-
9072
9099
  </ng-template>
9073
9100
  <ng-template #empty>
9074
9101
  <div class="ax-col-start-1 ax-col-end-10 ax-text-sm ax-text-gray-400">
@@ -9082,13 +9109,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9082
9109
  args: [{
9083
9110
  selector: 'axp-repeater-widget',
9084
9111
  template: `
9085
- @if(hasControls())
9086
- {
9112
+ @if(hasControls()) {
9087
9113
  <div class="ax-grid ax-grid-cols-12 ax-gap-4 ax-items-center">
9088
- @for(row of rows();let i=$index; track i)
9089
- {
9114
+ @for(row of rows();let i=$index; track i) {
9090
9115
  <div class="ax-col-span-11">
9091
- <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
9116
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ index: i }"></ng-container>
9092
9117
  </div>
9093
9118
  <ax-button
9094
9119
  [disabled]="disabled()"
@@ -9099,38 +9124,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9099
9124
  >
9100
9125
  <ax-icon icon="fa-regular fa-xmark"></ax-icon>
9101
9126
  </ax-button>
9127
+ } @empty {
9128
+ <ng-container [ngTemplateOutlet]="empty"></ng-container>
9102
9129
  }
9103
- @empty {
9104
- <ng-container [ngTemplateOutlet]="empty" ></ng-container>
9105
- }
9106
9130
  <ax-button
9107
- [text]="rows().length ? 'Start Adding Items':'Add Your First Item'"
9108
- look="twotone"
9109
- [disabled]="disabled()"
9110
- (onClick)="handleAddItemClick()"
9111
- class="ax-col-start-10 ax-col-end-13"
9112
- >
9131
+ [text]="rows().length ? 'Start Adding Items' : 'Add Your First Item'"
9132
+ look="twotone"
9133
+ [disabled]="disabled()"
9134
+ (onClick)="handleAddItemClick()"
9135
+ class="ax-col-start-10 ax-col-end-13"
9136
+ >
9113
9137
  <ax-prefix>
9114
9138
  <ax-icon class="fa-solid fa-add"></ax-icon>
9115
9139
  </ax-prefix>
9116
9140
  </ax-button>
9117
9141
  </div>
9118
- }
9119
- @else {
9120
- @for(row of rows();let i=$index; track i)
9121
- {
9122
- <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
9123
- }
9124
- @empty {
9125
- <ng-container [ngTemplateOutlet]="empty" ></ng-container>
9126
- }
9127
- }
9128
- <ng-template #tpl let-index="index">
9129
- @for (node of children();track $index)
9130
- {
9131
- <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="index" [mode]="this.mode"></ng-container>
9142
+ } @else { @for(row of rows();let i=$index; track i) {
9143
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ index: i }"></ng-container>
9144
+ } @empty {
9145
+ <ng-container [ngTemplateOutlet]="empty"></ng-container>
9146
+ } }
9147
+ <ng-template #tpl let-index="index">
9148
+ @for (node of children();track $index) {
9149
+ <ng-container
9150
+ axp-widget-renderer
9151
+ [node]="node"
9152
+ [parentNode]="this"
9153
+ [index]="index"
9154
+ [mode]="this.mode"
9155
+ ></ng-container>
9132
9156
  }
9133
-
9134
9157
  </ng-template>
9135
9158
  <ng-template #empty>
9136
9159
  <div class="ax-col-start-1 ax-col-end-10 ax-text-sm ax-text-gray-400">
@@ -9139,7 +9162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9139
9162
  </ng-template>
9140
9163
  `,
9141
9164
  changeDetection: ChangeDetectionStrategy.OnPush,
9142
- imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule]
9165
+ imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule],
9143
9166
  }]
9144
9167
  }] });
9145
9168
 
@@ -11515,6 +11538,443 @@ const AXPRequiredValidationWidget = {
11515
11538
  },
11516
11539
  };
11517
11540
 
11541
+ class AXPBarChartWidgetEditComponent extends AXPWidgetComponent {
11542
+ constructor() {
11543
+ super(...arguments);
11544
+ this.chartEl = viewChild.required('chart');
11545
+ this.data = linkedSignal(() => this.getValue());
11546
+ this.isRendered = false;
11547
+ this.#af = afterNextRender(async () => {
11548
+ await this.loadD3();
11549
+ this.initializeChart();
11550
+ this.isRendered = true;
11551
+ });
11552
+ this.#eff = effect(() => {
11553
+ this.data();
11554
+ if (this.isRendered) {
11555
+ this.updateChart(this.data());
11556
+ }
11557
+ });
11558
+ }
11559
+ #af;
11560
+ #eff;
11561
+ async loadD3() {
11562
+ try {
11563
+ this.d3 = await import('d3');
11564
+ }
11565
+ catch (error) {
11566
+ console.error('Failed to load D3.js:', error);
11567
+ }
11568
+ }
11569
+ initializeChart() {
11570
+ const chartValue = this.data();
11571
+ const { width, height, margin } = this.getChartDimensions(chartValue.options);
11572
+ this.svg = this.d3.select(this.chartEl().nativeElement).append('svg').attr('width', width).attr('height', height);
11573
+ this.drawChart(chartValue);
11574
+ }
11575
+ drawChart(chartValue) {
11576
+ const { data, options } = chartValue;
11577
+ const { width, height, margin } = this.getChartDimensions(options);
11578
+ const x = this.createXScale(data, width, margin);
11579
+ const y = this.createYScale(data, height, margin);
11580
+ this.drawBars(data, x, y, height, margin, options);
11581
+ this.drawAxes(x, y, height, margin, options);
11582
+ if (options.enableTooltip) {
11583
+ this.addTooltips(data, x, y, options);
11584
+ }
11585
+ if (options.enableLegend) {
11586
+ this.addLegend(data, width, margin, options);
11587
+ }
11588
+ if (options.enableZoom) {
11589
+ this.addZoom();
11590
+ }
11591
+ if (options.enableExport) {
11592
+ this.addExportButton();
11593
+ }
11594
+ }
11595
+ updateChart(chartValue) {
11596
+ const { data, options } = chartValue;
11597
+ const { width, height, margin } = this.getChartDimensions(options);
11598
+ const x = this.createXScale(data, width, margin);
11599
+ const y = this.createYScale(data, height, margin);
11600
+ this.updateBars(data, x, y, height, margin, options);
11601
+ this.updateAxes(x, y, height, margin, options);
11602
+ if (options.enableTooltip) {
11603
+ this.updateTooltips(data, x, y, options);
11604
+ }
11605
+ if (options.enableLegend) {
11606
+ this.updateLegend(data, width, margin, options);
11607
+ }
11608
+ }
11609
+ getChartDimensions(options) {
11610
+ const width = options.width || 400;
11611
+ const height = options.height || 200;
11612
+ const margin = options.margin || { top: 20, right: 20, bottom: 30, left: 40 };
11613
+ return { width, height, margin };
11614
+ }
11615
+ createXScale(data, width, margin) {
11616
+ return this.d3
11617
+ .scaleBand()
11618
+ .domain(data.map((d) => d.name)) // Use name instead of id
11619
+ .range([margin.left, width - margin.right])
11620
+ .padding(0.1);
11621
+ }
11622
+ createYScale(data, height, margin) {
11623
+ return this.d3
11624
+ .scaleLinear()
11625
+ .domain([0, this.d3.max(data, (d) => d.value)])
11626
+ .nice()
11627
+ .range([height - margin.bottom, margin.top]);
11628
+ }
11629
+ drawBars(data, x, y, height, margin, options) {
11630
+ this.svg
11631
+ .selectAll('rect')
11632
+ .data(data)
11633
+ .enter()
11634
+ .append('rect')
11635
+ .attr('x', (d) => x(d.name) || 0) // Use name instead of id
11636
+ .attr('y', height - margin.bottom)
11637
+ .attr('width', x.bandwidth())
11638
+ .attr('height', 0)
11639
+ .attr('fill', (d) => d.color || options.color || 'teal')
11640
+ .transition()
11641
+ .duration(500)
11642
+ .attr('y', (d) => y(d.value))
11643
+ .attr('height', (d) => y(0) - y(d.value));
11644
+ }
11645
+ updateBars(data, x, y, height, margin, options) {
11646
+ const bars = this.svg.selectAll('rect').data(data, (d) => d.id);
11647
+ // Enter new bars
11648
+ bars
11649
+ .enter()
11650
+ .append('rect')
11651
+ .attr('x', (d) => x(d.name) || 0) // Use name instead of id
11652
+ .attr('y', height - margin.bottom)
11653
+ .attr('width', x.bandwidth())
11654
+ .attr('height', 0)
11655
+ .attr('fill', (d) => d.color || options.color || 'teal')
11656
+ .transition()
11657
+ .duration(500)
11658
+ .attr('y', (d) => y(d.value))
11659
+ .attr('height', (d) => y(0) - y(d.value));
11660
+ // Update existing bars
11661
+ bars
11662
+ .transition()
11663
+ .duration(500)
11664
+ .attr('x', (d) => x(d.name) || 0) // Use name instead of id
11665
+ .attr('y', (d) => y(d.value))
11666
+ .attr('width', x.bandwidth())
11667
+ .attr('height', (d) => y(0) - y(d.value))
11668
+ .attr('fill', (d) => d.color || options.color || 'teal');
11669
+ // Exit old bars
11670
+ bars
11671
+ .exit()
11672
+ .transition()
11673
+ .duration(500)
11674
+ .attr('y', height - margin.bottom)
11675
+ .attr('height', 0)
11676
+ .remove();
11677
+ }
11678
+ drawAxes(x, y, height, margin, options) {
11679
+ const axisColor = options.axisColor || '#000';
11680
+ const axisFontSize = options.axisFontSize || 12;
11681
+ // Draw X axis
11682
+ this.svg
11683
+ .append('g')
11684
+ .attr('class', 'x-axis')
11685
+ .attr('transform', `translate(0,${height - margin.bottom})`)
11686
+ .call(this.d3.axisBottom(x).tickSizeOuter(0))
11687
+ .attr('color', axisColor)
11688
+ .style('font-size', `${axisFontSize}px`);
11689
+ // Draw Y axis
11690
+ this.svg
11691
+ .append('g')
11692
+ .attr('class', 'y-axis')
11693
+ .attr('transform', `translate(${margin.left},0)`)
11694
+ .call(this.d3.axisLeft(y))
11695
+ .attr('color', axisColor)
11696
+ .style('font-size', `${axisFontSize}px`);
11697
+ }
11698
+ updateAxes(x, y, height, margin, options) {
11699
+ const axisColor = options.axisColor || '#000';
11700
+ const axisFontSize = options.axisFontSize || 12;
11701
+ // Update X axis
11702
+ this.svg
11703
+ .select('.x-axis')
11704
+ .transition()
11705
+ .duration(500)
11706
+ .call(this.d3.axisBottom(x).tickSizeOuter(0))
11707
+ .attr('color', axisColor)
11708
+ .style('font-size', `${axisFontSize}px`);
11709
+ // Update Y axis
11710
+ this.svg
11711
+ .select('.y-axis')
11712
+ .transition()
11713
+ .duration(500)
11714
+ .call(this.d3.axisLeft(y))
11715
+ .attr('color', axisColor)
11716
+ .style('font-size', `${axisFontSize}px`);
11717
+ }
11718
+ addTooltips(data, x, y, options) {
11719
+ this.tooltip = this.d3
11720
+ .select('body')
11721
+ .append('div')
11722
+ .attr('class', 'tooltip')
11723
+ .style('opacity', 0)
11724
+ .style('position', 'absolute')
11725
+ .style('background', options.tooltipBackground || '#fff')
11726
+ .style('color', options.tooltipTextColor || '#000')
11727
+ .style('padding', '5px')
11728
+ .style('border-radius', '3px');
11729
+ this.svg
11730
+ .selectAll('rect')
11731
+ .on('mouseover', (event, d) => {
11732
+ const [xPos, yPos] = this.d3.pointer(event);
11733
+ this.tooltip.transition().duration(200).style('opacity', 0.9);
11734
+ this.tooltip
11735
+ .html(`Value: ${d.value}`)
11736
+ .style('left', `${xPos + 10}px`)
11737
+ .style('top', `${yPos - 10}px`);
11738
+ })
11739
+ .on('mouseout', () => {
11740
+ this.tooltip.transition().duration(500).style('opacity', 0);
11741
+ });
11742
+ }
11743
+ updateTooltips(data, x, y, options) {
11744
+ if (!this.tooltip) {
11745
+ this.addTooltips(data, x, y, options);
11746
+ }
11747
+ }
11748
+ addLegend(data, width, margin, options) {
11749
+ const legend = this.svg
11750
+ .append('g')
11751
+ .attr('class', 'legend')
11752
+ .attr('transform', `translate(${width - margin.right - 100}, ${margin.top})`);
11753
+ const legendItems = legend
11754
+ .selectAll('.legend-item')
11755
+ .data(data)
11756
+ .enter()
11757
+ .append('g')
11758
+ .attr('class', 'legend-item')
11759
+ .attr('transform', (d, i) => `translate(0, ${i * 20})`);
11760
+ legendItems
11761
+ .append('rect')
11762
+ .attr('width', 18)
11763
+ .attr('height', 18)
11764
+ .attr('fill', (d) => d.color || options.color || 'teal');
11765
+ legendItems
11766
+ .append('text')
11767
+ .attr('x', 24)
11768
+ .attr('y', 9)
11769
+ .attr('dy', '.35em')
11770
+ .text((d) => d.name); // Use name instead of id
11771
+ }
11772
+ updateLegend(data, width, margin, options) {
11773
+ const legend = this.svg.select('.legend').data([data]);
11774
+ const legendItems = legend.selectAll('.legend-item').data(data, (d) => d.id);
11775
+ // Enter new legend items
11776
+ const newLegendItems = legendItems
11777
+ .enter()
11778
+ .append('g')
11779
+ .attr('class', 'legend-item')
11780
+ .attr('transform', (d, i) => `translate(0, ${i * 20})`);
11781
+ newLegendItems
11782
+ .append('rect')
11783
+ .attr('width', 18)
11784
+ .attr('height', 18)
11785
+ .attr('fill', (d) => d.color || options.color || 'teal');
11786
+ newLegendItems
11787
+ .append('text')
11788
+ .attr('x', 24)
11789
+ .attr('y', 9)
11790
+ .attr('dy', '.35em')
11791
+ .text((d) => d.name); // Use name instead of id
11792
+ // Update existing legend items
11793
+ legendItems.select('text').text((d) => d.name); // Use name instead of id
11794
+ // Exit old legend items
11795
+ legendItems.exit().remove();
11796
+ }
11797
+ addZoom() {
11798
+ const zoom = this.d3
11799
+ .zoom()
11800
+ .scaleExtent([1, 10])
11801
+ .on('zoom', (event) => {
11802
+ this.svg.attr('transform', event.transform.toString());
11803
+ });
11804
+ this.svg.call(zoom);
11805
+ }
11806
+ addExportButton() {
11807
+ const exportButton = this.d3
11808
+ .select(this.chartEl().nativeElement)
11809
+ .append('button')
11810
+ .text('Export to PNG')
11811
+ .style('position', 'absolute')
11812
+ .style('top', '10px')
11813
+ .style('right', '10px')
11814
+ .on('click', () => {
11815
+ const svgElement = this.svg.node();
11816
+ if (svgElement) {
11817
+ const serializer = new XMLSerializer();
11818
+ const svgString = serializer.serializeToString(svgElement);
11819
+ const canvas = document.createElement('canvas');
11820
+ const ctx = canvas.getContext('2d');
11821
+ const img = new Image();
11822
+ img.onload = () => {
11823
+ canvas.width = img.width;
11824
+ canvas.height = img.height;
11825
+ ctx?.drawImage(img, 0, 0);
11826
+ const link = document.createElement('a');
11827
+ link.download = 'chart.png';
11828
+ link.href = canvas.toDataURL('image/png');
11829
+ link.click();
11830
+ };
11831
+ img.src = 'data:image/svg+xml;base64,' + btoa(svgString);
11832
+ }
11833
+ });
11834
+ }
11835
+ ngOnDestroy() {
11836
+ if (this.svg) {
11837
+ this.svg.selectAll('*').remove();
11838
+ }
11839
+ if (this.tooltip) {
11840
+ this.tooltip.remove();
11841
+ }
11842
+ }
11843
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBarChartWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11844
+ 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 }); }
11845
+ }
11846
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBarChartWidgetEditComponent, decorators: [{
11847
+ type: Component,
11848
+ args: [{
11849
+ template: `<div class="ax-flex ax-justify-center ax-items-center" #chart></div>`,
11850
+ standalone: true,
11851
+ changeDetection: ChangeDetectionStrategy.OnPush,
11852
+ }]
11853
+ }] });
11854
+
11855
+ var barChartWidgetEdit_component = /*#__PURE__*/Object.freeze({
11856
+ __proto__: null,
11857
+ AXPBarChartWidgetEditComponent: AXPBarChartWidgetEditComponent
11858
+ });
11859
+
11860
+ const AXPBarChartWidget = {
11861
+ name: 'bar-chart',
11862
+ title: 'Bar Chart Widget',
11863
+ group: AXP_WIDGETS_CHART_GROUP,
11864
+ type: 'chart',
11865
+ icon: 'fa-solid fa-chart-bar',
11866
+ visible: false,
11867
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
11868
+ components: {
11869
+ edit: {
11870
+ component: () => Promise.resolve().then(function () { return barChartWidgetEdit_component; }).then((c) => c.AXPBarChartWidgetEditComponent),
11871
+ },
11872
+ },
11873
+ };
11874
+
11875
+ class AXPDonutChartWidgetEditComponent extends AXPWidgetComponent {
11876
+ constructor() {
11877
+ super(...arguments);
11878
+ this.chartEl = viewChild.required('chart');
11879
+ this.#af = afterNextRender(async () => {
11880
+ await this.loadD3();
11881
+ this.createChart();
11882
+ });
11883
+ }
11884
+ #af;
11885
+ async loadD3() {
11886
+ try {
11887
+ this.d3 = await import('d3');
11888
+ }
11889
+ catch (error) {
11890
+ console.error('Failed to load D3.js:', error);
11891
+ }
11892
+ }
11893
+ createChart() {
11894
+ const chartElement = this.chartEl().nativeElement;
11895
+ this.d3.select(chartElement).selectAll('*').remove();
11896
+ const width = this.getValue().options.width;
11897
+ const height = this.getValue().options.height;
11898
+ const radius = Math.min(width, height) / 2;
11899
+ const arc = this.d3
11900
+ .arc()
11901
+ .innerRadius(radius * 0.67)
11902
+ .outerRadius(radius - 1);
11903
+ const pie = this.d3
11904
+ .pie()
11905
+ .sort(null)
11906
+ .value((d) => d.value);
11907
+ const colors = this.getValue().data.map((d) => d.color || this.getRandomColor());
11908
+ const color = this.d3
11909
+ .scaleOrdinal()
11910
+ .domain(this.getValue().data.map((d) => d.name))
11911
+ .range(colors);
11912
+ const svg = this.d3
11913
+ .select(chartElement)
11914
+ .append('svg')
11915
+ .attr('width', width)
11916
+ .attr('height', height)
11917
+ .attr('role', 'img')
11918
+ .attr('aria-label', 'Donut chart')
11919
+ .attr('viewBox', [-width / 2, -height / 2, width, height])
11920
+ .style('max-width', '100%')
11921
+ .style('height', 'auto');
11922
+ svg
11923
+ .append('g')
11924
+ .selectAll('path')
11925
+ .data(pie(this.getValue().data))
11926
+ .join('path')
11927
+ .attr('fill', (d) => color(d.data.name))
11928
+ .attr('d', (d) => arc(d));
11929
+ svg
11930
+ .append('g')
11931
+ .attr('font-size', 11)
11932
+ .attr('text-anchor', 'middle')
11933
+ .selectAll('text')
11934
+ .data(pie(this.getValue().data))
11935
+ .join('text')
11936
+ .attr('transform', (d) => `translate(${arc.centroid(d)})`)
11937
+ .text((d) => `${d.data.name}: ${d.data.value}`);
11938
+ }
11939
+ getRandomColor() {
11940
+ // Generate a random hex color
11941
+ return `#${Math.floor(Math.random() * 16777215).toString(16)}`;
11942
+ }
11943
+ ngOnDestroy() {
11944
+ this.d3.select(this.chartEl().nativeElement).selectAll('*').remove();
11945
+ }
11946
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDonutChartWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11947
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXPDonutChartWidgetEditComponent, 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 }); }
11948
+ }
11949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDonutChartWidgetEditComponent, decorators: [{
11950
+ type: Component,
11951
+ args: [{
11952
+ template: ` <div class="ax-flex ax-justify-center ax-items-center" #chart></div>`,
11953
+ standalone: true,
11954
+ changeDetection: ChangeDetectionStrategy.OnPush,
11955
+ }]
11956
+ }] });
11957
+
11958
+ var donutChartWidgetEdit_component = /*#__PURE__*/Object.freeze({
11959
+ __proto__: null,
11960
+ AXPDonutChartWidgetEditComponent: AXPDonutChartWidgetEditComponent
11961
+ });
11962
+
11963
+ const AXPDonutChartWidget = {
11964
+ name: 'donut-chart',
11965
+ title: 'Donut Chart Widget',
11966
+ group: AXP_WIDGETS_CHART_GROUP,
11967
+ type: 'chart',
11968
+ icon: 'fa-solid fa-donut',
11969
+ visible: false,
11970
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
11971
+ components: {
11972
+ edit: {
11973
+ component: () => Promise.resolve().then(function () { return donutChartWidgetEdit_component; }).then((c) => c.AXPDonutChartWidgetEditComponent),
11974
+ },
11975
+ },
11976
+ };
11977
+
11518
11978
  class AXPCronJobWidgetViewComponent extends AXPWidgetComponent {
11519
11979
  constructor() {
11520
11980
  super(...arguments);
@@ -11987,6 +12447,199 @@ const AXPColorBoxWidget = {
11987
12447
  },
11988
12448
  };
11989
12449
 
12450
+ class AXPTableEditorWidgetColumnComponent extends AXPColumnWidgetComponent {
12451
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12452
+ 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 }); }
12453
+ }
12454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetColumnComponent, decorators: [{
12455
+ type: Component,
12456
+ args: [{
12457
+ selector: 'axp-tabular-editor-widget-column',
12458
+ template: `{{ rawValue }}`,
12459
+ changeDetection: ChangeDetectionStrategy.OnPush,
12460
+ imports: [CommonModule],
12461
+ inputs: ['rawValue'],
12462
+ }]
12463
+ }] });
12464
+
12465
+ var tableWidgetColumn_component = /*#__PURE__*/Object.freeze({
12466
+ __proto__: null,
12467
+ AXPTableEditorWidgetColumnComponent: AXPTableEditorWidgetColumnComponent
12468
+ });
12469
+
12470
+ class AXPTabularDataEditorWidgetEditComponent extends AXPWidgetComponent {
12471
+ constructor() {
12472
+ super(...arguments);
12473
+ this.columns = computed(() => this.options()['columns']);
12474
+ this.defaultRowCount = computed(() => this.options()['defaultRowCount']);
12475
+ this.popupService = inject(AXPopupService);
12476
+ this.platform = inject(AXPlatform);
12477
+ }
12478
+ async openPopup() {
12479
+ const { AXPTabularDataPopupComponent } = await import('./acorex-platform-widgets-tabular-data-edit-popup.component-B90if8wb.mjs');
12480
+ const popupData = await this.popupService.open(AXPTabularDataPopupComponent, {
12481
+ size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',
12482
+ header: true,
12483
+ closeOnBackdropClick: true,
12484
+ closeButton: true,
12485
+ draggable: true,
12486
+ title: this.path ?? '',
12487
+ data: {
12488
+ columns: this.columns(),
12489
+ context: this.getValue(),
12490
+ defaultRowCount: this.defaultRowCount(),
12491
+ },
12492
+ });
12493
+ this.setValue(popupData.data?.context);
12494
+ }
12495
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataEditorWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12496
+ 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 }); }
12497
+ }
12498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataEditorWidgetEditComponent, decorators: [{
12499
+ type: Component,
12500
+ args: [{
12501
+ selector: 'axp-tabular-data-editor-widget',
12502
+ template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()"> Click To Edit</span> `,
12503
+ changeDetection: ChangeDetectionStrategy.OnPush,
12504
+ imports: [
12505
+ CommonModule,
12506
+ AXTextBoxModule,
12507
+ FormsModule,
12508
+ AXFormModule,
12509
+ AXDecoratorModule,
12510
+ AXValidationModule,
12511
+ AXButtonModule,
12512
+ AXPLayoutBuilderModule,
12513
+ AXDataTableModule,
12514
+ ],
12515
+ inputs: [],
12516
+ }]
12517
+ }] });
12518
+
12519
+ var tabularDataWidgetEdit_component = /*#__PURE__*/Object.freeze({
12520
+ __proto__: null,
12521
+ AXPTabularDataEditorWidgetEditComponent: AXPTabularDataEditorWidgetEditComponent
12522
+ });
12523
+
12524
+ class AXPTextBoxWidgetFilterComponent extends AXPWidgetComponent {
12525
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12526
+ 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 }); }
12527
+ }
12528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetFilterComponent, decorators: [{
12529
+ type: Component,
12530
+ args: [{
12531
+ template: ``,
12532
+ changeDetection: ChangeDetectionStrategy.OnPush,
12533
+ imports: [CommonModule, FormsModule],
12534
+ inputs: []
12535
+ }]
12536
+ }] });
12537
+
12538
+ var tableWidgetFilter_component = /*#__PURE__*/Object.freeze({
12539
+ __proto__: null,
12540
+ AXPTextBoxWidgetFilterComponent: AXPTextBoxWidgetFilterComponent
12541
+ });
12542
+
12543
+ class AXPTableEditorWidgetPrintComponent extends AXPWidgetComponent {
12544
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12545
+ 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 }); }
12546
+ }
12547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTableEditorWidgetPrintComponent, decorators: [{
12548
+ type: Component,
12549
+ args: [{
12550
+ template: ``,
12551
+ changeDetection: ChangeDetectionStrategy.OnPush,
12552
+ imports: [CommonModule],
12553
+ inputs: [],
12554
+ }]
12555
+ }] });
12556
+
12557
+ var tableWidgetPrint_component = /*#__PURE__*/Object.freeze({
12558
+ __proto__: null,
12559
+ AXPTableEditorWidgetPrintComponent: AXPTableEditorWidgetPrintComponent
12560
+ });
12561
+
12562
+ class AXPTabularDataEditorWidgetViewComponent extends AXPWidgetComponent {
12563
+ constructor() {
12564
+ super(...arguments);
12565
+ this.popupService = inject(AXPopupService);
12566
+ this.platform = inject(AXPlatform);
12567
+ this.columns = this.options()['columns'];
12568
+ }
12569
+ async openPopup() {
12570
+ const { AXPTabularDataPopupComponent } = await import('./acorex-platform-widgets-tabular-data-view-popup.component-BaslkAPS.mjs');
12571
+ this.popupService.open(AXPTabularDataPopupComponent, {
12572
+ size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',
12573
+ header: true,
12574
+ closeOnBackdropClick: true,
12575
+ closeButton: true,
12576
+ draggable: true,
12577
+ title: this.path ?? '',
12578
+ data: {
12579
+ items: this.getValue() ?? [],
12580
+ columns: this.columns,
12581
+ },
12582
+ });
12583
+ }
12584
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataEditorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12585
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPTabularDataEditorWidgetViewComponent, isStandalone: true, selector: "axp-table-editor-widget", usesInheritance: true, ngImport: i0, template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()"> Click To See Grid</span>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12586
+ }
12587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTabularDataEditorWidgetViewComponent, decorators: [{
12588
+ type: Component,
12589
+ args: [{
12590
+ selector: 'axp-table-editor-widget',
12591
+ template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()"> Click To See Grid</span>`,
12592
+ changeDetection: ChangeDetectionStrategy.OnPush,
12593
+ imports: [CommonModule],
12594
+ inputs: [],
12595
+ }]
12596
+ }] });
12597
+
12598
+ var tabularDataWidgetView_component = /*#__PURE__*/Object.freeze({
12599
+ __proto__: null,
12600
+ AXPTabularDataEditorWidgetViewComponent: AXPTabularDataEditorWidgetViewComponent
12601
+ });
12602
+
12603
+ const AXPTableEditorWidget = {
12604
+ name: 'table-editor',
12605
+ title: 'Table Editor Box',
12606
+ icon: 'fa-solid fa-input-text',
12607
+ description: 'Inputs single-line text',
12608
+ group: AXP_WIDGETS_EDITOR_GROUP,
12609
+ type: 'editor',
12610
+ defaultFilterWidgetName: 'string-filter',
12611
+ properties: [
12612
+ AXP_NAME_PROPERTY,
12613
+ AXP_DATA_PATH_PROPERTY,
12614
+ AXP_ALLOW_MULTIPLE_PROPERTY,
12615
+ AXP_DISABLED_PROPERTY,
12616
+ AXP_VALIDATION_PROPERTY,
12617
+ AXP_PLACEHOLDER_PROPERTY,
12618
+ AXP_HAS_CLEAR_BUTTON_PROPERTY,
12619
+ //cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),
12620
+ ],
12621
+ components: {
12622
+ view: {
12623
+ component: () => Promise.resolve().then(function () { return tabularDataWidgetView_component; }).then((c) => c.AXPTabularDataEditorWidgetViewComponent),
12624
+ },
12625
+ edit: {
12626
+ component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataEditorWidgetEditComponent),
12627
+ },
12628
+ filter: {
12629
+ component: () => Promise.resolve().then(function () { return tableWidgetFilter_component; }).then((c) => c.AXPTextBoxWidgetFilterComponent),
12630
+ },
12631
+ column: {
12632
+ component: () => Promise.resolve().then(function () { return tableWidgetColumn_component; }).then((c) => c.AXPTableEditorWidgetColumnComponent),
12633
+ },
12634
+ print: {
12635
+ component: () => Promise.resolve().then(function () { return tableWidgetPrint_component; }).then((c) => c.AXPTableEditorWidgetPrintComponent),
12636
+ },
12637
+ designer: {
12638
+ component: () => Promise.resolve().then(function () { return tabularDataWidgetEdit_component; }).then((c) => c.AXPTabularDataEditorWidgetEditComponent),
12639
+ },
12640
+ },
12641
+ };
12642
+
11990
12643
  class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent {
11991
12644
  constructor() {
11992
12645
  super(...arguments);
@@ -13621,6 +14274,7 @@ class AXPWidgetsModule {
13621
14274
  AXPGridItemWidget,
13622
14275
  AXPGridRowWidget,
13623
14276
  //
14277
+ AXPTableEditorWidget,
13624
14278
  AXPTextBoxWidget,
13625
14279
  AXPCheckBoxWidget,
13626
14280
  AXPSelectBoxWidget,
@@ -13664,6 +14318,9 @@ class AXPWidgetsModule {
13664
14318
  AXPBetweenExpressionValidationWidget,
13665
14319
  AXPEqualValidationWidget,
13666
14320
  AXPCallbackValidationWidget,
14321
+ //charts
14322
+ AXPDonutChartWidget,
14323
+ AXPBarChartWidget,
13667
14324
  ],
13668
14325
  })] }); }
13669
14326
  }
@@ -13686,6 +14343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13686
14343
  AXPGridItemWidget,
13687
14344
  AXPGridRowWidget,
13688
14345
  //
14346
+ AXPTableEditorWidget,
13689
14347
  AXPTextBoxWidget,
13690
14348
  AXPCheckBoxWidget,
13691
14349
  AXPSelectBoxWidget,
@@ -13729,6 +14387,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13729
14387
  AXPBetweenExpressionValidationWidget,
13730
14388
  AXPEqualValidationWidget,
13731
14389
  AXPCallbackValidationWidget,
14390
+ //charts
14391
+ AXPDonutChartWidget,
14392
+ AXPBarChartWidget,
13732
14393
  ],
13733
14394
  }),
13734
14395
  ],
@@ -13742,5 +14403,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13742
14403
  * Generated bundle index. Do not edit.
13743
14404
  */
13744
14405
 
13745
- export { AXPAdvancedGridItemWidget, AXPAdvancedGridItemWidgetDesignerComponent, AXPAdvancedGridItemWidgetPrintComponent, AXPAdvancedGridItemWidgetViewComponent, AXPAdvancedGridOptionsWidget, AXPAdvancedGridOptionsWidgetEditComponent, AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetPrintComponent, AXPAvatarWidgetViewComponent, AXPBetweenExpressionValidationWidget, AXPBetweenValidationWidgetEditComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCallbackValidationWidget, AXPCallbackValidationWidgetEditComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, 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, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_Flex_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, 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_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_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, 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 };
14406
+ 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_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_Flex_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, 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_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_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, 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 };
13746
14407
  //# sourceMappingURL=acorex-platform-widgets.mjs.map