@vectoriox/iox-ui 4.16.1 → 4.17.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,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { AfterViewInit, EventEmitter, ElementRef, SimpleChanges, OnDestroy, OnInit, Renderer2, ModuleWithProviders, InjectionToken, ChangeDetectorRef, ViewContainerRef,
|
|
2
|
+
import { AfterViewInit, EventEmitter, ElementRef, SimpleChanges, OnDestroy, OnInit, Renderer2, ModuleWithProviders, InjectionToken, ChangeDetectorRef, ViewContainerRef, Type } from '@angular/core';
|
|
3
3
|
import { AnimationPlayer, AnimationBuilder } from '@angular/animations';
|
|
4
4
|
import { Observable, Subject } from 'rxjs';
|
|
5
5
|
import * as i3 from '@angular/platform-browser/animations';
|
|
@@ -634,26 +634,33 @@ declare function parseUrlList(text: string): GalleryImage[];
|
|
|
634
634
|
* frame (SEO + no-JS baseline). In the browser `ngAfterViewInit` starts the loop, which begins on the
|
|
635
635
|
* same index 0 — so the static frame and the first live frame match and there is no hydration flash.
|
|
636
636
|
*/
|
|
637
|
-
declare class ClientGalleryComponent implements AfterViewInit,
|
|
637
|
+
declare class ClientGalleryComponent implements AfterViewInit, OnDestroy {
|
|
638
638
|
private cdr;
|
|
639
639
|
nodeId: string;
|
|
640
|
-
/** Manual images — `GalleryImage[]` or a plain `string[]` of URLs (normalised on set). */
|
|
641
|
-
images: (GalleryImage | string)[];
|
|
642
640
|
effect: string;
|
|
643
|
-
showDuration: number;
|
|
644
|
-
fadeDuration: number;
|
|
645
641
|
autoStart: boolean;
|
|
646
642
|
/** Layout mode — only `'stack'` is rendered in v1 (`'grid'` scaffolded for later). */
|
|
647
643
|
layout: 'stack' | 'grid';
|
|
648
|
-
|
|
644
|
+
private _images;
|
|
645
|
+
/** Manual images — `GalleryImage[]` or a plain `string[]` of URLs (normalised on set). */
|
|
646
|
+
set images(v: (GalleryImage | string)[]);
|
|
647
|
+
get images(): (GalleryImage | string)[];
|
|
648
|
+
private _showDuration;
|
|
649
|
+
set showDuration(v: number);
|
|
650
|
+
get showDuration(): number;
|
|
651
|
+
private _fadeDuration;
|
|
652
|
+
set fadeDuration(v: number);
|
|
653
|
+
get fadeDuration(): number;
|
|
654
|
+
/** The flat, display-ready URLs the loop cycles. Recomputed whenever `images` is set. */
|
|
649
655
|
urls: string[];
|
|
650
656
|
private currentIndex;
|
|
651
657
|
private fadingOutIndex;
|
|
652
658
|
private started;
|
|
659
|
+
/** True once the loop has been started (in ngAfterViewInit) — gates the setter-driven restart. */
|
|
660
|
+
private loopActive;
|
|
653
661
|
private loop;
|
|
654
662
|
private readonly isBrowser;
|
|
655
663
|
constructor(platformId: object, cdr: ChangeDetectorRef);
|
|
656
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
657
664
|
ngAfterViewInit(): void;
|
|
658
665
|
ngOnDestroy(): void;
|
|
659
666
|
/** Per-slide inline style. Before the loop activates (server + no-JS + pre-first-frame) the first
|
|
@@ -662,7 +669,7 @@ declare class ClientGalleryComponent implements AfterViewInit, OnChanges, OnDest
|
|
|
662
669
|
private startLoop;
|
|
663
670
|
private normalizeImages;
|
|
664
671
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClientGalleryComponent, never>;
|
|
665
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClientGalleryComponent, "iox-gallery", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "
|
|
672
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClientGalleryComponent, "iox-gallery", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "effect": { "alias": "effect"; "required": false; }; "autoStart": { "alias": "autoStart"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "images": { "alias": "images"; "required": false; }; "showDuration": { "alias": "showDuration"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; }, {}, never, never, false, never>;
|
|
666
673
|
}
|
|
667
674
|
|
|
668
675
|
declare class IoxBuilderComponentsModule {
|
|
@@ -772,6 +779,50 @@ declare const VIRTUAL_TRAIT_KEYS: Set<string>;
|
|
|
772
779
|
*/
|
|
773
780
|
declare function composeVirtualTraits(raw: Record<string, any>, base?: Record<string, any>): Record<string, any>;
|
|
774
781
|
|
|
782
|
+
/**
|
|
783
|
+
* tree-relations — framework-agnostic helpers for reasoning about a rendered node
|
|
784
|
+
* tree's structural relationships. Lives in @vectoriox/iox-ui because BOTH renderers
|
|
785
|
+
* depend on iox-ui (the engine does NOT depend on iox-builder), so the same logic
|
|
786
|
+
* drives the builder canvas AND the SSR site — no fork.
|
|
787
|
+
* See iox-ai-guidance `architecture/builder/targeted-hover-state-plan.md`.
|
|
788
|
+
*/
|
|
789
|
+
/**
|
|
790
|
+
* Minimal shape both renderers can satisfy. `styleId` (present on repeater/slider/symbol
|
|
791
|
+
* clones) points back to the template node's css id; when set it is the id used in the
|
|
792
|
+
* compiled selector, so we resolve against it in preference to `id`.
|
|
793
|
+
*/
|
|
794
|
+
interface StyleTreeNode {
|
|
795
|
+
id?: string;
|
|
796
|
+
styleId?: string;
|
|
797
|
+
children?: StyleTreeNode[] | null;
|
|
798
|
+
}
|
|
799
|
+
/** The css id a node contributes to selectors: its clone `styleId`, else its own `id`. */
|
|
800
|
+
declare function nodeCssId(node: StyleTreeNode): string | undefined;
|
|
801
|
+
/**
|
|
802
|
+
* The css id of the NEAREST COMMON ANCESTOR of two nodes (identified by their css ids),
|
|
803
|
+
* used to scope a `:has()` targeted-state selector so it stays repetition-safe.
|
|
804
|
+
*
|
|
805
|
+
* The result may equal `styledCssId` (the trigger sits INSIDE the styled node) or
|
|
806
|
+
* `triggerCssId` (the styled node sits inside the trigger) — both are valid scopes;
|
|
807
|
+
* `buildTargetedStateSelector` picks the right selector shape for each. Returns
|
|
808
|
+
* `undefined` only when a valid scope can't exist: an id is blank, the two ids are the
|
|
809
|
+
* same node, or they share no ancestor in `root`. Callers MUST skip emitting the rule
|
|
810
|
+
* when this is `undefined` — never emit an unscoped (page-global) `:has()`, which would
|
|
811
|
+
* break under repetition.
|
|
812
|
+
*/
|
|
813
|
+
declare function nearestCommonAncestorId(root: readonly StyleTreeNode[], styledCssId: string, triggerCssId: string): string | undefined;
|
|
814
|
+
/**
|
|
815
|
+
* Build the selector BODY (no leading `.`, matching the builder's `compile()` convention)
|
|
816
|
+
* for a targeted state, given the resolved scope. Three topologies, one shared rule:
|
|
817
|
+
*
|
|
818
|
+
* - trigger INSIDE styled (scope === styled): `iox-node-{styled}:has(.iox-node-{trigger}:{base})`
|
|
819
|
+
* - styled INSIDE trigger (scope === trigger): `iox-node-{trigger}:{base} .iox-node-{styled}`
|
|
820
|
+
* - separate subtrees (scope is above both): `iox-node-{scope}:has(.iox-node-{trigger}:{base}) .iox-node-{styled}`
|
|
821
|
+
*
|
|
822
|
+
* `scopeCssId` MUST be a value returned by `nearestCommonAncestorId` for the same pair.
|
|
823
|
+
*/
|
|
824
|
+
declare function buildTargetedStateSelector(scopeCssId: string, triggerCssId: string, styledCssId: string, base: string): string;
|
|
825
|
+
|
|
775
826
|
/**
|
|
776
827
|
* Shared data-source resolving pattern — the SINGLE source of truth for how an IoxDataSource
|
|
777
828
|
* becomes a backend fetch, consumed by BOTH the page builder (iox-cms-client bindings panel) and
|
|
@@ -1409,5 +1460,5 @@ declare class GalleryLoop {
|
|
|
1409
1460
|
private emit;
|
|
1410
1461
|
}
|
|
1411
1462
|
|
|
1412
|
-
export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, applyBindingPipes, applyFeel, buildDataSourceFilter, buildRelatedFilter, buildTransitionTimeline, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, dataSourcePlanToRequest, effectiveTransitionId, excludeSelf, feelFor, getByPath, isReservedAlias, legacyEnterToTransition, matchRouteParams, normalizeCollectionResult, parseUrlList, planDataSource, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolvePageTransition, resolveRelativeInto, resolveRepeaterItems, resolveSiblings, resolveSingleItemId, rewriteViewportUnits, stripSuppressedProps, styleKeyToKebab };
|
|
1413
|
-
export type { BuildRelatedFilterOptions, DataSourceDomain, DataSourceEndpoints, DataSourceMode, DataSourcePlan, DataSourceQueryFilter, DataSourceRequest, DataSourceRequestSpec, DataSourceRouteFilter, DataSourceSpec, GalleryBoundSource, GalleryDurations, GalleryEffect, GalleryEffectDescriptor, GalleryImage, GalleryLoopOptions, GalleryLoopScheduler, GalleryLoopState, GallerySlideState, IBuilderEventEmitter, IoxPipe, PageTransitionCategory, PageTransitionCategoryMeta, PageTransitionOptions, PageTransitionPreset, PipeArgSpec, PipeContext, PipeDescriptor, RelativeInputs, RelativeSourceKind, RelativeSourceSpec, ResolveSiblingsOptions, ResolvedPageTransition, RouteContext, SiblingsResult, TransitionFeel, TransitionPhase, TransitionTimelineInput };
|
|
1463
|
+
export { AOSService, AnalyticsService, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_WIDTH_BY_TYPE, ENVIRONMENT, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, applyBindingPipes, applyFeel, buildDataSourceFilter, buildRelatedFilter, buildTargetedStateSelector, buildTransitionTimeline, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, dataSourcePlanToRequest, effectiveTransitionId, excludeSelf, feelFor, getByPath, isReservedAlias, legacyEnterToTransition, matchRouteParams, nearestCommonAncestorId, nodeCssId, normalizeCollectionResult, parseUrlList, planDataSource, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolvePageTransition, resolveRelativeInto, resolveRepeaterItems, resolveSiblings, resolveSingleItemId, rewriteViewportUnits, stripSuppressedProps, styleKeyToKebab };
|
|
1464
|
+
export type { BuildRelatedFilterOptions, DataSourceDomain, DataSourceEndpoints, DataSourceMode, DataSourcePlan, DataSourceQueryFilter, DataSourceRequest, DataSourceRequestSpec, DataSourceRouteFilter, DataSourceSpec, GalleryBoundSource, GalleryDurations, GalleryEffect, GalleryEffectDescriptor, GalleryImage, GalleryLoopOptions, GalleryLoopScheduler, GalleryLoopState, GallerySlideState, IBuilderEventEmitter, IoxPipe, PageTransitionCategory, PageTransitionCategoryMeta, PageTransitionOptions, PageTransitionPreset, PipeArgSpec, PipeContext, PipeDescriptor, RelativeInputs, RelativeSourceKind, RelativeSourceSpec, ResolveSiblingsOptions, ResolvedPageTransition, RouteContext, SiblingsResult, StyleTreeNode, TransitionFeel, TransitionPhase, TransitionTimelineInput };
|