@acorex/platform 18.1.0 → 18.1.2

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 (98) hide show
  1. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +1 -2
  2. package/esm2022/layout/builder/lib/builder/builder.module.mjs +4 -3
  3. package/esm2022/layout/builder/lib/builder/index.mjs +2 -1
  4. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +280 -0
  5. package/esm2022/layout/builder/lib/builder/widget.types.mjs +60 -1
  6. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +3 -3
  7. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +3 -3
  8. package/esm2022/layout/designer/lib/designer/designer.component.mjs +9 -5
  9. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +21 -21
  10. package/esm2022/layout/designer/lib/designer/shared/designer.typs.mjs +6 -2
  11. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +208 -47
  12. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-lookup-popup.component.mjs +56 -0
  13. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.mjs +1 -1
  14. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.type.mjs +2 -0
  15. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +3 -3
  16. package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +2 -1
  17. package/esm2022/widgets/lib/properties/editors.props.mjs +102 -308
  18. package/esm2022/widgets/lib/properties/general.props.mjs +4 -13
  19. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +3 -4
  20. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +3 -3
  21. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +9 -4
  22. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-view.component.mjs +6 -6
  23. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-designer.component.mjs +4 -4
  24. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +17 -24
  25. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-view.component.mjs +6 -6
  26. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.mjs +3 -3
  27. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-view.component.mjs +5 -3
  28. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-column.component.mjs +36 -6
  29. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.mjs +2 -1
  30. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +3 -7
  31. package/esm2022/widgets/lib/widgets/layout/block/block-widget-view.component.mjs +4 -4
  32. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.mjs +26 -16
  33. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +37 -31
  34. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-view.component.mjs +25 -6
  35. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +32 -26
  36. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.mjs +78 -8
  37. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.mjs +25 -6
  38. package/esm2022/widgets/lib/widgets/layout/page/page-widget-view.component.mjs +4 -4
  39. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.mjs +94 -19
  40. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.mjs +119 -8
  41. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-print.component.mjs +3 -2
  42. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-view.component.mjs +14 -22
  43. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget.config.mjs +16 -3
  44. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs → acorex-platform-common-rich-text-widget-edit.component-Do3YcmKg.mjs} +1 -2
  45. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Do3YcmKg.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-common.mjs +1 -1
  47. package/fesm2022/acorex-platform-layout-builder.mjs +368 -38
  48. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  49. package/fesm2022/acorex-platform-layout-designer.mjs +36 -28
  50. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  51. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs → acorex-platform-themes-default-entity-master-create-view.component-LyEomIA6.mjs} +3 -3
  52. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-LyEomIA6.mjs.map} +1 -1
  53. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CWXJxLS0.mjs → acorex-platform-themes-default-entity-master-list-view.component-CKRwvJTp.mjs} +3 -3
  54. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CWXJxLS0.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-CKRwvJTp.mjs.map} +1 -1
  55. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs → acorex-platform-themes-default-entity-master-modify-view.component-CMRfspMB.mjs} +3 -3
  56. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-CMRfspMB.mjs.map} +1 -1
  57. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DhcKSyrX.mjs +457 -0
  58. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DhcKSyrX.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default.mjs +134 -11
  60. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  61. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs → acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs} +3 -4
  62. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs → acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs} +4 -4
  64. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-widgets.mjs +620 -498
  66. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  67. package/layout/builder/lib/builder/builder.module.d.ts +5 -4
  68. package/layout/builder/lib/builder/index.d.ts +1 -0
  69. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +42 -0
  70. package/layout/builder/lib/builder/widget.types.d.ts +30 -1
  71. package/layout/designer/lib/designer/designer.component.d.ts +1 -0
  72. package/layout/designer/lib/designer/shared/designer.service.d.ts +2 -1
  73. package/layout/designer/lib/designer/shared/designer.typs.d.ts +15 -0
  74. package/package.json +11 -11
  75. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.d.ts +37 -15
  76. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-lookup-popup.component.d.ts +10 -0
  77. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.d.ts +6 -9
  78. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.type.d.ts +70 -0
  79. package/themes/default/lib/layouts/entity-layouts/index.d.ts +1 -0
  80. package/widgets/lib/properties/editors.props.d.ts +3 -3
  81. package/widgets/lib/widgets/actions/button/button-widget-designer.component.d.ts +1 -1
  82. package/widgets/lib/widgets/actions/button/button-widget-view.component.d.ts +1 -1
  83. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +1 -0
  84. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +1 -0
  85. package/widgets/lib/widgets/editors/select/select-box-widget-column.component.d.ts +5 -0
  86. package/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.d.ts +2 -1
  87. package/widgets/lib/widgets/layout/grid/grid-widget-view.component.d.ts +3 -0
  88. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +11 -2
  89. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.d.ts +3 -0
  90. package/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.d.ts +4 -3
  91. package/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.d.ts +10 -2
  92. package/widgets/lib/widgets/layout/repeater/repeater-widget-print.component.d.ts +1 -1
  93. package/widgets/lib/widgets/layout/repeater/repeater-widget-view.component.d.ts +2 -4
  94. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CGhOE3jO.mjs +0 -357
  96. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CGhOE3jO.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs.map +0 -1
@@ -7,12 +7,12 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
7
7
  import * as i4 from '@acorex/components/loading';
8
8
  import { AXLoadingModule } from '@acorex/components/loading';
9
9
  import * as i1$7 from '@acorex/platform/layout/builder';
10
- import { AXPWidgetComponent, AXPWidgetsCatalog, cloneProperty, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, AXP_WIDGETS_ADVANCE_GROUP, AXPContainerWidgetComponent, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetComponent, AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, AXP_WIDGETS_ADVANCE_GROUP, AXPContainerWidgetComponent, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';
11
11
  import * as i1$3 from '@angular/common';
12
12
  import { CommonModule } from '@angular/common';
13
13
  import * as i0 from '@angular/core';
14
- import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, effect, HostBinding, signal, ViewEncapsulation, ViewChild, ChangeDetectorRef, HostListener, NgModule } from '@angular/core';
15
- import { AX_STYLE_COLOR_TYPES, AXDataSource, convertArrayToDataSource } from '@acorex/components/common';
14
+ import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, HostBinding, signal, effect, ViewEncapsulation, ViewChild, ChangeDetectorRef, HostListener, NgModule } from '@angular/core';
15
+ import { AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, AXDataSource, convertArrayToDataSource } from '@acorex/components/common';
16
16
  import * as i1 from '@acorex/components/check-box';
17
17
  import { AXCheckBoxModule } from '@acorex/components/check-box';
18
18
  import * as i1$1 from '@angular/forms';
@@ -86,7 +86,7 @@ class AXPButtonWidgetViewComponent extends AXPWidgetComponent {
86
86
  };
87
87
  }
88
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPButtonWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPButtonWidgetViewComponent, isStandalone: true, selector: "axp_button_widget", usesInheritance: true, ngImport: i0, template: `
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPButtonWidgetViewComponent, isStandalone: true, selector: "axp-button-widget", usesInheritance: true, ngImport: i0, template: `
90
90
  <ax-button [disabled]="disabled()" [color]="color()" [look]="look()" [text]="text()">
