@acorex/platform 19.1.2 → 19.1.4

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 (162) hide show
  1. package/common/index.d.ts +2 -0
  2. package/common/lib/app/application.types.d.ts +12 -10
  3. package/common/lib/configs/app.config.d.ts +0 -1
  4. package/common/lib/file-storage/file-storage.service.d.ts +13 -0
  5. package/common/lib/file-storage/file-storage.types.d.ts +143 -0
  6. package/common/lib/file-storage/index.d.ts +2 -0
  7. package/common/lib/filters/filters.service.d.ts +8 -0
  8. package/common/lib/filters/filters.types.d.ts +19 -0
  9. package/common/lib/filters/index.d.ts +2 -0
  10. package/common/lib/settings/setting-definition.provider.d.ts +13 -4
  11. package/common/lib/settings/setting.builder.d.ts +7 -8
  12. package/common/lib/settings/settings.provider.d.ts +2 -7
  13. package/common/lib/settings/settings.service.d.ts +19 -7
  14. package/common/lib/settings/settings.types.d.ts +15 -2
  15. package/core/utils/highlighter.d.ts +1 -1
  16. package/fesm2022/acorex-platform-auth.mjs +5 -4
  17. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-common.mjs +264 -87
  19. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-core.mjs +2 -2
  21. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-layout-builder.mjs +286 -440
  23. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-layout-designer.mjs +18 -18
  25. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-layout-entity.mjs +335 -232
  27. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-layout-filters.mjs +124 -0
  29. package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -0
  30. package/fesm2022/acorex-platform-layout-setting.mjs +219 -132
  31. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-layouts.mjs +4 -5
  33. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  34. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-K9B_-q_K.mjs +108 -0
  35. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-K9B_-q_K.mjs.map +1 -0
  36. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs +369 -0
  37. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Cd2gxLZt.mjs +87 -0
  39. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Cd2gxLZt.mjs.map +1 -0
  40. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-6sZdw013.mjs +130 -0
  41. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-6sZdw013.mjs.map +1 -0
  42. package/fesm2022/acorex-platform-themes-default-setting-page.component-BYpCgHZb.mjs +74 -0
  43. package/fesm2022/acorex-platform-themes-default-setting-page.component-BYpCgHZb.mjs.map +1 -0
  44. package/fesm2022/acorex-platform-themes-default-setting-view.component-CdmIphX1.mjs +73 -0
  45. package/fesm2022/acorex-platform-themes-default-setting-view.component-CdmIphX1.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-themes-default.mjs +40 -114
  47. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  48. package/fesm2022/acorex-platform-themes-shared.mjs +465 -157
  49. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  50. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs → acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs} +18 -14
  51. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs.map +1 -0
  52. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-juhKoygA.mjs → acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs} +5 -5
  53. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs.map +1 -0
  54. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs +64 -0
  55. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs.map +1 -0
  56. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs → acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs} +4 -4
  57. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs.map +1 -0
  58. package/fesm2022/acorex-platform-widgets.mjs +1396 -286
  59. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  60. package/fesm2022/acorex-platform-workflow.mjs +9 -3
  61. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  62. package/layout/builder/lib/builder/builder.module.d.ts +6 -7
  63. package/layout/builder/lib/builder/builder.service.d.ts +9 -10
  64. package/layout/builder/lib/builder/context-store.service.d.ts +33 -0
  65. package/layout/builder/lib/builder/index.d.ts +4 -2
  66. package/layout/builder/lib/builder/widget-catalog.d.ts +1 -1
  67. package/layout/builder/lib/builder/widget-container.component.d.ts +34 -9
  68. package/layout/builder/lib/builder/widget-groups.d.ts +1 -0
  69. package/layout/builder/lib/builder/widget-map.d.ts +43 -0
  70. package/layout/builder/lib/builder/{widget-renderer.component.directive.d.ts → widget-renderer.directive.d.ts} +29 -4
  71. package/layout/builder/lib/builder/widget-status.types.d.ts +14 -0
  72. package/layout/builder/lib/builder/widget.types.d.ts +51 -59
  73. package/layout/designer/lib/preview/preview-viewer.component.d.ts +2 -2
  74. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +2 -2
  75. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +8 -2
  76. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +0 -1
  77. package/layout/entity/lib/workflows/modify-entity.workflow.d.ts +14 -0
  78. package/layout/filters/README.md +3 -0
  79. package/layout/filters/index.d.ts +1 -0
  80. package/layout/filters/lib/filters.viewmodel.d.ts +30 -0
  81. package/layout/setting/lib/convert-setting-data.d.ts +0 -20
  82. package/layout/setting/lib/setting.viewmodel.d.ts +85 -22
  83. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +15 -5
  84. package/package.json +13 -9
  85. package/themes/default/index.d.ts +0 -1
  86. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +20 -10
  87. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +15 -5
  88. package/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.d.ts +2 -1
  89. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +17 -6
  90. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.d.ts +14 -0
  91. package/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.d.ts +2 -1
  92. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +15 -5
  93. package/themes/default/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.d.ts +13 -0
  94. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +15 -5
  95. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +15 -5
  96. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +2 -4
  97. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +57 -0
  98. package/themes/shared/index.d.ts +3 -1
  99. package/themes/shared/lib/components/layout-elements/index.d.ts +5 -3
  100. package/themes/shared/lib/components/layout-elements/{layout-page-actions.component.d.ts → layout-actions.component.d.ts} +5 -5
  101. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +1 -1
  102. package/themes/shared/lib/components/layout-elements/layout-header.component.d.ts +12 -0
  103. package/themes/shared/lib/components/layout-elements/layout-list-component.d.ts +13 -0
  104. package/themes/shared/lib/components/layout-elements/layout-section.component.d.ts +9 -0
  105. package/themes/shared/lib/components/layout-elements/layout-side.component.d.ts +9 -0
  106. package/themes/shared/lib/components/theme-slot.component.d.ts +23 -13
  107. package/themes/shared/lib/palette.provider.d.ts +9 -0
  108. package/themes/shared/lib/setting.keys.d.ts +7 -2
  109. package/themes/shared/lib/setting.provider.d.ts +1 -0
  110. package/themes/shared/lib/shared.module.d.ts +5 -2
  111. package/themes/shared/lib/{services/theme.service.d.ts → theme.service.d.ts} +16 -24
  112. package/themes/shared/lib/theme.types.d.ts +25 -0
  113. package/themes/shared/lib/widgets/theme-color-selection/index.d.ts +2 -0
  114. package/themes/shared/lib/widgets/theme-color-selection/theme-color-selection-widget-edit.component.d.ts +6 -0
  115. package/themes/shared/lib/widgets/theme-color-selection/theme-color-selection-widget.config.d.ts +7 -0
  116. package/widgets/lib/properties/editors.props.d.ts +2 -0
  117. package/widgets/lib/properties/layout.props.d.ts +1 -0
  118. package/widgets/lib/widgets/advance/avatar/avatar-widget-column.component.d.ts +6 -0
  119. package/widgets/lib/widgets/advance/avatar/avatar-widget-designer.component.d.ts +6 -0
  120. package/widgets/lib/widgets/advance/avatar/avatar-widget-edit.component.d.ts +18 -0
  121. package/widgets/lib/widgets/advance/avatar/avatar-widget-print.component.d.ts +6 -0
  122. package/widgets/lib/widgets/advance/avatar/avatar-widget-view.component.d.ts +6 -0
  123. package/widgets/lib/widgets/advance/avatar/avatar-widget.config.d.ts +7 -0
  124. package/widgets/lib/widgets/advance/avatar/index.d.ts +6 -0
  125. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +9 -5
  126. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +6 -4
  127. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -7
  128. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
  129. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +0 -2
  130. package/widgets/lib/widgets/filters/operations/operations.component.d.ts +9 -0
  131. package/widgets/lib/widgets/filters/string-filter/index.d.ts +2 -0
  132. package/widgets/lib/widgets/filters/string-filter/string-filter-widget-edit.component.d.ts +11 -0
  133. package/widgets/lib/widgets/filters/string-filter/string-filter-widget.config.d.ts +7 -0
  134. package/widgets/lib/widgets/index.d.ts +5 -1
  135. package/widgets/lib/widgets/property-editors/border/border-widget-editor.component.d.ts +29 -6
  136. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +31 -0
  137. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget.config.d.ts +7 -0
  138. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget.type.d.ts +15 -0
  139. package/widgets/lib/widgets/property-editors/flex-options/index.d.ts +3 -0
  140. package/widgets/lib/widgets/property-editors/property-editor-helper.d.ts +72 -0
  141. package/widgets/lib/widgets/property-editors/property-editor.type.d.ts +35 -0
  142. package/widgets/lib/widgets/property-editors/spacing/index.d.ts +0 -1
  143. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +20 -7
  144. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B13KvLX4.mjs +0 -108
  145. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B13KvLX4.mjs.map +0 -1
  146. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-B6MXHPWi.mjs +0 -305
  147. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-B6MXHPWi.mjs.map +0 -1
  148. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-tKCGSRQT.mjs +0 -87
  149. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-tKCGSRQT.mjs.map +0 -1
  150. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CHvC0IAV.mjs +0 -130
  151. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CHvC0IAV.mjs.map +0 -1
  152. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs.map +0 -1
  153. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-juhKoygA.mjs.map +0 -1
  154. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs +0 -72
  155. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs.map +0 -1
  156. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs.map +0 -1
  157. package/layout/builder/lib/builder/widget-renderer.component.d.ts +0 -48
  158. package/themes/default/lib/layouts/setting-layout/index.d.ts +0 -1
  159. package/themes/shared/lib/components/layout-elements/layout-page-header.component.d.ts +0 -11
  160. package/themes/shared/lib/components/layout-elements/layout-page-side.component.d.ts +0 -5
  161. package/widgets/lib/widgets/property-editors/border/border-widget-type.d.ts +0 -18
  162. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-type.d.ts +0 -10
@@ -1,4 +1,4 @@
1
- import * as i1$2 from '@acorex/components/badge';
1
+ import * as i1$4 from '@acorex/components/badge';
2
2
  import { AXBadgeModule } from '@acorex/components/badge';
3
3
  import * as i5 from '@acorex/components/button';
4
4
  import { AXButtonModule } from '@acorex/components/button';
@@ -6,68 +6,77 @@ import * as i3 from '@acorex/components/decorators';
6
6
  import { AXDecoratorModule } from '@acorex/components/decorators';
7
7
  import * as i4 from '@acorex/components/loading';
8
8
  import { AXLoadingModule } from '@acorex/components/loading';
9
- import * as i1$6 from '@acorex/platform/layout/builder';
10
- import { AXPWidgetComponent, AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXP_WIDGETS_ADVANCE_GROUP, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP } from '@acorex/platform/layout/builder';
11
- import * as i1$1 from '@angular/common';
9
+ import * as i1$7 from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetComponent, AXPWidgetsCatalog, createStringProperty, createBooleanProperty, createSelectProperty, cloneProperty, AXP_WIDGETS_ACTION_GROUP, AXP_WIDGETS_EDITOR_GROUP, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPWidgetStatus, AXPPageStatus, AXP_WIDGETS_ADVANCE_GROUP, AXPLayoutBuilderModule, AXP_WIDGETS_LAYOUT_GROUP, AXP_WIDGETS_FILTER_GROUP } from '@acorex/platform/layout/builder';
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, HostBinding, signal, effect, ViewEncapsulation, ViewChild, ChangeDetectorRef, HostListener, NgModule } from '@angular/core';
14
+ import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, HostBinding, signal, effect, ViewEncapsulation, ViewChild, untracked, ChangeDetectorRef, ElementRef, viewChild, afterNextRender, NgZone, model, input, HostListener, NgModule } from '@angular/core';
15
15
  import { AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, AXDataSource } from '@acorex/components/common';
16
- import * as i3$1 from '@acorex/components/check-box';
16
+ import * as i1 from '@acorex/components/check-box';
17
17
  import { AXCheckBoxModule } from '@acorex/components/check-box';
18
- import * as i3$2 from '@acorex/components/form';
18
+ import * as i3$1 from '@acorex/components/form';
19
19
  import { AXFormModule } from '@acorex/components/form';
20
- import * as i4$1 from '@acorex/components/label';
20
+ import * as i2 from '@acorex/components/label';
21
21
  import { AXLabelModule } from '@acorex/components/label';
22
22
  import { AXValidationModule, AXValidationService } from '@acorex/core/validation';
23
- import * as i2 from '@angular/forms';
23
+ import * as i1$1 from '@angular/forms';
24
24
  import { FormsModule } from '@angular/forms';
25
- import { AXPClipBoardService } from '@acorex/platform/common';
25
+ import { AXPClipBoardService, AXPFileStorageService, ALL_DEFAULT_OPERATORS, DATE_OPERATORS, BOOLEAN_OPERATORS, NUMBER_OPERATORS, STRING_OPERATORS } from '@acorex/platform/common';
26
26
  import { AXPopupService } from '@acorex/components/popup';
27
- import * as i3$3 from '@acorex/components/select-box';
27
+ import * as i3$2 from '@acorex/components/select-box';
28
28
  import { AXSelectBoxModule, AXSelectBoxComponent } from '@acorex/components/select-box';
29
29
  import * as i7 from '@acorex/components/text-box';
30
30
  import { AXTextBoxModule } from '@acorex/components/text-box';
31
- import * as i1 from '@acorex/core/translation';
31
+ import * as i1$2 from '@acorex/core/translation';
32
32
  import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
33
33
  import { AXBasePageComponent } from '@acorex/components/page';
34
34
  import { AXDateTimeFormatter } from '@acorex/core/date-time';
35
- import * as i3$4 from '@acorex/components/datetime-box';
35
+ import * as i3$3 from '@acorex/components/datetime-box';
36
36
  import { AXDateTimeBoxModule } from '@acorex/components/datetime-box';
37
- import * as i4$2 from '@acorex/components/text-area';
37
+ import * as i4$1 from '@acorex/components/text-area';
38
38
  import { AXTextAreaModule } from '@acorex/components/text-area';
39
39
  import { AXFormatService } from '@acorex/core/format';
40
40
  import { isNumber, sum, get } from 'lodash-es';
41
- import * as i1$3 from '@acorex/components/number-box';
41
+ import * as i1$5 from '@acorex/components/number-box';
42
42
  import { AXNumberBoxModule } from '@acorex/components/number-box';
43
- import * as i3$5 from '@acorex/components/password-box';
43
+ import * as i3$4 from '@acorex/components/password-box';
44
44
  import { AXPasswordBoxModule } from '@acorex/components/password-box';
45
45
  import { AXPlatform } from '@acorex/core/platform';
46
46
  import { AXPHtmlUtils } from '@acorex/platform/core';
47
- import * as i1$4 from '@acorex/components/wysiwyg';
47
+ import * as i3$5 from '@acorex/components/toolbar';
48
+ import { AXToolBarModule } from '@acorex/components/toolbar';
49
+ import * as i2$1 from '@acorex/components/wysiwyg';
48
50
  import { AXWysiwygModule } from '@acorex/components/wysiwyg';
49
51
  import * as i5$1 from '@acorex/components/search-box';
50
52
  import { AXSearchBoxModule } from '@acorex/components/search-box';
51
- import * as i2$1 from '@acorex/components/selection-list';
53
+ import * as i2$2 from '@acorex/components/selection-list';
52
54
  import { AXSelectionListModule } from '@acorex/components/selection-list';
53
55
  import { first, Subscription } from 'rxjs';
54
- import * as i3$6 from '@acorex/components/switch';
56
+ import * as i2$3 from '@acorex/components/switch';
55
57
  import { AXSwitchModule } from '@acorex/components/switch';
58
+ import { AXFileService } from '@acorex/core/file';
56
59
  import * as i5$2 from '@acorex/components/uploader';
57
60
  import { AXUploaderModule } from '@acorex/components/uploader';
58
61
  import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
59
- import * as i2$2 from '@acorex/components/image';
62
+ import * as i2$4 from '@acorex/components/image';
60
63
  import { AXImageModule } from '@acorex/components/image';
61
- import * as i1$5 from '@acorex/components/map';
64
+ import * as i1$6 from '@acorex/components/map';
62
65
  import { AXMapModule } from '@acorex/components/map';
63
66
  import { AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerService, AXPDesignerGridDrawerComponent } from '@acorex/platform/layout/designer';
