@acorex/platform 19.1.7 → 19.1.9
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.
- package/common/lib/app/application.types.d.ts +4 -0
- package/common/lib/common.module.d.ts +8 -9
- package/common/lib/layout/menu/menu.types.d.ts +3 -2
- package/common/lib/layout/menu/search.provider.d.ts +2 -2
- package/common/lib/search/search-definition.builder.d.ts +5 -2
- package/common/lib/search/search.provider.d.ts +4 -0
- package/common/lib/search/search.service.d.ts +1 -0
- package/common/lib/search/search.types.d.ts +21 -5
- package/common/lib/settings/settings.service.d.ts +11 -5
- package/common/lib/store/common.actions.d.ts +0 -12
- package/common/lib/store/index.d.ts +0 -1
- package/common/lib/workflows/index.d.ts +1 -0
- package/common/lib/workflows/navigate.workflow.d.ts +13 -0
- package/core/lib/types.d.ts +19 -0
- package/fesm2022/acorex-platform-common.mjs +696 -705
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +2 -0
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +3 -3
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +172 -40
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-search.mjs +87 -15
- package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-setting.mjs +111 -5
- package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BUL6ti4U.mjs → acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-search-popup.component-gkiSZXm-.mjs +122 -0
- package/fesm2022/acorex-platform-themes-default-search-popup.component-gkiSZXm-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +11 -11
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +9 -9
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +1188 -509
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +10 -3
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/lib/builder/widget-map.d.ts +2 -0
- package/layout/designer/lib/preview/preview.component.d.ts +2 -2
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +6 -6
- package/layout/entity/lib/entity-registery.service.d.ts +16 -0
- package/layout/entity/lib/entity.config.d.ts +2 -2
- package/layout/entity/lib/entity.module.d.ts +3 -0
- package/layout/entity/lib/search-definition-command.provider.d.ts +4 -0
- package/layout/entity/lib/search-definition.provider.d.ts +6 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +1 -1
- package/layout/search/lib/search.viewmodel.d.ts +21 -1
- package/layout/search/lib/workflows/search.workflow.d.ts +2 -1
- package/layout/setting/index.d.ts +1 -0
- package/{common/lib/settings → layout/setting/lib}/search-definition.provider.d.ts +1 -1
- package/layout/setting/lib/search.provider.d.ts +9 -0
- package/layout/setting/lib/settings.module.d.ts +9 -0
- package/package.json +5 -5
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +2 -2
- package/themes/default/lib/layouts/search-layout/search-popup.component.d.ts +10 -1
- package/themes/shared/lib/components/layout-elements/layout-list.component.d.ts +3 -3
- package/widgets/lib/properties/layout.props.d.ts +1 -0
- package/widgets/lib/widgets/index.d.ts +2 -0
- package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-designer.component.d.ts +29 -0
- package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-view.component.d.ts +9 -0
- package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/layout/advanced-grid/index.d.ts +3 -0
- package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +7 -2
- package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +6 -6
- package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget-editor.component.d.ts +50 -0
- package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget.type.d.ts +21 -0
- package/widgets/lib/widgets/property-editors/grid-options/index.d.ts +3 -0
- package/widgets/lib/widgets/property-editors/property-editor-helper.d.ts +17 -2
- package/widgets/lib/widgets/property-editors/property-editor.type.d.ts +5 -0
- package/workflow/lib/workflow.service.d.ts +1 -0
- package/workflow/lib/workflow.types.d.ts +1 -1
- package/common/lib/settings/search.provider.d.ts +0 -10
- package/common/lib/store/common.effects.d.ts +0 -13
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BUL6ti4U.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-search-popup.component-Blpan821.mjs +0 -62
- package/fesm2022/acorex-platform-themes-default-search-popup.component-Blpan821.mjs.map +0 -1
|
@@ -6,12 +6,12 @@ import * as i3 from '@acorex/components/decorators';
|
|
|
6
6
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
7
7
|
import * as i4 from '@acorex/components/loading';
|
|
8
8
|
import { AXLoadingModule } from '@acorex/components/loading';
|
|
9
|
-
import * as i1$
|
|
9
|
+
import * as i1$6 from '@acorex/platform/layout/builder';
|
|
10
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
11
|
import * as i1$1 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, untracked, ChangeDetectorRef, ElementRef, viewChild, afterNextRender, NgZone, model, input, HostListener, NgModule } from '@angular/core';
|
|
14
|
+
import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, HostBinding, signal, effect, ViewEncapsulation, ViewChild, untracked, ChangeDetectorRef, ElementRef, viewChild, afterRender, 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';
|
|
@@ -37,7 +37,7 @@ import { AXDateTimeBoxModule } from '@acorex/components/datetime-box';
|
|
|
37
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
|
-
import { isNumber, sum, get } from 'lodash-es';
|
|
40
|
+
import { isNumber, cloneDeep, sum, get } from 'lodash-es';
|
|
41
41
|
import * as i1$3 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';
|
|
@@ -63,7 +63,9 @@ import * as i2$5 from '@acorex/components/image';
|
|
|
63
63
|
import { AXImageModule } from '@acorex/components/image';
|
|
64
64
|
import * as i1$4 from '@acorex/components/map';
|
|
65
65
|
import { AXMapModule } from '@acorex/components/map';
|
|
66
|
-
import
|
|
66
|
+
import * as i1$5 from '@acorex/components/grid-layout-builder';
|
|
67
|
+
import { AXGridLayoutContainerComponent, AXGridLayoutBuilderModule } from '@acorex/components/grid-layout-builder';
|
|
68
|
+
import { AXPDesignerService, AXPWidgetDesignerRendererDirective, AXPDesignerGridDrawerComponent, AXPDesignerAddWidgetMiniButtonComponent } from '@acorex/platform/layout/designer';
|
|
67
69
|
import * as i4$2 from '@acorex/components/button-group';
|
|
68
70
|
import { AXButtonGroupModule } from '@acorex/components/button-group';
|
|
69
71
|
import * as i2$6 from '@acorex/components/color-box';
|
|
@@ -72,11 +74,11 @@ import * as i3$6 from '@acorex/components/range-slider';
|
|
|
72
74
|
import { AXRangeSliderModule } from '@acorex/components/range-slider';
|
|
73
75
|
import * as i6 from '@acorex/components/dropdown';
|
|
74
76
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
75
|
-
import * as i1$
|
|
77
|
+
import * as i1$7 from '@acorex/components/popover';
|
|
76
78
|
import { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
|
|
77
|
-
import * as i1$
|
|
79
|
+
import * as i1$8 from '@acorex/components/cron-job';
|
|
78
80
|
import { AXCronJobModule } from '@acorex/components/cron-job';
|
|
79
|
-
import * as i1$
|
|
81
|
+
import * as i1$9 from '@acorex/components/qrcode';
|
|
80
82
|
import { AXQrcodeModule } from '@acorex/components/qrcode';
|
|
81
83
|
import { AXColorUtil } from '@acorex/core/utils';
|
|
82
84
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
@@ -908,6 +910,21 @@ const AXP_LAYOUT_FLEX_PROPERTY = {
|
|
|
908
910
|
},
|
|
909
911
|
visible: true,
|
|
910
912
|
};
|
|
913
|
+
const AXP_LAYOUT_GRID_PROPERTY = {
|
|
914
|
+
name: 'gridOptions',
|
|
915
|
+
title: 'Grid Options',
|
|
916
|
+
group: AXP_BOX_MODEL_PROPERTY_GROUP,
|
|
917
|
+
schema: {
|
|
918
|
+
dataType: 'object',
|
|
919
|
+
interface: {
|
|
920
|
+
name: 'gridOptions',
|
|
921
|
+
path: 'options.gridOptions',
|
|
922
|
+
type: AXPWidgetsCatalog.gridOptions,
|
|
923
|
+
options: {},
|
|
924
|
+
},
|
|
925
|
+
},
|
|
926
|
+
visible: true,
|
|
927
|
+
};
|
|
911
928
|
|
|
912
929
|
const AXP_TABLE_COLUMN_WIDTH_PROPERTY = {
|
|
913
930
|
name: 'width',
|
|
@@ -7458,182 +7475,674 @@ const AXPSignatureWidget = {
|
|
|
7458
7475
|
},
|
|
7459
7476
|
};
|
|
7460
7477
|
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7464
|
-
|
|
7465
|
-
|
|
7466
|
-
|
|
7467
|
-
|
|
7468
|
-
|
|
7469
|
-
|
|
7470
|
-
|
|
7478
|
+
/**
|
|
7479
|
+
* Utility class for parsing and handling property editor values like borders, spacing, and units.
|
|
7480
|
+
*/
|
|
7481
|
+
class AXPPropertyEditorHelper {
|
|
7482
|
+
/**
|
|
7483
|
+
* Expands shorthand input values into full sets for sides or corners.
|
|
7484
|
+
* @param values - Array of input values.
|
|
7485
|
+
* @returns Expanded array of values.
|
|
7486
|
+
*/
|
|
7487
|
+
static expandShorthand(values) {
|
|
7488
|
+
switch (values.length) {
|
|
7489
|
+
case 1:
|
|
7490
|
+
return [values[0], values[0], values[0], values[0]];
|
|
7491
|
+
case 2:
|
|
7492
|
+
return [values[0], values[1], values[0], values[1]];
|
|
7493
|
+
case 3:
|
|
7494
|
+
return [values[0], values[1], values[2], values[1]];
|
|
7495
|
+
case 4:
|
|
7496
|
+
return values;
|
|
7497
|
+
default:
|
|
7498
|
+
throw new Error(`Invalid shorthand value count. Input: ${values}`);
|
|
7499
|
+
}
|
|
7471
7500
|
}
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
cls[`ax-gap-${this.gap()}`] = true;
|
|
7480
|
-
//
|
|
7481
|
-
if (this.flexAlignItems()) {
|
|
7482
|
-
cls[this.flexAlignItems()] = true;
|
|
7501
|
+
/**
|
|
7502
|
+
* @param values An array of four values to condense.
|
|
7503
|
+
* @returns A condensed string representation of the values.
|
|
7504
|
+
*/
|
|
7505
|
+
static condenseShorthand(values) {
|
|
7506
|
+
if (values.length !== 4) {
|
|
7507
|
+
throw new Error('Expected 4 values for condensation.');
|
|
7483
7508
|
}
|
|
7484
|
-
if (
|
|
7485
|
-
|
|
7509
|
+
if (values[0] === values[1] && values[1] === values[2] && values[2] === values[3]) {
|
|
7510
|
+
return `${values[0]}`;
|
|
7486
7511
|
}
|
|
7487
|
-
if (
|
|
7488
|
-
|
|
7512
|
+
else if (values[0] === values[2] && values[1] === values[3]) {
|
|
7513
|
+
return `${values[0]} ${values[1]}`;
|
|
7489
7514
|
}
|
|
7490
|
-
if (
|
|
7491
|
-
|
|
7515
|
+
else if (values[1] === values[3]) {
|
|
7516
|
+
return `${values[0]} ${values[1]} ${values[2]}`;
|
|
7517
|
+
}
|
|
7518
|
+
else {
|
|
7519
|
+
return `${values[0]} ${values[1]} ${values[2]} ${values[3]}`;
|
|
7492
7520
|
}
|
|
7493
|
-
return cls;
|
|
7494
7521
|
}
|
|
7495
|
-
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7522
|
+
/**
|
|
7523
|
+
* Parses sides (top, left, bottom, right) from a string.
|
|
7524
|
+
* @param input - Input string.
|
|
7525
|
+
* @returns Parsed sides object.
|
|
7526
|
+
*/
|
|
7527
|
+
static parseSides(input) {
|
|
7528
|
+
const values = this.expandShorthand(input.match(/(?:rgb\([^)]+\)|[^ ]+)/g)?.map((value) => value.trim()) || []);
|
|
7529
|
+
return { top: values[0], right: values[1], bottom: values[2], left: values[3] };
|
|
7530
|
+
}
|
|
7531
|
+
static parseSidesWithUnits(input) {
|
|
7532
|
+
const values = this.expandShorthand(input.match(/(?:rgb\([^)]+\)|[^ ]+)/g)?.map((value) => value.trim()) || []);
|
|
7501
7533
|
return {
|
|
7502
|
-
|
|
7503
|
-
|
|
7504
|
-
|
|
7505
|
-
|
|
7506
|
-
margin: spacing.margin,
|
|
7507
|
-
// Border
|
|
7508
|
-
'border-radius': border.radius,
|
|
7509
|
-
'border-width': border.width,
|
|
7510
|
-
'border-color': border.color,
|
|
7511
|
-
'border-style': border.style,
|
|
7512
|
-
// Flexbox
|
|
7513
|
-
'flex-direction': flex?.flexDirection ?? 'row',
|
|
7514
|
-
'flex-wrap': flex?.flexWrap ?? 'nowrap',
|
|
7515
|
-
'justify-content': flex?.justifyContent ?? 'flex-start',
|
|
7516
|
-
'align-items': flex?.alignItems ?? 'flex-start',
|
|
7517
|
-
gap: flex?.gap ?? '0px',
|
|
7534
|
+
top: AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,
|
|
7535
|
+
right: AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,
|
|
7536
|
+
bottom: AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,
|
|
7537
|
+
left: AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,
|
|
7518
7538
|
};
|
|
7519
7539
|
}
|
|
7520
|
-
|
|
7521
|
-
|
|
7522
|
-
|
|
7523
|
-
|
|
7524
|
-
|
|
7525
|
-
|
|
7526
|
-
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
|
|
7530
|
-
|
|
7531
|
-
|
|
7532
|
-
|
|
7533
|
-
[locked]="this.locked"
|
|
7534
|
-
></ng-container>
|
|
7535
|
-
} @empty {
|
|
7536
|
-
<axp-designer-add-widget-mini-button
|
|
7537
|
-
class="ax-flex-1 ax-self-center ax-place-self-end"
|
|
7538
|
-
></axp-designer-add-widget-mini-button>
|
|
7539
|
-
}
|
|
7540
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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 }); }
|
|
7541
|
-
}
|
|
7542
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetDesignerComponent, decorators: [{
|
|
7543
|
-
type: Component,
|
|
7544
|
-
args: [{
|
|
7545
|
-
selector: 'axp-block-widget',
|
|
7546
|
-
template: `
|
|
7547
|
-
@for (node of children(); track $index) {
|
|
7548
|
-
<ng-container
|
|
7549
|
-
axp-widget-designer-renderer
|
|
7550
|
-
[node]="node"
|
|
7551
|
-
[parentNode]="this"
|
|
7552
|
-
[mode]="this.mode"
|
|
7553
|
-
[locked]="this.locked"
|
|
7554
|
-
></ng-container>
|
|
7555
|
-
} @empty {
|
|
7556
|
-
<axp-designer-add-widget-mini-button
|
|
7557
|
-
class="ax-flex-1 ax-self-center ax-place-self-end"
|
|
7558
|
-
></axp-designer-add-widget-mini-button>
|
|
7559
|
-
}
|
|
7560
|
-
`,
|
|
7561
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7562
|
-
imports: [
|
|
7563
|
-
CommonModule,
|
|
7564
|
-
AXPLayoutBuilderModule,
|
|
7565
|
-
AXPWidgetDesignerRendererDirective,
|
|
7566
|
-
AXPDesignerAddWidgetMiniButtonComponent,
|
|
7567
|
-
],
|
|
7568
|
-
providers: [
|
|
7569
|
-
{
|
|
7570
|
-
provide: AXPWidgetComponent,
|
|
7571
|
-
useExisting: AXPBlockWidgetDesignerComponent,
|
|
7572
|
-
},
|
|
7573
|
-
],
|
|
7574
|
-
}]
|
|
7575
|
-
}], propDecorators: { __class: [{
|
|
7576
|
-
type: HostBinding,
|
|
7577
|
-
args: ['class']
|
|
7578
|
-
}], __style: [{
|
|
7579
|
-
type: HostBinding,
|
|
7580
|
-
args: ['style']
|
|
7581
|
-
}] } });
|
|
7582
|
-
|
|
7583
|
-
var blockWidgetDesigner_component = /*#__PURE__*/Object.freeze({
|
|
7584
|
-
__proto__: null,
|
|
7585
|
-
AXPBlockWidgetDesignerComponent: AXPBlockWidgetDesignerComponent
|
|
7586
|
-
});
|
|
7587
|
-
|
|
7588
|
-
class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
|
|
7589
|
-
constructor() {
|
|
7590
|
-
super(...arguments);
|
|
7591
|
-
this.backgroundColor = computed(() => this.options()['backgroundColor']);
|
|
7592
|
-
this.cssClass = computed(() => this.options()['cssClass']);
|
|
7593
|
-
this.flexAlignItems = computed(() => this.options()['flexAlignItems']?.id);
|
|
7594
|
-
this.flexJustifyContent = computed(() => this.options()['flexJustifyContent']?.id);
|
|
7595
|
-
this.flexWrap = computed(() => this.options()['flexWrap']?.id);
|
|
7596
|
-
this.flexDirection = computed(() => this.options()['flexDirection']?.id);
|
|
7597
|
-
this.gap = computed(() => this.options()['gap'] ?? 0);
|
|
7540
|
+
/**
|
|
7541
|
+
* Parses corners (top-left, top-right, bottom-left, bottom-right) from a string.
|
|
7542
|
+
* @param input - Input string.
|
|
7543
|
+
* @returns Parsed corners object.
|
|
7544
|
+
*/
|
|
7545
|
+
static parseCorners(input) {
|
|
7546
|
+
const values = this.expandShorthand(input.split(' ').map((value) => value.trim()));
|
|
7547
|
+
return {
|
|
7548
|
+
'top-left': AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,
|
|
7549
|
+
'top-right': AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,
|
|
7550
|
+
'bottom-left': AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,
|
|
7551
|
+
'bottom-right': AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,
|
|
7552
|
+
};
|
|
7598
7553
|
}
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7604
|
-
|
|
7605
|
-
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7609
|
-
}
|
|
7610
|
-
if (this.flexJustifyContent()) {
|
|
7611
|
-
cls[this.flexJustifyContent()] = true;
|
|
7612
|
-
}
|
|
7613
|
-
if (this.flexWrap()) {
|
|
7614
|
-
cls[this.flexWrap()] = true;
|
|
7615
|
-
}
|
|
7616
|
-
if (this.flexDirection()) {
|
|
7617
|
-
cls[this.flexDirection()] = true;
|
|
7618
|
-
}
|
|
7619
|
-
return cls;
|
|
7554
|
+
/**
|
|
7555
|
+
* Parses a spacing box from strings for margin and padding.
|
|
7556
|
+
* @param input - Spacing box string input.
|
|
7557
|
+
* @returns Parsed spacing box.
|
|
7558
|
+
*/
|
|
7559
|
+
static parseSpacingBox(input) {
|
|
7560
|
+
return {
|
|
7561
|
+
margin: this.parseSidesWithUnits(input.margin),
|
|
7562
|
+
padding: this.parseSidesWithUnits(input.padding),
|
|
7563
|
+
};
|
|
7620
7564
|
}
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7565
|
+
/**
|
|
7566
|
+
* Parses a border box from strings for width, radius, color, and style.
|
|
7567
|
+
* @param input - Border box string input.
|
|
7568
|
+
* @returns Parsed border box.
|
|
7569
|
+
*/
|
|
7570
|
+
static parseBorderBox(input) {
|
|
7624
7571
|
return {
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
'border-radius': border.radius,
|
|
7630
|
-
'border-width': border.width,
|
|
7631
|
-
'border-color': border.color,
|
|
7632
|
-
'border-style': border.style,
|
|
7572
|
+
width: this.parseSidesWithUnits(input.width),
|
|
7573
|
+
radius: this.parseCorners(input.radius),
|
|
7574
|
+
color: this.parseSides(input.color),
|
|
7575
|
+
style: this.parseSides(input.style),
|
|
7633
7576
|
};
|
|
7634
7577
|
}
|
|
7635
|
-
|
|
7636
|
-
|
|
7578
|
+
/**
|
|
7579
|
+
* Reverses a spacing box object into a string representation.
|
|
7580
|
+
* @param input - Spacing box object.
|
|
7581
|
+
* @param units - Units for margin and padding.
|
|
7582
|
+
* @returns String representation of the spacing box.
|
|
7583
|
+
*/
|
|
7584
|
+
static parseSpacingBoxReverse(input, units) {
|
|
7585
|
+
const format = (value, unit) => `${value}${unit}`;
|
|
7586
|
+
return {
|
|
7587
|
+
margin: AXPPropertyEditorHelper.condenseShorthand([
|
|
7588
|
+
format(input.margin.top, units.margin.top),
|
|
7589
|
+
format(input.margin.right, units.margin.right),
|
|
7590
|
+
format(input.margin.bottom, units.margin.bottom),
|
|
7591
|
+
format(input.margin.left, units.margin.left),
|
|
7592
|
+
]),
|
|
7593
|
+
padding: AXPPropertyEditorHelper.condenseShorthand([
|
|
7594
|
+
format(input.padding.top, units.padding.top),
|
|
7595
|
+
format(input.padding.right, units.padding.right),
|
|
7596
|
+
format(input.padding.bottom, units.padding.bottom),
|
|
7597
|
+
format(input.padding.left, units.padding.left),
|
|
7598
|
+
]),
|
|
7599
|
+
};
|
|
7600
|
+
}
|
|
7601
|
+
/**
|
|
7602
|
+
* Reverses a border box object into a string representation.
|
|
7603
|
+
* @param input - Border box object.
|
|
7604
|
+
* @param units - Units for width, radius, color, and style.
|
|
7605
|
+
* @returns String representation of the border box.
|
|
7606
|
+
*/
|
|
7607
|
+
static parseBorderBoxReverse(input, units) {
|
|
7608
|
+
const format = (value, unit) => `${value}${unit}`;
|
|
7609
|
+
return {
|
|
7610
|
+
width: AXPPropertyEditorHelper.condenseShorthand([
|
|
7611
|
+
format(input.width.top, units.width.top),
|
|
7612
|
+
format(input.width.right, units.width.right),
|
|
7613
|
+
format(input.width.bottom, units.width.bottom),
|
|
7614
|
+
format(input.width.left, units.width.left),
|
|
7615
|
+
]),
|
|
7616
|
+
radius: AXPPropertyEditorHelper.condenseShorthand([
|
|
7617
|
+
format(input.radius['top-left'], units.radius['top-left']),
|
|
7618
|
+
format(input.radius['top-right'], units.radius['top-right']),
|
|
7619
|
+
format(input.radius['bottom-right'], units.radius['bottom-right']),
|
|
7620
|
+
format(input.radius['bottom-left'], units.radius['bottom-left']),
|
|
7621
|
+
]),
|
|
7622
|
+
color: AXPPropertyEditorHelper.condenseShorthand([
|
|
7623
|
+
`${input.color.top}${units.color.top}`,
|
|
7624
|
+
`${input.color.right}${units.color.right}`,
|
|
7625
|
+
`${input.color.bottom}${units.color.bottom}`,
|
|
7626
|
+
`${input.color.left}${units.color.left}`,
|
|
7627
|
+
]),
|
|
7628
|
+
style: AXPPropertyEditorHelper.condenseShorthand([
|
|
7629
|
+
`${input.style.top}${units.style.top}`,
|
|
7630
|
+
`${input.style.right}${units.style.right}`,
|
|
7631
|
+
`${input.style.bottom}${units.style.bottom}`,
|
|
7632
|
+
`${input.style.left}${units.style.left}`,
|
|
7633
|
+
]),
|
|
7634
|
+
};
|
|
7635
|
+
}
|
|
7636
|
+
/**
|
|
7637
|
+
* Parses a value with a unit (e.g., "20px") and returns its numeric value and unit.
|
|
7638
|
+
* @param input - Input string or number.
|
|
7639
|
+
* @returns Object with value and unit.
|
|
7640
|
+
*/
|
|
7641
|
+
static getValueWithUnit(input) {
|
|
7642
|
+
if (typeof input === 'number')
|
|
7643
|
+
return { value: input, unit: 'px' };
|
|
7644
|
+
if (input === 'auto')
|
|
7645
|
+
return { value: 0, unit: 'px' };
|
|
7646
|
+
const match = input.match(/^([0-9.]+)([a-z%]*)$/i);
|
|
7647
|
+
if (!match)
|
|
7648
|
+
throw new Error(`Invalid unit format: ${input}`);
|
|
7649
|
+
return { value: parseFloat(match[1]), unit: match[2] || '' };
|
|
7650
|
+
}
|
|
7651
|
+
/**
|
|
7652
|
+
* Reverses a numeric value and unit into a single string.
|
|
7653
|
+
* @param value - Numeric value.
|
|
7654
|
+
* @param unit - Unit string.
|
|
7655
|
+
* @returns Combined string.
|
|
7656
|
+
*/
|
|
7657
|
+
static getValueFromUnit(value, unit) {
|
|
7658
|
+
return unit ? `${value}${unit}` : `${value}`;
|
|
7659
|
+
}
|
|
7660
|
+
/**
|
|
7661
|
+
* Parses a gap string into x and y values and units.
|
|
7662
|
+
*
|
|
7663
|
+
* @param gapString The gap string to parse (e.g., "10px", "10px 20px").
|
|
7664
|
+
* @returns An object containing the x and y values and units.
|
|
7665
|
+
* @throws Error If the gap string is invalid.
|
|
7666
|
+
*/
|
|
7667
|
+
static parseGap(gap) {
|
|
7668
|
+
// Split the gap string into parts
|
|
7669
|
+
const parts = gap.split(/\s+/);
|
|
7670
|
+
// Extract the first value and unit using a regex
|
|
7671
|
+
const match = parts[0].match(/^(\d+\.?\d*)([a-z%]+)$/);
|
|
7672
|
+
if (!match) {
|
|
7673
|
+
throw new Error('Invalid gap format');
|
|
7674
|
+
}
|
|
7675
|
+
const [, xValue, unit] = match;
|
|
7676
|
+
// Determine the y value
|
|
7677
|
+
let yValue = parseFloat(xValue); // Default to the same as x
|
|
7678
|
+
if (parts.length === 2) {
|
|
7679
|
+
const secondMatch = parts[1].match(/^(\d+\.?\d*)[a-z%]+$/);
|
|
7680
|
+
if (!secondMatch) {
|
|
7681
|
+
throw new Error('Invalid gap format');
|
|
7682
|
+
}
|
|
7683
|
+
yValue = parseFloat(secondMatch[1]);
|
|
7684
|
+
}
|
|
7685
|
+
return {
|
|
7686
|
+
values: {
|
|
7687
|
+
x: parseFloat(xValue),
|
|
7688
|
+
y: yValue,
|
|
7689
|
+
},
|
|
7690
|
+
unit,
|
|
7691
|
+
};
|
|
7692
|
+
}
|
|
7693
|
+
/**
|
|
7694
|
+
* Extracts the repetition count from a CSS grid template string of the format "repeat(N, 1fr)".
|
|
7695
|
+
*
|
|
7696
|
+
* @param gridTemplate - The CSS grid template string, e.g., "repeat(5, 1fr)".
|
|
7697
|
+
* @returns The number of repetitions as a number.
|
|
7698
|
+
*/
|
|
7699
|
+
static parseGridTemplate(gridTemplate) {
|
|
7700
|
+
const match = gridTemplate.match(/^repeat\((\d+),\s*1fr\)$/);
|
|
7701
|
+
if (!match) {
|
|
7702
|
+
throw new Error("Invalid grid template format. Expected 'repeat(N, 1fr)'.");
|
|
7703
|
+
}
|
|
7704
|
+
return parseInt(match[1], 10);
|
|
7705
|
+
}
|
|
7706
|
+
/**
|
|
7707
|
+
* Creates a CSS grid template string of the format "repeat(N, 1fr)"
|
|
7708
|
+
* based on the provided repetition count.
|
|
7709
|
+
*
|
|
7710
|
+
* @param repetitionCount - The number of repetitions.
|
|
7711
|
+
* @returns The CSS grid template string, e.g., "repeat(5, 1fr)".
|
|
7712
|
+
*/
|
|
7713
|
+
static createGridTemplate(repetitionCount) {
|
|
7714
|
+
if (repetitionCount <= 0) {
|
|
7715
|
+
throw new Error('Repetition count must be a positive integer.');
|
|
7716
|
+
}
|
|
7717
|
+
return `repeat(${repetitionCount}, 1fr)`;
|
|
7718
|
+
}
|
|
7719
|
+
}
|
|
7720
|
+
|
|
7721
|
+
class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
|
|
7722
|
+
constructor() {
|
|
7723
|
+
super(...arguments);
|
|
7724
|
+
this.el = inject(ElementRef);
|
|
7725
|
+
this.designerService = inject(AXPDesignerService);
|
|
7726
|
+
this.container = viewChild(AXGridLayoutContainerComponent);
|
|
7727
|
+
this.widgetOption = computed(() => ({
|
|
7728
|
+
h: 1,
|
|
7729
|
+
w: 1,
|
|
7730
|
+
content: '',
|
|
7731
|
+
}));
|
|
7732
|
+
this.cols = computed(() => this.calcGridRowOrColumn(this.options()['gridOptions']?.default?.gridTemplateColumns ?? 'repeat(1, 1fr)'));
|
|
7733
|
+
this.rows = computed(() => this.calcGridRowOrColumn(this.options()['gridOptions']?.default?.gridTemplateRows ?? 'repeat(1, 1fr)'));
|
|
7734
|
+
this.align = computed(() => this.options()['gridOptions']?.default?.alignItems ?? 'stretch');
|
|
7735
|
+
this.justify = computed(() => this.options()['gridOptions']?.default?.justifyItems ?? 'stretch');
|
|
7736
|
+
this.gap = computed(() => this.options()['gridOptions']?.default?.gap ?? '1px');
|
|
7737
|
+
this.cells = computed(() => this.calcTotalCells(this.options()['gridOptions']?.default?.gridTemplateRows ?? 'repeat(1, 1fr)', this.options()['gridOptions']?.default?.gridTemplateColumns ?? 'repeat(1, 1fr)'));
|
|
7738
|
+
this.settled = computed(() => this.cols() * this.rows() > 1 && this.children().length);
|
|
7739
|
+
// eff = effect(() => console.log(this.options()['gridOptions']));
|
|
7740
|
+
this.#columnsChangeEffect = effect(() => this.container()?.setOption({ column: this.cols() }));
|
|
7741
|
+
this.#rowOrColumnChangeEffect = effect(() => {
|
|
7742
|
+
const deferent = this.cells() - this.children().length;
|
|
7743
|
+
untracked(() => {
|
|
7744
|
+
if (deferent > 0) {
|
|
7745
|
+
Array.from({ length: deferent })
|
|
7746
|
+
.map(() => ({
|
|
7747
|
+
type: AXPWidgetsCatalog.gridItem,
|
|
7748
|
+
}))
|
|
7749
|
+
.forEach((node) => {
|
|
7750
|
+
this.designerService.addWidget(this.node, node);
|
|
7751
|
+
});
|
|
7752
|
+
}
|
|
7753
|
+
else if (deferent < 0) {
|
|
7754
|
+
this.children()
|
|
7755
|
+
.slice(deferent)
|
|
7756
|
+
.forEach((node) => this.designerService.removeWidget(node));
|
|
7757
|
+
}
|
|
7758
|
+
});
|
|
7759
|
+
});
|
|
7760
|
+
this.#af = afterRender(() => {
|
|
7761
|
+
const els = this.el.nativeElement.querySelectorAll('ax-grid-layout-widget > .grid-stack-item-content');
|
|
7762
|
+
if (els.length) {
|
|
7763
|
+
els.forEach((item) => {
|
|
7764
|
+
if (item instanceof HTMLElement) {
|
|
7765
|
+
item.style.removeProperty('justify-content');
|
|
7766
|
+
item.style.justifyContent = this.justify();
|
|
7767
|
+
item.style.removeProperty('align-items');
|
|
7768
|
+
item.style.alignItems = this.align();
|
|
7769
|
+
}
|
|
7770
|
+
else {
|
|
7771
|
+
console.warn('Found a non-HTMLElement within the selected elements:', item);
|
|
7772
|
+
}
|
|
7773
|
+
});
|
|
7774
|
+
}
|
|
7775
|
+
else {
|
|
7776
|
+
console.warn('No grid-stack-item-content elements found in the afterRender hook.');
|
|
7777
|
+
}
|
|
7778
|
+
});
|
|
7779
|
+
}
|
|
7780
|
+
handleDrawerSelect(e) {
|
|
7781
|
+
this.designerService.update({
|
|
7782
|
+
values: {
|
|
7783
|
+
// options: e,
|
|
7784
|
+
options: {
|
|
7785
|
+
gridOptions: {
|
|
7786
|
+
default: {
|
|
7787
|
+
gridTemplateColumns: `repeat(${e.cols}, 1fr)`,
|
|
7788
|
+
gridTemplateRows: `repeat(${e.rows}, 1fr)`,
|
|
7789
|
+
gap: '10px',
|
|
7790
|
+
},
|
|
7791
|
+
},
|
|
7792
|
+
},
|
|
7793
|
+
},
|
|
7794
|
+
mode: 'update',
|
|
7795
|
+
widget: this.node,
|
|
7796
|
+
});
|
|
7797
|
+
const list = Array.from({ length: this.cells() }).map(() => ({
|
|
7798
|
+
type: AXPWidgetsCatalog.gridItem,
|
|
7799
|
+
}));
|
|
7800
|
+
list.forEach((node) => {
|
|
7801
|
+
this.designerService.addWidget(this.node, node);
|
|
7802
|
+
});
|
|
7803
|
+
}
|
|
7804
|
+
// eff = effect(() => console.log(this.options()['gridOptions']));
|
|
7805
|
+
#columnsChangeEffect;
|
|
7806
|
+
#rowOrColumnChangeEffect;
|
|
7807
|
+
calcTotalCells(rows, cols) {
|
|
7808
|
+
return AXPPropertyEditorHelper.parseGridTemplate(rows) * AXPPropertyEditorHelper.parseGridTemplate(cols);
|
|
7809
|
+
}
|
|
7810
|
+
calcGridRowOrColumn(value) {
|
|
7811
|
+
return AXPPropertyEditorHelper.parseGridTemplate(value);
|
|
7812
|
+
}
|
|
7813
|
+
#af;
|
|
7814
|
+
get __class() {
|
|
7815
|
+
return {
|
|
7816
|
+
'ax-widget-container': true,
|
|
7817
|
+
'ax-block': true,
|
|
7818
|
+
'ax-w-full': true,
|
|
7819
|
+
};
|
|
7820
|
+
}
|
|
7821
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdvancedGridWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7822
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAdvancedGridWidgetDesignerComponent, isStandalone: true, selector: "axp-advanced-grid-layout-widget", host: { properties: { "class": "this.__class" } }, providers: [
|
|
7823
|
+
{
|
|
7824
|
+
provide: AXPWidgetComponent,
|
|
7825
|
+
useExisting: AXPAdvancedGridWidgetDesignerComponent,
|
|
7826
|
+
},
|
|
7827
|
+
], viewQueries: [{ propertyName: "container", first: true, predicate: AXGridLayoutContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
7828
|
+
@if(settled()) {
|
|
7829
|
+
<ax-grid-layout-container>
|
|
7830
|
+
@for (child of children(); track $index) {
|
|
7831
|
+
<ax-grid-layout-widget [options]="widgetOption()">
|
|
7832
|
+
<ng-container
|
|
7833
|
+
axp-widget-designer-renderer
|
|
7834
|
+
[node]="child"
|
|
7835
|
+
[parentNode]="this"
|
|
7836
|
+
[mode]="this.mode"
|
|
7837
|
+
[locked]="this.locked"
|
|
7838
|
+
>
|
|
7839
|
+
</ng-container>
|
|
7840
|
+
</ax-grid-layout-widget>
|
|
7841
|
+
}
|
|
7842
|
+
</ax-grid-layout-container>
|
|
7843
|
+
} @else {
|
|
7844
|
+
<axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
|
|
7845
|
+
}
|
|
7846
|
+
<!--TO BE SURE ALL DYNAMIC TAILWIND CLASSES WORK WELL!-->
|
|
7847
|
+
@if(false){
|
|
7848
|
+
<div class="ax-hidden">
|
|
7849
|
+
ax-items-start ax-items-center ax-items-end ax-items-stretch ax-justify-items-start ax-justify-items-center
|
|
7850
|
+
ax-justify-items-end ax-justify-items-stretch
|
|
7851
|
+
</div>
|
|
7852
|
+
}
|
|
7853
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXGridLayoutBuilderModule }, { kind: "component", type: i1$5.AXGridLayoutContainerComponent, selector: "ax-grid-layout-container", inputs: ["options", "isEmpty"], outputs: ["onAdded", "onChange", "onDisable", "onDrag", "onDragStart", "onDragStop", "onDropped", "onEnable", "onRemoved", "onResize", "onResizeStart", "onResizeStop", "isRendered", "isEmptyChange"] }, { kind: "component", type: i1$5.AXGridLayoutWidgetComponent, selector: "ax-grid-layout-widget", inputs: ["options"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "locked", "mode", "node"] }, { kind: "component", type: AXPDesignerGridDrawerComponent, selector: "axp-designer-grid-drawer", inputs: ["rows", "columns"], outputs: ["rowsChange", "columnsChange", "onSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7854
|
+
}
|
|
7855
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdvancedGridWidgetDesignerComponent, decorators: [{
|
|
7856
|
+
type: Component,
|
|
7857
|
+
args: [{
|
|
7858
|
+
selector: 'axp-advanced-grid-layout-widget',
|
|
7859
|
+
template: `
|
|
7860
|
+
@if(settled()) {
|
|
7861
|
+
<ax-grid-layout-container>
|
|
7862
|
+
@for (child of children(); track $index) {
|
|
7863
|
+
<ax-grid-layout-widget [options]="widgetOption()">
|
|
7864
|
+
<ng-container
|
|
7865
|
+
axp-widget-designer-renderer
|
|
7866
|
+
[node]="child"
|
|
7867
|
+
[parentNode]="this"
|
|
7868
|
+
[mode]="this.mode"
|
|
7869
|
+
[locked]="this.locked"
|
|
7870
|
+
>
|
|
7871
|
+
</ng-container>
|
|
7872
|
+
</ax-grid-layout-widget>
|
|
7873
|
+
}
|
|
7874
|
+
</ax-grid-layout-container>
|
|
7875
|
+
} @else {
|
|
7876
|
+
<axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
|
|
7877
|
+
}
|
|
7878
|
+
<!--TO BE SURE ALL DYNAMIC TAILWIND CLASSES WORK WELL!-->
|
|
7879
|
+
@if(false){
|
|
7880
|
+
<div class="ax-hidden">
|
|
7881
|
+
ax-items-start ax-items-center ax-items-end ax-items-stretch ax-justify-items-start ax-justify-items-center
|
|
7882
|
+
ax-justify-items-end ax-justify-items-stretch
|
|
7883
|
+
</div>
|
|
7884
|
+
}
|
|
7885
|
+
`,
|
|
7886
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7887
|
+
imports: [
|
|
7888
|
+
CommonModule,
|
|
7889
|
+
AXGridLayoutBuilderModule,
|
|
7890
|
+
AXPLayoutBuilderModule,
|
|
7891
|
+
AXPWidgetDesignerRendererDirective,
|
|
7892
|
+
AXPDesignerGridDrawerComponent,
|
|
7893
|
+
],
|
|
7894
|
+
providers: [
|
|
7895
|
+
{
|
|
7896
|
+
provide: AXPWidgetComponent,
|
|
7897
|
+
useExisting: AXPAdvancedGridWidgetDesignerComponent,
|
|
7898
|
+
},
|
|
7899
|
+
],
|
|
7900
|
+
}]
|
|
7901
|
+
}], propDecorators: { __class: [{
|
|
7902
|
+
type: HostBinding,
|
|
7903
|
+
args: ['class']
|
|
7904
|
+
}] } });
|
|
7905
|
+
|
|
7906
|
+
var advancedGridWidgetDesigner_component = /*#__PURE__*/Object.freeze({
|
|
7907
|
+
__proto__: null,
|
|
7908
|
+
AXPAdvancedGridWidgetDesignerComponent: AXPAdvancedGridWidgetDesignerComponent
|
|
7909
|
+
});
|
|
7910
|
+
|
|
7911
|
+
class AXPAdvancedGridWidgetViewComponent extends AXPWidgetComponent {
|
|
7912
|
+
constructor() {
|
|
7913
|
+
super(...arguments);
|
|
7914
|
+
this.cols = computed(() => this.options()['cols'] ?? 1);
|
|
7915
|
+
this.rows = computed(() => this.options()['rows'] ?? 1);
|
|
7916
|
+
this.gap = computed(() => this.options()['gap'] ?? 0);
|
|
7917
|
+
}
|
|
7918
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdvancedGridWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7919
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPAdvancedGridWidgetViewComponent, isStandalone: true, selector: "axp-advanced-grid-layout-widget", usesInheritance: true, ngImport: i0, template: `
|
|
7920
|
+
<div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
|
|
7921
|
+
@for (child of children(); track $index) {
|
|
7922
|
+
<ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode">
|
|
7923
|
+
</ng-container>
|
|
7924
|
+
}
|
|
7925
|
+
</div>
|
|
7926
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7927
|
+
}
|
|
7928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPAdvancedGridWidgetViewComponent, decorators: [{
|
|
7929
|
+
type: Component,
|
|
7930
|
+
args: [{
|
|
7931
|
+
selector: 'axp-advanced-grid-layout-widget',
|
|
7932
|
+
template: `
|
|
7933
|
+
<div class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-gap-{{ gap() }}">
|
|
7934
|
+
@for (child of children(); track $index) {
|
|
7935
|
+
<ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode">
|
|
7936
|
+
</ng-container>
|
|
7937
|
+
}
|
|
7938
|
+
</div>
|
|
7939
|
+
`,
|
|
7940
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7941
|
+
imports: [CommonModule, AXPLayoutBuilderModule],
|
|
7942
|
+
}]
|
|
7943
|
+
}] });
|
|
7944
|
+
|
|
7945
|
+
var advancedGridWidgetView_component = /*#__PURE__*/Object.freeze({
|
|
7946
|
+
__proto__: null,
|
|
7947
|
+
AXPAdvancedGridWidgetViewComponent: AXPAdvancedGridWidgetViewComponent
|
|
7948
|
+
});
|
|
7949
|
+
|
|
7950
|
+
const AXPAdvancedGridWidget = {
|
|
7951
|
+
name: 'advanced-grid-layout',
|
|
7952
|
+
title: 'Advanced Grid Layout',
|
|
7953
|
+
type: 'container',
|
|
7954
|
+
group: AXP_WIDGETS_LAYOUT_GROUP,
|
|
7955
|
+
icon: 'fa-solid fa-grid-2',
|
|
7956
|
+
properties: [AXP_NAME_PROPERTY, AXP_LAYOUT_GRID_PROPERTY],
|
|
7957
|
+
components: {
|
|
7958
|
+
view: {
|
|
7959
|
+
component: () => Promise.resolve().then(function () { return advancedGridWidgetView_component; }).then((c) => c.AXPAdvancedGridWidgetViewComponent),
|
|
7960
|
+
},
|
|
7961
|
+
edit: {
|
|
7962
|
+
component: () => Promise.resolve().then(function () { return advancedGridWidgetView_component; }).then((c) => c.AXPAdvancedGridWidgetViewComponent),
|
|
7963
|
+
},
|
|
7964
|
+
designer: {
|
|
7965
|
+
component: () => Promise.resolve().then(function () { return advancedGridWidgetDesigner_component; }).then((c) => c.AXPAdvancedGridWidgetDesignerComponent),
|
|
7966
|
+
},
|
|
7967
|
+
},
|
|
7968
|
+
};
|
|
7969
|
+
|
|
7970
|
+
class AXPBlockWidgetDesignerComponent extends AXPWidgetComponent {
|
|
7971
|
+
constructor() {
|
|
7972
|
+
super(...arguments);
|
|
7973
|
+
this.backgroundColor = computed(() => this.options()['backgroundColor']);
|
|
7974
|
+
this.cssClass = computed(() => this.options()['cssClass']);
|
|
7975
|
+
this.flexAlignItems = computed(() => this.options()['flexAlignItems']?.id);
|
|
7976
|
+
this.flexJustifyContent = computed(() => this.options()['flexJustifyContent']?.id);
|
|
7977
|
+
this.flexWrap = computed(() => this.options()['flexWrap']?.id);
|
|
7978
|
+
this.flexDirection = computed(() => this.options()['flexDirection']?.id);
|
|
7979
|
+
this.gap = computed(() => this.options()['gap'] ?? 0);
|
|
7980
|
+
}
|
|
7981
|
+
get __class() {
|
|
7982
|
+
const cls = {};
|
|
7983
|
+
//
|
|
7984
|
+
cls[`ax-w-full`] = true;
|
|
7985
|
+
cls[`ax-widget-outline`] = true;
|
|
7986
|
+
//
|
|
7987
|
+
cls[`ax-flex`] = true;
|
|
7988
|
+
cls[`ax-gap-${this.gap()}`] = true;
|
|
7989
|
+
//
|
|
7990
|
+
if (this.flexAlignItems()) {
|
|
7991
|
+
cls[this.flexAlignItems()] = true;
|
|
7992
|
+
}
|
|
7993
|
+
if (this.flexJustifyContent()) {
|
|
7994
|
+
cls[this.flexJustifyContent()] = true;
|
|
7995
|
+
}
|
|
7996
|
+
if (this.flexWrap()) {
|
|
7997
|
+
cls[this.flexWrap()] = true;
|
|
7998
|
+
}
|
|
7999
|
+
if (this.flexDirection()) {
|
|
8000
|
+
cls[this.flexDirection()] = true;
|
|
8001
|
+
}
|
|
8002
|
+
return cls;
|
|
8003
|
+
}
|
|
8004
|
+
// TEST PURPOSE ONLY
|
|
8005
|
+
// eff = effect(() => console.log(this.options()['flexOptions']));
|
|
8006
|
+
get __style() {
|
|
8007
|
+
const spacing = this.options()?.['spacing'];
|
|
8008
|
+
const border = this.options()?.['border'];
|
|
8009
|
+
const flex = this.options()?.['flexOptions'];
|
|
8010
|
+
return {
|
|
8011
|
+
// Background
|
|
8012
|
+
'background-color': this.backgroundColor(),
|
|
8013
|
+
// Spacing
|
|
8014
|
+
padding: spacing?.padding ?? 0,
|
|
8015
|
+
margin: spacing?.margin ?? 0,
|
|
8016
|
+
// Border
|
|
8017
|
+
'border-radius': border?.radius ?? 0,
|
|
8018
|
+
'border-width': border?.width ?? 0,
|
|
8019
|
+
'border-color': border?.color ?? '#000000',
|
|
8020
|
+
'border-style': border?.style ?? 'none',
|
|
8021
|
+
// Flexbox
|
|
8022
|
+
'flex-direction': flex?.flexDirection ?? 'row',
|
|
8023
|
+
'flex-wrap': flex?.flexWrap ?? 'nowrap',
|
|
8024
|
+
'justify-content': flex?.justifyContent ?? 'flex-start',
|
|
8025
|
+
'align-items': flex?.alignItems ?? 'flex-start',
|
|
8026
|
+
gap: flex?.gap ?? '0px',
|
|
8027
|
+
};
|
|
8028
|
+
}
|
|
8029
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8030
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPBlockWidgetDesignerComponent, isStandalone: true, selector: "axp-block-widget", host: { properties: { "class": "this.__class", "style": "this.__style" } }, providers: [
|
|
8031
|
+
{
|
|
8032
|
+
provide: AXPWidgetComponent,
|
|
8033
|
+
useExisting: AXPBlockWidgetDesignerComponent,
|
|
8034
|
+
},
|
|
8035
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
8036
|
+
@for (node of children(); track $index) {
|
|
8037
|
+
<ng-container
|
|
8038
|
+
axp-widget-designer-renderer
|
|
8039
|
+
[node]="node"
|
|
8040
|
+
[parentNode]="this"
|
|
8041
|
+
[mode]="this.mode"
|
|
8042
|
+
[locked]="this.locked"
|
|
8043
|
+
></ng-container>
|
|
8044
|
+
} @empty {
|
|
8045
|
+
<axp-designer-add-widget-mini-button
|
|
8046
|
+
class="ax-flex-1 ax-self-center ax-place-self-end"
|
|
8047
|
+
></axp-designer-add-widget-mini-button>
|
|
8048
|
+
}
|
|
8049
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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
|
+
}
|
|
8051
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetDesignerComponent, decorators: [{
|
|
8052
|
+
type: Component,
|
|
8053
|
+
args: [{
|
|
8054
|
+
selector: 'axp-block-widget',
|
|
8055
|
+
template: `
|
|
8056
|
+
@for (node of children(); track $index) {
|
|
8057
|
+
<ng-container
|
|
8058
|
+
axp-widget-designer-renderer
|
|
8059
|
+
[node]="node"
|
|
8060
|
+
[parentNode]="this"
|
|
8061
|
+
[mode]="this.mode"
|
|
8062
|
+
[locked]="this.locked"
|
|
8063
|
+
></ng-container>
|
|
8064
|
+
} @empty {
|
|
8065
|
+
<axp-designer-add-widget-mini-button
|
|
8066
|
+
class="ax-flex-1 ax-self-center ax-place-self-end"
|
|
8067
|
+
></axp-designer-add-widget-mini-button>
|
|
8068
|
+
}
|
|
8069
|
+
`,
|
|
8070
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8071
|
+
imports: [
|
|
8072
|
+
CommonModule,
|
|
8073
|
+
AXPLayoutBuilderModule,
|
|
8074
|
+
AXPWidgetDesignerRendererDirective,
|
|
8075
|
+
AXPDesignerAddWidgetMiniButtonComponent,
|
|
8076
|
+
],
|
|
8077
|
+
providers: [
|
|
8078
|
+
{
|
|
8079
|
+
provide: AXPWidgetComponent,
|
|
8080
|
+
useExisting: AXPBlockWidgetDesignerComponent,
|
|
8081
|
+
},
|
|
8082
|
+
],
|
|
8083
|
+
}]
|
|
8084
|
+
}], propDecorators: { __class: [{
|
|
8085
|
+
type: HostBinding,
|
|
8086
|
+
args: ['class']
|
|
8087
|
+
}], __style: [{
|
|
8088
|
+
type: HostBinding,
|
|
8089
|
+
args: ['style']
|
|
8090
|
+
}] } });
|
|
8091
|
+
|
|
8092
|
+
var blockWidgetDesigner_component = /*#__PURE__*/Object.freeze({
|
|
8093
|
+
__proto__: null,
|
|
8094
|
+
AXPBlockWidgetDesignerComponent: AXPBlockWidgetDesignerComponent
|
|
8095
|
+
});
|
|
8096
|
+
|
|
8097
|
+
class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
|
|
8098
|
+
constructor() {
|
|
8099
|
+
super(...arguments);
|
|
8100
|
+
this.backgroundColor = computed(() => this.options()['backgroundColor']);
|
|
8101
|
+
this.cssClass = computed(() => this.options()['cssClass']);
|
|
8102
|
+
this.flexAlignItems = computed(() => this.options()['flexAlignItems']?.id);
|
|
8103
|
+
this.flexJustifyContent = computed(() => this.options()['flexJustifyContent']?.id);
|
|
8104
|
+
this.flexWrap = computed(() => this.options()['flexWrap']?.id);
|
|
8105
|
+
this.flexDirection = computed(() => this.options()['flexDirection']?.id);
|
|
8106
|
+
this.gap = computed(() => this.options()['gap'] ?? 0);
|
|
8107
|
+
}
|
|
8108
|
+
get __class() {
|
|
8109
|
+
const cls = {};
|
|
8110
|
+
//
|
|
8111
|
+
cls[`ax-w-full`] = true;
|
|
8112
|
+
//
|
|
8113
|
+
cls[`ax-flex`] = true;
|
|
8114
|
+
cls[`ax-gap-${this.gap()}`] = true;
|
|
8115
|
+
//
|
|
8116
|
+
if (this.flexAlignItems()) {
|
|
8117
|
+
cls[this.flexAlignItems()] = true;
|
|
8118
|
+
}
|
|
8119
|
+
if (this.flexJustifyContent()) {
|
|
8120
|
+
cls[this.flexJustifyContent()] = true;
|
|
8121
|
+
}
|
|
8122
|
+
if (this.flexWrap()) {
|
|
8123
|
+
cls[this.flexWrap()] = true;
|
|
8124
|
+
}
|
|
8125
|
+
if (this.flexDirection()) {
|
|
8126
|
+
cls[this.flexDirection()] = true;
|
|
8127
|
+
}
|
|
8128
|
+
return cls;
|
|
8129
|
+
}
|
|
8130
|
+
get __style() {
|
|
8131
|
+
const spacing = this.options()['spacing'];
|
|
8132
|
+
const border = this.options()['border'];
|
|
8133
|
+
return {
|
|
8134
|
+
// Background
|
|
8135
|
+
'background-color': this.backgroundColor(),
|
|
8136
|
+
padding: spacing.padding,
|
|
8137
|
+
margin: spacing.margin,
|
|
8138
|
+
'border-radius': border.radius,
|
|
8139
|
+
'border-width': border.width,
|
|
8140
|
+
'border-color': border.color,
|
|
8141
|
+
'border-style': border.style,
|
|
8142
|
+
};
|
|
8143
|
+
}
|
|
8144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPBlockWidgetViewComponent, isStandalone: true, selector: "axp-block-widget", host: { properties: { "class": "this.__class", "style": "this.__style" } }, usesInheritance: true, ngImport: i0, template: `
|
|
7637
8146
|
@for (node of children(); track $index) {
|
|
7638
8147
|
<ng-container
|
|
7639
8148
|
axp-widget-renderer
|
|
@@ -7643,7 +8152,7 @@ class AXPBlockWidgetViewComponent extends AXPWidgetComponent {
|
|
|
7643
8152
|
[mode]="this.mode"
|
|
7644
8153
|
></ng-container>
|
|
7645
8154
|
}
|
|
7646
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
8155
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7647
8156
|
}
|
|
7648
8157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBlockWidgetViewComponent, decorators: [{
|
|
7649
8158
|
type: Component,
|
|
@@ -7726,7 +8235,7 @@ class AXPPageWidgetViewComponent extends AXPWidgetComponent {
|
|
|
7726
8235
|
@for (node of children(); track $index) {
|
|
7727
8236
|
<ng-container axp-widget-renderer [node]="node" [index]="index" [parentNode]="this" [mode]="this.mode"></ng-container>
|
|
7728
8237
|
}
|
|
7729
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
8238
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
7730
8239
|
}
|
|
7731
8240
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPPageWidgetViewComponent, decorators: [{
|
|
7732
8241
|
type: Component,
|
|
@@ -7811,7 +8320,7 @@ class AXPRepeaterWidgetViewComponent extends AXPWidgetComponent {
|
|
|
7811
8320
|
<ng-container axp-widget-renderer [node]="node" [parentNode]="this" [index]="i" [mode]="this.mode"></ng-container>
|
|
7812
8321
|
}
|
|
7813
8322
|
}
|
|
7814
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
8323
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7815
8324
|
}
|
|
7816
8325
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetViewComponent, decorators: [{
|
|
7817
8326
|
type: Component,
|
|
@@ -7927,7 +8436,7 @@ class AXPRepeaterWidgetEditComponent extends AXPWidgetComponent {
|
|
|
7927
8436
|
You haven't added any items yet. Click “Start Adding Items” to get started!
|
|
7928
8437
|
</div>
|
|
7929
8438
|
</ng-template>
|
|
7930
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
8439
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7931
8440
|
}
|
|
7932
8441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPRepeaterWidgetEditComponent, decorators: [{
|
|
7933
8442
|
type: Component,
|
|
@@ -8105,306 +8614,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
8105
8614
|
class="ax-col-start-10 ax-col-end-13"
|
|
8106
8615
|
>
|
|
8107
8616
|
<ax-prefix>
|
|
8108
|
-
<ax-icon class="fa-solid fa-add"></ax-icon>
|
|
8109
|
-
</ax-prefix>
|
|
8110
|
-
</ax-button>
|
|
8111
|
-
</div>
|
|
8112
|
-
}
|
|
8113
|
-
@else {
|
|
8114
|
-
<ng-container [ngTemplateOutlet]="tpl"></ng-container>
|
|
8115
|
-
}
|
|
8116
|
-
<ng-template #tpl>
|
|
8117
|
-
@for (node of children();track $index) {
|
|
8118
|
-
<ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode" [locked]="this.locked"> </ng-container>
|
|
8119
|
-
}
|
|
8120
|
-
@empty {
|
|
8121
|
-
<axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>
|
|
8122
|
-
}
|
|
8123
|
-
</ng-template>
|
|
8124
|
-
`,
|
|
8125
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8126
|
-
imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent],
|
|
8127
|
-
providers: [
|
|
8128
|
-
{
|
|
8129
|
-
provide: AXPWidgetComponent,
|
|
8130
|
-
useExisting: AXPRepeaterWidgetDesignerComponent
|
|
8131
|
-
}
|
|
8132
|
-
]
|
|
8133
|
-
}]
|
|
8134
|
-
}], propDecorators: { __class: [{
|
|
8135
|
-
type: HostBinding,
|
|
8136
|
-
args: ['class']
|
|
8137
|
-
}] } });
|
|
8138
|
-
|
|
8139
|
-
var repeaterWidgetDesigner_component = /*#__PURE__*/Object.freeze({
|
|
8140
|
-
__proto__: null,
|
|
8141
|
-
AXPRepeaterWidgetDesignerComponent: AXPRepeaterWidgetDesignerComponent
|
|
8142
|
-
});
|
|
8143
|
-
|
|
8144
|
-
const AXPRepeaterWidget = {
|
|
8145
|
-
name: 'repeater-layout',
|
|
8146
|
-
title: 'Repeater',
|
|
8147
|
-
description: 'Adds repeating form elements',
|
|
8148
|
-
icon: 'fa-solid fa-table-list',
|
|
8149
|
-
group: AXP_WIDGETS_LAYOUT_GROUP,
|
|
8150
|
-
type: 'container',
|
|
8151
|
-
properties: [
|
|
8152
|
-
AXP_NAME_PROPERTY,
|
|
8153
|
-
AXP_DATA_PATH_PROPERTY,
|
|
8154
|
-
AXP_DISABLED_PROPERTY,
|
|
8155
|
-
createBooleanProperty({
|
|
8156
|
-
name: "hasControls",
|
|
8157
|
-
title: "Controls",
|
|
8158
|
-
group: AXP_BEHAVIOR_PROPERTY_GROUP,
|
|
8159
|
-
defaultValue: true,
|
|
8160
|
-
path: "options.hasControls",
|
|
8161
|
-
})
|
|
8162
|
-
],
|
|
8163
|
-
components: {
|
|
8164
|
-
view: {
|
|
8165
|
-
component: () => Promise.resolve().then(function () { return repeaterWidgetView_component; }).then((c) => c.AXPRepeaterWidgetViewComponent),
|
|
8166
|
-
},
|
|
8167
|
-
edit: {
|
|
8168
|
-
component: () => Promise.resolve().then(function () { return repeaterWidgetEdit_component; }).then((c) => c.AXPRepeaterWidgetEditComponent),
|
|
8169
|
-
},
|
|
8170
|
-
print: {
|
|
8171
|
-
component: () => Promise.resolve().then(function () { return repeaterWidgetPrint_component; }).then((c) => c.AXPRepeaterWidgetPrintComponent),
|
|
8172
|
-
},
|
|
8173
|
-
designer: {
|
|
8174
|
-
component: () => Promise.resolve().then(function () { return repeaterWidgetDesigner_component; }).then((c) => c.AXPRepeaterWidgetDesignerComponent),
|
|
8175
|
-
},
|
|
8176
|
-
},
|
|
8177
|
-
};
|
|
8178
|
-
|
|
8179
|
-
/**
|
|
8180
|
-
* Utility class for parsing and handling property editor values like borders, spacing, and units.
|
|
8181
|
-
*/
|
|
8182
|
-
class AXPPropertyEditorHelper {
|
|
8183
|
-
/**
|
|
8184
|
-
* Expands shorthand input values into full sets for sides or corners.
|
|
8185
|
-
* @param values - Array of input values.
|
|
8186
|
-
* @returns Expanded array of values.
|
|
8187
|
-
*/
|
|
8188
|
-
static expandShorthand(values) {
|
|
8189
|
-
switch (values.length) {
|
|
8190
|
-
case 1:
|
|
8191
|
-
return [values[0], values[0], values[0], values[0]];
|
|
8192
|
-
case 2:
|
|
8193
|
-
return [values[0], values[1], values[0], values[1]];
|
|
8194
|
-
case 3:
|
|
8195
|
-
return [values[0], values[1], values[2], values[1]];
|
|
8196
|
-
case 4:
|
|
8197
|
-
return values;
|
|
8198
|
-
default:
|
|
8199
|
-
throw new Error(`Invalid shorthand value count. Input: ${values}`);
|
|
8200
|
-
}
|
|
8201
|
-
}
|
|
8202
|
-
/**
|
|
8203
|
-
* @param values An array of four values to condense.
|
|
8204
|
-
* @returns A condensed string representation of the values.
|
|
8205
|
-
*/
|
|
8206
|
-
static condenseShorthand(values) {
|
|
8207
|
-
if (values.length !== 4) {
|
|
8208
|
-
throw new Error('Expected 4 values for condensation.');
|
|
8209
|
-
}
|
|
8210
|
-
if (values[0] === values[1] && values[1] === values[2] && values[2] === values[3]) {
|
|
8211
|
-
return `${values[0]}`;
|
|
8212
|
-
}
|
|
8213
|
-
else if (values[0] === values[2] && values[1] === values[3]) {
|
|
8214
|
-
return `${values[0]} ${values[1]}`;
|
|
8215
|
-
}
|
|
8216
|
-
else if (values[1] === values[3]) {
|
|
8217
|
-
return `${values[0]} ${values[1]} ${values[2]}`;
|
|
8218
|
-
}
|
|
8219
|
-
else {
|
|
8220
|
-
return `${values[0]} ${values[1]} ${values[2]} ${values[3]}`;
|
|
8221
|
-
}
|
|
8222
|
-
}
|
|
8223
|
-
/**
|
|
8224
|
-
* Parses sides (top, left, bottom, right) from a string.
|
|
8225
|
-
* @param input - Input string.
|
|
8226
|
-
* @returns Parsed sides object.
|
|
8227
|
-
*/
|
|
8228
|
-
static parseSides(input) {
|
|
8229
|
-
const values = this.expandShorthand(input.match(/(?:rgb\([^)]+\)|[^ ]+)/g)?.map((value) => value.trim()) || []);
|
|
8230
|
-
return { top: values[0], right: values[1], bottom: values[2], left: values[3] };
|
|
8231
|
-
}
|
|
8232
|
-
static parseSidesWithUnits(input) {
|
|
8233
|
-
const values = this.expandShorthand(input.match(/(?:rgb\([^)]+\)|[^ ]+)/g)?.map((value) => value.trim()) || []);
|
|
8234
|
-
return {
|
|
8235
|
-
top: AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,
|
|
8236
|
-
right: AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,
|
|
8237
|
-
bottom: AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,
|
|
8238
|
-
left: AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,
|
|
8239
|
-
};
|
|
8240
|
-
}
|
|
8241
|
-
/**
|
|
8242
|
-
* Parses corners (top-left, top-right, bottom-left, bottom-right) from a string.
|
|
8243
|
-
* @param input - Input string.
|
|
8244
|
-
* @returns Parsed corners object.
|
|
8245
|
-
*/
|
|
8246
|
-
static parseCorners(input) {
|
|
8247
|
-
const values = this.expandShorthand(input.split(' ').map((value) => value.trim()));
|
|
8248
|
-
return {
|
|
8249
|
-
'top-left': AXPPropertyEditorHelper.getValueWithUnit(values[0]).value,
|
|
8250
|
-
'top-right': AXPPropertyEditorHelper.getValueWithUnit(values[1]).value,
|
|
8251
|
-
'bottom-left': AXPPropertyEditorHelper.getValueWithUnit(values[2]).value,
|
|
8252
|
-
'bottom-right': AXPPropertyEditorHelper.getValueWithUnit(values[3]).value,
|
|
8253
|
-
};
|
|
8254
|
-
}
|
|
8255
|
-
/**
|
|
8256
|
-
* Parses a spacing box from strings for margin and padding.
|
|
8257
|
-
* @param input - Spacing box string input.
|
|
8258
|
-
* @returns Parsed spacing box.
|
|
8259
|
-
*/
|
|
8260
|
-
static parseSpacingBox(input) {
|
|
8261
|
-
return {
|
|
8262
|
-
margin: this.parseSidesWithUnits(input.margin),
|
|
8263
|
-
padding: this.parseSidesWithUnits(input.padding),
|
|
8264
|
-
};
|
|
8265
|
-
}
|
|
8266
|
-
/**
|
|
8267
|
-
* Parses a border box from strings for width, radius, color, and style.
|
|
8268
|
-
* @param input - Border box string input.
|
|
8269
|
-
* @returns Parsed border box.
|
|
8270
|
-
*/
|
|
8271
|
-
static parseBorderBox(input) {
|
|
8272
|
-
return {
|
|
8273
|
-
width: this.parseSidesWithUnits(input.width),
|
|
8274
|
-
radius: this.parseCorners(input.radius),
|
|
8275
|
-
color: this.parseSides(input.color),
|
|
8276
|
-
style: this.parseSides(input.style),
|
|
8277
|
-
};
|
|
8278
|
-
}
|
|
8279
|
-
/**
|
|
8280
|
-
* Reverses a spacing box object into a string representation.
|
|
8281
|
-
* @param input - Spacing box object.
|
|
8282
|
-
* @param units - Units for margin and padding.
|
|
8283
|
-
* @returns String representation of the spacing box.
|
|
8284
|
-
*/
|
|
8285
|
-
static parseSpacingBoxReverse(input, units) {
|
|
8286
|
-
const format = (value, unit) => `${value}${unit}`;
|
|
8287
|
-
return {
|
|
8288
|
-
margin: AXPPropertyEditorHelper.condenseShorthand([
|
|
8289
|
-
format(input.margin.top, units.margin.top),
|
|
8290
|
-
format(input.margin.right, units.margin.right),
|
|
8291
|
-
format(input.margin.bottom, units.margin.bottom),
|
|
8292
|
-
format(input.margin.left, units.margin.left),
|
|
8293
|
-
]),
|
|
8294
|
-
padding: AXPPropertyEditorHelper.condenseShorthand([
|
|
8295
|
-
format(input.padding.top, units.padding.top),
|
|
8296
|
-
format(input.padding.right, units.padding.right),
|
|
8297
|
-
format(input.padding.bottom, units.padding.bottom),
|
|
8298
|
-
format(input.padding.left, units.padding.left),
|
|
8299
|
-
]),
|
|
8300
|
-
};
|
|
8301
|
-
}
|
|
8302
|
-
/**
|
|
8303
|
-
* Reverses a border box object into a string representation.
|
|
8304
|
-
* @param input - Border box object.
|
|
8305
|
-
* @param units - Units for width, radius, color, and style.
|
|
8306
|
-
* @returns String representation of the border box.
|
|
8307
|
-
*/
|
|
8308
|
-
static parseBorderBoxReverse(input, units) {
|
|
8309
|
-
const format = (value, unit) => `${value}${unit}`;
|
|
8310
|
-
return {
|
|
8311
|
-
width: AXPPropertyEditorHelper.condenseShorthand([
|
|
8312
|
-
format(input.width.top, units.width.top),
|
|
8313
|
-
format(input.width.right, units.width.right),
|
|
8314
|
-
format(input.width.bottom, units.width.bottom),
|
|
8315
|
-
format(input.width.left, units.width.left),
|
|
8316
|
-
]),
|
|
8317
|
-
radius: AXPPropertyEditorHelper.condenseShorthand([
|
|
8318
|
-
format(input.radius['top-left'], units.radius['top-left']),
|
|
8319
|
-
format(input.radius['top-right'], units.radius['top-right']),
|
|
8320
|
-
format(input.radius['bottom-right'], units.radius['bottom-right']),
|
|
8321
|
-
format(input.radius['bottom-left'], units.radius['bottom-left']),
|
|
8322
|
-
]),
|
|
8323
|
-
color: AXPPropertyEditorHelper.condenseShorthand([
|
|
8324
|
-
`${input.color.top}${units.color.top}`,
|
|
8325
|
-
`${input.color.right}${units.color.right}`,
|
|
8326
|
-
`${input.color.bottom}${units.color.bottom}`,
|
|
8327
|
-
`${input.color.left}${units.color.left}`,
|
|
8328
|
-
]),
|
|
8329
|
-
style: AXPPropertyEditorHelper.condenseShorthand([
|
|
8330
|
-
`${input.style.top}${units.style.top}`,
|
|
8331
|
-
`${input.style.right}${units.style.right}`,
|
|
8332
|
-
`${input.style.bottom}${units.style.bottom}`,
|
|
8333
|
-
`${input.style.left}${units.style.left}`,
|
|
8334
|
-
]),
|
|
8335
|
-
};
|
|
8336
|
-
}
|
|
8337
|
-
/**
|
|
8338
|
-
* Parses a value with a unit (e.g., "20px") and returns its numeric value and unit.
|
|
8339
|
-
* @param input - Input string or number.
|
|
8340
|
-
* @returns Object with value and unit.
|
|
8341
|
-
*/
|
|
8342
|
-
static getValueWithUnit(input) {
|
|
8343
|
-
if (typeof input === 'number')
|
|
8344
|
-
return { value: input, unit: 'px' };
|
|
8345
|
-
if (input === 'auto')
|
|
8346
|
-
return { value: 0, unit: 'px' };
|
|
8347
|
-
const match = input.match(/^([0-9.]+)([a-z%]*)$/i);
|
|
8348
|
-
if (!match)
|
|
8349
|
-
throw new Error(`Invalid unit format: ${input}`);
|
|
8350
|
-
return { value: parseFloat(match[1]), unit: match[2] || '' };
|
|
8351
|
-
}
|
|
8352
|
-
/**
|
|
8353
|
-
* Reverses a numeric value and unit into a single string.
|
|
8354
|
-
* @param value - Numeric value.
|
|
8355
|
-
* @param unit - Unit string.
|
|
8356
|
-
* @returns Combined string.
|
|
8357
|
-
*/
|
|
8358
|
-
static getValueFromUnit(value, unit) {
|
|
8359
|
-
return unit ? `${value}${unit}` : `${value}`;
|
|
8617
|
+
<ax-icon class="fa-solid fa-add"></ax-icon>
|
|
8618
|
+
</ax-prefix>
|
|
8619
|
+
</ax-button>
|
|
8620
|
+
</div>
|
|
8360
8621
|
}
|
|
8361
|
-
|
|
8362
|
-
|
|
8363
|
-
*
|
|
8364
|
-
* @param gapString The gap string to parse (e.g., "10px", "10px 20px").
|
|
8365
|
-
* @returns An object containing the x and y values and units.
|
|
8366
|
-
* @throws Error If the gap string is invalid.
|
|
8367
|
-
*/
|
|
8368
|
-
static parseGap(gapString) {
|
|
8369
|
-
const gapValues = gapString.trim().split(/\s+/);
|
|
8370
|
-
const result = {
|
|
8371
|
-
values: { x: 0, y: 0 },
|
|
8372
|
-
units: { x: 'px', y: 'px' },
|
|
8373
|
-
};
|
|
8374
|
-
/**
|
|
8375
|
-
* Extracts the numeric value and unit from a gap value string.
|
|
8376
|
-
*
|
|
8377
|
-
* @param value The gap value string to parse (e.g., "10px").
|
|
8378
|
-
* @returns An object containing the numeric value and unit.
|
|
8379
|
-
* @throws Error If the gap value is invalid.
|
|
8380
|
-
*/
|
|
8381
|
-
function extractValueAndUnit(value) {
|
|
8382
|
-
const match = value.match(/^([\d.]+)([a-z%]*)$/i);
|
|
8383
|
-
if (!match)
|
|
8384
|
-
throw new Error(`Invalid gap value: ${value}`);
|
|
8385
|
-
return { value: parseFloat(match[1]), unit: match[2] || 'px' };
|
|
8386
|
-
}
|
|
8387
|
-
if (gapValues.length === 1) {
|
|
8388
|
-
const { value, unit } = extractValueAndUnit(gapValues[0]);
|
|
8389
|
-
result.values.x = value;
|
|
8390
|
-
result.units.x = unit;
|
|
8391
|
-
result.values.y = value;
|
|
8392
|
-
result.units.y = unit;
|
|
8393
|
-
}
|
|
8394
|
-
else if (gapValues.length === 2) {
|
|
8395
|
-
const { value: xValue, unit: xUnit } = extractValueAndUnit(gapValues[0]);
|
|
8396
|
-
const { value: yValue, unit: yUnit } = extractValueAndUnit(gapValues[1]);
|
|
8397
|
-
result.values.x = xValue;
|
|
8398
|
-
result.units.x = xUnit;
|
|
8399
|
-
result.values.y = yValue;
|
|
8400
|
-
result.units.y = yUnit;
|
|
8401
|
-
}
|
|
8402
|
-
else {
|
|
8403
|
-
throw new Error(`Invalid gap string: ${gapString}`);
|
|
8404
|
-
}
|
|
8405
|
-
return result;
|
|
8622
|
+
@else {
|
|
8623
|
+
<ng-container [ngTemplateOutlet]="tpl"></ng-container>
|
|
8406
8624
|
}
|
|
8407
|
-
|
|
8625
|
+
<ng-template #tpl>
|
|
8626
|
+
@for (node of children();track $index) {
|
|
8627
|
+
<ng-container axp-widget-designer-renderer [node]="node" [parentNode]="this" [mode]="this.mode" [locked]="this.locked"> </ng-container>
|
|
8628
|
+
}
|
|
8629
|
+
@empty {
|
|
8630
|
+
<axp-designer-add-widget-mini-button ></axp-designer-add-widget-mini-button>
|
|
8631
|
+
}
|
|
8632
|
+
</ng-template>
|
|
8633
|
+
`,
|
|
8634
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8635
|
+
imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent],
|
|
8636
|
+
providers: [
|
|
8637
|
+
{
|
|
8638
|
+
provide: AXPWidgetComponent,
|
|
8639
|
+
useExisting: AXPRepeaterWidgetDesignerComponent
|
|
8640
|
+
}
|
|
8641
|
+
]
|
|
8642
|
+
}]
|
|
8643
|
+
}], propDecorators: { __class: [{
|
|
8644
|
+
type: HostBinding,
|
|
8645
|
+
args: ['class']
|
|
8646
|
+
}] } });
|
|
8647
|
+
|
|
8648
|
+
var repeaterWidgetDesigner_component = /*#__PURE__*/Object.freeze({
|
|
8649
|
+
__proto__: null,
|
|
8650
|
+
AXPRepeaterWidgetDesignerComponent: AXPRepeaterWidgetDesignerComponent
|
|
8651
|
+
});
|
|
8652
|
+
|
|
8653
|
+
const AXPRepeaterWidget = {
|
|
8654
|
+
name: 'repeater-layout',
|
|
8655
|
+
title: 'Repeater',
|
|
8656
|
+
description: 'Adds repeating form elements',
|
|
8657
|
+
icon: 'fa-solid fa-table-list',
|
|
8658
|
+
group: AXP_WIDGETS_LAYOUT_GROUP,
|
|
8659
|
+
type: 'container',
|
|
8660
|
+
properties: [
|
|
8661
|
+
AXP_NAME_PROPERTY,
|
|
8662
|
+
AXP_DATA_PATH_PROPERTY,
|
|
8663
|
+
AXP_DISABLED_PROPERTY,
|
|
8664
|
+
createBooleanProperty({
|
|
8665
|
+
name: "hasControls",
|
|
8666
|
+
title: "Controls",
|
|
8667
|
+
group: AXP_BEHAVIOR_PROPERTY_GROUP,
|
|
8668
|
+
defaultValue: true,
|
|
8669
|
+
path: "options.hasControls",
|
|
8670
|
+
})
|
|
8671
|
+
],
|
|
8672
|
+
components: {
|
|
8673
|
+
view: {
|
|
8674
|
+
component: () => Promise.resolve().then(function () { return repeaterWidgetView_component; }).then((c) => c.AXPRepeaterWidgetViewComponent),
|
|
8675
|
+
},
|
|
8676
|
+
edit: {
|
|
8677
|
+
component: () => Promise.resolve().then(function () { return repeaterWidgetEdit_component; }).then((c) => c.AXPRepeaterWidgetEditComponent),
|
|
8678
|
+
},
|
|
8679
|
+
print: {
|
|
8680
|
+
component: () => Promise.resolve().then(function () { return repeaterWidgetPrint_component; }).then((c) => c.AXPRepeaterWidgetPrintComponent),
|
|
8681
|
+
},
|
|
8682
|
+
designer: {
|
|
8683
|
+
component: () => Promise.resolve().then(function () { return repeaterWidgetDesigner_component; }).then((c) => c.AXPRepeaterWidgetDesignerComponent),
|
|
8684
|
+
},
|
|
8685
|
+
},
|
|
8686
|
+
};
|
|
8408
8687
|
|
|
8409
8688
|
const AXP_default_Border_Box_Value = {
|
|
8410
8689
|
width: { top: 0, left: 0, bottom: 0, right: 0 },
|
|
@@ -8426,6 +8705,16 @@ const AXP_default_Spacing_Box_Units = {
|
|
|
8426
8705
|
padding: { top: 'px', left: 'px', bottom: 'px', right: 'px' },
|
|
8427
8706
|
margin: { top: 'px', left: 'px', bottom: 'px', right: 'px' },
|
|
8428
8707
|
};
|
|
8708
|
+
function findNonEmptyBreakpoints(values) {
|
|
8709
|
+
const breakpoints = ['default', 'sm', 'md', 'lg', 'xl', '2xl', '3xl'];
|
|
8710
|
+
const nonEmptyBreakpoints = [];
|
|
8711
|
+
for (const breakpoint of breakpoints) {
|
|
8712
|
+
if (values[breakpoint] !== undefined) {
|
|
8713
|
+
nonEmptyBreakpoints.push(breakpoint);
|
|
8714
|
+
}
|
|
8715
|
+
}
|
|
8716
|
+
return nonEmptyBreakpoints;
|
|
8717
|
+
}
|
|
8429
8718
|
|
|
8430
8719
|
class AXPBorderWidgetEditComponent extends AXPWidgetComponent {
|
|
8431
8720
|
constructor() {
|
|
@@ -8706,7 +8995,7 @@ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
|
8706
8995
|
this.flexDirectionIsReverse = computed(() => this.flexDirection().endsWith('reverse'));
|
|
8707
8996
|
this.flexDirectionWithoutReverse = computed(() => this.flexDirection().replace('-reverse', ''));
|
|
8708
8997
|
this.gapMode = signal('both');
|
|
8709
|
-
this.gapUnit = signal(
|
|
8998
|
+
this.gapUnit = signal('px');
|
|
8710
8999
|
this.gap = signal({ both: 0, x: 0, y: 0 });
|
|
8711
9000
|
this.lastGap = signal(0);
|
|
8712
9001
|
this.selectedJustify = signal({ value: 'flex-start', label: 'Start' });
|
|
@@ -8749,8 +9038,8 @@ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
|
8749
9038
|
this.setWrapMode(value?.flexWrap ?? 'nowrap');
|
|
8750
9039
|
this.clickedJustify.set(value?.justifyContent ?? 'flex-start');
|
|
8751
9040
|
this.clickedAlign.set(value?.alignItems ?? 'flex-start');
|
|
8752
|
-
const { values,
|
|
8753
|
-
this.gapUnit.set(
|
|
9041
|
+
const { values, unit } = AXPPropertyEditorHelper.parseGap(value?.gap ?? '0px');
|
|
9042
|
+
this.gapUnit.set(unit);
|
|
8754
9043
|
if (values.x === values.y) {
|
|
8755
9044
|
this.gapMode.set('both');
|
|
8756
9045
|
this.setGap(values.x, 'both');
|
|
@@ -8787,11 +9076,11 @@ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
|
8787
9076
|
setGap(size, side) {
|
|
8788
9077
|
this.gap.set({ ...this.gap(), [side]: size });
|
|
8789
9078
|
if (this.gapMode() === 'both') {
|
|
8790
|
-
const gap = this.gap().both + this.gapUnit()
|
|
9079
|
+
const gap = this.gap().both + this.gapUnit();
|
|
8791
9080
|
this.saveValue({ gap });
|
|
8792
9081
|
}
|
|
8793
9082
|
else {
|
|
8794
|
-
const gap = this.gap().x + this.gapUnit()
|
|
9083
|
+
const gap = this.gap().x + this.gapUnit() + ' ' + this.gap().y + this.gapUnit();
|
|
8795
9084
|
this.saveValue({ gap });
|
|
8796
9085
|
}
|
|
8797
9086
|
this.lastGap.set(size);
|
|
@@ -8801,7 +9090,9 @@ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
|
8801
9090
|
const directionAlign = 'flex-start';
|
|
8802
9091
|
let calcAlign = this.calculateAlign(data.alignItems);
|
|
8803
9092
|
let calcJustify = this.calculateJustify(data.justifyContent);
|
|
8804
|
-
if (this.flexDirectionIsColumn()
|
|
9093
|
+
if (this.flexDirectionIsColumn() &&
|
|
9094
|
+
(calcAlign === 'flex-end' || calcAlign === 'flex-start') &&
|
|
9095
|
+
(calcJustify === 'flex-end' || calcJustify === 'flex-start')) {
|
|
8805
9096
|
[calcAlign, calcJustify] = [calcJustify, calcAlign];
|
|
8806
9097
|
}
|
|
8807
9098
|
if (this.clickedJustify() === 'space-between') {
|
|
@@ -8845,7 +9136,9 @@ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
|
8845
9136
|
const directionAlign = 'flex-start';
|
|
8846
9137
|
let calcAlign = this.calculateAlign(data.alignItems);
|
|
8847
9138
|
let calcJustify = this.calculateJustify(data.justifyContent);
|
|
8848
|
-
if (this.flexDirectionIsColumn()
|
|
9139
|
+
if (this.flexDirectionIsColumn() &&
|
|
9140
|
+
(calcAlign === 'flex-end' || calcAlign === 'flex-start') &&
|
|
9141
|
+
(calcJustify === 'flex-end' || calcJustify === 'flex-start')) {
|
|
8849
9142
|
[calcAlign, calcJustify] = [calcJustify, calcAlign];
|
|
8850
9143
|
}
|
|
8851
9144
|
if (this.clickedJustify() === 'space-between') {
|
|
@@ -8920,7 +9213,7 @@ class AXPFlexOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
|
8920
9213
|
}
|
|
8921
9214
|
#af;
|
|
8922
9215
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFlexOptionsWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8923
|
-
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-item color=\"primary\">\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Wrap\" (click)=\"setWrapMode('wrap')\" [class]=\"\" >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"No Wrap\" (click)=\"setWrapMode('nowrap')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-minus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-solid fa-chevron-down\"></ax-icon>\n </ax-suffix>\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-[rgb(30,30,30)] 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.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\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 ax-transition-all\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n [style.flex-direction]=\"flexDirection()\"\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\" [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(hoveredJustify()==='space-between'){ @if(clickedAlign()==='stretch'){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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'){ @if(clickedAlign()==='stretch' ){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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 ax-transition-all\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n [style.flex-direction]=\"flexDirection()\"\n\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\"\n [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(clickedJustify()==='space-between'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11 53.5C11 53.7761 10.7761 54 10.5 54H9.5C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6H10.5C10.7761 6 11 6.22386 11 6.5L11 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM50.5 54C50.7761 54 51 53.7761 51 53.5L51 6.5C51 6.22386 50.7761 6 50.5 6H49.5C49.2239 6 49 6.22386 49 6.5L49 53.5C49 53.7761 49.2239 54 49.5 54H50.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='baseline'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50.5996 4V10.2929L52.246 8.64645L52.9531 9.35355L50.0996 12.2071L47.246 9.35355L47.9531 8.64645L49.5996 10.2929V4H50.5996Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.35294 4H11.1012L13.4542 12H12.4119L11.8236 9.99994H8.63061L8.04236 12H7L9.35294 4ZM11.5295 8.99994L10.353 4.9999H10.1012L8.92473 8.99994H11.5295Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else{\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'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 30L5 32L5 28L8 30Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 53.5C13 53.7761 12.7761 54 12.5 54H11.5C11.2239 54 11 53.7761 11 53.5L11 6.5C11 6.22386 11.2239 6 11.5 6H12.5C12.7761 6 13 6.22386 13 6.5L13 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM48.5 54C48.7761 54 49 53.7761 49 53.5L49 6.5C49 6.22386 48.7761 6 48.5 6H47.5C47.2239 6 47 6.22386 47 6.5L47 53.5C47 53.7761 47.2239 54 47.5 54H48.5Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M52 30L55 28L55 32L52 30Z\" fill=\"currentColor\"></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg\n data-wf-icon=\"NineBoxAlignItemsRowSpaceAroundBaselineIcon\"\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M40.8529 4V10.2929L42.4993 8.64645L43.2064 9.35355L40.3529 12.2071L37.4993 9.35355L38.2064 8.64645L39.8529 10.2929V4H40.8529Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.3523 4H21.1006L23.4536 12H22.4112L21.8229 9.99994H18.6299L18.0417 12H16.9993L19.3523 4ZM21.5288 8.99994L20.3523 4.9999H20.1005L18.924 8.99994H21.5288Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else {\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-2\">\n <span class=\"ax-order-1\">X:</span>\n <div class=\"ax-w-32\"\n [style.order]=\"flexDirectionIsColumn()?'4':'2'\">\n <!-- <ax-select-box\n [dataSource]=\"flexDirectionIsColumn()? alignDataSource : justifyDataSource\"\n [ngModel]=\"flexDirectionIsColumn()? selectedAlign : selectedJustify\"\n (ngModelChange)=\"flexDirectionIsColumn()? selectedAlign = $event : selectedJustify = $event\"\n (onValueChanged)=\"flexDirectionIsColumn()? onAlignChange($event) :onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box> -->\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span class=\"ax-order-3\">Y:</span>\n <div class=\"ax-w-32\" [style.order]=\"flexDirectionIsColumn()?'2':'4'\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\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()==='both') {\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)=\"setGapMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='both'){\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>", styles: [".axp-flex-option ax-range-slider{--ax-range-slider-base-thickness: .1rem;padding:.25rem!important}.axp-flex-option ax-number-box:not(.ax-exclude) div:first-child{height:2rem!important;border-radius:.3rem!important;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:2.62rem}\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.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: 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$3.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i5.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { 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 }); }
|
|
9216
|
+
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-item color=\"primary\">\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Wrap\" (click)=\"setWrapMode('wrap')\" [class]=\"\" >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"No Wrap\" (click)=\"setWrapMode('nowrap')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-minus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-solid fa-chevron-down\"></ax-icon>\n </ax-suffix>\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-[rgb(30,30,30)] 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.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\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 ax-transition-all\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n [style.flex-direction]=\"flexDirection()\"\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\" [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(hoveredJustify()==='space-between'){ @if(clickedAlign()==='stretch'){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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'){ @if(clickedAlign()==='stretch' ){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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 ax-transition-all\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n [style.flex-direction]=\"flexDirection()\"\n\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\"\n [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(clickedJustify()==='space-between'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11 53.5C11 53.7761 10.7761 54 10.5 54H9.5C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6H10.5C10.7761 6 11 6.22386 11 6.5L11 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM50.5 54C50.7761 54 51 53.7761 51 53.5L51 6.5C51 6.22386 50.7761 6 50.5 6H49.5C49.2239 6 49 6.22386 49 6.5L49 53.5C49 53.7761 49.2239 54 49.5 54H50.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='baseline'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50.5996 4V10.2929L52.246 8.64645L52.9531 9.35355L50.0996 12.2071L47.246 9.35355L47.9531 8.64645L49.5996 10.2929V4H50.5996Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.35294 4H11.1012L13.4542 12H12.4119L11.8236 9.99994H8.63061L8.04236 12H7L9.35294 4ZM11.5295 8.99994L10.353 4.9999H10.1012L8.92473 8.99994H11.5295Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else{\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'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 30L5 32L5 28L8 30Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 53.5C13 53.7761 12.7761 54 12.5 54H11.5C11.2239 54 11 53.7761 11 53.5L11 6.5C11 6.22386 11.2239 6 11.5 6H12.5C12.7761 6 13 6.22386 13 6.5L13 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM48.5 54C48.7761 54 49 53.7761 49 53.5L49 6.5C49 6.22386 48.7761 6 48.5 6H47.5C47.2239 6 47 6.22386 47 6.5L47 53.5C47 53.7761 47.2239 54 47.5 54H48.5Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M52 30L55 28L55 32L52 30Z\" fill=\"currentColor\"></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg\n data-wf-icon=\"NineBoxAlignItemsRowSpaceAroundBaselineIcon\"\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M40.8529 4V10.2929L42.4993 8.64645L43.2064 9.35355L40.3529 12.2071L37.4993 9.35355L38.2064 8.64645L39.8529 10.2929V4H40.8529Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.3523 4H21.1006L23.4536 12H22.4112L21.8229 9.99994H18.6299L18.0417 12H16.9993L19.3523 4ZM21.5288 8.99994L20.3523 4.9999H20.1005L18.924 8.99994H21.5288Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else {\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-2\">\n <span class=\"ax-order-1\">X:</span>\n <div class=\"ax-w-32\"\n [style.order]=\"flexDirectionIsColumn()?'4':'2'\">\n <!-- <ax-select-box\n [dataSource]=\"flexDirectionIsColumn()? alignDataSource : justifyDataSource\"\n [ngModel]=\"flexDirectionIsColumn()? selectedAlign : selectedJustify\"\n (ngModelChange)=\"flexDirectionIsColumn()? selectedAlign = $event : selectedJustify = $event\"\n (onValueChanged)=\"flexDirectionIsColumn()? onAlignChange($event) :onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box> -->\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span class=\"ax-order-3\">Y:</span>\n <div class=\"ax-w-32\" [style.order]=\"flexDirectionIsColumn()?'2':'4'\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\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()==='both') {\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)=\"setGapMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='both'){\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>", 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{height:2rem!important;border-radius:.3rem!important;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:2.62rem}\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.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: 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$3.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i5.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { 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 }); }
|
|
8924
9217
|
}
|
|
8925
9218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFlexOptionsWidgetEditComponent, decorators: [{
|
|
8926
9219
|
type: Component,
|
|
@@ -8933,7 +9226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
8933
9226
|
AXDropdownModule,
|
|
8934
9227
|
AXButtonModule,
|
|
8935
9228
|
FormsModule,
|
|
8936
|
-
], 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-item color=\"primary\">\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Wrap\" (click)=\"setWrapMode('wrap')\" [class]=\"\" >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"No Wrap\" (click)=\"setWrapMode('nowrap')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-minus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-solid fa-chevron-down\"></ax-icon>\n </ax-suffix>\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-[rgb(30,30,30)] 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.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\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 ax-transition-all\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n [style.flex-direction]=\"flexDirection()\"\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\" [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(hoveredJustify()==='space-between'){ @if(clickedAlign()==='stretch'){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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'){ @if(clickedAlign()==='stretch' ){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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 ax-transition-all\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n [style.flex-direction]=\"flexDirection()\"\n\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\"\n [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(clickedJustify()==='space-between'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11 53.5C11 53.7761 10.7761 54 10.5 54H9.5C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6H10.5C10.7761 6 11 6.22386 11 6.5L11 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM50.5 54C50.7761 54 51 53.7761 51 53.5L51 6.5C51 6.22386 50.7761 6 50.5 6H49.5C49.2239 6 49 6.22386 49 6.5L49 53.5C49 53.7761 49.2239 54 49.5 54H50.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='baseline'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50.5996 4V10.2929L52.246 8.64645L52.9531 9.35355L50.0996 12.2071L47.246 9.35355L47.9531 8.64645L49.5996 10.2929V4H50.5996Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.35294 4H11.1012L13.4542 12H12.4119L11.8236 9.99994H8.63061L8.04236 12H7L9.35294 4ZM11.5295 8.99994L10.353 4.9999H10.1012L8.92473 8.99994H11.5295Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else{\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'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 30L5 32L5 28L8 30Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 53.5C13 53.7761 12.7761 54 12.5 54H11.5C11.2239 54 11 53.7761 11 53.5L11 6.5C11 6.22386 11.2239 6 11.5 6H12.5C12.7761 6 13 6.22386 13 6.5L13 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM48.5 54C48.7761 54 49 53.7761 49 53.5L49 6.5C49 6.22386 48.7761 6 48.5 6H47.5C47.2239 6 47 6.22386 47 6.5L47 53.5C47 53.7761 47.2239 54 47.5 54H48.5Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M52 30L55 28L55 32L52 30Z\" fill=\"currentColor\"></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg\n data-wf-icon=\"NineBoxAlignItemsRowSpaceAroundBaselineIcon\"\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M40.8529 4V10.2929L42.4993 8.64645L43.2064 9.35355L40.3529 12.2071L37.4993 9.35355L38.2064 8.64645L39.8529 10.2929V4H40.8529Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.3523 4H21.1006L23.4536 12H22.4112L21.8229 9.99994H18.6299L18.0417 12H16.9993L19.3523 4ZM21.5288 8.99994L20.3523 4.9999H20.1005L18.924 8.99994H21.5288Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else {\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-2\">\n <span class=\"ax-order-1\">X:</span>\n <div class=\"ax-w-32\"\n [style.order]=\"flexDirectionIsColumn()?'4':'2'\">\n <!-- <ax-select-box\n [dataSource]=\"flexDirectionIsColumn()? alignDataSource : justifyDataSource\"\n [ngModel]=\"flexDirectionIsColumn()? selectedAlign : selectedJustify\"\n (ngModelChange)=\"flexDirectionIsColumn()? selectedAlign = $event : selectedJustify = $event\"\n (onValueChanged)=\"flexDirectionIsColumn()? onAlignChange($event) :onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box> -->\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span class=\"ax-order-3\">Y:</span>\n <div class=\"ax-w-32\" [style.order]=\"flexDirectionIsColumn()?'2':'4'\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\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()==='both') {\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)=\"setGapMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='both'){\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>", styles: [".axp-flex-option ax-range-slider{--ax-range-slider-base-thickness: .1rem;padding:.25rem!important}.axp-flex-option ax-number-box:not(.ax-exclude) div:first-child{height:2rem!important;border-radius:.3rem!important;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:2.62rem}\n"] }]
|
|
9229
|
+
], 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-item color=\"primary\">\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Wrap\" (click)=\"setWrapMode('wrap')\" [class]=\"\" >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"No Wrap\" (click)=\"setWrapMode('nowrap')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-minus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-solid fa-chevron-down\"></ax-icon>\n </ax-suffix>\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-[rgb(30,30,30)] 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.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\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 ax-transition-all\"\n [style.justify-content]=\"hoveredJustify()\"\n [style.align-items]=\"hoveredAlign()\"\n [style.flex-direction]=\"flexDirection()\"\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\" [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(hoveredJustify()==='space-between'){ @if(clickedAlign()==='stretch'){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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'){ @if(clickedAlign()==='stretch' ){ } @else if(clickedAlign()==='baseline' && hoveredAlign()==='flex-start' ){ } @else {\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 ax-transition-all\"\n [style.justify-content]=\"clickedJustify()\"\n [style.align-items]=\"clickedAlign()\"\n [style.flex-direction]=\"flexDirection()\"\n\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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\"\n [class]=\"flexDirectionIsColumn()? '-ax-rotate-90': ''\">\n @if(clickedJustify()==='space-between'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11 53.5C11 53.7761 10.7761 54 10.5 54H9.5C9.22386 54 9 53.7761 9 53.5L9 6.5C9 6.22386 9.22386 6 9.5 6H10.5C10.7761 6 11 6.22386 11 6.5L11 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM50.5 54C50.7761 54 51 53.7761 51 53.5L51 6.5C51 6.22386 50.7761 6 50.5 6H49.5C49.2239 6 49 6.22386 49 6.5L49 53.5C49 53.7761 49.2239 54 49.5 54H50.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='baseline'){\n <svg width=\"60\" height=\"20\" viewBox=\"0 0 60 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50.5996 4V10.2929L52.246 8.64645L52.9531 9.35355L50.0996 12.2071L47.246 9.35355L47.9531 8.64645L49.5996 10.2929V4H50.5996Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.35294 4H11.1012L13.4542 12H12.4119L11.8236 9.99994H8.63061L8.04236 12H7L9.35294 4ZM11.5295 8.99994L10.353 4.9999H10.1012L8.92473 8.99994H11.5295Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else{\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'){ @if(clickedAlign()==='stretch'){\n <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 30L5 32L5 28L8 30Z\" fill=\"currentColor\"></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13 53.5C13 53.7761 12.7761 54 12.5 54H11.5C11.2239 54 11 53.7761 11 53.5L11 6.5C11 6.22386 11.2239 6 11.5 6H12.5C12.7761 6 13 6.22386 13 6.5L13 53.5ZM31 53.5C31 53.7761 30.7761 54 30.5 54H29.5C29.2239 54 29 53.7761 29 53.5L29 6.5C29 6.22386 29.2239 6 29.5 6H30.5C30.7761 6 31 6.22386 31 6.5L31 53.5ZM48.5 54C48.7761 54 49 53.7761 49 53.5L49 6.5C49 6.22386 48.7761 6 48.5 6H47.5C47.2239 6 47 6.22386 47 6.5L47 53.5C47 53.7761 47.2239 54 47.5 54H48.5Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M52 30L55 28L55 32L52 30Z\" fill=\"currentColor\"></path>\n </svg>\n }@else if(clickedAlign()==='baseline'){\n <svg\n data-wf-icon=\"NineBoxAlignItemsRowSpaceAroundBaselineIcon\"\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M40.8529 4V10.2929L42.4993 8.64645L43.2064 9.35355L40.3529 12.2071L37.4993 9.35355L38.2064 8.64645L39.8529 10.2929V4H40.8529Z\"\n fill=\"currentColor\"\n ></path>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.3523 4H21.1006L23.4536 12H22.4112L21.8229 9.99994H18.6299L18.0417 12H16.9993L19.3523 4ZM21.5288 8.99994L20.3523 4.9999H20.1005L18.924 8.99994H21.5288Z\"\n fill=\"currentColor\"\n ></path>\n <path d=\"M6 14H54V15H6V14Z\" fill=\"currentColor\"></path>\n </svg>\n } @else {\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-2\">\n <span class=\"ax-order-1\">X:</span>\n <div class=\"ax-w-32\"\n [style.order]=\"flexDirectionIsColumn()?'4':'2'\">\n <!-- <ax-select-box\n [dataSource]=\"flexDirectionIsColumn()? alignDataSource : justifyDataSource\"\n [ngModel]=\"flexDirectionIsColumn()? selectedAlign : selectedJustify\"\n (ngModelChange)=\"flexDirectionIsColumn()? selectedAlign = $event : selectedJustify = $event\"\n (onValueChanged)=\"flexDirectionIsColumn()? onAlignChange($event) :onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box> -->\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [(ngModel)]=\"selectedJustify\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n <span class=\"ax-order-3\">Y:</span>\n <div class=\"ax-w-32\" [style.order]=\"flexDirectionIsColumn()?'2':'4'\">\n <ax-select-box\n [dataSource]=\"alignDataSource\"\n [(ngModel)]=\"selectedAlign\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\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()==='both') {\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)=\"setGapMode()\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n @if(gapMode()==='both'){\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>", 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{height:2rem!important;border-radius:.3rem!important;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:2.62rem}\n"] }]
|
|
8937
9230
|
}] });
|
|
8938
9231
|
|
|
8939
9232
|
var flexOptionsWidgetEditor_component = /*#__PURE__*/Object.freeze({
|
|
@@ -8957,6 +9250,315 @@ const AXPFlexOptionsWidget = {
|
|
|
8957
9250
|
visible: false,
|
|
8958
9251
|
};
|
|
8959
9252
|
|
|
9253
|
+
const AXP_Grid_Box_Alignments = [
|
|
9254
|
+
{ value: 'top-left', label: 'Top Left', alignItems: 'start', justifyItems: 'start' },
|
|
9255
|
+
{ value: 'top-center', label: 'Top Center', alignItems: 'start', justifyItems: 'center' },
|
|
9256
|
+
{ value: 'top-right', label: 'Top Right', alignItems: 'start', justifyItems: 'end' },
|
|
9257
|
+
{ value: 'middle-left', label: 'Middle Left', alignItems: 'center', justifyItems: 'start' },
|
|
9258
|
+
{ value: 'middle-center', label: 'Middle Center', alignItems: 'center', justifyItems: 'center' },
|
|
9259
|
+
{ value: 'middle-right', label: 'Middle Right', alignItems: 'center', justifyItems: 'end' },
|
|
9260
|
+
{ value: 'bottom-left', label: 'Bottom Left', alignItems: 'end', justifyItems: 'start' },
|
|
9261
|
+
{ value: 'bottom-center', label: 'Bottom Center', alignItems: 'end', justifyItems: 'center' },
|
|
9262
|
+
{ value: 'bottom-right', label: 'Bottom Right', alignItems: 'end', justifyItems: 'end' },
|
|
9263
|
+
];
|
|
9264
|
+
const AXP_Grid_Box_Align_Items_Options = [
|
|
9265
|
+
{ value: 'start', label: 'Start' },
|
|
9266
|
+
{ value: 'end', label: 'End' },
|
|
9267
|
+
{ value: 'center', label: 'Center' },
|
|
9268
|
+
{ value: 'stretch', label: 'Stretch' },
|
|
9269
|
+
];
|
|
9270
|
+
const AXP_Grid_Box_Justify_Items_Options = [
|
|
9271
|
+
{ value: 'start', label: 'Start' },
|
|
9272
|
+
{ value: 'end', label: 'End' },
|
|
9273
|
+
{ value: 'center', label: 'Center' },
|
|
9274
|
+
{ value: 'stretch', label: 'Stretch' },
|
|
9275
|
+
];
|
|
9276
|
+
|
|
9277
|
+
class AXPGridOptionsWidgetEditComponent extends AXPWidgetComponent {
|
|
9278
|
+
constructor() {
|
|
9279
|
+
super(...arguments);
|
|
9280
|
+
this.rendered = signal(false);
|
|
9281
|
+
this.gridSides = AXP_Grid_Box_Alignments;
|
|
9282
|
+
this.currentBreakpoint = signal('default');
|
|
9283
|
+
this.lastBreakpoint = signal('default');
|
|
9284
|
+
this.isBreakpointConfigured = signal({
|
|
9285
|
+
default: true,
|
|
9286
|
+
sm: false,
|
|
9287
|
+
md: false,
|
|
9288
|
+
lg: false,
|
|
9289
|
+
xl: false,
|
|
9290
|
+
'2xl': false,
|
|
9291
|
+
'3xl': false,
|
|
9292
|
+
});
|
|
9293
|
+
this.selectionItems = [
|
|
9294
|
+
{ id: 'default', text: 'Default' },
|
|
9295
|
+
{ id: 'sm', text: 'Sm' },
|
|
9296
|
+
{ id: 'md', text: 'Md' },
|
|
9297
|
+
{ id: 'lg', text: 'Lg' },
|
|
9298
|
+
{ id: 'xl', text: 'Xl' },
|
|
9299
|
+
{ id: '2xl', text: '2Xl' },
|
|
9300
|
+
{ id: '3xl', text: '3Xl' },
|
|
9301
|
+
];
|
|
9302
|
+
this.gridTemplateColumns = signal(1);
|
|
9303
|
+
this.gridTemplateRows = signal(1);
|
|
9304
|
+
this.gridDirection = signal('row');
|
|
9305
|
+
this.gapUnit = signal('px');
|
|
9306
|
+
this.gap = signal({ x: 0, y: 0 });
|
|
9307
|
+
this.gapMode = signal('single');
|
|
9308
|
+
this.lastGap = signal(0);
|
|
9309
|
+
this.selectedJustify = signal({ value: 'stretch', label: 'Stretch' });
|
|
9310
|
+
this.selectedAlign = signal({ value: 'stretch', label: 'Stretch' });
|
|
9311
|
+
this.hoveredAlign = signal(null);
|
|
9312
|
+
this.hoveredJustify = signal(null);
|
|
9313
|
+
this.clickedAlign = signal('stretch');
|
|
9314
|
+
this.clickedJustify = signal('stretch');
|
|
9315
|
+
this.justifyDataSource = new AXDataSource({
|
|
9316
|
+
pageSize: 99,
|
|
9317
|
+
load: async (e) => {
|
|
9318
|
+
return {
|
|
9319
|
+
items: AXP_Grid_Box_Justify_Items_Options,
|
|
9320
|
+
total: AXP_Grid_Box_Justify_Items_Options.length,
|
|
9321
|
+
};
|
|
9322
|
+
},
|
|
9323
|
+
});
|
|
9324
|
+
this.alignDataSource = new AXDataSource({
|
|
9325
|
+
pageSize: 99,
|
|
9326
|
+
load: async (e) => {
|
|
9327
|
+
return {
|
|
9328
|
+
items: AXP_Grid_Box_Align_Items_Options,
|
|
9329
|
+
total: AXP_Grid_Box_Align_Items_Options.length,
|
|
9330
|
+
};
|
|
9331
|
+
},
|
|
9332
|
+
});
|
|
9333
|
+
this.findAlignNameById = (value) => {
|
|
9334
|
+
const side = AXP_Grid_Box_Align_Items_Options.find((side) => side.value === value);
|
|
9335
|
+
return side.label;
|
|
9336
|
+
};
|
|
9337
|
+
this.findJustifyNameById = (value) => {
|
|
9338
|
+
const side = AXP_Grid_Box_Justify_Items_Options.find((side) => side.value === value);
|
|
9339
|
+
return side.label;
|
|
9340
|
+
};
|
|
9341
|
+
this.#firstInitialize = afterNextRender(() => {
|
|
9342
|
+
this.initialValues();
|
|
9343
|
+
this.rendered.set(true);
|
|
9344
|
+
});
|
|
9345
|
+
this.#trackChange = effect(() => {
|
|
9346
|
+
this.getValue();
|
|
9347
|
+
untracked(() => this.initialValues());
|
|
9348
|
+
});
|
|
9349
|
+
}
|
|
9350
|
+
setGridDirection(value) {
|
|
9351
|
+
this.gridDirection.set(value);
|
|
9352
|
+
this.saveValue({ gridAutoFlow: value });
|
|
9353
|
+
}
|
|
9354
|
+
setRowOrColumn(value, type) {
|
|
9355
|
+
if (type === 'column') {
|
|
9356
|
+
this.gridTemplateColumns.set(value);
|
|
9357
|
+
this.saveValue({ gridTemplateColumns: `repeat(${value}, 1fr)` });
|
|
9358
|
+
}
|
|
9359
|
+
else {
|
|
9360
|
+
this.gridTemplateRows.set(value);
|
|
9361
|
+
this.saveValue({ gridTemplateRows: `repeat(${value}, 1fr)` });
|
|
9362
|
+
}
|
|
9363
|
+
}
|
|
9364
|
+
toggleGapMode() {
|
|
9365
|
+
if (this.gapMode() === 'single') {
|
|
9366
|
+
this.gapMode.set('multiple');
|
|
9367
|
+
}
|
|
9368
|
+
else {
|
|
9369
|
+
this.gapMode.set('single');
|
|
9370
|
+
this.setGap(this.lastGap(), 'both');
|
|
9371
|
+
}
|
|
9372
|
+
}
|
|
9373
|
+
setGap(size, side) {
|
|
9374
|
+
this.lastGap.set(size);
|
|
9375
|
+
if (side === 'both') {
|
|
9376
|
+
this.gap.set({ x: size, y: size });
|
|
9377
|
+
const gapString = this.gap().x + this.gapUnit();
|
|
9378
|
+
this.saveValue({ gap: gapString });
|
|
9379
|
+
}
|
|
9380
|
+
else {
|
|
9381
|
+
this.gap.update((i) => ({ ...i, [side]: size }));
|
|
9382
|
+
const gapString = this.gap().x + this.gapUnit() + ' ' + this.gap().y + this.gapUnit();
|
|
9383
|
+
this.saveValue({ gap: gapString });
|
|
9384
|
+
}
|
|
9385
|
+
}
|
|
9386
|
+
onClick(data) {
|
|
9387
|
+
if (this.clickedAlign() === 'stretch' && this.clickedJustify() === 'stretch') {
|
|
9388
|
+
return;
|
|
9389
|
+
}
|
|
9390
|
+
else if (this.clickedAlign() === 'stretch') {
|
|
9391
|
+
this.clickedJustify.set(data.justifyItems);
|
|
9392
|
+
this.selectedJustify.set({ value: data.justifyItems, label: this.findJustifyNameById(data.justifyItems) });
|
|
9393
|
+
this.saveValue({ justifyItems: data.justifyItems });
|
|
9394
|
+
}
|
|
9395
|
+
else if (this.clickedJustify() === 'stretch') {
|
|
9396
|
+
this.clickedAlign.set(data.alignItems);
|
|
9397
|
+
this.selectedAlign.set({ value: data.alignItems, label: this.findAlignNameById(data.alignItems) });
|
|
9398
|
+
this.saveValue({ alignItems: data.alignItems });
|
|
9399
|
+
}
|
|
9400
|
+
else {
|
|
9401
|
+
this.clickedAlign.set(data.alignItems);
|
|
9402
|
+
this.clickedJustify.set(data.justifyItems);
|
|
9403
|
+
this.selectedAlign.set({ value: data.alignItems, label: this.findAlignNameById(data.alignItems) });
|
|
9404
|
+
this.selectedJustify.set({ value: data.justifyItems, label: this.findJustifyNameById(data.justifyItems) });
|
|
9405
|
+
this.saveValue({ alignItems: data.alignItems, justifyItems: data.justifyItems });
|
|
9406
|
+
}
|
|
9407
|
+
}
|
|
9408
|
+
onHover(data) {
|
|
9409
|
+
this.hoveredAlign.set(data.alignItems);
|
|
9410
|
+
this.hoveredJustify.set(data.justifyItems);
|
|
9411
|
+
}
|
|
9412
|
+
onHoverLeave() {
|
|
9413
|
+
this.hoveredAlign.set(null);
|
|
9414
|
+
this.hoveredJustify.set(null);
|
|
9415
|
+
}
|
|
9416
|
+
onJustifyChange(event) {
|
|
9417
|
+
if (event.isUserInteraction) {
|
|
9418
|
+
this.selectedJustify.set({ value: event.value, label: this.findJustifyNameById(event.value) });
|
|
9419
|
+
this.clickedJustify.set(event.value);
|
|
9420
|
+
}
|
|
9421
|
+
this.saveValue({ justifyItems: this.clickedJustify() });
|
|
9422
|
+
}
|
|
9423
|
+
onAlignChange(event) {
|
|
9424
|
+
if (event.isUserInteraction) {
|
|
9425
|
+
this.selectedAlign.set({ value: event.value, label: this.findAlignNameById(event.value) });
|
|
9426
|
+
this.clickedAlign.set(event.value);
|
|
9427
|
+
}
|
|
9428
|
+
this.saveValue({ alignItems: this.clickedAlign() });
|
|
9429
|
+
}
|
|
9430
|
+
changeBreakPoint(event) {
|
|
9431
|
+
if (event.isUserInteraction) {
|
|
9432
|
+
const value = this.getValue();
|
|
9433
|
+
const newBreakpoint = (typeof event.value === 'object' ? event.value.id : event.value);
|
|
9434
|
+
const currentBreakpoint = this.currentBreakpoint();
|
|
9435
|
+
if (newBreakpoint === currentBreakpoint) {
|
|
9436
|
+
return;
|
|
9437
|
+
}
|
|
9438
|
+
this.lastBreakpoint.set(currentBreakpoint);
|
|
9439
|
+
this.currentBreakpoint.set(newBreakpoint);
|
|
9440
|
+
if (value[currentBreakpoint] && value[newBreakpoint] === undefined) {
|
|
9441
|
+
this.setValue({ ...value, [newBreakpoint]: value[currentBreakpoint] });
|
|
9442
|
+
}
|
|
9443
|
+
this.initialValues();
|
|
9444
|
+
}
|
|
9445
|
+
}
|
|
9446
|
+
resetBreakpoint() {
|
|
9447
|
+
if (this.currentBreakpoint() === 'default') {
|
|
9448
|
+
return;
|
|
9449
|
+
}
|
|
9450
|
+
else {
|
|
9451
|
+
const value = cloneDeep(this.getValue());
|
|
9452
|
+
delete value[this.currentBreakpoint()];
|
|
9453
|
+
const newBreakpoint = this.lastBreakpoint();
|
|
9454
|
+
const otherBreakpoints = findNonEmptyBreakpoints(value);
|
|
9455
|
+
this.currentBreakpoint.set(newBreakpoint);
|
|
9456
|
+
const filteredOtherBreakpoints = otherBreakpoints.filter((i) => i !== newBreakpoint);
|
|
9457
|
+
if (filteredOtherBreakpoints.length === 0) {
|
|
9458
|
+
this.lastBreakpoint.set(newBreakpoint);
|
|
9459
|
+
}
|
|
9460
|
+
else {
|
|
9461
|
+
this.lastBreakpoint.set(filteredOtherBreakpoints[filteredOtherBreakpoints.length - 1]);
|
|
9462
|
+
}
|
|
9463
|
+
this.setValue({ ...value });
|
|
9464
|
+
this.initialValues();
|
|
9465
|
+
this.getValue();
|
|
9466
|
+
}
|
|
9467
|
+
}
|
|
9468
|
+
detectConfiguredBreakpoints() {
|
|
9469
|
+
const value = this.getValue();
|
|
9470
|
+
let newBreakpointConfigured = {};
|
|
9471
|
+
Object.keys(value).forEach((key) => {
|
|
9472
|
+
newBreakpointConfigured[key] = true;
|
|
9473
|
+
});
|
|
9474
|
+
this.isBreakpointConfigured.set(newBreakpointConfigured);
|
|
9475
|
+
}
|
|
9476
|
+
saveValue(item) {
|
|
9477
|
+
const value = this.getValue();
|
|
9478
|
+
const breakpoint = this.currentBreakpoint();
|
|
9479
|
+
if (value) {
|
|
9480
|
+
const existingBreakpointValue = value[breakpoint];
|
|
9481
|
+
const newValue = {
|
|
9482
|
+
...value,
|
|
9483
|
+
[breakpoint]: existingBreakpointValue ? { ...existingBreakpointValue, ...item } : item,
|
|
9484
|
+
};
|
|
9485
|
+
this.setValue(newValue);
|
|
9486
|
+
}
|
|
9487
|
+
else {
|
|
9488
|
+
this.setValue({
|
|
9489
|
+
[breakpoint]: item,
|
|
9490
|
+
});
|
|
9491
|
+
}
|
|
9492
|
+
}
|
|
9493
|
+
#firstInitialize;
|
|
9494
|
+
#trackChange;
|
|
9495
|
+
// #eff1 = effect(() => console.log(this.getValue()));
|
|
9496
|
+
// #eff2 = effect(() => console.log(this.currentBreakpoint(), this.clickedAlign(), this.clickedJustify()));
|
|
9497
|
+
initialValues() {
|
|
9498
|
+
const value = this.getValue();
|
|
9499
|
+
if (value) {
|
|
9500
|
+
if (!this.rendered()) {
|
|
9501
|
+
const keys = findNonEmptyBreakpoints(value);
|
|
9502
|
+
this.currentBreakpoint.set(keys.length === 0 ? 'default' : keys[keys.length - 1]);
|
|
9503
|
+
}
|
|
9504
|
+
const justify = value[this.currentBreakpoint()]?.justifyItems ?? 'stretch';
|
|
9505
|
+
const align = value[this.currentBreakpoint()]?.alignItems ?? 'stretch';
|
|
9506
|
+
this.clickedJustify.set(justify);
|
|
9507
|
+
this.clickedAlign.set(align);
|
|
9508
|
+
this.selectedJustify.set({ value: justify, label: this.findJustifyNameById(justify) });
|
|
9509
|
+
this.selectedAlign.set({ value: align, label: this.findAlignNameById(align) });
|
|
9510
|
+
const rows = AXPPropertyEditorHelper.parseGridTemplate(value[this.currentBreakpoint()]?.gridTemplateRows ?? 'repeat(1, 1fr)');
|
|
9511
|
+
const cols = AXPPropertyEditorHelper.parseGridTemplate(value[this.currentBreakpoint()]?.gridTemplateColumns ?? 'repeat(1, 1fr)');
|
|
9512
|
+
this.gridTemplateRows.set(rows);
|
|
9513
|
+
this.gridTemplateColumns.set(cols);
|
|
9514
|
+
const { values, unit } = AXPPropertyEditorHelper.parseGap(value[this.currentBreakpoint()]?.gap ?? '0px');
|
|
9515
|
+
this.setGap(values.x, 'x');
|
|
9516
|
+
this.setGap(values.y, 'y');
|
|
9517
|
+
this.gapUnit.set(unit);
|
|
9518
|
+
this.detectConfiguredBreakpoints();
|
|
9519
|
+
}
|
|
9520
|
+
}
|
|
9521
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridOptionsWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9522
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPGridOptionsWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"axp-grid-breakpoints ax-pb-4\">\n <ax-selection-list\n [direction]=\"'horizontal'\"\n [items]=\"selectionItems\"\n [look]=\"'card'\"\n [customTemplate]=\"customTemplate\"\n [showControl]=\"false\"\n [ngModel]=\"currentBreakpoint()\"\n (onValueChanged)=\"changeBreakPoint($event)\"\n ></ax-selection-list>\n</div>\n<ng-template #customTemplate let-item>\n @let data = item.data;\n <div [class]=\"isBreakpointConfigured()[data.id] ? 'ax-text-primary-300' : ''\">\n {{ data.text }}\n </div>\n</ng-template>\n<ax-button\n color=\"primary\"\n text=\"Reset\"\n [disabled]=\"currentBreakpoint() === 'default'\"\n (click)=\"resetBreakpoint()\"\n></ax-button>\n\n<div class=\"axp-grid-option ax-grid ax-grid-cols-[auto_1fr] ax-pt-2 ax-gap-2 ax-items-center ax-justify-items-start\">\n <span>Grid</span>\n <div class=\"ax-flex ax-items-center ax-gap-1\">\n <span class=\"ax-text-xs\">Row</span>\n <ax-number-box\n [minValue]=\"1\"\n [maxValue]=\"12\"\n [value]=\"gridTemplateRows()\"\n (onValueChanged)=\"setRowOrColumn($event.value, 'row')\"\n [changeOnScroll]=\"true\"\n [showSpinButtons]=\"false\"\n class=\"ax-max-w-[4.45rem]\"\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]=\"1\"\n [maxValue]=\"12\"\n [value]=\"gridTemplateColumns()\"\n (onValueChanged)=\"setRowOrColumn($event.value, 'column')\"\n [changeOnScroll]=\"true\"\n [showSpinButtons]=\"false\"\n class=\"ax-max-w-[4.45rem]\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n <!-- <button>\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 3.29289C7.18754 3.10536 7.44189 3 7.70711 3H10.5C10.7022 3 10.8845 3.12182 10.9619 3.30866C11.0393 3.4955 10.9966 3.71055 10.8536 3.85355L9 5.70711V7H10.2929L12.1464 5.14645C12.2894 5.00345 12.5045 4.96067 12.6913 5.03806C12.8782 5.11545 13 5.29777 13 5.5V8.29289C13 8.55811 12.8946 8.81246 12.7071 9L11 10.7071C10.8125 10.8946 10.5581 11 10.2929 11H7.70711L4.85355 13.8536C4.65829 14.0488 4.34171 14.0488 4.14645 13.8536L2.14645 11.8536C1.95118 11.6583 1.95118 11.3417 2.14645 11.1464L5 8.29289V5.70711C5 5.44189 5.10536 5.18754 5.29289 5L7 3.29289ZM9.29289 4H7.70711L6 5.70711L6 8.29289C6 8.55811 5.89464 8.81246 5.70711 9L3.20711 11.5L4.5 12.7929L7 10.2929C7.18754 10.1054 7.44189 10 7.70711 10H10.2929L12 8.29289V6.70711L10.8536 7.85355C10.7598 7.94732 10.6326 8 10.5 8H8.5C8.22386 8 8 7.77614 8 7.5V5.5C8 5.36739 8.05268 5.24021 8.14645 5.14645L9.29289 4Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button> -->\n </div>\n <!-- <span> Direction </span>\n <div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item class=\"ax-w-24\" (onClick)=\"setGridDirection('row')\" [selected]=\"gridDirection() === 'row'\"\n ><ax-prefix\n ><svg\n data-wf-icon=\"FlexFlowWrapIcon\"\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 fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 4H11V3H3V4ZM13.8536 11.1464L10.8536 8.14645L10.1464 8.85355L12.2929 11H3V12H12.2929L10.1464 14.1464L10.8536 14.8536L13.8536 11.8536L14.2071 11.5L13.8536 11.1464Z\"\n fill=\"currentColor\"\n ></path>\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 10.7929L9.79289 4H11V4.20711L4.20711 11H3V10.7929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n class=\"ax-w-24\"\n (onClick)=\"setGridDirection('column')\"\n [selected]=\"gridDirection() === 'column'\"\n ><ax-prefix\n ><svg\n data-wf-icon=\"FlexFlowColumnWrapIcon\"\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 fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 3L4 11L3 11L3 3L4 3ZM11.1464 13.8536L8.14645 10.8536L8.85355 10.1464L11 12.2929L11 3L12 3L12 12.2929L14.1464 10.1464L14.8536 10.8536L11.8536 13.8536L11.5 14.2071L11.1464 13.8536Z\"\n fill=\"currentColor\"\n ></path>\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7929 3L4 9.79289L4 11L4.20711 11L11 4.20711L11 3L10.7929 3Z\"\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-[rgb(30,30,30)] 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 gridSides; track side.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\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 @if(hoveredJustify() && hoveredAlign()){\n <div\n class=\"axp-grid-option-hover ax-absolute ax-inset-0 ax-grid ax-pointer-events-none ax-transition-all\"\n [style.justify-items]=\"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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\">\n @if(clickedJustify()==='stretch' && clickedAlign()==='stretch') {} @else if(clickedJustify()==='stretch'){\n <svg\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.5 4.6a.15.15 0 0 1 .033-.1h50.934l.003.003a.15.15 0 0 1 .03.097v10.8a.15.15 0 0 1-.03.097l-.003.003H4.533l-.003-.003a.15.15 0 0 1-.03-.097V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.07; stroke-opacity: 0.25\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='stretch'){\n <svg\n width=\"20\"\n height=\"60\"\n viewBox=\"0 0 20 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.6 4.5h10.8a.15.15 0 0 1 .097.03l.003.003v50.934l-.003.003a.15.15 0 0 1-.097.03H4.6a.15.15 0 0 1-.1-.033V4.533l.003-.003A.15.15 0 0 1 4.6 4.5Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.07; stroke-opacity: 0.25\"\n ></path>\n </svg>\n } @else{\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: #efeaea\"\n >\n <path\n d=\"M4.5 4.6a.1.1 0 0 1 .1-.1h10.8a.1.1 0 0 1 .1.1v10.8a.1.1 0 0 1-.1.1H4.6a.1.1 0 0 1-.1-.1V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"stroke-opacity: 0.25; fill-opacity: 0.07\"\n class=\"hover:fill-opacity-20\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n }\n\n <div\n class=\"axp-grid-option-active ax-absolute ax-inset-0 ax-grid ax-pointer-events-none ax-transition-all\"\n [style.justify-items]=\"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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\">\n @if(clickedJustify()==='stretch' && clickedAlign()==='stretch') {\n <svg\n width=\"60\"\n height=\"60\"\n viewBox=\"0 0 60 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M55.5 55.48a.02.02 0 0 1-.02.02H4.52a.02.02 0 0 1-.02-.02V4.52a.02.02 0 0 1 .02-.02h50.96a.02.02 0 0 1 .02.02v50.96Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.16; stroke: white\"\n ></path>\n <path\n d=\"m26.354 20.354 3.146-3.147V29.5h-3v1h3v12.293l-3.146-3.147-.707.708L30 44.707l4.354-4.353-.707-.708-3.147 3.147V30.5h12.293l-3.147 3.147.708.707L44.707 30l-4.353-4.354-.708.708 3.147 3.146H30.5V17.207l3.146 3.147.707-.707L30 15.293l-4.354 4.354.707.707Z\"\n fill=\"currentColor\"\n style=\"fill-opacity: 0.25\"\n ></path>\n <path\n d=\"m17.207 30.5 3.146 3.147-.707.707L15.293 30l4.353-4.354.707.708-3.146 3.146H26.5v1h-9.293Z\"\n fill=\"currentColor\"\n style=\"fill-opacity: 0.25\"\n ></path>\n </svg>\n } @else if(clickedJustify()==='stretch'){\n <svg\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.5 4.6a.15.15 0 0 1 .033-.1h50.934l.003.003a.15.15 0 0 1 .03.097v10.8a.15.15 0 0 1-.03.097l-.003.003H4.533l-.003-.003a.15.15 0 0 1-.03-.097V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.16; stroke: white\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='stretch'){\n <svg\n width=\"20\"\n height=\"60\"\n viewBox=\"0 0 20 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.6 4.5h10.8a.15.15 0 0 1 .097.03l.003.003v50.934l-.003.003a.15.15 0 0 1-.097.03H4.6a.15.15 0 0 1-.1-.033V4.533l.003-.003A.15.15 0 0 1 4.6 4.5Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.16; stroke: white\"\n ></path>\n </svg>\n } @else{\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: #efeaea\"\n >\n <path\n d=\"M4.5 4.6a.1.1 0 0 1 .1-.1h10.8a.1.1 0 0 1 .1.1v10.8a.1.1 0 0 1-.1.1H4.6a.1.1 0 0 1-.1-.1V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill: #cebcbc; fill-opacity: 0.16\"\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-2\">\n <span>X:</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [value]=\"selectedJustify()\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\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 [value]=\"selectedAlign()\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </div>\n\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 [values]=\"gap().x\"\n (valuesChange)=\"setGap($event ?? 0, 'both')\"\n ></ax-range-slider>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().x\"\n (onValueChanged)=\"setGap($event.value ?? 0, 'both')\"\n [changeOnScroll]=\"true\"\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 (onValueChanged)=\"setGap($event.value ?? 0, 'x')\"\n [changeOnScroll]=\"true\"\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)=\"toggleGapMode()\">\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-grid-breakpoints{font-size:.25rem!important}.axp-grid-breakpoints>ax-selection-list:not(.ax-exclude)>ul{gap:.5rem!important}.axp-grid-breakpoints>ax-selection-list:not(.ax-exclude)>ul>li>label{padding:.25rem!important}.axp-grid-option ax-number-box:not(.ax-exclude) div:first-child{height:2rem!important;border-radius:.3rem!important;font-size:12px}.axp-grid-option ax-number-box:not(.ax-exclude) div:first-child input{padding:.25rem 0 .25rem .5rem!important}.axp-grid-option ax-range-slider:not(.ax-exclude){--ax-range-slider-base-thickness: .1rem}.axp-grid-option ax-range-slider:not(.ax-exclude) .ax-range-slider-handler{width:.75rem!important;height:.75rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { 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: AXNumberBoxModule }, { kind: "component", type: i1$3.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDropdownModule }, { 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: 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: AXSelectionListModule }, { kind: "component", type: i2$3.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, encapsulation: i0.ViewEncapsulation.None }); }
|
|
9523
|
+
}
|
|
9524
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridOptionsWidgetEditComponent, decorators: [{
|
|
9525
|
+
type: Component,
|
|
9526
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
9527
|
+
CommonModule,
|
|
9528
|
+
AXButtonGroupModule,
|
|
9529
|
+
AXDecoratorModule,
|
|
9530
|
+
AXSelectBoxModule,
|
|
9531
|
+
AXNumberBoxModule,
|
|
9532
|
+
AXDropdownModule,
|
|
9533
|
+
AXButtonModule,
|
|
9534
|
+
FormsModule,
|
|
9535
|
+
AXRangeSliderModule,
|
|
9536
|
+
AXSelectionListModule,
|
|
9537
|
+
FormsModule,
|
|
9538
|
+
], template: "<div class=\"axp-grid-breakpoints ax-pb-4\">\n <ax-selection-list\n [direction]=\"'horizontal'\"\n [items]=\"selectionItems\"\n [look]=\"'card'\"\n [customTemplate]=\"customTemplate\"\n [showControl]=\"false\"\n [ngModel]=\"currentBreakpoint()\"\n (onValueChanged)=\"changeBreakPoint($event)\"\n ></ax-selection-list>\n</div>\n<ng-template #customTemplate let-item>\n @let data = item.data;\n <div [class]=\"isBreakpointConfigured()[data.id] ? 'ax-text-primary-300' : ''\">\n {{ data.text }}\n </div>\n</ng-template>\n<ax-button\n color=\"primary\"\n text=\"Reset\"\n [disabled]=\"currentBreakpoint() === 'default'\"\n (click)=\"resetBreakpoint()\"\n></ax-button>\n\n<div class=\"axp-grid-option ax-grid ax-grid-cols-[auto_1fr] ax-pt-2 ax-gap-2 ax-items-center ax-justify-items-start\">\n <span>Grid</span>\n <div class=\"ax-flex ax-items-center ax-gap-1\">\n <span class=\"ax-text-xs\">Row</span>\n <ax-number-box\n [minValue]=\"1\"\n [maxValue]=\"12\"\n [value]=\"gridTemplateRows()\"\n (onValueChanged)=\"setRowOrColumn($event.value, 'row')\"\n [changeOnScroll]=\"true\"\n [showSpinButtons]=\"false\"\n class=\"ax-max-w-[4.45rem]\"\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]=\"1\"\n [maxValue]=\"12\"\n [value]=\"gridTemplateColumns()\"\n (onValueChanged)=\"setRowOrColumn($event.value, 'column')\"\n [changeOnScroll]=\"true\"\n [showSpinButtons]=\"false\"\n class=\"ax-max-w-[4.45rem]\"\n ><ax-suffix><ax-text class=\"!ax-text-xs !ax-px-1\">PX</ax-text></ax-suffix></ax-number-box\n >\n <!-- <button>\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 3.29289C7.18754 3.10536 7.44189 3 7.70711 3H10.5C10.7022 3 10.8845 3.12182 10.9619 3.30866C11.0393 3.4955 10.9966 3.71055 10.8536 3.85355L9 5.70711V7H10.2929L12.1464 5.14645C12.2894 5.00345 12.5045 4.96067 12.6913 5.03806C12.8782 5.11545 13 5.29777 13 5.5V8.29289C13 8.55811 12.8946 8.81246 12.7071 9L11 10.7071C10.8125 10.8946 10.5581 11 10.2929 11H7.70711L4.85355 13.8536C4.65829 14.0488 4.34171 14.0488 4.14645 13.8536L2.14645 11.8536C1.95118 11.6583 1.95118 11.3417 2.14645 11.1464L5 8.29289V5.70711C5 5.44189 5.10536 5.18754 5.29289 5L7 3.29289ZM9.29289 4H7.70711L6 5.70711L6 8.29289C6 8.55811 5.89464 8.81246 5.70711 9L3.20711 11.5L4.5 12.7929L7 10.2929C7.18754 10.1054 7.44189 10 7.70711 10H10.2929L12 8.29289V6.70711L10.8536 7.85355C10.7598 7.94732 10.6326 8 10.5 8H8.5C8.22386 8 8 7.77614 8 7.5V5.5C8 5.36739 8.05268 5.24021 8.14645 5.14645L9.29289 4Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </button> -->\n </div>\n <!-- <span> Direction </span>\n <div>\n <ax-button-group [selection]=\"'single'\">\n <ax-button-group-item class=\"ax-w-24\" (onClick)=\"setGridDirection('row')\" [selected]=\"gridDirection() === 'row'\"\n ><ax-prefix\n ><svg\n data-wf-icon=\"FlexFlowWrapIcon\"\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 fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 4H11V3H3V4ZM13.8536 11.1464L10.8536 8.14645L10.1464 8.85355L12.2929 11H3V12H12.2929L10.1464 14.1464L10.8536 14.8536L13.8536 11.8536L14.2071 11.5L13.8536 11.1464Z\"\n fill=\"currentColor\"\n ></path>\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3 10.7929L9.79289 4H11V4.20711L4.20711 11H3V10.7929Z\"\n fill=\"currentColor\"\n ></path></svg></ax-prefix\n ></ax-button-group-item>\n <ax-button-group-item\n class=\"ax-w-24\"\n (onClick)=\"setGridDirection('column')\"\n [selected]=\"gridDirection() === 'column'\"\n ><ax-prefix\n ><svg\n data-wf-icon=\"FlexFlowColumnWrapIcon\"\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 fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 3L4 11L3 11L3 3L4 3ZM11.1464 13.8536L8.14645 10.8536L8.85355 10.1464L11 12.2929L11 3L12 3L12 12.2929L14.1464 10.1464L14.8536 10.8536L11.8536 13.8536L11.5 14.2071L11.1464 13.8536Z\"\n fill=\"currentColor\"\n ></path>\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7929 3L4 9.79289L4 11L4.20711 11L11 4.20711L11 3L10.7929 3Z\"\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-[rgb(30,30,30)] 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 gridSides; track side.value){\n <div\n [attr.aria-label]=\"side.label\"\n [attr.aria-value]=\"side.value\"\n class=\"ax-grid ax-place-content-center\"\n (mouseenter)=\"onHover(side)\"\n (mouseleave)=\"onHoverLeave()\"\n (click)=\"onClick(side)\"\n >\n @if (true) {\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 @if(hoveredJustify() && hoveredAlign()){\n <div\n class=\"axp-grid-option-hover ax-absolute ax-inset-0 ax-grid ax-pointer-events-none ax-transition-all\"\n [style.justify-items]=\"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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\">\n @if(clickedJustify()==='stretch' && clickedAlign()==='stretch') {} @else if(clickedJustify()==='stretch'){\n <svg\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.5 4.6a.15.15 0 0 1 .033-.1h50.934l.003.003a.15.15 0 0 1 .03.097v10.8a.15.15 0 0 1-.03.097l-.003.003H4.533l-.003-.003a.15.15 0 0 1-.03-.097V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.07; stroke-opacity: 0.25\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='stretch'){\n <svg\n width=\"20\"\n height=\"60\"\n viewBox=\"0 0 20 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.6 4.5h10.8a.15.15 0 0 1 .097.03l.003.003v50.934l-.003.003a.15.15 0 0 1-.097.03H4.6a.15.15 0 0 1-.1-.033V4.533l.003-.003A.15.15 0 0 1 4.6 4.5Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.07; stroke-opacity: 0.25\"\n ></path>\n </svg>\n } @else{\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: #efeaea\"\n >\n <path\n d=\"M4.5 4.6a.1.1 0 0 1 .1-.1h10.8a.1.1 0 0 1 .1.1v10.8a.1.1 0 0 1-.1.1H4.6a.1.1 0 0 1-.1-.1V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"stroke-opacity: 0.25; fill-opacity: 0.07\"\n class=\"hover:fill-opacity-20\"\n ></path>\n </svg>\n }\n </div>\n </div>\n </div>\n }\n\n <div\n class=\"axp-grid-option-active ax-absolute ax-inset-0 ax-grid ax-pointer-events-none ax-transition-all\"\n [style.justify-items]=\"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-rounded-lg ax-bg-[rgb(30,30,30)] ax-flex-none\">\n @if(clickedJustify()==='stretch' && clickedAlign()==='stretch') {\n <svg\n width=\"60\"\n height=\"60\"\n viewBox=\"0 0 60 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M55.5 55.48a.02.02 0 0 1-.02.02H4.52a.02.02 0 0 1-.02-.02V4.52a.02.02 0 0 1 .02-.02h50.96a.02.02 0 0 1 .02.02v50.96Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.16; stroke: white\"\n ></path>\n <path\n d=\"m26.354 20.354 3.146-3.147V29.5h-3v1h3v12.293l-3.146-3.147-.707.708L30 44.707l4.354-4.353-.707-.708-3.147 3.147V30.5h12.293l-3.147 3.147.708.707L44.707 30l-4.353-4.354-.708.708 3.147 3.146H30.5V17.207l3.146 3.147.707-.707L30 15.293l-4.354 4.354.707.707Z\"\n fill=\"currentColor\"\n style=\"fill-opacity: 0.25\"\n ></path>\n <path\n d=\"m17.207 30.5 3.146 3.147-.707.707L15.293 30l4.353-4.354.707.708-3.146 3.146H26.5v1h-9.293Z\"\n fill=\"currentColor\"\n style=\"fill-opacity: 0.25\"\n ></path>\n </svg>\n } @else if(clickedJustify()==='stretch'){\n <svg\n width=\"60\"\n height=\"20\"\n viewBox=\"0 0 60 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.5 4.6a.15.15 0 0 1 .033-.1h50.934l.003.003a.15.15 0 0 1 .03.097v10.8a.15.15 0 0 1-.03.097l-.003.003H4.533l-.003-.003a.15.15 0 0 1-.03-.097V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.16; stroke: white\"\n ></path>\n </svg>\n } @else if(clickedAlign()==='stretch'){\n <svg\n width=\"20\"\n height=\"60\"\n viewBox=\"0 0 20 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: white\"\n >\n <path\n d=\"M4.6 4.5h10.8a.15.15 0 0 1 .097.03l.003.003v50.934l-.003.003a.15.15 0 0 1-.097.03H4.6a.15.15 0 0 1-.1-.033V4.533l.003-.003A.15.15 0 0 1 4.6 4.5Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill-opacity: 0.16; stroke: white\"\n ></path>\n </svg>\n } @else{\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"color: #efeaea\"\n >\n <path\n d=\"M4.5 4.6a.1.1 0 0 1 .1-.1h10.8a.1.1 0 0 1 .1.1v10.8a.1.1 0 0 1-.1.1H4.6a.1.1 0 0 1-.1-.1V4.6Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n style=\"fill: #cebcbc; fill-opacity: 0.16\"\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-2\">\n <span>X:</span>\n <div class=\"ax-w-32\">\n <ax-select-box\n [dataSource]=\"justifyDataSource\"\n [value]=\"selectedJustify()\"\n (onValueChanged)=\"onJustifyChange($event)\"\n textField=\"label\"\n valueField=\"value\"\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 [value]=\"selectedAlign()\"\n (onValueChanged)=\"onAlignChange($event)\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"Choose...\"\n >\n </ax-select-box>\n </div>\n </div>\n </div>\n\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 [values]=\"gap().x\"\n (valuesChange)=\"setGap($event ?? 0, 'both')\"\n ></ax-range-slider>\n <ax-number-box\n [minValue]=\"0\"\n [maxValue]=\"999\"\n [value]=\"gap().x\"\n (onValueChanged)=\"setGap($event.value ?? 0, 'both')\"\n [changeOnScroll]=\"true\"\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 (onValueChanged)=\"setGap($event.value ?? 0, 'x')\"\n [changeOnScroll]=\"true\"\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)=\"toggleGapMode()\">\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-grid-breakpoints{font-size:.25rem!important}.axp-grid-breakpoints>ax-selection-list:not(.ax-exclude)>ul{gap:.5rem!important}.axp-grid-breakpoints>ax-selection-list:not(.ax-exclude)>ul>li>label{padding:.25rem!important}.axp-grid-option ax-number-box:not(.ax-exclude) div:first-child{height:2rem!important;border-radius:.3rem!important;font-size:12px}.axp-grid-option ax-number-box:not(.ax-exclude) div:first-child input{padding:.25rem 0 .25rem .5rem!important}.axp-grid-option ax-range-slider:not(.ax-exclude){--ax-range-slider-base-thickness: .1rem}.axp-grid-option ax-range-slider:not(.ax-exclude) .ax-range-slider-handler{width:.75rem!important;height:.75rem!important}\n"] }]
|
|
9539
|
+
}] });
|
|
9540
|
+
|
|
9541
|
+
var gridOptionsWidgetEditor_component = /*#__PURE__*/Object.freeze({
|
|
9542
|
+
__proto__: null,
|
|
9543
|
+
AXPGridOptionsWidgetEditComponent: AXPGridOptionsWidgetEditComponent
|
|
9544
|
+
});
|
|
9545
|
+
|
|
9546
|
+
const AXPGridOptionsWidget = {
|
|
9547
|
+
name: 'grid-options',
|
|
9548
|
+
title: 'Grid Options',
|
|
9549
|
+
description: 'Make an Elements Grid',
|
|
9550
|
+
group: AXP_WIDGETS_EDITOR_GROUP,
|
|
9551
|
+
icon: 'fa-solid fa-th',
|
|
9552
|
+
type: 'editor',
|
|
9553
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
|
|
9554
|
+
components: {
|
|
9555
|
+
edit: {
|
|
9556
|
+
component: () => Promise.resolve().then(function () { return gridOptionsWidgetEditor_component; }).then((c) => c.AXPGridOptionsWidgetEditComponent),
|
|
9557
|
+
},
|
|
9558
|
+
},
|
|
9559
|
+
visible: false,
|
|
9560
|
+
};
|
|
9561
|
+
|
|
8960
9562
|
class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
|
|
8961
9563
|
constructor() {
|
|
8962
9564
|
super(...arguments);
|
|
@@ -9062,7 +9664,7 @@ class AXPSpacingWidgetEditComponent extends AXPWidgetComponent {
|
|
|
9062
9664
|
return { clientX: touch.clientX, clientY: touch.clientY };
|
|
9063
9665
|
}
|
|
9064
9666
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9065
|
-
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:10px;font-weight:400;line-height:10px;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$6.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$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXRangeSliderModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9667
|
+
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:10px;font-weight:400;line-height:10px;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$7.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$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXRangeSliderModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9066
9668
|
}
|
|
9067
9669
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSpacingWidgetEditComponent, decorators: [{
|
|
9068
9670
|
type: Component,
|
|
@@ -9117,7 +9719,7 @@ class AXPCronJobWidgetEditComponent extends AXPWidgetComponent {
|
|
|
9117
9719
|
this.setValue(e.data);
|
|
9118
9720
|
}
|
|
9119
9721
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCronJobWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPCronJobWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ax-cron-job-container > </ax-cron-job-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXCronJobModule }, { kind: "component", type: i1$
|
|
9722
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPCronJobWidgetEditComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ax-cron-job-container > </ax-cron-job-container>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXCronJobModule }, { kind: "component", type: i1$8.AXCronJobContainerComponent, selector: "ax-cron-job-container", outputs: ["onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9121
9723
|
}
|
|
9122
9724
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCronJobWidgetEditComponent, decorators: [{
|
|
9123
9725
|
type: Component,
|
|
@@ -9265,7 +9867,7 @@ class AXPQrcodeWidgetViewComponent extends AXPWidgetComponent {
|
|
|
9265
9867
|
>
|
|
9266
9868
|
</ax-qrcode>
|
|
9267
9869
|
}
|
|
9268
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXQrcodeModule }, { kind: "component", type: i1$
|
|
9870
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXQrcodeModule }, { kind: "component", type: i1$9.AXQrcodeComponent, selector: "ax-qrcode", inputs: ["content", "size", "level", "color", "backgroundColor", "outputType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9269
9871
|
}
|
|
9270
9872
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPQrcodeWidgetViewComponent, decorators: [{
|
|
9271
9873
|
type: Component,
|
|
@@ -9952,7 +10554,7 @@ class AXPFilterOperationsComponent {
|
|
|
9952
10554
|
}
|
|
9953
10555
|
}
|
|
9954
10556
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFilterOperationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9955
|
-
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: 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: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i1$
|
|
10557
|
+
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: 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: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i1$7.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$3.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 }); }
|
|
9956
10558
|
}
|
|
9957
10559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFilterOperationsComponent, decorators: [{
|
|
9958
10560
|
type: Component,
|
|
@@ -10342,7 +10944,7 @@ class AXPFormFieldWidgetViewComponent extends AXPWidgetComponent {
|
|
|
10342
10944
|
<ng-container axp-widget-renderer [node]="node" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
|
|
10343
10945
|
}
|
|
10344
10946
|
</ax-form-field>
|
|
10345
|
-
`, 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$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
10947
|
+
`, 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$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10346
10948
|
}
|
|
10347
10949
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormFieldWidgetViewComponent, decorators: [{
|
|
10348
10950
|
type: Component,
|
|
@@ -10472,7 +11074,7 @@ class AXPGridWidgetViewComponent extends AXPWidgetComponent {
|
|
|
10472
11074
|
<ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
|
|
10473
11075
|
}
|
|
10474
11076
|
</div>
|
|
10475
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
11077
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10476
11078
|
}
|
|
10477
11079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridWidgetViewComponent, decorators: [{
|
|
10478
11080
|
type: Component,
|
|
@@ -10513,32 +11115,71 @@ class AXPGridWidgetDesignerComponent extends AXPWidgetComponent {
|
|
|
10513
11115
|
constructor() {
|
|
10514
11116
|
super(...arguments);
|
|
10515
11117
|
this.designerService = inject(AXPDesignerService);
|
|
10516
|
-
this.cols = computed(() => this.options()['
|
|
10517
|
-
this.rows = computed(() => this.options()['
|
|
10518
|
-
this.
|
|
10519
|
-
this.
|
|
11118
|
+
this.cols = computed(() => this.calcGridRowOrColumn(this.options()['gridOptions']?.default?.gridTemplateColumns ?? 'repeat(1, 1fr)'));
|
|
11119
|
+
this.rows = computed(() => this.calcGridRowOrColumn(this.options()['gridOptions']?.default?.gridTemplateRows ?? 'repeat(1, 1fr)'));
|
|
11120
|
+
this.align = computed(() => this.options()['gridOptions']?.default?.alignItems ?? 'stretch');
|
|
11121
|
+
this.justify = computed(() => this.options()['gridOptions']?.default?.justifyItems ?? 'stretch');
|
|
11122
|
+
this.gap = computed(() => this.options()['gridOptions']?.default?.gap ?? '1px');
|
|
11123
|
+
this.cells = computed(() => this.calcTotalCells(this.options()['gridOptions']?.default?.gridTemplateRows ?? 'repeat(1, 1fr)', this.options()['gridOptions']?.default?.gridTemplateColumns ?? 'repeat(1, 1fr)'));
|
|
10520
11124
|
this.settled = computed(() => this.cols() * this.rows() > 1 && this.children().length);
|
|
11125
|
+
// eff = effect(() => console.log(this.options()['gridOptions']));
|
|
11126
|
+
this.#rowOrColumnChangeEffect = effect(() => {
|
|
11127
|
+
const deferent = this.cells() - this.children().length;
|
|
11128
|
+
untracked(() => {
|
|
11129
|
+
if (deferent > 0) {
|
|
11130
|
+
Array.from({ length: deferent })
|
|
11131
|
+
.map(() => ({
|
|
11132
|
+
type: AXPWidgetsCatalog.gridItem,
|
|
11133
|
+
}))
|
|
11134
|
+
.forEach((node) => {
|
|
11135
|
+
this.designerService.addWidget(this.node, node);
|
|
11136
|
+
});
|
|
11137
|
+
}
|
|
11138
|
+
else if (deferent < 0) {
|
|
11139
|
+
this.children()
|
|
11140
|
+
.slice(deferent)
|
|
11141
|
+
.forEach((node) => this.designerService.removeWidget(node));
|
|
11142
|
+
}
|
|
11143
|
+
});
|
|
11144
|
+
});
|
|
10521
11145
|
}
|
|
10522
11146
|
handleDrawerSelect(e) {
|
|
10523
11147
|
this.designerService.update({
|
|
10524
11148
|
values: {
|
|
10525
|
-
options: e,
|
|
11149
|
+
// options: e,
|
|
11150
|
+
options: {
|
|
11151
|
+
gridOptions: {
|
|
11152
|
+
default: {
|
|
11153
|
+
gridTemplateColumns: `repeat(${e.cols}, 1fr)`,
|
|
11154
|
+
gridTemplateRows: `repeat(${e.rows}, 1fr)`,
|
|
11155
|
+
gap: '10px',
|
|
11156
|
+
},
|
|
11157
|
+
},
|
|
11158
|
+
},
|
|
10526
11159
|
},
|
|
10527
11160
|
mode: 'update',
|
|
10528
11161
|
widget: this.node,
|
|
10529
11162
|
});
|
|
10530
|
-
const list = Array.from({ length: this.cells()
|
|
11163
|
+
const list = Array.from({ length: this.cells() }).map(() => ({
|
|
10531
11164
|
type: AXPWidgetsCatalog.gridItem,
|
|
10532
11165
|
}));
|
|
10533
11166
|
list.forEach((node) => {
|
|
10534
11167
|
this.designerService.addWidget(this.node, node);
|
|
10535
11168
|
});
|
|
10536
11169
|
}
|
|
11170
|
+
// eff = effect(() => console.log(this.options()['gridOptions']));
|
|
11171
|
+
#rowOrColumnChangeEffect;
|
|
11172
|
+
calcTotalCells(rows, cols) {
|
|
11173
|
+
return AXPPropertyEditorHelper.parseGridTemplate(rows) * AXPPropertyEditorHelper.parseGridTemplate(cols);
|
|
11174
|
+
}
|
|
11175
|
+
calcGridRowOrColumn(value) {
|
|
11176
|
+
return AXPPropertyEditorHelper.parseGridTemplate(value);
|
|
11177
|
+
}
|
|
10537
11178
|
get __class() {
|
|
10538
11179
|
return {
|
|
10539
11180
|
'ax-widget-container': true,
|
|
10540
11181
|
'ax-block': true,
|
|
10541
|
-
'ax-w-full': true
|
|
11182
|
+
'ax-w-full': true,
|
|
10542
11183
|
};
|
|
10543
11184
|
}
|
|
10544
11185
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -10549,14 +11190,33 @@ class AXPGridWidgetDesignerComponent extends AXPWidgetComponent {
|
|
|
10549
11190
|
},
|
|
10550
11191
|
], usesInheritance: true, ngImport: i0, template: `
|
|
10551
11192
|
@if(settled()) {
|
|
10552
|
-
<div
|
|
11193
|
+
<div
|
|
11194
|
+
class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-items-{{ align() }} ax-justify-items-{{
|
|
11195
|
+
justify()
|
|
11196
|
+
}} "
|
|
11197
|
+
[style]="{ gap: gap() }"
|
|
11198
|
+
>
|
|
10553
11199
|
@for (child of children(); track $index) {
|
|
10554
|
-
<ng-container
|
|
11200
|
+
<ng-container
|
|
11201
|
+
axp-widget-designer-renderer
|
|
11202
|
+
[node]="child"
|
|
11203
|
+
[parentNode]="this"
|
|
11204
|
+
[mode]="this.mode"
|
|
11205
|
+
[locked]="this.locked"
|
|
11206
|
+
>
|
|
11207
|
+
</ng-container>
|
|
10555
11208
|
}
|
|
10556
11209
|
</div>
|
|
10557
11210
|
}@else {
|
|
10558
11211
|
<axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
|
|
10559
11212
|
}
|
|
11213
|
+
<!--TO BE SURE ALL DYNAMIC TAILWIND CLASSES WORK WELL!-->
|
|
11214
|
+
@if(false){
|
|
11215
|
+
<div class="ax-hidden">
|
|
11216
|
+
ax-items-start ax-items-center ax-items-end ax-items-stretch ax-justify-items-start ax-justify-items-center
|
|
11217
|
+
ax-justify-items-end ax-justify-items-stretch
|
|
11218
|
+
</div>
|
|
11219
|
+
}
|
|
10560
11220
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "locked", "mode", "node"] }, { kind: "component", type: AXPDesignerGridDrawerComponent, selector: "axp-designer-grid-drawer", inputs: ["rows", "columns"], outputs: ["rowsChange", "columnsChange", "onSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10561
11221
|
}
|
|
10562
11222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridWidgetDesignerComponent, decorators: [{
|
|
@@ -10565,28 +11225,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
10565
11225
|
selector: 'axp-grid-layout-widget',
|
|
10566
11226
|
template: `
|
|
10567
11227
|
@if(settled()) {
|
|
10568
|
-
<div
|
|
11228
|
+
<div
|
|
11229
|
+
class="ax-grid ax-grid-cols-{{ cols() }} ax-grid-rows-{{ rows() }} ax-items-{{ align() }} ax-justify-items-{{
|
|
11230
|
+
justify()
|
|
11231
|
+
}} "
|
|
11232
|
+
[style]="{ gap: gap() }"
|
|
11233
|
+
>
|
|
10569
11234
|
@for (child of children(); track $index) {
|
|
10570
|
-
<ng-container
|
|
11235
|
+
<ng-container
|
|
11236
|
+
axp-widget-designer-renderer
|
|
11237
|
+
[node]="child"
|
|
11238
|
+
[parentNode]="this"
|
|
11239
|
+
[mode]="this.mode"
|
|
11240
|
+
[locked]="this.locked"
|
|
11241
|
+
>
|
|
11242
|
+
</ng-container>
|
|
10571
11243
|
}
|
|
10572
11244
|
</div>
|
|
10573
11245
|
}@else {
|
|
10574
11246
|
<axp-designer-grid-drawer (onSelect)="handleDrawerSelect($event)"></axp-designer-grid-drawer>
|
|
10575
11247
|
}
|
|
11248
|
+
<!--TO BE SURE ALL DYNAMIC TAILWIND CLASSES WORK WELL!-->
|
|
11249
|
+
@if(false){
|
|
11250
|
+
<div class="ax-hidden">
|
|
11251
|
+
ax-items-start ax-items-center ax-items-end ax-items-stretch ax-justify-items-start ax-justify-items-center
|
|
11252
|
+
ax-justify-items-end ax-justify-items-stretch
|
|
11253
|
+
</div>
|
|
11254
|
+
}
|
|
10576
11255
|
`,
|
|
10577
11256
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10578
|
-
imports: [
|
|
10579
|
-
CommonModule,
|
|
10580
|
-
AXPLayoutBuilderModule,
|
|
10581
|
-
AXPWidgetDesignerRendererDirective,
|
|
10582
|
-
AXPDesignerGridDrawerComponent,
|
|
10583
|
-
],
|
|
11257
|
+
imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective, AXPDesignerGridDrawerComponent],
|
|
10584
11258
|
providers: [
|
|
10585
11259
|
{
|
|
10586
11260
|
provide: AXPWidgetComponent,
|
|
10587
11261
|
useExisting: AXPGridWidgetDesignerComponent,
|
|
10588
11262
|
},
|
|
10589
|
-
]
|
|
11263
|
+
],
|
|
10590
11264
|
}]
|
|
10591
11265
|
}], propDecorators: { __class: [{
|
|
10592
11266
|
type: HostBinding,
|
|
@@ -10606,7 +11280,8 @@ const AXPGridWidget = {
|
|
|
10606
11280
|
icon: 'fa-solid fa-grid',
|
|
10607
11281
|
properties: [
|
|
10608
11282
|
AXP_NAME_PROPERTY,
|
|
10609
|
-
...AXP_LAYOUT_GRID_PROPERTIES
|
|
11283
|
+
// ...AXP_LAYOUT_GRID_PROPERTIES,
|
|
11284
|
+
AXP_LAYOUT_GRID_PROPERTY,
|
|
10610
11285
|
],
|
|
10611
11286
|
components: {
|
|
10612
11287
|
view: {
|
|
@@ -10682,7 +11357,7 @@ class AXPGridItemWidgetViewComponent extends AXPWidgetComponent {
|
|
|
10682
11357
|
@for (child of children(); track $index) {
|
|
10683
11358
|
<ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
|
|
10684
11359
|
}
|
|
10685
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
11360
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10686
11361
|
}
|
|
10687
11362
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridItemWidgetViewComponent, decorators: [{
|
|
10688
11363
|
type: Component,
|
|
@@ -10866,7 +11541,7 @@ class AXPGridRowWidgetViewComponent extends AXPWidgetComponent {
|
|
|
10866
11541
|
<ng-container axp-widget-renderer [node]="child" [index]="index" [parentNode]="this" [mode]="this.mode"> </ng-container>
|
|
10867
11542
|
}
|
|
10868
11543
|
</div>
|
|
10869
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$
|
|
11544
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "directive", type: i1$6.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10870
11545
|
}
|
|
10871
11546
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPGridRowWidgetViewComponent, decorators: [{
|
|
10872
11547
|
type: Component,
|
|
@@ -11101,7 +11776,7 @@ const AXPTextBlockWidget = {
|
|
|
11101
11776
|
|
|
11102
11777
|
class AXPWidgetsModule {
|
|
11103
11778
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11104
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, imports: [i1$
|
|
11779
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, imports: [i1$6.AXPLayoutBuilderModule] }); }
|
|
11105
11780
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPWidgetsModule, imports: [AXPLayoutBuilderModule.forChild({
|
|
11106
11781
|
widgets: [
|
|
11107
11782
|
AXPDocumentWidget,
|
|
@@ -11112,6 +11787,7 @@ class AXPWidgetsModule {
|
|
|
11112
11787
|
AXPTextBlockWidget,
|
|
11113
11788
|
AXPFormFieldWidget,
|
|
11114
11789
|
AXPGridWidget,
|
|
11790
|
+
AXPAdvancedGridWidget,
|
|
11115
11791
|
AXPGridItemWidget,
|
|
11116
11792
|
AXPGridRowWidget,
|
|
11117
11793
|
//
|
|
@@ -11146,6 +11822,7 @@ class AXPWidgetsModule {
|
|
|
11146
11822
|
AXPDateTimeFilterWidget,
|
|
11147
11823
|
AXPSelectFilterWidget,
|
|
11148
11824
|
AXPFlexOptionsWidget,
|
|
11825
|
+
AXPGridOptionsWidget,
|
|
11149
11826
|
],
|
|
11150
11827
|
})] }); }
|
|
11151
11828
|
}
|
|
@@ -11163,6 +11840,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
11163
11840
|
AXPTextBlockWidget,
|
|
11164
11841
|
AXPFormFieldWidget,
|
|
11165
11842
|
AXPGridWidget,
|
|
11843
|
+
AXPAdvancedGridWidget,
|
|
11166
11844
|
AXPGridItemWidget,
|
|
11167
11845
|
AXPGridRowWidget,
|
|
11168
11846
|
//
|
|
@@ -11197,6 +11875,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
11197
11875
|
AXPDateTimeFilterWidget,
|
|
11198
11876
|
AXPSelectFilterWidget,
|
|
11199
11877
|
AXPFlexOptionsWidget,
|
|
11878
|
+
AXPGridOptionsWidget,
|
|
11200
11879
|
],
|
|
11201
11880
|
}),
|
|
11202
11881
|
],
|
|
@@ -11209,5 +11888,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
11209
11888
|
* Generated bundle index. Do not edit.
|
|
11210
11889
|
*/
|
|
11211
11890
|
|
|
11212
|
-
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_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_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 };
|
|
11891
|
+
export { AXPAdvancedGridWidget, AXPAdvancedGridWidgetDesignerComponent, AXPAdvancedGridWidgetViewComponent, 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, AXPGridOptionsWidget, AXPGridOptionsWidgetEditComponent, 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_Box_Align_Options, AXP_Flex_Box_Alignments, AXP_Flex_Box_Justify_Options, AXP_Grid_Box_Align_Items_Options, AXP_Grid_Box_Alignments, AXP_Grid_Box_Justify_Items_Options, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ALIGN_CONTENT_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_COL_END_PROPERTY, AXP_LAYOUT_COL_SPAN_PROPERTY, AXP_LAYOUT_COL_START_PROPERTY, AXP_LAYOUT_FLEX_ALIGN_PROPERTY, AXP_LAYOUT_FLEX_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_JUSTIFY_PROPERTY, AXP_LAYOUT_FLEX_PROPERTIES, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_FLEX_WRAP_PROPERTY, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTIES, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_NAME_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY, AXP_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, findNonEmptyBreakpoints, largeTextDefaultProperty, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty };
|
|
11213
11892
|
//# sourceMappingURL=acorex-platform-widgets.mjs.map
|