@vectoriox/iox-builder 3.5.1 → 4.0.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
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ComponentRef, Type, ChangeDetectorRef, OnInit, AfterViewInit, OnChanges, OnDestroy, EventEmitter, ElementRef, ApplicationRef, SimpleChanges, ViewContainerRef, Injector, EnvironmentInjector, InjectionToken, TemplateRef, AfterContentInit, QueryList } from '@angular/core';
3
3
  import * as i28 from '@vectoriox/iox-ui';
4
- import { RelativeSourceSpec, DataSourceEndpoints } from '@vectoriox/iox-ui';
4
+ import { ResponsiveOverrides, RelativeSourceSpec, Breakpoint, DataSourceEndpoints } from '@vectoriox/iox-ui';
5
5
  export { ComponentInstanceRegistryService, IoxContextSlot, SetContextParams, VIRTUAL_TRAIT_KEYS, composeVirtualTraits } from '@vectoriox/iox-ui';
6
6
  import * as rxjs from 'rxjs';
7
7
  import { Subject, Subscription, BehaviorSubject, Observable } from 'rxjs';
@@ -301,6 +301,15 @@ interface ComponentNode {
301
301
  * appear in the trigger picker.
302
302
  */
303
303
  stateTriggers?: Partial<Record<ElementState, string>>;
304
+ /**
305
+ * Per-breakpoint overrides — SPARSE, shaped like `stateStyles`:
306
+ * `{ mobile: { styleProps: {…}, stateStyles: { hover: {…} } } }`. Base styles stay in
307
+ * `styleTraits`; absent means the node looks the same at every width. Read and written only
308
+ * through the shared helpers in `@vectoriox/iox-ui` (`resolveStyleProps`, `setOverride`,
309
+ * `clearOverride`, `planResponsiveRules`) so builder and SSR engine agree.
310
+ * See iox-ai-guidance `architecture/builder/responsive-breakpoints-plan.md`.
311
+ */
312
+ responsive?: ResponsiveOverrides;
304
313
  /** User-defined display name for this node. Used in the layer tree and as an
305
314
  * interaction target identifier. Only nodes with a label appear in the
306
315
  * interaction target picker. */
@@ -587,20 +596,20 @@ declare enum BuilderMode {
587
596
  Style = "style",
588
597
  Pan = "pan"
589
598
  }
590
- declare enum DeviceMode {
591
- Desktop = "desktop",
592
- Tablet = "tablet",
593
- Mobile = "mobile"
594
- }
595
- interface DeviceOption {
596
- mode: DeviceMode;
597
- label: string;
599
+ /**
600
+ * Builder-only presentation of the shared breakpoints. The breakpoint SET — ids, max widths, labels,
601
+ * preview widths — lives once in `@vectoriox/iox-ui` `BREAKPOINTS`; this adds only what the toolbar
602
+ * and canvas need and the SSR engine never will: an icon and a simulated viewport height.
603
+ * (Replaces the old DeviceMode / DEVICE_OPTIONS, which only resized the canvas and stored nothing.)
604
+ */
605
+ interface BreakpointPresentation {
598
606
  icon: string;
599
- width: number;
600
- /** Simulated browser viewport height in CSS px. */
601
- height: number;
607
+ /** Simulated browser viewport height in CSS px — a landscape phone is short. */
608
+ previewHeight: number;
609
+ /** Show the icon rotated 90°: Phosphor has no landscape-phone glyph. */
610
+ landscape?: boolean;
602
611
  }
603
- declare const DEVICE_OPTIONS: DeviceOption[];
612
+ declare const BREAKPOINT_PRESENTATION: Readonly<Record<Breakpoint, BreakpointPresentation>>;
604
613
  interface ZoomOption {
605
614
  label: string;
606
615
  value: number | 'fit';
@@ -896,6 +905,13 @@ declare class DragEngineService {
896
905
  static ɵprov: i0.ɵɵInjectableDeclaration<DragEngineService>;
897
906
  }
898
907
 
908
+ /**
909
+ * CSS container name of the builder canvas frame (and of the global-elements overlay). Breakpoint
910
+ * rules are emitted as `@container iox-canvas (max-width: …)`: the frame's layout width IS the
911
+ * simulated viewport and is unaffected by the zoom `transform: scale`, whereas a `@media` query
912
+ * would read the editor window. Set on the frame in builder.component.scss.
913
+ */
914
+ declare const BUILDER_CANVAS_CONTAINER = "iox-canvas";
899
915
  /**
900
916
  * StyleRegistryService — manages a single <style> tag for the builder canvas.
901
917
  *
@@ -921,6 +937,14 @@ declare class DragEngineService {
921
937
  declare class StyleRegistryService {
922
938
  readonly changes$: Subject<void>;
923
939
  private rules;
940
+ /** Breakpoint rules, kept apart so they flush AFTER every base rule — equal specificity, so
941
+ * source order decides (plan trap 1). Keyed per breakpoint like `rules` (`id`, `id:state`). */
942
+ private responsiveRules;
943
+ private responsiveInputs;
944
+ /** Which breakpoint rule keys each node owns — so re-emitting one node's rules is O(its rules),
945
+ * not a scan of every breakpoint rule on the page (this runs on every node render). */
946
+ private responsiveKeys;
947
+ private stateScopes;
924
948
  private styleEl;
925
949
  /**
926
950
  * Properties that must live on the OUTER wrapper (.iox-outer-{id}) because they
@@ -954,6 +978,30 @@ declare class StyleRegistryService {
954
978
  * pseudo-class drives the state. Compiles a `:has()`-scoped selector.
955
979
  */
956
980
  upsert(nodeId: string, styles: Record<string, any>, state?: ElementState, relativeToId?: string, triggerId?: string): void;
981
+ /**
982
+ * Emit (or clear) a node's breakpoint rules. `planResponsiveRules` — shared with the SSR engine —
983
+ * decides what each breakpoint emits; this only turns it into selectors, through the SAME
984
+ * inner/outer split and state selectors as the base rules, compiled in the Override context
985
+ * (a CSS initial value undoes the wider rule there, so it must not be dropped).
986
+ *
987
+ * @param styleProps The node's full BASE style map (raw — virtual traits not yet composed).
988
+ */
989
+ upsertResponsive(nodeId: string, styleProps: Record<string, any>, stateStyles: Record<string, Record<string, any>> | undefined, responsive: ResponsiveOverrides | undefined): void;
990
+ private emitResponsive;
991
+ private setResponsiveRule;
992
+ private clearResponsive;
993
+ private isOutOfFlow;
994
+ /**
995
+ * The selector BODY (no leading dot) for a state rule, or null when a relational / targeted
996
+ * state has no scope yet (emitting it unscoped would be wrong — a page-global `:has()`).
997
+ */
998
+ private stateSelector;
999
+ /**
1000
+ * The inner + outer rule (joined) and the `::marker` rule for one composed style map.
1001
+ * `isOutOfFlow` is passed in rather than read from `styles` because a breakpoint layer is
1002
+ * sparse — the position in force may come from a wider layer.
1003
+ */
1004
+ private nodeRuleCss;
957
1005
  /**
958
1006
  * Write the org-level design token variables as a `:root { … }` block.
959
1007
  * Token names should be CSS custom property names without the `--` prefix
@@ -1221,7 +1269,11 @@ declare class InteractionEngineService {
1221
1269
  }
1222
1270
 
1223
1271
  interface ViewportState {
1224
- device: DeviceMode;
1272
+ /**
1273
+ * The breakpoint being edited — ALWAYS the one the canvas width falls in (derived, never set
1274
+ * independently), so the editing scope can't disagree with what the canvas is showing.
1275
+ */
1276
+ breakpoint: Breakpoint;
1225
1277
  /** Real canvas width in CSS pixels (e.g., 1440 for desktop). */
1226
1278
  width: number;
1227
1279
  /** Real canvas height in CSS pixels (e.g., 900 for desktop). Simulates the browser viewport. */
@@ -1235,8 +1287,10 @@ declare class ViewportService {
1235
1287
  state$: rxjs.Observable<ViewportState>;
1236
1288
  getState(): ViewportState;
1237
1289
  getScale(): number;
1238
- setDevice(device: DeviceMode): void;
1290
+ /** Show (and edit) `bp`: the canvas takes that breakpoint's preview width and height. */
1291
+ setBreakpoint(bp: Breakpoint): void;
1239
1292
  setScale(scale: number): void;
1293
+ /** Any canvas width — the breakpoint follows from it. */
1240
1294
  setWidth(width: number): void;
1241
1295
  /**
1242
1296
  * Calculate the scale that makes the canvas fit inside the available editor width.
@@ -1262,11 +1316,19 @@ declare class ViewportService {
1262
1316
  };
1263
1317
  private update;
1264
1318
  private saveToStorage;
1319
+ /**
1320
+ * Restores width / height / scale. Older builds also saved a `device` ('desktop' | 'tablet' |
1321
+ * 'mobile'); it is ignored — the saved width (1440 / 768 / 375) already resolves to the
1322
+ * matching breakpoint (Base / Tablet / Small), so old preferences carry over unchanged.
1323
+ */
1265
1324
  private loadFromStorage;
1266
1325
  static ɵfac: i0.ɵɵFactoryDeclaration<ViewportService, never>;
1267
1326
  static ɵprov: i0.ɵɵInjectableDeclaration<ViewportService>;
1268
1327
  }
1269
1328
 
1329
+ /** Override counts per breakpoint — what the breakpoint bar's dots show. Base is never present. */
1330
+ type BreakpointCounts = Partial<Record<Breakpoint, number>>;
1331
+
1270
1332
  interface BuilderClipboard {
1271
1333
  node?: ComponentNode;
1272
1334
  presetId?: string;
@@ -1371,7 +1433,11 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
1371
1433
  panelTypes: typeof PanelTypes;
1372
1434
  activeMode: BuilderMode;
1373
1435
  builderModes: typeof BuilderMode;
1374
- activeDevice: DeviceMode;
1436
+ /** The breakpoint being edited — derived from the canvas width by ViewportService. */
1437
+ activeBreakpoint: Breakpoint;
1438
+ /** Overrides per breakpoint for the selection (or the whole page when nothing is selected) —
1439
+ * the breakpoint bar's dots. A field recomputed on change, never a getter (OnPush input). */
1440
+ breakpointCounts: BreakpointCounts;
1375
1441
  activeZoom: number;
1376
1442
  activeScreenWidth: number;
1377
1443
  selectedItem: ComponentNode | null;
@@ -1406,7 +1472,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
1406
1472
  private previewFrameRo?;
1407
1473
  private canvasContentHeight;
1408
1474
  handleToolbarModeChange(mode: BuilderMode): void;
1409
- handleToolbarDeviceChange(device: DeviceMode): void;
1475
+ handleToolbarBreakpointChange(bp: Breakpoint): void;
1410
1476
  handleToolbarZoomChange(value: number | 'fit'): void;
1411
1477
  handleToolbarScreenWidthChange(width: number): void;
1412
1478
  get globalElementsBefore(): ComponentNode[];
@@ -1468,7 +1534,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
1468
1534
  addComponent(name: string): void;
1469
1535
  onDrop(event: IoxDropEvent): void;
1470
1536
  onModeChange(mode: BuilderMode): void;
1471
- onDeviceChange(device: DeviceMode): void;
1537
+ onBreakpointChange(bp: Breakpoint): void;
1472
1538
  onZoomChange(value: number | 'fit'): void;
1473
1539
  onBoardMouseDown(event: MouseEvent): void;
1474
1540
  onBoardMouseMove(event: MouseEvent): void;
@@ -1526,6 +1592,7 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
1526
1592
  private _refreshRepeaterFor;
1527
1593
  /** Emit ELEMENT_SELECT with the ancestors the panels need (symbol + repeater item scope). */
1528
1594
  private _emitElementSelect;
1595
+ private refreshBreakpointCounts;
1529
1596
  /** Read a node's current `display` value. The style panel mutates `styleTraits` in place at edit
1530
1597
  * time, so that is the live source of truth; fall back to a preset's `styleOverrides` map, then
1531
1598
  * the CSS initial value. */
@@ -1789,7 +1856,9 @@ declare class OverlayComponent implements OnInit, OnDestroy {
1789
1856
 
1790
1857
  declare class ToolbarComponent {
1791
1858
  activeMode: BuilderMode;
1792
- activeDevice: DeviceMode;
1859
+ activeBreakpoint: Breakpoint;
1860
+ /** Overrides per breakpoint — for the selection, or the page when nothing is selected. */
1861
+ breakpointCounts: BreakpointCounts;
1793
1862
  activeZoom: number;
1794
1863
  activeScreenWidth: number;
1795
1864
  canUndo: boolean;
@@ -1797,7 +1866,7 @@ declare class ToolbarComponent {
1797
1866
  isSaving: boolean;
1798
1867
  pageStatus: string;
1799
1868
  modeChange: EventEmitter<BuilderMode>;
1800
- deviceChange: EventEmitter<DeviceMode>;
1869
+ breakpointChange: EventEmitter<Breakpoint>;
1801
1870
  zoomChange: EventEmitter<number | "fit">;
1802
1871
  screenWidthChange: EventEmitter<number>;
1803
1872
  undo: EventEmitter<void>;
@@ -1807,30 +1876,35 @@ declare class ToolbarComponent {
1807
1876
  publishToggle: EventEmitter<void>;
1808
1877
  get isPublished(): boolean;
1809
1878
  modePopover: Popover;
1810
- devicePopover: Popover;
1811
1879
  zoomPopover: Popover;
1812
1880
  widthPopover: Popover;
1813
1881
  modes: typeof BuilderMode;
1814
- deviceModes: typeof DeviceMode;
1815
- deviceOptions: DeviceOption[];
1882
+ readonly breakpointIds: typeof Breakpoint;
1883
+ /** Built once — the breakpoint set is fixed. Template binds fields, never method calls. */
1884
+ readonly breakpointOptions: {
1885
+ icon: string;
1886
+ previewHeight: number;
1887
+ landscape?: boolean;
1888
+ id: Breakpoint;
1889
+ label: string;
1890
+ range: string;
1891
+ }[];
1816
1892
  zoomOptions: _vectoriox_iox_builder.ZoomOption[];
1817
1893
  screenWidthOptions: ScreenWidthOption[];
1818
1894
  get activeModeIcon(): string;
1819
1895
  get activeModeLabel(): string;
1820
- get activeDeviceOption(): DeviceOption;
1821
1896
  get zoomLabel(): string;
1822
1897
  get sliderZoom(): number;
1823
1898
  toggleModePopover(event: Event): void;
1824
1899
  selectMode(mode: BuilderMode): void;
1825
- toggleDevicePopover(event: Event): void;
1826
- selectDevice(mode: DeviceMode): void;
1900
+ selectBreakpoint(bp: Breakpoint): void;
1827
1901
  onSliderChange(event: Event): void;
1828
1902
  toggleWidthPopover(event: Event): void;
1829
1903
  selectScreenWidth(width: number): void;
1830
1904
  toggleZoomPopover(event: Event): void;
1831
1905
  selectZoom(value: number | 'fit'): void;
1832
1906
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
1833
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "app-toolbar", never, { "activeMode": { "alias": "activeMode"; "required": false; }; "activeDevice": { "alias": "activeDevice"; "required": false; }; "activeZoom": { "alias": "activeZoom"; "required": false; }; "activeScreenWidth": { "alias": "activeScreenWidth"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; "pageStatus": { "alias": "pageStatus"; "required": false; }; }, { "modeChange": "modeChange"; "deviceChange": "deviceChange"; "zoomChange": "zoomChange"; "screenWidthChange": "screenWidthChange"; "undo": "undo"; "redo": "redo"; "save": "save"; "preview": "preview"; "publishToggle": "publishToggle"; }, never, never, false, never>;
1907
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "app-toolbar", never, { "activeMode": { "alias": "activeMode"; "required": false; }; "activeBreakpoint": { "alias": "activeBreakpoint"; "required": false; }; "breakpointCounts": { "alias": "breakpointCounts"; "required": false; }; "activeZoom": { "alias": "activeZoom"; "required": false; }; "activeScreenWidth": { "alias": "activeScreenWidth"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; "pageStatus": { "alias": "pageStatus"; "required": false; }; }, { "modeChange": "modeChange"; "breakpointChange": "breakpointChange"; "zoomChange": "zoomChange"; "screenWidthChange": "screenWidthChange"; "undo": "undo"; "redo": "redo"; "save": "save"; "preview": "preview"; "publishToggle": "publishToggle"; }, never, never, false, never>;
1834
1908
  }
1835
1909
 
1836
1910
  /**
@@ -2544,5 +2618,5 @@ declare class TextBlockComponentConfig extends ComponentConfig {
2544
2618
  constructor();
2545
2619
  }
2546
2620
 
2547
- export { ACTION_TYPE_OPTIONS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BreadcrumbBarComponent, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDataSourceService, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, DEVICE_OPTIONS, DRAG_HANDLE_ATTR, DataSourceRegistryService, DataSourceType, DeviceMode, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EffectsGroupStyleConfig, GalleryConfig, GroupStyleConfig, INTERACTION_STATES, INVERSE_ACTION, IOX_DATA_SOURCE_ENDPOINTS, IOX_FONT_MANAGER, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, 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, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, buildFullStyleTraits, buildPresetStyleTraits, defaultPageSettings, findNodeLocation, findParentOf, flattenSchemaFields, generateNodeId, nodeAncestorPath, nodeAncestorPathInEither, resolveTraitControllerType, resolveTraitOptions, wrapNode };
2548
- export type { BuilderClipboard, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, Crumb, DeviceOption, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, HistoryEntry, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxDataSource, IoxDropEvent, IoxFontManager, IoxInteraction, IoxSymbol, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, PageRouteAnimationSettings, PageScrollSettings, PageSettings, PageStyleSettings, PanelEvent, QuadSizeSegment, RouteAnimationPreset, ScreenWidthOption, SelectionBadge, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, TreePathNode, ViewportState, ZoomOption };
2621
+ export { ACTION_TYPE_OPTIONS, BREAKPOINT_PRESENTATION, BUILDER_CANVAS_CONTAINER, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BreadcrumbBarComponent, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDataSourceService, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CardComponentConfig, ChildLayoutGroupStyleConfig, ComponentConfig, ComponentRegistryService, DRAG_HANDLE_ATTR, DataSourceRegistryService, DataSourceType, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EffectsGroupStyleConfig, GalleryConfig, GroupStyleConfig, INTERACTION_STATES, INVERSE_ACTION, IOX_DATA_SOURCE_ENDPOINTS, IOX_FONT_MANAGER, InteractionEngineService, InteractionPresetRegistryService, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, 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, SymbolRegistryService, TARGETED_STATES, TARGETED_STATE_BASE, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, ViewportService, ZOOM_OPTIONS, arrayItemSchemaFields, arraySchemaFields, buildFullStyleTraits, buildPresetStyleTraits, defaultPageSettings, findNodeLocation, findParentOf, flattenSchemaFields, generateNodeId, nodeAncestorPath, nodeAncestorPathInEither, resolveTraitControllerType, resolveTraitOptions, wrapNode };
2622
+ export type { BreakpointPresentation, BuilderClipboard, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, Crumb, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, HistoryEntry, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxDataSource, IoxDropEvent, IoxFontManager, IoxInteraction, IoxSymbol, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, PageRouteAnimationSettings, PageScrollSettings, PageSettings, PageStyleSettings, PanelEvent, QuadSizeSegment, RouteAnimationPreset, ScreenWidthOption, SelectionBadge, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, TreePathNode, ViewportState, ZoomOption };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "3.5.1",
3
+ "version": "4.0.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": ">=4.2.0",
9
+ "@vectoriox/iox-ui": ">=4.24.0",
10
10
  "interactjs": "^1.10.27",
11
11
  "primeng": ">=20.0.0",
12
12
  "swiper": ">=12.0.0",