@vectoriox/iox-builder 11.8.1 → 11.9.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.
package/index.d.ts CHANGED
@@ -2241,6 +2241,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2241
2241
  private styleRegistry;
2242
2242
  private contextStore;
2243
2243
  private labels;
2244
+ private readonly sceneCanvas;
2245
+ private sceneFramesSub?;
2244
2246
  /**
2245
2247
  * Re-apply context-bound inputs on the CANVAS when a slot changes — the builder twin of the
2246
2248
  * engine's effect. The canvas is a live runtime, so hovering a repeater row while editing must
@@ -2619,7 +2621,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2619
2621
  private readNodeDisplay;
2620
2622
  private handlePanelEvents;
2621
2623
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderComponent, never>;
2622
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderComponent, "app-builder", never, { "layout": { "alias": "layout"; "required": false; }; "dataSources": { "alias": "dataSources"; "required": false; }; "orgId": { "alias": "orgId"; "required": false; }; "routeParams": { "alias": "routeParams"; "required": false; }; "pageName": { "alias": "pageName"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; "pageStatus": { "alias": "pageStatus"; "required": false; }; "pageSettings": { "alias": "pageSettings"; "required": false; }; "globalElements": { "alias": "globalElements"; "required": false; }; "pagePath": { "alias": "pagePath"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; "moveableMode": { "alias": "moveableMode"; "required": false; }; }, { "save": "save"; "undo": "undo"; "redo": "redo"; "back": "back"; "preview": "preview"; "publishToggle": "publishToggle"; "pageSettingsChange": "pageSettingsChange"; "applyAnimationToAll": "applyAnimationToAll"; "saveBlock": "saveBlock"; "globalElementsChange": "globalElementsChange"; }, never, ["[builderPages]", "[builderComponents]", "[builderTokens]", "[builderToolbarActions]", "[builderPanel]"], false, never>;
2624
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderComponent, "app-builder", never, { "layout": { "alias": "layout"; "required": false; }; "dataSources": { "alias": "dataSources"; "required": false; }; "orgId": { "alias": "orgId"; "required": false; }; "routeParams": { "alias": "routeParams"; "required": false; }; "pageName": { "alias": "pageName"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; "pageStatus": { "alias": "pageStatus"; "required": false; }; "pageSettings": { "alias": "pageSettings"; "required": false; }; "globalElements": { "alias": "globalElements"; "required": false; }; "pagePath": { "alias": "pagePath"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; "moveableMode": { "alias": "moveableMode"; "required": false; }; }, { "save": "save"; "undo": "undo"; "redo": "redo"; "back": "back"; "preview": "preview"; "publishToggle": "publishToggle"; "pageSettingsChange": "pageSettingsChange"; "applyAnimationToAll": "applyAnimationToAll"; "saveBlock": "saveBlock"; "globalElementsChange": "globalElementsChange"; }, never, ["[builderPages]", "[builderComponents]", "[builderTokens]", "[builderToolbarActions]", "[builderTimeline]", "[builderPanel]"], false, never>;
2623
2625
  }
2624
2626
 
2625
2627
  /** The inline `display` the canvas gives a node's custom-element host, or null to leave the host alone. */
@@ -3900,6 +3902,14 @@ declare class CompositeCanvasService implements OnDestroy {
3900
3902
  static ɵprov: i0.ɵɵInjectableDeclaration<CompositeCanvasService>;
3901
3903
  }
3902
3904
 
3905
+ /** One frame the driver wrote. Emitted OUTSIDE Angular's zone: a Scene runs at the display's rate. */
3906
+ interface SceneCanvasFrame {
3907
+ nodeId: string | null;
3908
+ /** Where the scroll stands in the Scene, undamped: what a scrubber shows. */
3909
+ target: number;
3910
+ /** Where its layers stand, damped: what is on screen. */
3911
+ progress: number;
3912
+ }
3903
3913
  /**
3904
3914
  * Scenes on the canvas and in Preview: the SAME scene-core driver the live site runs, so a layer stands at the same
3905
3915
  * value at the same progress in every renderer (premium-sites plan §5b). The canvas's page never scrolls itself (its
@@ -3909,16 +3919,33 @@ declare class CompositeCanvasService implements OnDestroy {
3909
3919
  */
