@acorex/platform 19.1.3 → 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 (145) hide show
  1. package/common/index.d.ts +1 -0
  2. package/common/lib/app/application.types.d.ts +2 -2
  3. package/common/lib/file-storage/file-storage.service.d.ts +13 -0
  4. package/common/lib/file-storage/file-storage.types.d.ts +143 -0
  5. package/common/lib/file-storage/index.d.ts +2 -0
  6. package/common/lib/filters/filters.types.d.ts +2 -1
  7. package/common/lib/settings/setting-definition.provider.d.ts +12 -5
  8. package/common/lib/settings/setting.builder.d.ts +4 -3
  9. package/common/lib/settings/settings.provider.d.ts +2 -7
  10. package/common/lib/settings/settings.service.d.ts +19 -7
  11. package/common/lib/settings/settings.types.d.ts +15 -2
  12. package/core/utils/highlighter.d.ts +1 -1
  13. package/fesm2022/acorex-platform-common.mjs +194 -74
  14. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-core.mjs +2 -2
  16. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-builder.mjs +245 -444
  18. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-designer.mjs +13 -13
  20. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-entity.mjs +59 -54
  22. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-filters.mjs +82 -5
  24. package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-setting.mjs +73 -91
  26. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layouts.mjs +3 -4
  28. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-K9B_-q_K.mjs +108 -0
  30. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-K9B_-q_K.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs +369 -0
  32. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DAmHq1bt.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Cd2gxLZt.mjs +87 -0
  34. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Cd2gxLZt.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-6sZdw013.mjs +130 -0
  36. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-6sZdw013.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-themes-default-setting-page.component-BYpCgHZb.mjs +74 -0
  38. package/fesm2022/acorex-platform-themes-default-setting-page.component-BYpCgHZb.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-themes-default-setting-view.component-CdmIphX1.mjs +73 -0
  40. package/fesm2022/acorex-platform-themes-default-setting-view.component-CdmIphX1.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-themes-default.mjs +20 -20
  42. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-themes-shared.mjs +288 -81
  44. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  45. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs → acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs} +18 -14
  46. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs → acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs} +4 -4
  48. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs.map} +1 -1
  49. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs +64 -0
  50. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs → acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs} +4 -4
  52. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-widgets.mjs +1309 -334
  54. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-workflow.mjs +9 -3
  56. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  57. package/layout/builder/lib/builder/builder.module.d.ts +6 -7
  58. package/layout/builder/lib/builder/builder.service.d.ts +9 -10
  59. package/layout/builder/lib/builder/context-store.service.d.ts +33 -0
  60. package/layout/builder/lib/builder/index.d.ts +4 -2
  61. package/layout/builder/lib/builder/widget-catalog.d.ts +1 -1
  62. package/layout/builder/lib/builder/widget-container.component.d.ts +34 -9
  63. package/layout/builder/lib/builder/widget-groups.d.ts +1 -0
  64. package/layout/builder/lib/builder/widget-map.d.ts +43 -0
  65. package/layout/builder/lib/builder/{widget-renderer.component.directive.d.ts → widget-renderer.directive.d.ts} +26 -0
  66. package/layout/builder/lib/builder/widget-status.types.d.ts +14 -0
  67. package/layout/builder/lib/builder/widget.types.d.ts +41 -55
  68. package/layout/designer/lib/preview/preview-viewer.component.d.ts +2 -2
  69. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +2 -2
  70. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +7 -2
  71. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +0 -1
  72. package/layout/filters/lib/filters.viewmodel.d.ts +13 -3
  73. package/layout/setting/lib/convert-setting-data.d.ts +0 -20
  74. package/layout/setting/lib/setting.viewmodel.d.ts +65 -4
  75. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +15 -5
  76. package/package.json +15 -15
  77. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +15 -5
  78. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +15 -5
  79. package/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.d.ts +2 -1
  80. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +17 -6
  81. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-filters/list-view-option-filters.component.d.ts +6 -3
  82. package/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.d.ts +2 -1
  83. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +15 -5
  84. package/themes/default/lib/layouts/filters-layout/simple-filter-builder/filters-view.component.d.ts +6 -5
  85. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +15 -5
  86. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +15 -5
  87. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +0 -47
  88. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +19 -5
  89. package/themes/shared/index.d.ts +3 -1
  90. package/themes/shared/lib/components/theme-slot.component.d.ts +23 -13
  91. package/themes/shared/lib/palette.provider.d.ts +9 -0
  92. package/themes/shared/lib/setting.keys.d.ts +7 -2
  93. package/themes/shared/lib/setting.provider.d.ts +1 -0
  94. package/themes/shared/lib/shared.module.d.ts +2 -1
  95. package/themes/shared/lib/{services/theme.service.d.ts → theme.service.d.ts} +16 -24
  96. package/themes/shared/lib/theme.types.d.ts +25 -0
  97. package/themes/shared/lib/widgets/theme-color-selection/index.d.ts +2 -0
  98. package/themes/shared/lib/widgets/theme-color-selection/theme-color-selection-widget-edit.component.d.ts +6 -0
  99. package/themes/shared/lib/widgets/theme-color-selection/theme-color-selection-widget.config.d.ts +7 -0
  100. package/widgets/lib/properties/layout.props.d.ts +1 -0
  101. package/widgets/lib/widgets/advance/avatar/avatar-widget-column.component.d.ts +6 -0
  102. package/widgets/lib/widgets/advance/avatar/avatar-widget-designer.component.d.ts +6 -0
  103. package/widgets/lib/widgets/advance/avatar/avatar-widget-edit.component.d.ts +18 -0
  104. package/widgets/lib/widgets/advance/avatar/avatar-widget-print.component.d.ts +6 -0
  105. package/widgets/lib/widgets/advance/avatar/avatar-widget-view.component.d.ts +6 -0
  106. package/widgets/lib/widgets/advance/avatar/avatar-widget.config.d.ts +7 -0
  107. package/widgets/lib/widgets/advance/avatar/index.d.ts +6 -0
  108. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +9 -5
  109. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +6 -4
  110. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -7
  111. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +0 -2
  112. package/widgets/lib/widgets/filters/operations/operations.component.d.ts +9 -0
  113. package/widgets/lib/widgets/filters/string-filter/index.d.ts +2 -0
  114. package/widgets/lib/widgets/filters/string-filter/string-filter-widget-edit.component.d.ts +11 -0
  115. package/widgets/lib/widgets/filters/string-filter/string-filter-widget.config.d.ts +7 -0
  116. package/widgets/lib/widgets/index.d.ts +5 -1
  117. package/widgets/lib/widgets/property-editors/border/border-widget-editor.component.d.ts +29 -7
  118. package/widgets/lib/widgets/property-editors/border/index.d.ts +0 -1
  119. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +31 -0
  120. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget.config.d.ts +7 -0
  121. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget.type.d.ts +15 -0
  122. package/widgets/lib/widgets/property-editors/flex-options/index.d.ts +3 -0
  123. package/widgets/lib/widgets/property-editors/property-editor-helper.d.ts +72 -0
  124. package/widgets/lib/widgets/property-editors/property-editor.type.d.ts +35 -0
  125. package/widgets/lib/widgets/property-editors/spacing/index.d.ts +0 -1
  126. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +11 -9
  127. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs +0 -108
  128. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CSyR4pYp.mjs.map +0 -1
  129. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs +0 -368
  130. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-xHWp2Lk-.mjs.map +0 -1
  131. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs +0 -87
  132. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-n7mYNduJ.mjs.map +0 -1
  133. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs +0 -130
  134. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DjyYU0Gy.mjs.map +0 -1
  135. package/fesm2022/acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs +0 -78
  136. package/fesm2022/acorex-platform-themes-default-setting-page.component-6Dd8MGqr.mjs.map +0 -1
  137. package/fesm2022/acorex-platform-themes-default-setting-view.component-BgiMClew.mjs +0 -58
  138. package/fesm2022/acorex-platform-themes-default-setting-view.component-BgiMClew.mjs.map +0 -1
  139. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-05nKV-UV.mjs.map +0 -1
  140. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs +0 -72
  141. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BkWcZ4K9.mjs.map +0 -1
  142. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs.map +0 -1
  143. package/layout/builder/lib/builder/widget-renderer.component.d.ts +0 -48
  144. package/widgets/lib/widgets/property-editors/border/border-widget-type.d.ts +0 -18
  145. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-type.d.ts +0 -16
@@ -1,4 +1,4 @@
1
- import * as i1$3 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';
@@ -7,68 +7,71 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
7
7
  import * as i4 from '@acorex/components/loading';
8
8
  import { AXLoadingModule } from '@acorex/components/loading';
9
9
  import * as i1$7 from '@acorex/platform/layout/builder';
10
- import { AXPWidgetComponent, AXPWidgetsCatalog, 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$2 from '@angular/common';
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, NgZone, viewChild, 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
16
  import * as i1 from '@acorex/components/check-box';
17
17
  import { AXCheckBoxModule } from '@acorex/components/check-box';
18
18
  import * as i3$1 from '@acorex/components/form';
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
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$1 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
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$4 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
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$5 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$5 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
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$8 from '@acorex/components/popover';
65
- import { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
66
- import * as i4$3 from '@acorex/components/range-slider';
67
- import { AXRangeSliderModule } from '@acorex/components/range-slider';
68
- import * as i5$3 from '@acorex/components/button-group';
67
+ import * as i4$2 from '@acorex/components/button-group';
69
68
  import { AXButtonGroupModule } from '@acorex/components/button-group';
70
- import * as i2$3 from '@acorex/components/color-box';
69
+ import * as i2$5 from '@acorex/components/color-box';
71
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';
72
75
  import * as i1$9 from '@acorex/components/cron-job';
73
76
  import { AXCronJobModule } from '@acorex/components/cron-job';
74
77
  import * as i1$a from '@acorex/components/qrcode';
@@ -855,18 +858,8 @@ const AXP_LAYOUT_SPACING_PROPERTY = {
855
858
  schema: {
856
859
  dataType: 'object',
857
860
  defaultValue: {
858
- margin: {
859
- top: 0,
860
- left: 0,
861
- bottom: 0,
862
- right: 0,
863
- },
864
- padding: {
865
- top: 0,
866
- left: 0,
867
- bottom: 0,
868
- right: 0,
869
- },
861
+ margin: '0px 0px 0px 0px',
862
+ padding: '0px 0px 0px 0px',
870
863
  },
871
864
  interface: {
872
865
  name: 'spacing',
@@ -884,10 +877,10 @@ const AXP_LAYOUT_BORDER_PROPERTY = {
884
877
  schema: {
885
878
  dataType: 'object',
886
879
  defaultValue: {
887
- dimensions: { top: 0, left: 0, bottom: 0, right: 0 },
888
- radius: { 'top-left': 0, 'top-right': 0, 'bottom-right': 0, 'bottom-left': 0 },
889
- colors: { top: 'transparent', left: 'transparent', bottom: 'transparent', right: 'transparent' },
890
- 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',
891
884
  },
892
885
  interface: {
893
886
  name: 'border',
@@ -898,6 +891,21 @@ const AXP_LAYOUT_BORDER_PROPERTY = {
898
891
  },
899
892
  visible: true,
900
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
+ };
901
909
 
902
910
  const AXP_TABLE_COLUMN_WIDTH_PROPERTY = {
903
911
  name: 'width',
@@ -985,7 +993,7 @@ class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent {
985
993
  <ax-label>{{ label() }}</ax-label>
986
994
  }
987
995
  </ax-check-box>
988
- `, 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: 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$1.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 }); }
989
997
  }
990
998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCheckBoxWidgetEditComponent, decorators: [{
991
999
  type: Component,
@@ -1040,10 +1048,10 @@ const AXPCheckBoxWidget = {
1040
1048
  ],
1041
1049
  components: {
1042
1050
  designer: {
1043
- component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
1051
+ component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
1044
1052
  },
1045
1053
  view: {
1046
- 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),
1047
1055
  },
1048
1056
  edit: {
1049
1057
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
@@ -1052,7 +1060,7 @@ const AXPCheckBoxWidget = {
1052
1060
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
1053
1061
  },
1054
1062
  column: {
1055
- 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),
1056
1064
  },
1057
1065
  filter: {
1058
1066
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
@@ -1139,7 +1147,7 @@ class popupComponent extends AXBasePageComponent {
1139
1147
  <ax-button [text]="'apply' | translate | async" color="primary" (onClick)="handleClose(form)"></ax-button>
1140
1148
  </ax-suffix>
1141
1149
  </ax-footer>
1142
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1$1.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.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$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"] }] }); }
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"] }] }); }
1143
1151
  }
1144
1152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: popupComponent, decorators: [{
1145
1153
  type: Component,
@@ -1383,7 +1391,7 @@ class AXPContactWidgetEditComponent extends AXPWidgetComponent {
1383
1391
  </ax-prefix>
1384
1392
  </ax-button>
1385
1393
  }
1386
- </div> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$2.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$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$1.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 }); }
1387
1395
  }
1388
1396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPContactWidgetEditComponent, decorators: [{
1389
1397
  type: Component,
@@ -1459,7 +1467,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1459
1467
  AXValidationModule,
1460
1468
  AXTranslationModule,
1461
1469
  ],
1462
- inputs: []
1463
1470
  }]
1464
1471
  }], ctorParameters: () => [], propDecorators: { __class: [{
1465
1472
  type: HostBinding,
@@ -1563,7 +1570,7 @@ class AXPContactWidgetViewComponent extends AXPWidgetComponent {
1563
1570
  }
1564
1571
  </div>
1565
1572
  }
1566
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
1567
1574
  }
1568
1575
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPContactWidgetViewComponent, decorators: [{
1569
1576
  type: Component,
@@ -1819,7 +1826,7 @@ class AXPDateTimeBoxWidgetEditComponent extends AXPWidgetComponent {
1819
1826
  ></ax-button>
1820
1827
  }
1821
1828
  </div>
1822
- `, 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$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 }); }
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 }); }
1823
1830
  }
1824
1831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPDateTimeBoxWidgetEditComponent, decorators: [{
1825
1832
  type: Component,
@@ -2084,7 +2091,7 @@ class AXPEmailBoxWidgetViewComponent extends AXPWidgetComponent {
2084
2091
  }
2085
2092
  </ng-template>
2086
2093
  </div>
2087
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
2088
2095
  }
2089
2096
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEmailBoxWidgetViewComponent, decorators: [{
2090
2097
  type: Component,
@@ -2284,7 +2291,7 @@ class AXPEmailBoxWidgetEditComponent extends AXPWidgetComponent {
2284
2291
  }
2285
2292
  }
2286
2293
  </div>
2287
- `, 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$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 }); }
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 }); }
2288
2295
  }
2289
2296
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEmailBoxWidgetEditComponent, decorators: [{
2290
2297
  type: Component,
@@ -2587,7 +2594,7 @@ class AXPLargeTextWidgetEditComponent extends AXPWidgetComponent {
2587
2594
  ></ax-validation-rule>
2588
2595
  }
2589
2596
  </ax-text-area>
2590
- `, 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$1.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 }); }
2591
2598
  }