91
91
  @if(icon() && text()){
92
92
  <ax-prefix
@@ -103,7 +103,7 @@ class AXPButtonWidgetViewComponent extends AXPWidgetComponent {
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPButtonWidgetViewComponent, decorators: [{
104
104
  type: Component,
105
105
  args: [{
106
- selector: 'axp_button_widget',
106
+ selector: 'axp-button-widget',
107
107
  template: `
108
108
  <ax-button [disabled]="disabled()" [color]="color()" [look]="look()" [text]="text()">
109
109
  @if(icon() && text()){
@@ -169,20 +169,11 @@ const AXP_DATA_SOURCE_PROPERTY = {
169
169
  visible: true,
170
170
  };
171
171
 
172
- const AXP_NAME_PROPERTY = {
172
+ const AXP_NAME_PROPERTY = createStringProperty({
173
173
  name: 'name',
174
174
  title: 'Name',
175
175
  group: AXP_WIDGET_PROPERTY_GROUP,
176
- schema: {
177
- dataType: 'string',
178
- interface: {
179
- name: 'name',
180
- path: 'name',
181
- type: AXPWidgetsCatalog.text,
182
- },
183
- },
184
- visible: true,
185
- };
176
+ });
186
177
  const AXP_THEME_PROPERTY = {
187
178
  name: 'theme',
188
179
  title: 'Theme',
@@ -305,379 +296,173 @@ const AXP_VALIDATION_PROPERTY = {
305
296
  },
306
297
  visible: true,
307
298
  };
308
- const AXP_CONTENT_PROPERTY = {
299
+ const AXP_CONTENT_PROPERTY = createStringProperty({
309
300
  name: 'content',
310
301
  title: 'Content',
302
+ path: 'options.content',
311
303
  group: AXP_DATA_PROPERTY_GROUP,
312
- schema: {
313
- dataType: 'string',
314
- interface: {
315
- name: 'content',
316
- path: 'options.content',
317
- type: AXPWidgetsCatalog.text,
318
- },
319
- },
320
- visible: true,
321
- };
322
- const AXP_DISABLED_PROPERTY = {
323
- name: 'disabled',
324
- title: 'Disabled',
325
- group: AXP_BEHAVIOR_PROPERTY_GROUP,
326
- schema: {
327
- dataType: 'boolean',
328
- defaultValue: false,
329
- interface: {
330
- name: 'disabled',
331
- path: 'options.disabled',
332
- type: AXPWidgetsCatalog.toggle,
333
- },
334
- },
335
- visible: true,
336
- };
337
- const AXP_READONLY_PROPERTY = {
338
- name: 'readonly',
339
- title: 'Readonly',
340
- group: AXP_BEHAVIOR_PROPERTY_GROUP,
341
- schema: {
342
- dataType: 'boolean',
343
- defaultValue: false,
344
- interface: {
345
- name: 'readonly',
346
- path: 'options.readonly',
347
- type: AXPWidgetsCatalog.toggle,
348
- },
349
- },
350
- visible: true,
351
- };
352
- const AXP_PLACEHOLDER_PROPERTY = {
304
+ });
305
+ const AXP_PLACEHOLDER_PROPERTY = createStringProperty({
353
306
  name: 'placeholder',
354
307
  title: 'Placeholder',
308
+ path: 'options.placeholder',
355
309
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
356
- schema: {
357
- dataType: 'string',
358
- interface: {
359
- name: 'placeholder',
360
- path: 'options.placeholder',
361
- type: AXPWidgetsCatalog.text,
362
- },
363
- },
364
- visible: true,
365
- };
366
- const AXP_DATA_PATH_PROPERTY = {
310
+ });
311
+ const AXP_DATA_PATH_PROPERTY = createStringProperty({
367
312
  name: 'path',
368
313
  title: 'Data Path',
369
314
  group: AXP_DATA_PROPERTY_GROUP,
370
- schema: {
371
- dataType: 'string',
372
- interface: {
373
- name: 'path',
374
- path: 'path',
375
- type: AXPWidgetsCatalog.text,
376
- },
377
- },
378
- visible: true,
379
- };
380
- const AXP_ALLOW_MULTIPLE_PROPERTY = {
315
+ });
316
+ const AXP_DISABLED_PROPERTY = createBooleanProperty({
317
+ name: 'disabled',
318
+ title: 'Disabled',
319
+ path: 'options.disabled',
320
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
321
+ });
322
+ const AXP_READONLY_PROPERTY = createBooleanProperty({
323
+ name: 'readonly',
324
+ title: 'Readonly',
325
+ path: 'options.readonly',
326
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
327
+ });
328
+ const AXP_ALLOW_MULTIPLE_PROPERTY = createBooleanProperty({
381
329
  name: 'multiple',
382
330
  title: 'Multiple',
331
+ path: 'options.multiple',
383
332
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
384
- schema: {
385
- dataType: 'boolean',
386
- defaultValue: false,
387
- interface: {
388
- name: 'multiple',
389
- path: 'options.multiple',
390
- type: AXPWidgetsCatalog.toggle,
391
- },
392
- },
393
- visible: true,
394
- };
395
- const AXP_HAS_LABEL_PROPERTY = {
333
+ });
334
+ const AXP_HAS_LABEL_PROPERTY = createBooleanProperty({
396
335
  name: 'hasLabel',
397
336
  title: 'Label',
337
+ path: 'options.hasLabel',
398
338
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
399
- schema: {
400
- dataType: 'boolean',
401
- defaultValue: true,
402
- interface: {
403
- name: 'hasLabel',
404
- path: 'options.hasLabel',
405
- type: AXPWidgetsCatalog.toggle,
406
- },
407
- },
408
- visible: true,
409
- };
410
- const AXP_HAS_ICON_PROPERTY = {
339
+ defaultValue: true,
340
+ });
341
+ const AXP_HAS_ICON_PROPERTY = createBooleanProperty({
411
342
  name: 'hasIcon',
412
343
  title: 'Icon',
344
+ path: 'options.hasIcon',
413
345
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
414
- schema: {
415
- dataType: 'boolean',
416
- defaultValue: true,
417
- interface: {
418
- name: 'hasIcon',
419
- path: 'options.hasIcon',
420
- type: AXPWidgetsCatalog.toggle,
421
- },
422
- },
423
- visible: true,
424
- };
425
- const AXP_ICON_PROPERTY = {
346
+ defaultValue: true,
347
+ });
348
+ const AXP_ICON_PROPERTY = createStringProperty({
426
349
  name: 'icon',
427
350
  title: 'Icon Name',
428
351
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
429
- schema: {
430
- dataType: 'string',
431
- interface: {
432
- name: 'icon',
433
- path: 'options.icon',
434
- type: AXPWidgetsCatalog.text,
435
- },
436
- },
437
- visible: true,
438
- };
439
- const AXP_IS_LOADING_PROPERTY = {
352
+ path: 'options.icon',
353
+ });
354
+ const AXP_IS_LOADING_PROPERTY = createBooleanProperty({
440
355
  name: 'loading',
441
356
  title: 'Is Loading',
442
357
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
443
- schema: {
444
- dataType: 'boolean',
445
- interface: {
446
- name: 'loading',
447
- path: 'options.loading',
448
- type: AXPWidgetsCatalog.toggle,
449
- },
450
- },
451
- visible: true,
452
- };
453
- const AXP_HAS_CLEAR_BUTTON_PROPERTY = {
358
+ path: 'options.loading',
359
+ });
360
+ const AXP_HAS_CLEAR_BUTTON_PROPERTY = createBooleanProperty({
454
361
  name: 'hasClearButton',
455
362
  title: 'Clear Button',
363
+ path: 'options.hasClearButton',
456
364
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
457
- schema: {
458
- dataType: 'boolean',
459
- interface: {
460
- name: 'hasClearButton',
461
- path: 'options.hasClearButton',
462
- type: AXPWidgetsCatalog.toggle,
463
- },
464
- },
465
- visible: true,
466
- };
467
- const AXP_HAS_COPY_ICON_PROPERTY = {
365
+ defaultValue: true,
366
+ });
367
+ const AXP_HAS_COPY_ICON_PROPERTY = createBooleanProperty({
468
368
  name: 'hasCopyIcon',
469
369
  title: 'Copy Icon',
370
+ path: 'options.hasCopyIcon',
470
371
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
471
- schema: {
472
- dataType: 'boolean',
473
- interface: {
474
- name: 'hasCopyIcon',
475
- path: 'options.hasCopyIcon',
476
- type: AXPWidgetsCatalog.toggle,
477
- },
478
- },
479
- visible: true,
480
- };
481
- const AXP_HAS_EYE_ICON_PROPERTY = {
372
+ defaultValue: true,
373
+ });
374
+ const AXP_HAS_EYE_ICON_PROPERTY = createBooleanProperty({
482
375
  name: 'hasEyeIcon',
483
376
  title: 'Eye Icon',
377
+ path: 'options.hasEyeIcon',
484
378
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
485
- schema: {
486
- dataType: 'boolean',
487
- interface: {
488
- name: 'hasEyeIcon',
489
- path: 'options.hasEyeIcon',
490
- type: AXPWidgetsCatalog.toggle,
491
- },
492
- },
493
- visible: true,
494
- };
495
- const AXP_DOWNLOADABLE_PROPERTY = {
379
+ defaultValue: true,
380
+ });
381
+ const AXP_DOWNLOADABLE_PROPERTY = createBooleanProperty({
496
382
  name: 'downloadable',
497
383
  title: 'Downloadable',
384
+ path: 'options.downloadable',
498
385
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
499
- schema: {
500
- dataType: 'boolean',
501
- interface: {
502
- name: 'downloadable',
503
- path: 'options.downloadable',
504
- type: AXPWidgetsCatalog.toggle,
505
- },
506
- },
507
- visible: true,
508
- };
509
- const AXP_TRULY_TEXT_PROPERTY = {
386
+ defaultValue: true,
387
+ });
388
+ // Converted with createStringProperty
389
+ const AXP_TRULY_TEXT_PROPERTY = createStringProperty({
510
390
  name: 'trulyText',
511
391
  title: 'Truly Text',
392
+ path: 'options.trulyText',
512
393
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
513
- schema: {
514
- dataType: 'string',
515
- interface: {
516
- name: 'trulyText',
517
- path: 'options.trulyText',
518
- type: AXPWidgetsCatalog.text,
519
- },
520
- },
521
- visible: true,
522
- };
523
- const AXP_FALSY_TEXT_PROPERTY = {
394
+ });
395
+ const AXP_FALSY_TEXT_PROPERTY = createStringProperty({
524
396
  name: 'falsyText',
525
397
  title: 'Falsy Text',
398
+ path: 'options.falsyText',
526
399
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
527
- schema: {
528
- dataType: 'string',
529
- interface: {
530
- name: 'falsyText',
531
- path: 'options.falsyText',
532
- type: AXPWidgetsCatalog.text,
533
- },
534
- },
535
- visible: true,
536
- };
537
- const AXP_TEXT_PROPERTY = {
400
+ });
401
+ const AXP_TEXT_PROPERTY = createStringProperty({
538
402
  name: 'text',
539
403
  title: 'Text',
404
+ path: 'options.text',
540
405
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
541
- schema: {
542
- dataType: 'string',
543
- interface: {
544
- name: 'text',
545
- path: 'options.text',
546
- type: AXPWidgetsCatalog.text,
547
- },
548
- },
549
- visible: true,
550
- };
551
- const AXP_TITLE_PROPERTY = {
406
+ });
407
+ const AXP_TITLE_PROPERTY = createStringProperty({
552
408
  name: 'title',
553
409
  title: 'Title',
410
+ path: 'options.title',
554
411
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
555
- schema: {
556
- dataType: 'string',
557
- interface: {
558
- name: 'title',
559
- path: 'options.title',
560
- type: AXPWidgetsCatalog.text,
561
- },
562
- },
563
- visible: true,
564
- };
565
- const AXP_LABEL_PROPERTY = {
412
+ });
413
+ const AXP_LABEL_PROPERTY = createStringProperty({
566
414
  name: 'label',
567
415
  title: 'Label',
416
+ path: 'options.label',
568
417
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
569
- schema: {
570
- dataType: 'string',
571
- defaultValue: 'Sample Label',
572
- interface: {
573
- name: 'label',
574
- path: 'options.label',
575
- type: AXPWidgetsCatalog.text,
576
- },
577
- },
578
- visible: true,
579
- };
580
- const AXP_VALUE_FIELD_PROPERTY = {
418
+ defaultValue: 'Sample Label',
419
+ });
420
+ const AXP_VALUE_FIELD_PROPERTY = createStringProperty({
581
421
  name: 'valueField',
582
422
  title: 'Value Field',
423
+ path: 'options.valueField',
583
424
  group: AXP_DATA_PROPERTY_GROUP,
584
- schema: {
585
- dataType: 'string',
586
- interface: {
587
- name: 'valueField',
588
- path: 'options.valueField',
589
- type: AXPWidgetsCatalog.text,
590
- },
591
- },
592
- visible: true,
593
- };
594
- const AXP_TEXT_FIELD_PROPERTY = {
425
+ });
426
+ const AXP_TEXT_FIELD_PROPERTY = createStringProperty({
595
427
  name: 'textField',
596
428
  title: 'Text Field',
429
+ path: 'options.textField',
597
430
  group: AXP_DATA_PROPERTY_GROUP,
598
- schema: {
599
- dataType: 'string',
600
- interface: {
601
- name: 'textField',
602
- path: 'options.textField',
603
- type: AXPWidgetsCatalog.text,
604
- },
605
- },
606
- visible: true,
607
- };
608
- const AXP_DESCRIPTION_PROPERTY = {
431
+ });
432
+ const AXP_DESCRIPTION_PROPERTY = createStringProperty({
609
433
  name: 'description',
610
434
  title: 'Description',
435
+ path: 'options.description',
611
436
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
612
- schema: {
613
- dataType: 'string',
614
- interface: {
615
- name: 'description',
616
- path: 'options.description',
617
- type: AXPWidgetsCatalog.text,
618
- },
619
- },
620
- visible: true,
621
- };
622
- const AXP_STYLE_COLOR_PROPERTY = {
437
+ });
438
+ const AXP_STYLE_COLOR_PROPERTY = createSelectProperty({
623
439
  name: 'color',
624
440
  title: 'Color',
441
+ dataSource: AX_STYLE_COLOR_TYPES,
442
+ defaultValue: 'primary',
443
+ path: 'options.color',
625
444
  group: AXP_STYLING_PROPERTY_GROUP,
626
- schema: {
627
- dataType: 'string',
628
- defaultValue: { id: 'primary' },
629
- interface: {
630
- name: 'color',
631
- path: 'options.color',
632
- type: AXPWidgetsCatalog.select,
633
- options: {
634
- dataSource: AX_STYLE_COLOR_TYPES.map((i) => ({ id: i, title: i })),
635
- hasClearButton: true,
636
- },
637
- },
638
- },
639
- visible: true,
640
- };
641
- const AXP_STYLE_LOOK_PROPERTY = {
445
+ });
446
+ const AXP_STYLE_LOOK_PROPERTY = createSelectProperty({
642
447
  name: 'look',
643
448
  title: 'Look',
449
+ dataSource: AX_STYLE_LOOK_TYPES,
450
+ defaultValue: 'solid',
451
+ path: 'options.look',
644
452
  group: AXP_STYLING_PROPERTY_GROUP,
645
- schema: {
646
- dataType: 'string',
647
- defaultValue: { id: 'solid' },
648
- interface: {
649
- name: 'look',
650
- path: 'options.look',
651
- type: AXPWidgetsCatalog.select,
652
- options: {
653
- dataSource: ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'].map((i) => ({ id: i, title: i })), //TODO remove this array and use AX_STYLE_LOOK_TYPES instead
654
- },
655
- },
656
- },
657
- visible: true,
658
- };
659
- const AXP_DATE_FROMAT_PROPERTY = {
453
+ });
454
+ const AXP_DATE_FORMAT_PROPERTY = createSelectProperty({
660
455
  name: 'format',
661
456
  title: 'Format',
457
+ dataSource: [
458
+ { id: 'date', title: 'Date' },
459
+ { id: 'datetime', title: 'DateTime' },
460
+ { id: 'time', title: 'Time' },
461
+ ],
462
+ defaultValue: { id: 'date', title: 'date' },
463
+ path: 'options.format',
662
464
  group: AXP_BEHAVIOR_PROPERTY_GROUP,
663
- schema: {
664
- dataType: 'string',
665
- defaultValue: { id: 'date', title: 'Date' },
666
- interface: {
667
- name: 'format',
668
- path: 'options.format',
669
- type: AXPWidgetsCatalog.select,
670
- options: {
671
- dataSource: [
672
- { id: 'date', title: 'Date' },
673
- { id: 'datetime', title: 'DateTime' },
674
- { id: 'time', title: 'Time' },
675
- ],
676
- },
677
- },
678
- },
679
- visible: true,
680
- };
465
+ });
681
466
  function booleanDefaultProperty(defaultValue = false) {
682
467
  return {
683
468
  name: 'defaultValue',
@@ -1061,7 +846,7 @@ const AXPButtonWidget = {
1061
846
  ],
1062
847
  components: {
1063
848
  designer: {
1064
- component: () => import('./acorex-platform-widgets-button-widget-designer.component-COvuxaTt.mjs').then((c) => c.AXPButtonWidgetDesignerComponent),
849
+ component: () => import('./acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs').then((c) => c.AXPButtonWidgetDesignerComponent),
1065
850
  },
1066
851
  view: {
1067
852
  component: () => Promise.resolve().then(function () { return buttonWidgetView_component; }).then((c) => c.AXPButtonWidgetViewComponent),
@@ -1133,7 +918,7 @@ const AXPCheckBoxWidget = {
1133
918
  ],
1134
919
  components: {
1135
920
  designer: {
1136
- component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
921
+ component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
1137
922
  },
1138
923
  view: {
1139
924
  component: () => import('./acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs').then((c) => c.AXPCheckBoxWidgetViewComponent),
@@ -1260,6 +1045,7 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1260
1045
  this.multiple = computed(() => this.options()['multiple']);
1261
1046
  this.hasIcon = computed(() => this.options()['hasIcon']);
1262
1047
  this.disabled = computed(() => this.options()['disabled']);
1048
+ this.placeholder = computed(() => this.options()['placeholder'] ?? `Enter ${this.type()} ...`);
1263
1049
  this.popup = inject(AXPopupService);
1264
1050
  this.dataSource = new AXDataSource({
1265
1051
  pageSize: this.labelList().length,
@@ -1302,7 +1088,6 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1302
1088
  return 'fa-info';
1303
1089
  }
1304
1090
  };
1305
- effect(() => console.log(this.type()));
1306
1091
  }
1307
1092
  addItem() {
1308
1093
  const newValues = [...this.internalValue(), this.emptyValue()];
@@ -1334,12 +1119,12 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1334
1119
  this.dataSource.refresh();
1335
1120
  }
1336
1121
  }
1122
+ const newValues = this.internalValue().map((item, index) => selectedIndex === index ? { ...item, [name]: value } : item);
1123
+ if (this.multiple())
1124
+ this.setValue(newValues);
1125
+ else
1126
+ this.setValue(newValues[0]);
1337
1127
  }
1338
- const newValues = this.internalValue().map((item, index) => selectedIndex === index ? { ...item, [name]: value } : item);
1339
- if (this.multiple())
1340
- this.setValue(newValues);
1341
- else
1342
- this.setValue(newValues[0]);
1343
1128
  }
1344
1129
  generateClasses(element) {
1345
1130
  if (this.multiple()) {
@@ -1353,7 +1138,7 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1353
1138
  }
1354
1139
  else {
1355
1140
  if (element === 'value') {
1356
- return 'ax-col-start-1 ax-col-end-11';
1141
+ return 'ax-col-start-1 ax-col-end-12';
1357
1142
  }
1358
1143
  }
1359
1144
  }
@@ -1407,7 +1192,7 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1407
1192
  (onValueChanged)="handleValueChange($event, $index)"
1408
1193
  type="text"
1409
1194
  name="value"
1410
- placeholder="Enter {{ type() }} ..."
1195
+ [placeholder]="placeholder()"
1411
1196
  [ngClass]="generateClasses('value')"
1412
1197
  [disabled]="disabled()"
1413
1198
  >
@@ -1418,7 +1203,6 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1418
1203
  [options]="validation.options"
1419
1204
  ></ax-validation-rule>
1420
1205
  }
1421
- <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule>
1422
1206
  </ax-text-box>
1423
1207
  @if(hasLabel()){
1424
1208
  <ax-select-box
@@ -1426,13 +1210,10 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1426
1210
  [ngModel]="item.label"
1427
1211
  [disabled]="disabled()"
1428
1212
  (onValueChanged)="handleValueChange($event, $index)"
1429
- placeholder="Choose label..."
1213
+ placeholder="{{ 'selectbox.popover.title' | translate | async }}"
1430
1214
  name="label"
1431
1215
  [ngClass]="generateClasses('label')"
1432
1216
  >
1433
- @if(type()==='email'){
1434
- <ax-validation-rule [rule]="'email'"></ax-validation-rule>
1435
- }
1436
1217
  </ax-select-box>
1437
1218
  } @if(multiple()){
1438
1219
  <ax-button
@@ -1451,14 +1232,14 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1451
1232
  [disabled]="disabled()"
1452
1233
  look="twotone"
1453
1234
  (onClick)="addItem()"
1454
- class="ax-col-start-7 ax-col-end-13 lg:ax-col-start-10 xl:ax-col-start-11 "
1235
+ class="ax-col-start-6 ax-col-end-13 lg:ax-col-start-8 xl:ax-col-start-10 "
1455
1236
  >
1456
1237
  <ax-prefix>
1457
1238
  <ax-icon class="fa-solid fa-add"></ax-icon>
1458
1239
  </ax-prefix>
1459
1240
  </ax-button>
1460
1241
  }
1461
- </div> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i4$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXTranslationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1242
+ </div> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i4$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i7.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1$2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1462
1243
  }
1463
1244
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPContactWidgetEditComponent, decorators: [{
1464
1245
  type: Component,
@@ -1470,7 +1251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1470
1251
  (onValueChanged)="handleValueChange($event, $index)"
1471
1252
  type="text"
1472
1253
  name="value"
1473
- placeholder="Enter {{ type() }} ..."
1254
+ [placeholder]="placeholder()"
1474
1255
  [ngClass]="generateClasses('value')"
1475
1256
  [disabled]="disabled()"
1476
1257
  >
@@ -1481,7 +1262,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1481
1262
  [options]="validation.options"
1482
1263
  ></ax-validation-rule>
1483
1264
  }
1484
- <ax-validation-rule message="field can't be empty" rule="required"> </ax-validation-rule>
1485
1265
  </ax-text-box>
1486
1266
  @if(hasLabel()){
1487
1267
  <ax-select-box
@@ -1489,13 +1269,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1489
1269
  [ngModel]="item.label"
1490
1270
  [disabled]="disabled()"
1491
1271
  (onValueChanged)="handleValueChange($event, $index)"
1492
- placeholder="Choose label..."
1272
+ placeholder="{{ 'selectbox.popover.title' | translate | async }}"
1493
1273
  name="label"
1494
1274
  [ngClass]="generateClasses('label')"
1495
1275
  >
1496
- @if(type()==='email'){
1497
- <ax-validation-rule [rule]="'email'"></ax-validation-rule>
1498
- }
1499
1276
  </ax-select-box>
1500
1277
  } @if(multiple()){
1501
1278
  <ax-button
@@ -1514,7 +1291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1514
1291
  [disabled]="disabled()"
1515
1292
  look="twotone"
1516
1293
  (onClick)="addItem()"
1517
- class="ax-col-start-7 ax-col-end-13 lg:ax-col-start-10 xl:ax-col-start-11 "
1294
+ class="ax-col-start-6 ax-col-end-13 lg:ax-col-start-8 xl:ax-col-start-10 "
1518
1295
  >
1519
1296
  <ax-prefix>
1520
1297
  <ax-icon class="fa-solid fa-add"></ax-icon>
@@ -1571,11 +1348,11 @@ var contactWidgetPrint_component = /*#__PURE__*/Object.freeze({
1571
1348
  class AXPContactWidgetViewComponent extends AXPWidgetComponent {
1572
1349
  constructor() {
1573
1350
  super(...arguments);
1574
- this.type = computed(() => this.options()['type']);
1575
- this.labelList = computed(() => this.options()['labelList'] || ['primary', 'secondary', 'Add New']);
1576
- this.hasLabel = computed(() => this.options()['hasLabel']);
1577
- this.multiple = computed(() => this.options()['multiple']);
1578
- this.hasIcon = computed(() => this.options()['hasIcon']);
1351
+ this.type = computed(() => this.options()['type'] ?? 'link');
1352
+ this.labelList = computed(() => this.options()['labelList'] ?? ['primary', 'secondary']);
1353
+ this.hasLabel = computed(() => this.options()['hasLabel'] ?? false);
1354
+ this.multiple = computed(() => this.options()['multiple'] ?? false);
1355
+ this.hasIcon = computed(() => this.options()['hasIcon'] ?? false);
1579
1356
  this.internalValue = computed(() => this.itemToArray());
1580
1357
  this.clipboard = inject(AXPClipBoardService);
1581
1358
  this.chooseIcon = () => {
@@ -2062,7 +1839,7 @@ const AXPDateTimeBoxWidget = {
2062
1839
  AXP_NAME_PROPERTY,
2063
1840
  AXP_DATA_PATH_PROPERTY,
2064
1841
  AXP_ALLOW_MULTIPLE_PROPERTY,
2065
- AXP_DATE_FROMAT_PROPERTY,
1842
+ AXP_DATE_FORMAT_PROPERTY,
2066
1843
  AXP_READONLY_PROPERTY,
2067
1844
  AXP_DISABLED_PROPERTY,
2068
1845
  AXP_VALIDATION_PROPERTY,
@@ -4448,13 +4225,15 @@ class AXPRichTextWidgetViewComponent extends AXPWidgetComponent {
4448
4225
  });
4449
4226
  }
4450
4227
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRichTextWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4451
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPRichTextWidgetViewComponent, isStandalone: true, selector: "axp-rich-text-widget", usesInheritance: true, ngImport: i0, template: `<span class="ax-truncate ax-underline ax-block ax-w-full ax-cursor-pointer" (click)="openPopup()" [innerHTML]="text()"> </span>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4228
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPRichTextWidgetViewComponent, isStandalone: true, selector: "axp-rich-text-widget", usesInheritance: true, ngImport: i0, template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()" [innerHTML]="text()">
4229
+ </span>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4452
4230
  }
4453
4231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRichTextWidgetViewComponent, decorators: [{
4454
4232
  type: Component,
4455
4233
  args: [{
4456
4234
  selector: 'axp-rich-text-widget',
4457
- template: `<span class="ax-truncate ax-underline ax-block ax-w-full ax-cursor-pointer" (click)="openPopup()" [innerHTML]="text()"> </span>`,
4235
+ template: ` <span class="ax-truncate ax-underline ax-cursor-pointer" (click)="openPopup()" [innerHTML]="text()">
4236
+ </span>`,
4458
4237
  standalone: true,
4459
4238
  changeDetection: ChangeDetectionStrategy.OnPush,
4460
4239
  imports: [CommonModule],
@@ -4866,17 +4645,45 @@ var selectBoxWidgetFilter_component = /*#__PURE__*/Object.freeze({
4866
4645
  });
4867
4646
 
4868
4647
  class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
4648
+ constructor() {
4649
+ super(...arguments);
4650
+ this.multiple = this.options['multiple'];
4651
+ this.valueField = this.options['valueField'] ?? 'id';
4652
+ this.textField = this.options['textField'] ?? 'title';
4653
+ this.internalValue = computed(() => Array.isArray(this.rawValue)
4654
+ ? this.rawValue.map((item) => this.extractItem(item))
4655
+ : [this.extractItem(this.rawValue)]);
4656
+ }
4657
+ extractItem(item) {
4658
+ return typeof item == 'object'
4659
+ ? {
4660
+ [this.valueField]: item[this.valueField],
4661
+ [this.textField]: item[this.textField],
4662
+ }
4663
+ : {
4664
+ [this.valueField]: item,
4665
+ [this.textField]: item,
4666
+ };
4667
+ }
4869
4668
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSelectBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4870
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPSelectBoxWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4669
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPSelectBoxWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-flex ax-gap-2">
4670
+ @for (item of internalValue(); track $index) {
4671
+ <ax-badge [look]="'twotone'" [text]="item[this.textField]" color="primary"></ax-badge>
4672
+ }
4673
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i2$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4871
4674
  }
4872
4675
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSelectBoxWidgetColumnComponent, decorators: [{
4873
4676
  type: Component,
4874
4677
  args: [{
4875
- template: ``,
4678
+ template: ` <div class="ax-flex ax-gap-2">
4679
+ @for (item of internalValue(); track $index) {
4680
+ <ax-badge [look]="'twotone'" [text]="item[this.textField]" color="primary"></ax-badge>
4681
+ }
4682
+ </div>`,
4876
4683
  standalone: true,
4877
4684
  changeDetection: ChangeDetectionStrategy.OnPush,
4878
- imports: [CommonModule],
4879
- inputs: ['rawValue']
4685
+ imports: [CommonModule, AXBadgeModule],
4686
+ inputs: ['rawValue'],
4880
4687
  }]
4881
4688
  }] });
4882
4689
 
@@ -5161,6 +4968,7 @@ class AXPSelectionListWidgetColumnComponent extends AXPColumnWidgetComponent {
5161
4968
  this.valueField = this.options['valueField'];
5162
4969
  this.textField = this.options['textField'];
5163
4970
  this.items = this.options['items'];
4971
+ this.multiple = this.options['multiple'];
5164
4972
  this.selectedItemIds = computed(() => {
5165
4973
  return this.rawValue || [];
5166
4974
  });
@@ -6633,22 +6441,22 @@ class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent {
6633
6441
  });
6634
6442
  }
6635
6443
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPMapBoxWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6636
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPMapBoxWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<div [class.height.px]="height()" class="ax-w-full">
6444
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPMapBoxWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<div [style.height.px]="height()" class="ax-w-full">
6637
6445
  <ax-map
6638
- [hasMarker]="false"
6446
+ [hasDraw]="false"
6639
6447
  [markers]="markers()"
6640
6448
  [zoomLevel]="zoomLevel()"
6641
6449
  [latitude]="initialLocation().latitude"
6642
6450
  [longitude]="initialLocation().longitude"
6643
6451
  ></ax-map>
6644
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "hasMarker", "hasLocator", "markerPlace", "locatePlace", "markers"], outputs: ["onMarkerAdded", "onMarkerChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6452
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "hasDraw", "hasLocator", "markerPlace", "locatePlace", "markers"], outputs: ["onMarkerAdded", "onMarkerChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6645
6453
  }
6646
6454
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPMapBoxWidgetViewComponent, decorators: [{
6647
6455
  type: Component,
6648
6456
  args: [{
6649
- template: `<div [class.height.px]="height()" class="ax-w-full">
6457
+ template: `<div [style.height.px]="height()" class="ax-w-full">
6650
6458
  <ax-map
6651
- [hasMarker]="false"
6459
+ [hasDraw]="false"
6652
6460
  [markers]="markers()"
6653
6461
  [zoomLevel]="zoomLevel()"
6654
6462
  [latitude]="initialLocation().latitude"
@@ -6690,6 +6498,9 @@ class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent {
6690
6498
  },
6691
6499
  });
6692
6500
  }
6501
+ onMarkerChanged(event) {
6502
+ this.setValue(event);
6503
+ }
6693
6504
  get __class() {
6694
6505
  const cls = {};
6695
6506
  cls[`ax-block`] = true;
@@ -6700,15 +6511,16 @@ class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent {
6700
6511
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPMapBoxWidgetEditComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: ` <div [style.height.px]="height()" class="ax-w-full">
6701
6512
  <ax-map
6702
6513
  class="ax-h-full"
6514
+ (onMarkerChanged)="onMarkerChanged($event)"
6703
6515
  [hasLocator]="hasLocate()"
6704
- [hasMarker]="hasDraw()"
6516
+ [hasDraw]="hasDraw()"
6705
6517
  [latitude]="initialLocation().latitude"
6706
6518
  [longitude]="initialLocation().longitude"
6707
6519
  [zoomLevel]="zoomLevel()"
6708
6520
  [maxMarker]="maxMarker()"
6709
6521
  >
6710
6522
  </ax-map>
6711
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "hasMarker", "hasLocator", "markerPlace", "locatePlace", "markers"], outputs: ["onMarkerAdded", "onMarkerChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6523
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "hasDraw", "hasLocator", "markerPlace", "locatePlace", "markers"], outputs: ["onMarkerAdded", "onMarkerChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6712
6524
  }
6713
6525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPMapBoxWidgetEditComponent, decorators: [{
6714
6526
  type: Component,
@@ -6716,8 +6528,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
6716
6528
  template: ` <div [style.height.px]="height()" class="ax-w-full">
6717
6529
  <ax-map
6718
6530
  class="ax-h-full"
6531
+ (onMarkerChanged)="onMarkerChanged($event)"
6719
6532
  [hasLocator]="hasLocate()"
6720
- [hasMarker]="hasDraw()"
6533
+ [hasDraw]="hasDraw()"
6721
6534
  [latitude]="initialLocation().latitude"
6722
6535
  [longitude]="initialLocation().longitude"
6723
6536
  [zoomLevel]="zoomLevel()"
@@ -7175,9 +6988,7 @@ class AXPBlockWidgetDesignerComponent extends AXPContainerWidgetComponent {
7175
6988
  @for (node of children(); track $index) {
7176
6989
  <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"></ng-container>
7177
6990
  }
7178
- @empty {
7179
- <axp-designer-add-widget-button class="ax-flex-1 ax-self-center ax-place-self-end"></axp-designer-add-widget-button>
7180
- }
6991
+ <axp-designer-add-widget-button class="ax-flex-1 ax-self-center ax-place-self-end"></axp-designer-add-widget-button>
7181
6992
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetButtonComponent, selector: "axp-designer-add-widget-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7182
6993
  }
7183
6994
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPBlockWidgetDesignerComponent, decorators: [{
@@ -7188,9 +6999,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7188
6999
  @for (node of children(); track $index) {
7189
7000
  <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"></ng-container>
7190
7001
  }
7191
- @empty {
7192
- <axp-designer-add-widget-button class="ax-flex-1 ax-self-center ax-place-self-end"></axp-designer-add-widget-button>
7193
- }
7002
+ <axp-designer-add-widget-button class="ax-flex-1 ax-self-center ax-place-self-end"></axp-designer-add-widget-button>
7194
7003
  `,
7195
7004
  standalone: true,
7196
7005
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7246,9 +7055,9 @@ class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
7246
7055
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPBlockWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7247
7056
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPBlockWidgetViewComponent, isStandalone: true, selector: "axp-block-widget", host: { properties: { "class": "this.__class", "style": "this.__style" } }, usesInheritance: true, ngImport: i0, template: `
7248
7057
  @for (node of children(); track $index) {
7249
- <axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-renderer>
7058
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"></ng-container>
7250
7059
  }
7251
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$7.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7060
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7252
7061
  }
7253
7062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPBlockWidgetViewComponent, decorators: [{
7254
7063
  type: Component,
@@ -7256,7 +7065,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7256
7065
  selector: 'axp-block-widget',
7257
7066
  template: `
7258
7067
  @for (node of children(); track $index) {
7259
- <axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-renderer>
7068
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"></ng-container>
7260
7069
  }
7261
7070
  `,
7262
7071
  standalone: true,
@@ -7317,9 +7126,9 @@ class AXPPageWidgetViewComponent extends AXPWidgetComponent {
7317
7126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPPageWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7318
7127
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPPageWidgetViewComponent, isStandalone: true, selector: "axp-page-widget", host: { properties: { "style": "this.__style" } }, usesInheritance: true, ngImport: i0, template: `
7319
7128
  @for (node of children(); track $index) {
7320
- <axp-widget-renderer [node]="node" [parentNode]="this" [mode]="mode" > </axp-widget-renderer>
7129
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"></ng-container>
7321
7130
  }
7322
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$7.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7131
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7323
7132
  }
7324
7133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPPageWidgetViewComponent, decorators: [{
7325
7134
  type: Component,
@@ -7327,7 +7136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7327
7136
  selector: 'axp-page-widget',
7328
7137
  template: `
7329
7138
  @for (node of children(); track $index) {
7330
- <axp-widget-renderer [node]="node" [parentNode]="this" [mode]="mode" > </axp-widget-renderer>
7139
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"></ng-container>
7331
7140
  }
7332
7141
  `,
7333
7142
  standalone: true,
@@ -7382,41 +7191,33 @@ class AXPRepeaterWidgetViewComponent extends AXPWidgetComponent {
7382
7191
  ngAfterViewInit() {
7383
7192
  this.rows.set(this.getValue() ?? []);
7384
7193
  }
7385
- addNew() {
7386
- this.rows.update((prev) => [...prev, {}]);
7387
- }
7388
- api() {
7389
- return {
7390
- "addNew": this.addNew.bind(this)
7391
- };
7392
- }
7393
7194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7394
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRepeaterWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
7395
- @for(row of rows();let i=$index; track i){
7396
- <ng-container>
7397
- @for (node of children();track $index) {
7398
- <axp-widget-renderer [node]="node" [parentNode]="this" [index]="i"> </axp-widget-renderer>
7195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRepeaterWidgetViewComponent, isStandalone: true, selector: "axp-repeater-widget", usesInheritance: true, ngImport: i0, template: `
7196
+ @for(row of rows();let i=$index; track i)
7197
+ {
7198
+ @for (node of children();track $index)
7199
+ {
7200
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="i" [mode]="this.mode"></ng-container>
7399
7201
  }
7400
- </ng-container>
7401
7202
  }
7402
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$7.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7203
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7403
7204
  }
7404
7205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetViewComponent, decorators: [{
7405
7206
  type: Component,
7406
7207
  args: [{
7208
+ selector: 'axp-repeater-widget',
7407
7209
  template: `
7408
- @for(row of rows();let i=$index; track i){
7409
- <ng-container>
7410
- @for (node of children();track $index) {
7411
- <axp-widget-renderer [node]="node" [parentNode]="this" [index]="i"> </axp-widget-renderer>
7210
+ @for(row of rows();let i=$index; track i)
7211
+ {
7212
+ @for (node of children();track $index)
7213
+ {
7214
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="i" [mode]="this.mode"></ng-container>
7412
7215
  }
7413
- </ng-container>
7414
7216
  }
7415
7217
  `,
7416
7218
  standalone: true,
7417
7219
  changeDetection: ChangeDetectionStrategy.OnPush,
7418
7220
  imports: [CommonModule, FormsModule, AXPLayoutBuilderModule],
7419
- inputs: [],
7420
7221
  }]
7421
7222
  }] });
7422
7223
 
@@ -7426,27 +7227,139 @@ var repeaterWidgetView_component = /*#__PURE__*/Object.freeze({
7426
7227
  });
7427
7228
 
7428
7229
  class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
7230
+ constructor() {
7231
+ super(...arguments);
7232
+ this.rows = signal([]);
7233
+ this.disabled = computed(() => this.options()["disabled"]);
7234
+ this.hasControls = computed(() => this.options()["hasControls"]);
7235
+ }
7236
+ ngAfterViewInit() {
7237
+ this.rows.set(this.getValue() ?? []);
7238
+ }
7239
+ handleAddItemClick() {
7240
+ this.addNew();
7241
+ }
7242
+ addNew() {
7243
+ this.rows.update((prev) => [...prev, {}]);
7244
+ }
7245
+ api() {
7246
+ return {
7247
+ "addNew": this.addNew.bind(this)
7248
+ };
7249
+ }
7429
7250
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7430
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPRepeaterWidgetEditComponent, 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 }); }
7251
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRepeaterWidgetEditComponent, isStandalone: true, selector: "axp-repeater-widget", usesInheritance: true, ngImport: i0, template: `
7252
+ @if(hasControls())
7253
+ {
7254
+ <div class="ax-grid ax-grid-cols-12 ax-gap-4">
7255
+ @for(row of rows();let i=$index; track i)
7256
+ {
7257
+ <div class="ax-col-span-11">
7258
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
7259
+ </div>
7260
+ <ax-button
7261
+ [disabled]="disabled()"
7262
+ look="twotone"
7263
+ color="danger"
7264
+ class="ax-col-start-12 ax-col-end-13 ax-justify-self-end"
7265
+ >
7266
+ <ax-icon icon="fa-regular fa-xmark"></ax-icon>
7267
+ </ax-button>
7268
+ }
7269
+ <ax-button
7270
+ [text]="'Add New'"
7271
+ look="twotone"
7272
+ [disabled]="disabled()"
7273
+ (onClick)="handleAddItemClick()"
7274
+ class="ax-col-start-10 ax-col-end-13"
7275
+ >
7276
+ <ax-prefix>
7277
+ <ax-icon class="fa-solid fa-add"></ax-icon>
7278
+ </ax-prefix>
7279
+ </ax-button>
7280
+ </div>
7281
+ }
7282
+ @else {
7283
+ @for(row of rows();let i=$index; track i)
7284
+ {
7285
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
7286
+ }
7287
+ }
7288
+ <ng-template #tpl let-index>
7289
+ @for (node of children();track $index)
7290
+ {
7291
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="index" [mode]="this.mode"></ng-container>
7292
+ }
7293
+ </ng-template>
7294
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7431
7295
  }
7432
7296
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetEditComponent, decorators: [{
7433
7297
  type: Component,
7434
7298
  args: [{
7435
- template: ``,
7299
+ selector: 'axp-repeater-widget',
7300
+ template: `
7301
+ @if(hasControls())
7302
+ {
7303
+ <div class="ax-grid ax-grid-cols-12 ax-gap-4">
7304
+ @for(row of rows();let i=$index; track i)
7305
+ {
7306
+ <div class="ax-col-span-11">
7307
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
7308
+ </div>
7309
+ <ax-button
7310
+ [disabled]="disabled()"
7311
+ look="twotone"
7312
+ color="danger"
7313
+ class="ax-col-start-12 ax-col-end-13 ax-justify-self-end"
7314
+ >
7315
+ <ax-icon icon="fa-regular fa-xmark"></ax-icon>
7316
+ </ax-button>
7317
+ }
7318
+ <ax-button
7319
+ [text]="'Add New'"
7320
+ look="twotone"
7321
+ [disabled]="disabled()"
7322
+ (onClick)="handleAddItemClick()"
7323
+ class="ax-col-start-10 ax-col-end-13"
7324
+ >
7325
+ <ax-prefix>
7326
+ <ax-icon class="fa-solid fa-add"></ax-icon>
7327
+ </ax-prefix>
7328
+ </ax-button>
7329
+ </div>
7330
+ }
7331
+ @else {
7332
+ @for(row of rows();let i=$index; track i)
7333
+ {
7334
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{index:i}"></ng-container>
7335
+ }
7336
+ }
7337
+ <ng-template #tpl let-index>
7338
+ @for (node of children();track $index)
7339
+ {
7340
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="index" [mode]="this.mode"></ng-container>
7341
+ }
7342
+ </ng-template>
7343
+ `,
7436
7344
  standalone: true,
7437
7345
  changeDetection: ChangeDetectionStrategy.OnPush,
7438
- imports: [CommonModule, FormsModule],
7439
- inputs: []
7346
+ imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule],
7440
7347
  }]
7441
7348
  }] });
7442
7349
 
7350
+ var repeaterWidgetEdit_component = /*#__PURE__*/Object.freeze({
7351
+ __proto__: null,
7352
+ AXPRepeaterWidgetEditComponent: AXPRepeaterWidgetEditComponent
7353
+ });
7354
+
7443
7355
  class AXPRepeaterWidgetPrintComponent extends AXPWidgetComponent {
7444
7356
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPRepeaterWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7357
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPRepeaterWidgetPrintComponent, isStandalone: true, selector: "axp-repeater-widget", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7446
7358
  }
7447
7359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetPrintComponent, decorators: [{
7448
7360
  type: Component,
7449
7361
  args: [{
7362
+ selector: 'axp-repeater-widget',
7450
7363
  template: ``,
7451
7364
  standalone: true,
7452
7365
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7463,47 +7376,117 @@ var repeaterWidgetPrint_component = /*#__PURE__*/Object.freeze({
7463
7376
  class AXPRepeaterWidgetDesignerComponent extends AXPContainerWidgetComponent {
7464
7377
  constructor() {
7465
7378
  super(...arguments);
7466
- this.rows = signal([0]);
7379
+ this.disabled = computed(() => this.options()["disabled"]);
7380
+ this.hasControls = computed(() => this.options()["hasControls"]);
7381
+ }
7382
+ get __class() {
7383
+ const cls = {};
7384
+ //
7385
+ cls[`ax-block`] = true;
7386
+ cls[`ax-w-full`] = true;
7387
+ return cls;
7467
7388
  }
7468
7389
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRepeaterWidgetDesignerComponent, isStandalone: true, selector: "ng-component", providers: [
7390
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPRepeaterWidgetDesignerComponent, isStandalone: true, selector: "axp-repeater-widget", host: { properties: { "class": "this.__class" } }, providers: [
7470
7391
  {
7471
7392
  provide: AXPContainerWidgetComponent, useExisting: AXPRepeaterWidgetDesignerComponent
7472
7393
  }
7473
7394
  ], usesInheritance: true, ngImport: i0, template: `
7474
- @for(row of rows();let i=$index; track i){
7475
- <ng-container>
7395
+ @if(hasControls())
7396
+ {
7397
+ <div class="ax-grid ax-grid-cols-12 ax-gap-4">
7398
+ <div class="ax-col-span-11 ax-border-dashed ax-border">
7399
+ <ng-container [ngTemplateOutlet]="tpl" ></ng-container>
7400
+ </div>
7401
+ <ax-button
7402
+ [disabled]="disabled()"
7403
+ look="twotone"
7404
+ color="danger"
7405
+ class="ax-col-start-12 ax-col-end-13 ax-justify-self-end"
7406
+ >
7407
+ <ax-icon icon="fa-regular fa-xmark"></ax-icon>
7408
+ </ax-button>
7409
+ <ax-button
7410
+ [text]="'Add New'"
7411
+ look="twotone"
7412
+ [disabled]="disabled()"
7413
+ class="ax-col-start-10 ax-col-end-13"
7414
+ >
7415
+ <ax-prefix>
7416
+ <ax-icon class="fa-solid fa-add"></ax-icon>
7417
+ </ax-prefix>
7418
+ </ax-button>
7419
+ </div>
7420
+ }
7421
+ @else {
7422
+ <ng-container [ngTemplateOutlet]="tpl"></ng-container>
7423
+ }
7424
+ <ng-template #tpl>
7476
7425
  @for (node of children();track $index) {
7477
- <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [index]="i" [mode]="this.mode"> </ng-container>
7426
+ <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
7478
7427
  }
7479
- </ng-container>
7480
- }
7481
- <axp-designer-add-widget-button></axp-designer-add-widget-button>
7482
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetButtonComponent, selector: "axp-designer-add-widget-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7428
+ @empty {
7429
+ <axp-designer-add-widget-button class="ax-flex-1 ax-self-center ax-place-self-end axp-empty-space ax-block ax-p-0 " ></axp-designer-add-widget-button>
7430
+ }
7431
+ </ng-template>
7432
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetButtonComponent, selector: "axp-designer-add-widget-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7483
7433
  }
7484
7434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRepeaterWidgetDesignerComponent, decorators: [{
7485
7435
  type: Component,
7486
7436
  args: [{
7437
+ selector: 'axp-repeater-widget',
7487
7438
  template: `
7488
- @for(row of rows();let i=$index; track i){
7489
- <ng-container>
7439
+ @if(hasControls())
7440
+ {
7441
+ <div class="ax-grid ax-grid-cols-12 ax-gap-4">
7442
+ <div class="ax-col-span-11 ax-border-dashed ax-border">
7443
+ <ng-container [ngTemplateOutlet]="tpl" ></ng-container>
7444
+ </div>
7445
+ <ax-button
7446
+ [disabled]="disabled()"
7447
+ look="twotone"
7448
+ color="danger"
7449
+ class="ax-col-start-12 ax-col-end-13 ax-justify-self-end"
7450
+ >
7451
+ <ax-icon icon="fa-regular fa-xmark"></ax-icon>
7452
+ </ax-button>
7453
+ <ax-button
7454
+ [text]="'Add New'"
7455
+ look="twotone"
7456
+ [disabled]="disabled()"
7457
+ class="ax-col-start-10 ax-col-end-13"
7458
+ >
7459
+ <ax-prefix>
7460
+ <ax-icon class="fa-solid fa-add"></ax-icon>
7461
+ </ax-prefix>
7462
+ </ax-button>
7463
+ </div>
7464
+ }
7465
+ @else {
7466
+ <ng-container [ngTemplateOutlet]="tpl"></ng-container>
7467
+ }
7468
+ <ng-template #tpl>
7490
7469
  @for (node of children();track $index) {
7491
- <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [index]="i" [mode]="this.mode"> </ng-container>
7470
+ <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
7492
7471
  }
7493
- </ng-container>
7494
- }
7495
- <axp-designer-add-widget-button></axp-designer-add-widget-button>
7472
+ @empty {
7473
+ <axp-designer-add-widget-button class="ax-flex-1 ax-self-center ax-place-self-end axp-empty-space ax-block ax-p-0 " ></axp-designer-add-widget-button>
7474
+ }
7475
+ </ng-template>
7496
7476
  `,
7497
7477
  standalone: true,
7498
7478
  changeDetection: ChangeDetectionStrategy.OnPush,
7499
- imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],
7479
+ imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent],
7500
7480
  providers: [
7501
7481
  {
7502
7482
  provide: AXPContainerWidgetComponent, useExisting: AXPRepeaterWidgetDesignerComponent
7503
7483
  }
7504
7484
  ]
7505
7485
  }]
7506
- }] });
7486
+ }], propDecorators: { __class: [{
7487
+ type: HostBinding,
7488
+ args: ['class']
7489
+ }] } });
7507
7490
 