3910
3920
  declare class SceneCanvasService implements OnDestroy {
3911
3921
  private readonly zone;
3922
+ private readonly overlay;
3912
3923
  private driver;
3924
+ private readonly rootsById;
3925
+ private readonly idsByRoot;
3926
+ /** Every frame on every Scene: the selection box and the timeline follow on it. */
3927
+ readonly frames$: Subject<SceneCanvasFrame>;
3913
3928
  /**
3914
3929
  * Drive a root. `onCanvas` comes from the caller, because only the render directive can read IOX_BUILDER_CANVAS: the
3915
3930
  * token is provided on the canvas's element, below where this service lives. Read here, it answered false, and the
3916
3931
  * canvas measured its Scenes against a page that moves with them, so they never left progress 0.
3917
3932
  */
3918
- attach(root: HTMLElement, onCanvas: boolean): void;
3933
+ attach(root: HTMLElement, onCanvas: boolean, nodeId?: string | null): void;
3919
3934
  detach(root: HTMLElement): void;
3920
- /** The damped progress a root's layers stand at (the e2e and, from SC2, the scrubber read it). */
3935
+ /** The damped progress a root's layers stand at. */
3921
3936
  progressOf(root: HTMLElement): number | null;
3937
+ /** Where the scroll stands in a Scene, 0 to 1. Null for a Scene that is not on the canvas. */
3938
+ positionOf(nodeId: string | null | undefined): number | null;
3939
+ /**
3940
+ * Stand a Scene at `p` by really scrolling the canvas: there is one position, so the scrubber, the wheel, the pin and
3941
+ * the selection box can never disagree. It lands with no glide, because the author is waiting to see that moment.
3942
+ */
3943
+ goTo(nodeId: string | null | undefined, p: number): void;
3944
+ /**
3945
+ * A layer's tracks were edited: its element carries them now and its Scene plays them on the next frame, with no
3946
+ * re-render, because a Scene's own DOM is what the author is looking at.
3947
+ */
3948
+ refreshLayer(node: ComponentNode, root: ComponentNode | null | undefined): void;
3922
3949
  ngOnDestroy(): void;
3923
3950
  static ɵfac: i0.ɵɵFactoryDeclaration<SceneCanvasService, never>;
3924
3951
  static ɵprov: i0.ɵɵInjectableDeclaration<SceneCanvasService>;
@@ -4621,4 +4648,4 @@ declare class TextBlockComponentConfig extends ComponentConfig {
4621
4648
  }
4622
4649
 
4623
4650
  export { ACTION_TYPE_OPTIONS, AuditCode, AuditPanelComponent, AuditSeverity, BODY_CRUMB_LABEL, BOUND_ICON, 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, BusinessSpecimenView, ButtonBlockComponentConfig, CANVAS_EMPTY_IMAGE_LABEL_EN, CANVAS_EMPTY_IMAGE_LABEL_KEY, CANVAS_ROOT_RESET_CSS, COMPOSITE_PRESETS, CanvasDesignStateService, CanvasShowState, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, CompositeCanvasService, CompositePaletteGroup, CompositePresetId, DEFAULT_ESSENTIAL_TRAITS, DESCRIPTOR_MAX_LENGTH, DRAG_HANDLE_ATTR, DROP_REFUSED_CLASS, DataSourceRegistryService, DataSourceType, DialogComponentConfig, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EDITOR_CHROME_ATTRIBUTE, ESSENTIAL_TRAITS_BY_TYPE, EffectsGroupStyleConfig, FIELD_KIND_PRESETS, FIELD_PARTS, FORM_STATE_BLOCK_TYPES, FORM_TYPE, FieldComponentConfig, FieldGroupComponentConfig, FormComponentConfig, FormErrorComponentConfig, FormStateService, FormSuccessComponentConfig, GLOBALS_AFTER_CLASS, GalleryConfig, GlobalCanvasLayer, GroupStyleConfig, HIDDEN_AT_REST_LABEL_KEY, HIDDEN_AT_REST_ROLES, HIDDEN_AT_REST_TYPES, INSERT_REFUSAL_LABEL_KEYS, INTERACTION_STATES, INVERSE_ACTION, IOX_BUILDER_CANVAS, IOX_BUILDER_LABELS, IOX_CONTENT_TYPE_LABELS, IOX_DATA_SOURCE_ENDPOINTS, InsertRefusal, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LAYOUT_PRESETS, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, PAGE_TRANSITION_EASING_OPTIONS, PALETTE_PRESET_DEFS, PanelChildComponent, PanelComponent, PanelEventService, PanelEventTypes, PanelTypes, PhoneMenuOpenerAction, PositionGroupStyleConfig, PresetRegistryService, RELATIONAL_STATES, RELATIONAL_STATE_BASE, REPEATER_SOURCE_PROP, REPEATER_TYPE, REVEALED_WHILE_SELECTED_ROLES, ROOT_ESCAPE_PX, ROUTE_ANIMATION_OPTIONS, RenderDirective, RepeaterComponentConfig, RootZone, SCREEN_WIDTH_OPTIONS, SILENT_REFUSALS, STRUCTURAL_STATES, SUPPORTED_STATES, SceneCanvasService, SectionComponent, SectionComponentConfig, SelectionReveal, SizeGroupStyleConfig, SliderContainerComponent, SliderContainerConfig, SliderSlideComponent, SliderSlideConfig, SpacingGroupStyleConfig, StructureFix, StyleCategory, StyleRegistryService, TraitConfig as StyleTraitConfig, SubmitButtonComponentConfig, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TOGGLE_PART_ROLES, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VALIDATION_STATES, VALIDATION_STATE_CLASS, VideoConfig, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, auditNodes, bindingLabel, bindingLabels, buildBusinessSpecimen, buildCompositePreset, buildConsentPreset, buildElementStyleSpecimen, buildFieldKindPreset, buildFlavorSpecimen, buildFormPreset, buildFullStyleTraits, buildLayoutPreset, buildPalettePreset, buildPresetStyleTraits, builderCompositeFactory, canFluidise, canvasEmptyImageLabel, canvasHostDisplay, collapseColumnsProps, columnCountOf, compositeStructureFindings, defaultBuilderLabels, defaultPageSettings, deleteTabPair, displayTriggerOf, dropChildren, dropTargetLabel, duplicateTabPair, escapesRoot, essentialTraitsFor, findNodeLocation, findParentOf, flattenLayerTree, flattenSchemaFields, fluidiseProps, generateNodeId, globalCanvasLayer, hiddenAtBase, hiddenUntilItemOn, inPhoneMenuContext, insertRefusal, insertRefusalLabel, interactionTargets, isHiddenAt, isHiddenAtRest, isPhoneMenuOpener, isPinnedGlobal, isSpecimen, itemsOnAtRest, markSpecimen, matchesControlSearch, nearestFormNode, neverShown, nodeAncestorPath, nodeAncestorPathInEither, nodeDescriptor, nodeStyleMap, overlayGlobals, pathToNode, phoneMenuOf, phoneMenuShowsAt, refreshSubtree, regenerateNodeIds, removalRefusal, reorderProps, repeaterSourceAlias, repeaterSubLabel, resolveInsertTarget, resolveTraitControllerType, resolveTraitOptions, retypeNode, rootEscapeBand, rootZone, selectionRevealOf, setOverlayPreview, setStyleTrait, setTrait, shortDescriptor, shownBeforeControl, sourceContentType, sourceTypeLabel, stackChildrenProps, summarise, syncEmptyImagePlaceholder, syncNodeDesign, syncNodeInputs, tabPairLabel, tabsRootForPart, textNode, upsertNodeStyles, visibilityProps, walkNodes, wrapNode };
4624
- export type { AuditFinding, AuditNode, BreakpointPresentation, BuilderClipboard, BuilderLabelResolver, BusinessSpecimenCopy, BusinessSpecimenOptions, CanvasDesignSnapshot, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, CompositePresetDef, ConsentPreset, ContentTypeLabelResolver, CreateConfig, Crumb, DesignSpecimenCopy, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, FieldKindDef, FormStateSnapshot, GlobalLayerSource, HistoryChange, HistoryEntry, HistoryStep, InsertRefusedEvent, InsertTarget, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxDataSource, IoxDropEvent, IoxInteraction, IoxSymbol, LayerMoreRows, LayerRepeaterRows, LayerTreeContext, LayerTreeRow, LayoutPresetChildStyles, LayoutPresetDef, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, OverlayGlobals, OverlayTwins, PageRouteAnimationSettings, PageSettings, PalettePresetDef, PanelEvent, PhoneMenuTarget, QuadSizeSegment, RootEscapeMemory, RouteAnimationPreset, ScreenWidthOption, SelectionBadge, ShownBeforeControl, StyleMap, StylePart, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, TreePathNode, UpsertTokensOptions, ViewportState, ZoomOption };
4651
+ export type { AuditFinding, AuditNode, BreakpointPresentation, BuilderClipboard, BuilderLabelResolver, BusinessSpecimenCopy, BusinessSpecimenOptions, CanvasDesignSnapshot, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, CompositePresetDef, ConsentPreset, ContentTypeLabelResolver, CreateConfig, Crumb, DesignSpecimenCopy, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, FieldKindDef, FormStateSnapshot, GlobalLayerSource, HistoryChange, HistoryEntry, HistoryStep, InsertRefusedEvent, InsertTarget, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxDataSource, IoxDropEvent, IoxInteraction, IoxSymbol, LayerMoreRows, LayerRepeaterRows, LayerTreeContext, LayerTreeRow, LayoutPresetChildStyles, LayoutPresetDef, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, OverlayGlobals, OverlayTwins, PageRouteAnimationSettings, PageSettings, PalettePresetDef, PanelEvent, PhoneMenuTarget, QuadSizeSegment, RootEscapeMemory, RouteAnimationPreset, SceneCanvasFrame, ScreenWidthOption, SelectionBadge, ShownBeforeControl, StyleMap, StylePart, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, TreePathNode, UpsertTokensOptions, ViewportState, ZoomOption };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "11.8.1",
3
+ "version": "11.9.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
7
7
  "@angular/animations": ">=20.0.0",
8
8
  "@angular/cdk": ">=20.0.0",
9
- "@vectoriox/iox-ui": ">=5.70.2",
9
+ "@vectoriox/iox-ui": ">=5.71.1",
10
10
  "interactjs": "^1.10.27",
11
11
  "primeng": ">=20.0.0",
12
12
  "swiper": ">=12.0.0",