2592
2599
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLargeTextWidgetEditComponent, decorators: [{
2593
2600
  type: Component,
@@ -2787,7 +2794,7 @@ class AXPLinkWidgetViewComponent extends AXPWidgetComponent {
2787
2794
  </div>
2788
2795
  }
2789
2796
  </ng-template>
2790
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
2791
2798
  }
2792
2799
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLinkWidgetViewComponent, decorators: [{
2793
2800
  type: Component,
@@ -3102,7 +3109,7 @@ class AXPLinkWidgetEditComponent extends AXPWidgetComponent {
3102
3109
  >
3103
3110
  </ax-select-box>
3104
3111
  } }
3105
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.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$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 }); }
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 }); }
3106
3113
  }
3107
3114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPLinkWidgetEditComponent, decorators: [{
3108
3115
  type: Component,
@@ -3367,20 +3374,8 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent {
3367
3374
  this.maxValue = computed(() => this.options()['maxValue']);
3368
3375
  this.seprator = computed(() => this.options()['seprator'] ?? null);
3369
3376
  this.placeholder = computed(() => this.options()['placeholder']);
3370
- this.validationService = inject(AXValidationService);
3371
- this.validationRules = [];
3377
+ this.validationRules = computed(() => this.options()["validationRules"] ?? []);
3372
3378
  this.internalValue = computed(() => Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]);
3373
- this.validateFn = async (value, options) => {
3374
- const vn = this.validationService.ruleFor(value);
3375
- this.validationRules.forEach((v) => {
3376
- const options = { ...v.options };
3377
- if (v.message)
3378
- options.message = v.message;
3379
- vn.addRule(v.rule, options);
3380
- });
3381
- const a = await vn.validate();
3382
- return { result: a.result, message: a.rules.find((c) => !c.result)?.message };
3383
- };
3384
3379
  }
3385
3380
  handleValueChange(e, i) {
3386
3381
  if (e.isUserInteraction) {
@@ -3421,7 +3416,9 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent {
3421
3416
  (onValueChanged)="handleValueChange($event, $index)"
3422
3417
  [disabled]="disabled()"
3423
3418
  >
3424
- <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
+ }
3425
3422
  @if(clearButton()) {
3426
3423
  <ax-clear-button></ax-clear-button>
3427
3424
  } @if(multiple()){
@@ -3446,7 +3443,7 @@ class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent {
3446
3443
  </ax-button>
3447
3444
  }
3448
3445
  </div>
3449
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$4.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$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 }); }
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 }); }
3450
3447
  }
3451
3448
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPNumberBoxWidgetEditComponent, decorators: [{
3452
3449
  type: Component,
@@ -3465,7 +3462,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
3465
3462
  (onValueChanged)="handleValueChange($event, $index)"
3466
3463
  [disabled]="disabled()"
3467
3464
  >
3468
- <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
+ }
3469
3468
  @if(clearButton()) {
3470
3469
  <ax-clear-button></ax-clear-button>
3471
3470
  } @if(multiple()){
@@ -3721,7 +3720,7 @@ class AXPPasswordBoxWidgetEditComponent extends AXPWidgetComponent {
3721
3720
  <ax-clear-button></ax-clear-button>
3722
3721
  }
3723
3722
  </ax-password-box>
3724
- `, 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$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 }); }
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 }); }
3725
3724
  }
3726
3725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPasswordBoxWidgetEditComponent, decorators: [{
3727
3726
  type: Component,
@@ -3939,7 +3938,7 @@ class AXPPhoneBoxWidgetViewComponent extends AXPWidgetComponent {
3939
3938
  </ng-container>
3940
3939
  </ng-template>
3941
3940
  </div>
3942
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
3943
3942
  }
3944
3943
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPhoneBoxWidgetViewComponent, decorators: [{
3945
3944
  type: Component,
@@ -4118,7 +4117,7 @@ class AXPPhoneBoxWidgetEditComponent extends AXPWidgetComponent {
4118
4117
  </ax-prefix>
4119
4118
  </ax-button>
4120
4119
  </div>
4121
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.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$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 }); }
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 }); }
4122
4121
  }
4123
4122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPhoneBoxWidgetEditComponent, decorators: [{
4124
4123
  type: Component,
@@ -4389,8 +4388,8 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4389
4388
  constructor() {
4390
4389
  super(...arguments);
4391
4390
  this.placeholder = computed(() => this.options()['placeholder']);
4392
- this.disabled = computed(() => this.options()["disabled"]);
4393
- this.validationRules = computed(() => this.options()["validationRules"] ?? []);
4391
+ this.disabled = computed(() => this.options()['disabled']);
4392
+ this.validationRules = computed(() => this.options()['validationRules'] ?? []);
4394
4393
  this.eff = effect(() => {
4395
4394
  console.log(this.getValue());
4396
4395
  });
@@ -4414,13 +4413,26 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4414
4413
  (onValueChanged)="setWysiwyg($event)"
4415
4414
  >
4416
4415
  <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
4417
- <ax-wysiwyg-toolbar>
4416
+ <!-- <ax-wysiwyg-toolbar>
4418
4417
  <ax-wysiwyg-history></ax-wysiwyg-history>
4419
4418
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4420
4419
  <ax-wysiwyg-colors></ax-wysiwyg-colors>
4421
4420
  <ax-wysiwyg-list></ax-wysiwyg-list>
4422
4421
  <ax-wysiwyg-alignment></ax-wysiwyg-alignment>
4423
- </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>
4424
4436
  @for (validation of validationRules(); track $index) {
4425
4437
  <ax-validation-rule
4426
4438
  [rule]="validation.rule"
@@ -4428,7 +4440,7 @@ class AXPRichTextWidgetEditComponent extends AXPWidgetComponent {
4428
4440
  [options]="validation.options"
4429
4441
  ></ax-validation-rule>
4430
4442
  }
4431
- </ax-wysiwyg-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i1$5.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "placeHolder"], outputs: ["onValueChanged"] }, { kind: "component", type: i1$5.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i1$5.AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar" }, { kind: "component", type: i1$5.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i1$5.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i1$5.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i1$5.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i1$5.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
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 }); }
4432
4444
  }
4433
4445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRichTextWidgetEditComponent, decorators: [{
4434
4446
  type: Component,
@@ -4441,13 +4453,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4441
4453
  (onValueChanged)="setWysiwyg($event)"
4442
4454
  >
4443
4455
  <ax-wysiwyg-view class="ax-min-h-28"></ax-wysiwyg-view>
4444
- <ax-wysiwyg-toolbar>
4456
+ <!-- <ax-wysiwyg-toolbar>
4445
4457
  <ax-wysiwyg-history></ax-wysiwyg-history>
4446
4458
  <ax-wysiwyg-font-style></ax-wysiwyg-font-style>
4447
4459
  <ax-wysiwyg-colors></ax-wysiwyg-colors>
4448
4460
  <ax-wysiwyg-list></ax-wysiwyg-list>
4449
4461
  <ax-wysiwyg-alignment></ax-wysiwyg-alignment>
4450
- </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>
4451
4476
  @for (validation of validationRules(); track $index) {
4452
4477
  <ax-validation-rule
4453
4478
  [rule]="validation.rule"
@@ -4458,7 +4483,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4458
4483
  </ax-wysiwyg-container>`,
4459
4484
  encapsulation: ViewEncapsulation.None,
4460
4485
  changeDetection: ChangeDetectionStrategy.OnPush,
4461
- imports: [CommonModule, AXWysiwygModule, AXValidationModule, AXFormModule, FormsModule]
4486
+ imports: [
4487
+ CommonModule,
4488
+ AXDecoratorModule,
4489
+ AXWysiwygModule,
4490
+ AXToolBarModule,
4491
+ AXValidationModule,
4492
+ AXFormModule,
4493
+ FormsModule,
4494
+ ],
4462
4495
  }]
4463
4496
  }], propDecorators: { __class: [{
4464
4497
  type: HostBinding,
@@ -4613,7 +4646,7 @@ class AXPSelectBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
4613
4646
  @for (item of internalValue(); track $index) {
4614
4647
  <ax-badge [look]="'twotone'" [text]="item[this.textField]" color="primary"></ax-badge>
4615
4648
  }
4616
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
4617
4650
  }
4618
4651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectBoxWidgetColumnComponent, decorators: [{
4619
4652
  type: Component,
@@ -4696,7 +4729,7 @@ class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent {
4696
4729
  ></ax-validation-rule>
4697
4730
  }
4698
4731
  </ax-select-box>
4699
- `, 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$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 }); }
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 }); }
4700
4733
  }
4701
4734
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectBoxWidgetEditComponent, decorators: [{
4702
4735
  type: Component,
@@ -4814,7 +4847,7 @@ class AXPSelectBoxWidgetViewComponent extends AXPWidgetComponent {
4814
4847
  @for (item of internalValue(); track $index) {
4815
4848
  <ax-badge [look]="'twotone'" [text]="item.text" color="primary"></ax-badge>
4816
4849
  }
4817
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
4818
4851
  }
4819
4852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectBoxWidgetViewComponent, decorators: [{
4820
4853
  type: Component,
@@ -4907,7 +4940,7 @@ class AXPSelectionListWidgetViewComponent extends AXPWidgetComponent {
4907
4940
  @for (item of internalValue(); track $index) {
4908
4941
  <ax-badge [look]="'twotone'" [text]="item[this.textField()]" color="primary"></ax-badge>
4909
4942
  }
4910
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
4911
4944
  }
4912
4945
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetViewComponent, decorators: [{
4913
4946
  type: Component,
@@ -4979,7 +5012,7 @@ class AXPSelectionListWidgetDesignerComponent extends AXPDataListWidgetComponent
4979
5012
  [readonly]="readonly()"
4980
5013
  >
4981
5014
  </ax-selection-list>
4982
- `, 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 }); }
4983
5016
  }