64
- import * as i1$7 from '@acorex/components/cron-job';
67
+ import * as i4$2 from '@acorex/components/button-group';
68
+ import { AXButtonGroupModule } from '@acorex/components/button-group';
69
+ import * as i2$5 from '@acorex/components/color-box';
70
+ import { AXColorBoxModule } from '@acorex/components/color-box';
71
+ import * as i3$6 from '@acorex/components/range-slider';
72
+ import { AXRangeSliderModule } from '@acorex/components/range-slider';
73
+ import * as i1$8 from '@acorex/components/popover';
74
+ import { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
75
+ import * as i1$9 from '@acorex/components/cron-job';
65
76
  import { AXCronJobModule } from '@acorex/components/cron-job';
66
- import * as i1$8 from '@acorex/components/qrcode';
77
+ import * as i1$a from '@acorex/components/qrcode';
67
78
  import { AXQrcodeModule } from '@acorex/components/qrcode';
68
79
  import { AXColorUtil } from '@acorex/core/utils';
69
- import * as i2$3 from '@acorex/components/color-box';
70
- import { AXColorBoxModule } from '@acorex/components/color-box';
71
80
  import { DomSanitizer } from '@angular/platform-browser';
72
81
 
73
82
  class AXPButtonWidgetViewComponent extends AXPWidgetComponent {
@@ -537,6 +546,42 @@ function numberDefaultProperty() {
537
546
  visible: true,
538
547
  };
539
548
  }
549
+ function numberMinValueProperty(value) {
550
+ return {
551
+ name: 'minValue',
552
+ title: 'Min Value',
553
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
554
+ order: 9,
555
+ schema: {
556
+ dataType: 'number',
557
+ defaultValue: value,
558
+ interface: {
559
+ name: 'minValue',
560
+ path: 'options.minValue',
561
+ type: AXPWidgetsCatalog.number,
562
+ },
563
+ },
564
+ visible: true,
565
+ };
566
+ }
567
+ function numberMaxValueProperty(value) {
568
+ return {
569
+ name: 'maxValue',
570
+ title: 'Max Value',
571
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
572
+ order: 10,
573
+ schema: {
574
+ dataType: 'number',
575
+ defaultValue: value,
576
+ interface: {
577
+ name: 'maxValue',
578
+ path: 'options.maxValue',
579
+ type: AXPWidgetsCatalog.number,
580
+ },
581
+ },
582
+ visible: true,
583
+ };
584
+ }
540
585
 
541
586
  const AXP_LAYOUT_GRID_PROPERTY_GROUP = {
542
587
  name: 'grid',
@@ -813,18 +858,8 @@ const AXP_LAYOUT_SPACING_PROPERTY = {
813
858
  schema: {
814
859
  dataType: 'object',
815
860
  defaultValue: {
816
- margin: {
817
- top: 0,
818
- left: 0,
819
- bottom: 0,
820
- right: 0,
821
- },
822
- padding: {
823
- top: 0,
824
- left: 0,
825
- bottom: 0,
826
- right: 0,
827
- },
861
+ margin: '0px 0px 0px 0px',
862
+ padding: '0px 0px 0px 0px',
828
863
  },
829
864
  interface: {
830
865
  name: 'spacing',
@@ -842,10 +877,10 @@ const AXP_LAYOUT_BORDER_PROPERTY = {
842
877
  schema: {
843
878
  dataType: 'object',
844
879
  defaultValue: {
845
- dimensions: { top: 0, left: 0, bottom: 0, right: 0 },
846
- radius: { top: 0, left: 0, bottom: 0, right: 0 },
847
- colors: { top: 'transparent', left: 'transparent', bottom: 'transparent', right: 'transparent' },
848
- styles: { top: 'none', left: 'none', bottom: 'none', right: 'none' },
880
+ width: '0px 0px 0px 0px',
881
+ radius: '0px 0px 0px 0px',
882
+ color: '#000000 #000000 #000000 #000000',
883
+ style: 'none none none none',
849
884
  },
850
885
  interface: {
851
886
  name: 'border',
@@ -856,6 +891,21 @@ const AXP_LAYOUT_BORDER_PROPERTY = {
856
891
  },
857
892
  visible: true,
858
893
  };
894
+ const AXP_LAYOUT_FLEX_PROPERTY = {
895
+ name: 'flexOptions',
896
+ title: 'Flex Options',
897
+ group: AXP_BOX_MODEL_PROPERTY_GROUP,
898
+ schema: {
899
+ dataType: 'object',
900
+ interface: {
901
+ name: 'flexOptions',
902
+ path: 'options.flexOptions',
903
+ type: AXPWidgetsCatalog.flexOptions,
904
+ options: {},
905
+ },
906
+ },
907
+ visible: true,
908
+ };
859
909
 
860
910
  const AXP_TABLE_COLUMN_WIDTH_PROPERTY = {
861
911
  name: 'width',
@@ -943,7 +993,7 @@ class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent {
943
993
  <ax-label>{{ label() }}</ax-label>
944
994
  }
945
995
  </ax-check-box>
946
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
996
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { 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: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXValidationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
947
997
  }
948
998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCheckBoxWidgetEditComponent, decorators: [{
949
999
  type: Component,
@@ -998,10 +1048,10 @@ const AXPCheckBoxWidget = {
998
1048
  ],
999
1049
  components: {
1000
1050
  designer: {
1001
- component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-juhKoygA.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
1051
+ component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
1002
1052
  },
1003
1053
  view: {
1004
- component: () => import('./acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs').then((c) => c.AXPCheckBoxWidgetViewComponent),
1054
+ component: () => import('./acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs').then((c) => c.AXPCheckBoxWidgetViewComponent),
1005
1055
  },
1006
1056
  edit: {
1007
1057
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
@@ -1010,7 +1060,7 @@ const AXPCheckBoxWidget = {
1010
1060
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
1011
1061
  },
1012
1062
  column: {
1013
- component: () => import('./acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs').then((c) => c.AXPCheckBoxWidgetColumnComponent),
1063
+ component: () => import('./acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs').then((c) => c.AXPCheckBoxWidgetColumnComponent),
1014
1064
  },
1015
1065
  filter: {
1016
1066
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
@@ -1097,7 +1147,7 @@ class popupComponent extends AXBasePageComponent {
1097
1147
  <ax-button [text]="'apply' | translate | async" color="primary" (onClick)="handleClose(form)"></ax-button>
1098
1148
  </ax-suffix>
1099
1149
  </ax-footer>
1100
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { 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: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { 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: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i3$2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }] }); }
1150
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1$2.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { 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: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { 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: 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: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i3$1.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }] }); }
1101
1151
  }
1102
1152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: popupComponent, decorators: [{
1103
1153
  type: Component,
@@ -1341,7 +1391,7 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1341
1391
  </ax-prefix>
1342
1392
  </ax-button>
1343
1393
  }
1344
- </div> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$3.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: i3$2.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.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1394
+ </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$2.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: i3$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 }); }
1345
1395
  }
1346
1396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPContactWidgetEditComponent, decorators: [{
1347
1397
  type: Component,
@@ -1417,7 +1467,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1417
1467
  AXValidationModule,
1418
1468
  AXTranslationModule,
1419
1469
  ],
1420
- inputs: []
1421
1470
  }]
1422
1471
  }], ctorParameters: () => [], propDecorators: { __class: [{
1423
1472
  type: HostBinding,
@@ -1521,7 +1570,7 @@ class AXPContactWidgetViewComponent extends AXPWidgetComponent {
1521
1570
  }
1522
1571
  </div>
1523
1572
  }
1524
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1573
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1525
1574
  }
1526
1575
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPContactWidgetViewComponent, decorators: [{
1527
1576
  type: Component,
@@ -1777,7 +1826,7 @@ class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent {
1777
1826
  ></ax-button>
1778
1827
  }
1779
1828
  </div>
1780
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i3$4.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { 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.AXDecoratorClearButtonComponent, selector: "ax-clear-button", 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1829
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i3$3.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { 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.AXDecoratorClearButtonComponent, selector: "ax-clear-button", 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1781
1830
  }
1782
1831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDateTimeBoxWidgetEditComponent, decorators: [{
1783
1832
  type: Component,
@@ -2042,7 +2091,7 @@ class AXPEmailBoxWidgetViewComponent extends AXPWidgetComponent {
2042
2091
  }
2043
2092
  </ng-template>
2044
2093
  </div>
2045
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2094
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2046
2095
  }
2047
2096
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEmailBoxWidgetViewComponent, decorators: [{
2048
2097
  type: Component,
@@ -2242,7 +2291,7 @@ class AXPEmailBoxWidgetEditComponent extends AXPWidgetComponent {
2242
2291
  }
2243
2292
  }
2244
2293
  </div>
2245
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.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: AXSelectBoxModule }, { kind: "component", type: i3$3.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: 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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2294
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXFormModule }, { kind: "directive", type: i3$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: AXSelectBoxModule }, { kind: "component", type: i3$2.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: 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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2246
2295
  }
2247
2296
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEmailBoxWidgetEditComponent, decorators: [{
2248
2297
  type: Component,
@@ -2545,7 +2594,7 @@ class AXPLargeTextWidgetEditComponent extends AXPWidgetComponent {
2545
2594
  ></ax-validation-rule>
2546
2595
  }
2547
2596
  </ax-text-area>
2548
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i4$2.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2597
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { 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: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i4$1.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2549
2598
  }
2550
2599
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLargeTextWidgetEditComponent, decorators: [{
2551
2600
  type: Component,
@@ -2745,7 +2794,7 @@ class AXPLinkWidgetViewComponent extends AXPWidgetComponent {
2745
2794
  </div>
2746
2795
  }
2747
2796
  </ng-template>
2748
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2797
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2749
2798
  }
2750
2799
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLinkWidgetViewComponent, decorators: [{
2751
2800
  type: Component,
@@ -3060,7 +3109,7 @@ class AXPLinkWidgetEditComponent extends AXPWidgetComponent {
3060
3109
  >
3061
3110
  </ax-select-box>
3062
3111
  } }
3063
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$3.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: i3$2.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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3112
+ </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$2.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: i3$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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3064
3113
  }
3065
3114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLinkWidgetEditComponent, decorators: [{
3066
3115
  type: Component,
@@ -3325,20 +3374,8 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent {
3325
3374
  this.maxValue = computed(() => this.options()['maxValue']);
3326
3375
  this.seprator = computed(() => this.options()['seprator'] ?? null);
3327
3376
  this.placeholder = computed(() => this.options()['placeholder']);
3328
- this.validationService = inject(AXValidationService);
3329
- this.validationRules = [];
3377
+ this.validationRules = computed(() => this.options()["validationRules"] ?? []);
3330
3378
  this.internalValue = computed(() => Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]);
3331
- this.validateFn = async (value, options) => {
3332
- const vn = this.validationService.ruleFor(value);
3333
- this.validationRules.forEach((v) => {
3334
- const options = { ...v.options };
3335
- if (v.message)
3336
- options.message = v.message;
3337
- vn.addRule(v.rule, options);
3338
- });
3339
- const a = await vn.validate();
3340
- return { result: a.result, message: a.rules.find((c) => !c.result)?.message };
3341
- };
3342
3379
  }
3343
3380
  handleValueChange(e, i) {
3344
3381
  if (e.isUserInteraction) {
@@ -3379,7 +3416,9 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent {
3379
3416
  (onValueChanged)="handleValueChange($event, $index)"
3380
3417
  [disabled]="disabled()"
3381
3418
  >
3382
- <ax-validation-rule rule="callback" [options]="{ validate: validateFn }"></ax-validation-rule>
3419
+ @for (validation of validationRules(); track $index) {
3420
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
3421
+ }
3383
3422
  @if(clearButton()) {
3384
3423
  <ax-clear-button></ax-clear-button>
3385
3424
  } @if(multiple()){
@@ -3404,7 +3443,7 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent {
3404
3443
  </ax-button>
3405
3444
  }
3406
3445
  </div>
3407
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$3.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", 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: AXFormModule }, { kind: "directive", type: i3$2.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3446
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$5.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { 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: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", 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: AXFormModule }, { kind: "directive", type: i3$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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3408
3447
  }
3409
3448
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPNumberBoxWidgetEditComponent, decorators: [{
3410
3449
  type: Component,
@@ -3423,7 +3462,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
3423
3462
  (onValueChanged)="handleValueChange($event, $index)"
3424
3463
  [disabled]="disabled()"
3425
3464
  >
3426
- <ax-validation-rule rule="callback" [options]="{ validate: validateFn }"></ax-validation-rule>
3465
+ @for (validation of validationRules(); track $index) {
3466
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
3467
+ }
3427
3468
  @if(clearButton()) {
3428
3469
  <ax-clear-button></ax-clear-button>
3429
3470
  } @if(multiple()){
@@ -3547,10 +3588,13 @@ const AXPNumberBoxWidget = {
3547
3588
  AXP_NAME_PROPERTY,
3548
3589
  AXP_DATA_PATH_PROPERTY,
3549
3590
  AXP_ALLOW_MULTIPLE_PROPERTY,
3591
+ AXP_HAS_CLEAR_BUTTON_PROPERTY,
3550
3592
  AXP_DISABLED_PROPERTY,
3551
3593
  AXP_VALIDATION_PROPERTY,
3552
3594
  AXP_PLACEHOLDER_PROPERTY,
3553
3595
  numberDefaultProperty(),
3596
+ numberMinValueProperty(),
3597
+ numberMaxValueProperty(),
3554
3598
  cloneProperty(AXP_TABLE_COLUMN_WIDTH_PROPERTY, { schema: { defaultValue: '200px' } }),
3555
3599
  ],
3556
3600
  components: {
@@ -3676,7 +3720,7 @@ class AXPPasswordBoxWidgetEditComponent extends AXPWidgetComponent {
3676
3720
  <ax-clear-button></ax-clear-button>
3677
3721
  }
3678
3722
  </ax-password-box>
3679
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXPasswordBoxModule }, { kind: "component", type: i3$5.AXPasswordBoxComponent, selector: "ax-password-box", inputs: ["readonly", "disabled", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "autoComplete", "showToggleButton", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3723
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXPasswordBoxModule }, { kind: "component", type: i3$4.AXPasswordBoxComponent, selector: "ax-password-box", inputs: ["readonly", "disabled", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "autoComplete", "showToggleButton", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3680
3724
  }
3681
3725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPasswordBoxWidgetEditComponent, decorators: [{
3682
3726
  type: Component,
@@ -3894,7 +3938,7 @@ class AXPPhoneBoxWidgetViewComponent extends AXPWidgetComponent {
3894
3938
  </ng-container>
3895
3939
  </ng-template>
3896
3940
  </div>
3897
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3941
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3898
3942
  }
3899
3943
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPhoneBoxWidgetViewComponent, decorators: [{
3900
3944
  type: Component,
@@ -4073,7 +4117,7 @@ class AXPPhoneBoxWidgetEditComponent extends AXPWidgetComponent {
4073
4117
  </ax-prefix>
4074
4118
  </ax-button>
4075
4119
  </div>
4076
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.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: AXSelectBoxModule }, { kind: "component", type: i3$3.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: 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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4120
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: AXFormModule }, { kind: "directive", type: i3$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: AXSelectBoxModule }, { kind: "component", type: i3$2.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: 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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4077
4121
  }
4078
4122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPhoneBoxWidgetEditComponent, decorators: [{
4079
4123
  type: Component,
@@ -4344,8 +4388,8 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4344
4388
  constructor() {
4345
4389
  super(...arguments);
4346
4390
  this.placeholder = computed(() => this.options()['placeholder']);
4347
- this.disabled = computed(() => this.options()["disabled"]);
4348
- this.validationRules = computed(() => this.options()["validationRules"] ?? []);
4391
+ this.disabled = computed(() => this.options()['disabled']);
4392
+ this.validationRules = computed(() => this.options()['validationRules'] ?? []);
4349
4393
  this.eff = effect(() => {
4350
4394
  console.log(this.getValue());
4351
4395
  });
@@ -4369,13 +4413,26 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4369
4413
  (onValueChanged)="setWysiwyg($event)"
4370
4414
  >
4371
4415
  <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
4372
- <ax-wysiwyg-toolbar>
4416
+ <!-- <ax-wysiwyg-toolbar>
4373
4417
  <ax-wysiwyg-history></ax-wysiwyg-history>
4374
4418
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4375
4419
  <ax-wysiwyg-colors></ax-wysiwyg-colors>
4376
4420
  <ax-wysiwyg-list></ax-wysiwyg-list>
4377
4421
  <ax-wysiwyg-alignment></ax-wysiwyg-alignment>
4378
- </ax-wysiwyg-toolbar>
4422
+ </ax-wysiwyg-toolbar> -->
4423
+
4424
+ <ax-toolbar>
4425
+ <ax-prefix>
4426
+ <!-- <ax-wysiwyg-history></ax-wysiwyg-history> <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4427
+ <ax-wysiwyg-colors></ax-wysiwyg-colors> <ax-wysiwyg-list></ax-wysiwyg-list>
4428
+ <ax-wysiwyg-alignment></ax-wysiwyg-alignment> <ax-wysiwyg-insert></ax-wysiwyg-insert> -->
4429
+ <ax-wysiwyg-history></ax-wysiwyg-history>
4430
+ <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4431
+ <ax-wysiwyg-colors></ax-wysiwyg-colors>
4432
+ <ax-wysiwyg-list></ax-wysiwyg-list>
4433
+ <ax-wysiwyg-alignment></ax-wysiwyg-alignment>
4434
+ </ax-prefix>
4435
+ </ax-toolbar>
4379
4436
  @for (validation of validationRules(); track $index) {
4380
4437
  <ax-validation-rule
4381
4438
  [rule]="validation.rule"
@@ -4383,7 +4440,7 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4383
4440
  [options]="validation.options"
4384
4441
  ></ax-validation-rule>
4385
4442
  }
4386
- </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i1$4.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "placeHolder"], outputs: ["onValueChanged"] }, { kind: "component", type: i1$4.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i1$4.AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar" }, { kind: "component", type: i1$4.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i1$4.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i1$4.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i1$4.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i1$4.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4443
+ </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i2$1.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "placeHolder"], outputs: ["onValueChanged"] }, { kind: "component", type: i2$1.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i2$1.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i2$1.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i2$1.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i2$1.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i2$1.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXToolBarModule }, { kind: "component", type: i3$5.AXToolBarComponent, selector: "ax-toolbar" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4387
4444
  }
4388
4445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRichTextWidgetEditComponent, decorators: [{
4389
4446
  type: Component,
@@ -4396,13 +4453,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4396
4453
  (onValueChanged)="setWysiwyg($event)"
4397
4454
  >
4398
4455
  <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
4399
- <ax-wysiwyg-toolbar>
4456
+ <!-- <ax-wysiwyg-toolbar>
4400
4457
  <ax-wysiwyg-history></ax-wysiwyg-history>
4401
4458
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4402
4459
  <ax-wysiwyg-colors></ax-wysiwyg-colors>
4403
4460
  <ax-wysiwyg-list></ax-wysiwyg-list>
4404
4461
  <ax-wysiwyg-alignment></ax-wysiwyg-alignment>
4405
- </ax-wysiwyg-toolbar>
4462
+ </ax-wysiwyg-toolbar> -->
4463
+
4464
+ <ax-toolbar>
4465
+ <ax-prefix>
4466
+ <!-- <ax-wysiwyg-history></ax-wysiwyg-history> <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4467
+ <ax-wysiwyg-colors></ax-wysiwyg-colors> <ax-wysiwyg-list></ax-wysiwyg-list>
4468
+ <ax-wysiwyg-alignment></ax-wysiwyg-alignment> <ax-wysiwyg-insert></ax-wysiwyg-insert> -->
4469
+ <ax-wysiwyg-history></ax-wysiwyg-history>
4470
+ <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4471
+ <ax-wysiwyg-colors></ax-wysiwyg-colors>
4472
+ <ax-wysiwyg-list></ax-wysiwyg-list>
4473
+ <ax-wysiwyg-alignment></ax-wysiwyg-alignment>
4474
+ </ax-prefix>
4475
+ </ax-toolbar>
4406
4476
  @for (validation of validationRules(); track $index) {
4407
4477
  <ax-validation-rule
4408
4478
  [rule]="validation.rule"
@@ -4413,7 +4483,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4413
4483
  </ax-wysiwyg-container>`,
4414
4484
  encapsulation: ViewEncapsulation.None,
4415
4485
  changeDetection: ChangeDetectionStrategy.OnPush,
4416
- imports: [CommonModule, AXWysiwygModule, AXValidationModule, AXFormModule, FormsModule]
4486
+ imports: [
4487
+ CommonModule,
4488
+ AXDecoratorModule,
4489
+ AXWysiwygModule,
4490
+ AXToolBarModule,
4491
+ AXValidationModule,
4492
+ AXFormModule,
4493
+ FormsModule,
4494
+ ],
4417
4495
  }]
4418
4496
  }], propDecorators: { __class: [{
4419
4497
  type: HostBinding,
@@ -4568,7 +4646,7 @@ class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
4568
4646
  @for (item of internalValue(); track $index) {
4569
4647
  <ax-badge [look]="'twotone'" [text]="item[this.textField]" color="primary"></ax-badge>
4570
4648
  }
4571
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4649
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4572
4650
  }
4573
4651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectBoxWidgetColumnComponent, decorators: [{
4574
4652
  type: Component,
@@ -4599,13 +4677,17 @@ class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent {
4599
4677
  this.hasClearButton = computed(() => this.options()['hasClearButton']);
4600
4678
  this.allowSearch = computed(() => this.options()['allowSearch'] ?? false);
4601
4679
  }
4680
+ outputs() {
4681
+ return ["selectedItems"];
4682
+ }
4602
4683
  handleValueChange(e) {
4684
+ this.selectedItems.set(e.component.selectedItems);
4603
4685
  if (e.isUserInteraction) {
4604
4686
  if (this.multiple()) {
4605
- this.setValue(e.component.selectedItems);
4687
+ this.setValue(this.selectedItems());
4606
4688
  }
4607
4689
  else {
4608
- this.setValue(e.component.selectedItems[0]);
4690
+ this.setValue(this.selectedItems()[0]);
4609
4691
  }
4610
4692
  }
4611
4693
  }
@@ -4647,7 +4729,7 @@ class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent {
4647
4729
  ></ax-validation-rule>
4648
4730
  }
4649
4731
  </ax-select-box>
4650
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$3.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: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i5$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4732
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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$2.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: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i5$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4651
4733
  }
4652
4734
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectBoxWidgetEditComponent, decorators: [{
4653
4735
  type: Component,
@@ -4765,7 +4847,7 @@ class AXPSelectBoxWidgetViewComponent extends AXPWidgetComponent {
4765
4847
  @for (item of internalValue(); track $index) {
4766
4848
  <ax-badge [look]="'twotone'" [text]="item.text" color="primary"></ax-badge>
4767
4849
  }
4768
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4850
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4769
4851
  }
4770
4852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectBoxWidgetViewComponent, decorators: [{
4771
4853
  type: Component,
@@ -4858,7 +4940,7 @@ class AXPSelectionListWidgetViewComponent extends AXPWidgetComponent {
4858
4940
  @for (item of internalValue(); track $index) {
4859
4941
  <ax-badge [look]="'twotone'" [text]="item[this.textField()]" color="primary"></ax-badge>
4860
4942
  }
4861
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4943
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4862
4944
  }
4863
4945
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetViewComponent, decorators: [{
4864
4946
  type: Component,
@@ -4930,7 +5012,7 @@ class AXPSelectionListWidgetDesignerComponent extends AXPDataListWidgetComponent
4930
5012
  [readonly]="readonly()"
4931
5013
  >
4932
5014
  </ax-selection-list>
4933
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i2$1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXFormModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5015
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXSelectionListModule }, { kind: "component", type: i2$2.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXFormModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4934
5016
  }
4935
5017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetDesignerComponent, decorators: [{
4936
5018
  type: Component,
@@ -5015,7 +5097,7 @@ class AXPSelectionListWidgetEditComponent extends AXPDataListWidgetComponent {
5015
5097
  ></ax-validation-rule>
5016
5098
  }
5017
5099
  </ax-selection-list>
5018
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i2$1.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5100
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXSelectionListModule }, { kind: "component", type: i2$2.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5019
5101
  }
5020
5102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetEditComponent, decorators: [{
5021
5103
  type: Component,
@@ -5106,7 +5188,7 @@ class AXPSelectionListWidgetColumnComponent extends AXPColumnWidgetComponent {
5106
5188
  } }@else {
5107
5189
  <ax-badge [look]="'twotone'" [text]="firstItem()[this.textField]" color="primary"></ax-badge>
5108
5190
  }
5109
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5191
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5110
5192
  }
5111
5193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetColumnComponent, decorators: [{
5112
5194
  type: Component,
@@ -5296,7 +5378,7 @@ class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent {
5296
5378
  look="twotone"
5297
5379
  [disabled]="disabled()"
5298
5380
  (onClick)="addItem()"
5299
- class="ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13"
5381
+ class="ax-col-start-8 md:ax-col-start-9 2xl:ax-col-start-10 ax-col-end-13"
5300
5382
  >
5301
5383
  <ax-prefix>
5302
5384
  <ax-icon class="fa-solid fa-add"></ax-icon>
@@ -5304,7 +5386,7 @@ class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent {
5304
5386
  </ax-button>
5305
5387
  }
5306
5388
  </div>
5307
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", 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: AXValidationModule }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5389
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: 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: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", 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: AXValidationModule }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5308
5390
  }
5309
5391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetEditComponent, decorators: [{
5310
5392
  type: Component,
@@ -5333,7 +5415,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5333
5415
  look="twotone"
5334
5416
  [disabled]="disabled()"
5335
5417
  (onClick)="addItem()"
5336
- class="ax-col-start-8 lg:ax-col-start-10 2xl:ax-col-start-10 ax-col-end-13"
5418
+ class="ax-col-start-8 md:ax-col-start-9 2xl:ax-col-start-10 ax-col-end-13"
5337
5419
  >
5338
5420
  <ax-prefix>
5339
5421
  <ax-icon class="fa-solid fa-add"></ax-icon>
@@ -5421,6 +5503,7 @@ const AXPTextBoxWidget = {
5421
5503
  description: 'Inputs single-line text',
5422
5504
  group: AXP_WIDGETS_EDITOR_GROUP,
5423
5505
  type: 'editor',
5506
+ defaultFilterWidgetName: 'string-filter',
5424
5507
  properties: [
5425
5508
  AXP_NAME_PROPERTY,
5426
5509
  AXP_DATA_PATH_PROPERTY,
@@ -5462,41 +5545,39 @@ class AXPToggleWidgetViewComponent extends AXPWidgetComponent {
5462
5545
  this.trulyText = computed(() => this.options()['trulyText']);
5463
5546
  }
5464
5547
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5465
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPToggleWidgetViewComponent, isStandalone: true, selector: "axp-switch-widget-view", usesInheritance: true, ngImport: i0, template: `
5466
- @if(getValue()){ @if(trulyText()) {
5548
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPToggleWidgetViewComponent, isStandalone: true, selector: "axp-switch-widget-view", usesInheritance: true, ngImport: i0, template: ` @if(getValue()){ @if(trulyText()) {
5467
5549
  <ax-badge [text]="trulyText()" [color]="negative() ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5468
5550
  } @else { @if(negative()) {
5469
- <ax-icon class="fa-solid fa-check ax-text-sanger"> </ax-icon>
5551
+ <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5470
5552
  } @else {
5471
5553
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5472
5554
  } } }@else { @if(falsyText()) {
5473
5555
  <ax-badge [text]="falsyText()" [color]="negative() ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5474
5556
  } @else { @if(negative()) {
5475
- <ax-icon class="fa-solid fa-xmark ax-text-success"> </ax-icon>
5557
+ <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5476
5558
  }@else {
5477
5559
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5478
- } } }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5560
+ } } }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5479
5561
  }
5480
5562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetViewComponent, decorators: [{
5481
5563
  type: Component,
5482
5564
  args: [{
5483
5565
  selector: 'axp-switch-widget-view',
5484
- template: `
5485
- @if(getValue()){ @if(trulyText()) {
5566
+ template: ` @if(getValue()){ @if(trulyText()) {
5486
5567
  <ax-badge [text]="trulyText()" [color]="negative() ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5487
5568
  } @else { @if(negative()) {
5488
- <ax-icon class="fa-solid fa-check ax-text-sanger"> </ax-icon>
5569
+ <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5489
5570
  } @else {
5490
5571
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5491
5572
  } } }@else { @if(falsyText()) {
5492
5573
  <ax-badge [text]="falsyText()" [color]="negative() ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5493
5574
  } @else { @if(negative()) {
5494
- <ax-icon class="fa-solid fa-xmark ax-text-success"> </ax-icon>
5575
+ <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5495
5576
  }@else {
5496
5577
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5497
5578
  } } }`,
5498
5579
  changeDetection: ChangeDetectionStrategy.OnPush,
5499
- imports: [CommonModule, AXDecoratorModule, AXBadgeModule]
5580
+ imports: [CommonModule, AXDecoratorModule, AXBadgeModule],
5500
5581
  }]
5501
5582
  }] });
5502
5583
 
@@ -5511,13 +5592,12 @@ class AXPToggleWidgetEditComponent extends AXPWidgetComponent {
5511
5592
  this.disabled = computed(() => this.options()['disabled']);
5512
5593
  this.readonly = computed(() => this.options()['readonly']);
5513
5594
  this.label = computed(() => this.options()['label']);
5514
- this.validationRules = computed(() => this.options()['validationRules'] ?? []);
5515
5595
  this.color = computed(() => this.options()['color']?.id ?? 'primary');
5516
5596
  }
5517
5597
  get __class() {
5518
5598
  const cls = {};
5519
5599
  //
5520
- cls['ax-inline'] = true;
5600
+ cls['ax-inline-block'] = true;
5521
5601
  return cls;
5522
5602
  }
5523
5603
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -5529,21 +5609,14 @@ class AXPToggleWidgetEditComponent extends AXPWidgetComponent {
5529
5609
  [readonly]="readonly()"
5530
5610
  [color]="color()"
5531
5611
  (onValueChanged)="handleValueChanged($event)">
5532
- @for (validation of validationRules(); track $index) {
5533
- <ax-validation-rule
5534
- [rule]="validation.rule"
5535
- [message]="validation.options?.message"
5536
- [options]="validation.options"
5537
- >
5538
- </ax-validation-rule>
5539
- }
5612
+
5540
5613
  </ax-switch>
5541
5614
  @if(label())
5542
5615
  {
5543
5616
  <ax-label [textContent]="label()"></ax-label>
5544
5617
  }
5545
5618
  </div>
5546
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i3$6.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5619
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXFormModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i2$3.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5547
5620
  }
5548
5621
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetEditComponent, decorators: [{
5549
5622
  type: Component,
@@ -5557,14 +5630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5557
5630
  [readonly]="readonly()"
5558
5631
  [color]="color()"
5559
5632
  (onValueChanged)="handleValueChanged($event)">
5560
- @for (validation of validationRules(); track $index) {
5561
- <ax-validation-rule
5562
- [rule]="validation.rule"
5563
- [message]="validation.options?.message"
5564
- [options]="validation.options"
5565
- >
5566
- </ax-validation-rule>
5567
- }
5633
+
5568
5634
  </ax-switch>
5569
5635
  @if(label())
5570
5636
  {
@@ -5574,7 +5640,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5574
5640
  `,
5575
5641
  changeDetection: ChangeDetectionStrategy.OnPush,
5576
5642
  imports: [CommonModule, FormsModule, AXFormModule, AXSwitchModule, AXValidationModule, AXLabelModule],
5577
- inputs: []
5578
5643
  }]
5579
5644
  }], propDecorators: { __class: [{
5580
5645
  type: HostBinding,
@@ -5608,24 +5673,24 @@ var toggleWidgetFilter_component = /*#__PURE__*/Object.freeze({
5608
5673
  class AXPToggleWidgetColumnComponent extends AXPColumnWidgetComponent {
5609
5674
  constructor() {
5610
5675
  super(...arguments);
5611
- this.negative = this.options["negative"];
5612
- this.trulyText = this.options["trulyText"];
5613
- this.falsyText = this.options["falsyText"];
5676
+ this.negative = this.options['negative'];
5677
+ this.trulyText = this.options['trulyText'];
5678
+ this.falsyText = this.options['falsyText'];
5614
5679
  }
5615
5680
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5616
5681
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPToggleWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `@if(rawValue){ @if(trulyText){
5617
5682
  <ax-badge [text]="trulyText" [color]="negative ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5618
5683
  }@else { @if(negative){
5619
- <ax-icon class="fa-solid fa-check ax-text-sanger"> </ax-icon>
5684
+ <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5620
5685
  }@else {
5621
5686
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5622
5687
  } } }@else { @if(falsyText){
5623
5688
  <ax-badge [text]="falsyText" [color]="negative ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5624
5689
  }@else { @if(negative){
5625
- <ax-icon class="fa-solid fa-xmark ax-text-success"> </ax-icon>
5690
+ <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5626
5691
  }@else {
5627
5692
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5628
- } } }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5693
+ } } }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$4.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5629
5694
  }
5630
5695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetColumnComponent, decorators: [{
5631
5696
  type: Component,
@@ -5633,19 +5698,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5633
5698
  template: `@if(rawValue){ @if(trulyText){
5634
5699
  <ax-badge [text]="trulyText" [color]="negative ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5635
5700
  }@else { @if(negative){
5636
- <ax-icon class="fa-solid fa-check ax-text-sanger"> </ax-icon>
5701
+ <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5637
5702
  }@else {
5638
5703
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5639
5704
  } } }@else { @if(falsyText){
5640
5705
  <ax-badge [text]="falsyText" [color]="negative ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5641
5706
  }@else { @if(negative){
5642
- <ax-icon class="fa-solid fa-xmark ax-text-success"> </ax-icon>
5707
+ <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5643
5708
  }@else {
5644
5709
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5645
5710
  } } }`,
5646
5711
  changeDetection: ChangeDetectionStrategy.OnPush,
5647
5712
  imports: [CommonModule, AXDecoratorModule, AXBadgeModule],
5648
- inputs: ['rawValue']
5713
+ inputs: ['rawValue'],
5649
5714
  }]
5650
5715
  }] });
5651
5716
 
@@ -5686,7 +5751,6 @@ const AXPToggleWidget = {
5686
5751
  AXP_DATA_PATH_PROPERTY,
5687
5752
  AXP_DISABLED_PROPERTY,
5688
5753
  AXP_STYLE_COLOR_PROPERTY,
5689
- AXP_VALIDATION_PROPERTY,
5690
5754
  AXP_FALSY_TEXT_PROPERTY,
5691
5755
  AXP_TRULY_TEXT_PROPERTY,
5692
5756
  booleanDefaultProperty(),
@@ -5713,6 +5777,250 @@ const AXPToggleWidget = {
5713
5777
  },
5714
5778
  };
5715
5779
 
5780
+ class AXPAvatarWidgetViewComponent extends AXPWidgetComponent {
5781
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5782
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAvatarWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5783
+ }
5784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetViewComponent, decorators: [{
5785
+ type: Component,
5786
+ args: [{
5787
+ template: ``,
5788
+ standalone: true,
5789
+ changeDetection: ChangeDetectionStrategy.OnPush,
5790
+ imports: [CommonModule]
5791
+ }]
5792
+ }] });
5793
+
5794
+ var avatarWidgetView_component = /*#__PURE__*/Object.freeze({
5795
+ __proto__: null,
5796
+ AXPAvatarWidgetViewComponent: AXPAvatarWidgetViewComponent
5797
+ });
5798
+
5799
+ class AXPAvatarWidgetEditComponent extends AXPWidgetComponent {
5800
+ constructor() {
5801
+ super(...arguments);
5802
+ this.refId = computed(() => this.options()['refId']);
5803
+ this.refType = computed(() => this.options()['refType']);
5804
+ this.fileService = inject(AXFileService);
5805
+ this.fileStorage = inject(AXPFileStorageService);
5806
+ this.url = signal(null);
5807
+ this.isEmpty = computed(() => this.url() == null);
5808
+ this.markedAsCommited = null;
5809
+ this.markedAsDeleted = null;
5810
+ this.#effect1 = effect(async () => {
5811
+ const fileId = this.getValue();
5812
+ await untracked(async () => {
5813
+ try {
5814
+ if (fileId) {
5815
+ this.setStatus(AXPWidgetStatus.Processing);
5816
+ const info = await this.fileStorage.getInfo(fileId);
5817
+ this.url.set(info.url ? info.url : null);
5818
+ }
5819
+ else {
5820
+ this.url.set(null);
5821
+ }
5822
+ this.setStatus(AXPWidgetStatus.Rendered);
5823
+ }
5824
+ catch (error) {
5825
+ this.setStatus(AXPWidgetStatus.Error);
5826
+ }
5827
+ });
5828
+ });
5829
+ this.#effect2 = effect(async () => {
5830
+ const status = this.layoutService.status();
5831
+ if (status == AXPPageStatus.Submitted) {
5832
+ if (this.markedAsCommited) {
5833
+ await this.fileStorage.commit(this.markedAsCommited);
5834
+ this.markedAsCommited = null;
5835
+ }
5836
+ if (this.markedAsDeleted) {
5837
+ await this.fileStorage.markForDeletion(this.markedAsDeleted);
5838
+ this.markedAsDeleted = null;
5839
+ }
5840
+ }
5841
+ });
5842
+ }
5843
+ #effect1;
5844
+ #effect2;
5845
+ async chooseFile() {
5846
+ const files = await this.fileService.choose({ accept: 'image/png, image/jpeg' });
5847
+ const file = files[0];
5848
+ const base64 = await this.fileService.blobToBase64(file);
5849
+ this.url.set(base64);
5850
+ // start upload
5851
+ const info = await this.fileStorage.save({
5852
+ category: 'company-logo',
5853
+ file: file,
5854
+ refId: this.refId(),
5855
+ refType: this.refType(),
5856
+ isPrimary: true,
5857
+ });
5858
+ this.markedAsCommited = info.fileId;
5859
+ this.setValue(info.fileId);
5860
+ }
5861
+ async handleChange() {
5862
+ await this.chooseFile();
5863
+ }
5864
+ async handleRemove() {
5865
+ this.markedAsDeleted = this.getValue();
5866
+ this.setValue(null);
5867
+ }
5868
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5869
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAvatarWidgetEditComponent, isStandalone: true, selector: "axp-avatar-widget-edit", usesInheritance: true, ngImport: i0, template: `
5870
+ @if(isBusy()) {
5871
+ <div class="axp-empty axp-state-loading" >
5872
+ <i class="fa-solid fa-spinner-third fa-spin"></i>
5873
+ </div>
5874
+ }
5875
+ @else if(!url())
5876
+ {
5877
+ <div class="axp-empty" (click)="handleChange()" [class.axp-state-error]="this.status()=='error'" >
5878
+ <i class="fa-solid fa-camera ax-text-3xl ax-text-gray-400"></i>
5879
+ </div>
5880
+ }
5881
+ @else {
5882
+ <div class="axp-content" [class.axp-state-error]="this.status()=='error'" >
5883
+ <div [style.backgroundImage]="url() ? 'url(' + url() + ')' : ''">
5884
+ </div>
5885
+ <div >
5886
+ <div (click)="handleChange()">
5887
+ <i class="fa-solid fa-camera "></i>
5888
+ </div>
5889
+ <div (click)="handleRemove()">
5890
+ <i class="fa-light fa-trash-can "></i>
5891
+ </div>
5892
+ </div>
5893
+ </div>
5894
+ }
5895
+ `, isInline: true, styles: ["axp-avatar-widget-edit .axp-empty{height:11rem;width:11rem;cursor:pointer;border-radius:.375rem;border-width:2px;border-style:dashed;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));display:flex;align-items:center;justify-content:center}axp-avatar-widget-edit .axp-empty.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-color-primary-400),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading{--fa-animation-duration: .7s}axp-avatar-widget-edit .axp-empty.axp-state-loading i{font-size:1.875rem;line-height:2.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading i:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-400),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content{cursor:pointer;overflow:hidden;border-radius:.375rem;border-width:1px;display:flex}axp-avatar-widget-edit .axp-content.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-content>:first-child{border-start-start-radius:.375rem;border-end-start-radius:.375rem;background-size:cover;background-position:center;height:11rem;width:11rem;border-inline-end-width:1px}axp-avatar-widget-edit .axp-content>:last-child{display:flex;flex-direction:column}axp-avatar-widget-edit .axp-content>:last-child>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axp-avatar-widget-edit .axp-content>:last-child{overflow:hidden}axp-avatar-widget-edit .axp-content>:last-child>div{display:flex;width:5rem;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div>i{font-size:1.5rem;line-height:2rem}axp-avatar-widget-edit .axp-content>:last-child>:first-child{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:first-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child{--tw-text-opacity: 1;color:rgba(var(--ax-color-danger-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-color-danger-800),var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5896
+ }
5897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetEditComponent, decorators: [{
5898
+ type: Component,
5899
+ args: [{ selector: 'axp-avatar-widget-edit', template: `
5900
+ @if(isBusy()) {
5901
+ <div class="axp-empty axp-state-loading" >
5902
+ <i class="fa-solid fa-spinner-third fa-spin"></i>
5903
+ </div>
5904
+ }
5905
+ @else if(!url())
5906
+ {
5907
+ <div class="axp-empty" (click)="handleChange()" [class.axp-state-error]="this.status()=='error'" >
5908
+ <i class="fa-solid fa-camera ax-text-3xl ax-text-gray-400"></i>
5909
+ </div>
5910
+ }
5911
+ @else {
5912
+ <div class="axp-content" [class.axp-state-error]="this.status()=='error'" >
5913
+ <div [style.backgroundImage]="url() ? 'url(' + url() + ')' : ''">
5914
+ </div>
5915
+ <div >
5916
+ <div (click)="handleChange()">
5917
+ <i class="fa-solid fa-camera "></i>
5918
+ </div>
5919
+ <div (click)="handleRemove()">
5920
+ <i class="fa-light fa-trash-can "></i>
5921
+ </div>
5922
+ </div>
5923
+ </div>
5924
+ }
5925
+ `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
5926
+ CommonModule,
5927
+ ], styles: ["axp-avatar-widget-edit .axp-empty{height:11rem;width:11rem;cursor:pointer;border-radius:.375rem;border-width:2px;border-style:dashed;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1));display:flex;align-items:center;justify-content:center}axp-avatar-widget-edit .axp-empty.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-color-primary-400),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading{--fa-animation-duration: .7s}axp-avatar-widget-edit .axp-empty.axp-state-loading i{font-size:1.875rem;line-height:2.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-empty.axp-state-loading i:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-400),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content{cursor:pointer;overflow:hidden;border-radius:.375rem;border-width:1px;display:flex}axp-avatar-widget-edit .axp-content.axp-state-error{--tw-border-opacity: 1;border-color:rgba(var(--ax-color-danger-500),var(--tw-border-opacity, 1))}axp-avatar-widget-edit .axp-content>:first-child{border-start-start-radius:.375rem;border-end-start-radius:.375rem;background-size:cover;background-position:center;height:11rem;width:11rem;border-inline-end-width:1px}axp-avatar-widget-edit .axp-content>:last-child{display:flex;flex-direction:column}axp-avatar-widget-edit .axp-content>:last-child>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axp-avatar-widget-edit .axp-content>:last-child{overflow:hidden}axp-avatar-widget-edit .axp-content>:last-child>div{display:flex;width:5rem;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div:hover{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-on-surface),var(--tw-bg-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>div>i{font-size:1.5rem;line-height:2rem}axp-avatar-widget-edit .axp-content>:last-child>:first-child{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:first-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child{--tw-text-opacity: 1;color:rgba(var(--ax-color-danger-500),var(--tw-text-opacity, 1))}axp-avatar-widget-edit .axp-content>:last-child>:last-child:is(.ax-dark *){--tw-text-opacity: 1;color:rgba(var(--ax-color-danger-800),var(--tw-text-opacity, 1))}\n"] }]
5928
+ }] });
5929
+
5930
+ var avatarWidgetEdit_component = /*#__PURE__*/Object.freeze({
5931
+ __proto__: null,
5932
+ AXPAvatarWidgetEditComponent: AXPAvatarWidgetEditComponent
5933
+ });
5934
+
5935
+ class AXPAvatarWidgetColumnComponent extends AXPColumnWidgetComponent {
5936
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5937
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAvatarWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `{{rawValue}}`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5938
+ }
5939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetColumnComponent, decorators: [{
5940
+ type: Component,
5941
+ args: [{
5942
+ template: `{{rawValue}}`,
5943
+ standalone: true,
5944
+ changeDetection: ChangeDetectionStrategy.OnPush,
5945
+ imports: [CommonModule],
5946
+ inputs: ['rawValue']
5947
+ }]
5948
+ }] });
5949
+
5950
+ var avatarWidgetColumn_component = /*#__PURE__*/Object.freeze({
5951
+ __proto__: null,
5952
+ AXPAvatarWidgetColumnComponent: AXPAvatarWidgetColumnComponent
5953
+ });
5954
+
5955
+ class AXPAvatarWidgetPrintComponent extends AXPWidgetComponent {
5956
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5957
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAvatarWidgetPrintComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5958
+ }
5959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetPrintComponent, decorators: [{
5960
+ type: Component,
5961
+ args: [{
5962
+ template: ``,
5963
+ standalone: true,
5964
+ changeDetection: ChangeDetectionStrategy.OnPush,
5965
+ imports: [CommonModule],
5966
+ inputs: []
5967
+ }]
5968
+ }] });
5969
+
5970
+ var avatarWidgetPrint_component = /*#__PURE__*/Object.freeze({
5971
+ __proto__: null,
5972
+ AXPAvatarWidgetPrintComponent: AXPAvatarWidgetPrintComponent
5973
+ });
5974
+
5975
+ class AXPAvatarWidgetDesignerComponent extends AXPWidgetComponent {
5976
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5977
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPAvatarWidgetDesignerComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5978
+ }
5979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAvatarWidgetDesignerComponent, decorators: [{
5980
+ type: Component,
5981
+ args: [{
5982
+ template: ``,
5983
+ standalone: true,
5984
+ changeDetection: ChangeDetectionStrategy.OnPush,
5985
+ imports: [CommonModule]
5986
+ }]
5987
+ }] });
5988
+
5989
+ var avatarWidgetDesigner_component = /*#__PURE__*/Object.freeze({
5990
+ __proto__: null,
5991
+ AXPAvatarWidgetDesignerComponent: AXPAvatarWidgetDesignerComponent
5992
+ });
5993
+
5994
+ const AXPAvatarWidget = {
5995
+ name: "avatar",
5996
+ title: "Avatar",
5997
+ icon: "fa-solid fa-image-user",
5998
+ group: AXP_WIDGETS_ADVANCE_GROUP,
5999
+ type: 'editor',
6000
+ properties: [
6001
+ AXP_NAME_PROPERTY,
6002
+ AXP_DATA_PATH_PROPERTY,
6003
+ AXP_READONLY_PROPERTY,
6004
+ ],
6005
+ components: {
6006
+ view: {
6007
+ component: () => Promise.resolve().then(function () { return avatarWidgetView_component; }).then((c) => c.AXPAvatarWidgetViewComponent),
6008
+ },
6009
+ edit: {
6010
+ component: () => Promise.resolve().then(function () { return avatarWidgetEdit_component; }).then((c) => c.AXPAvatarWidgetEditComponent),
6011
+ },
6012
+ column: {
6013
+ component: () => Promise.resolve().then(function () { return avatarWidgetColumn_component; }).then((c) => c.AXPAvatarWidgetColumnComponent),
6014
+ },
6015
+ print: {
6016
+ component: () => Promise.resolve().then(function () { return avatarWidgetPrint_component; }).then((c) => c.AXPAvatarWidgetPrintComponent),
6017
+ },
6018
+ designer: {
6019
+ component: () => Promise.resolve().then(function () { return avatarWidgetDesigner_component; }).then((c) => c.AXPAvatarWidgetDesignerComponent),
6020
+ },
6021
+ },
6022
+ };
6023
+
5716
6024
  class AXPFileBoxWidgetColumnComponent extends AXPWidgetComponent {
5717
6025
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5718
6026
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPFileBoxWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -5743,7 +6051,11 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
5743
6051
  this.accept = computed(() => this.options()['accept']);
5744
6052
  this.description = computed(() => this.options()['description']);
5745
6053
  this.metaData = computed(() => this.options()['metaData']);
5746
- this.internalValue = computed(() => this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}]);
6054
+ this.internalValue = computed(() => {
6055
+ if (!this.getValue())
6056
+ return [];
6057
+ return this.getValue() ? (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]) : [{}];
6058
+ });
5747
6059
  }
5748
6060
  handleOnFileUploadComplete(e) {
5749
6061
  }
@@ -5811,7 +6123,7 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
5811
6123
  }
5812
6124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5813
6125
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPFileBoxWidgetEditComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
5814
- <div class="ax-grid ax-grid-cols-12 ax-gap-4">
6126
+ <div class="ax-grid ax-grid-cols-12">
5815
6127
  <div class="ax-col-span-12">
5816
6128
  <ax-uploader-drop-zone
5817
6129
  axUploaderZone
@@ -5819,6 +6131,7 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
5819
6131
  [multiple]="multiple()"
5820
6132
  [accept]="accept()"
5821
6133
  [description]="description()"
6134
+
5822
6135
  (onFileUploadComplete)="handleOnFileUploadComplete($event)"
5823
6136
  (onFilesUploadComplete)="handleOnFilesUploadComplete($event)"
5824
6137
  ></ax-uploader-drop-zone>
@@ -5830,7 +6143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5830
6143
  type: Component,
5831
6144
  args: [{
5832
6145
  template: `
5833
- <div class="ax-grid ax-grid-cols-12 ax-gap-4">
6146
+ <div class="ax-grid ax-grid-cols-12">
5834
6147
  <div class="ax-col-span-12">
5835
6148
  <ax-uploader-drop-zone
5836
6149
  axUploaderZone
@@ -5838,6 +6151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5838
6151
  [multiple]="multiple()"
5839
6152
  [accept]="accept()"
5840
6153
  [description]="description()"
6154
+
5841
6155
  (onFileUploadComplete)="handleOnFileUploadComplete($event)"
5842
6156
  (onFilesUploadComplete)="handleOnFilesUploadComplete($event)"
5843
6157
  ></ax-uploader-drop-zone>
@@ -5905,6 +6219,8 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
5905
6219
  this.multiple = computed(() => this.options()['multiple']);
5906
6220
  this.downloadable = computed(() => this.options()['downloadable']);
5907
6221
  this.internalValue = computed(() => {
6222
+ if (!this.getValue())
6223
+ return [];
5908
6224
  return Array.isArray(this.getValue()) ? this.getValue().map((item) => this.extractItem(item)) : [this.extractItem(this.getValue())];
5909
6225
  });
5910
6226
  this.downloadSubscription = new Subscription();
@@ -6052,7 +6368,7 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6052
6368
  </div>
6053
6369
  </ng-template>
6054
6370
  </div>
6055
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6371
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6056
6372
  }
6057
6373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetViewComponent, decorators: [{
6058
6374
  type: Component,
@@ -6240,7 +6556,7 @@ class AXPGalleryWidgetViewComponent extends AXPWidgetComponent {
6240
6556
  <small>No Media!</small>
6241
6557
  }
6242
6558
  </div>
6243
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { 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: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6559
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$4.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { 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: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6244
6560
  }
6245
6561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGalleryWidgetViewComponent, decorators: [{
6246
6562
  type: Component,
@@ -6404,7 +6720,7 @@ class AXPGalleryWidgetEditComponent extends AXPWidgetComponent {
6404
6720
 
6405
6721
  }
6406
6722
  </div>
6407
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { 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: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXUploaderModule }, { kind: "component", type: i5$2.AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", inputs: ["description"] }, { kind: "directive", type: i5$2.AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple", "accept"], outputs: ["onChanged", "onFileUploadComplete", "onFilesUploadComplete"] }, { kind: "directive", type: i5$2.AXUploaderBrowseDirective, selector: "[axUploaderBrowseHandle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6723
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$4.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { 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: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXUploaderModule }, { kind: "component", type: i5$2.AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", inputs: ["description"] }, { kind: "directive", type: i5$2.AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple", "accept"], outputs: ["onChanged", "onFileUploadComplete", "onFilesUploadComplete"] }, { kind: "directive", type: i5$2.AXUploaderBrowseDirective, selector: "[axUploaderBrowseHandle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6408
6724
  }
6409
6725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGalleryWidgetEditComponent, decorators: [{
6410
6726
  type: Component,
@@ -6566,45 +6882,40 @@ const AXPGalleryWidget = {
6566
6882
  class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent {
6567
6883
  constructor() {
6568
6884
  super(...arguments);
6569
- this.markers = computed(() => this.getValue());
6885
+ this.markers = computed(() => this.getValue()?.markers ?? []);
6886
+ this.polygons = computed(() => this.getValue()?.polygons ?? []);
6570
6887
  this.height = computed(() => this.options()['height'] ?? 300);
6571
6888
  this.zoomLevel = computed(() => this.options()['zoomLevel'] ?? 13);
6572
- this.initialLocation = computed(() => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 }, {
6573
- equal: (a, b) => {
6574
- if (a.latitude === b.latitude && a.longitude === b.longitude)
6575
- return true;
6576
- else
6577
- return false;
6578
- },
6579
- });
6889
+ this.latitude = computed(() => this.options()['latitude'] ?? 35);
6890
+ this.longitude = computed(() => this.options()['longitude'] ?? 51);
6580
6891
  }
6581
6892
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMapBoxWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6582
6893
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPMapBoxWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<div [style.height.px]="height()" class="ax-w-full">
6583
6894
  <ax-map
6584
- [hasDraw]="false"
6585
- [markers]="markers()"
6895
+ [polygons]="polygons()"
6586
6896
  [zoomLevel]="zoomLevel()"
6587
- [latitude]="initialLocation().latitude"
6588
- [longitude]="initialLocation().longitude"
6897
+ [latitude]="latitude()"
6898
+ [longitude]="longitude()"
6899
+ [markers]="markers()"
6589
6900
  ></ax-map>
6590
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$5.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 }); }
6901
+ </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", "maxPolygon", "hasDraw", "hasLocator", "markerPlace", "locatePlace", "markers", "polygons"], outputs: ["onMarkerAdded", "onMarkerChanged", "onPolygonAdded", "onPolygonChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6591
6902
  }
6592
6903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMapBoxWidgetViewComponent, decorators: [{
6593
6904
  type: Component,
6594
6905
  args: [{
6595
6906
  template: `<div [style.height.px]="height()" class="ax-w-full">
6596
6907
  <ax-map
6597
- [hasDraw]="false"
6598
- [markers]="markers()"
6908
+ [polygons]="polygons()"
6599
6909
  [zoomLevel]="zoomLevel()"
6600
- [latitude]="initialLocation().latitude"
6601
- [longitude]="initialLocation().longitude"
6910
+ [latitude]="latitude()"
6911
+ [longitude]="longitude()"
6912
+ [markers]="markers()"
6602
6913
  ></ax-map>
6603
6914
  </div>`,
6604
6915
  changeDetection: ChangeDetectionStrategy.OnPush,
6605
6916
  imports: [CommonModule, AXMapModule],
6606
6917
  inputs: [],
6607
- encapsulation: ViewEncapsulation.None
6918
+ encapsulation: ViewEncapsulation.None,
6608
6919
  }]
6609
6920
  }] });
6610
6921
 
@@ -6617,26 +6928,22 @@ class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent {
6617
6928
  constructor() {
6618
6929
  super(...arguments);
6619
6930
  this.cdr = inject(ChangeDetectorRef);
6620
- this.markers = computed(() => this.getValue() ?? []);
6931
+ this.markers = computed(() => this.getValue()?.markers ?? []);
6932
+ this.polygons = computed(() => this.getValue()?.polygons ?? []);
6621
6933
  this.hasDraw = computed(() => this.options()['hasDraw'] ?? false);
6622
6934
  this.hasLocate = computed(() => this.options()['hasLocate'] ?? false);
6623
6935
  this.maxMarker = computed(() => this.options()['maxMarker'] ?? 1);
6936
+ this.maxPolygon = computed(() => this.options()['maxPolygon'] ?? 1);
6624
6937
  this.zoomLevel = computed(() => this.options()['zoomLevel'] ?? 13);
6625
- this.height = computed(() => {
6626
- this.cdr.markForCheck();
6627
- return this.options()['height'] ?? 300;
6628
- });
6629
- this.initialLocation = computed(() => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 }, {
6630
- equal: (a, b) => {
6631
- if (a.latitude === b.latitude && a.longitude === b.longitude)
6632
- return true;
6633
- else
6634
- return false;
6635
- },
6636
- });
6938
+ this.latitude = computed(() => this.options()['latitude'] ?? 35);
6939
+ this.longitude = computed(() => this.options()['longitude'] ?? 51);
6940
+ this.height = computed(() => this.options()['height'] ?? 300);
6941
+ }
6942
+ onMarkerChanged($event) {
6943
+ this.setValue({ polygons: this.getValue()?.polygons ?? [], markers: $event });
6637
6944
  }
6638
- onMarkerChanged(event) {
6639
- this.setValue(event);
6945
+ onPolygonChanged($event) {
6946
+ this.setValue({ polygons: $event, markers: this.getValue()?.markers ?? [] });
6640
6947
  }
6641
6948
  get __class() {
6642
6949
  const cls = {};
@@ -6649,15 +6956,19 @@ class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent {
6649
6956
  <ax-map
6650
6957
  class="ax-h-full"
6651
6958
  (onMarkerChanged)="onMarkerChanged($event)"
6959
+ (onPolygonChanged)="onPolygonChanged($event)"
6652
6960
  [hasLocator]="hasLocate()"
6653
6961
  [hasDraw]="hasDraw()"
6654
- [latitude]="initialLocation().latitude"
6655
- [longitude]="initialLocation().longitude"
6962
+ [latitude]="latitude()"
6963
+ [longitude]="longitude()"
6656
6964
  [zoomLevel]="zoomLevel()"
6657
6965
  [maxMarker]="maxMarker()"
6966
+ [maxPolygon]="maxPolygon()"
6967
+ [markers]="markers()"
6968
+ [polygons]="polygons()"
6658
6969
  >
6659
6970
  </ax-map>
6660
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$5.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 }); }
6971
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "maxPolygon", "hasDraw", "hasLocator", "markerPlace", "locatePlace", "markers", "polygons"], outputs: ["onMarkerAdded", "onMarkerChanged", "onPolygonAdded", "onPolygonChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6661
6972
  }
6662
6973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMapBoxWidgetEditComponent, decorators: [{
6663
6974
  type: Component,
@@ -6666,18 +6977,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6666
6977
  <ax-map
6667
6978
  class="ax-h-full"
6668
6979
  (onMarkerChanged)="onMarkerChanged($event)"
6980
+ (onPolygonChanged)="onPolygonChanged($event)"
6669
6981
  [hasLocator]="hasLocate()"
6670
6982
  [hasDraw]="hasDraw()"
6671
- [latitude]="initialLocation().latitude"
6672
- [longitude]="initialLocation().longitude"
6983
+ [latitude]="latitude()"
6984
+ [longitude]="longitude()"
6673
6985
  [zoomLevel]="zoomLevel()"
6674
6986
  [maxMarker]="maxMarker()"
6987
+ [maxPolygon]="maxPolygon()"
6988
+ [markers]="markers()"
6989
+ [polygons]="polygons()"
6675
6990
  >
6676
6991
  </ax-map>
6677
6992
  </div>`,
6678
6993
  changeDetection: ChangeDetectionStrategy.OnPush,
6679
6994
  imports: [AXMapModule],
6680
- encapsulation: ViewEncapsulation.None
6995
+ encapsulation: ViewEncapsulation.None,
6681
6996
  }]
6682
6997
  }], propDecorators: { __class: [{
6683
6998
  type: HostBinding,
@@ -6737,6 +7052,63 @@ const AXPMapBoxWidget = {
6737
7052
  },
6738
7053
  visible: true,
6739
7054
  },
7055
+ {
7056
+ name: 'maxPolygon',
7057
+ title: 'Max Polygon',
7058
+ group: AXP_DATA_PROPERTY_GROUP,
7059
+ schema: {
7060
+ defaultValue: 1,
7061
+ dataType: 'number',
7062
+ interface: {
7063
+ name: 'maxPolygon',
7064
+ path: 'options.maxPolygon',
7065
+ type: AXPWidgetsCatalog.number,
7066
+ options: {
7067
+ minValue: 0,
7068
+ maxValue: 100,
7069
+ },
7070
+ },
7071
+ },
7072
+ visible: true,
7073
+ },
7074
+ {
7075
+ name: 'latitude',
7076
+ title: 'Latitude',
7077
+ group: AXP_DATA_PROPERTY_GROUP,
7078
+ schema: {
7079
+ defaultValue: 35,
7080
+ dataType: 'number',
7081
+ interface: {
7082
+ name: 'latitude',
7083
+ path: 'options.latitude',
7084
+ type: AXPWidgetsCatalog.number,
7085
+ options: {
7086
+ minValue: -90,
7087
+ maxValue: 90,
7088
+ },
7089
+ },
7090
+ },
7091
+ visible: true,
7092
+ },
7093
+ {
7094
+ name: 'longitude',
7095
+ title: 'Longitude',
7096
+ group: AXP_DATA_PROPERTY_GROUP,
7097
+ schema: {
7098
+ defaultValue: 51,
7099
+ dataType: 'number',
7100
+ interface: {
7101
+ name: 'longitude',
7102
+ path: 'options.longitude',
7103
+ type: AXPWidgetsCatalog.number,
7104
+ options: {
7105
+ minValue: -180,
7106
+ maxValue: 180,
7107
+ },
7108
+ },
7109
+ },
7110
+ visible: true,
7111
+ },
6740
7112
  {
6741
7113
  name: 'zoomLevel',
6742
7114
  title: 'Zoom Level',
@@ -6749,8 +7121,8 @@ const AXPMapBoxWidget = {
6749
7121
  path: 'options.zoomLevel',
6750
7122
  type: AXPWidgetsCatalog.number,
6751
7123
  options: {
6752
- minValue: 1,
6753
- maxValue: 20,
7124
+ minValue: 2,
7125
+ maxValue: 18,
6754
7126
  },
6755
7127
  },
6756
7128
  },
@@ -6916,7 +7288,7 @@ class AXPSignatureWidgetEditComponent extends AXPWidgetComponent {
6916
7288
  </div>
6917
7289
  }
6918
7290
  </div>
6919
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXImageModule }, { kind: "component", type: i2$2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7291
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXImageModule }, { kind: "component", type: i2$4.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6920
7292
  }
6921
7293
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSignatureWidgetEditComponent, decorators: [{
6922
7294
  type: Component,
@@ -7014,7 +7386,7 @@ class AXPSignatureWidgetViewComponent extends AXPWidgetComponent {
7014
7386
  <span>{{placeholder()}}</span>
7015
7387
  }
7016
7388
  </div>
7017
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7389
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2$4.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7018
7390
  }
7019
7391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSignatureWidgetViewComponent, decorators: [{
7020
7392
  type: Component,
@@ -7103,17 +7475,16 @@ class AXPBlockWidgetDesignerComponent extends AXPWidgetComponent {
7103
7475
  }
7104
7476
  get __style() {
7105
7477
  const spacing = this.options()['spacing'];
7478
+ const border = this.options()['border'];
7106
7479
  return {
7480
+ // Background
7107
7481
  'background-color': this.backgroundColor(),
7108
- 'padding-top': spacing.padding.top + 'px',
7109
- 'padding-right': spacing.padding.right + 'px',
7110
- 'padding-bottom': spacing.padding.bottom + 'px',
7111
- 'padding-left': spacing.padding.left + 'px',
7112
- 'margin-top': spacing.margin.top + 'px',
7113
- 'margin-right': spacing.margin.right + 'px',
7114
- 'margin-bottom': spacing.margin.bottom + 'px',
7115
- 'margin-left': spacing.margin.left + 'px',
7116
- transition: 'padding 0.5s ease, margin 0.5s ease',
7482
+ padding: spacing.padding,
7483
+ margin: spacing.margin,
7484
+ 'border-radius': border.radius,
7485
+ 'border-width': border.width,
7486
+ 'border-color': border.color,
7487
+ 'border-style': border.style,
7117
7488
  };
7118
7489
  }
7119
7490
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -7219,17 +7590,16 @@ class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
7219
7590
  }
7220
7591
  get __style() {
7221
7592
  const spacing = this.options()['spacing'];
7593
+ const border = this.options()['border'];
7222
7594
  return {
7595
+ // Background
7223
7596
  'background-color': this.backgroundColor(),
7224
- 'padding-top': spacing.padding.top + 'px',
7225
- 'padding-right': spacing.padding.right + 'px',
7226
- 'padding-bottom': spacing.padding.bottom + 'px',
7227
- 'padding-left': spacing.padding.left + 'px',
7228
- 'margin-top': spacing.margin.top + 'px',
7229
- 'margin-right': spacing.margin.right + 'px',
7230
- 'margin-bottom': spacing.margin.bottom + 'px',
7231
- 'margin-left': spacing.margin.left + 'px',
7232
- transition: 'padding 0.25s ease, margin 0.25s ease',
7597
+ padding: spacing.padding,
7598
+ margin: spacing.margin,
7599
+ 'border-radius': border.radius,
7600
+ 'border-width': border.width,
7601
+ 'border-color': border.color,
7602
+ 'border-style': border.style,
7233
7603
  };
7234
7604
  }
7235
7605
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -7243,7 +7613,7 @@ class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
7243
7613
  [mode]="this.mode"
7244
7614
  ></ng-container>
7245
7615
  }
7246
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7616
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7247
7617
  }
7248
7618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetViewComponent, decorators: [{
7249
7619
  type: Component,
@@ -7293,6 +7663,7 @@ const AXPBlockWidget = {
7293
7663
  ...AXP_LAYOUT_FLEX_PROPERTIES,
7294
7664
  AXP_LAYOUT_SPACING_PROPERTY,
7295
7665
  AXP_LAYOUT_BORDER_PROPERTY,
7666
+ AXP_LAYOUT_FLEX_PROPERTY,
7296
7667
  ],
7297
7668
  components: {
7298
7669
  designer: {
@@ -7325,7 +7696,7 @@ class AXPPageWidgetViewComponent extends AXPWidgetComponent {
7325
7696
  @for (node of children(); track $index) {
7326
7697
  <ng-container axp-widget-renderer [node]="node" [index]="index" [parentNode]="this" [mode]="this.mode"></ng-container>
7327
7698
  }
7328
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7699
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7329
7700
  }
7330
7701
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPageWidgetViewComponent, decorators: [{
7331
7702
  type: Component,
@@ -7410,7 +7781,7 @@ class AXPRepeaterWidgetViewComponent extends AXPWidgetComponent {
7410
7781
  <ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="i" [mode]="this.mode"></ng-container>
7411
7782
  }
7412
7783
  }
7413
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7784
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7414
7785
  }
7415
7786
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetViewComponent, decorators: [{
7416
7787
  type: Component,
@@ -7526,7 +7897,7 @@ class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
7526
7897
  You haven't added any items yet. Click “Start Adding Items” to get started!
7527
7898
  </div>
7528
7899
  </ng-template>
7529
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.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$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7900
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7530
7901
  }
7531
7902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetEditComponent, decorators: [{
7532
7903
  type: Component,
@@ -7676,7 +8047,7 @@ class AXPRepeaterWidgetDesignerComponent extends AXPWidgetComponent {
7676
8047
  <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>
7677
8048
  }
7678
8049
  </ng-template>
7679
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.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", "locked", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetMiniButtonComponent, selector: "axp-designer-add-widget-mini-button", outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8050
+ `, 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", "locked", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetMiniButtonComponent, selector: "axp-designer-add-widget-mini-button", outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7680
8051
  }
7681
8052
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetDesignerComponent, decorators: [{
7682
8053
  type: Component,
@@ -7775,124 +8146,753 @@ const AXPRepeaterWidget = {
7775
8146
  },
7776
8147
  };
7777
8148
 
7778
- class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
8149
+ /**
8150
+ * Utility class for parsing and handling property editor values like borders, spacing, and units.
8151
+ */
8152
+ class AXPPropertyEditorHelper {
8153
+ /**
8154
+ * Expands shorthand input values into full sets for sides or corners.
8155
+ * @param values - Array of input values.
8156
+ * @returns Expanded array of values.
8157
+ */
8158
+ static expandShorthand(values) {
8159
+ switch (values.length) {
8160
+ case 1:
8161
+ return [values[0], values[0], values[0], values[0]];
8162
+ case 2:
8163
+ return [values[0], values[1], values[0], values[1]];
8164
+ case 3:
8165
+ return [values[0], values[1], values[2], values[1]];
8166
+ case 4:
8167
+ return values;
8168
+ default:
8169
+ throw new Error(`Invalid shorthand value count. Input: ${values}`);
8170
+ }
8171
+ }
8172
+ /**
8173
+ * @param values An array of four values to condense.
8174
+ * @returns A condensed string representation of the values.
8175
+ */
8176
+ static condenseShorthand(values) {
8177
+ if (values.length !== 4) {
8178
+ throw new Error('Expected 4 values for condensation.');
8179
+ }
8180
+ if (values[0] === values[1] && values[1] === values[2] && values[2] === values[3]) {
8181
+ return `${values[0]}`;
8182
+ }
8183
+ else if (values[0] === values[2] && values[1] === values[3]) {
8184
+ return `${values[0]} ${values[1]}`;
8185
+ }
8186
+ else if (values[1] === values[3]) {
8187
+ return `${values[0]} ${values[1]} ${values[2]}`;
8188
+ }
8189
+ else {
8190
+ return `${values[0]} ${values[1]} ${values[2]} ${values[3]}`;
8191
+ }
8192
+ }
8193
+ /**
8194
+ * Parses sides (top, left, bottom, right) from a string.
8195
+ * @param input - Input string.
8196
+ * @returns Parsed sides object.
8197
+ */
8198
+ static parseSides(input) {
8199
+ const values = this.expandShorthand(input.match(/(?:rgb\([^)]+\)|[^ ]+)/g)?.map((value) => value.trim()) || []);
8200
+ return { top: values[0], right: values[1], bottom: values[2], left: values[3] };
8201
+ }
8202
+ static parseSidesWithUnits(input) {
8203
+ const values = this.expandShorthand(input.match(/(?:rgb\([^)]+\)|[^ ]+)/g)?.map((value) => value.trim()) || []);
8204
+ return {
8205
+ top: AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,
8206
+ right: AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,
8207
+ bottom: AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,
8208
+ left: AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,
8209
+ };
8210
+ }
8211
+ /**
8212
+ * Parses corners (top-left, top-right, bottom-left, bottom-right) from a string.
8213
+ * @param input - Input string.
8214
+ * @returns Parsed corners object.
8215
+ */
8216
+ static parseCorners(input) {
8217
+ const values = this.expandShorthand(input.split(' ').map((value) => value.trim()));
8218
+ return {
8219
+ 'top-left': AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,
8220
+ 'top-right': AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,
8221
+ 'bottom-left': AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,
8222
+ 'bottom-right': AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,
8223
+ };
8224
+ }
8225
+ /**
8226
+ * Parses a spacing box from strings for margin and padding.
8227
+ * @param input - Spacing box string input.
8228
+ * @returns Parsed spacing box.
8229
+ */
8230
+ static parseSpacingBox(input) {
8231
+ return {
8232
+ margin: this.parseSidesWithUnits(input.margin),
8233
+ padding: this.parseSidesWithUnits(input.padding),
8234
+ };
8235
+ }
8236
+ /**
8237
+ * Parses a border box from strings for width, radius, color, and style.
8238
+ * @param input - Border box string input.
8239
+ * @returns Parsed border box.
8240
+ */
8241
+ static parseBorderBox(input) {
8242
+ return {
8243
+ width: this.parseSidesWithUnits(input.width),
8244
+ radius: this.parseCorners(input.radius),
8245
+ color: this.parseSides(input.color),
8246
+ style: this.parseSides(input.style),
8247
+ };
8248
+ }
8249
+ /**
8250
+ * Reverses a spacing box object into a string representation.
8251
+ * @param input - Spacing box object.
8252
+ * @param units - Units for margin and padding.
8253
+ * @returns String representation of the spacing box.
8254
+ */
8255
+ static parseSpacingBoxReverse(input, units) {
8256
+ const format = (value, unit) => `${value}${unit}`;
8257
+ return {
8258
+ margin: AXPPropertyEditorHelper.condenseShorthand([
8259
+ format(input.margin.top, units.margin.top),
8260
+ format(input.margin.right, units.margin.right),
8261
+ format(input.margin.bottom, units.margin.bottom),
8262
+ format(input.margin.left, units.margin.left),
8263
+ ]),
8264
+ padding: AXPPropertyEditorHelper.condenseShorthand([
8265
+ format(input.padding.top, units.padding.top),
8266
+ format(input.padding.right, units.padding.right),
8267
+ format(input.padding.bottom, units.padding.bottom),
8268
+ format(input.padding.left, units.padding.left),
8269
+ ]),
8270
+ };
8271
+ }
8272
+ /**
8273
+ * Reverses a border box object into a string representation.
8274
+ * @param input - Border box object.
8275
+ * @param units - Units for width, radius, color, and style.
8276
+ * @returns String representation of the border box.
8277
+ */
8278
+ static parseBorderBoxReverse(input, units) {
8279
+ const format = (value, unit) => `${value}${unit}`;
8280
+ return {
8281
+ width: AXPPropertyEditorHelper.condenseShorthand([
8282
+ format(input.width.top, units.width.top),
8283
+ format(input.width.right, units.width.right),
8284
+ format(input.width.bottom, units.width.bottom),
8285
+ format(input.width.left, units.width.left),
8286
+ ]),
8287
+ radius: AXPPropertyEditorHelper.condenseShorthand([
8288
+ format(input.radius['top-left'], units.radius['top-left']),
8289
+ format(input.radius['top-right'], units.radius['top-right']),
8290
+ format(input.radius['bottom-right'], units.radius['bottom-right']),
8291
+ format(input.radius['bottom-left'], units.radius['bottom-left']),
8292
+ ]),
8293
+ color: AXPPropertyEditorHelper.condenseShorthand([
8294
+ `${input.color.top}${units.color.top}`,
8295
+ `${input.color.right}${units.color.right}`,
8296
+ `${input.color.bottom}${units.color.bottom}`,
8297
+ `${input.color.left}${units.color.left}`,
8298
+ ]),
8299
+ style: AXPPropertyEditorHelper.condenseShorthand([
8300
+ `${input.style.top}${units.style.top}`,
8301
+ `${input.style.right}${units.style.right}`,
8302
+ `${input.style.bottom}${units.style.bottom}`,
8303
+ `${input.style.left}${units.style.left}`,
8304
+ ]),
8305
+ };
8306
+ }
8307
+ /**
8308
+ * Parses a value with a unit (e.g., "20px") and returns its numeric value and unit.
8309
+ * @param input - Input string or number.
8310
+ * @returns Object with value and unit.
8311
+ */
8312
+ static getValueWithUnit(input) {
8313
+ if (typeof input === 'number')
8314
+ return { value: input, unit: 'px' };
8315
+ if (input === 'auto')
8316
+ return { value: 0, unit: 'px' };
8317
+ const match = input.match(/^([0-9.]+)([a-z%]*)$/i);
8318
+ if (!match)
8319
+ throw new Error(`Invalid unit format: ${input}`);
8320
+ return { value: parseFloat(match[1]), unit: match[2] || '' };
8321
+ }
8322
+ /**
8323
+ * Reverses a numeric value and unit into a single string.
8324
+ * @param value - Numeric value.
8325
+ * @param unit - Unit string.
8326
+ * @returns Combined string.
8327
+ */
8328
+ static getValueFromUnit(value, unit) {
8329
+ return unit ? `${value}${unit}` : `${value}`;
8330
+ }
8331
+ }
8332
+
8333
+ const AXP_default_Border_Box_Value = {
8334
+ width: { top: 0, left: 0, bottom: 0, right: 0 },
8335
+ radius: { 'top-left': 0, 'top-right': 0, 'bottom-left': 0, 'bottom-right': 0 },
8336
+ color: { top: '#000000', left: '#000000', bottom: '#000000', right: '#000000' },
8337
+ style: { top: 'none', left: 'none', bottom: 'none', right: 'none' },
8338
+ };
8339
+ const AXP_default_Border_Box_Units = {
8340
+ width: { top: 'px', left: 'px', bottom: 'px', right: 'px' },
8341
+ radius: { 'top-left': 'px', 'top-right': 'px', 'bottom-left': 'px', 'bottom-right': 'px' },
8342
+ color: { top: '', left: '', bottom: '', right: '' },
8343
+ style: { top: '', left: '', bottom: '', right: '' },
8344
+ };
8345
+ const AXP_default_Spacing_Box_Value = {
8346
+ padding: { top: 0, left: 0, bottom: 0, right: 0 },
8347
+ margin: { top: 0, left: 0, bottom: 0, right: 0 },
8348
+ };
8349
+ const AXP_default_Spacing_Box_Units = {
8350
+ padding: { top: 'px', left: 'px', bottom: 'px', right: 'px' },
8351
+ margin: { top: 'px', left: 'px', bottom: 'px', right: 'px' },
8352
+ };
8353
+
8354
+ class AXPBorderWidgetEditComponent extends AXPWidgetComponent {
7779
8355
  constructor() {
7780
8356
  super(...arguments);
7781
- this.isPaddingLinked = signal(false);
7782
- this.isMarginLinked = signal(false);
8357
+ this.el = inject(ElementRef);
8358
+ this.allwidth = signal(0);
8359
+ this.allcolor = signal('rgba(0, 0, 0, 1)');
8360
+ this.allstyle = signal('none');
8361
+ this.allRadius = signal(0);
8362
+ this.units = signal(AXP_default_Border_Box_Units);
8363
+ this.lastRadius = signal(null);
8364
+ this.rendered = signal(false);
8365
+ this.currentActiveSide = signal('all');
8366
+ this.currentActiveRadiusSide = signal('all');
8367
+ this.allBorderEl = viewChild('allBorderEl');
8368
+ this.allRadiusEl = viewChild('allRadiusEl');
8369
+ this.calculatedValues = signal(AXP_default_Border_Box_Value);
8370
+ this.shownWidth = computed(() => this.currentActiveSide() === 'all'
8371
+ ? this.allwidth()
8372
+ : this.calculatedValues().width[this.currentActiveSide()]);
8373
+ // protected shownRadius = computed(() => {
8374
+ // return this.currentActiveRadiusSide() === 'all'
8375
+ // ? this.allRadius()
8376
+ // : (this.calculatedValues().radius[this.currentActiveRadiusSide() as AXPPropertyEditorCornerValues] as number);
8377
+ // });
8378
+ this.shownColor = computed(() => this.currentActiveSide() === 'all'
8379
+ ? this.allcolor()
8380
+ : this.calculatedValues().color[this.currentActiveSide()]);
8381
+ this.shownStyle = computed(() => this.currentActiveSide() === 'all'
8382
+ ? this.allstyle()
8383
+ : this.calculatedValues().style[this.currentActiveSide()]);
8384
+ this.afterRender = afterNextRender(() => {
8385
+ if (this.getValue()) {
8386
+ this.calculatedValues.set(AXPPropertyEditorHelper.parseBorderBox(this.getValue()));
8387
+ }
8388
+ this.initializeBorder();
8389
+ this.initializeRadius();
8390
+ this.rendered.set(true);
8391
+ });
7783
8392
  }
7784
- setSpacing(e, type, side) {
7785
- const value = e.value ?? 0;
7786
- const currentValue = this.getValue();
7787
- if ((type === 'padding' && this.isPaddingLinked()) || (type === 'margin' && this.isMarginLinked())) {
7788
- this.setValue({
7789
- ...this.getValue(),
7790
- [type]: this.setSameValue(value),
8393
+ setBorder(value, type, side) {
8394
+ if (!this.rendered()) {
8395
+ return;
8396
+ }
8397
+ const currentValue = this.calculatedValues();
8398
+ if (type === 'radius') {
8399
+ this.lastRadius.set(value);
8400
+ }
8401
+ if (side === 'all') {
8402
+ this.updateAllValues(type, value);
8403
+ this.calculatedValues.set({
8404
+ ...currentValue,
8405
+ [type]: this.getUpdatedAllValues(type, value),
7791
8406
  });
7792
8407
  }
7793
8408
  else {
7794
- this.setValue({
8409
+ this.calculatedValues.set({
7795
8410
  ...currentValue,
7796
- [type]: {
7797
- ...currentValue[type],
7798
- [side]: value,
7799
- },
8411
+ [type]: { ...currentValue[type], [side]: value },
7800
8412
  });
7801
8413
  }
8414
+ const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());
8415
+ this.setValue(data);
8416
+ }
8417
+ updateAllValues(type, value) {
8418
+ if (type === 'width')
8419
+ this.allwidth.set(value);
8420
+ if (type === 'color')
8421
+ this.allcolor.set(value);
8422
+ if (type === 'radius')
8423
+ this.allRadius.set(value);
8424
+ if (type === 'style')
8425
+ this.allstyle.set(value);
8426
+ }
8427
+ getUpdatedAllValues(type, value) {
8428
+ return type === 'radius'
8429
+ ? { 'top-left': value, 'top-right': value, 'bottom-left': value, 'bottom-right': value }
8430
+ : { top: value, left: value, bottom: value, right: value };
8431
+ }
8432
+ handleActiveBorderSide(event) {
8433
+ event.stopPropagation();
8434
+ if (this.currentActiveBorderEl) {
8435
+ this.currentActiveBorderEl.style.backgroundColor = 'transparent';
8436
+ }
8437
+ this.currentActiveBorderEl = event.currentTarget;
8438
+ const newActiveSide = this.currentActiveBorderEl.name;
8439
+ const previousActiveSide = this.currentActiveSide();
8440
+ if (newActiveSide === 'all' && previousActiveSide !== 'all') {
8441
+ const lastValues = this.calculatedValues();
8442
+ const lastUnits = this.units();
8443
+ const lastWidth = lastValues.width[previousActiveSide];
8444
+ const lastColor = lastValues.color[previousActiveSide];
8445
+ const lastStyle = lastValues.style[previousActiveSide];
8446
+ const lastRadiusObject = lastValues.radius;
8447
+ const lastWidthUnit = lastUnits.width[previousActiveSide];
8448
+ const lastColorUnit = lastUnits.color[previousActiveSide];
8449
+ const lastStyleUnit = lastUnits.style[previousActiveSide];
8450
+ const lastRadiusObjectUnit = lastUnits.radius;
8451
+ this.allwidth.set(lastWidth);
8452
+ this.allcolor.set(lastColor);
8453
+ this.allstyle.set(lastStyle);
8454
+ this.units.set({
8455
+ width: this.createUniformValues(lastWidthUnit),
8456
+ color: this.createUniformValues(lastColorUnit),
8457
+ style: this.createUniformValues(lastStyleUnit),
8458
+ radius: lastRadiusObjectUnit,
8459
+ });
8460
+ this.calculatedValues.set({
8461
+ width: this.createUniformValues(lastWidth),
8462
+ color: this.createUniformValues(lastColor),
8463
+ style: this.createUniformValues(lastStyle),
8464
+ radius: lastRadiusObject,
8465
+ });
8466
+ const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());
8467
+ this.setValue(data);
8468
+ }
8469
+ this.currentActiveSide.set(newActiveSide);
8470
+ this.currentActiveBorderEl.style.backgroundColor = 'var(--focus-color)';
8471
+ }
8472
+ handleActiveRadiusSide(event) {
8473
+ event.stopPropagation();
8474
+ if (this.currentActiveRadiusEl) {
8475
+ this.currentActiveRadiusEl.style.backgroundColor = 'transparent';
8476
+ }
8477
+ this.currentActiveRadiusEl = event.currentTarget;
8478
+ const newActiveRadiusSide = this.currentActiveRadiusEl.name;
8479
+ if (newActiveRadiusSide === 'all' && this.lastRadius() !== null) {
8480
+ this.calculatedValues.update((old) => ({
8481
+ ...old,
8482
+ radius: {
8483
+ 'bottom-left': this.lastRadius(),
8484
+ 'bottom-right': this.lastRadius(),
8485
+ 'top-left': this.lastRadius(),
8486
+ 'top-right': this.lastRadius(),
8487
+ },
8488
+ }));
8489
+ this.allRadius.set(this.lastRadius());
8490
+ const data = AXPPropertyEditorHelper.parseBorderBoxReverse(this.calculatedValues(), this.units());
8491
+ this.setValue(data);
8492
+ }
8493
+ this.currentActiveRadiusSide.set(newActiveRadiusSide);
8494
+ this.currentActiveRadiusEl.style.backgroundColor = 'var(--focus-color)';
8495
+ }
8496
+ initializeBorder() {
8497
+ const widthValue = this.calculatedValues().width;
8498
+ const widthColor = this.calculatedValues().color;
8499
+ const widthStyle = this.calculatedValues().style;
8500
+ const [firstWidthValue, ...restWidthValues] = Object.values(widthValue);
8501
+ const [firstColorValue, ...restColorValues] = Object.values(widthColor);
8502
+ const [firstStyleValue, ...restStyleValues] = Object.values(widthStyle);
8503
+ if (restWidthValues.every((value) => value === firstWidthValue) &&
8504
+ restColorValues.every((value) => value === firstColorValue) &&
8505
+ restStyleValues.every((value) => value === firstStyleValue)) {
8506
+ this.allcolor.set(firstColorValue);
8507
+ this.allstyle.set(firstStyleValue);
8508
+ this.allwidth.set(firstWidthValue);
8509
+ this.currentActiveSide.set('all');
8510
+ this.currentActiveBorderEl = this.allBorderEl()?.nativeElement;
8511
+ if (this.currentActiveBorderEl) {
8512
+ this.currentActiveBorderEl.style.backgroundColor = 'var(--focus-color)';
8513
+ }
8514
+ }
8515
+ else {
8516
+ const sides = ['top', 'right', 'bottom', 'left'];
8517
+ for (const side of sides) {
8518
+ if (widthValue[side]) {
8519
+ this.currentActiveSide.set(side);
8520
+ const element = this.el.nativeElement.querySelector(`button[name="${side}"]`);
8521
+ if (element) {
8522
+ this.currentActiveBorderEl = element;
8523
+ element.style.backgroundColor = 'var(--focus-color)';
8524
+ }
8525
+ break;
8526
+ }
8527
+ }
8528
+ }
7802
8529
  }
7803
- setSameValue(value) {
7804
- return { top: value, right: value, bottom: value, left: value };
8530
+ initializeRadius() {
8531
+ const values = this.calculatedValues().radius;
8532
+ const [firstValue, ...restValues] = Object.values(values);
8533
+ if (restValues.every((value) => value === firstValue)) {
8534
+ this.currentActiveRadiusSide.set('all');
8535
+ this.currentActiveRadiusEl = this.allRadiusEl()?.nativeElement;
8536
+ if (this.currentActiveRadiusEl) {
8537
+ this.currentActiveRadiusEl.style.backgroundColor = 'var(--focus-color)';
8538
+ this.allRadius.set(firstValue);
8539
+ }
8540
+ }
8541
+ else {
8542
+ const element = this.el.nativeElement.querySelector(`button[name="sides"]`);
8543
+ if (element) {
8544
+ this.currentActiveRadiusSide.set('sides');
8545
+ this.currentActiveRadiusEl = element;
8546
+ element.style.backgroundColor = 'var(--focus-color)';
8547
+ }
8548
+ }
7805
8549
  }
7806
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7807
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPSpacingWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"axp-spacing-container-box\">\n <div class=\"axp-spacing-content\">\n <div class=\"axp-spacing-box\">{{ 'Block' }}</div>\n </div>\n\n <!-- Margin -->\n <div class=\"axp-spacing-margin\">\n <div class=\"axp-spacing-box\"></div>\n <div class=\"axp-spacing-text\">Margin</div>\n <div class=\"axp-spacing-info\">\n <div class=\"ax-flex ax-gap-1 ax-justify-center ax-items-center\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isMarginLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"axp-spacing-top\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'top')\"\n [ngModel]=\"this.getValue().margin.top\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-right\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'right')\"\n [ngModel]=\"this.getValue().margin.right\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-bottom\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'bottom')\"\n [ngModel]=\"this.getValue().margin.bottom\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-left\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'left')\"\n [ngModel]=\"this.getValue().margin.left\"\n ></ax-number-box>\n </div>\n </div>\n\n <!-- Padding -->\n <div class=\"axp-spacing-padding\">\n <div class=\"axp-spacing-box\"></div>\n <div class=\"axp-spacing-text\">Padding</div>\n <div class=\"axp-spacing-info\">\n <div class=\"ax-flex ax-gap-1 ax-justify-center ax-items-center\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isPaddingLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"axp-spacing-top\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'top')\"\n [ngModel]=\"this.getValue().padding.top\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-right\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'right')\"\n [ngModel]=\"this.getValue().padding.right\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-bottom\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'bottom')\"\n [ngModel]=\"this.getValue().padding.bottom\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-left\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'left')\"\n [ngModel]=\"this.getValue().padding.left\"\n ></ax-number-box>\n </div>\n </div>\n</div>\n", styles: [".axp-spacing-container-box{display:grid;height:100%;min-height:12rem;width:100%;min-width:12rem;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));font-size:.75rem;line-height:1rem}.axp-spacing-container-box ax-number-box>div{height:fit-content!important}.axp-spacing-container-box ax-number-box>div input{height:1.5rem!important;width:2.5rem!important;padding:.25rem!important;text-align:center!important}.axp-spacing-container-box ax-check-box>div{display:block!important}.axp-spacing-container-box .axp-spacing-box{transition:background-color .3s ease}.axp-spacing-container-box .axp-spacing-top,.axp-spacing-container-box .axp-spacing-left,.axp-spacing-container-box .axp-spacing-right,.axp-spacing-container-box .axp-spacing-bottom,.axp-spacing-container-box .axp-spacing-info,.axp-spacing-container-box .axp-spacing-text{display:flex;align-items:center;justify-content:center}.axp-spacing-container-box .axp-spacing-content,.axp-spacing-container-box .axp-spacing-padding,.axp-spacing-container-box .axp-spacing-margin{display:contents}.axp-spacing-container-box .axp-spacing-content .axp-spacing-box,.axp-spacing-container-box .axp-spacing-padding .axp-spacing-box,.axp-spacing-container-box .axp-spacing-margin .axp-spacing-box{border-radius:.5rem;border-width:1px}.axp-spacing-container-box .axp-spacing-content .axp-spacing-box{grid-column:span 1 / span 1;grid-column-start:3;grid-row:span 1 / span 1;grid-row-start:3;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px}.axp-spacing-container-box .axp-spacing-padding *{z-index:1}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-box{grid-column:span 3 / span 3;grid-column-start:2;grid-row:span 3 / span 3;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-text{grid-column-start:2;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-info{grid-column-start:4;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-top{grid-column-start:3;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-right{grid-column-start:4;grid-row-start:3}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-bottom{grid-column-start:3;grid-row-start:4}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-left{grid-column-start:2;grid-row-start:3}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-box{grid-column:span 5 / span 5;grid-column-start:1;grid-row:span 5 / span 5;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-text{grid-column-start:1;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-info{grid-column-start:5;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-top{grid-column-start:3;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-right{grid-column-start:5;grid-row-start:3}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-bottom{grid-column-start:3;grid-row-start:5}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-left{grid-column-start:1;grid-row-start:3}\n"], dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$3.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8550
+ createUniformValues(value) {
8551
+ return {
8552
+ top: value,
8553
+ right: value,
8554
+ bottom: value,
8555
+ left: value,
8556
+ };
8557
+ }
8558
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8559
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPBorderWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "allBorderEl", first: true, predicate: ["allBorderEl"], descendants: true, isSignal: true }, { propertyName: "allRadiusEl", first: true, predicate: ["allRadiusEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-pt-2 axp-border-container\">\n <div class=\"ax-radius-box ax-flex ax-justify-between ax-items-center ax-gap-2 ax-h-[26px]\">\n <span class=\"ax-text-sm ax-font-light\">Radius</span>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <button\n #allRadiusEl\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M2.5 5.5C2.5 3.84315 3.84315 2.5 5.5 2.5H10.5C12.1569 2.5 13.5 3.84315 13.5 5.5V10.5C13.5 12.1569 12.1569 13.5 10.5 13.5H5.5C3.84315 13.5 2.5 12.1569 2.5 10.5V5.5Z\"\n stroke=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n <button\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"sides\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4.5 2C3.11929 2 2 3.11929 2 4.5V7H3V4.5C3 3.67157 3.67157 3 4.5 3H7V2H4.5Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M9 2V3H11.5C12.3284 3 13 3.67157 13 4.5V7H14V4.5C14 3.11929 12.8807 2 11.5 2H9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 14V13H4.5C3.67157 13 3 12.3284 3 11.5V9H2V11.5C2 12.8807 3.11929 14 4.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n @if(currentActiveRadiusSide() ==='all'){\n <div class=\"ax-flex ax-justify-center ax-items-center ax-flex-shrink\">\n <ax-range-slider\n [values]=\"allRadius()\"\n [min]=\"0\"\n [max]=\"100\"\n (valuesChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-28\"\n ></ax-range-slider>\n </div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"100\"\n [value]=\"allRadius()\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-8\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }@else{\n <div class=\"ax-w-48\"></div>\n }\n </div>\n </div>\n\n <div\n class=\"axp-border-radius-sides ax-flex ax-justify-end ax-items-center ax-overflow-y-hidden ax-transition-[height] ax-duration-300 ax-ease-in-out\"\n [class]=\"currentActiveRadiusSide() === 'all' ? '!ax-h-0' : '!ax-h-[56px]'\"\n >\n <div class=\"ax-grid ax-grid-cols-2 ax-grid-rows-2 ax-gap-2\">\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M14 14V9H13V13H9V14H14Z\" fill=\"currentColor\"></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n <path d=\"M2 7H3V6.5C3 4.567 4.567 3 6.5 3H7V2H6.5C4.01472 2 2 4.01472 2 6.5V7Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M2.5 7V6.5C2.5 4.29086 4.29086 2.5 6.5 2.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 14V9H3V13H7V14H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 14V13H13V9H14V14H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 7H13V6.5C13 4.567 11.433 3 9.5 3H9V2H9.5C11.9853 2 14 4.01472 14 6.5V7Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 2V3H3V7H2V2H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 7V6.5C13.5 4.29086 11.7091 2.5 9.5 2.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path d=\"M14 9H13V13H9V14H14V9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M7 14V13H6.5C4.567 13 3 11.433 3 9.5V9H2V9.5C2 11.9853 4.01472 14 6.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </g>\n <path d=\"M2.5 9V9.5C2.5 11.7091 4.29086 13.5 6.5 13.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 9V9.5C13.5 11.7091 11.7091 13.5 9.5 13.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"ax-flex ax-justify-between ax-items-center ax-py-1\">\n <span class=\"ax-text-sm ax-font-light\">Borders</span>\n </div>\n\n <div class=\"ax-border-box ax-flex ax-justify-between ax-items-center ax-gap-4\">\n <div class=\"ax-grid ax-grid-cols-3 ax-grid-rows-3 ax-gap-1 ax-flex-shrink-0\">\n <!-- Top Border -->\n <div class=\"ax-border-box-top ax-col-start-2 ax-row-start-1\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"top\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V5H13V13H3V5H2V13Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 3H14V2H2V3Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Right Border -->\n <div class=\"ax-border-box-right ax-col-start-3 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"right\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 2C2.44772 2 2 2.44772 2 3L2 13C2 13.5523 2.44772 14 3 14L11 14L11 13L3 13L3 3L11 3L11 2L3 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 2L13 14L14 14L14 2L13 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Bottom Border -->\n <div class=\"ax-border-box-bottom ax-col-start-2 ax-row-start-3\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"bottom\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V11H13V3H3V11H2V3Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 13H14V14H2V13Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Left Border -->\n <div class=\"ax-border-box-left ax-col-start-1 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"left\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 2C13.5523 2 14 2.44772 14 3L14 13C14 13.5523 13.5523 14 13 14L5 14L5 13L13 13L13 3L5 3L5 2L13 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 2L3 14L2 14L2 2L3 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- All -->\n <div class=\"ax-border-box-all ax-col-start-2 ax-row-start-2\">\n <button\n #allBorderEl\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V13C14 13.5523 13.5523 14 13 14H3C2.44772 14 2 13.5523 2 13V3ZM13 3L3 3V13H13V3Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-gap-x-2 ax-gap-y-2\">\n <div class=\"ax-text-sm ax-font-light\">Style</div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item\n (onClick)=\"setBorder('none', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'none'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.70714 8.00004L12.3536 4.35359L11.6465 3.64648L8.00004 7.29293L4.35359 3.64648L3.64648 4.35359L7.29293 8.00004L3.64648 11.6465L4.35359 12.3536L8.00004 8.70714L11.6465 12.3536L12.3536 11.6465L8.70714 8.00004Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('solid', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'solid'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 7.5H14\" stroke=\"currentColor\"></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dashed', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dashed'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7H2V8H5V7ZM11 8H12H14V7H12H11V8ZM9.5 7H6.5V8H9.5V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dotted', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dotted'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 7H3V8H4V7ZM6 7H5V8H6V7ZM7 7H8V8H7V7ZM10 7H9V8H10V7ZM11 7H12V8H11V7ZM14 7H13V8H14V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n <div class=\"ax-contents\" [class]=\"shownStyle() === 'none' ? 'ax-invisible' : 'ax-visible'\">\n <div class=\"ax-text-sm ax-font-light\">Width</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"shownWidth()\"\n (valueChange)=\"setBorder($event ?? 0, 'width', currentActiveSide())\"\n class=\"ax-min-w-8 ax-exclude\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text>PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n\n <div class=\"ax-text-sm ax-font-light\">Color</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36 ax-overflow-hidden\">\n <ax-color-box\n [value]=\"shownColor()\"\n (valueChange)=\"setBorder($event, 'color', currentActiveSide())\"\n ></ax-color-box>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".axp-border-container{--hover-effect: #404040;--focus-color: rgba(0, 106, 204, .18);--ax-range-slider-base-thickness: .15rem}.axp-border-container ax-range-slider{padding:.5rem!important}.axp-border-container ax-number-box:not(.ax-exclude) div:first-child{height:1.5rem!important;border-radius:.25rem!important;font-size:12px}.axp-border-container ax-number-box:not(.ax-exclude) div:first-child input{padding:.25rem 0 .25rem .25rem!important}.axp-border-container ax-button-group ax-button-group-item{padding:.2rem .55rem!important}\n"], dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$5.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXRangeSliderModule }, { kind: "component", type: i3$6.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i4$2.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "onClick", "selectionChange"] }, { kind: "component", type: i4$2.AXButtonGroupItemComponent, selector: "ax-button-group-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "ngmodule", type: AXColorBoxModule }, { kind: "component", type: i2$5.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7808
8560
  }
7809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, decorators: [{
8561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, decorators: [{
7810
8562
  type: Component,
7811
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXNumberBoxModule, FormsModule, AXCheckBoxModule], inputs: [], encapsulation: ViewEncapsulation.None, template: "<div class=\"axp-spacing-container-box\">\n <div class=\"axp-spacing-content\">\n <div class=\"axp-spacing-box\">{{ 'Block' }}</div>\n </div>\n\n <!-- Margin -->\n <div class=\"axp-spacing-margin\">\n <div class=\"axp-spacing-box\"></div>\n <div class=\"axp-spacing-text\">Margin</div>\n <div class=\"axp-spacing-info\">\n <div class=\"ax-flex ax-gap-1 ax-justify-center ax-items-center\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isMarginLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"axp-spacing-top\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'top')\"\n [ngModel]=\"this.getValue().margin.top\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-right\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'right')\"\n [ngModel]=\"this.getValue().margin.right\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-bottom\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'bottom')\"\n [ngModel]=\"this.getValue().margin.bottom\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-left\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setSpacing($event, 'margin', 'left')\"\n [ngModel]=\"this.getValue().margin.left\"\n ></ax-number-box>\n </div>\n </div>\n\n <!-- Padding -->\n <div class=\"axp-spacing-padding\">\n <div class=\"axp-spacing-box\"></div>\n <div class=\"axp-spacing-text\">Padding</div>\n <div class=\"axp-spacing-info\">\n <div class=\"ax-flex ax-gap-1 ax-justify-center ax-items-center\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isPaddingLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"axp-spacing-top\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'top')\"\n [ngModel]=\"this.getValue().padding.top\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-right\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'right')\"\n [ngModel]=\"this.getValue().padding.right\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-bottom\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'bottom')\"\n [ngModel]=\"this.getValue().padding.bottom\"\n ></ax-number-box>\n </div>\n <div class=\"axp-spacing-left\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n [minValue]=\"0\"\n (onValueChanged)=\"setSpacing($event, 'padding', 'left')\"\n [ngModel]=\"this.getValue().padding.left\"\n ></ax-number-box>\n </div>\n </div>\n</div>\n", styles: [".axp-spacing-container-box{display:grid;height:100%;min-height:12rem;width:100%;min-width:12rem;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));font-size:.75rem;line-height:1rem}.axp-spacing-container-box ax-number-box>div{height:fit-content!important}.axp-spacing-container-box ax-number-box>div input{height:1.5rem!important;width:2.5rem!important;padding:.25rem!important;text-align:center!important}.axp-spacing-container-box ax-check-box>div{display:block!important}.axp-spacing-container-box .axp-spacing-box{transition:background-color .3s ease}.axp-spacing-container-box .axp-spacing-top,.axp-spacing-container-box .axp-spacing-left,.axp-spacing-container-box .axp-spacing-right,.axp-spacing-container-box .axp-spacing-bottom,.axp-spacing-container-box .axp-spacing-info,.axp-spacing-container-box .axp-spacing-text{display:flex;align-items:center;justify-content:center}.axp-spacing-container-box .axp-spacing-content,.axp-spacing-container-box .axp-spacing-padding,.axp-spacing-container-box .axp-spacing-margin{display:contents}.axp-spacing-container-box .axp-spacing-content .axp-spacing-box,.axp-spacing-container-box .axp-spacing-padding .axp-spacing-box,.axp-spacing-container-box .axp-spacing-margin .axp-spacing-box{border-radius:.5rem;border-width:1px}.axp-spacing-container-box .axp-spacing-content .axp-spacing-box{grid-column:span 1 / span 1;grid-column-start:3;grid-row:span 1 / span 1;grid-row-start:3;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px}.axp-spacing-container-box .axp-spacing-padding *{z-index:1}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-box{grid-column:span 3 / span 3;grid-column-start:2;grid-row:span 3 / span 3;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-text{grid-column-start:2;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-info{grid-column-start:4;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-top{grid-column-start:3;grid-row-start:2}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-right{grid-column-start:4;grid-row-start:3}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-bottom{grid-column-start:3;grid-row-start:4}.axp-spacing-container-box .axp-spacing-padding .axp-spacing-left{grid-column-start:2;grid-row-start:3}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-box{grid-column:span 5 / span 5;grid-column-start:1;grid-row:span 5 / span 5;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-text{grid-column-start:1;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-info{grid-column-start:5;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-top{grid-column-start:3;grid-row-start:1}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-right{grid-column-start:5;grid-row-start:3}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-bottom{grid-column-start:3;grid-row-start:5}.axp-spacing-container-box .axp-spacing-margin .axp-spacing-left{grid-column-start:1;grid-row-start:3}\n"] }]
8563
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
8564
+ AXNumberBoxModule,
8565
+ FormsModule,
8566
+ AXCheckBoxModule,
8567
+ AXButtonModule,
8568
+ AXDecoratorModule,
8569
+ AXRangeSliderModule,
8570
+ AXButtonGroupModule,
8571
+ AXColorBoxModule,
8572
+ ], template: "<div class=\"ax-pt-2 axp-border-container\">\n <div class=\"ax-radius-box ax-flex ax-justify-between ax-items-center ax-gap-2 ax-h-[26px]\">\n <span class=\"ax-text-sm ax-font-light\">Radius</span>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <button\n #allRadiusEl\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M2.5 5.5C2.5 3.84315 3.84315 2.5 5.5 2.5H10.5C12.1569 2.5 13.5 3.84315 13.5 5.5V10.5C13.5 12.1569 12.1569 13.5 10.5 13.5H5.5C3.84315 13.5 2.5 12.1569 2.5 10.5V5.5Z\"\n stroke=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n <button\n (pointerdown)=\"handleActiveRadiusSide($event)\"\n name=\"sides\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4.5 2C3.11929 2 2 3.11929 2 4.5V7H3V4.5C3 3.67157 3.67157 3 4.5 3H7V2H4.5Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M9 2V3H11.5C12.3284 3 13 3.67157 13 4.5V7H14V4.5C14 3.11929 12.8807 2 11.5 2H9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path\n d=\"M7 14V13H4.5C3.67157 13 3 12.3284 3 11.5V9H2V11.5C2 12.8807 3.11929 14 4.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n\n @if(currentActiveRadiusSide() ==='all'){\n <div class=\"ax-flex ax-justify-center ax-items-center ax-flex-shrink\">\n <ax-range-slider\n [values]=\"allRadius()\"\n [min]=\"0\"\n [max]=\"100\"\n (valuesChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-28\"\n ></ax-range-slider>\n </div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"100\"\n [value]=\"allRadius()\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'all')\"\n class=\"ax-min-w-8\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }@else{\n <div class=\"ax-w-48\"></div>\n }\n </div>\n </div>\n\n <div\n class=\"axp-border-radius-sides ax-flex ax-justify-end ax-items-center ax-overflow-y-hidden ax-transition-[height] ax-duration-300 ax-ease-in-out\"\n [class]=\"currentActiveRadiusSide() === 'all' ? '!ax-h-0' : '!ax-h-[56px]'\"\n >\n <div class=\"ax-grid ax-grid-cols-2 ax-grid-rows-2 ax-gap-2\">\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M14 14V9H13V13H9V14H14Z\" fill=\"currentColor\"></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n <path d=\"M2 7H3V6.5C3 4.567 4.567 3 6.5 3H7V2H6.5C4.01472 2 2 4.01472 2 6.5V7Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M2.5 7V6.5C2.5 4.29086 4.29086 2.5 6.5 2.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 14V9H3V13H7V14H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 14V13H13V9H14V14H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 7H13V6.5C13 4.567 11.433 3 9.5 3H9V2H9.5C11.9853 2 14 4.01472 14 6.5V7Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 2V3H3V7H2V2H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 7V6.5C13.5 4.29086 11.7091 2.5 9.5 2.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['top-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'top-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path d=\"M14 9H13V13H9V14H14V9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M7 14V13H6.5C4.567 13 3 11.433 3 9.5V9H2V9.5C2 11.9853 4.01472 14 6.5 14H7Z\"\n fill=\"currentColor\"\n ></path>\n </g>\n <path d=\"M2.5 9V9.5C2.5 11.7091 4.29086 13.5 6.5 13.5H7\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-left']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-left')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g opacity=\"0.4\">\n <path d=\"M2 2V7H3V3H7V2H2Z\" fill=\"currentColor\"></path>\n <path d=\"M9 2V3H13V7H14V2H9Z\" fill=\"currentColor\"></path>\n <path\n d=\"M14 9H13V11.5C13 12.3284 12.3284 13 11.5 13H9V14H11.5C12.8807 14 14 12.8807 14 11.5V9Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M7 14V13H3V9H2V14H7Z\" fill=\"currentColor\"></path>\n </g>\n <path d=\"M13.5 9V9.5C13.5 11.7091 11.7091 13.5 9.5 13.5H9\" stroke=\"currentColor\"></path>\n </svg>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-12\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"calculatedValues().radius['bottom-right']\"\n (valueChange)=\"setBorder($event ?? 0, 'radius', 'bottom-right')\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"ax-flex ax-justify-between ax-items-center ax-py-1\">\n <span class=\"ax-text-sm ax-font-light\">Borders</span>\n </div>\n\n <div class=\"ax-border-box ax-flex ax-justify-between ax-items-center ax-gap-4\">\n <div class=\"ax-grid ax-grid-cols-3 ax-grid-rows-3 ax-gap-1 ax-flex-shrink-0\">\n <!-- Top Border -->\n <div class=\"ax-border-box-top ax-col-start-2 ax-row-start-1\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"top\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V5H13V13H3V5H2V13Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 3H14V2H2V3Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Right Border -->\n <div class=\"ax-border-box-right ax-col-start-3 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"right\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 2C2.44772 2 2 2.44772 2 3L2 13C2 13.5523 2.44772 14 3 14L11 14L11 13L3 13L3 3L11 3L11 2L3 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 2L13 14L14 14L14 2L13 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Bottom Border -->\n <div class=\"ax-border-box-bottom ax-col-start-2 ax-row-start-3\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"bottom\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V11H13V3H3V11H2V3Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 13H14V14H2V13Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Left Border -->\n <div class=\"ax-border-box-left ax-col-start-1 ax-row-start-2\">\n <button\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"left\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 2C13.5523 2 14 2.44772 14 3L14 13C14 13.5523 13.5523 14 13 14L5 14L5 13L13 13L13 3L5 3L5 2L13 2Z\"\n fill=\"currentColor\"\n ></path>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 2L3 14L2 14L2 2L3 2Z\" fill=\"currentColor\"></path>\n </svg>\n </button>\n </div>\n\n <!-- All -->\n <div class=\"ax-border-box-all ax-col-start-2 ax-row-start-2\">\n <button\n #allBorderEl\n (pointerdown)=\"handleActiveBorderSide($event)\"\n name=\"all\"\n class=\"ax-p-1 hover:!ax-bg-[var(--hover-effect)]\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2 3C2 2.44772 2.44772 2 3 2H13C13.5523 2 14 2.44772 14 3V13C14 13.5523 13.5523 14 13 14H3C2.44772 14 2 13.5523 2 13V3ZM13 3L3 3V13H13V3Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-gap-x-2 ax-gap-y-2\">\n <div class=\"ax-text-sm ax-font-light\">Style</div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item\n (onClick)=\"setBorder('none', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'none'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.70714 8.00004L12.3536 4.35359L11.6465 3.64648L8.00004 7.29293L4.35359 3.64648L3.64648 4.35359L7.29293 8.00004L3.64648 11.6465L4.35359 12.3536L8.00004 8.70714L11.6465 12.3536L12.3536 11.6465L8.70714 8.00004Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('solid', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'solid'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 7.5H14\" stroke=\"currentColor\"></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dashed', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dashed'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7H2V8H5V7ZM11 8H12H14V7H12H11V8ZM9.5 7H6.5V8H9.5V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setBorder('dotted', 'style', currentActiveSide())\"\n [selected]=\"shownStyle() === 'dotted'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 7H3V8H4V7ZM6 7H5V8H6V7ZM7 7H8V8H7V7ZM10 7H9V8H10V7ZM11 7H12V8H11V7ZM14 7H13V8H14V7Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n <div class=\"ax-contents\" [class]=\"shownStyle() === 'none' ? 'ax-invisible' : 'ax-visible'\">\n <div class=\"ax-text-sm ax-font-light\">Width</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36\">\n <ax-number-box\n [minValue]=\"0\"\n [changeOnScroll]=\"true\"\n [value]=\"shownWidth()\"\n (valueChange)=\"setBorder($event ?? 0, 'width', currentActiveSide())\"\n class=\"ax-min-w-8 ax-exclude\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text>PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n\n <div class=\"ax-text-sm ax-font-light\">Color</div>\n <div class=\"ax-flex ax-justify-start ax-items-center ax-max-w-36 ax-overflow-hidden\">\n <ax-color-box\n [value]=\"shownColor()\"\n (valueChange)=\"setBorder($event, 'color', currentActiveSide())\"\n ></ax-color-box>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".axp-border-container{--hover-effect: #404040;--focus-color: rgba(0, 106, 204, .18);--ax-range-slider-base-thickness: .15rem}.axp-border-container ax-range-slider{padding:.5rem!important}.axp-border-container ax-number-box:not(.ax-exclude) div:first-child{height:1.5rem!important;border-radius:.25rem!important;font-size:12px}.axp-border-container ax-number-box:not(.ax-exclude) div:first-child input{padding:.25rem 0 .25rem .25rem!important}.axp-border-container ax-button-group ax-button-group-item{padding:.2rem .55rem!important}\n"] }]
7812
8573
  }] });
7813
8574
 
7814
- var spacingWidgetEditor_component = /*#__PURE__*/Object.freeze({
8575
+ var borderWidgetEditor_component = /*#__PURE__*/Object.freeze({
7815
8576
  __proto__: null,
7816
- AXPSpacingWidgetEditComponent: AXPSpacingWidgetEditComponent
8577
+ AXPBorderWidgetEditComponent: AXPBorderWidgetEditComponent
7817
8578
  });
7818
8579
 
7819
- const AXPSpacingWidget = {
7820
- name: 'spacing',
7821
- title: 'Box Spacing',
7822
- description: 'Editing Elements Spacing',
8580
+ const AXPBorderWidget = {
8581
+ name: 'border',
8582
+ title: 'Box Border',
8583
+ description: 'Editing Elements Border',
7823
8584
  group: AXP_WIDGETS_EDITOR_GROUP,
7824
- icon: 'fa-solid fa-box',
8585
+ icon: 'fa-solid fa-border',
7825
8586
  type: 'editor',
7826
- properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, numberDefaultProperty()],
8587
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
7827
8588
  components: {
7828
8589
  edit: {
7829
- component: () => Promise.resolve().then(function () { return spacingWidgetEditor_component; }).then((c) => c.AXPSpacingWidgetEditComponent),
8590
+ component: () => Promise.resolve().then(function () { return borderWidgetEditor_component; }).then((c) => c.AXPBorderWidgetEditComponent),
7830
8591
  },
7831
8592
  },
7832
8593
  visible: false,
7833
8594
  };
7834
8595
 
7835
- class AXPBorderWidgetEditComponent extends AXPWidgetComponent {
8596
+ const AXP_Flex_Sides = [
8597
+ { id: 'top-left', name: 'Top Left', align: 'flex-start', justify: 'flex-start' },
8598
+ { id: 'top-center', name: 'Top Center', align: 'flex-start', justify: 'center' },
8599
+ { id: 'top-right', name: 'Top Right', align: 'flex-start', justify: 'flex-end' },
8600
+ { id: 'left', name: 'Left', align: 'center', justify: 'flex-start' },
8601
+ { id: 'center', name: 'Center', align: 'center', justify: 'center' },
8602
+ { id: 'right', name: 'Right', align: 'center', justify: 'flex-end' },
8603
+ { id: 'bottom-left', name: 'Bottom Left', align: 'flex-end', justify: 'flex-start' },
8604
+ { id: 'bottom-center', name: 'Bottom Center', align: 'flex-end', justify: 'center' },
8605
+ { id: 'bottom-right', name: 'Bottom Right', align: 'flex-end', justify: 'flex-end' },
8606
+ ];
8607
+ const AXP_Flex_Justify = [
8608
+ { id: 'flex-start', name: 'Start' },
8609
+ { id: 'flex-end', name: 'End' },
8610
+ { id: 'center', name: 'Center' },
8611
+ { id: 'space-between', name: 'Space Between' },
8612
+ { id: 'space-around', name: 'Space Around' },
8613
+ ];
8614
+ const AXP_Flex_Align = [
8615
+ { id: 'flex-start', name: 'Start' },
8616
+ { id: 'flex-end', name: 'End' },
8617
+ { id: 'center', name: 'Center' },
8618
+ { id: 'stretch', name: 'Stretch' },
8619
+ { id: 'baseline', name: 'Baseline' },
8620
+ ];
8621
+ // export type AXPFlexJustifyId = (typeof AXP_Flex_Justify)[number]['id'];
8622
+ // export type AXPFlexAlignId = (typeof AXP_Flex_Align)[number]['id'];
8623
+
8624
+ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
7836
8625
  constructor() {
7837
8626
  super(...arguments);
7838
- this.isRadiusLinked = signal(false);
8627
+ this.flexSides = AXP_Flex_Sides;
8628
+ this.flexDirection = signal('row');
8629
+ this.flexDirectionIsColumn = computed(() => this.flexDirection().includes('column'));
8630
+ this.gapMode = signal('single');
8631
+ this.gap = signal({ both: 0, x: 0, y: 0 });
8632
+ this.selectedJustify = signal({ id: 'flex-start', name: 'Start' });
8633
+ this.selectedAlign = signal({ id: 'flex-start', name: 'Start' });
8634
+ this.hoveredAlign = signal(null);
8635
+ this.hoveredJustify = signal(null);
8636
+ this.clickedAlign = signal('flex-start');
8637
+ this.clickedJustify = signal('flex-start');
8638
+ this.justifyDataSource = new AXDataSource({
8639
+ pageSize: 99,
8640
+ load: async (e) => {
8641
+ return {
8642
+ items: AXP_Flex_Justify,
8643
+ total: AXP_Flex_Justify.length,
8644
+ };
8645
+ },
8646
+ });
8647
+ this.alignDataSource = new AXDataSource({
8648
+ pageSize: 99,
8649
+ load: async (e) => {
8650
+ return {
8651
+ items: AXP_Flex_Align,
8652
+ total: AXP_Flex_Align.length,
8653
+ };
8654
+ },
8655
+ });
8656
+ this.findAlignNameById = (id) => {
8657
+ const side = AXP_Flex_Align.find((side) => side.id === id);
8658
+ return side?.name;
8659
+ };
8660
+ this.findJustifyNameById = (id) => {
8661
+ const side = AXP_Flex_Justify.find((side) => side.id === id);
8662
+ return side?.name;
8663
+ };
7839
8664
  }
7840
- setBorder(e, type, side) {
7841
- const value = e.value ?? 0;
7842
- const currentValue = this.getValue();
7843
- if (type === 'radius' && this.isRadiusLinked()) {
7844
- this.setValue({
7845
- ...this.getValue(),
7846
- [type]: this.setSameValue(value, type),
7847
- });
8665
+ setFlexMode() {
8666
+ if (this.gapMode() === 'single') {
8667
+ this.gapMode.set('dual');
7848
8668
  }
7849
8669
  else {
7850
- this.setValue({
7851
- ...currentValue,
7852
- [type]: {
7853
- ...currentValue[type],
7854
- [side]: value,
7855
- },
7856
- });
8670
+ this.gapMode.set('single');
7857
8671
  }
7858
8672
  }
7859
- setSameValue(type, value) {
7860
- if (type === 'radius') {
7861
- return {
7862
- 'top-right': value,
7863
- 'top-left': value,
7864
- 'bottom-right': value,
7865
- 'bottom-left': value,
7866
- };
8673
+ setFlexDirection(type) {
8674
+ this.flexDirection.set(type);
8675
+ }
8676
+ setGap(size, side) {
8677
+ this.gap.set({ ...this.gap(), [side]: size });
8678
+ }
8679
+ onClick(data) {
8680
+ if (this.clickedAlign() === 'stretch') {
8681
+ this.clickedJustify.set(data.justify);
8682
+ this.selectedJustify.set({ id: data.justify, name: this.findJustifyNameById(data.justify) });
8683
+ }
8684
+ else if (this.clickedAlign() === 'baseline' && data.align === 'flex-start') {
8685
+ this.clickedJustify.set(data.justify);
8686
+ this.selectedJustify.set({ id: data.justify, name: this.findJustifyNameById(data.justify) });
8687
+ }
8688
+ else if (this.clickedJustify() === 'space-between') {
8689
+ this.clickedAlign.set(data.align);
8690
+ this.selectedAlign.set({ id: data.align, name: this.findAlignNameById(data.align) });
8691
+ }
8692
+ else if (this.clickedJustify() === 'space-around') {
8693
+ this.clickedAlign.set(data.align);
8694
+ this.selectedAlign.set({ id: data.align, name: this.findAlignNameById(data.align) });
7867
8695
  }
7868
8696
  else {
7869
- return { top: value, right: value, bottom: value, left: value };
8697
+ this.clickedAlign.set(data.align);
8698
+ this.clickedJustify.set(data.justify);
8699
+ this.selectedJustify.set({ id: data.justify, name: this.findJustifyNameById(data.justify) });
8700
+ this.selectedAlign.set({ id: data.align, name: this.findAlignNameById(data.align) });
7870
8701
  }
7871
8702
  }
7872
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7873
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPBorderWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-border-container-box\">\n <div class=\"ax-border-radius-side\">\n <div class=\"ax-border-radius-text\">Radius</div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-gap-2\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isRadiusLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"ax-border-radius-box\">\n <div class=\"ax-border-radius-item ax-border-b\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'top-left')\"\n [ngModel]=\"this.getValue().radius['top-left']\"\n ></ax-number-box>\n </div>\n <div class=\"ax-border-radius-item ax-border-b ax-border-l\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'top-right')\"\n [ngModel]=\"this.getValue().radius['top-right']\"\n ></ax-number-box>\n </div>\n <div class=\"ax-border-radius-item\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'bottom-left')\"\n [ngModel]=\"this.getValue().radius['bottom-left']\"\n ></ax-number-box>\n </div>\n <div class=\"ax-border-radius-item ax-border-l\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'bottom-right')\"\n [ngModel]=\"this.getValue().radius['bottom-right']\"\n ></ax-number-box>\n </div>\n </div>\n</div>\n", styles: [".ax-border-container-box{display:grid;min-height:5rem;min-width:12rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;padding-left:1rem;padding-right:1rem}.ax-border-container-box>.ax-border-radius-side{grid-column:span 1 / span 1;grid-column-start:1;grid-row:span 2 / span 2;grid-row-start:1;display:flex;flex-direction:row;gap:.5rem}.ax-border-container-box>.ax-border-radius-box{grid-column:span 2 / span 2;grid-column-start:2;grid-row:span 2 / span 2;grid-row-start:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));border-radius:.5rem;border-width:1px}.ax-border-container-box>.ax-border-radius-box>.ax-border-radius-item{display:flex;align-items:center;justify-content:center;gap:.5rem}.ax-border-container-box ax-number-box{width:100%}.ax-border-container-box ax-number-box>div{height:fit-content!important;width:2.5rem!important;border-style:none!important}.ax-border-container-box ax-number-box>div input{height:1.5rem!important;width:2.5rem!important;padding:.25rem!important;text-align:center!important}.ax-border-container-box ax-check-box>div{display:block!important}\n"], dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$3.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8703
+ onHover(data) {
8704
+ if (this.clickedAlign() === 'stretch') {
8705
+ this.hoveredAlign.set('stretch');
8706
+ this.hoveredJustify.set(data.justify);
8707
+ }
8708
+ else if (this.clickedAlign() === 'baseline' && data.align === 'flex-start') {
8709
+ this.hoveredAlign.set('baseline');
8710
+ this.hoveredJustify.set(data.justify);
8711
+ }
8712
+ else if (this.clickedJustify() === 'space-between') {
8713
+ this.hoveredAlign.set(data.align);
8714
+ this.hoveredJustify.set('space-between');
8715
+ }
8716
+ else if (this.clickedJustify() === 'space-around') {
8717
+ this.hoveredAlign.set(data.align);
8718
+ this.hoveredJustify.set('space-around');
8719
+ }
8720
+ else {
8721
+ this.hoveredAlign.set(data.align);
8722
+ this.hoveredJustify.set(data.justify);
8723
+ }
8724
+ }
8725
+ onHoverLeave() {
8726
+ this.hoveredAlign.set(null);
8727
+ this.hoveredJustify.set(null);
8728
+ }
8729
+ onJustifyChange(event) {
8730
+ if (event.isUserInteraction) {
8731
+ this.selectedJustify.set({ id: event.value, name: this.findAlignNameById(event.value) });
8732
+ this.clickedJustify.set(event.value);
8733
+ }
8734
+ }
8735
+ onAlignChange(event) {
8736
+ if (event.isUserInteraction) {
8737
+ this.selectedAlign.set({ id: event.value, name: this.findAlignNameById(event.value) });
8738
+ this.clickedAlign.set(event.value);
8739
+ }
8740
+ }
8741
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFlexOptionsWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8742
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFlexOptionsWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"axp-flex-option ax-grid ax-grid-cols-[auto_1fr] ax-pt-2 ax-gap-2 ax-items-center ax-justify-items-start\">\n <span>Direction</span>\n <div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item (onClick)=\"setFlexDirection('row')\" [selected]=\"flexDirection() === 'row'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('row-reverse')\" [selected]=\"flexDirection() === 'row-reverse'\"\n ><ax-prefix\n ><svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"transform: rotate(180deg)\"\n >\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('column')\" [selected]=\"flexDirection() === 'column'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.00001 12.2929L4.85356 9.14645L4.14645 9.85355L8.50001 14.2071L12.8536 9.85355L12.1465 9.14645L9.00001 12.2929L9.00001 3H8.00001L8.00001 12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setFlexDirection('column-reverse')\"\n [selected]=\"flexDirection() === 'column-reverse'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.00004 3.70721L12.1465 6.85363L12.8536 6.14652L8.50001 1.79297L4.14645 6.14652L4.85356 6.85363L8.00004 3.70715L8.00004 13.0001H9.00004L9.00004 3.70721Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n </div>\n <span>Align</span>\n <div class=\"ax-flex ax-justify-between ax-gap-2 ax-items-center\">\n <div\n class=\"ax-relative ax-size-[62px] ax-bg-black ax-bg-opacity-20 ax-border ax-border-white ax-border-opacity-15 ax-rounded\"\n >\n <div class=\"ax-absolute ax-inset-0 ax-grid ax-grid-cols-3 ax-grid-rows-3\">\n @for(side of flexSides; track side.id){\n <div\n [attr.aria-label]=\"side.name\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if ( (side.align === clickedAlign() && side.justify === clickedJustify()) || (side.align === hoveredAlign()\n && side.justify === hoveredJustify()) || (side.justify === clickedJustify() && clickedAlign() === 'stretch' )\n || (side.justify ===hoveredJustify() && hoveredAlign() === 'stretch' ) || ((side.align==='flex-start') &&\n clickedAlign() ==='baseline' && side.justify === clickedJustify()) || ((side.align==='flex-start') &&\n hoveredAlign() ==='baseline' && side.justify === hoveredJustify()) || ((clickedJustify()==='space-between') &&\n (side.align === clickedAlign()) ) || ((hoveredJustify()==='space-between') && (side.align === hoveredAlign()))\n || ((hoveredJustify()==='space-around') && (side.align === hoveredAlign())) ||\n ((clickedJustify()==='space-around') && (side.align === clickedAlign()) ) ) { } @else {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"7\" y=\"7\" width=\"2\" height=\"2\" rx=\"1\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n </svg>\n }\n </div>\n }\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none\"\n [style.flex-direction]=\"flexDirection()\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[1] ax-flex-none\">\n @if(hoveredJustify()==='space-between'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredJustify()==='space-around'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }@else if (hoveredAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none\"\n [style.flex-direction]=\"flexDirection()\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[2] ax-flex-none\">\n @if(clickedJustify()==='space-between'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedJustify()==='space-around'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if (clickedAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-justify-items-start ax-gap-1\">\n <span>X</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span>Y</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </div>\n <span>Gap</span>\n <div class=\"ax-flex ax-gap-2 ax-justify-between\">\n @if(gapMode()==='single') {\n <ax-range-slider\n class=\"ax-w-32\"\n color=\"neutral\"\n [ngModel]=\"gap().both\"\n (ngModelChange)=\"setGap($event ?? 0, 'both')\"\n ></ax-range-slider>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().both\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'both')\"\n class=\"ax-min-w-6\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n } @else {\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <span class=\"ax-text-xs\">Row</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().x\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'x')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n <span class=\"ax-text-xs\">Column</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().y\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'y')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }\n <button (click)=\"setFlexMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='single'){\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7L5 5C5 3.34315 6.34315 2 8 2C9.65685 2 11 3.34315 11 5V7C11.5523 7 12 7.44772 12 8V12C12 12.5523 11.5523 13 11 13H5C4.44772 13 4 12.5523 4 12V8C4 7.44771 4.44772 7 5 7ZM6 5C6 3.89543 6.89543 3 8 3C9.10457 3 10 3.89543 10 5V7H6V5ZM5 12V8H11V12H5Z\"\n fill=\"currentColor\"\n ></path>\n }@else {\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9 5C9 3.89543 9.89543 3 11 3C12.1046 3 13 3.89543 13 5V6H14V5C14 3.34315 12.6569 2 11 2C9.34315 2 8 3.34315 8 5V7H3C2.44772 7 2 7.44771 2 8V12C2 12.5523 2.44772 13 3 13H9C9.55228 13 10 12.5523 10 12V8C10 7.44772 9.55228 7 9 7V5ZM3 8H9V12H3V8Z\"\n fill=\"currentColor\"\n ></path>\n }\n </svg>\n </button>\n </div>\n</div>\n", styles: [".axp-flex-option ax-range-slider{padding:.25rem!important}.axp-flex-option ax-range-slider .ax-range-slider-handler{width:.75rem!important;height:.75rem!important}.axp-flex-option ax-number-box:not(.ax-exclude) div:first-child{font-size:12px}.axp-flex-option ax-number-box:not(.ax-exclude) div:first-child input{padding:.25rem 0 .25rem .25rem!important}.axp-flex-option ax-button-group>ax-button-group-item{width:3.31rem}\n"], dependencies: [{ kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i4$2.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "onClick", "selectionChange"] }, { kind: "component", type: i4$2.AXButtonGroupItemComponent, selector: "ax-button-group-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$2.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: AXRangeSliderModule }, { kind: "component", type: i3$6.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$5.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7874
8743
  }
7875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, decorators: [{
8744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFlexOptionsWidgetEditComponent, decorators: [{
7876
8745
  type: Component,
7877
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXNumberBoxModule, FormsModule, AXCheckBoxModule], template: "<div class=\"ax-border-container-box\">\n <div class=\"ax-border-radius-side\">\n <div class=\"ax-border-radius-text\">Radius</div>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-gap-2\">\n <i class=\"fa-regular fa-link\"></i> <ax-check-box [(ngModel)]=\"isRadiusLinked\"> </ax-check-box>\n </div>\n </div>\n <div class=\"ax-border-radius-box\">\n <div class=\"ax-border-radius-item ax-border-b\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'top-left')\"\n [ngModel]=\"this.getValue().radius['top-left']\"\n ></ax-number-box>\n </div>\n <div class=\"ax-border-radius-item ax-border-b ax-border-l\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'top-right')\"\n [ngModel]=\"this.getValue().radius['top-right']\"\n ></ax-number-box>\n </div>\n <div class=\"ax-border-radius-item\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'bottom-left')\"\n [ngModel]=\"this.getValue().radius['bottom-left']\"\n ></ax-number-box>\n </div>\n <div class=\"ax-border-radius-item ax-border-l\">\n <ax-number-box\n [showSpinButtons]=\"false\"\n [changeOnScroll]=\"true\"\n (onValueChanged)=\"setBorder($event, 'radius', 'bottom-right')\"\n [ngModel]=\"this.getValue().radius['bottom-right']\"\n ></ax-number-box>\n </div>\n </div>\n</div>\n", styles: [".ax-border-container-box{display:grid;min-height:5rem;min-width:12rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;padding-left:1rem;padding-right:1rem}.ax-border-container-box>.ax-border-radius-side{grid-column:span 1 / span 1;grid-column-start:1;grid-row:span 2 / span 2;grid-row-start:1;display:flex;flex-direction:row;gap:.5rem}.ax-border-container-box>.ax-border-radius-box{grid-column:span 2 / span 2;grid-column-start:2;grid-row:span 2 / span 2;grid-row-start:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));border-radius:.5rem;border-width:1px}.ax-border-container-box>.ax-border-radius-box>.ax-border-radius-item{display:flex;align-items:center;justify-content:center;gap:.5rem}.ax-border-container-box ax-number-box{width:100%}.ax-border-container-box ax-number-box>div{height:fit-content!important;width:2.5rem!important;border-style:none!important}.ax-border-container-box ax-number-box>div input{height:1.5rem!important;width:2.5rem!important;padding:.25rem!important;text-align:center!important}.ax-border-container-box ax-check-box>div{display:block!important}\n"] }]
8746
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
8747
+ AXButtonGroupModule,
8748
+ AXDecoratorModule,
8749
+ AXSelectBoxModule,
8750
+ AXRangeSliderModule,
8751
+ AXNumberBoxModule,
8752
+ FormsModule,
8753
+ ], template: "<div class=\"axp-flex-option ax-grid ax-grid-cols-[auto_1fr] ax-pt-2 ax-gap-2 ax-items-center ax-justify-items-start\">\n <span>Direction</span>\n <div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item (onClick)=\"setFlexDirection('row')\" [selected]=\"flexDirection() === 'row'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('row-reverse')\" [selected]=\"flexDirection() === 'row-reverse'\"\n ><ax-prefix\n ><svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"transform: rotate(180deg)\"\n >\n <path\n d=\"M12.2929 7.00004L9.14645 3.85359L9.85355 3.14648L14.2071 7.50004L9.85355 11.8536L9.14645 11.1465L12.2929 8.00004H3V7.00004H12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item (onClick)=\"setFlexDirection('column')\" [selected]=\"flexDirection() === 'column'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.00001 12.2929L4.85356 9.14645L4.14645 9.85355L8.50001 14.2071L12.8536 9.85355L12.1465 9.14645L9.00001 12.2929L9.00001 3H8.00001L8.00001 12.2929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n (onClick)=\"setFlexDirection('column-reverse')\"\n [selected]=\"flexDirection() === 'column-reverse'\"\n ><ax-prefix\n ><svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.00004 3.70721L12.1465 6.85363L12.8536 6.14652L8.50001 1.79297L4.14645 6.14652L4.85356 6.85363L8.00004 3.70715L8.00004 13.0001H9.00004L9.00004 3.70721Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n </ax-button-group>\n </div>\n <span>Align</span>\n <div class=\"ax-flex ax-justify-between ax-gap-2 ax-items-center\">\n <div\n class=\"ax-relative ax-size-[62px] ax-bg-black ax-bg-opacity-20 ax-border ax-border-white ax-border-opacity-15 ax-rounded\"\n >\n <div class=\"ax-absolute ax-inset-0 ax-grid ax-grid-cols-3 ax-grid-rows-3\">\n @for(side of flexSides; track side.id){\n <div\n [attr.aria-label]=\"side.name\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if ( (side.align === clickedAlign() && side.justify === clickedJustify()) || (side.align === hoveredAlign()\n && side.justify === hoveredJustify()) || (side.justify === clickedJustify() && clickedAlign() === 'stretch' )\n || (side.justify ===hoveredJustify() && hoveredAlign() === 'stretch' ) || ((side.align==='flex-start') &&\n clickedAlign() ==='baseline' && side.justify === clickedJustify()) || ((side.align==='flex-start') &&\n hoveredAlign() ==='baseline' && side.justify === hoveredJustify()) || ((clickedJustify()==='space-between') &&\n (side.align === clickedAlign()) ) || ((hoveredJustify()==='space-between') && (side.align === hoveredAlign()))\n || ((hoveredJustify()==='space-around') && (side.align === hoveredAlign())) ||\n ((clickedJustify()==='space-around') && (side.align === clickedAlign()) ) ) { } @else {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"7\" y=\"7\" width=\"2\" height=\"2\" rx=\"1\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n </svg>\n }\n </div>\n }\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none\"\n [style.flex-direction]=\"flexDirection()\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[1] ax-flex-none\">\n @if(hoveredJustify()==='space-between'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredJustify()==='space-around'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\" fill-opacity=\"0.3\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }@else if (hoveredAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if (hoveredAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n } @else if(hoveredAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n fill-opacity=\"0.3\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n <div\n class=\"ax-absolute ax-inset-0 ax-flex ax-pointer-events-none\"\n [style.flex-direction]=\"flexDirection()\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n >\n <div class=\"ax-flex ax-justify-center ax-items-center ax-min-w-5 ax-min-h-5\">\n <div class=\"ax-size-auto ax-z-[2] ax-flex-none\">\n @if(clickedJustify()==='space-between'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5V15.5C31 15.7761 30.7761 16 30.5 16H29.5C29.2239 16 29 15.7761 29 15.5V6.5ZM9 8.5C9 8.22386 9.22386 8 9.5 8H10.5C10.7761 8 11 8.22386 11 8.5V12.5C11 12.7761 10.7761 13 10.5 13H9.5C9.22386 13 9 12.7761 9 12.5V8.5ZM49.5 8C49.2239 8 49 8.22386 49 8.5V14.5C49 14.7761 49.2239 15 49.5 15H50.5C50.7761 15 51 14.7761 51 14.5V8.5C51 8.22386 50.7761 8 50.5 8H49.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedJustify()==='space-around'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"5\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"29\" y=\"6\" width=\"2\" height=\"10\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <rect x=\"47\" y=\"8\" width=\"2\" height=\"7\" rx=\"0.5\" fill=\"currentColor\"></rect>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 13L8 11L5 9V13ZM55 9L52 11L55 13V9Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='flex-start'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 7C3.22386 7 3 6.77614 3 6.5V3.5C3 3.22386 3.22386 3 3.5 3H4.5C4.77614 3 5 3.22386 5 3.5V6.5C5 6.77614 4.77614 7 4.5 7H3.5ZM7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM11.5 3C11.2239 3 11 3.22386 11 3.5V8.5C11 8.77614 11.2239 9 11.5 9H12.5C12.7761 9 13 8.77614 13 8.5V3.5C13 3.22386 12.7761 3 12.5 3H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if (clickedAlign()==='center') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 13C7.22386 13 7 12.7761 7 12.5V3.5C7 3.22386 7.22386 3 7.5 3H8.5C8.77614 3 9 3.22386 9 3.5V12.5C9 12.7761 8.77614 13 8.5 13H7.5ZM3.5 10C3.22386 10 3 9.77614 3 9.5V6.5C3 6.22386 3.22386 6 3.5 6H4.5C4.77614 6 5 6.22386 5 6.5V9.5C5 9.77614 4.77614 10 4.5 10H3.5ZM11.5 5C11.2239 5 11 5.22386 11 5.5V10.5C11 10.7761 11.2239 11 11.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H11.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='flex-end') {\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.5 7C11.2239 7 11 7.22386 11 7.5L11 12.5C11 12.7761 11.2239 13 11.5 13L12.5 13C12.7761 13 13 12.7761 13 12.5L13 7.5C13 7.22386 12.7761 7 12.5 7L11.5 7ZM7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.5C7 3.22386 7.22386 3 7.5 3L8.5 3C8.77614 3 9 3.22386 9 3.5L9 12.5C9 12.7761 8.77614 13 8.5 13L7.5 13ZM3.5 13C3.22386 13 3 12.7761 3 12.5L3 9.5C3 9.22386 3.22386 9 3.5 9L4.5 9C4.77614 9 5 9.22386 5 9.5L5 12.5C5 12.7761 4.77614 13 4.5 13L3.5 13Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if (clickedAlign()==='stretch') {\n <svg width=\"20\" height=\"60\" viewBox=\"0 0 20 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7 53.5C7 53.7761 6.77614 54 6.5 54L5.5 54C5.22386 54 5 53.7761 5 53.5L5 6.5C5 6.22386 5.22386 6 5.5 6L6.5 6C6.77614 6 7 6.22386 7 6.5L7 53.5ZM11 53.5C11 53.7761 10.7761 54 10.5 54L9.5 54C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6L10.5 6C10.7761 6 11 6.22386 11 6.5L11 53.5ZM14.5 54C14.7761 54 15 53.7761 15 53.5L15 6.5C15 6.22386 14.7761 6 14.5 6L13.5 6C13.2239 6 13 6.22386 13 6.5L13 53.5C13 53.7761 13.2239 54 13.5 54L14.5 54Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13 2V8.29289L14.6464 6.64645L15.3536 7.35355L12.5 10.2071L9.64645 7.35355L10.3536 6.64645L12 8.29289V2H13Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M16 12L1 12V13L16 13V12Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.62582 2H6.37412L8.72712 10H7.68476L7.09649 7.99994H3.90349L3.31524 10H2.27288L4.62582 2ZM6.80237 6.99994L5.62585 2.9999H5.37409L4.19761 6.99994H6.80237Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"ax-grid ax-grid-cols-[auto_1fr] ax-items-center ax-justify-items-start ax-gap-1\">\n <span>X</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span>Y</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </div>\n <span>Gap</span>\n <div class=\"ax-flex ax-gap-2 ax-justify-between\">\n @if(gapMode()==='single') {\n <ax-range-slider\n class=\"ax-w-32\"\n color=\"neutral\"\n [ngModel]=\"gap().both\"\n (ngModelChange)=\"setGap($event ?? 0, 'both')\"\n ></ax-range-slider>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().both\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'both')\"\n class=\"ax-min-w-6\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n } @else {\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <span class=\"ax-text-xs\">Row</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().x\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'x')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n <span class=\"ax-text-xs\">Column</span>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().y\"\n [changeOnScroll]=\"true\"\n (valueChange)=\"setGap($event ?? 0, 'y')\"\n class=\"ax-min-w-5\"\n [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n }\n <button (click)=\"setFlexMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='single'){\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5 7L5 5C5 3.34315 6.34315 2 8 2C9.65685 2 11 3.34315 11 5V7C11.5523 7 12 7.44772 12 8V12C12 12.5523 11.5523 13 11 13H5C4.44772 13 4 12.5523 4 12V8C4 7.44771 4.44772 7 5 7ZM6 5C6 3.89543 6.89543 3 8 3C9.10457 3 10 3.89543 10 5V7H6V5ZM5 12V8H11V12H5Z\"\n fill=\"currentColor\"\n ></path>\n }@else {\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9 5C9 3.89543 9.89543 3 11 3C12.1046 3 13 3.89543 13 5V6H14V5C14 3.34315 12.6569 2 11 2C9.34315 2 8 3.34315 8 5V7H3C2.44772 7 2 7.44771 2 8V12C2 12.5523 2.44772 13 3 13H9C9.55228 13 10 12.5523 10 12V8C10 7.44772 9.55228 7 9 7V5ZM3 8H9V12H3V8Z\"\n fill=\"currentColor\"\n ></path>\n }\n </svg>\n </button>\n </div>\n</div>\n", styles: [".axp-flex-option ax-range-slider{padding:.25rem!important}.axp-flex-option ax-range-slider .ax-range-slider-handler{width:.75rem!important;height:.75rem!important}.axp-flex-option ax-number-box:not(.ax-exclude) div:first-child{font-size:12px}.axp-flex-option ax-number-box:not(.ax-exclude) div:first-child input{padding:.25rem 0 .25rem .25rem!important}.axp-flex-option ax-button-group>ax-button-group-item{width:3.31rem}\n"] }]
7878
8754
  }] });
7879
8755
 
7880
- var borderWidgetEditor_component = /*#__PURE__*/Object.freeze({
8756
+ var flexOptionsWidgetEditor_component = /*#__PURE__*/Object.freeze({
7881
8757
  __proto__: null,
7882
- AXPBorderWidgetEditComponent: AXPBorderWidgetEditComponent
8758
+ AXPFlexOptionsWidgetEditComponent: AXPFlexOptionsWidgetEditComponent
7883
8759
  });
7884
8760
 
7885
- const AXPBorderWidget = {
7886
- name: 'border',
7887
- title: 'Box Border',
7888
- description: 'Editing Elements Border',
8761
+ const AXPFlexOptionsWidget = {
8762
+ name: 'flex-options',
8763
+ title: 'Flex Options',
8764
+ description: 'Make an Elements Flex',
7889
8765
  group: AXP_WIDGETS_EDITOR_GROUP,
7890
- icon: 'fa-solid fa-border',
8766
+ icon: 'fa-solid fa-ellipsis-h',
7891
8767
  type: 'editor',
7892
8768
  properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
7893
8769
  components: {
7894
8770
  edit: {
7895
- component: () => Promise.resolve().then(function () { return borderWidgetEditor_component; }).then((c) => c.AXPBorderWidgetEditComponent),
8771
+ component: () => Promise.resolve().then(function () { return flexOptionsWidgetEditor_component; }).then((c) => c.AXPFlexOptionsWidgetEditComponent),
8772
+ },
8773
+ },
8774
+ visible: false,
8775
+ };
8776
+
8777
+ class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
8778
+ constructor() {
8779
+ super(...arguments);
8780
+ this.ngZone = inject(NgZone);
8781
+ this.rendered = signal(false);
8782
+ this.calculatedValues = signal(AXP_default_Spacing_Box_Value);
8783
+ this.originalValues = signal(AXP_default_Spacing_Box_Value);
8784
+ this.units = signal(AXP_default_Spacing_Box_Units);
8785
+ this.current = signal({
8786
+ type: 'margin',
8787
+ side: 'bottom',
8788
+ });
8789
+ this.FixedValues = [
8790
+ { label: '0', value: 0, rowspan: 2 },
8791
+ { label: '5', value: 5 },
8792
+ { label: '10', value: 10 },
8793
+ { label: '25', value: 25 },
8794
+ { label: '50', value: 50 },
8795
+ { label: '75', value: 75 },
8796
+ { label: '100', value: 100 },
8797
+ { label: '150', value: 150 },
8798
+ { label: '200', value: 200 },
8799
+ ];
8800
+ this.popover = viewChild.required(AXPopoverComponent);
8801
+ this.afterRender = afterNextRender(() => {
8802
+ if (this.getValue()) {
8803
+ this.calculatedValues.set(AXPPropertyEditorHelper.parseSpacingBox(this.getValue()));
8804
+ this.originalValues.set(AXPPropertyEditorHelper.parseSpacingBox(this.getValue()));
8805
+ }
8806
+ this.rendered.set(true);
8807
+ });
8808
+ }
8809
+ setSpacing(input, type, side) {
8810
+ if (!this.rendered()) {
8811
+ return;
8812
+ }
8813
+ const value = input instanceof Event ? Number.parseInt(input.target.value) : input;
8814
+ const currentValue = this.calculatedValues();
8815
+ this.calculatedValues.set({
8816
+ ...currentValue,
8817
+ [type]: {
8818
+ ...currentValue[type],
8819
+ [side]: value,
8820
+ },
8821
+ });
8822
+ const data = AXPPropertyEditorHelper.parseSpacingBoxReverse(this.calculatedValues(), this.units());
8823
+ this.setValue(data);
8824
+ }
8825
+ openPopUp(event, type, side) {
8826
+ this.current.set({ type, side, el: event.target });
8827
+ this.popover().target = event.target;
8828
+ this.popover().placement = side === 'right' ? ['bottom-end', 'end'] : ['bottom', 'top'];
8829
+ this.popover().open();
8830
+ }
8831
+ listenToMove(event, type, side) {
8832
+ this.ngZone.runOutsideAngular(() => {
8833
+ event.preventDefault();
8834
+ let startY = 0, currentValue = 0;
8835
+ const targetElement = event.target;
8836
+ targetElement.style.cursor = 's-resize';
8837
+ const onMouseDown = (e) => {
8838
+ const { clientY } = this.getClientCoordinates(e);
8839
+ startY = clientY;
8840
+ window.addEventListener('mousemove', onMouseMove);
8841
+ window.addEventListener('mouseup', onMouseUp);
8842
+ window.addEventListener('touchmove', onMouseMove);
8843
+ window.addEventListener('touchend', onMouseUp);
8844
+ };
8845
+ const onMouseMove = (e) => {
8846
+ const { clientY } = this.getClientCoordinates(e);
8847
+ const delta = (clientY - startY) * -1;
8848
+ const oldValue = this.calculatedValues()[type][side];
8849
+ currentValue = delta + AXPPropertyEditorHelper.getValueWithUnit(oldValue).value;
8850
+ this.ngZone.run(() => {
8851
+ this.setSpacing(Math.max(currentValue, 0), type, side);
8852
+ });
8853
+ startY = clientY;
8854
+ };
8855
+ const onMouseUp = () => {
8856
+ window.removeEventListener('mousemove', onMouseMove);
8857
+ window.removeEventListener('mouseup', onMouseUp);
8858
+ window.removeEventListener('touchmove', onMouseMove);
8859
+ window.removeEventListener('touchend', onMouseUp);
8860
+ targetElement.style.cursor = '';
8861
+ };
8862
+ onMouseDown(event);
8863
+ });
8864
+ }
8865
+ getClientCoordinates(e) {
8866
+ if (e instanceof MouseEvent) {
8867
+ return { clientX: e.clientX, clientY: e.clientY };
8868
+ }
8869
+ const touch = e.touches[0];
8870
+ return { clientX: touch.clientX, clientY: touch.clientY };
8871
+ }
8872
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8873
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPSpacingWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"axp-spacing-box ax-flex ax-justify-center ax-items-center ax-pt-4 ax-pb-2\">\n <div class=\"axp-spacing-inner-box\">\n <div class=\"axp-spacing-margin-box\">\n <!--MARGIN SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"224\" height=\"112\" class=\"area\">\n <mask id=\"margin-mask\" width=\"224\" height=\"112\">\n <rect fill=\"#000\" height=\"112\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"112\" rx=\"4\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"66\" rx=\"4\" width=\"154\" x=\"35\" y=\"23\"></rect>\n </mask>\n <defs>\n <linearGradient id=\"FuseLinearGradient\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop stop-color=\"white\"></stop>\n <stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0\"></stop>\n </linearGradient>\n </defs>\n\n <!--MARGIN TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'top')\"\n (mousedown)=\"listenToMove($event, 'margin', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"url(#FuseLinearGradient)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.02\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'right')\"\n (mousedown)=\"listenToMove($event, 'margin', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'margin', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'left')\"\n (mousedown)=\"listenToMove($event, 'margin', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--MARGIN TOP VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ calculatedValues().margin.top + ' ' + units().margin.top }}</span>\n </div>\n </div>\n\n <!--MARGIN RIGHT VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ calculatedValues().margin.right + ' ' + units().margin.right }}</span>\n </div>\n </div>\n\n <!--MARGIN BOTTOM VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ calculatedValues().margin.bottom + ' ' + units().margin.bottom }}</span>\n </div>\n </div>\n\n <!--MARGIN LEFT VALUE-->\n <div tabindex=\"0\" style=\"grid-area: 2 / 1 / 3 / 2\" class=\"axp-spacing-value-container\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ calculatedValues().margin.left + ' ' + units().margin.left }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"axp-spacing-padding-box\">\n <!--SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"62\" class=\"area\">\n <mask id=\"padding-mask\" width=\"150\" height=\"62\">\n <rect fill=\"#000\" height=\"60\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"60\" rx=\"2\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"14\" rx=\"2\" width=\"80\" x=\"35\" y=\"23\"></rect>\n </mask>\n\n <!--PADDING TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'top')\"\n (mousedown)=\"listenToMove($event, 'padding', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'right')\"\n (mousedown)=\"listenToMove($event, 'padding', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'padding', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'left')\"\n (mousedown)=\"listenToMove($event, 'padding', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--PADDING TOP SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ this.calculatedValues().padding.top + ' ' + units().padding.top }}</span>\n </div>\n </div>\n\n <!--PADDING RIGHT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ this.calculatedValues().padding.right + ' ' + units().padding.right }}</span>\n </div>\n </div>\n\n <!--PADDING BOTTOM SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ this.calculatedValues().padding.bottom + ' ' + units().padding.bottom }}</span>\n </div>\n </div>\n\n <!--PADDING LEFT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ this.calculatedValues().padding.left + ' ' + units().padding.left }}</span>\n </div>\n </div>\n </div>\n\n <!--PADDING TEXT-->\n <svg class=\"axp-spacing-padding-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">PADDING</text>\n </svg>\n\n <!--MARGIN TEXT-->\n <svg class=\"axp-spacing-margin-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">MARGIN</text>\n </svg>\n </div>\n</div>\n\n<ng-template #template let-type=\"type\" let-side=\"side\" let-value=\"value\">\n <div\n class=\"axp-spacing-popup-container\"\n (keydown.control.b)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n >\n <div class=\"axp-spacing-popover\">\n <!--SET EMPTY-->\n <div class=\"ax-size-4 ax-cursor-pointer\" (click)=\"setSpacing(0, type, side)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path opacity=\"0.4\" d=\"M14 2L14 13L10 13L10 2L14 2Z\" fill=\"currentColor\" fill-opacity=\"0.67\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.99995 7L7.99995 1H8.99995L8.99995 14H7.99995L7.99995 8L3.70706 8L5.85351 10.1464L5.1464 10.8536L1.79285 7.5L5.1464 4.14645L5.85351 4.85355L3.70706 7L7.99995 7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n\n <div class=\"ax-flex ax-justify-center ax-h-6 ax-flex-col\">\n <input\n type=\"range\"\n name=\"range\"\n [min]=\"0\"\n [max]=\"200\"\n [value]=\"this.calculatedValues()[this.current().type][this.current().side]\"\n (input)=\"setSpacing($event, type, side)\"\n />\n </div>\n <div>\n <!--INPUT NUMBER-->\n <div style=\"--local-gap: 8px\">\n <div\n style=\"\n gap: 8px;\n height: auto;\n display: flex;\n flex-flow: column;\n -webkit-box-align: stretch;\n align-items: stretch;\n -webkit-box-pack: start;\n position: relative;\n justify-content: stretch;\n width: 100%;\n -webkit-box-flex: 1;\n flex-grow: 1;\n \"\n >\n <div style=\"display: grid; grid-template-columns: 1fr auto; transform: translate3d(0px, 0px, 0px)\">\n <div\n data-legacy-styled=\"true\"\n style=\"\n grid-area: 1 / 1 / 2 / -1;\n align-items: stretch;\n background-color: var(--color-ui-input-background);\n border-color: var(--color-border-2);\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n flex: 0 1 auto;\n height: 24px;\n position: relative;\n \"\n >\n <input\n autocomplete=\"off\"\n data-wf-text-input=\"true\"\n name=\"spacing\"\n placeholder=\"\"\n aria-label=\"Edit spacing input\"\n type=\"text\"\n aria-disabled=\"false\"\n [value]=\"value\"\n (input)=\"setSpacing($event, type, side)\"\n style=\"\n padding-right: 20px;\n background-color: transparent;\n border-color: transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0px;\n box-sizing: border-box;\n color: var(--color-text-primary);\n cursor: auto;\n display: block;\n font-family: inherit;\n font-size: inherit;\n height: 100%;\n line-height: 1;\n outline: transparent solid 2px;\n padding: 0px 4px;\n width: 100%;\n \"\n />\n </div>\n <div\n id=\"spacing-UnitSelect\"\n data-prevent-global-event-handlers=\"true\"\n tabindex=\"-1\"\n data-legacy-styled=\"true\"\n aria-expanded=\"false\"\n aria-haspopup=\"listbox\"\n data-focus=\"false\"\n style=\"\n border-color: transparent;\n outline: 0px;\n cursor: default;\n user-select: none;\n font-size: 9px;\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu,\n Cantarell, 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', sans-serif;\n line-height: 12px;\n letter-spacing: -0.115px;\n text-transform: none;\n color: var(--color-text-primary);\n place-self: center stretch;\n grid-area: 1 / 2 / 2 / 3;\n z-index: 1;\n min-width: 16px;\n border-radius: 1px;\n height: calc(100% - 2px);\n text-align: center;\n background: transparent;\n box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px;\n border-width: 0px;\n margin: 1px;\n position: relative;\n right: 2px;\n display: grid;\n grid-template-columns: auto;\n grid-auto-flow: column;\n justify-content: unset;\n width: 100%;\n flex-grow: unset;\n padding: 0px;\n box-sizing: border-box;\n --component-icon-color: var(--color-text-secondary);\n align-items: center;\n border-style: solid;\n \"\n >\n <div\n data-legacy-styled=\"true\"\n style=\"\n justify-self: start;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n \"\n >\n PX\n <!--PX-->\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"axp-spacing-template-values\">\n @for(i of FixedValues; track $index){\n <div\n (click)=\"setSpacing(i.value, type, side)\"\n class=\"hover:!ax-bg-gradient-to-b hover:!ax-from-white/20 hover:!ax-to-white/5 !ax-cursor-pointer\"\n [class]=\"i.colspan ? 'ax-col-span-' + i.colspan : ''\"\n [class]=\"i.rowspan ? 'ax-row-span-' + i.rowspan : ''\"\n tabindex=\"0\"\n style=\"\n border-bottom-color: var(--color-border-1);\n border-left-color: var(--color-border-1);\n border-right-color: var(--color-border-1);\n border-top-color: var(--color-border-1);\n outline: 0px;\n cursor: default;\n user-select: none;\n padding: 0px;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--color-text-secondary);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n border-radius: 4px;\n color: var(--color-action-secondary-text);\n background: var(--color-action-secondary-background);\n border-width: 0px;\n border-style: solid;\n box-shadow: var(--box-shadows-action-secondary);\n align-self: center;\n \"\n >\n <div class=\"ax-truncate\">\n {{ i.label }}\n <span class=\"ax-text-xs ax-text-neutral-400\"> {{ units()[this.current().type][this.current().side] }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"ax-h-[1px] ax-mt-1 ax-mb-1 ax-bg-border-1 ax-pointer-events-none\"></div>\n\n <div\n [class.ax-opacity-50]=\"\n originalValues()[this.current().type][this.current().side] ===\n calculatedValues()[this.current().type][this.current().side]\n \"\n (click)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n tabindex=\"0\"\n class=\"ax-outline-none ax-select-none ax-py-1 ax-px-2 ax-my-1 ax-min-h-6 ax-cursor-pointer hover:!ax-bg-[#404040]\"\n >\n <div class=\"ax-flex ax-flex-row ax-items-center\">\n <div class=\"ax-min-w-6 ax-self-center ax-grow ax-basis-0\">\n <div class=\"ax-items-center ax-box-border ax-grid ax-grid-cols-[16px_1fr_auto] ax-gap-x-2 ax-gap-y-1\">\n <div class=\"ax-size-4\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.70712 5.00004L6.35357 2.35359L5.64646 1.64648L1.79291 5.50004L5.64646 9.35359L6.35357 8.64648L3.70712 6.00004H10C11.6569 6.00004 13 7.34318 13 9.00004C13 10.6569 11.6569 12 10 12H8.00001V13H10C12.2092 13 14 11.2092 14 9.00004C14 6.7909 12.2092 5.00004 10 5.00004H3.70712Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n <div>Reset</div>\n </div>\n </div>\n <div class=\"ax-self-center\">\n <div\n class=\"ax-cursor-default ax-select-none ax-text-[11.5px] ax-font-normal ax-leading-4 ax-tracking-tight ax-text-secondary ax-justify-self-end ax-ml-[1px]\"\n >\n <span><kbd>Ctrl</kbd> + <kbd>B</kbd></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ax-popover #popover [openOn]=\"'click'\" [offsetY]=\"10\" [closeOn]=\"'clickOut'\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n type: this.current().type,\n side: this.current().side,\n value: this.calculatedValues()[this.current().type][this.current().side]\n }\"\n ></ng-container>\n</ax-popover>\n", styles: [".axp-spacing-box{--color-text-secondary: rgba(255, 255, 255, .67);--color-ui-scrollbar-thumb: rgba(255, 255, 255, .67);--color-background-1: #292929;--color-text-secondary: white;--color-border-2: rgba(255, 255, 255, .16);--color-changed: rgb(167, 209, 255);--color-background: rgba(0, 106, 204, .18)}.axp-spacing-box .axp-spacing-inner-box{transform:scale(1.2);position:relative;display:grid;width:224px;height:112px;grid-template-columns:36px 1px 36px 1fr 36px 1px 36px;grid-template-rows:24px 2px 24px 1fr 24px 2px 24px;outline-style:none;cursor:default;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-value-container{pointer-events:none;border:none;outline:0px;cursor:default;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;place-self:center;padding:2px;height:auto;width:auto;font-family:inherit;font-size:inherit;position:relative;border-radius:4px;color:var(--color-text-secondary);background:transparent;box-sizing:border-box;box-shadow:none}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-value-container .axp-spacing-value-field{cursor:default;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;line-height:11px;letter-spacing:-.115px;display:flex;color:var(--color-text-secondary);background:transparent;padding:2px;margin:0;border-radius:2px;max-width:100%;box-sizing:content-box;place-self:center;position:relative;opacity:1;align-items:center;justify-content:center}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-margin-box{border-radius:4px;grid-area:1/1/-1/-1;display:grid;grid-template-columns:36px 1fr 36px;grid-template-rows:24px minmax(8px,1fr) 24px;justify-items:center;width:224px;height:112px}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-padding-box{border-radius:4px;grid-area:3/3/span 3/span 3;display:grid;grid-template-columns:36px 1fr 36px;grid-template-rows:24px minmax(8px,1fr) 24px;justify-items:center;width:150px;height:60px}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-padding-text{grid-area:3/3/span 3/span 3;pointer-events:none;position:relative}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-margin-text{grid-area:1/1/-1/-1;pointer-events:none;position:relative}.axp-spacing-popup-container{--color-action-secondary-text: white;--color-action-secondary-background: linear-gradient( 180deg, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .11) 100% );--box-shadows-action-secondary: 0px .5px 1px rgba(0, 0, 0, .8), inset 0px .5px .5px rgba(255, 255, 255, .12);--color-border-1: rgba(255, 255, 255, .13);max-width:239px;min-width:201px;background:#353535;border-radius:.5rem;color:var(--color-text-secondary, white);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,sans-serif;font-size:11.5px;line-height:16px}.axp-spacing-popup-container .axp-spacing-popover{display:grid;grid-template-columns:16px 1fr 56px;grid-template-rows:24px 1fr;align-items:center;gap:8px;width:241px;padding:8px}.axp-spacing-popup-container .axp-spacing-popover .axp-spacing-template-values{display:grid;grid-area:2/1/3/-1;grid-template-columns:repeat(5,1fr);grid-template-rows:24px 24px;gap:4px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;outline:none;overflow:hidden;border-radius:12px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-webkit-slider-runnable-track{height:10px;background:#ccc;border-radius:12px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-moz-range-track{height:10px;background:#ccc;border-radius:12px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:10px;width:10px;background-color:#fff;border-radius:50%;border:1px solid #353535;box-shadow:-407px 0 0 400px rgba(41,41,41,.44)}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-moz-range-thumb{height:10px;width:10px;background-color:#fff;border-radius:50%;border:1px solid #353535;box-shadow:-407px 0 0 400px rgba(41,41,41,.44)}.area{grid-area:1/1/-1/-1;overflow:hidden;border-radius:2px;filter:drop-shadow(rgba(255,255,255,.2) 0px -.5px 0px) drop-shadow(rgba(0,0,0,.4) 0px 0px 1px) drop-shadow(rgba(0,0,0,.2) 0px 1px 0px)}\n"], dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i1$8.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXRangeSliderModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8874
+ }
8875
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, decorators: [{
8876
+ type: Component,
8877
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXNumberBoxModule, FormsModule, AXCheckBoxModule, AXPopoverModule, CommonModule, AXRangeSliderModule], inputs: [], template: "<div class=\"axp-spacing-box ax-flex ax-justify-center ax-items-center ax-pt-4 ax-pb-2\">\n <div class=\"axp-spacing-inner-box\">\n <div class=\"axp-spacing-margin-box\">\n <!--MARGIN SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"224\" height=\"112\" class=\"area\">\n <mask id=\"margin-mask\" width=\"224\" height=\"112\">\n <rect fill=\"#000\" height=\"112\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"112\" rx=\"4\" width=\"224\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"66\" rx=\"4\" width=\"154\" x=\"35\" y=\"23\"></rect>\n </mask>\n <defs>\n <linearGradient id=\"FuseLinearGradient\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop stop-color=\"white\"></stop>\n <stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0\"></stop>\n </linearGradient>\n </defs>\n\n <!--MARGIN TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'top')\"\n (mousedown)=\"listenToMove($event, 'margin', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"url(#FuseLinearGradient)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n \"\n fill-opacity=\"0.02\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'right')\"\n (mousedown)=\"listenToMove($event, 'margin', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'margin', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n <!--MARGIN LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'margin', 'left')\"\n (mousedown)=\"listenToMove($event, 'margin', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n mask=\"url(#margin-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#margin-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--MARGIN TOP VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ calculatedValues().margin.top + ' ' + units().margin.top }}</span>\n </div>\n </div>\n\n <!--MARGIN RIGHT VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ calculatedValues().margin.right + ' ' + units().margin.right }}</span>\n </div>\n </div>\n\n <!--MARGIN BOTTOM VALUE-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ calculatedValues().margin.bottom + ' ' + units().margin.bottom }}</span>\n </div>\n </div>\n\n <!--MARGIN LEFT VALUE-->\n <div tabindex=\"0\" style=\"grid-area: 2 / 1 / 3 / 2\" class=\"axp-spacing-value-container\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ calculatedValues().margin.left + ' ' + units().margin.left }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"axp-spacing-padding-box\">\n <!--SVG DEFINE-->\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"62\" class=\"area\">\n <mask id=\"padding-mask\" width=\"150\" height=\"62\">\n <rect fill=\"#000\" height=\"60\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#fff\" height=\"60\" rx=\"2\" width=\"150\" x=\"0\" y=\"0\"></rect>\n <rect fill=\"#000\" height=\"14\" rx=\"2\" width=\"80\" x=\"35\" y=\"23\"></rect>\n </mask>\n\n <!--PADDING TOP SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'top')\"\n (mousedown)=\"listenToMove($event, 'padding', 'top')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n \"\n fill-opacity=\"0.064\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING RIGHT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'right')\"\n (mousedown)=\"listenToMove($event, 'padding', 'right')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING BOTTOM SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'bottom')\"\n (mousedown)=\"listenToMove($event, 'padding', 'bottom')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n \"\n fill-opacity=\"0.12\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n\n <!--PADDING LEFT SVG-->\n <g\n class=\"hover:ax-brightness-75\"\n style=\"cursor: s-resize\"\n (click)=\"openPopUp($event, 'padding', 'left')\"\n (mousedown)=\"listenToMove($event, 'padding', 'left')\"\n >\n <g>\n <path\n mode=\"delta\"\n fill=\"var(--color-background-1)\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n mask=\"url(#padding-mask)\"\n ></path>\n <path\n mode=\"delta\"\n fill=\"white\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n \"\n fill-opacity=\"0.094\"\n mask=\"url(#padding-mask)\"\n ></path>\n </g>\n </g>\n </svg>\n\n <!--PADDING TOP SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 1 / 2 / 2 / 3\">\n <span>{{ this.calculatedValues().padding.top + ' ' + units().padding.top }}</span>\n </div>\n </div>\n\n <!--PADDING RIGHT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 3 / 3 / 4\">\n <span>{{ this.calculatedValues().padding.right + ' ' + units().padding.right }}</span>\n </div>\n </div>\n\n <!--PADDING BOTTOM SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 3 / 2 / 4 / 3\">\n <span>{{ this.calculatedValues().padding.bottom + ' ' + units().padding.bottom }}</span>\n </div>\n </div>\n\n <!--PADDING LEFT SVG-->\n <div tabindex=\"0\" class=\"axp-spacing-value-container\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <div class=\"axp-spacing-value-field\" style=\"grid-area: 2 / 1 / 3 / 2\">\n <span>{{ this.calculatedValues().padding.left + ' ' + units().padding.left }}</span>\n </div>\n </div>\n </div>\n\n <!--PADDING TEXT-->\n <svg class=\"axp-spacing-padding-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">PADDING</text>\n </svg>\n\n <!--MARGIN TEXT-->\n <svg class=\"axp-spacing-margin-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"10\" fill=\"white\" font-weight=\"500\" font-size=\"7\">MARGIN</text>\n </svg>\n </div>\n</div>\n\n<ng-template #template let-type=\"type\" let-side=\"side\" let-value=\"value\">\n <div\n class=\"axp-spacing-popup-container\"\n (keydown.control.b)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n >\n <div class=\"axp-spacing-popover\">\n <!--SET EMPTY-->\n <div class=\"ax-size-4 ax-cursor-pointer\" (click)=\"setSpacing(0, type, side)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path opacity=\"0.4\" d=\"M14 2L14 13L10 13L10 2L14 2Z\" fill=\"currentColor\" fill-opacity=\"0.67\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.99995 7L7.99995 1H8.99995L8.99995 14H7.99995L7.99995 8L3.70706 8L5.85351 10.1464L5.1464 10.8536L1.79285 7.5L5.1464 4.14645L5.85351 4.85355L3.70706 7L7.99995 7Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n\n <div class=\"ax-flex ax-justify-center ax-h-6 ax-flex-col\">\n <input\n type=\"range\"\n name=\"range\"\n [min]=\"0\"\n [max]=\"200\"\n [value]=\"this.calculatedValues()[this.current().type][this.current().side]\"\n (input)=\"setSpacing($event, type, side)\"\n />\n </div>\n <div>\n <!--INPUT NUMBER-->\n <div style=\"--local-gap: 8px\">\n <div\n style=\"\n gap: 8px;\n height: auto;\n display: flex;\n flex-flow: column;\n -webkit-box-align: stretch;\n align-items: stretch;\n -webkit-box-pack: start;\n position: relative;\n justify-content: stretch;\n width: 100%;\n -webkit-box-flex: 1;\n flex-grow: 1;\n \"\n >\n <div style=\"display: grid; grid-template-columns: 1fr auto; transform: translate3d(0px, 0px, 0px)\">\n <div\n data-legacy-styled=\"true\"\n style=\"\n grid-area: 1 / 1 / 2 / -1;\n align-items: stretch;\n background-color: var(--color-ui-input-background);\n border-color: var(--color-border-2);\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n flex: 0 1 auto;\n height: 24px;\n position: relative;\n \"\n >\n <input\n autocomplete=\"off\"\n data-wf-text-input=\"true\"\n name=\"spacing\"\n placeholder=\"\"\n aria-label=\"Edit spacing input\"\n type=\"text\"\n aria-disabled=\"false\"\n [value]=\"value\"\n (input)=\"setSpacing($event, type, side)\"\n style=\"\n padding-right: 20px;\n background-color: transparent;\n border-color: transparent;\n border-radius: 4px;\n border-style: solid;\n border-width: 0px;\n box-sizing: border-box;\n color: var(--color-text-primary);\n cursor: auto;\n display: block;\n font-family: inherit;\n font-size: inherit;\n height: 100%;\n line-height: 1;\n outline: transparent solid 2px;\n padding: 0px 4px;\n width: 100%;\n \"\n />\n </div>\n <div\n id=\"spacing-UnitSelect\"\n data-prevent-global-event-handlers=\"true\"\n tabindex=\"-1\"\n data-legacy-styled=\"true\"\n aria-expanded=\"false\"\n aria-haspopup=\"listbox\"\n data-focus=\"false\"\n style=\"\n border-color: transparent;\n outline: 0px;\n cursor: default;\n user-select: none;\n font-size: 9px;\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu,\n Cantarell, 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', sans-serif;\n line-height: 12px;\n letter-spacing: -0.115px;\n text-transform: none;\n color: var(--color-text-primary);\n place-self: center stretch;\n grid-area: 1 / 2 / 2 / 3;\n z-index: 1;\n min-width: 16px;\n border-radius: 1px;\n height: calc(100% - 2px);\n text-align: center;\n background: transparent;\n box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px;\n border-width: 0px;\n margin: 1px;\n position: relative;\n right: 2px;\n display: grid;\n grid-template-columns: auto;\n grid-auto-flow: column;\n justify-content: unset;\n width: 100%;\n flex-grow: unset;\n padding: 0px;\n box-sizing: border-box;\n --component-icon-color: var(--color-text-secondary);\n align-items: center;\n border-style: solid;\n \"\n >\n <div\n data-legacy-styled=\"true\"\n style=\"\n justify-self: start;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n \"\n >\n PX\n <!--PX-->\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"axp-spacing-template-values\">\n @for(i of FixedValues; track $index){\n <div\n (click)=\"setSpacing(i.value, type, side)\"\n class=\"hover:!ax-bg-gradient-to-b hover:!ax-from-white/20 hover:!ax-to-white/5 !ax-cursor-pointer\"\n [class]=\"i.colspan ? 'ax-col-span-' + i.colspan : ''\"\n [class]=\"i.rowspan ? 'ax-row-span-' + i.rowspan : ''\"\n tabindex=\"0\"\n style=\"\n border-bottom-color: var(--color-border-1);\n border-left-color: var(--color-border-1);\n border-right-color: var(--color-border-1);\n border-top-color: var(--color-border-1);\n outline: 0px;\n cursor: default;\n user-select: none;\n padding: 0px;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--color-text-secondary);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n border-radius: 4px;\n color: var(--color-action-secondary-text);\n background: var(--color-action-secondary-background);\n border-width: 0px;\n border-style: solid;\n box-shadow: var(--box-shadows-action-secondary);\n align-self: center;\n \"\n >\n <div class=\"ax-truncate\">\n {{ i.label }}\n <span class=\"ax-text-xs ax-text-neutral-400\"> {{ units()[this.current().type][this.current().side] }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"ax-h-[1px] ax-mt-1 ax-mb-1 ax-bg-border-1 ax-pointer-events-none\"></div>\n\n <div\n [class.ax-opacity-50]=\"\n originalValues()[this.current().type][this.current().side] ===\n calculatedValues()[this.current().type][this.current().side]\n \"\n (click)=\"setSpacing(originalValues()[this.current().type][this.current().side], type, side)\"\n tabindex=\"0\"\n class=\"ax-outline-none ax-select-none ax-py-1 ax-px-2 ax-my-1 ax-min-h-6 ax-cursor-pointer hover:!ax-bg-[#404040]\"\n >\n <div class=\"ax-flex ax-flex-row ax-items-center\">\n <div class=\"ax-min-w-6 ax-self-center ax-grow ax-basis-0\">\n <div class=\"ax-items-center ax-box-border ax-grid ax-grid-cols-[16px_1fr_auto] ax-gap-x-2 ax-gap-y-1\">\n <div class=\"ax-size-4\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3.70712 5.00004L6.35357 2.35359L5.64646 1.64648L1.79291 5.50004L5.64646 9.35359L6.35357 8.64648L3.70712 6.00004H10C11.6569 6.00004 13 7.34318 13 9.00004C13 10.6569 11.6569 12 10 12H8.00001V13H10C12.2092 13 14 11.2092 14 9.00004C14 6.7909 12.2092 5.00004 10 5.00004H3.70712Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n <div>Reset</div>\n </div>\n </div>\n <div class=\"ax-self-center\">\n <div\n class=\"ax-cursor-default ax-select-none ax-text-[11.5px] ax-font-normal ax-leading-4 ax-tracking-tight ax-text-secondary ax-justify-self-end ax-ml-[1px]\"\n >\n <span><kbd>Ctrl</kbd> + <kbd>B</kbd></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ax-popover #popover [openOn]=\"'click'\" [offsetY]=\"10\" [closeOn]=\"'clickOut'\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{\n type: this.current().type,\n side: this.current().side,\n value: this.calculatedValues()[this.current().type][this.current().side]\n }\"\n ></ng-container>\n</ax-popover>\n", styles: [".axp-spacing-box{--color-text-secondary: rgba(255, 255, 255, .67);--color-ui-scrollbar-thumb: rgba(255, 255, 255, .67);--color-background-1: #292929;--color-text-secondary: white;--color-border-2: rgba(255, 255, 255, .16);--color-changed: rgb(167, 209, 255);--color-background: rgba(0, 106, 204, .18)}.axp-spacing-box .axp-spacing-inner-box{transform:scale(1.2);position:relative;display:grid;width:224px;height:112px;grid-template-columns:36px 1px 36px 1fr 36px 1px 36px;grid-template-rows:24px 2px 24px 1fr 24px 2px 24px;outline-style:none;cursor:default;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-value-container{pointer-events:none;border:none;outline:0px;cursor:default;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;place-self:center;padding:2px;height:auto;width:auto;font-family:inherit;font-size:inherit;position:relative;border-radius:4px;color:var(--color-text-secondary);background:transparent;box-sizing:border-box;box-shadow:none}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-value-container .axp-spacing-value-field{cursor:default;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;line-height:11px;letter-spacing:-.115px;display:flex;color:var(--color-text-secondary);background:transparent;padding:2px;margin:0;border-radius:2px;max-width:100%;box-sizing:content-box;place-self:center;position:relative;opacity:1;align-items:center;justify-content:center}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-margin-box{border-radius:4px;grid-area:1/1/-1/-1;display:grid;grid-template-columns:36px 1fr 36px;grid-template-rows:24px minmax(8px,1fr) 24px;justify-items:center;width:224px;height:112px}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-padding-box{border-radius:4px;grid-area:3/3/span 3/span 3;display:grid;grid-template-columns:36px 1fr 36px;grid-template-rows:24px minmax(8px,1fr) 24px;justify-items:center;width:150px;height:60px}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-padding-text{grid-area:3/3/span 3/span 3;pointer-events:none;position:relative}.axp-spacing-box .axp-spacing-inner-box .axp-spacing-margin-text{grid-area:1/1/-1/-1;pointer-events:none;position:relative}.axp-spacing-popup-container{--color-action-secondary-text: white;--color-action-secondary-background: linear-gradient( 180deg, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .11) 100% );--box-shadows-action-secondary: 0px .5px 1px rgba(0, 0, 0, .8), inset 0px .5px .5px rgba(255, 255, 255, .12);--color-border-1: rgba(255, 255, 255, .13);max-width:239px;min-width:201px;background:#353535;border-radius:.5rem;color:var(--color-text-secondary, white);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,sans-serif;font-size:11.5px;line-height:16px}.axp-spacing-popup-container .axp-spacing-popover{display:grid;grid-template-columns:16px 1fr 56px;grid-template-rows:24px 1fr;align-items:center;gap:8px;width:241px;padding:8px}.axp-spacing-popup-container .axp-spacing-popover .axp-spacing-template-values{display:grid;grid-area:2/1/3/-1;grid-template-columns:repeat(5,1fr);grid-template-rows:24px 24px;gap:4px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;outline:none;overflow:hidden;border-radius:12px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-webkit-slider-runnable-track{height:10px;background:#ccc;border-radius:12px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-moz-range-track{height:10px;background:#ccc;border-radius:12px}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:10px;width:10px;background-color:#fff;border-radius:50%;border:1px solid #353535;box-shadow:-407px 0 0 400px rgba(41,41,41,.44)}.axp-spacing-popup-container .axp-spacing-popover input[type=range]::-moz-range-thumb{height:10px;width:10px;background-color:#fff;border-radius:50%;border:1px solid #353535;box-shadow:-407px 0 0 400px rgba(41,41,41,.44)}.area{grid-area:1/1/-1/-1;overflow:hidden;border-radius:2px;filter:drop-shadow(rgba(255,255,255,.2) 0px -.5px 0px) drop-shadow(rgba(0,0,0,.4) 0px 0px 1px) drop-shadow(rgba(0,0,0,.2) 0px 1px 0px)}\n"] }]
8878
+ }] });
8879
+
8880
+ var spacingWidgetEditor_component = /*#__PURE__*/Object.freeze({
8881
+ __proto__: null,
8882
+ AXPSpacingWidgetEditComponent: AXPSpacingWidgetEditComponent
8883
+ });
8884
+
8885
+ const AXPSpacingWidget = {
8886
+ name: 'spacing',
8887
+ title: 'Box Spacing',
8888
+ description: 'Editing Elements Spacing',
8889
+ group: AXP_WIDGETS_EDITOR_GROUP,
8890
+ icon: 'fa-solid fa-box',
8891
+ type: 'editor',
8892
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, numberDefaultProperty()],
8893
+ components: {
8894
+ edit: {
8895
+ component: () => Promise.resolve().then(function () { return spacingWidgetEditor_component; }).then((c) => c.AXPSpacingWidgetEditComponent),
7896
8896
  },
7897
8897
  },
7898
8898
  visible: false,
@@ -7925,7 +8925,7 @@ class AXPCronJobWidgetEditComponent extends AXPWidgetComponent {
7925
8925
  this.setValue(e.data);
7926
8926
  }
7927
8927
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCronJobWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7928
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPCronJobWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ax-cron-job-container > </ax-cron-job-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXCronJobModule }, { kind: "component", type: i1$7.AXCronJobContainerComponent, selector: "ax-cron-job-container", outputs: ["onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8928
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPCronJobWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ax-cron-job-container > </ax-cron-job-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXCronJobModule }, { kind: "component", type: i1$9.AXCronJobContainerComponent, selector: "ax-cron-job-container", outputs: ["onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7929
8929
  }
7930
8930
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCronJobWidgetEditComponent, decorators: [{
7931
8931
  type: Component,
@@ -8073,7 +9073,7 @@ class AXPQrcodeWidgetViewComponent extends AXPWidgetComponent {
8073
9073
  >
8074
9074
  </ax-qrcode>
8075
9075
  }
8076
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXQrcodeModule }, { kind: "component", type: i1$8.AXQrcodeComponent, selector: "ax-qrcode", inputs: ["content", "size", "level", "color", "backgroundColor", "outputType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9076
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXQrcodeModule }, { kind: "component", type: i1$a.AXQrcodeComponent, selector: "ax-qrcode", inputs: ["content", "size", "level", "color", "backgroundColor", "outputType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8077
9077
  }
8078
9078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPQrcodeWidgetViewComponent, decorators: [{
8079
9079
  type: Component,
@@ -8228,7 +9228,7 @@ class AXPColorBoxWidgetEditComponent extends AXPWidgetComponent {
8228
9228
  <ax-clear-button></ax-clear-button>
8229
9229
  }
8230
9230
  </ax-color-box>
8231
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXColorBoxModule }, { kind: "component", type: i2$3.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9231
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXColorBoxModule }, { kind: "component", type: i2$5.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8232
9232
  }
8233
9233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPColorBoxWidgetEditComponent, decorators: [{
8234
9234
  type: Component,
@@ -8350,7 +9350,7 @@ const AXPColorBoxWidget = {
8350
9350
  ],
8351
9351
  components: {
8352
9352
  designer: {
8353
- component: () => import('./acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs').then((c) => c.AXPColorBoxWidgetDesignerComponent),
9353
+ component: () => import('./acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs').then((c) => c.AXPColorBoxWidgetDesignerComponent),
8354
9354
  },
8355
9355
  view: {
8356
9356
  component: () => Promise.resolve().then(function () { return colorBoxWidgetView_component; }).then((c) => c.AXPColorBoxWidgetViewComponent),
@@ -8370,6 +9370,108 @@ const AXPColorBoxWidget = {
8370
9370
  },
8371
9371
  };
8372
9372
 
9373
+ class AXPFilterOperationsComponent {
9374
+ constructor() {
9375
+ this.selectedOperation = model.required();
9376
+ this.type = input('string');
9377
+ this.operations = computed(() => this.getOperations());
9378
+ }
9379
+ getOperations() {
9380
+ switch (this.type()) {
9381
+ case 'string':
9382
+ return STRING_OPERATORS;
9383
+ case 'number':
9384
+ return NUMBER_OPERATORS;
9385
+ case 'boolean':
9386
+ return BOOLEAN_OPERATORS;
9387
+ case 'datetime':
9388
+ return DATE_OPERATORS;
9389
+ default:
9390
+ return ALL_DEFAULT_OPERATORS;
9391
+ }
9392
+ }
9393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFilterOperationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPFilterOperationsComponent, isStandalone: true, selector: "axp-filter-operations", inputs: { selectedOperation: { classPropertyName: "selectedOperation", publicName: "selectedOperation", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedOperation: "selectedOperationChange" }, ngImport: i0, template: "@if(operations().length){\n<ax-button #changeOperator look=\"blank\" color=\"default\" class=\"ax-sm\">\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\n</ax-button>\n<ax-popover\n #operatorsPopover\n [target]=\"changeOperator\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n>\n <div\n class=\"ax-max-h-max ax-overflow-auto ax-bg-surface ax-py-5 ax-px-3 ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <ax-selection-list\n class=\"\"\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedOperation\"\n (ngModelChange)=\"operatorsPopover.close()\"\n [direction]=\"'vertical'\"\n [items]=\"operations()\"\n [multiple]=\"false\"\n ></ax-selection-list>\n </div>\n</ax-popover>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i1$8.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { 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: AXSelectionListModule }, { kind: "component", type: i2$2.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9395
+ }
9396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFilterOperationsComponent, decorators: [{
9397
+ type: Component,
9398
+ args: [{ selector: 'axp-filter-operations', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXDecoratorModule, AXPopoverModule, AXButtonModule, AXSelectionListModule], template: "@if(operations().length){\n<ax-button #changeOperator look=\"blank\" color=\"default\" class=\"ax-sm\">\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"></ax-icon>\n</ax-button>\n<ax-popover\n #operatorsPopover\n [target]=\"changeOperator\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n>\n <div\n class=\"ax-max-h-max ax-overflow-auto ax-bg-surface ax-py-5 ax-px-3 ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <ax-selection-list\n class=\"\"\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedOperation\"\n (ngModelChange)=\"operatorsPopover.close()\"\n [direction]=\"'vertical'\"\n [items]=\"operations()\"\n [multiple]=\"false\"\n ></ax-selection-list>\n </div>\n</ax-popover>\n}\n" }]
9399
+ }] });
9400
+
9401
+ class AXPStringWidgetFilterComponent extends AXPWidgetComponent {
9402
+ constructor() {
9403
+ super(...arguments);
9404
+ this.operation = computed(() => this.getValue()?.operation || 'equal');
9405
+ this.value = computed(() => this.getValue()?.value);
9406
+ }
9407
+ handleValueChange(e) {
9408
+ if (e.isUserInteraction) {
9409
+ this.setValue({
9410
+ value: e.value,
9411
+ operation: this.operation(),
9412
+ });
9413
+ }
9414
+ }
9415
+ handleOperationChanged(e) {
9416
+ this.setValue({
9417
+ value: this.value(),
9418
+ operation: e,
9419
+ });
9420
+ }
9421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStringWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9422
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPStringWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
9423
+ <div class="ax-flex ax-items-center">
9424
+ <ax-text-box class="ax-flex-1" [ngModel]="value()" (onValueChanged)="handleValueChange($event)">
9425
+ <ax-clear-button></ax-clear-button>
9426
+ </ax-text-box>
9427
+ <axp-filter-operations
9428
+ [type]="'string'"
9429
+ [selectedOperation]="operation()"
9430
+ (selectedOperationChange)="handleOperationChanged($event)"
9431
+ ></axp-filter-operations>
9432
+ </div>
9433
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: 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: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXPFilterOperationsComponent, selector: "axp-filter-operations", inputs: ["selectedOperation", "type"], outputs: ["selectedOperationChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9434
+ }
9435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStringWidgetFilterComponent, decorators: [{
9436
+ type: Component,
9437
+ args: [{
9438
+ template: `
9439
+ <div class="ax-flex ax-items-center">
9440
+ <ax-text-box class="ax-flex-1" [ngModel]="value()" (onValueChanged)="handleValueChange($event)">
9441
+ <ax-clear-button></ax-clear-button>
9442
+ </ax-text-box>
9443
+ <axp-filter-operations
9444
+ [type]="'string'"
9445
+ [selectedOperation]="operation()"
9446
+ (selectedOperationChange)="handleOperationChanged($event)"
9447
+ ></axp-filter-operations>
9448
+ </div>
9449
+ `,
9450
+ standalone: true,
9451
+ changeDetection: ChangeDetectionStrategy.OnPush,
9452
+ imports: [CommonModule, AXTextBoxModule, FormsModule, AXFormModule, AXDecoratorModule, AXPFilterOperationsComponent],
9453
+ }]
9454
+ }] });
9455
+
9456
+ var stringFilterWidgetEdit_component = /*#__PURE__*/Object.freeze({
9457
+ __proto__: null,
9458
+ AXPStringWidgetFilterComponent: AXPStringWidgetFilterComponent
9459
+ });
9460
+
9461
+ const AXPStringFilterWidget = {
9462
+ name: 'string-filter',
9463
+ title: 'String Filter',
9464
+ icon: 'fa-solid fa-square',
9465
+ group: AXP_WIDGETS_FILTER_GROUP,
9466
+ type: 'filter',
9467
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
9468
+ components: {
9469
+ edit: {
9470
+ component: () => Promise.resolve().then(function () { return stringFilterWidgetEdit_component; }).then((c) => c.AXPStringWidgetFilterComponent),
9471
+ },
9472
+ },
9473
+ };
9474
+
8373
9475
  const AXPDocumentWidget = {
8374
9476
  name: 'document-layout',
8375
9477
  title: 'Document',
@@ -8401,7 +9503,7 @@ class AXPFormFieldWidgetViewComponent extends AXPWidgetComponent {
8401
9503
  <ng-container axp-widget-renderer [node]="node" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
8402
9504
  }
8403
9505
  </ax-form-field>
8404
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9506
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8405
9507
  }
8406
9508
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormFieldWidgetViewComponent, decorators: [{
8407
9509
  type: Component,
@@ -8455,7 +9557,7 @@ class AXPFormFieldWidgetDesignerComponent extends AXPWidgetComponent {
8455
9557
  <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>
8456
9558
  }
8457
9559
  </ax-form-field>
8458
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "locked", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetMiniButtonComponent, selector: "axp-designer-add-widget-mini-button", outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9560
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$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: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "locked", "mode", "node"] }, { kind: "component", type: AXPDesignerAddWidgetMiniButtonComponent, selector: "axp-designer-add-widget-mini-button", outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8459
9561
  }
8460
9562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormFieldWidgetDesignerComponent, decorators: [{
8461
9563
  type: Component,
@@ -8531,7 +9633,7 @@ class AXPGridWidgetViewComponent extends AXPWidgetComponent {
8531
9633
  <ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
8532
9634
  }
8533
9635
  </div>
8534
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9636
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8535
9637
  }
8536
9638
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridWidgetViewComponent, decorators: [{
8537
9639
  type: Component,
@@ -8741,7 +9843,7 @@ class AXPGridItemWidgetViewComponent extends AXPWidgetComponent {
8741
9843
  @for (child of children(); track $index) {
8742
9844
  <ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
8743
9845
  }
8744
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9846
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8745
9847
  }
8746
9848
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridItemWidgetViewComponent, decorators: [{
8747
9849
  type: Component,
@@ -8925,7 +10027,7 @@ class AXPGridRowWidgetViewComponent extends AXPWidgetComponent {
8925
10027
  <ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
8926
10028
  }
8927
10029
  </div>
8928
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10030
+ `, 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"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8929
10031
  }
8930
10032
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridRowWidgetViewComponent, decorators: [{
8931
10033
  type: Component,
@@ -9160,7 +10262,7 @@ const AXPTextBlockWidget = {
9160
10262
 
9161
10263
  class AXPWidgetsModule {
9162
10264
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9163
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, imports: [i1$6.AXPLayoutBuilderModule] }); }
10265
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, imports: [i1$7.AXPLayoutBuilderModule] }); }
9164
10266
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, imports: [AXPLayoutBuilderModule.forChild({
9165
10267
  widgets: [
9166
10268
  AXPDocumentWidget,
@@ -9192,11 +10294,15 @@ class AXPWidgetsModule {
9192
10294
  AXPGalleryWidget,
9193
10295
  AXPToggleWidget,
9194
10296
  AXPColorBoxWidget,
10297
+ AXPAvatarWidget,
9195
10298
  //
9196
10299
  AXPButtonWidget,
9197
10300
  //
9198
10301
  AXPSpacingWidget,
9199
10302
  AXPBorderWidget,
10303
+ //
10304
+ AXPStringFilterWidget,
10305
+ AXPFlexOptionsWidget,
9200
10306
  ],
9201
10307
  })] }); }
9202
10308
  }
@@ -9235,11 +10341,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9235
10341
  AXPGalleryWidget,
9236
10342
  AXPToggleWidget,
9237
10343
  AXPColorBoxWidget,
10344
+ AXPAvatarWidget,
9238
10345
  //
9239
10346
  AXPButtonWidget,
9240
10347
  //
9241
10348
  AXPSpacingWidget,
9242
10349
  AXPBorderWidget,
10350
+ //
10351
+ AXPStringFilterWidget,
10352
+ AXPFlexOptionsWidget,
9243
10353
  ],
9244
10354
  }),
