@vectoriox/iox-builder 4.38.0 → 5.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 i30 from '@vectoriox/iox-ui';
4
- import { ResponsiveOverrides, RelativeSourceSpec, Breakpoint, PageStyleSettings, FormRenderState, ComponentInstanceRegistryService, DataSourceEndpoints, PalettePreset } from '@vectoriox/iox-ui';
4
+ import { ResponsiveOverrides, RelativeSourceSpec, Breakpoint, PageStyleSettings, FormRenderState, DesignTokenLike, ComponentInstanceRegistryService, DataSourceEndpoints, PalettePreset } from '@vectoriox/iox-ui';
5
5
  export { ComponentInstanceRegistryService, IoxContextSlot, PageStyleSettings, 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';
@@ -1109,8 +1109,10 @@ declare const BUILDER_TOKEN_SCOPE_CLASS = "iox-token-scope";
1109
1109
  * State styles (hover/active/focus) are stored under key `${nodeId}:${state}`
1110
1110
  * and compiled to `.iox-node-{id}:hover { … }` selectors.
1111
1111
  *
1112
- * Design token variables are stored under the reserved key `__tokens__` and
1113
- * compiled to a `.iox-token-scope { … }` block prepended to all other rules.
1112
+ * Design tokens are compiled by the SHARED token compiler (`compileTokenCssBlocks`, design-core)
1113
+ * scoped to `.iox-token-scope`: its base half (variables, scheme classes, reduced-motion and
1114
+ * reduced-transparency blocks) is prepended to all other rules and its dark half appended LAST —
1115
+ * the same two halves, in the same places, as the SSR engine.
1114
1116
  *
1115
1117
  * Scoped to PageUiComponent.providers[] — one stylesheet per builder instance.
1116
1118
  */
@@ -1125,6 +1127,10 @@ declare class StyleRegistryService {
1125
1127
  * not a scan of every breakpoint rule on the page (this runs on every node render). */
1126
1128
  private responsiveKeys;
1127
1129
  private stateScopes;
1130
+ /** Node type per css id — the compiler strips the props a type's renderer owns (a Dialog's
1131
+ * positioning, an Icon's line-height) from EVERY rule of that node, whoever upserts it. */
1132
+ private nodeTypes;
1133
+ private tokenCss;
1128
1134
  private styleEl;
1129
1135
  /**
1130
1136
  * Properties that must live on the OUTER wrapper (.iox-outer-{id}) because they
@@ -1164,6 +1170,10 @@ declare class StyleRegistryService {
1164
1170
  * @param triggerId For TARGETED states only: the css id of the trigger node whose
1165
1171
  * pseudo-class drives the state. Compiles a `:has()`-scoped selector.
1166
1172
  */
1173
+ /** Record a node's type (RenderDirective, before its first upsert) and recompile nothing —
1174
+ * every later rule for the node is stripped of what the type's renderer owns. */
1175
+ setNodeType(nodeId: string, type: string): void;
1176
+ private ownProps;
1167
1177
  upsert(nodeId: string, styles: Record<string, any>, state?: ElementState, relativeToId?: string, triggerId?: string): void;
1168
1178
  /**
1169
1179
  * Write or clear the styles for one PART of a compound component (board 7 — "the failure
@@ -1200,13 +1210,14 @@ declare class StyleRegistryService {
1200
1210
  */
1201
1211
  private nodeRuleCss;
1202
1212
  /**
1203
- * Write the org-level design token variables as a `.iox-token-scope { … }` block (see
1204
- * BUILDER_TOKEN_SCOPE_CLASS — never `:root`, which the admin's chrome tokens own).
1205
- * Token names should be CSS custom property names without the `--` prefix
1206
- * (e.g., `{ 'iox-primary-color': '#cb9090' }`).
1207
- * Pass an empty object to clear all tokens.
1213
+ * The org's design tokens on the canvas — through the SHARED compiler (`compileTokenCssBlocks`,
1214
+ * design-core), scoped to `.iox-token-scope` (BUILDER_TOKEN_SCOPE_CLASS — never `:root`, which
1215
+ * the admin's chrome tokens own). So the canvas gets exactly what the live site gets: the
1216
+ * variables, the scheme classes, the reduced-motion / reduced-transparency blocks and the dark
1217
+ * block, LAST. It used to be a hand-written copy that emitted variables and dark only.
1218
+ * Pass the full row set every time (an empty list clears).
1208
1219
  */
1209
- upsertTokens(tokens: Record<string, string>, darkTokens?: Record<string, string>): void;
1220
+ upsertTokens(tokens: ReadonlyArray<DesignTokenLike> | null | undefined): void;
1210
1221
  remove(nodeId: string): void;
1211
1222
  destroy(): void;
1212
1223
  private compile;
@@ -2706,9 +2717,6 @@ declare class BuilderDialogComponent implements OnInit, OnDestroy {
2706
2717
  private overlayService;
2707
2718
  private cdr;
2708
2719
  children: ComponentNode[];
2709
- style: {
2710
- [key: string]: any;
2711
- };
2712
2720
  nodeId: string;
2713
2721
  dropListId: string;
2714
2722
  closeOnBackdrop: boolean | string;
@@ -2733,7 +2741,7 @@ declare class BuilderDialogComponent implements OnInit, OnDestroy {
2733
2741
  onBackdrop(): void;
2734
2742
  onDrop(event: IoxDropEvent): void;
2735
2743
  static ɵfac: i0.ɵɵFactoryDeclaration<BuilderDialogComponent, never>;
2736
- static ɵcmp: i0.ɵɵComponentDeclaration<BuilderDialogComponent, "app-builder-dialog", never, { "children": { "alias": "children"; "required": false; }; "style": { "alias": "style"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "dropListId": { "alias": "dropListId"; "required": false; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; }, { "childClick": "childClick"; "childMouseEnter": "childMouseEnter"; "childMouseLeave": "childMouseLeave"; }, never, never, false, never>;
2744
+ static ɵcmp: i0.ɵɵComponentDeclaration<BuilderDialogComponent, "app-builder-dialog", never, { "children": { "alias": "children"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "dropListId": { "alias": "dropListId"; "required": false; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; }, { "childClick": "childClick"; "childMouseEnter": "childMouseEnter"; "childMouseLeave": "childMouseLeave"; }, never, never, false, never>;
2737
2745
  }
2738
2746
 
2739
2747
  declare class SliderContainerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
@@ -2836,11 +2844,6 @@ declare class SliderSlideComponent implements OnInit, OnDestroy {
2836
2844
  private cdr;
2837
2845
  isPreview: boolean;
2838
2846
  children: ComponentNode[];
2839
- private _style;
2840
- private _slideEditStyle;
2841
- set style(v: Record<string, any>);
2842
- get style(): Record<string, any>;
2843
- get slideEditStyle(): Record<string, any>;
2844
2847
  nodeId: string;
2845
2848
  dropListId: string;
2846
2849
  childClick: EventEmitter<any>;
@@ -2851,7 +2854,7 @@ declare class SliderSlideComponent implements OnInit, OnDestroy {
2851
2854
  ngOnDestroy(): void;
2852
2855
  onDrop(event: IoxDropEvent): void;
2853
2856
  static ɵfac: i0.ɵɵFactoryDeclaration<SliderSlideComponent, [null, null, { optional: true; }]>;
2854
- static ɵcmp: i0.ɵɵComponentDeclaration<SliderSlideComponent, "app-slider-slide", never, { "children": { "alias": "children"; "required": false; }; "style": { "alias": "style"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "dropListId": { "alias": "dropListId"; "required": false; }; }, { "childClick": "childClick"; "childMouseEnter": "childMouseEnter"; "childMouseLeave": "childMouseLeave"; }, never, never, false, never>;
2857
+ static ɵcmp: i0.ɵɵComponentDeclaration<SliderSlideComponent, "app-slider-slide", never, { "children": { "alias": "children"; "required": false; }; "nodeId": { "alias": "nodeId"; "required": false; }; "dropListId": { "alias": "dropListId"; "required": false; }; }, { "childClick": "childClick"; "childMouseEnter": "childMouseEnter"; "childMouseLeave": "childMouseLeave"; }, never, never, false, never>;
2855
2858
  }
2856
2859
 
2857
2860
  declare class PanelChildComponent {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "4.38.0",
3
+ "version": "5.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": ">=5.12.0",
9
+ "@vectoriox/iox-ui": ">=5.13.0",
10
10
  "interactjs": "^1.10.27",
11
11
  "primeng": ">=20.0.0",
12
12
  "swiper": ">=12.0.0",