4984
5017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetDesignerComponent, decorators: [{
4985
5018
  type: Component,
@@ -5064,7 +5097,7 @@ class AXPSelectionListWidgetEditComponent extends AXPDataListWidgetComponent {
5064
5097
  ></ax-validation-rule>
5065
5098
  }
5066
5099
  </ax-selection-list>
5067
- `, 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$1.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 }); }
5068
5101
  }
5069
5102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetEditComponent, decorators: [{
5070
5103
  type: Component,
@@ -5155,7 +5188,7 @@ class AXPSelectionListWidgetColumnComponent extends AXPColumnWidgetComponent {
5155
5188
  } }@else {
5156
5189
  <ax-badge [look]="'twotone'" [text]="firstItem()[this.textField]" color="primary"></ax-badge>
5157
5190
  }
5158
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$3.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 }); }
5159
5192
  }
5160
5193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectionListWidgetColumnComponent, decorators: [{
5161
5194
  type: Component,
@@ -5353,7 +5386,7 @@ class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent {
5353
5386
  </ax-button>
5354
5387
  }
5355
5388
  </div>
5356
- `, 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$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 }); }
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 }); }
5357
5390
  }
5358
5391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextBoxWidgetEditComponent, decorators: [{
5359
5392
  type: Component,
@@ -5470,6 +5503,7 @@ const AXPTextBoxWidget = {
5470
5503
  description: 'Inputs single-line text',
5471
5504
  group: AXP_WIDGETS_EDITOR_GROUP,
5472
5505
  type: 'editor',
5506
+ defaultFilterWidgetName: 'string-filter',
5473
5507
  properties: [
5474
5508
  AXP_NAME_PROPERTY,
5475
5509
  AXP_DATA_PATH_PROPERTY,
@@ -5511,41 +5545,39 @@ class AXPToggleWidgetViewComponent extends AXPWidgetComponent {
5511
5545
  this.trulyText = computed(() => this.options()['trulyText']);
5512
5546
  }
5513
5547
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5514
- 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: `
5515
- @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()) {
5516
5549
  <ax-badge [text]="trulyText()" [color]="negative() ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5517
5550
  } @else { @if(negative()) {
5518
- <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>
5519
5552
  } @else {
5520
5553
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5521
5554
  } } }@else { @if(falsyText()) {
5522
5555
  <ax-badge [text]="falsyText()" [color]="negative() ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5523
5556
  } @else { @if(negative()) {
5524
- <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>
5525
5558
  }@else {
5526
5559
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5527
- } } }`, 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$3.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 }); }
5528
5561
  }
5529
5562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetViewComponent, decorators: [{
5530
5563
  type: Component,
5531
5564
  args: [{
5532
5565
  selector: 'axp-switch-widget-view',
5533
- template: `
5534
- @if(getValue()){ @if(trulyText()) {
5566
+ template: ` @if(getValue()){ @if(trulyText()) {
5535
5567
  <ax-badge [text]="trulyText()" [color]="negative() ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5536
5568
  } @else { @if(negative()) {
5537
- <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>
5538
5570
  } @else {
5539
5571
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5540
5572
  } } }@else { @if(falsyText()) {
5541
5573
  <ax-badge [text]="falsyText()" [color]="negative() ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5542
5574
  } @else { @if(negative()) {
5543
- <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>
5544
5576
  }@else {
5545
5577
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5546
5578
  } } }`,
5547
5579
  changeDetection: ChangeDetectionStrategy.OnPush,
5548
- imports: [CommonModule, AXDecoratorModule, AXBadgeModule]
5580
+ imports: [CommonModule, AXDecoratorModule, AXBadgeModule],
5549
5581
  }]
5550
5582
  }] });
5551
5583
 
@@ -5560,13 +5592,12 @@ class AXPToggleWidgetEditComponent extends AXPWidgetComponent {
5560
5592
  this.disabled = computed(() => this.options()['disabled']);
5561
5593
  this.readonly = computed(() => this.options()['readonly']);
5562
5594
  this.label = computed(() => this.options()['label']);
5563
- this.validationRules = computed(() => this.options()['validationRules'] ?? []);
5564
5595
  this.color = computed(() => this.options()['color']?.id ?? 'primary');
5565
5596
  }
5566
5597
  get __class() {
5567
5598
  const cls = {};
5568
5599
  //
5569
- cls['ax-inline'] = true;
5600
+ cls['ax-inline-block'] = true;
5570
5601
  return cls;
5571
5602
  }
5572
5603
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -5578,21 +5609,14 @@ class AXPToggleWidgetEditComponent extends AXPWidgetComponent {
5578
5609
  [readonly]="readonly()"
5579
5610
  [color]="color()"
5580
5611
  (onValueChanged)="handleValueChanged($event)">
5581
- @for (validation of validationRules(); track $index) {
5582
- <ax-validation-rule
5583
- [rule]="validation.rule"
5584
- [message]="validation.options?.message"
5585
- [options]="validation.options"
5586
- >
5587
- </ax-validation-rule>
5588
- }
5612
+
5589
5613
  </ax-switch>
5590
5614
  @if(label())
5591
5615
  {
5592
5616
  <ax-label [textContent]="label()"></ax-label>
5593
5617
  }
5594
5618
  </div>
5595
- `, 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$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i3$5.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 }); }
5596
5620
  }
5597
5621
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetEditComponent, decorators: [{
5598
5622
  type: Component,
@@ -5606,14 +5630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5606
5630
  [readonly]="readonly()"
5607
5631
  [color]="color()"
5608
5632
  (onValueChanged)="handleValueChanged($event)">
5609
- @for (validation of validationRules(); track $index) {
5610
- <ax-validation-rule
5611
- [rule]="validation.rule"
5612
- [message]="validation.options?.message"
5613
- [options]="validation.options"
5614
- >
5615
- </ax-validation-rule>
5616
- }
5633
+
5617
5634
  </ax-switch>
5618
5635
  @if(label())
5619
5636
  {
@@ -5623,7 +5640,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5623
5640
  `,
5624
5641
  changeDetection: ChangeDetectionStrategy.OnPush,
5625
5642
  imports: [CommonModule, FormsModule, AXFormModule, AXSwitchModule, AXValidationModule, AXLabelModule],
5626
- inputs: []
5627
5643
  }]
5628
5644
  }], propDecorators: { __class: [{
5629
5645
  type: HostBinding,
@@ -5657,24 +5673,24 @@ var toggleWidgetFilter_component = /*#__PURE__*/Object.freeze({
5657
5673
  class AXPToggleWidgetColumnComponent extends AXPColumnWidgetComponent {
5658
5674
  constructor() {
5659
5675
  super(...arguments);
5660
- this.negative = this.options["negative"];
5661
- this.trulyText = this.options["trulyText"];
5662
- this.falsyText = this.options["falsyText"];
5676
+ this.negative = this.options['negative'];
5677
+ this.trulyText = this.options['trulyText'];
5678
+ this.falsyText = this.options['falsyText'];
5663
5679
  }
5664
5680
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5665
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){
5666
5682
  <ax-badge [text]="trulyText" [color]="negative ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5667
5683
  }@else { @if(negative){
5668
- <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>
5669
5685
  }@else {
5670
5686
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5671
5687
  } } }@else { @if(falsyText){
5672
5688
  <ax-badge [text]="falsyText" [color]="negative ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5673
5689
  }@else { @if(negative){
5674
- <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>
5675
5691
  }@else {
5676
5692
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5677
- } } }`, 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$3.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 }); }
5678
5694
  }
5679
5695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetColumnComponent, decorators: [{
5680
5696
  type: Component,
@@ -5682,19 +5698,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5682
5698
  template: `@if(rawValue){ @if(trulyText){
5683
5699
  <ax-badge [text]="trulyText" [color]="negative ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5684
5700
  }@else { @if(negative){
5685
- <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>
5686
5702
  }@else {
5687
5703
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5688
5704
  } } }@else { @if(falsyText){
5689
5705
  <ax-badge [text]="falsyText" [color]="negative ? 'success' : 'danger'" [look]="'twotone'"></ax-badge>
5690
5706
  }@else { @if(negative){
5691
- <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>
5692
5708
  }@else {
5693
5709
  <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5694
5710
  } } }`,
5695
5711
  changeDetection: ChangeDetectionStrategy.OnPush,
5696
5712
  imports: [CommonModule, AXDecoratorModule, AXBadgeModule],
5697
- inputs: ['rawValue']
5713
+ inputs: ['rawValue'],
5698
5714
  }]
5699
5715
  }] });
5700
5716
 
@@ -5735,7 +5751,6 @@ const AXPToggleWidget = {
5735
5751
  AXP_DATA_PATH_PROPERTY,
5736
5752
  AXP_DISABLED_PROPERTY,
5737
5753
  AXP_STYLE_COLOR_PROPERTY,
5738
- AXP_VALIDATION_PROPERTY,
5739
5754
  AXP_FALSY_TEXT_PROPERTY,
5740
5755
  AXP_TRULY_TEXT_PROPERTY,
5741
5756
  booleanDefaultProperty(),
@@ -5762,6 +5777,250 @@ const AXPToggleWidget = {
5762
5777
  },
5763
5778
  };
5764
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
+
5765
6024
  class AXPFileBoxWidgetColumnComponent extends AXPWidgetComponent {
5766
6025
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5767
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 }); }
@@ -5792,7 +6051,11 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
5792
6051
  this.accept = computed(() => this.options()['accept']);
5793
6052
  this.description = computed(() => this.options()['description']);
5794
6053
  this.metaData = computed(() => this.options()['metaData']);
5795
- 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
+ });
5796
6059
  }
5797
6060
  handleOnFileUploadComplete(e) {
5798
6061
  }
@@ -5860,7 +6123,7 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
5860
6123
  }
5861
6124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5862
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: `
5863
- <div class="ax-grid ax-grid-cols-12 ax-gap-4">
6126
+ <div class="ax-grid ax-grid-cols-12">
5864
6127
  <div class="ax-col-span-12">
5865
6128
  <ax-uploader-drop-zone
5866
6129
  axUploaderZone
@@ -5868,6 +6131,7 @@ class AXPFileBoxWidgetEditComponent extends AXPWidgetComponent {
5868
6131
  [multiple]="multiple()"
5869
6132
  [accept]="accept()"
5870
6133
  [description]="description()"
6134
+
5871
6135
  (onFileUploadComplete)="handleOnFileUploadComplete($event)"
5872
6136
  (onFilesUploadComplete)="handleOnFilesUploadComplete($event)"
5873
6137
  ></ax-uploader-drop-zone>
@@ -5879,7 +6143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5879
6143
  type: Component,
5880
6144
  args: [{
5881
6145
  template: `
5882
- <div class="ax-grid ax-grid-cols-12 ax-gap-4">
6146
+ <div class="ax-grid ax-grid-cols-12">
5883
6147
  <div class="ax-col-span-12">
5884
6148
  <ax-uploader-drop-zone
5885
6149
  axUploaderZone
@@ -5887,6 +6151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5887
6151
  [multiple]="multiple()"
5888
6152
  [accept]="accept()"
5889
6153
  [description]="description()"
6154
+
5890
6155
  (onFileUploadComplete)="handleOnFileUploadComplete($event)"
5891
6156
  (onFilesUploadComplete)="handleOnFilesUploadComplete($event)"
5892
6157
  ></ax-uploader-drop-zone>
@@ -5954,6 +6219,8 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
5954
6219
  this.multiple = computed(() => this.options()['multiple']);
5955
6220
  this.downloadable = computed(() => this.options()['downloadable']);
5956
6221
  this.internalValue = computed(() => {
6222
+ if (!this.getValue())
6223
+ return [];
5957
6224
  return Array.isArray(this.getValue()) ? this.getValue().map((item) => this.extractItem(item)) : [this.extractItem(this.getValue())];
5958
6225
  });
5959
6226
  this.downloadSubscription = new Subscription();
@@ -6101,7 +6368,7 @@ class AXPFileBoxWidgetViewComponent extends AXPWidgetComponent {
6101
6368
  </div>
6102
6369
  </ng-template>
6103
6370
  </div>
6104
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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 }); }
6105
6372
  }
6106
6373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileBoxWidgetViewComponent, decorators: [{
6107
6374
  type: Component,
@@ -6289,7 +6556,7 @@ class AXPGalleryWidgetViewComponent extends AXPWidgetComponent {
6289
6556
  <small>No Media!</small>
6290
6557
  }
6291
6558
  </div>
6292
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.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 }); }
6293
6560
  }
6294
6561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGalleryWidgetViewComponent, decorators: [{
6295
6562
  type: Component,
@@ -6453,7 +6720,7 @@ class AXPGalleryWidgetEditComponent extends AXPWidgetComponent {
6453
6720
 
6454
6721
  }
6455
6722
  </div>
6456
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.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 }); }
6457
6724
  }