7508
7491
  var repeaterWidgetDesigner_component = /*#__PURE__*/Object.freeze({
7509
7492
  __proto__: null,
@@ -7517,12 +7500,24 @@ const AXPRepeaterWidget = {
7517
7500
  icon: 'fa-solid fa-table-list',
7518
7501
  group: AXP_WIDGETS_LAYOUT_GROUP,
7519
7502
  type: 'container',
7503
+ properties: [
7504
+ AXP_NAME_PROPERTY,
7505
+ AXP_DATA_PATH_PROPERTY,
7506
+ AXP_DISABLED_PROPERTY,
7507
+ createBooleanProperty({
7508
+ name: "hasControls",
7509
+ title: "Controls",
7510
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
7511
+ defaultValue: true,
7512
+ path: "options.hasControls",
7513
+ })
7514
+ ],
7520
7515
  components: {
7521
7516
  view: {
7522
7517
  component: () => Promise.resolve().then(function () { return repeaterWidgetView_component; }).then((c) => c.AXPRepeaterWidgetViewComponent),
7523
7518
  },
7524
7519
  edit: {
7525
- component: () => Promise.resolve().then(function () { return repeaterWidgetView_component; }).then((c) => c.AXPRepeaterWidgetViewComponent),
7520
+ component: () => Promise.resolve().then(function () { return repeaterWidgetEdit_component; }).then((c) => c.AXPRepeaterWidgetEditComponent),
7526
7521
  },
7527
7522
  print: {
7528
7523
  component: () => Promise.resolve().then(function () { return repeaterWidgetPrint_component; }).then((c) => c.AXPRepeaterWidgetPrintComponent),
@@ -7837,34 +7832,44 @@ const AXPDocumentWidget = {
7837
7832
  class AXPFormFieldWidgetViewComponent extends AXPWidgetComponent {
7838
7833
  constructor() {
7839
7834
  super(...arguments);
7840
- this.label = computed(() => this.options()["label"]);
7835
+ this.label = computed(() => this.options()['label']);
7836
+ }
7837
+ get __class() {
7838
+ const cls = {};
7839
+ cls[`ax-block`] = true;
7840
+ cls[`ax-w-full`] = true;
7841
+ return cls;
7841
7842
  }
7842
7843
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPFormFieldWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7843
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPFormFieldWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
7844
- <ax-form-field>
7845
- <ax-label>{{label()}}</ax-label>
7846
- @for (node of children(); track $index) {
7847
- <axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-renderer>
7848
- }
7844
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPFormFieldWidgetViewComponent, isStandalone: true, selector: "axp-form-field-widget", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
7845
+ <ax-form-field>
7846
+ <ax-label>{{ label() }}</ax-label>
7847
+ @for (node of children(); track $index) {
7848
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
7849
+ }
7849
7850
  </ax-form-field>
7850
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i4$1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$7.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7851
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i4$1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7851
7852
  }
7852
7853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPFormFieldWidgetViewComponent, decorators: [{
7853
7854
  type: Component,
7854
7855
  args: [{
7856
+ selector: 'axp-form-field-widget',
7855
7857
  template: `
7856
- <ax-form-field>
7857
- <ax-label>{{label()}}</ax-label>
7858
- @for (node of children(); track $index) {
7859
- <axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </axp-widget-renderer>
7860
- }
7858
+ <ax-form-field>
7859
+ <ax-label>{{ label() }}</ax-label>
7860
+ @for (node of children(); track $index) {
7861
+ <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
7862
+ }
7861
7863
  </ax-form-field>
7862
7864
  `,
7863
7865
  standalone: true,
7864
7866
  changeDetection: ChangeDetectionStrategy.OnPush,
7865
7867
  imports: [CommonModule, AXFormModule, AXLabelModule, AXPLayoutBuilderModule],
7866
7868
  }]
7867
- }] });
7869
+ }], propDecorators: { __class: [{
7870
+ type: HostBinding,
7871
+ args: ['class']
7872
+ }] } });
7868
7873
 
