@vectoriox/iox-builder 1.5.9 → 1.6.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "1.5.9",
3
+ "version": "1.6.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
@@ -184,11 +184,19 @@ interface InteractionPreset {
184
184
  name: string;
185
185
  interactions: IoxInteraction[];
186
186
  }
187
- type ElementState = 'hover' | 'active' | 'focus' | 'first-child' | 'last-child' | 'nth-child(odd)' | 'nth-child(even)';
187
+ type ElementState = 'hover' | 'active' | 'focus' | 'first-child' | 'last-child' | 'nth-child(odd)' | 'nth-child(even)' | 'parent-hover';
188
188
  /** Interaction pseudo-classes — compiled to .iox-node-{id}:state */
189
189
  declare const INTERACTION_STATES: ElementState[];
190
190
  /** Structural pseudo-classes — compiled to .iox-outer-{id}:state */
191
191
  declare const STRUCTURAL_STATES: ElementState[];
192
+ /**
193
+ * Relational pseudo-classes — the styled element is a descendant, the pseudo-class
194
+ * lives on an ANCESTOR. Compiled to `.iox-node-{parentId}:{base} .iox-node-{id} { … }`,
195
+ * so they require the ancestor's css id (`relativeToId`) at compile time.
196
+ * `RELATIONAL_STATE_BASE` maps each relational state to the ancestor pseudo-class.
197
+ */
198
+ declare const RELATIONAL_STATES: ElementState[];
199
+ declare const RELATIONAL_STATE_BASE: Partial<Record<ElementState, string>>;
192
200
  declare const SUPPORTED_STATES: ElementState[];