6458
6725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGalleryWidgetEditComponent, decorators: [{
6459
6726
  type: Component,
@@ -6615,45 +6882,40 @@ const AXPGalleryWidget = {
6615
6882
  class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent {
6616
6883
  constructor() {
6617
6884
  super(...arguments);
6618
- this.markers = computed(() => this.getValue());
6885
+ this.markers = computed(() => this.getValue()?.markers ?? []);
6886
+ this.polygons = computed(() => this.getValue()?.polygons ?? []);
6619
6887
  this.height = computed(() => this.options()['height'] ?? 300);
6620
6888
  this.zoomLevel = computed(() => this.options()['zoomLevel'] ?? 13);
6621
- this.initialLocation = computed(() => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 }, {
6622
- equal: (a, b) => {
6623
- if (a.latitude === b.latitude && a.longitude === b.longitude)
6624
- return true;
6625
- else
6626
- return false;
6627
- },
6628
- });
6889
+ this.latitude = computed(() => this.options()['latitude'] ?? 35);
6890
+ this.longitude = computed(() => this.options()['longitude'] ?? 51);
6629
6891
  }
6630
6892
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMapBoxWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6631
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">
6632
6894
  <ax-map
6633
- [hasDraw]="false"
6634
- [markers]="markers()"
6895
+ [polygons]="polygons()"
6635
6896
  [zoomLevel]="zoomLevel()"
6636
- [latitude]="initialLocation().latitude"
6637
- [longitude]="initialLocation().longitude"
6897
+ [latitude]="latitude()"
6898
+ [longitude]="longitude()"
6899
+ [markers]="markers()"
6638
6900
  ></ax-map>
6639
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "hasDraw", "hasLocator", "markerPlace", "locatePlace", "markers"], outputs: ["onMarkerAdded", "onMarkerChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
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 }); }
6640
6902
  }
6641
6903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMapBoxWidgetViewComponent, decorators: [{
6642
6904
  type: Component,
6643
6905
  args: [{
6644
6906
  template: `<div [style.height.px]="height()" class="ax-w-full">
6645
6907
  <ax-map
6646
- [hasDraw]="false"
6647
- [markers]="markers()"
6908
+ [polygons]="polygons()"
6648
6909
  [zoomLevel]="zoomLevel()"
6649
- [latitude]="initialLocation().latitude"
6650
- [longitude]="initialLocation().longitude"
6910
+ [latitude]="latitude()"
6911
+ [longitude]="longitude()"
6912
+ [markers]="markers()"
6651
6913
  ></ax-map>
6652
6914
  </div>`,
6653
6915
  changeDetection: ChangeDetectionStrategy.OnPush,
6654
6916
  imports: [CommonModule, AXMapModule],
6655
6917
  inputs: [],
6656
- encapsulation: ViewEncapsulation.None
6918
+ encapsulation: ViewEncapsulation.None,
6657
6919
  }]
6658
6920
  }] });
6659
6921
 
@@ -6666,26 +6928,22 @@ class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent {
6666
6928
  constructor() {
6667
6929
  super(...arguments);
6668
6930
  this.cdr = inject(ChangeDetectorRef);
6669
- this.markers = computed(() => this.getValue() ?? []);
6931
+ this.markers = computed(() => this.getValue()?.markers ?? []);
6932
+ this.polygons = computed(() => this.getValue()?.polygons ?? []);
6670
6933
  this.hasDraw = computed(() => this.options()['hasDraw'] ?? false);
6671
6934
  this.hasLocate = computed(() => this.options()['hasLocate'] ?? false);
6672
6935
  this.maxMarker = computed(() => this.options()['maxMarker'] ?? 1);
6936
+ this.maxPolygon = computed(() => this.options()['maxPolygon'] ?? 1);
6673
6937
  this.zoomLevel = computed(() => this.options()['zoomLevel'] ?? 13);
6674
- this.height = computed(() => {
6675
- this.cdr.markForCheck();
6676
- return this.options()['height'] ?? 300;
6677
- });
6678
- this.initialLocation = computed(() => this.options()['initialLocation'] ?? { latitude: 51.505, longitude: -0.09 }, {
6679
- equal: (a, b) => {
6680
- if (a.latitude === b.latitude && a.longitude === b.longitude)
6681
- return true;
6682
- else
6683
- return false;
6684
- },
6685
- });
6938
+ this.latitude = computed(() => this.options()['latitude'] ?? 35);
6939
+ this.longitude = computed(() => this.options()['longitude'] ?? 51);
6940
+ this.height = computed(() => this.options()['height'] ?? 300);
6686
6941
  }
6687
- onMarkerChanged(event) {
6688
- this.setValue(event);
6942
+ onMarkerChanged($event) {
6943
+ this.setValue({ polygons: this.getValue()?.polygons ?? [], markers: $event });
6944
+ }
6945
+ onPolygonChanged($event) {
6946
+ this.setValue({ polygons: $event, markers: this.getValue()?.markers ?? [] });
6689
6947
  }
6690
6948
  get __class() {
6691
6949
  const cls = {};
@@ -6698,15 +6956,19 @@ class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent {
6698
6956
  <ax-map
6699
6957
  class="ax-h-full"
6700
6958
  (onMarkerChanged)="onMarkerChanged($event)"
6959
+ (onPolygonChanged)="onPolygonChanged($event)"
6701
6960
  [hasLocator]="hasLocate()"
6702
6961
  [hasDraw]="hasDraw()"
6703
- [latitude]="initialLocation().latitude"
6704
- [longitude]="initialLocation().longitude"
6962
+ [latitude]="latitude()"
6963
+ [longitude]="longitude()"
6705
6964
  [zoomLevel]="zoomLevel()"
6706
6965
  [maxMarker]="maxMarker()"
6966
+ [maxPolygon]="maxPolygon()"
6967
+ [markers]="markers()"
6968
+ [polygons]="polygons()"
6707
6969
  >
6708
6970
  </ax-map>
6709
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXMapModule }, { kind: "component", type: i1$6.AXMapComponent, selector: "ax-map", inputs: ["zoomLevel", "latitude", "longitude", "maxMarker", "hasDraw", "hasLocator", "markerPlace", "locatePlace", "markers"], outputs: ["onMarkerAdded", "onMarkerChanged", "onLocationFound"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
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 }); }
6710
6972
  }
6711
6973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPMapBoxWidgetEditComponent, decorators: [{
6712
6974
  type: Component,
@@ -6715,18 +6977,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
6715
6977
  <ax-map
6716
6978
  class="ax-h-full"
6717
6979
  (onMarkerChanged)="onMarkerChanged($event)"
6980
+ (onPolygonChanged)="onPolygonChanged($event)"
6718
6981
  [hasLocator]="hasLocate()"
6719
6982
  [hasDraw]="hasDraw()"
6720
- [latitude]="initialLocation().latitude"
6721
- [longitude]="initialLocation().longitude"
6983
+ [latitude]="latitude()"
6984
+ [longitude]="longitude()"
6722
6985
  [zoomLevel]="zoomLevel()"
6723
6986
  [maxMarker]="maxMarker()"
6987
+ [maxPolygon]="maxPolygon()"
6988
+ [markers]="markers()"
6989
+ [polygons]="polygons()"
6724
6990
  >
6725
6991
  </ax-map>
6726
6992
  </div>`,
6727
6993
  changeDetection: ChangeDetectionStrategy.OnPush,
6728
6994
  imports: [AXMapModule],
6729
- encapsulation: ViewEncapsulation.None
6995
+ encapsulation: ViewEncapsulation.None,
6730
6996
  }]
6731
6997
  }], propDecorators: { __class: [{
6732
6998
  type: HostBinding,
@@ -6786,6 +7052,63 @@ const AXPMapBoxWidget = {
6786
7052
  },
6787
7053
  visible: true,
6788
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
+ },
6789
7112
  {
6790
7113
  name: 'zoomLevel',
6791
7114
  title: 'Zoom Level',
@@ -6798,8 +7121,8 @@ const AXPMapBoxWidget = {
6798
7121
  path: 'options.zoomLevel',
6799
7122
  type: AXPWidgetsCatalog.number,
6800
7123
  options: {
6801
- minValue: 1,
6802
- maxValue: 20,
7124
+ minValue: 2,
7125
+ maxValue: 18,
6803
7126
  },
6804
7127
  },
6805
7128
  },
@@ -6965,7 +7288,7 @@ class AXPSignatureWidgetEditComponent extends AXPWidgetComponent {
6965
7288
  </div>
6966
7289
  }
6967
7290
  </div>
6968
- `, 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 }); }
6969
7292
  }