7869
7874
  var formFieldWidgetView_component = /*#__PURE__*/Object.freeze({
7870
7875
  __proto__: null,
@@ -7957,16 +7962,34 @@ const AXPFormFieldWidget = {
7957
7962
  };
7958
7963
 
7959
7964
  class AXPGridWidgetViewComponent extends AXPWidgetComponent {
7965
+ constructor() {
7966
+ super(...arguments);
7967
+ this.cols = computed(() => this.options()['cols'] ?? 1);
7968
+ this.rows = computed(() => this.options()['rows'] ?? 1);
7969
+ this.gap = computed(() => this.options()['gap'] ?? 0);
7970
+ }
7960
7971
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7961
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPGridWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7972
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
7973
+ <div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
7974
+ @for (child of children(); track $index) {
7975
+ <ng-container axp-widget-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
7976
+ }
7977
+ </div>
7978
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7962
7979
  }
7963
7980
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridWidgetViewComponent, decorators: [{
7964
7981
  type: Component,
7965
7982
  args: [{
7966
- template: ``,
7983
+ template: `
7984
+ <div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
7985
+ @for (child of children(); track $index) {
7986
+ <ng-container axp-widget-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
7987
+ }
7988
+ </div>
7989
+ `,
7967
7990
  standalone: true,
7968
7991
  changeDetection: ChangeDetectionStrategy.OnPush,
7969
- imports: [CommonModule]
7992
+ imports: [CommonModule, AXPLayoutBuilderModule],
7970
7993
  }]
7971
7994
  }] });