193
201
  interface ComponentNode {
194
202
  id?: string;
@@ -545,6 +553,15 @@ declare class OverlayService {
545
553
  node: ComponentNode;
546
554
  ref: NodeRef;
547
555
  } | undefined;
556
+ /**
557
+ * Walk up the DOM from a node's registered host element to the nearest ANCESTOR
558
+ * element that is itself a registered node. Used to resolve the immediate parent
559
+ * for relational style states (e.g. parent-hover). Returns undefined for root nodes.
560
+ */
561
+ getParentEntry(node: ComponentNode): {
562
+ node: ComponentNode;
563
+ ref: NodeRef;
564
+ } | undefined;
548
565
  setHover(element: HTMLElement, componentName: string, mode: BuilderMode): void;
549
566
  clearHover(): void;
550
567
  setSelect(element: HTMLElement, componentName: string, mode: BuilderMode, node?: ComponentNode, componentRef?: ComponentRef<any>): void;
@@ -1144,11 +1161,14 @@ declare class StyleRegistryService {
1144
1161
  *
1145
1162
  * @param nodeId The node's CSS id (used in `.iox-node-{nodeId}`)
1146
1163
  * @param styles Flat CSS property map (camelCase keys)
1147
- * @param state Optional pseudo-class state ('hover' | 'active' | 'focus').
1164
+ * @param state Optional pseudo-class state ('hover' | 'active' | 'focus' | …).
1148
1165
  * When provided, compiles to `.iox-node-{id}:{state} { … }`.
1149
1166
  * State rules are NOT partitioned into inner/outer.
1167
+ * @param relativeToId Ancestor css id, required for RELATIONAL states
1168
+ * (e.g. 'parent-hover'). Compiles to
1169
+ * `.iox-node-{relativeToId}:{base} .iox-node-{nodeId} { … }`.
1150
1170
  */
1151
- upsert(nodeId: string, styles: Record<string, any>, state?: ElementState): void;
1171
+ upsert(nodeId: string, styles: Record<string, any>, state?: ElementState, relativeToId?: string): void;
1152
1172
  /**
1153
1173
  * Write the org-level design token variables as a `:root { … }` block.
1154
1174
  * Token names should be CSS custom property names without the `--` prefix
@@ -1315,8 +1335,9 @@ declare class OverlayComponent implements OnInit, OnDestroy {
1315
1335
  private resizeObserver?;
1316
1336
  private containerResizeObserver?;
1317
1337
  private mutationObserver?;
1338
+ private _updateRaf;
1339
+ private scheduleUpdate;
1318
1340
  private boundUpdate;
1319
- private _scrollRaf;
1320
1341
  private boundScrollUpdate;
1321
1342
  private activeScrollContainer;
1322
1343
  constructor(overlayService: OverlayService, viewportService: ViewportService, presetRegistry: PresetRegistryService, symbolRegistry: SymbolRegistryService, interactionPresetRegistry: InteractionPresetRegistryService, interactionEngine: InteractionEngineService, clipboard: BuilderClipboardService, styleRegistry: StyleRegistryService, panelEventService: PanelEventService, cdr: ChangeDetectorRef);
@@ -1959,5 +1980,5 @@ declare class TextBlockComponentConfig extends ComponentConfig {
1959
1980
  constructor();
1960
1981
  }
1961
1982
 
1962
- export { ACTION_TYPE_OPTIONS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CardComponentConfig, ComponentConfig, ComponentRegistryService, DEVICE_OPTIONS, DataSourceRegistryService, DataSourceType, DeviceMode, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EffectsGroupStyleConfig, GroupStyleConfig, INTERACTION_STATES, INVERSE_ACTION, IOX_CONTENT_SERVICE, IOX_FONT_MANAGER, IOX_SHOP_SERVICE, InteractionEngineService, InteractionPresetRegistryService, InteractionsPanelComponent, IoxBuilderModule, IoxDraggableDirective, IoxDropzoneDirective, LayerTreeComponent, LayoutGroupStyleConfig, ListGroupStyleConfig, NodeAction, OverlayComponent, OverlayService, PanelChildComponent, PanelComponent, PanelEventService, PanelEventTypes, PanelTypes, PositionGroupStyleConfig, PresetRegistryService, 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, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VIRTUAL_TRAIT_KEYS, ViewportService, ZOOM_OPTIONS, buildFullStyleTraits, buildPresetStyleTraits, composeVirtualTraits, defaultPageSettings, flattenSchemaFields, generateNodeId, resolveTraitControllerType, resolveTraitOptions };
1983
+ export { ACTION_TYPE_OPTIONS, BackgroundGroupStyleConfig, BorderGroupStyleConfig, BuilderButtonBlockComponent, BuilderButtonComponentConfig, BuilderClipboardService, BuilderComponent, BuilderContainerComponent, BuilderContainerComponentConfig, BuilderDividerComponentConfig, BuilderHeadingComponentConfig, BuilderHistoryService, BuilderIconComponentConfig, BuilderImageComponentConfig, BuilderLinkComponentConfig, BuilderLinkedContainerComponent, BuilderLinkedContainerConfig, BuilderListComponentConfig, BuilderListItemComponentConfig, BuilderMode, BuilderRepeaterComponent, BuilderSpacerComponentConfig, ButtonBlockComponentConfig, CardComponentConfig, ComponentConfig, ComponentRegistryService, DEVICE_OPTIONS, DataSourceRegistryService, DataSourceType, DeviceMode, DimensionsGroupStyleConfig, DragEngineService, EASING_OPTIONS, EffectsGroupStyleConfig, GroupStyleConfig, INTERACTION_STATES, INVERSE_ACTION, IOX_CONTENT_SERVICE, IOX_FONT_MANAGER, IOX_SHOP_SERVICE, InteractionEngineService, InteractionPresetRegistryService, InteractionsPanelComponent, 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, TRIGGER_OPTIONS, TextBlockComponentConfig, ToolbarAction, ToolbarComponent, TraitConfig, TraitInputType, TypographyGroupStyleConfig, UNITS_ALL, UNITS_DEG, UNITS_FIXED, UNITS_NO_VW, VIRTUAL_TRAIT_KEYS, ViewportService, ZOOM_OPTIONS, buildFullStyleTraits, buildPresetStyleTraits, composeVirtualTraits, defaultPageSettings, flattenSchemaFields, generateNodeId, resolveTraitControllerType, resolveTraitOptions };
1963
1984
  export type { BuilderClipboard, ComponentEventDef, ComponentMethodDef, ComponentNode, ComponentTrait, DeviceOption, DragPayload, DsFilterByQueryParam, DsFilterByRouteParam, ElementState, HistoryEntry, InteractionAction, InteractionActionType, InteractionPreset, InteractionTrigger, IoxBinding, IoxContentService, IoxDataSource, IoxDropEvent, IoxFontManager, IoxInteraction, IoxSymbol, NodeRef, OverlayBoxModel, OverlayBoxSpacing, OverlayEntry, PageRouteAnimationSettings, PageScrollSettings, PageSettings, PageStyleSettings, PanelEvent, QuadSizeSegment, RouteAnimationPreset, ScreenWidthOption, StylePreset, StyleTrait, StyleTraitGroup, TraitOptionMap, TraitSelectOption, TraitShowCondition, ViewportState, ZoomOption };