6970
7293
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSignatureWidgetEditComponent, decorators: [{
6971
7294
  type: Component,
@@ -7063,7 +7386,7 @@ class AXPSignatureWidgetViewComponent extends AXPWidgetComponent {
7063
7386
  <span>{{placeholder()}}</span>
7064
7387
  }
7065
7388
  </div>
7066
- `, 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 }); }
7067
7390
  }
7068
7391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSignatureWidgetViewComponent, decorators: [{
7069
7392
  type: Component,
@@ -7154,16 +7477,14 @@ class AXPBlockWidgetDesignerComponent extends AXPWidgetComponent {
7154
7477
  const spacing = this.options()['spacing'];
7155
7478
  const border = this.options()['border'];
7156
7479
  return {
7480
+ // Background
7157
7481
  'background-color': this.backgroundColor(),
7158
- 'padding-top': spacing.padding.top + 'px',
7159
- 'padding-right': spacing.padding.right + 'px',
7160
- 'padding-bottom': spacing.padding.bottom + 'px',
7161
- 'padding-left': spacing.padding.left + 'px',
7162
- 'margin-top': spacing.margin.top + 'px',
7163
- 'margin-right': spacing.margin.right + 'px',
7164
- 'margin-bottom': spacing.margin.bottom + 'px',
7165
- 'margin-left': spacing.margin.left + 'px',
7166
- 'border-radius': `${border.radius['top-left']}px ${border.radius['top-right']}px ${border.radius['bottom-right']}px ${border.radius['bottom-left']}px`,
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,
7167
7488
  };
7168
7489
  }
7169
7490
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -7271,16 +7592,14 @@ class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
7271
7592
  const spacing = this.options()['spacing'];
7272
7593
  const border = this.options()['border'];
7273
7594
  return {
7595
+ // Background
7274
7596
  'background-color': this.backgroundColor(),
7275
- 'padding-top': spacing.padding.top + 'px',
7276
- 'padding-right': spacing.padding.right + 'px',
7277
- 'padding-bottom': spacing.padding.bottom + 'px',
7278
- 'padding-left': spacing.padding.left + 'px',
7279
- 'margin-top': spacing.margin.top + 'px',
7280
- 'margin-right': spacing.margin.right + 'px',
7281
- 'margin-bottom': spacing.margin.bottom + 'px',
7282
- 'margin-left': spacing.margin.left + 'px',
7283
- 'border-radius': `${border.radius['top-left']}px ${border.radius['top-right']}px ${border.radius['bottom-right']}px ${border.radius['bottom-left']}px`,
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,
7284
7603
  };
7285
7604
  }
7286
7605
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -7344,6 +7663,7 @@ const AXPBlockWidget = {
7344
7663
  ...AXP_LAYOUT_FLEX_PROPERTIES,
7345
7664
  AXP_LAYOUT_SPACING_PROPERTY,
7346
7665
  AXP_LAYOUT_BORDER_PROPERTY,
7666
+ AXP_LAYOUT_FLEX_PROPERTY,
7347
7667
  ],
7348
7668
  components: {
7349
7669
  designer: {
@@ -7577,7 +7897,7 @@ class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
7577
7897
  You haven't added any items yet. Click “Start Adding Items” to get started!
7578
7898
  </div>
7579
7899
  </ng-template>
7580
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.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 }); }
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 }); }
7581
7901
  }
7582
7902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetEditComponent, decorators: [{
7583
7903
  type: Component,
@@ -7727,7 +8047,7 @@ class AXPRepeaterWidgetDesignerComponent extends AXPWidgetComponent {
7727
8047
  <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>
7728
8048
  }
7729
8049
  </ng-template>
7730
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.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 }); }
7731
8051
  }
7732
8052
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetDesignerComponent, decorators: [{
7733
8053
  type: Component,
@@ -7826,55 +8146,686 @@ const AXPRepeaterWidget = {
7826
8146
  },
7827
8147
  };
7828
8148
 
7829
- class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
7830
- constructor() {
7831
- super(...arguments);
7832
- this.ngZone = inject(NgZone);
7833
- this.isPaddingLinked = signal(false);
7834
- this.isMarginLinked = signal(false);
7835
- this.current = signal({
7836
- type: 'margin',
7837
- side: 'bottom',
7838
- });
7839
- this.FixedValues = [
7840
- { label: '0', value: 0, rowspan: 2 },
7841
- { label: '5', value: 5 },
7842
- { label: '10', value: 10 },
7843
- { label: '25', value: 25 },
7844
- { label: '50', value: 50 },
7845
- { label: '75', value: 75 },
7846
- { label: '100', value: 100 },
7847
- { label: '150', value: 150 },
7848
- { label: '200', value: 200 },
7849
- ];
7850
- this.popover = viewChild.required(AXPopoverComponent);
7851
- }
7852
- setSpacing(input, type, side) {
7853
- const value = input instanceof Event ? Number.parseInt(input.target.value) : input;
7854
- const currentValue = this.getValue();
7855
- if ((type === 'padding' && this.isPaddingLinked()) || (type === 'margin' && this.isMarginLinked())) {
7856
- this.setValue({
7857
- ...this.getValue(),
7858
- [type]: this.setSameValue(value),
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 {
8355
+ constructor() {
8356
+ super(...arguments);
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
+ });
8392
+ }
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),
7859
8406
  });
7860
8407
  }
7861
8408
  else {
7862
- this.setValue({
8409
+ this.calculatedValues.set({
7863
8410
  ...currentValue,
7864
- [type]: {
7865
- ...currentValue[type],
7866
- [side]: value,
7867
- },
8411
+ [type]: { ...currentValue[type], [side]: value },
8412
+ });
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,
7868
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
+ }
8529
+ }
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
+ }
8549
+ }
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 }); }
8560
+ }
8561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, decorators: [{
8562
+ type: Component,
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"] }]
8573
+ }] });
8574
+
8575
+ var borderWidgetEditor_component = /*#__PURE__*/Object.freeze({
8576
+ __proto__: null,
8577
+ AXPBorderWidgetEditComponent: AXPBorderWidgetEditComponent
8578
+ });
8579
+
8580
+ const AXPBorderWidget = {
8581
+ name: 'border',
8582
+ title: 'Box Border',
8583
+ description: 'Editing Elements Border',
8584
+ group: AXP_WIDGETS_EDITOR_GROUP,
8585
+ icon: 'fa-solid fa-border',
8586
+ type: 'editor',
8587
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
8588
+ components: {
8589
+ edit: {
8590
+ component: () => Promise.resolve().then(function () { return borderWidgetEditor_component; }).then((c) => c.AXPBorderWidgetEditComponent),
8591
+ },
8592
+ },
8593
+ visible: false,
8594
+ };
8595
+
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 {
8625
+ constructor() {
8626
+ super(...arguments);
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
+ };
8664
+ }
8665
+ setFlexMode() {
8666
+ if (this.gapMode() === 'single') {
8667
+ this.gapMode.set('dual');
8668
+ }
8669
+ else {
8670
+ this.gapMode.set('single');
8671
+ }
8672
+ }
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) });
8695
+ }
8696
+ else {
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) });
8701
+ }
8702
+ }
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);
7869
8739
  }
7870
8740
  }
7871
- setSameValue(value) {
7872
- return { top: value, right: value, bottom: value, left: value };
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 }); }
8743
+ }
8744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFlexOptionsWidgetEditComponent, decorators: [{
8745
+ type: Component,
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"] }]
8754
+ }] });
8755
+
8756
+ var flexOptionsWidgetEditor_component = /*#__PURE__*/Object.freeze({
8757
+ __proto__: null,
8758
+ AXPFlexOptionsWidgetEditComponent: AXPFlexOptionsWidgetEditComponent
8759
+ });
8760
+
8761
+ const AXPFlexOptionsWidget = {
8762
+ name: 'flex-options',
8763
+ title: 'Flex Options',
8764
+ description: 'Make an Elements Flex',
8765
+ group: AXP_WIDGETS_EDITOR_GROUP,
8766
+ icon: 'fa-solid fa-ellipsis-h',
8767
+ type: 'editor',
8768
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
8769
+ components: {
8770
+ edit: {
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);
7873
8824
  }
7874
8825
  openPopUp(event, type, side) {
7875
8826
  this.current.set({ type, side, el: event.target });
7876
8827
  this.popover().target = event.target;
7877
- this.popover().placement = side === 'right' ? 'bottom-end' : 'bottom';
8828
+ this.popover().placement = side === 'right' ? ['bottom-end', 'end'] : ['bottom', 'top'];
7878
8829
  this.popover().open();
7879
8830
  }
7880
8831
  listenToMove(event, type, side) {
@@ -7882,43 +8833,35 @@ class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
7882
8833
  event.preventDefault();
7883
8834
  let startY = 0, currentValue = 0;
7884
8835
  const targetElement = event.target;
7885
- // Set the cursor style to indicate vertical resizing
7886
- targetElement.style.cursor = 's-resize'; // Always vertical resize cursor
7887
- // Initialize dragging by capturing start positions
8836
+ targetElement.style.cursor = 's-resize';
7888
8837
  const onMouseDown = (e) => {
7889
- const { clientY } = this.getClientCoordinates(e); // Only use clientY for vertical movement
8838
+ const { clientY } = this.getClientCoordinates(e);
7890
8839
  startY = clientY;
7891
- // Attach listeners for dragging and release
7892
8840
  window.addEventListener('mousemove', onMouseMove);
7893
8841
  window.addEventListener('mouseup', onMouseUp);
7894
8842
  window.addEventListener('touchmove', onMouseMove);
7895
8843
  window.addEventListener('touchend', onMouseUp);
7896
8844
  };
7897
- // Handle movement during dragging
7898
8845
  const onMouseMove = (e) => {
7899
- const { clientY } = this.getClientCoordinates(e); // Only track vertical movement
7900
- const delta = (clientY - startY) * -1; // Change in vertical position
7901
- const oldValue = this.getValue()[type][side];
7902
- currentValue = delta + oldValue;
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;
7903
8850
  this.ngZone.run(() => {
7904
- this.setSpacing(Math.max(currentValue, 0), type, side); // Update spacing, ensuring it is non-negative
8851
+ this.setSpacing(Math.max(currentValue, 0), type, side);
7905
8852
  });
7906
- // Update start position for the next move
7907
8853
  startY = clientY;
7908
8854
  };
7909
- // Cleanup listeners and reset cursor on release
7910
8855
  const onMouseUp = () => {
7911
8856
  window.removeEventListener('mousemove', onMouseMove);
7912
8857
  window.removeEventListener('mouseup', onMouseUp);
7913
8858
  window.removeEventListener('touchmove', onMouseMove);
7914
8859
  window.removeEventListener('touchend', onMouseUp);
7915
- targetElement.style.cursor = ''; // Reset cursor
8860
+ targetElement.style.cursor = '';
7916
8861
  };
7917
- // Add the `mousedown` handler to start dragging
7918
8862
  onMouseDown(event);
7919
8863
  });
7920
8864
  }
7921
- // Utility to get coordinates based on event type
7922
8865
  getClientCoordinates(e) {
7923
8866
  if (e instanceof MouseEvent) {
7924
8867
  return { clientX: e.clientX, clientY: e.clientY };
@@ -7927,11 +8870,11 @@ class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
7927
8870
  return { clientX: touch.clientX, clientY: touch.clientY };
7928
8871
  }
7929
8872
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7930
- 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-container-box\">\n <div class=\"axp-spacing-content\">\n <div class=\"axp-spacing-box\">{{ 'Block' }}</div>\n </div>\n\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 <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<div class=\"ax-flex ax-justify-center ax-items-center ax-py-2\">\n <div class=\"spacing-container\">\n <div class=\"spacing-outer-box\">\n <div class=\"spacing-inner-box\">\n <div class=\"spacing-margin-box scrollbar\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"224\" height=\"112\" class=\"scrollbar 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 <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'top')\"\n (touchstart)=\"listenToMove($event, 'margin', 'top')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n\"\n data-automation-id=\"margin-top-button\"\n aria-label=\"Margin top button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'right')\"\n (touchstart)=\"listenToMove($event, 'margin', 'right')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n\"\n data-automation-id=\"margin-right-button\"\n aria-label=\"Margin right button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'bottom')\"\n (touchstart)=\"listenToMove($event, 'margin', 'bottom')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n\"\n data-automation-id=\"margin-bottom-button\"\n aria-label=\"Margin bottom button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'left')\"\n (touchstart)=\"listenToMove($event, 'margin', 'left')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n\"\n data-automation-id=\"margin-left-button\"\n aria-label=\"Margin left button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <clipPath id=\"margin-outer\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"224\"\n height=\"112\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#margin-outer)\"\n x=\"0\"\n y=\"0\"\n width=\"224\"\n height=\"112\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n <clipPath id=\"margin-inner\">\n <rect\n x=\"36\"\n y=\"24\"\n width=\"152\"\n height=\"64\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#margin-inner)\"\n x=\"36\"\n y=\"24\"\n width=\"152\"\n height=\"64\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n </svg>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'top')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 1 / 2 / 2 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginTop\"\n data-automation-id=\"margin-top-edit\"\n aria-label=\"Margin top edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 1 / 2 / 2 / 3;\n \"\n >\n <span>{{ getValue().margin.top }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'right')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 3 / 3 / 4;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginRight\"\n data-automation-id=\"margin-right-edit\"\n aria-label=\"Margin right edit\"\n data-legacy-styled=\"true\"\n data-origin=\"local\"\n data-resettable=\"true\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 3 / 3 / 4;\n \"\n >\n <span>{{ getValue().margin.right }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'bottom')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 3 / 2 / 4 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginBottom\"\n data-automation-id=\"margin-bottom-edit\"\n aria-label=\"Margin bottom edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 3 / 2 / 4 / 3;\n \"\n >\n <span>{{ getValue().margin.bottom }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'left')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 1 / 3 / 2;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginLeft\"\n data-automation-id=\"margin-left-edit\"\n aria-label=\"Margin left edit\"\n data-legacy-styled=\"true\"\n data-origin=\"local\"\n data-resettable=\"true\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 1 / 3 / 2;\n \"\n >\n <span>{{ getValue().margin.left }}</span>\n </div>\n </div>\n </div>\n <div class=\"scrollbar spacing-padding-box\" data-legacy-styled=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"62\" class=\"scrollbar 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 <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 <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'top')\"\n (touchstart)=\"listenToMove($event, 'padding', 'top')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n\"\n data-automation-id=\"padding-top-button\"\n aria-label=\"Padding top button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'right')\"\n (touchstart)=\"listenToMove($event, 'padding', 'right')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n\"\n data-automation-id=\"padding-right-button\"\n aria-label=\"Padding right button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'bottom')\"\n (touchstart)=\"listenToMove($event, 'padding', 'bottom')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n\"\n data-automation-id=\"padding-bottom-button\"\n aria-label=\"Padding bottom button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'left')\"\n (touchstart)=\"listenToMove($event, 'padding', 'left')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n\"\n data-automation-id=\"padding-left-button\"\n aria-label=\"Padding left button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <clipPath id=\"padding-outer\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"150\"\n height=\"62\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#padding-outer)\"\n x=\"0\"\n y=\"0\"\n width=\"150\"\n height=\"62\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n <clipPath id=\"padding-inner\">\n <rect\n x=\"36\"\n y=\"24\"\n width=\"78\"\n height=\"14\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#padding-inner)\"\n x=\"36\"\n y=\"24\"\n width=\"78\"\n height=\"14\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n </svg>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'top')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 1 / 2 / 2 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingTop\"\n data-automation-id=\"padding-top-edit\"\n aria-label=\"Padding top edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 1 / 2 / 2 / 3;\n \"\n >\n <span>{{ this.getValue().padding.top }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'right')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 3 / 3 / 4;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingRight\"\n data-automation-id=\"padding-right-edit\"\n aria-label=\"Padding right edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 3 / 3 / 4;\n \"\n >\n <span>{{ this.getValue().padding.right }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'bottom')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 3 / 2 / 4 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingBottom\"\n data-automation-id=\"padding-bottom-edit\"\n aria-label=\"Padding bottom edit\"\n data-legacy-styled=\"true\"\n data-origin=\"local\"\n data-resettable=\"true\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 3 / 2 / 4 / 3;\n \"\n >\n <span>{{ this.getValue().padding.bottom }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'left')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 1 / 3 / 2;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingLeft\"\n data-automation-id=\"padding-left-edit\"\n aria-label=\"Padding left edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 1 / 3 / 2;\n \"\n >\n <span>{{ this.getValue().padding.left }}</span>\n </div>\n </div>\n </div>\n <svg class=\"spacing-padding-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"4\" fill=\"white\" font-weight=\"500\" font-size=\"7\" dominant-baseline=\"hanging\">PADDING</text>\n </svg>\n\n <svg class=\"spacing-margin-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"4\" fill=\"white\" font-weight=\"500\" font-size=\"7\" dominant-baseline=\"hanging\">MARGIN</text>\n </svg>\n </div>\n </div>\n </div>\n</div>\n<ng-template #template let-type=\"type\" let-side=\"side\" let-value=\"value\">\n <div\n data-legacy-styled=\"true\"\n style=\"\n max-width: 239px;\n min-width: 201px;\n background: #353535;\n border-radius: 0.5rem;\n color: var(--colors-text-secondary, white);\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;\n font-size: 11.5px;\n line-height: 16px;\n \"\n >\n <div class=\"popover-container\">\n <div aria-hidden=\"true\" style=\"width: 16px; height: 16px; cursor: pointer\" (click)=\"setSpacing(0, type, side)\">\n <svg\n data-wf-icon=\"MarginLeftIcon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\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 <div\n data-legacy-styled=\"true\"\n style=\"display: flex; flex-direction: column; justify-content: center; height: 24px\"\n >\n <!--INPUT-->\n <!-- <input\n aria-orientation=\"horizontal\"\n aria-valuemax=\"200\"\n aria-valuemin=\"-200\"\n data-automation-id=\"style-panel-presets-slider\"\n max=\"200\"\n min=\"-200\"\n step=\"1\"\n type=\"range\"\n data-sc=\"VisuallyHidden\"\n class=\"scrollbar\"\n [value]=\"value\"\n style=\"\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n clip-path: inset(50%);\n height: 1px;\n margin: 0px -1px -1px 0px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n \"\n />\n <div\n data-legacy-styled=\"true\"\n style=\"position: relative; flex-basis: 2px; border-radius: 4px; background-color: var(--colors-border-1)\"\n >\n <div\n role=\"presentation\"\n class=\"scrollbar wf-8dbjgt\"\n style=\"\n width: 133px;\n height: 100%;\n pointer-events: none;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n border-radius: inherit;\n \"\n ></div>\n <div\n data-automation-id=\"style-panel-presets-slider-knob\"\n data-legacy-styled=\"true\"\n style=\"\n position: absolute;\n width: 4px;\n height: 10px;\n top: -4px;\n left: 0px;\n transform: translate3d(133px, 0px, 0px);\n cursor: ew-resize;\n border-radius: 1px;\n background-color: var(--colors-text-primary);\n box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 1px, rgba(0, 0, 0, 0.3) 0px 0px 0px 0.5px;\n \"\n ></div>\n </div> -->\n <!-- <ax-range-slider [min]=\"0\" [max]=\"200\" (valuesChange)=\"setSpacing(1, type, side)\"> </ax-range-slider> -->\n <input\n type=\"range\"\n name=\"range\"\n [min]=\"0\"\n [max]=\"200\"\n [value]=\"this.getValue()[this.current().type][this.current().side]\"\n (input)=\"setSpacing($event, type, side)\"\n />\n </div>\n <div class=\"scrollbar\" data-sc=\"View\">\n <div data-sc=\"VStack Stack View\" class=\"scrollbar --styled-hKrpNK wf-1ugflpn\" style=\"--local-gap: 8px\">\n <div\n class=\"scrollbar\"\n data-sc=\"View\"\n style=\"\n gap: var(--local-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\n class=\"scrollbar\"\n style=\"display: grid; grid-template-columns: 1fr auto; transform: translate3d(0px, 0px, 0px)\"\n >\n <div\n data-legacy-styled=\"true\"\n style=\"\n grid-area: 1 / 1 / 2 / -1;\n align-items: stretch;\n background-color: var(--colors-ui-input-background);\n border-color: var(--colors-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 class=\"scrollbar\"\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(--colors-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(--colors-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(--colors-text-secondary);\n align-items: center;\n border-style: solid;\n \"\n >\n <div\n data-legacy-styled=\"true\"\n class=\"scrollbar\"\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\n data-legacy-styled=\"true\"\n style=\"\n display: grid;\n grid-area: 2 / 1 / 3 / -1;\n grid-template-columns: repeat(5, 1fr);\n grid-template-rows: 24px 24px;\n gap: 4px;\n \"\n >\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 data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n style=\"\n border-bottom-color: var(--colors-border-1);\n border-left-color: var(--colors-border-1);\n border-right-color: var(--colors-border-1);\n border-top-color: var(--colors-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(--colors-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(--colors-action-secondary-text);\n background: var(--colors-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 data-legacy-styled=\"true\" class=\"scrollbar ax-truncate\">{{ i.label }}</div>\n </div>\n }\n </div>\n </div>\n\n <div\n data-legacy-styled=\"true\"\n style=\"height: 1px; margin-top: 4px; margin-bottom: 4px; background: var(--colors-border-1); pointer-events: none\"\n ></div>\n\n <div\n (click)=\"setSpacing(0, type, side)\"\n class=\"ax-cursor-pointer hover:!ax-bg-gray-700\"\n role=\"option\"\n data-legacy-styled=\"true\"\n cursor=\"default\"\n data-focus=\"false\"\n tabindex=\"0\"\n style=\"\n outline: 0px;\n user-select: none;\n padding: 4px 8px;\n margin: 4px 0px;\n min-height: 24px;\n --component-icon-color: var(--colors-text-secondary);\n \"\n >\n <div data-legacy-styled=\"true\" style=\"display: flex; flex-direction: row; align-items: center\">\n <div data-legacy-styled=\"true\" style=\"min-width: 24px; align-self: center; flex-grow: 1; flex-basis: 0px\">\n <div\n data-automation-id=\"reset-style-property-button\"\n data-legacy-styled=\"true\"\n style=\"\n align-items: center;\n box-sizing: border-box;\n display: grid;\n gap: 4px 8px;\n grid-template-columns: 16px 1fr auto;\n \"\n >\n <div aria-hidden=\"true\" class=\"scrollbar\" style=\"width: 16px; height: 16px\">\n <svg\n data-wf-icon=\"UndoIcon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\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 data-legacy-styled=\"true\" style=\"align-self: center\">\n <div\n style=\"\n cursor: default;\n user-select: none;\n font-size: 11.5px;\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: -0.115px;\n color: var(--colors-text-secondary);\n justify-self: end;\n margin-left: 1px;\n \"\n >\n <!-- <span>Alt + click</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.getValue()[this.current().type][this.current().side]\n }\"\n ></ng-container>\n</ax-popover>\n", styles: [".spacing-container{--colors-text-secondary: rgba(255, 255, 255, .67);--colors-ui-scrollbar-thumb: rgba(255, 255, 255, .67);--colors-background-1: #292929;--colors-text-secondary: white;--colors-border-2: rgba(255, 255, 255, .16);--color-changed: rgb(167, 209, 255);--color-background: rgba(0, 106, 204, .18);background-color:var(--colors-background-1);width:15rem}.spacing-container .spacing-outer-box{transform:scale(1.2);align-items:center;box-sizing:border-box;display:grid;gap:8px 4px;grid-column:1/-1;grid-template-columns:44px 1fr;padding:4px}.spacing-container .spacing-inner-box{position:relative;display:grid;margin-top:8px;margin-right:8px;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}.spacing-container .spacing-inner-box .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}.spacing-container .spacing-inner-box .spacing-margin-box::-webkit-scrollbar-thumb{background-color:var(--colors-ui-scrollbar-thumb);background-clip:padding-box;border:2px solid rgba(0,0,0,0);border-radius:10px}.spacing-container .spacing-inner-box .spacing-margin-box::-webkit-scrollbar-track{background-color:transparent;border-radius:10px}.spacing-container .spacing-inner-box .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}.spacing-container .spacing-inner-box .spacing-padding-text{grid-area:3/3/span 3/span 3;pointer-events:none;position:relative}.spacing-container .spacing-inner-box .spacing-margin-text{grid-area:1/1/-1/-1;pointer-events:none;position:relative}.popover-container{display:grid;grid-template-columns:16px 1fr 56px;grid-template-rows:24px 1fr;align-items:center;gap:8px;width:241px;padding:8px;--colors-action-secondary-text: white;--colors-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);--colors-border-1: rgba(255, 255, 255, .13)}.popover-container input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;outline:none;overflow:hidden;border-radius:12px}.popover-container input[type=range]::-webkit-slider-runnable-track{height:10px;background:#ccc;border-radius:12px}.popover-container input[type=range]::-moz-range-track{height:10px;background:#ccc;border-radius:12px}.popover-container 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)}.popover-container 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)}.scrollbar::-webkit-scrollbar{height:9px;width:9px}.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$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXRangeSliderModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
7931
8874
  }
7932
8875
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, decorators: [{
7933
8876
  type: Component,
7934
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXNumberBoxModule, FormsModule, AXCheckBoxModule, AXPopoverModule, CommonModule, AXRangeSliderModule], inputs: [], 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 <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 <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<div class=\"ax-flex ax-justify-center ax-items-center ax-py-2\">\n <div class=\"spacing-container\">\n <div class=\"spacing-outer-box\">\n <div class=\"spacing-inner-box\">\n <div class=\"spacing-margin-box scrollbar\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"224\" height=\"112\" class=\"scrollbar 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 <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'top')\"\n (touchstart)=\"listenToMove($event, 'margin', 'top')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n h224\n l-36,24\n h-152\n l-36,-24z\n\"\n data-automation-id=\"margin-top-button\"\n aria-label=\"Margin top button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'right')\"\n (touchstart)=\"listenToMove($event, 'margin', 'right')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m224,0\n v112\n l-36,-24\n v-64\n l36,-24z\n\"\n data-automation-id=\"margin-right-button\"\n aria-label=\"Margin right button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'bottom')\"\n (touchstart)=\"listenToMove($event, 'margin', 'bottom')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,112\n h224\n l-36,-24\n h-152\n l-36,24z\n\"\n data-automation-id=\"margin-bottom-button\"\n aria-label=\"Margin bottom button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'margin', 'left')\"\n (touchstart)=\"listenToMove($event, 'margin', 'left')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n v112\n l36,-24\n v-64\n l-36,-24z\n\"\n data-automation-id=\"margin-left-button\"\n aria-label=\"Margin left button\"\n mask=\"url(#margin-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <clipPath id=\"margin-outer\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"224\"\n height=\"112\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#margin-outer)\"\n x=\"0\"\n y=\"0\"\n width=\"224\"\n height=\"112\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n <clipPath id=\"margin-inner\">\n <rect\n x=\"36\"\n y=\"24\"\n width=\"152\"\n height=\"64\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#margin-inner)\"\n x=\"36\"\n y=\"24\"\n width=\"152\"\n height=\"64\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n </svg>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'top')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 1 / 2 / 2 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginTop\"\n data-automation-id=\"margin-top-edit\"\n aria-label=\"Margin top edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 1 / 2 / 2 / 3;\n \"\n >\n <span>{{ getValue().margin.top }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'right')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 3 / 3 / 4;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginRight\"\n data-automation-id=\"margin-right-edit\"\n aria-label=\"Margin right edit\"\n data-legacy-styled=\"true\"\n data-origin=\"local\"\n data-resettable=\"true\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 3 / 3 / 4;\n \"\n >\n <span>{{ getValue().margin.right }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'bottom')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 3 / 2 / 4 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginBottom\"\n data-automation-id=\"margin-bottom-edit\"\n aria-label=\"Margin bottom edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 3 / 2 / 4 / 3;\n \"\n >\n <span>{{ getValue().margin.bottom }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'margin', 'left')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 1 / 3 / 2;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"marginLeft\"\n data-automation-id=\"margin-left-edit\"\n aria-label=\"Margin left edit\"\n data-legacy-styled=\"true\"\n data-origin=\"local\"\n data-resettable=\"true\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 1 / 3 / 2;\n \"\n >\n <span>{{ getValue().margin.left }}</span>\n </div>\n </div>\n </div>\n <div class=\"scrollbar spacing-padding-box\" data-legacy-styled=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"62\" class=\"scrollbar 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 <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 <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'top')\"\n (touchstart)=\"listenToMove($event, 'padding', 'top')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n h150\n l-36,24\n h-78\n l-36,-24z\n\"\n data-automation-id=\"padding-top-button\"\n aria-label=\"Padding top button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'right')\"\n (touchstart)=\"listenToMove($event, 'padding', 'right')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m150,0\n v60\n l-36,-24\n v-12\n l36,-24z\n\"\n data-automation-id=\"padding-right-button\"\n aria-label=\"Padding right button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'bottom')\"\n (touchstart)=\"listenToMove($event, 'padding', 'bottom')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,60\n h150\n l-36,-24\n h-78\n l-36,24z\n\"\n data-automation-id=\"padding-bottom-button\"\n aria-label=\"Padding bottom button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: var(--colors-background-1); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <g\n class=\"hover:ax-brightness-75\"\n (mousedown)=\"listenToMove($event, 'padding', 'left')\"\n (touchstart)=\"listenToMove($event, 'padding', 'left')\"\n >\n <g>\n <path\n cursor=\"s-resize\"\n mode=\"delta\"\n fill=\"var(--colors-background-1)\"\n d=\"\n m0,0\n v60\n l36,-24\n v-12\n l-36,-24z\n\"\n data-automation-id=\"padding-left-button\"\n aria-label=\"Padding left button\"\n mask=\"url(#padding-mask)\"\n data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n <path\n cursor=\"s-resize\"\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 data-legacy-styled=\"true\"\n style=\"color: rgb(85, 85, 85); cursor: s-resize\"\n ></path>\n </g>\n </g>\n <clipPath id=\"padding-outer\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"150\"\n height=\"62\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#padding-outer)\"\n x=\"0\"\n y=\"0\"\n width=\"150\"\n height=\"62\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n <clipPath id=\"padding-inner\">\n <rect\n x=\"36\"\n y=\"24\"\n width=\"78\"\n height=\"14\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none\"\n ></rect>\n </clipPath>\n <rect\n clip-path=\"url(#padding-inner)\"\n x=\"36\"\n y=\"24\"\n width=\"78\"\n height=\"14\"\n fill=\"transparent\"\n rx=\"4\"\n ry=\"4\"\n style=\"pointer-events: none; stroke-width: 0px; stroke: var(--colors-border-2)\"\n ></rect>\n </svg>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'top')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 1 / 2 / 2 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingTop\"\n data-automation-id=\"padding-top-edit\"\n aria-label=\"Padding top edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 1 / 2 / 2 / 3;\n \"\n >\n <span>{{ this.getValue().padding.top }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'right')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 3 / 3 / 4;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingRight\"\n data-automation-id=\"padding-right-edit\"\n aria-label=\"Padding right edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 3 / 3 / 4;\n \"\n >\n <span>{{ this.getValue().padding.right }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'bottom')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 3 / 2 / 4 / 3;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingBottom\"\n data-automation-id=\"padding-bottom-edit\"\n aria-label=\"Padding bottom edit\"\n data-legacy-styled=\"true\"\n data-origin=\"local\"\n data-resettable=\"true\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 3 / 2 / 4 / 3;\n \"\n >\n <span>{{ this.getValue().padding.bottom }}</span>\n </div>\n </div>\n <div\n data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n (click)=\"openPopUp($event, 'padding', 'left')\"\n style=\"\n border: none;\n outline: 0px;\n cursor: default;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n grid-area: 2 / 1 / 3 / 2;\n place-self: center;\n padding: 2px;\n height: auto;\n width: auto;\n font-family: inherit;\n font-size: inherit;\n --component-icon-color: var(--colors-text-secondary);\n position: relative;\n border-radius: 4px;\n color: var(--colors-text-secondary);\n background: transparent;\n box-sizing: border-box;\n box-shadow: none;\n \"\n >\n <div\n mode=\"delta\"\n name=\"paddingLeft\"\n data-automation-id=\"padding-left-edit\"\n aria-label=\"Padding left edit\"\n data-legacy-styled=\"true\"\n data-origin=\"default\"\n data-resettable=\"false\"\n style=\"\n cursor: default;\n user-select: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\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 font-weight: 400;\n line-height: 11px;\n letter-spacing: -0.115px;\n display: flex;\n color: var(--colors-text-secondary);\n background: transparent;\n padding: 2px;\n margin: 0px;\n border-radius: 2px;\n max-width: 100%;\n box-sizing: content-box;\n place-self: center;\n position: relative;\n opacity: 1;\n align-items: center;\n justify-content: center;\n grid-area: 2 / 1 / 3 / 2;\n \"\n >\n <span>{{ this.getValue().padding.left }}</span>\n </div>\n </div>\n </div>\n <svg class=\"spacing-padding-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"4\" fill=\"white\" font-weight=\"500\" font-size=\"7\" dominant-baseline=\"hanging\">PADDING</text>\n </svg>\n\n <svg class=\"spacing-margin-text\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\">\n <text x=\"5\" y=\"4\" fill=\"white\" font-weight=\"500\" font-size=\"7\" dominant-baseline=\"hanging\">MARGIN</text>\n </svg>\n </div>\n </div>\n </div>\n</div>\n<ng-template #template let-type=\"type\" let-side=\"side\" let-value=\"value\">\n <div\n data-legacy-styled=\"true\"\n style=\"\n max-width: 239px;\n min-width: 201px;\n background: #353535;\n border-radius: 0.5rem;\n color: var(--colors-text-secondary, white);\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;\n font-size: 11.5px;\n line-height: 16px;\n \"\n >\n <div class=\"popover-container\">\n <div aria-hidden=\"true\" style=\"width: 16px; height: 16px; cursor: pointer\" (click)=\"setSpacing(0, type, side)\">\n <svg\n data-wf-icon=\"MarginLeftIcon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\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 <div\n data-legacy-styled=\"true\"\n style=\"display: flex; flex-direction: column; justify-content: center; height: 24px\"\n >\n <!--INPUT-->\n <!-- <input\n aria-orientation=\"horizontal\"\n aria-valuemax=\"200\"\n aria-valuemin=\"-200\"\n data-automation-id=\"style-panel-presets-slider\"\n max=\"200\"\n min=\"-200\"\n step=\"1\"\n type=\"range\"\n data-sc=\"VisuallyHidden\"\n class=\"scrollbar\"\n [value]=\"value\"\n style=\"\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n clip-path: inset(50%);\n height: 1px;\n margin: 0px -1px -1px 0px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n \"\n />\n <div\n data-legacy-styled=\"true\"\n style=\"position: relative; flex-basis: 2px; border-radius: 4px; background-color: var(--colors-border-1)\"\n >\n <div\n role=\"presentation\"\n class=\"scrollbar wf-8dbjgt\"\n style=\"\n width: 133px;\n height: 100%;\n pointer-events: none;\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n border-radius: inherit;\n \"\n ></div>\n <div\n data-automation-id=\"style-panel-presets-slider-knob\"\n data-legacy-styled=\"true\"\n style=\"\n position: absolute;\n width: 4px;\n height: 10px;\n top: -4px;\n left: 0px;\n transform: translate3d(133px, 0px, 0px);\n cursor: ew-resize;\n border-radius: 1px;\n background-color: var(--colors-text-primary);\n box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 1px, rgba(0, 0, 0, 0.3) 0px 0px 0px 0.5px;\n \"\n ></div>\n </div> -->\n <!-- <ax-range-slider [min]=\"0\" [max]=\"200\" (valuesChange)=\"setSpacing(1, type, side)\"> </ax-range-slider> -->\n <input\n type=\"range\"\n name=\"range\"\n [min]=\"0\"\n [max]=\"200\"\n [value]=\"this.getValue()[this.current().type][this.current().side]\"\n (input)=\"setSpacing($event, type, side)\"\n />\n </div>\n <div class=\"scrollbar\" data-sc=\"View\">\n <div data-sc=\"VStack Stack View\" class=\"scrollbar --styled-hKrpNK wf-1ugflpn\" style=\"--local-gap: 8px\">\n <div\n class=\"scrollbar\"\n data-sc=\"View\"\n style=\"\n gap: var(--local-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\n class=\"scrollbar\"\n style=\"display: grid; grid-template-columns: 1fr auto; transform: translate3d(0px, 0px, 0px)\"\n >\n <div\n data-legacy-styled=\"true\"\n style=\"\n grid-area: 1 / 1 / 2 / -1;\n align-items: stretch;\n background-color: var(--colors-ui-input-background);\n border-color: var(--colors-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 class=\"scrollbar\"\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(--colors-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(--colors-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(--colors-text-secondary);\n align-items: center;\n border-style: solid;\n \"\n >\n <div\n data-legacy-styled=\"true\"\n class=\"scrollbar\"\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\n data-legacy-styled=\"true\"\n style=\"\n display: grid;\n grid-area: 2 / 1 / 3 / -1;\n grid-template-columns: repeat(5, 1fr);\n grid-template-rows: 24px 24px;\n gap: 4px;\n \"\n >\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 data-legacy-styled=\"true\"\n data-focus=\"false\"\n tabindex=\"0\"\n style=\"\n border-bottom-color: var(--colors-border-1);\n border-left-color: var(--colors-border-1);\n border-right-color: var(--colors-border-1);\n border-top-color: var(--colors-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(--colors-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(--colors-action-secondary-text);\n background: var(--colors-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 data-legacy-styled=\"true\" class=\"scrollbar ax-truncate\">{{ i.label }}</div>\n </div>\n }\n </div>\n </div>\n\n <div\n data-legacy-styled=\"true\"\n style=\"height: 1px; margin-top: 4px; margin-bottom: 4px; background: var(--colors-border-1); pointer-events: none\"\n ></div>\n\n <div\n (click)=\"setSpacing(0, type, side)\"\n class=\"ax-cursor-pointer hover:!ax-bg-gray-700\"\n role=\"option\"\n data-legacy-styled=\"true\"\n cursor=\"default\"\n data-focus=\"false\"\n tabindex=\"0\"\n style=\"\n outline: 0px;\n user-select: none;\n padding: 4px 8px;\n margin: 4px 0px;\n min-height: 24px;\n --component-icon-color: var(--colors-text-secondary);\n \"\n >\n <div data-legacy-styled=\"true\" style=\"display: flex; flex-direction: row; align-items: center\">\n <div data-legacy-styled=\"true\" style=\"min-width: 24px; align-self: center; flex-grow: 1; flex-basis: 0px\">\n <div\n data-automation-id=\"reset-style-property-button\"\n data-legacy-styled=\"true\"\n style=\"\n align-items: center;\n box-sizing: border-box;\n display: grid;\n gap: 4px 8px;\n grid-template-columns: 16px 1fr auto;\n \"\n >\n <div aria-hidden=\"true\" class=\"scrollbar\" style=\"width: 16px; height: 16px\">\n <svg\n data-wf-icon=\"UndoIcon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\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 data-legacy-styled=\"true\" style=\"align-self: center\">\n <div\n style=\"\n cursor: default;\n user-select: none;\n font-size: 11.5px;\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: -0.115px;\n color: var(--colors-text-secondary);\n justify-self: end;\n margin-left: 1px;\n \"\n >\n <!-- <span>Alt + click</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.getValue()[this.current().type][this.current().side]\n }\"\n ></ng-container>\n</ax-popover>\n", styles: [".spacing-container{--colors-text-secondary: rgba(255, 255, 255, .67);--colors-ui-scrollbar-thumb: rgba(255, 255, 255, .67);--colors-background-1: #292929;--colors-text-secondary: white;--colors-border-2: rgba(255, 255, 255, .16);--color-changed: rgb(167, 209, 255);--color-background: rgba(0, 106, 204, .18);background-color:var(--colors-background-1);width:15rem}.spacing-container .spacing-outer-box{transform:scale(1.2);align-items:center;box-sizing:border-box;display:grid;gap:8px 4px;grid-column:1/-1;grid-template-columns:44px 1fr;padding:4px}.spacing-container .spacing-inner-box{position:relative;display:grid;margin-top:8px;margin-right:8px;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}.spacing-container .spacing-inner-box .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}.spacing-container .spacing-inner-box .spacing-margin-box::-webkit-scrollbar-thumb{background-color:var(--colors-ui-scrollbar-thumb);background-clip:padding-box;border:2px solid rgba(0,0,0,0);border-radius:10px}.spacing-container .spacing-inner-box .spacing-margin-box::-webkit-scrollbar-track{background-color:transparent;border-radius:10px}.spacing-container .spacing-inner-box .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}.spacing-container .spacing-inner-box .spacing-padding-text{grid-area:3/3/span 3/span 3;pointer-events:none;position:relative}.spacing-container .spacing-inner-box .spacing-margin-text{grid-area:1/1/-1/-1;pointer-events:none;position:relative}.popover-container{display:grid;grid-template-columns:16px 1fr 56px;grid-template-rows:24px 1fr;align-items:center;gap:8px;width:241px;padding:8px;--colors-action-secondary-text: white;--colors-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);--colors-border-1: rgba(255, 255, 255, .13)}.popover-container input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;outline:none;overflow:hidden;border-radius:12px}.popover-container input[type=range]::-webkit-slider-runnable-track{height:10px;background:#ccc;border-radius:12px}.popover-container input[type=range]::-moz-range-track{height:10px;background:#ccc;border-radius:12px}.popover-container 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)}.popover-container 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)}.scrollbar::-webkit-scrollbar{height:9px;width:9px}.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"] }]
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"] }]
7935
8878
  }] });
7936
8879
 
7937
8880
  var spacingWidgetEditor_component = /*#__PURE__*/Object.freeze({
@@ -7955,84 +8898,6 @@ const AXPSpacingWidget = {
7955
8898
  visible: false,
7956
8899
  };
7957
8900
 
7958
- class AXPBorderWidgetEditComponent extends AXPWidgetComponent {
7959
- constructor() {
7960
- super(...arguments);
7961
- this.isRadiusLinked = signal(false);
7962
- }
7963
- setRadiusLinked() {
7964
- this.isRadiusLinked.set(!this.isRadiusLinked());
7965
- }
7966
- setBorder(e, type, side) {
7967
- const value = e.value ?? 0;
7968
- const currentValue = this.getValue();
7969
- if (type === 'radius' && this.isRadiusLinked()) {
7970
- this.setValue({
7971
- ...this.getValue(),
7972
- [type]: this.setSameValue(value, type),
7973
- });
7974
- }
7975
- else {
7976
- this.setValue({
7977
- ...currentValue,
7978
- [type]: {
7979
- ...currentValue[type],
7980
- [side]: value,
7981
- },
7982
- });
7983
- }
7984
- }
7985
- setSameValue(value, type) {
7986
- if (type === 'radius') {
7987
- return {
7988
- 'top-right': value,
7989
- 'top-left': value,
7990
- 'bottom-right': value,
7991
- 'bottom-left': value,
7992
- };
7993
- }
7994
- else {
7995
- return { top: value, right: value, bottom: value, left: value };
7996
- }
7997
- }
7998
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7999
- 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>\n <div class=\"ax-border-radius-box\">\n <div class=\"ax-border-radius-top-start\">\n <i class=\"fa-regular fa-border-top-left\"></i>\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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-top-end\">\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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 <i class=\"fa-regular fa-border-top-left ax-rotate-90\"></i>\n </div>\n <div class=\"ax-border-radius-bottom-start\">\n <i class=\"fa-regular fa-border-bottom-right ax-rotate-90\"></i>\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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-bottom-end\">\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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 <i class=\"fa-regular fa-border-bottom-right\"></i>\n </div>\n <div class=\"ax-border-radius-bottom-center ax-text-xs\">\n <ax-button color=\"ghost\" [toggleable]=\"true\" (onClick)=\"setRadiusLinked()\"\n ><ax-icon><i class=\"fa-regular fa-link\"></i></ax-icon\n ></ax-button>\n </div>\n </div>\n</div> -->\n<div class=\"ax-py-2\">\n <div class=\"ax-radius-box ax-flex ax-justify-between ax-items-center ax-gap-4\">\n <span class=\"ax-text-sm ax-font-light\">Radius</span>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <div>\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 </div>\n <div>\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 </div>\n <div class=\"ax-flex ax-justify-center ax-items-center ax-flex-shrink\">\n <ax-range-slider class=\"ax-min-w-28\"></ax-range-slider>\n </div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box class=\"ax-xs ax-min-w-8\" [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-pl-0 !ax-pr-1\">PX</ax-text></ax-suffix></ax-number-box\n >\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 <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Right Border -->\n <div class=\"ax-border-box-right ax-col-start-3 ax-row-start-2\">\n <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Bottom Border -->\n <div class=\"ax-border-box-bottom ax-col-start-2 ax-row-start-3\">\n <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Left Border -->\n <div class=\"ax-border-box-left ax-col-start-1 ax-row-start-2\">\n <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Center -->\n <div class=\"ax-border-box-center ax-col-start-2 ax-row-start-2\">\n <div class=\"ax-p-1\">\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 </div>\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 ><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 [selected]=\"true\"\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 ><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 ><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\n <div class=\"ax-text-sm ax-font-light\">Width</div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box class=\"ax-xs ax-min-w-8\" [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-pl-0 !ax-pr-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n\n <div class=\"ax-text-sm ax-font-light\">Color</div>\n <ax-color-box ngModel=\"#3b82f6\"></ax-color-box>\n </div>\n </div>\n</div>\n", styles: [".ax-radius-box{--ax-range-slider-base-thickness: .15rem}.ax-radius-box ax-range-slider{padding:.5rem}.ax-radius-box ax-number-box>div>input{padding:0 .2rem!important}.ax-border-box ax-button-group ax-button-group-item{padding:.2rem .55rem}\n"], dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1$4.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: "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: i4$3.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: i5$3.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "onClick", "selectionChange"] }, { kind: "component", type: i5$3.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$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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8000
- }
8001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBorderWidgetEditComponent, decorators: [{
8002
- type: Component,
8003
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
8004
- AXNumberBoxModule,
8005
- FormsModule,
8006
- AXCheckBoxModule,
8007
- AXButtonModule,
8008
- AXDecoratorModule,
8009
- AXRangeSliderModule,
8010
- AXButtonGroupModule,
8011
- AXColorBoxModule,
8012
- ], 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>\n <div class=\"ax-border-radius-box\">\n <div class=\"ax-border-radius-top-start\">\n <i class=\"fa-regular fa-border-top-left\"></i>\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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-top-end\">\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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 <i class=\"fa-regular fa-border-top-left ax-rotate-90\"></i>\n </div>\n <div class=\"ax-border-radius-bottom-start\">\n <i class=\"fa-regular fa-border-bottom-right ax-rotate-90\"></i>\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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-bottom-end\">\n <ax-number-box\n class=\"ax-xs\"\n [minValue]=\"0\"\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 <i class=\"fa-regular fa-border-bottom-right\"></i>\n </div>\n <div class=\"ax-border-radius-bottom-center ax-text-xs\">\n <ax-button color=\"ghost\" [toggleable]=\"true\" (onClick)=\"setRadiusLinked()\"\n ><ax-icon><i class=\"fa-regular fa-link\"></i></ax-icon\n ></ax-button>\n </div>\n </div>\n</div> -->\n<div class=\"ax-py-2\">\n <div class=\"ax-radius-box ax-flex ax-justify-between ax-items-center ax-gap-4\">\n <span class=\"ax-text-sm ax-font-light\">Radius</span>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <div>\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 </div>\n <div>\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 </div>\n <div class=\"ax-flex ax-justify-center ax-items-center ax-flex-shrink\">\n <ax-range-slider class=\"ax-min-w-28\"></ax-range-slider>\n </div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box class=\"ax-xs ax-min-w-8\" [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-pl-0 !ax-pr-1\">PX</ax-text></ax-suffix></ax-number-box\n >\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 <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Right Border -->\n <div class=\"ax-border-box-right ax-col-start-3 ax-row-start-2\">\n <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Bottom Border -->\n <div class=\"ax-border-box-bottom ax-col-start-2 ax-row-start-3\">\n <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Left Border -->\n <div class=\"ax-border-box-left ax-col-start-1 ax-row-start-2\">\n <div class=\"ax-p-1\">\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 </div>\n </div>\n\n <!-- Center -->\n <div class=\"ax-border-box-center ax-col-start-2 ax-row-start-2\">\n <div class=\"ax-p-1\">\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 </div>\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 ><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 [selected]=\"true\"\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 ><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 ><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\n <div class=\"ax-text-sm ax-font-light\">Width</div>\n <div class=\"ax-flex ax-justify-start ax-items-center\">\n <ax-number-box class=\"ax-xs ax-min-w-8\" [showSpinButtons]=\"false\"\n ><ax-suffix><ax-text class=\"!ax-pl-0 !ax-pr-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n </div>\n\n <div class=\"ax-text-sm ax-font-light\">Color</div>\n <ax-color-box ngModel=\"#3b82f6\"></ax-color-box>\n </div>\n </div>\n</div>\n", styles: [".ax-radius-box{--ax-range-slider-base-thickness: .15rem}.ax-radius-box ax-range-slider{padding:.5rem}.ax-radius-box ax-number-box>div>input{padding:0 .2rem!important}.ax-border-box ax-button-group ax-button-group-item{padding:.2rem .55rem}\n"] }]
8013
- }] });
8014
-
8015
- var borderWidgetEditor_component = /*#__PURE__*/Object.freeze({
8016
- __proto__: null,
8017
- AXPBorderWidgetEditComponent: AXPBorderWidgetEditComponent
8018
- });
8019
-
8020
- const AXPBorderWidget = {
8021
- name: 'border',
8022
- title: 'Box Border',
8023
- description: 'Editing Elements Border',
8024
- group: AXP_WIDGETS_EDITOR_GROUP,
8025
- icon: 'fa-solid fa-border',
8026
- type: 'editor',
8027
- properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
8028
- components: {
8029
- edit: {
8030
- component: () => Promise.resolve().then(function () { return borderWidgetEditor_component; }).then((c) => c.AXPBorderWidgetEditComponent),
8031
- },
8032
- },
8033
- visible: false,
8034
- };
8035
-
8036
8901
  class AXPCronJobWidgetViewComponent extends AXPWidgetComponent {
8037
8902
  constructor() {
8038
8903
  super(...arguments);
@@ -8363,7 +9228,7 @@ class AXPColorBoxWidgetEditComponent extends AXPWidgetComponent {
8363
9228
  <ax-clear-button></ax-clear-button>
8364
9229
  }
8365
9230
  </ax-color-box>
8366
- `, 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$1.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 }); }
8367
9232
  }