7972
7995
 
@@ -7994,11 +8017,11 @@ class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent {
7994
8017
  constructor() {
7995
8018
  super(...arguments);
7996
8019
  this.designerService = inject(AXPDesignerService);
7997
- this.cols = computed(() => this.options()["cols"] ?? 1);
7998
- this.rows = computed(() => this.options()["rows"] ?? 1);
7999
- this.gap = computed(() => this.options()["gap"] ?? 0);
8020
+ this.cols = computed(() => this.options()['cols'] ?? 1);
8021
+ this.rows = computed(() => this.options()['rows'] ?? 1);
8022
+ this.gap = computed(() => this.options()['gap'] ?? 0);
8000
8023
  this.cells = computed(() => Array.from({ length: this.cols() * this.rows() }).map((c, index) => index));
8001
- this.settled = computed(() => (this.cols() * this.rows() > 1) && this.children().length);
8024
+ this.settled = computed(() => this.cols() * this.rows() > 1 && this.children().length);
8002
8025
  }
8003
8026
  // private e = effect(async () => {
8004
8027
  // if (this.settled()) {
@@ -8024,10 +8047,10 @@ class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent {
8024
8047
  handleDrawerSelect(e) {
8025
8048
  this.designerService.update({
8026
8049
  values: {
8027
- options: e
8050
+ options: e,
8028
8051
  },
8029
8052
  mode: 'update',
8030
- widget: this.node
8053
+ widget: this.node,
8031
8054
  });
8032
8055
  const list = Array.from({ length: this.cells().length }).map(() => ({
8033
8056
  type: AXPWidgetsCatalog.gridItem,
@@ -8046,18 +8069,18 @@ class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent {
8046
8069
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8047
8070
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridWidgetDesignerComponent, isStandalone: true, selector: "axp-grid-layout-widget", host: { properties: { "class": "this.__class" } }, providers: [
8048
8071
  {
8049
- provide: AXPContainerWidgetComponent, useExisting: AXPGridWidgetDesignerComponent
8050
- }
8072
+ provide: AXPContainerWidgetComponent,
8073
+ useExisting: AXPGridWidgetDesignerComponent,
8074
+ },
8051
8075
  ], usesInheritance: true, ngImport: i0, template: `
8052
- @if(settled())
8053
- {
8054
- <div class="ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
8055
- @for (node of children(); track $index) {
8056
- <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
8057
- }
8058
- </div>
8076
+ @if(settled()) {
8077
+ <div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
8078
+ @for (child of children(); track $index) {
8079
+ <ng-container axp-widget-designer-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8080
+ }
8081
+ </div>
8059
8082
  }@else {
8060
- <axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
8083
+ <axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
8061
8084
  }
8062
8085
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }, { kind: "component", type: AXPDesignerGridDrawerComponent, selector: "axp-designer-grid-drawer", inputs: ["rows", "columns"], outputs: ["rowsChange", "columnsChange", "onSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8063
8086
  }
@@ -8066,25 +8089,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
8066
8089
  args: [{
8067
8090
  selector: 'axp-grid-layout-widget',
8068
8091
  template: `
8069
- @if(settled())
8070
- {
8071
- <div class="ax-grid ax-grid-cols-{{cols()}} ax-grid-rows-{{rows()}} ax-gap-{{gap()}}">
8072
- @for (node of children(); track $index) {
8073
- <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
8074
- }
8075
- </div>
8092
+ @if(settled()) {
8093
+ <div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
8094
+ @for (child of children(); track $index) {
8095
+ <ng-container axp-widget-designer-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8096
+ }
8097
+ </div>
8076
8098
  }@else {
8077
- <axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
8099
+ <axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
8078
8100
  }
8079
8101
  `,
8080
8102
  standalone: true,
8081
8103
  changeDetection: ChangeDetectionStrategy.OnPush,
8082
- imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],
8104
+ imports: [
8105
+ CommonModule,
8106
+ AXPLayoutBuilderModule,
8107
+ AXPWidgetDesignerRendererDirective,
8108
+ AXPDesignerAddWidgetButtonComponent,
8109
+ AXPDesignerGridDrawerComponent,
8110
+ ],
8083
8111
  providers: [
8084
8112
  {
8085
- provide: AXPContainerWidgetComponent, useExisting: AXPGridWidgetDesignerComponent
8086
- }
8087
- ]
8113
+ provide: AXPContainerWidgetComponent,
8114
+ useExisting: AXPGridWidgetDesignerComponent,
8115
+ },
8116
+ ],
8088
8117
  }]
8089
8118
  }], propDecorators: { __class: [{
8090
8119
  type: HostBinding,
@@ -8122,19 +8151,88 @@ const AXPGridWidget = {
8122
8151
  },
8123
8152
  };
8124
8153
 
8125
- class AXPGridItemWidgetViewComponent extends AXPWidgetComponent {
8154
+ class AXPGridItemWidgetViewComponent extends AXPContainerWidgetComponent {
8155
+ constructor() {
8156
+ super(...arguments);
8157
+ this.colSpan = computed(() => this.options()['colSpan']);
8158
+ this.colStart = computed(() => this.options()['colStart']);
8159
+ this.colEnd = computed(() => this.options()['colEnd']);
8160
+ this.flexAlignItems = computed(() => this.options()['flexAlignItems']?.id);
8161
+ this.flexJustifyContent = computed(() => this.options()['flexJustifyContent']?.id);
8162
+ this.flexWrap = computed(() => this.options()['flexWrap']?.id);
8163
+ this.flexDirection = computed(() => this.options()['flexDirection']?.id);
8164
+ this.gap = computed(() => this.options()['gap'] ?? 0);
8165
+ }
8166
+ get __class() {
8167
+ const cls = {};
8168
+ //
8169
+ cls[`ax-flex`] = true;
8170
+ cls[`ax-gap-${this.gap()}`] = true;
8171
+ //
8172
+ if (this.flexAlignItems()) {
8173
+ cls[this.flexAlignItems()] = true;
8174
+ }
8175
+ if (this.flexJustifyContent()) {
8176
+ cls[this.flexJustifyContent()] = true;
8177
+ }
8178
+ if (this.flexWrap()) {
8179
+ cls[this.flexWrap()] = true;
8180
+ }
8181
+ if (this.flexDirection()) {
8182
+ cls[this.flexDirection()] = true;
8183
+ }
8184
+ //
8185
+ cls[`ax-col-span-12`] = true;
8186
+ if (this.colSpan() != null) {
8187
+ cls[`lg:ax-col-span-${this.colSpan()}`] = true;
8188
+ }
8189
+ else {
8190
+ cls[`lg:ax-col-span-1`] = true;
8191
+ }
8192
+ //
8193
+ if (this.colStart() != null) {
8194
+ cls[`lg:ax-col-start-${this.colStart()}`] = true;
8195
+ }
8196
+ //
8197
+ if (this.colEnd() != null) {
8198
+ cls[`lg:ax-col-end-${this.colEnd()}`] = true;
8199
+ }
8200
+ return cls;
8201
+ }
8126
8202
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPGridItemWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridItemWidgetViewComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.__class" } }, providers: [
8204
+ {
8205
+ provide: AXPContainerWidgetComponent,
8206
+ useExisting: AXPGridItemWidgetViewComponent,
8207
+ },
8208
+ ], usesInheritance: true, ngImport: i0, template: `
8209
+ @for (child of children(); track $index) {
8210
+ <ng-container axp-widget-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8211
+ }
8212
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8128
8213
  }
8129
8214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetViewComponent, decorators: [{
8130
8215
  type: Component,
8131
8216
  args: [{
8132
- template: ``,
8217
+ template: `
8218
+ @for (child of children(); track $index) {
8219
+ <ng-container axp-widget-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8220
+ }
8221
+ `,
8133
8222
  standalone: true,
8134
8223
  changeDetection: ChangeDetectionStrategy.OnPush,
8135
- imports: [CommonModule]
8224
+ imports: [CommonModule, AXPLayoutBuilderModule],
8225
+ providers: [
8226
+ {
8227
+ provide: AXPContainerWidgetComponent,
8228
+ useExisting: AXPGridItemWidgetViewComponent,
8229
+ },
8230
+ ],
8136
8231
  }]
8137
- }] });
8232
+ }], propDecorators: { __class: [{
8233
+ type: HostBinding,
8234
+ args: ['class']
8235
+ }] } });
8138
8236
 