9245
10355
  ],
@@ -9252,5 +10362,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9252
10362
  * Generated bundle index. Do not edit.
9253
10363
  */
9254
10364
 
9255
- export { AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, 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, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_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_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_COL_END_PROPERTY, AXP_LAYOUT_COL_SPAN_PROPERTY, AXP_LAYOUT_COL_START_PROPERTY, AXP_LAYOUT_FLEX_ALIGN_PROPERTY, AXP_LAYOUT_FLEX_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY, AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_FLEX_PROPERTY_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_LAYOUT_SPACING_PROPERTY, AXP_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY, AXP_VALUE_FIELD_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, booleanDefaultProperty, largeTextDefaultProperty, numberDefaultProperty, plainTextDefaultProperty };
10365
+ export { AXPAvatarWidget, AXPAvatarWidgetColumnComponent, AXPAvatarWidgetDesignerComponent, AXPAvatarWidgetEditComponent, AXPAvatarWidgetPrintComponent, AXPAvatarWidgetViewComponent, AXPBlockWidget, AXPBlockWidgetDesignerComponent, AXPBlockWidgetViewComponent, AXPBorderWidget, AXPBorderWidgetEditComponent, 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, AXPFlexOptionsWidget, AXPFlexOptionsWidgetEditComponent, 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, AXPPropertyEditorHelper, 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, AXPSpacingWidget, AXPSpacingWidgetEditComponent, AXPTextBoxWidget, AXPTextBoxWidgetColumnComponent, AXPTextBoxWidgetEditComponent, AXPTextBoxWidgetFilterComponent, AXPTextBoxWidgetPrintComponent, AXPTextBoxWidgetViewComponent, AXPToggleWidget, AXPToggleWidgetColumnComponent, AXPToggleWidgetEditComponent, AXPToggleWidgetFilterComponent, AXPToggleWidgetPrintComponent, AXPToggleWidgetViewComponent, AXPWidgetsModule, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_Flex_Align, AXP_Flex_Justify, AXP_Flex_Sides, 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_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_COL_END_PROPERTY, AXP_LAYOUT_COL_SPAN_PROPERTY, AXP_LAYOUT_COL_START_PROPERTY, AXP_LAYOUT_FLEX_ALIGN_PROPERTY, AXP_LAYOUT_FLEX_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY, AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY, AXP_VALUE_FIELD_PROPERTY, AXP_WIDGET_PROPERTY_GROUP, AXP_default_Border_Box_Units, AXP_default_Border_Box_Value, AXP_default_Spacing_Box_Units, AXP_default_Spacing_Box_Value, booleanDefaultProperty, largeTextDefaultProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty };
9256
10366
  //# sourceMappingURL=acorex-platform-widgets.mjs.map