@vectoriox/iox-builder 5.1.1 → 5.3.0
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.
|
@@ -16,7 +16,7 @@ import { SelectModule } from 'primeng/select';
|
|
|
16
16
|
import { TooltipModule } from 'primeng/tooltip';
|
|
17
17
|
import { DialogModule } from 'primeng/dialog';
|
|
18
18
|
import * as i1 from '@vectoriox/iox-ui';
|
|
19
|
-
import { VALIDATION_STATES as VALIDATION_STATES$1, VALIDATION_STATE_CLASS as VALIDATION_STATE_CLASS$1, DEFAULT_WIDTH_BY_TYPE, COLOR_SCHEME_TRAIT, COLOR_SCHEMES, ColorScheme, Breakpoint, BREAKPOINTS, countOverrides, setOverride, defaultElementStyleFor, applyElementStyle, stripSuppressedProps, DeclarationContext, buildPartSelector, planResponsiveRules, resolveStyleProps, buildTargetedStateSelector, statePseudoClass, compileTokenCssBlocks, compileDeclarations, wrapInBreakpointQuery, BreakpointQueryKind, breakpointDef, breakpointForWidth, FormRenderState, safeSetInput, ContextStore, ComponentInstanceRegistryService, isActionEnabled, isContextAction, contextActionEffect, resolveContextValue,
|
|
19
|
+
import { VALIDATION_STATES as VALIDATION_STATES$1, VALIDATION_STATE_CLASS as VALIDATION_STATE_CLASS$1, DEFAULT_WIDTH_BY_TYPE, COLOR_SCHEME_TRAIT, COLOR_SCHEMES, ColorScheme, Breakpoint, BREAKPOINTS, countOverrides, setOverride, defaultElementStyleFor, applyElementStyle, stripSuppressedProps, DeclarationContext, buildPartSelector, planResponsiveRules, resolveStyleProps, buildTargetedStateSelector, statePseudoClass, compileTokenCssBlocks, fontsForTokens, GOOGLE_FONTS_FILE_ORIGIN, googleFontHref, compileDeclarations, wrapInBreakpointQuery, BreakpointQueryKind, breakpointDef, breakpointForWidth, FormRenderState, safeSetInput, ContextStore, ComponentInstanceRegistryService, isActionEnabled, isContextAction, contextActionEffect, resolveContextValue, declaredInputNames, emptyImagePlaceholder, syncNodeDesignClasses, composeVirtualTraits, withDefaultHoverTransition, stateNamesIn, partClassName, resolveInputs, setInputOverride, collectContextSlotKeys, withContextSlots, compilePageStyle, nodeUsesContext, resolveBoundValue, IS_PREVIEW, planDataSource, dataSourcePlanToRequest, normalizeCollectionResult, resolveRepeaterItems, getByPath, computeRelative, IoxPageModule, PALETTE_PRESETS, PART_CLASS_NAMES } from '@vectoriox/iox-ui';
|
|
20
20
|
export { ComponentInstanceRegistryService, VIRTUAL_TRAIT_KEYS, composeVirtualTraits } from '@vectoriox/iox-ui';
|
|
21
21
|
import Lenis from 'lenis';
|
|
22
22
|
import { Subject, BehaviorSubject, of, forkJoin } from 'rxjs';
|
|
@@ -1558,8 +1558,10 @@ function buildLayoutPreset(def, createNode) {
|
|
|
1558
1558
|
/**
|
|
1559
1559
|
* True for nodes rendered on the EDITING canvas — provided by `BuilderComponent` at component level,
|
|
1560
1560
|
* so it reaches every `[ioxRender]` under `<app-builder>` and nothing else (Preview renders the same
|
|
1561
|
-
* directive outside it).
|
|
1562
|
-
*
|
|
1561
|
+
* directive outside it). It answers "is this the editor?" — the canvas-only "Add image" label hangs off
|
|
1562
|
+
* it. `IS_PREVIEW` answers the other question, "is this a preview/live render?" (links navigate,
|
|
1563
|
+
* sliders run live), and is provided ONLY by Preview (component level) and the engine; neither token
|
|
1564
|
+
* implies the other — a design sampler, for one, is neither.
|
|
1563
1565
|
*/
|
|
1564
1566
|
const IOX_BUILDER_CANVAS = new InjectionToken('IOX_BUILDER_CANVAS');
|
|
1565
1567
|
/** Optional font manager. Provide from the host app to populate the fontFamily dropdown. */
|
|
@@ -1602,6 +1604,14 @@ const BUILDER_CHROME_EN = Object.freeze({
|
|
|
1602
1604
|
'builder.chrome.preview': 'Preview',
|
|
1603
1605
|
'builder.chrome.addImage': 'Add image',
|
|
1604
1606
|
});
|
|
1607
|
+
const CANVAS_EMPTY_IMAGE_LABEL_KEY = 'builder.chrome.addImage';
|
|
1608
|
+
const CANVAS_EMPTY_IMAGE_LABEL_EN = BUILDER_CHROME_EN[CANVAS_EMPTY_IMAGE_LABEL_KEY];
|
|
1609
|
+
/**
|
|
1610
|
+
* Marks an element the builder draws on the canvas that the live site never has — drop placeholders,
|
|
1611
|
+
* repeat badges, the empty slider hint. A page thumbnail is a picture of the SITE, so its capture
|
|
1612
|
+
* leaves every marked element out.
|
|
1613
|
+
*/
|
|
1614
|
+
const EDITOR_CHROME_ATTRIBUTE = 'data-iox-chrome';
|
|
1605
1615
|
|
|
1606
1616
|
class ComponentRegistryService {
|
|
1607
1617
|
constructor() {
|
|
@@ -1883,6 +1893,8 @@ const BUILDER_CANVAS_CONTAINER = 'iox-canvas';
|
|
|
1883
1893
|
* registry — the canvas frame, the global-elements overlay, preview, specimens — wears this class.
|
|
1884
1894
|
*/
|
|
1885
1895
|
const BUILDER_TOKEN_SCOPE_CLASS = 'iox-token-scope';
|
|
1896
|
+
/** Marks the Google font `<link>`s the canvas adds to `<head>` (one per family, design-system DS4). */
|
|
1897
|
+
const BUILDER_FONT_LINK_ATTR = 'data-iox-font';
|
|
1886
1898
|
/**
|
|
1887
1899
|
* StyleRegistryService — manages a single <style> tag for the builder canvas.
|
|
1888
1900
|
*
|
|
@@ -1923,6 +1935,8 @@ class StyleRegistryService {
|
|
|
1923
1935
|
* positioning, an Icon's line-height) from EVERY rule of that node, whoever upserts it. */
|
|
1924
1936
|
this.nodeTypes = new Map();
|
|
1925
1937
|
this.tokenCss = { base: '', dark: '' };
|
|
1938
|
+
this.tokenRows = [];
|
|
1939
|
+
this.tokenMode = 'auto';
|
|
1926
1940
|
this.styleEl = null;
|
|
1927
1941
|
this._flushPending = false;
|
|
1928
1942
|
}
|
|
@@ -2179,10 +2193,21 @@ class StyleRegistryService {
|
|
|
2179
2193
|
* block, LAST. It used to be a hand-written copy that emitted variables and dark only.
|
|
2180
2194
|
* Pass the full row set every time (an empty list clears).
|
|
2181
2195
|
*/
|
|
2182
|
-
upsertTokens(tokens) {
|
|
2183
|
-
|
|
2196
|
+
upsertTokens(tokens, opts = {}) {
|
|
2197
|
+
if (opts.mode)
|
|
2198
|
+
this.tokenMode = opts.mode;
|
|
2199
|
+
this.tokenRows = [...(tokens ?? [])];
|
|
2200
|
+
this.tokenCss = compileTokenCssBlocks(tokens, {
|
|
2201
|
+
scope: `.${BUILDER_TOKEN_SCOPE_CLASS}`,
|
|
2202
|
+
mode: this.tokenMode,
|
|
2203
|
+
// A missing org row must compute UNSET on the canvas, as it does on the live site — never
|
|
2204
|
+
// the admin's same-named :root chrome token inherited from above the frame (DS4).
|
|
2205
|
+
isolate: true,
|
|
2206
|
+
});
|
|
2184
2207
|
this.flush();
|
|
2185
2208
|
}
|
|
2209
|
+
/** The colour mode the canvas compiles in. */
|
|
2210
|
+
get mode() { return this.tokenMode; }
|
|
2186
2211
|
remove(nodeId) {
|
|
2187
2212
|
if (!nodeId)
|
|
2188
2213
|
return;
|
|
@@ -2210,11 +2235,46 @@ class StyleRegistryService {
|
|
|
2210
2235
|
this.stateScopes.clear();
|
|
2211
2236
|
this.nodeTypes.clear();
|
|
2212
2237
|
this.tokenCss = { base: '', dark: '' };
|
|
2238
|
+
this.tokenRows = [];
|
|
2213
2239
|
if (this.styleEl) {
|
|
2214
2240
|
this.styleEl.remove();
|
|
2215
2241
|
this.styleEl = null;
|
|
2216
2242
|
}
|
|
2217
2243
|
}
|
|
2244
|
+
/**
|
|
2245
|
+
* The Google families the org's font tokens name — the SAME catalog and URL the SSR engine links
|
|
2246
|
+
* (design-core `fontsForTokens` / `googleFontHref`), one `<link>` per family. They only declare
|
|
2247
|
+
* @font-face, and only the canvas (`.iox-token-scope`) reads the font tokens, so the admin keeps
|
|
2248
|
+
* Poppins. Links stay for the session: a trial that switches back costs no refetch.
|
|
2249
|
+
*/
|
|
2250
|
+
loadTokenFonts(nodeCss) {
|
|
2251
|
+
const head = this.styleEl?.ownerDocument?.head;
|
|
2252
|
+
if (!head)
|
|
2253
|
+
return;
|
|
2254
|
+
const ids = fontsForTokens(this.tokenRows, { usedCss: nodeCss });
|
|
2255
|
+
if (!ids.length)
|
|
2256
|
+
return;
|
|
2257
|
+
const doc = head.ownerDocument;
|
|
2258
|
+
if (!head.querySelector(`link[rel="preconnect"][${BUILDER_FONT_LINK_ATTR}]`)) {
|
|
2259
|
+
const pre = doc.createElement('link');
|
|
2260
|
+
pre.rel = 'preconnect';
|
|
2261
|
+
pre.href = GOOGLE_FONTS_FILE_ORIGIN;
|
|
2262
|
+
pre.setAttribute('crossorigin', '');
|
|
2263
|
+
pre.setAttribute(BUILDER_FONT_LINK_ATTR, '');
|
|
2264
|
+
head.appendChild(pre);
|
|
2265
|
+
}
|
|
2266
|
+
const present = new Set(Array.from(head.querySelectorAll(`link[rel="stylesheet"][${BUILDER_FONT_LINK_ATTR}]`))
|
|
2267
|
+
.map(l => l.getAttribute(BUILDER_FONT_LINK_ATTR)));
|
|
2268
|
+
for (const id of ids) {
|
|
2269
|
+
if (present.has(id))
|
|
2270
|
+
continue;
|
|
2271
|
+
const link = doc.createElement('link');
|
|
2272
|
+
link.rel = 'stylesheet';
|
|
2273
|
+
link.href = googleFontHref(id);
|
|
2274
|
+
link.setAttribute(BUILDER_FONT_LINK_ATTR, id);
|
|
2275
|
+
head.appendChild(link);
|
|
2276
|
+
}
|
|
2277
|
+
}
|
|
2218
2278
|
compile(className, styles, context = DeclarationContext.Base) {
|
|
2219
2279
|
// Declaration compilation (kebab-case, viewport-unit rewrite, !important) lives in
|
|
2220
2280
|
// the shared style-compiler so the SSR engine produces byte-identical output.
|
|
@@ -2242,7 +2302,9 @@ class StyleRegistryService {
|
|
|
2242
2302
|
? wrapInBreakpointQuery(BREAKPOINTS[i].id, Array.from(bucket.values()).join('\n'), BreakpointQueryKind.Container, BUILDER_CANVAS_CONTAINER)
|
|
2243
2303
|
: '');
|
|
2244
2304
|
// …and the token dark half LAST (the appended-last contract the engine also keeps).
|
|
2245
|
-
|
|
2305
|
+
const nodeCss = [...rest, ...breakpoints].filter(Boolean).join('\n');
|
|
2306
|
+
this.styleEl.textContent = [this.tokenCss.base, nodeCss, this.tokenCss.dark].filter(Boolean).join('\n');
|
|
2307
|
+
this.loadTokenFonts(nodeCss);
|
|
2246
2308
|
this.changes$.next();
|
|
2247
2309
|
});
|
|
2248
2310
|
}
|
|
@@ -4559,6 +4621,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
4559
4621
|
args: [{ providedIn: 'root' }]
|
|
4560
4622
|
}] });
|
|
4561
4623
|
|
|
4624
|
+
/** The input a component declares to receive its empty-image placeholder (the Image). */
|
|
4625
|
+
const EMPTY_SRC_INPUT = 'emptySrc';
|
|
4626
|
+
/** The editing canvas's "Add image" label, through the host's i18n. */
|
|
4627
|
+
function canvasEmptyImageLabel(labels) {
|
|
4628
|
+
return labels(CANVAS_EMPTY_IMAGE_LABEL_KEY, CANVAS_EMPTY_IMAGE_LABEL_EN);
|
|
4629
|
+
}
|
|
4630
|
+
/**
|
|
4631
|
+
* Push a node's empty-image placeholder (design-system DS3) to its rendered component — a no-op for
|
|
4632
|
+
* a component that declares no `emptySrc`. The placeholder depends on the MARKER only, never on the
|
|
4633
|
+
* source, so it is set once at render and again whenever the node's element style changes.
|
|
4634
|
+
*/
|
|
4635
|
+
function syncEmptyImagePlaceholder(ref, node, emptyLabel) {
|
|
4636
|
+
if (!ref || !declaredInputNames(ref.componentType).has(EMPTY_SRC_INPUT))
|
|
4637
|
+
return;
|
|
4638
|
+
ref.setInput(EMPTY_SRC_INPUT, emptyImagePlaceholder(node, emptyLabel));
|
|
4639
|
+
}
|
|
4640
|
+
/**
|
|
4641
|
+
* Everything a node's element style / colour scheme decides on its rendered host, in ONE call: the
|
|
4642
|
+
* design classes (marker + scheme) and the empty-image placeholder. Every place that switches or
|
|
4643
|
+
* resets a node's style on the canvas calls this, so an adopted Image gains its placeholder at once
|
|
4644
|
+
* instead of after a reload (DS3 D2).
|
|
4645
|
+
*/
|
|
4646
|
+
function syncNodeDesign(ref, node, emptyLabel) {
|
|
4647
|
+
syncNodeDesignClasses(ref?.location?.nativeElement ?? null, node);
|
|
4648
|
+
syncEmptyImagePlaceholder(ref, node, emptyLabel);
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4562
4651
|
// Module-level counter — unique drop-list ID per Section instance across the whole app session.
|
|
4563
4652
|
let dropListCounter = 0;
|
|
4564
4653
|
/**
|
|
@@ -4771,14 +4860,11 @@ class RenderDirective {
|
|
|
4771
4860
|
// safeSetInput for every component that does not declare it.
|
|
4772
4861
|
if (node.responsive)
|
|
4773
4862
|
safeSetInput(componentRef, 'responsive', node.responsive);
|
|
4774
|
-
// Empty images (DS3): a MARKED Image
|
|
4775
|
-
// "Add image" label on the editing canvas, the bare blank anywhere else (Preview), which is
|
|
4776
|
-
// what the live site shows. An unmarked Image gets null and renders exactly as before.
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
const label = this.onCanvas ? this.labels('builder.chrome.addImage', 'Add image') : null;
|
|
4780
|
-
safeSetInput(componentRef, 'emptySrc', emptyImageSrc(node, src, label));
|
|
4781
|
-
}
|
|
4863
|
+
// Empty images (DS3): a MARKED Image shows the shared placeholder whenever its source is empty —
|
|
4864
|
+
// the "Add image" label on the editing canvas, the bare blank anywhere else (Preview), which is
|
|
4865
|
+
// what the live site shows. An unmarked Image gets null and renders exactly as before. Set from
|
|
4866
|
+
// the marker alone, so a source cleared later (Bindings) shows it with no re-render.
|
|
4867
|
+
syncEmptyImagePlaceholder(componentRef, node, this.onCanvas ? canvasEmptyImageLabel(this.labels) : null);
|
|
4782
4868
|
// Build initial style map from styleTraits defaults.
|
|
4783
4869
|
const initialStyle = {};
|
|
4784
4870
|
if (node.styleTraits?.length) {
|
|
@@ -7619,7 +7705,7 @@ class SectionComponent {
|
|
|
7619
7705
|
}
|
|
7620
7706
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: SectionComponent, deps: [{ token: i0.ElementRef }, { token: DragEngineService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7621
7707
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: SectionComponent, isStandalone: false, selector: "section[iox-section]", inputs: { children: "children", style: "style", nodeId: "nodeId", dropListId: "dropListId" }, outputs: { childClick: "childClick", childMouseEnter: "childMouseEnter", childMouseLeave: "childMouseLeave" }, host: { properties: { "class": "'section-root iox-node-' + nodeId + (listOrientation === 'horizontal' ? ' is-horizontal' : '')" } }, ngImport: i0, template: `
|
|
7622
|
-
<div *ngIf="!children.length" class="section-placeholder">
|
|
7708
|
+
<div *ngIf="!children.length" class="section-placeholder" data-iox-chrome>
|
|
7623
7709
|
<i class="ph-thin ph-rows"></i>
|
|
7624
7710
|
<span>Drop components here</span>
|
|
7625
7711
|
</div>
|
|
@@ -7637,7 +7723,7 @@ class SectionComponent {
|
|
|
7637
7723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: SectionComponent, decorators: [{
|
|
7638
7724
|
type: Component,
|
|
7639
7725
|
args: [{ selector: 'section[iox-section]', template: `
|
|
7640
|
-
<div *ngIf="!children.length" class="section-placeholder">
|
|
7726
|
+
<div *ngIf="!children.length" class="section-placeholder" data-iox-chrome>
|
|
7641
7727
|
<i class="ph-thin ph-rows"></i>
|
|
7642
7728
|
<span>Drop components here</span>
|
|
7643
7729
|
</div>
|
|
@@ -7725,7 +7811,7 @@ class BuilderContainerComponent {
|
|
|
7725
7811
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderContainerComponent, isStandalone: false, selector: "div[iox-container],section[iox-container],article[iox-container],header[iox-container],footer[iox-container],main[iox-container],nav[iox-container],ul[iox-container],ol[iox-container],li[iox-container],form[iox-container]", inputs: { children: "children", style: "style", nodeId: "nodeId", dropListId: "dropListId", htmlTag: "htmlTag", start: "start", reversed: "reversed", formClass: "formClass", formState: "formState" }, outputs: { childClick: "childClick", childMouseEnter: "childMouseEnter", childMouseLeave: "childMouseLeave" }, host: { properties: { "class": "'container-root iox-node-' + nodeId + (listOrientation === 'horizontal' ? ' is-horizontal' : '') + (formClass ? ' ' + formClass : '')", "attr.data-iox-state": "formClass === \"iox-form\" ? formState : null", "attr.start": "htmlTag === 'ol' && start !== 1 ? start : null", "attr.reversed": "htmlTag === 'ol' && reversed ? '' : null" } }, ngImport: i0, template: `
|
|
7726
7812
|
<!-- Empty-container slot (B2). pointer-events:none, so a click falls through and SELECTS
|
|
7727
7813
|
this container — and the components panel then inserts INSIDE it. -->
|
|
7728
|
-
<div *ngIf="!children.length" class="container-placeholder">
|
|
7814
|
+
<div *ngIf="!children.length" class="container-placeholder" data-iox-chrome>
|
|
7729
7815
|
<i class="ph-thin ph-plus"></i>
|
|
7730
7816
|
<span>Click to select, then add an element</span>
|
|
7731
7817
|
</div>
|
|
@@ -7748,7 +7834,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
7748
7834
|
args: [{ selector: 'div[iox-container],section[iox-container],article[iox-container],header[iox-container],footer[iox-container],main[iox-container],nav[iox-container],ul[iox-container],ol[iox-container],li[iox-container],form[iox-container]', template: `
|
|
7749
7835
|
<!-- Empty-container slot (B2). pointer-events:none, so a click falls through and SELECTS
|
|
7750
7836
|
this container — and the components panel then inserts INSIDE it. -->
|
|
7751
|
-
<div *ngIf="!children.length" class="container-placeholder">
|
|
7837
|
+
<div *ngIf="!children.length" class="container-placeholder" data-iox-chrome>
|
|
7752
7838
|
<i class="ph-thin ph-plus"></i>
|
|
7753
7839
|
<span>Click to select, then add an element</span>
|
|
7754
7840
|
</div>
|
|
@@ -7832,6 +7918,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
7832
7918
|
type: Output
|
|
7833
7919
|
}] } });
|
|
7834
7920
|
|
|
7921
|
+
/** `click` covers plain and modified clicks; a middle click opens a tab through `auxclick` alone. */
|
|
7922
|
+
const NAVIGATING_CLICKS = ['click', 'auxclick'];
|
|
7835
7923
|
class BuilderLinkedContainerComponent {
|
|
7836
7924
|
constructor(dragEngine, cdr, elRef, isPreview) {
|
|
7837
7925
|
this.dragEngine = dragEngine;
|
|
@@ -7853,12 +7941,14 @@ class BuilderLinkedContainerComponent {
|
|
|
7853
7941
|
}
|
|
7854
7942
|
ngOnInit() {
|
|
7855
7943
|
if (!this.isPreview) {
|
|
7856
|
-
|
|
7944
|
+
for (const type of NAVIGATING_CLICKS)
|
|
7945
|
+
this.elRef.nativeElement.addEventListener(type, this.capturePreventDefault, true);
|
|
7857
7946
|
}
|
|
7858
7947
|
}
|
|
7859
7948
|
ngOnDestroy() {
|
|
7860
7949
|
if (!this.isPreview) {
|
|
7861
|
-
|
|
7950
|
+
for (const type of NAVIGATING_CLICKS)
|
|
7951
|
+
this.elRef.nativeElement.removeEventListener(type, this.capturePreventDefault, true);
|
|
7862
7952
|
}
|
|
7863
7953
|
}
|
|
7864
7954
|
get resolvedHref() {
|
|
@@ -7889,7 +7979,7 @@ class BuilderLinkedContainerComponent {
|
|
|
7889
7979
|
[ioxDropzoneData]="children"
|
|
7890
7980
|
(ioxDrop)="onDrop($event)">
|
|
7891
7981
|
|
|
7892
|
-
<div *ngIf="!children.length" class="linked-container-placeholder">
|
|
7982
|
+
<div *ngIf="!children.length" class="linked-container-placeholder" data-iox-chrome>
|
|
7893
7983
|
<i class="ph-thin ph-link"></i>
|
|
7894
7984
|
<span>Drop components here</span>
|
|
7895
7985
|
</div>
|
|
@@ -7918,7 +8008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
7918
8008
|
[ioxDropzoneData]="children"
|
|
7919
8009
|
(ioxDrop)="onDrop($event)">
|
|
7920
8010
|
|
|
7921
|
-
<div *ngIf="!children.length" class="linked-container-placeholder">
|
|
8011
|
+
<div *ngIf="!children.length" class="linked-container-placeholder" data-iox-chrome>
|
|
7922
8012
|
<i class="ph-thin ph-link"></i>
|
|
7923
8013
|
<span>Drop components here</span>
|
|
7924
8014
|
</div>
|
|
@@ -8318,7 +8408,7 @@ class BuilderRepeaterComponent {
|
|
|
8318
8408
|
<div class="repeater-wrapper" [class.has-children]="children.length > 0">
|
|
8319
8409
|
|
|
8320
8410
|
<!-- HAS-CHILDREN: badge outside root, absolute over wrapper -->
|
|
8321
|
-
<div *ngIf="children.length > 0" class="repeater-badge">
|
|
8411
|
+
<div *ngIf="children.length > 0" class="repeater-badge" data-iox-chrome>
|
|
8322
8412
|
<ng-container *ngTemplateOutlet="badgeContent"></ng-container>
|
|
8323
8413
|
</div>
|
|
8324
8414
|
|
|
@@ -8332,10 +8422,10 @@ class BuilderRepeaterComponent {
|
|
|
8332
8422
|
|
|
8333
8423
|
<!-- EMPTY STATE: badge + placeholder inside root -->
|
|
8334
8424
|
<ng-container *ngIf="!children.length">
|
|
8335
|
-
<div class="repeater-badge">
|
|
8425
|
+
<div class="repeater-badge" data-iox-chrome>
|
|
8336
8426
|
<ng-container *ngTemplateOutlet="badgeContent"></ng-container>
|
|
8337
8427
|
</div>
|
|
8338
|
-
<div class="repeater-placeholder">
|
|
8428
|
+
<div class="repeater-placeholder" data-iox-chrome>
|
|
8339
8429
|
<i class="ph-thin ph-rows"></i>
|
|
8340
8430
|
<span>Drop a component here as the item template</span>
|
|
8341
8431
|
</div>
|
|
@@ -8400,7 +8490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
8400
8490
|
<div class="repeater-wrapper" [class.has-children]="children.length > 0">
|
|
8401
8491
|
|
|
8402
8492
|
<!-- HAS-CHILDREN: badge outside root, absolute over wrapper -->
|
|
8403
|
-
<div *ngIf="children.length > 0" class="repeater-badge">
|
|
8493
|
+
<div *ngIf="children.length > 0" class="repeater-badge" data-iox-chrome>
|
|
8404
8494
|
<ng-container *ngTemplateOutlet="badgeContent"></ng-container>
|
|
8405
8495
|
</div>
|
|
8406
8496
|
|
|
@@ -8414,10 +8504,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
8414
8504
|
|
|
8415
8505
|
<!-- EMPTY STATE: badge + placeholder inside root -->
|
|
8416
8506
|
<ng-container *ngIf="!children.length">
|
|
8417
|
-
<div class="repeater-badge">
|
|
8507
|
+
<div class="repeater-badge" data-iox-chrome>
|
|
8418
8508
|
<ng-container *ngTemplateOutlet="badgeContent"></ng-container>
|
|
8419
8509
|
</div>
|
|
8420
|
-
<div class="repeater-placeholder">
|
|
8510
|
+
<div class="repeater-placeholder" data-iox-chrome>
|
|
8421
8511
|
<i class="ph-thin ph-rows"></i>
|
|
8422
8512
|
<span>Drop a component here as the item template</span>
|
|
8423
8513
|
</div>
|
|
@@ -8523,7 +8613,7 @@ class BuilderButtonBlockComponent {
|
|
|
8523
8613
|
}
|
|
8524
8614
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderButtonBlockComponent, deps: [{ token: i0.ElementRef }, { token: DragEngineService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8525
8615
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: BuilderButtonBlockComponent, isStandalone: false, selector: "button[iox-button-block],a[iox-button-block]", inputs: { children: "children", style: "style", tag: "tag", href: "href", target: "target", type: "type", nodeId: "nodeId", dropListId: "dropListId" }, outputs: { childClick: "childClick", childMouseEnter: "childMouseEnter", childMouseLeave: "childMouseLeave" }, host: { properties: { "class": "'button-block-root iox-node-' + nodeId", "attr.href": "tag === 'a' ? (href || null) : null", "attr.target": "tag === 'a' ? (target || null) : null", "attr.type": "tag === 'a' ? null : type" } }, ngImport: i0, template: `
|
|
8526
|
-
<span *ngIf="!children.length" class="button-block-placeholder">Button</span>
|
|
8616
|
+
<span *ngIf="!children.length" class="button-block-placeholder" data-iox-chrome>Button</span>
|
|
8527
8617
|
|
|
8528
8618
|
<!-- WRAPPER COLLAPSE (task 9c): render children directly into the host; iox-outer + drag land
|
|
8529
8619
|
on each child's host (via ioxDragSourceId), matching the SSR engine. -->
|
|
@@ -8539,7 +8629,7 @@ class BuilderButtonBlockComponent {
|
|
|
8539
8629
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderButtonBlockComponent, decorators: [{
|
|
8540
8630
|
type: Component,
|
|
8541
8631
|
args: [{ selector: 'button[iox-button-block],a[iox-button-block]', template: `
|
|
8542
|
-
<span *ngIf="!children.length" class="button-block-placeholder">Button</span>
|
|
8632
|
+
<span *ngIf="!children.length" class="button-block-placeholder" data-iox-chrome>Button</span>
|
|
8543
8633
|
|
|
8544
8634
|
<!-- WRAPPER COLLAPSE (task 9c): render children directly into the host; iox-outer + drag land
|
|
8545
8635
|
on each child's host (via ioxDragSourceId), matching the SSR engine. -->
|
|
@@ -8690,7 +8780,7 @@ class BuilderDialogComponent {
|
|
|
8690
8780
|
<i class="ph-thin ph-x"></i>
|
|
8691
8781
|
</button>
|
|
8692
8782
|
|
|
8693
|
-
<div *ngIf="!children.length" class="dialog-placeholder">
|
|
8783
|
+
<div *ngIf="!children.length" class="dialog-placeholder" data-iox-chrome>
|
|
8694
8784
|
<i class="ph-thin ph-browser"></i>
|
|
8695
8785
|
<span>Drop components here</span>
|
|
8696
8786
|
</div>
|
|
@@ -8704,7 +8794,7 @@ class BuilderDialogComponent {
|
|
|
8704
8794
|
</ng-container>
|
|
8705
8795
|
</div>
|
|
8706
8796
|
</div>
|
|
8707
|
-
`, isInline: true, styles: [".dialog-stage{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:#0f172a73}:host(.iox-es) .dialog-stage{background:var(--iox-scrim)}.dialog-stage[data-placement=top]{align-items:start}.dialog-stage[data-placement=bottom]{align-items:end}.dialog-stage[data-placement=start]{justify-items:start}.dialog-stage[data-placement=end]{justify-items:end}:where(.dialog-surface){box-sizing:border-box;max-width:100%;max-height:100%;overflow:auto;contain:layout}.dialog-close{position:absolute;inset-inline-end:10px;top:10px;width:26px;height:26px;border:none;border-radius:999px;background:#0f172a0f;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}:host(.iox-es) .dialog-close{border-radius:var(--iox-radius-pill);background:var(--iox-surface-2);color:var(--iox-text)}.dialog-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:90px;border:1.5px dashed rgba(100,116,139,.35);border-radius:4px;color:#64748b80;font-size:12px}.dialog-placeholder i{font-size:18px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RenderDirective, selector: "[ioxRender]", inputs: ["ioxRender", "ioxDragSourceId"], outputs: ["onClick", "onMouseEnter", "onMouseLeave"] }, { kind: "directive", type: IoxDropzoneDirective, selector: "[ioxDropzone]", inputs: ["ioxDropzoneId", "ioxDropzoneData", "ioxDropzonePostDrop"], outputs: ["ioxDrop"] }] }); }
|
|
8797
|
+
`, isInline: true, styles: [".dialog-stage{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:24px;box-sizing:border-box;background:#0f172a73}:host(.iox-es) .dialog-stage{background:var(--iox-scrim)}.dialog-stage[data-placement=top]{align-items:start}.dialog-stage[data-placement=bottom]{align-items:end}.dialog-stage[data-placement=start]{justify-items:start}.dialog-stage[data-placement=end]{justify-items:end}:where(.dialog-surface){box-sizing:border-box;max-width:100%;max-height:100%;overflow:auto;contain:layout}.dialog-close{position:absolute;inset-inline-end:10px;top:10px;width:26px;height:26px;border:none;border-radius:999px;background:#0f172a0f;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}:host(.iox-es) .dialog-close{border-radius:var(--iox-radius-pill);background:var(--iox-surface-2);color:var(--iox-text)}.dialog-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:90px;border:1.5px dashed rgba(100,116,139,.35);border-radius:4px;color:#64748b80;font-size:12px}.dialog-placeholder i{font-size:18px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RenderDirective, selector: "[ioxRender]", inputs: ["ioxRender", "ioxDragSourceId"], outputs: ["onClick", "onMouseEnter", "onMouseLeave"] }, { kind: "directive", type: IoxDropzoneDirective, selector: "[ioxDropzone]", inputs: ["ioxDropzoneId", "ioxDropzoneData", "ioxDropzonePostDrop"], outputs: ["ioxDrop"] }] }); }
|
|
8708
8798
|
}
|
|
8709
8799
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: BuilderDialogComponent, decorators: [{
|
|
8710
8800
|
type: Component,
|
|
@@ -8726,7 +8816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
8726
8816
|
<i class="ph-thin ph-x"></i>
|
|
8727
8817
|
</button>
|
|
8728
8818
|
|
|
8729
|
-
<div *ngIf="!children.length" class="dialog-placeholder">
|
|
8819
|
+
<div *ngIf="!children.length" class="dialog-placeholder" data-iox-chrome>
|
|
8730
8820
|
<i class="ph-thin ph-browser"></i>
|
|
8731
8821
|
<span>Drop components here</span>
|
|
8732
8822
|
</div>
|
|
@@ -8740,7 +8830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
8740
8830
|
</ng-container>
|
|
8741
8831
|
</div>
|
|
8742
8832
|
</div>
|
|
8743
|
-
`, standalone: false, styles: [".dialog-stage{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:#0f172a73}:host(.iox-es) .dialog-stage{background:var(--iox-scrim)}.dialog-stage[data-placement=top]{align-items:start}.dialog-stage[data-placement=bottom]{align-items:end}.dialog-stage[data-placement=start]{justify-items:start}.dialog-stage[data-placement=end]{justify-items:end}:where(.dialog-surface){box-sizing:border-box;max-width:100%;max-height:100%;overflow:auto;contain:layout}.dialog-close{position:absolute;inset-inline-end:10px;top:10px;width:26px;height:26px;border:none;border-radius:999px;background:#0f172a0f;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}:host(.iox-es) .dialog-close{border-radius:var(--iox-radius-pill);background:var(--iox-surface-2);color:var(--iox-text)}.dialog-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:90px;border:1.5px dashed rgba(100,116,139,.35);border-radius:4px;color:#64748b80;font-size:12px}.dialog-placeholder i{font-size:18px}\n"] }]
|
|
8833
|
+
`, standalone: false, styles: [".dialog-stage{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:24px;box-sizing:border-box;background:#0f172a73}:host(.iox-es) .dialog-stage{background:var(--iox-scrim)}.dialog-stage[data-placement=top]{align-items:start}.dialog-stage[data-placement=bottom]{align-items:end}.dialog-stage[data-placement=start]{justify-items:start}.dialog-stage[data-placement=end]{justify-items:end}:where(.dialog-surface){box-sizing:border-box;max-width:100%;max-height:100%;overflow:auto;contain:layout}.dialog-close{position:absolute;inset-inline-end:10px;top:10px;width:26px;height:26px;border:none;border-radius:999px;background:#0f172a0f;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}:host(.iox-es) .dialog-close{border-radius:var(--iox-radius-pill);background:var(--iox-surface-2);color:var(--iox-text)}.dialog-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:90px;border:1.5px dashed rgba(100,116,139,.35);border-radius:4px;color:#64748b80;font-size:12px}.dialog-placeholder i{font-size:18px}\n"] }]
|
|
8744
8834
|
}], ctorParameters: () => [{ type: DragEngineService }, { type: i1.ComponentInstanceRegistryService }, { type: OverlayService }, { type: i0.ChangeDetectorRef }], propDecorators: { children: [{
|
|
8745
8835
|
type: Input
|
|
8746
8836
|
}], nodeId: [{
|
|
@@ -9166,7 +9256,7 @@ class SliderContainerComponent {
|
|
|
9166
9256
|
(ioxDrop)="onDrop($event)">
|
|
9167
9257
|
|
|
9168
9258
|
<!-- Repeat badge: hover-only, anchored top-left of shell -->
|
|
9169
|
-
<div *ngIf="source" class="slider-repeat-badge">
|
|
9259
|
+
<div *ngIf="source" class="slider-repeat-badge" data-iox-chrome>
|
|
9170
9260
|
<i class="ph-thin ph-repeat"></i>
|
|
9171
9261
|
<span>{{ source }}</span>
|
|
9172
9262
|
<span *ngIf="items.length" class="slider-repeat-badge-count">× {{ items.length }}</span>
|
|
@@ -9224,7 +9314,7 @@ class SliderContainerComponent {
|
|
|
9224
9314
|
|
|
9225
9315
|
</div>
|
|
9226
9316
|
|
|
9227
|
-
<div *ngIf="!source && !children.length" class="slider-edit-placeholder">
|
|
9317
|
+
<div *ngIf="!source && !children.length" class="slider-edit-placeholder" data-iox-chrome>
|
|
9228
9318
|
<i class="ph-thin ph-sliders-horizontal"></i>
|
|
9229
9319
|
<span>Click + in toolbar to add a slide</span>
|
|
9230
9320
|
</div>
|
|
@@ -9317,7 +9407,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
9317
9407
|
(ioxDrop)="onDrop($event)">
|
|
9318
9408
|
|
|
9319
9409
|
<!-- Repeat badge: hover-only, anchored top-left of shell -->
|
|
9320
|
-
<div *ngIf="source" class="slider-repeat-badge">
|
|
9410
|
+
<div *ngIf="source" class="slider-repeat-badge" data-iox-chrome>
|
|
9321
9411
|
<i class="ph-thin ph-repeat"></i>
|
|
9322
9412
|
<span>{{ source }}</span>
|
|
9323
9413
|
<span *ngIf="items.length" class="slider-repeat-badge-count">× {{ items.length }}</span>
|
|
@@ -9375,7 +9465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
9375
9465
|
|
|
9376
9466
|
</div>
|
|
9377
9467
|
|
|
9378
|
-
<div *ngIf="!source && !children.length" class="slider-edit-placeholder">
|
|
9468
|
+
<div *ngIf="!source && !children.length" class="slider-edit-placeholder" data-iox-chrome>
|
|
9379
9469
|
<i class="ph-thin ph-sliders-horizontal"></i>
|
|
9380
9470
|
<span>Click + in toolbar to add a slide</span>
|
|
9381
9471
|
</div>
|
|
@@ -9561,24 +9651,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
9561
9651
|
}] } });
|
|
9562
9652
|
|
|
9563
9653
|
class SliderSlideComponent {
|
|
9564
|
-
constructor(dragEngine, cdr
|
|
9654
|
+
constructor(dragEngine, cdr) {
|
|
9565
9655
|
this.dragEngine = dragEngine;
|
|
9566
9656
|
this.cdr = cdr;
|
|
9567
|
-
this.isPreview = isPreview;
|
|
9568
9657
|
this.children = [];
|
|
9569
9658
|
this.nodeId = '';
|
|
9570
9659
|
this.dropListId = '';
|
|
9571
9660
|
this.childClick = new EventEmitter();
|
|
9572
9661
|
this.childMouseEnter = new EventEmitter();
|
|
9573
9662
|
this.childMouseLeave = new EventEmitter();
|
|
9574
|
-
this.isPreview = !!isPreview;
|
|
9575
9663
|
}
|
|
9576
9664
|
ngOnInit() { }
|
|
9577
9665
|
ngOnDestroy() { }
|
|
9578
9666
|
onDrop(event) {
|
|
9579
9667
|
this.dragEngine.handleDrop(this.children, event, this.dropListId, this.cdr);
|
|
9580
9668
|
}
|
|
9581
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: SliderSlideComponent, deps: [{ token: DragEngineService }, { token: i0.ChangeDetectorRef }
|
|
9669
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: SliderSlideComponent, deps: [{ token: DragEngineService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9582
9670
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: SliderSlideComponent, isStandalone: false, selector: "app-slider-slide", inputs: { children: "children", nodeId: "nodeId", dropListId: "dropListId" }, outputs: { childClick: "childClick", childMouseEnter: "childMouseEnter", childMouseLeave: "childMouseLeave" }, ngImport: i0, template: `
|
|
9583
9671
|
<!-- The .swiper-slide wrapper (with the iox-outer-* class) is provided by SliderContainer —
|
|
9584
9672
|
Swiper needs it as a direct child of .swiper-wrapper — and the SLIDE'S size lands there
|
|
@@ -9593,7 +9681,7 @@ class SliderSlideComponent {
|
|
|
9593
9681
|
[ioxDropzoneData]="children"
|
|
9594
9682
|
(ioxDrop)="onDrop($event)">
|
|
9595
9683
|
|
|
9596
|
-
<div *ngIf="!children.length" class="slide-placeholder">
|
|
9684
|
+
<div *ngIf="!children.length" class="slide-placeholder" data-iox-chrome>
|
|
9597
9685
|
<i class="ph-thin ph-image"></i>
|
|
9598
9686
|
<span>Drop components here</span>
|
|
9599
9687
|
</div>
|
|
@@ -9629,7 +9717,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
9629
9717
|
[ioxDropzoneData]="children"
|
|
9630
9718
|
(ioxDrop)="onDrop($event)">
|
|
9631
9719
|
|
|
9632
|
-
<div *ngIf="!children.length" class="slide-placeholder">
|
|
9720
|
+
<div *ngIf="!children.length" class="slide-placeholder" data-iox-chrome>
|
|
9633
9721
|
<i class="ph-thin ph-image"></i>
|
|
9634
9722
|
<span>Drop components here</span>
|
|
9635
9723
|
</div>
|
|
@@ -9648,12 +9736,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
|
|
|
9648
9736
|
</div>
|
|
9649
9737
|
</div>
|
|
9650
9738
|
`, standalone: false, styles: [":where(.slide-edit-block){position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;background-color:var(--p-surface-300)}.slide-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:1.5px dashed rgba(100,116,139,.35);border-radius:4px;color:#64748b80;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .15s}:host:hover .slide-placeholder,:host.iox-drag-over .slide-placeholder{opacity:1}.slide-placeholder i{font-size:22px}\n"] }]
|
|
9651
|
-
}], ctorParameters: () => [{ type: DragEngineService }, { type: i0.ChangeDetectorRef },
|
|
9652
|
-
type: Optional
|
|
9653
|
-
}, {
|
|
9654
|
-
type: Inject,
|
|
9655
|
-
args: [IS_PREVIEW]
|
|
9656
|
-
}] }], propDecorators: { children: [{
|
|
9739
|
+
}], ctorParameters: () => [{ type: DragEngineService }, { type: i0.ChangeDetectorRef }], propDecorators: { children: [{
|
|
9657
9740
|
type: Input
|
|
9658
9741
|
}], nodeId: [{
|
|
9659
9742
|
type: Input
|
|
@@ -11404,5 +11487,5 @@ class BuilderSpacerComponentConfig extends ComponentConfig {
|
|
|
11404
11487
|
* Generated bundle index. Do not edit.
|
|
11405
11488
|
*/
|
|
11406
11489
|
|
|
11407
|
-
export { ACTION_TYPE_OPTIONS, AuditCode, AuditPanelComponent, AuditSeverity, BODY_CRUMB_LABEL, BREAKPOINT_PRESENTATION, BUILDER_CANVAS_CONTAINER, BUILDER_CHROME_EN, BUILDER_TOKEN_SCOPE_CLASS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BreadcrumbBarComponent, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDataSourceService, BuilderDialogComponent, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, DEFAULT_ESSENTIAL_TRAITS, DRAG_HANDLE_ATTR, DataSourceRegistryService, DataSourceType, DialogComponentConfig, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS$1 as EASING_OPTIONS, ESSENTIAL_TRAITS_BY_TYPE, EffectsGroupStyleConfig, FIELD_KIND_PRESETS, FIELD_PARTS, FORM_PRESETS, FORM_TYPE, FieldComponentConfig, FieldGroupComponentConfig, FormComponentConfig, FormErrorComponentConfig, FormStateService, FormSuccessComponentConfig, GalleryConfig, GroupStyleConfig, INTERACTION_STATES, INVERSE_ACTION, IOX_BUILDER_CANVAS, IOX_BUILDER_LABELS, IOX_DATA_SOURCE_ENDPOINTS, IOX_FONT_MANAGER, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LAYOUT_PRESETS, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, PALETTE_PRESET_DEFS, PanelChildComponent, PanelComponent, PanelEventService, PanelEventTypes, PanelTypes, PositionGroupStyleConfig, PresetRegistryService, RELATIONAL_STATES, RELATIONAL_STATE_BASE, ROUTE_ANIMATION_OPTIONS, RenderDirective, RepeaterComponentConfig, SCREEN_WIDTH_OPTIONS, STRUCTURAL_STATES, SUPPORTED_STATES, SectionComponent, SectionComponentConfig, SizeGroupStyleConfig, SliderContainerComponent, SliderContainerConfig, SliderSlideComponent, SliderSlideConfig, SpacingGroupStyleConfig, StyleCategory, StyleRegistryService, TraitConfig as StyleTraitConfig, SubmitButtonComponentConfig, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VALIDATION_STATES, VALIDATION_STATE_CLASS, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, auditNodes, buildConsentPreset, buildFieldKindPreset, buildFlavorSampler, buildFormPreset, buildFullStyleTraits, buildLayoutPreset, buildPalettePreset, buildPresetStyleTraits, canFluidise, collapseColumnsProps, columnCountOf, defaultBuilderLabels, defaultPageSettings, dropTargetLabel, essentialTraitsFor, findNodeLocation, findParentOf, flattenSchemaFields, fluidiseProps, generateNodeId, isHiddenAt, matchesControlSearch, nearestFormNode, nodeAncestorPath, nodeAncestorPathInEither, reorderProps, resolveInsertTarget, resolveTraitControllerType, resolveTraitOptions, setStyleTrait, setTrait, stackChildrenProps, summarise, textNode, visibilityProps, wrapNode };
|
|
11490
|
+
export { ACTION_TYPE_OPTIONS, AuditCode, AuditPanelComponent, AuditSeverity, BODY_CRUMB_LABEL, BREAKPOINT_PRESENTATION, BUILDER_CANVAS_CONTAINER, BUILDER_CHROME_EN, BUILDER_FONT_LINK_ATTR, BUILDER_TOKEN_SCOPE_CLASS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BreadcrumbBarComponent, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDataSourceService, BuilderDialogComponent, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CANVAS_EMPTY_IMAGE_LABEL_EN, CANVAS_EMPTY_IMAGE_LABEL_KEY, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, DEFAULT_ESSENTIAL_TRAITS, DRAG_HANDLE_ATTR, DataSourceRegistryService, DataSourceType, DialogComponentConfig, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS$1 as EASING_OPTIONS, EDITOR_CHROME_ATTRIBUTE, ESSENTIAL_TRAITS_BY_TYPE, EffectsGroupStyleConfig, FIELD_KIND_PRESETS, FIELD_PARTS, FORM_PRESETS, FORM_TYPE, FieldComponentConfig, FieldGroupComponentConfig, FormComponentConfig, FormErrorComponentConfig, FormStateService, FormSuccessComponentConfig, GalleryConfig, GroupStyleConfig, INTERACTION_STATES, INVERSE_ACTION, IOX_BUILDER_CANVAS, IOX_BUILDER_LABELS, IOX_DATA_SOURCE_ENDPOINTS, IOX_FONT_MANAGER, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LAYOUT_PRESETS, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, PALETTE_PRESET_DEFS, PanelChildComponent, PanelComponent, PanelEventService, PanelEventTypes, PanelTypes, PositionGroupStyleConfig, PresetRegistryService, RELATIONAL_STATES, RELATIONAL_STATE_BASE, ROUTE_ANIMATION_OPTIONS, RenderDirective, RepeaterComponentConfig, SCREEN_WIDTH_OPTIONS, STRUCTURAL_STATES, SUPPORTED_STATES, SectionComponent, SectionComponentConfig, SizeGroupStyleConfig, SliderContainerComponent, SliderContainerConfig, SliderSlideComponent, SliderSlideConfig, SpacingGroupStyleConfig, StyleCategory, StyleRegistryService, TraitConfig as StyleTraitConfig, SubmitButtonComponentConfig, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VALIDATION_STATES, VALIDATION_STATE_CLASS, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, auditNodes, buildConsentPreset, buildFieldKindPreset, buildFlavorSampler, buildFormPreset, buildFullStyleTraits, buildLayoutPreset, buildPalettePreset, buildPresetStyleTraits, canFluidise, canvasEmptyImageLabel, collapseColumnsProps, columnCountOf, defaultBuilderLabels, defaultPageSettings, dropTargetLabel, essentialTraitsFor, findNodeLocation, findParentOf, flattenSchemaFields, fluidiseProps, generateNodeId, isHiddenAt, matchesControlSearch, nearestFormNode, nodeAncestorPath, nodeAncestorPathInEither, reorderProps, resolveInsertTarget, resolveTraitControllerType, resolveTraitOptions, setStyleTrait, setTrait, stackChildrenProps, summarise, syncEmptyImagePlaceholder, syncNodeDesign, textNode, visibilityProps, wrapNode };
|
|
11408
11491
|
//# sourceMappingURL=vectoriox-iox-builder.mjs.map
|