8139
8237
  var gridItemWidgetView_component = /*#__PURE__*/Object.freeze({
8140
8238
  __proto__: null,
@@ -8160,14 +8258,14 @@ class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent {
8160
8258
  constructor() {
8161
8259
  super(...arguments);
8162
8260
  this.designerService = inject(AXPDesignerService);
8163
- this.colSpan = computed(() => this.options()["colSpan"]);
8164
- this.colStart = computed(() => this.options()["colStart"]);
8165
- this.colEnd = computed(() => this.options()["colEnd"]);
8166
- this.flexAlignItems = computed(() => this.options()["flexAlignItems"]?.id);
8167
- this.flexJustifyContent = computed(() => this.options()["flexJustifyContent"]?.id);
8168
- this.flexWrap = computed(() => this.options()["flexWrap"]?.id);
8169
- this.flexDirection = computed(() => this.options()["flexDirection"]?.id);
8170
- this.gap = computed(() => this.options()["gap"] ?? 0);
8261
+ this.colSpan = computed(() => this.options()['colSpan']);
8262
+ this.colStart = computed(() => this.options()['colStart']);
8263
+ this.colEnd = computed(() => this.options()['colEnd']);
8264
+ this.flexAlignItems = computed(() => this.options()['flexAlignItems']?.id);
8265
+ this.flexJustifyContent = computed(() => this.options()['flexJustifyContent']?.id);
8266
+ this.flexWrap = computed(() => this.options()['flexWrap']?.id);
8267
+ this.flexDirection = computed(() => this.options()['flexDirection']?.id);
8268
+ this.gap = computed(() => this.options()['gap'] ?? 0);
8171
8269
  }
8172
8270
  async handleSlotClick() {
8173
8271
  await this.designerService.showPicker(this.node);
@@ -8211,14 +8309,14 @@ class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent {
8211
8309
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridItemWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8212
8310
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridItemWidgetDesignerComponent, isStandalone: true, selector: "axp-grid-layout-item-widget", host: { properties: { "class": "this.__class" } }, providers: [
8213
8311
  {
8214
- provide: AXPContainerWidgetComponent, useExisting: AXPGridItemWidgetDesignerComponent
8215
- }
8312
+ provide: AXPContainerWidgetComponent,
8313
+ useExisting: AXPGridItemWidgetDesignerComponent,
8314
+ },
8216
8315
  ], usesInheritance: true, ngImport: i0, template: `
8217
- @for (node of children(); track $index) {
8218
- <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
8219
- }
8220
- @empty {
8221
- <div class="axp-empty-space ax-flex-1 ax-flex ax-justify-center ax-items-center" >
8316
+ @for (child of children(); track $index) {
8317
+ <ng-container axp-widget-designer-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8318
+ } @empty {
8319
+ <div class="axp-empty-space ax-flex-1 ax-flex ax-justify-center ax-items-center">
8222
8320
  <div class="ax-m-auto ax-p-4 ax-text-primary-500 hover:ax-text-primary-800" (click)="handleSlotClick()">
8223
8321
  <i class="fa-solid fa-plus "></i>
8224
8322
  </div>
@@ -8231,11 +8329,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
8231
8329
  args: [{
8232
8330
  selector: 'axp-grid-layout-item-widget',
8233
8331
  template: `
8234
- @for (node of children(); track $index) {
8235
- <ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode"> </ng-container>
8236
- }
8237
- @empty {
8238
- <div class="axp-empty-space ax-flex-1 ax-flex ax-justify-center ax-items-center" >
8332
+ @for (child of children(); track $index) {
8333
+ <ng-container axp-widget-designer-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8334
+ } @empty {
8335
+ <div class="axp-empty-space ax-flex-1 ax-flex ax-justify-center ax-items-center">
8239
8336
  <div class="ax-m-auto ax-p-4 ax-text-primary-500 hover:ax-text-primary-800" (click)="handleSlotClick()">
8240
8337
  <i class="fa-solid fa-plus "></i>
8241
8338
  </div>
@@ -8244,12 +8341,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
8244
8341
  `,
8245
8342
  standalone: true,
8246
8343
  changeDetection: ChangeDetectionStrategy.OnPush,
8247
- imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetButtonComponent, AXPDesignerGridDrawerComponent],
8344
+ imports: [
8345
+ CommonModule,
8346
+ AXPLayoutBuilderModule,
8347
+ AXPWidgetDesignerRendererDirective,
8348
+ AXPDesignerAddWidgetButtonComponent,
8349
+ AXPDesignerGridDrawerComponent,
8350
+ ],
8248
8351
  providers: [
8249
8352
  {
8250
- provide: AXPContainerWidgetComponent, useExisting: AXPGridItemWidgetDesignerComponent
8251
- }
8252
- ]
8353
+ provide: AXPContainerWidgetComponent,
8354
+ useExisting: AXPGridItemWidgetDesignerComponent,
8355
+ },
8356
+ ],
8253
8357
  }]
8254
8358
  }], propDecorators: { __class: [{
8255
8359
  type: HostBinding,
@@ -8290,16 +8394,34 @@ const AXPGridItemWidget = {
8290
8394
  };
8291
8395
 
8292
8396
  class AXPGridRowWidgetViewComponent extends AXPWidgetComponent {
8397
+ constructor() {
8398
+ super(...arguments);
8399
+ this.cols = computed(() => this.options()['cols'] ?? 1);
8400
+ this.rows = computed(() => this.options()['rows'] ?? 1);
8401
+ this.gap = computed(() => this.options()['gap'] ?? 0);
8402
+ }
8293
8403
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridRowWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8294
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPGridRowWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8404
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPGridRowWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
8405
+ <div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
8406
+ @for (child of children(); track $index) {
8407
+ <ng-container axp-widget-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8408
+ }
8409
+ </div>
8410
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8295
8411
  }
8296
8412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPGridRowWidgetViewComponent, decorators: [{
8297
8413
  type: Component,
8298
8414
  args: [{
8299
- template: ``,
8415
+ template: `
8416
+ <div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
8417
+ @for (child of children(); track $index) {
8418
+ <ng-container axp-widget-renderer [node]="child" [parentNode]="this" [mode]="this.mode"> </ng-container>
8419
+ }
8420
+ </div>
8421
+ `,
8300
8422
  standalone: true,
8301
8423
  changeDetection: ChangeDetectionStrategy.OnPush,
8302
- imports: [CommonModule]
8424
+ imports: [CommonModule, AXPLayoutBuilderModule],
8303
8425
  }]
8304
8426
  }] });
8305
8427
 
@@ -8598,5 +8720,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
8598
8720
  * Generated bundle index. Do not edit.
8599
8721
  */
8600
8722
 
8601
- export { AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, AXPEmailBoxWidget, AXPEmailBoxWidgetColumnComponent, AXPEmailBoxWidgetEditComponent, AXPEmailBoxWidgetFilterComponent, AXPEmailBoxWidgetPrintComponent, AXPEmailBoxWidgetViewComponent, AXPFileBoxWidget, AXPFileBoxWidgetColumnComponent, AXPFileBoxWidgetEditComponent, AXPFileBoxWidgetFilterComponent, AXPFileBoxWidgetPrintComponent, AXPFileBoxWidgetViewComponent, AXPFileManagementService, AXPGalleryWidget, AXPGalleryWidgetColumnComponent, AXPGalleryWidgetEditComponent, AXPGalleryWidgetFilterComponent, AXPGalleryWidgetPrintComponent, AXPGalleryWidgetViewComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetFilterComponent, AXPLargeTextWidgetPrintComponent, AXPLargeTextWidgetViewComponent, AXPLinkWidget, AXPLinkWidgetColumnComponent, AXPLinkWidgetEditComponent, AXPLinkWidgetFilterComponent, AXPLinkWidgetPrintComponent, AXPLinkWidgetViewComponent, AXPMapBoxWidget, AXPMapBoxWidgetEditComponent, AXPMapBoxWidgetViewComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetFilterComponent, AXPNumberBoxWidgetPrintComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetFilterComponent, AXPPasswordBoxWidgetPrintComponent, AXPPasswordBoxWidgetViewComponent, AXPPhoneBoxWidget, AXPPhoneBoxWidgetColumnComponent, AXPPhoneBoxWidgetEditComponent, AXPPhoneBoxWidgetFilterComponent, AXPPhoneBoxWidgetPrintComponent, AXPPhoneBoxWidgetViewComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetPrintComponent, AXPRepeaterWidgetViewComponent, 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, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BG_COLOR_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTY, AXP_DATE_FROMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, 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_ALIGN_CONTENT_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_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_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_VALUE_FIELD_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, booleanDefaultProperty, largeTextDefaultProperty, numberDefaultProperty, plainTextDefaultProperty };
8723
+ export { AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPButtonWidget, AXPButtonWidgetViewComponent, AXPCheckBoxWidget, AXPCheckBoxWidgetEditComponent, AXPContactWidget, AXPContactWidgetColumnComponent, AXPContactWidgetEditComponent, AXPContactWidgetPrintComponent, AXPContactWidgetViewComponent, AXPDateTimeBoxWidget, AXPDateTimeBoxWidgetColumnComponent, AXPDateTimeBoxWidgetEditComponent, AXPDateTimeBoxWidgetFilterComponent, AXPDateTimeBoxWidgetPrintComponent, AXPDateTimeBoxWidgetViewComponent, AXPEmailBoxWidget, AXPEmailBoxWidgetColumnComponent, AXPEmailBoxWidgetEditComponent, AXPEmailBoxWidgetFilterComponent, AXPEmailBoxWidgetPrintComponent, AXPEmailBoxWidgetViewComponent, AXPFileBoxWidget, AXPFileBoxWidgetColumnComponent, AXPFileBoxWidgetEditComponent, AXPFileBoxWidgetFilterComponent, AXPFileBoxWidgetPrintComponent, AXPFileBoxWidgetViewComponent, AXPFileManagementService, AXPGalleryWidget, AXPGalleryWidgetColumnComponent, AXPGalleryWidgetEditComponent, AXPGalleryWidgetFilterComponent, AXPGalleryWidgetPrintComponent, AXPGalleryWidgetViewComponent, AXPLargeTextWidget, AXPLargeTextWidgetColumnComponent, AXPLargeTextWidgetEditComponent, AXPLargeTextWidgetFilterComponent, AXPLargeTextWidgetPrintComponent, AXPLargeTextWidgetViewComponent, AXPLinkWidget, AXPLinkWidgetColumnComponent, AXPLinkWidgetEditComponent, AXPLinkWidgetFilterComponent, AXPLinkWidgetPrintComponent, AXPLinkWidgetViewComponent, AXPMapBoxWidget, AXPMapBoxWidgetEditComponent, AXPMapBoxWidgetViewComponent, AXPNumberBoxWidget, AXPNumberBoxWidgetColumnComponent, AXPNumberBoxWidgetEditComponent, AXPNumberBoxWidgetFilterComponent, AXPNumberBoxWidgetPrintComponent, AXPNumberBoxWidgetViewComponent, AXPPageWidget, AXPPageWidgetViewComponent, AXPPasswordBoxWidget, AXPPasswordBoxWidgetColumnComponent, AXPPasswordBoxWidgetEditComponent, AXPPasswordBoxWidgetFilterComponent, AXPPasswordBoxWidgetPrintComponent, AXPPasswordBoxWidgetViewComponent, AXPPhoneBoxWidget, AXPPhoneBoxWidgetColumnComponent, AXPPhoneBoxWidgetEditComponent, AXPPhoneBoxWidgetFilterComponent, AXPPhoneBoxWidgetPrintComponent, AXPPhoneBoxWidgetViewComponent, AXPRepeaterWidget, AXPRepeaterWidgetDesignerComponent, AXPRepeaterWidgetEditComponent, AXPRepeaterWidgetPrintComponent, AXPRepeaterWidgetViewComponent, 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, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BG_COLOR_PROPERTY, 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_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_ALIGN_CONTENT_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_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_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_VALUE_FIELD_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, booleanDefaultProperty, largeTextDefaultProperty, numberDefaultProperty, plainTextDefaultProperty };
8602
8724
  //# sourceMappingURL=acorex-platform-widgets.mjs.map