8368
9233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPColorBoxWidgetEditComponent, decorators: [{
8369
9234
  type: Component,
@@ -8485,7 +9350,7 @@ const AXPColorBoxWidget = {
8485
9350
  ],
8486
9351
  components: {
8487
9352
  designer: {
8488
- 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),
8489
9354
  },
8490
9355
  view: {
8491
9356
  component: () => Promise.resolve().then(function () { return colorBoxWidgetView_component; }).then((c) => c.AXPColorBoxWidgetViewComponent),
@@ -8505,6 +9370,108 @@ const AXPColorBoxWidget = {
8505
9370
  },
8506
9371
  };
8507
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
+
8508
9475
  const AXPDocumentWidget = {
8509
9476
  name: 'document-layout',
8510
9477
  title: 'Document',
@@ -8536,7 +9503,7 @@ class AXPFormFieldWidgetViewComponent extends AXPWidgetComponent {
8536
9503
  <ng-container axp-widget-renderer [node]="node" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
8537
9504
  }
8538
9505
  </ax-form-field>
8539
- `, 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: i4$1.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 }); }
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 }); }
8540
9507
  }
8541
9508
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormFieldWidgetViewComponent, decorators: [{
8542
9509
  type: Component,
@@ -8590,7 +9557,7 @@ class AXPFormFieldWidgetDesignerComponent extends AXPWidgetComponent {
8590
9557
  <axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>
8591
9558
  }
8592
9559
  </ax-form-field>
8593
- `, 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: 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 }); }
8594
9561
  }
8595
9562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormFieldWidgetDesignerComponent, decorators: [{
8596
9563
  type: Component,
@@ -9327,11 +10294,15 @@ class AXPWidgetsModule {
9327
10294
  AXPGalleryWidget,
9328
10295
  AXPToggleWidget,
9329
10296
  AXPColorBoxWidget,
10297
+ AXPAvatarWidget,
9330
10298
  //
9331
10299
  AXPButtonWidget,
9332
10300
  //
9333
10301
  AXPSpacingWidget,
9334
10302
  AXPBorderWidget,
10303
+ //
10304
+ AXPStringFilterWidget,
10305
+ AXPFlexOptionsWidget,
9335
10306
  ],
9336
10307
  })] }); }
9337
10308
  }
@@ -9370,11 +10341,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9370
10341
  AXPGalleryWidget,
9371
10342
  AXPToggleWidget,
9372
10343
  AXPColorBoxWidget,
10344
+ AXPAvatarWidget,
9373
10345
  //
9374
10346
  AXPButtonWidget,
9375
10347
  //
9376
10348
  AXPSpacingWidget,
9377
10349
  AXPBorderWidget,
10350
+ //
10351
+ AXPStringFilterWidget,
10352
+ AXPFlexOptionsWidget,
9378
10353
  ],
9379
10354
  }),
9380
10355
  ],
@@ -9387,5 +10362,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9387
10362
  * Generated bundle index. Do not edit.
9388
10363
  */
9389
10364
 
9390
- 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, numberMaxValueProperty, numberMinValueProperty, 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 };
9391
10366
  //# sourceMappingURL=acorex-platform-widgets.mjs.map