@vectoriox/iox-ui 5.43.0 → 5.44.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.
@@ -6,6 +6,8 @@ import { Subject, fromEvent } from 'rxjs';
6
6
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
7
  import * as i1 from '@angular/common';
8
8
  import { CommonModule, isPlatformBrowser } from '@angular/common';
9
+ import { SPEC_AXES, resolveDesignMotion } from '@vectoriox/iox-ui/design-core';
10
+ export * from '@vectoriox/iox-ui/design-core';
9
11
  import Lenis from 'lenis';
10
12
  import { SLIDER_WORDS, sliderPartElement, SliderRole, sliderWords, attachCarouselA11y, isSliderPart } from '@vectoriox/iox-ui/composite-core';
11
13
  import { getByPath } from '@vectoriox/iox-ui/data-core';
@@ -13,7 +15,6 @@ export * from '@vectoriox/iox-ui/data-core';
13
15
  import { dialogOpenerAttributes, dialogDomId } from '@vectoriox/iox-ui/actions-core';
14
16
  import { planVideo, videoRootAttributes, videoInnerHtml, videoWords, VideoAttribute, attachVideoAt, VideoClass } from '@vectoriox/iox-ui/media-core';
15
17
  import * as i1$1 from '@angular/platform-browser';
16
- export * from '@vectoriox/iox-ui/design-core';
17
18
 
18
19
  class ViewPositionDirective {
19
20
  constructor(_elr) {
@@ -386,51 +387,144 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
386
387
  }]
387
388
  }] });
388
389
 
390
+ /**
391
+ * Reduced motion (CC1, R1 — complex-components plan §2d). The token sheet already collapses the
392
+ * motion tokens under `prefers-reduced-motion`; everything that moves through SCRIPT must ask the
393
+ * same question, and ask it HERE: the interaction engines (builder canvas + live site), the Slider's
394
+ * autoplay and the Gallery's crossfade loop. Publishable gate #6: reduced motion = motion dial 0.
395
+ */
396
+ const REDUCED_MOTION_QUERY = '(prefers-reduced-motion: reduce)';
397
+ function defaultHost() {
398
+ return typeof window !== 'undefined' ? window : null;
399
+ }
400
+ /** True when the visitor asked their system for reduced motion. No `matchMedia` (SSR) → false. */
401
+ function prefersReducedMotion(host = defaultHost()) {
402
+ try {
403
+ return !!host?.matchMedia?.(REDUCED_MOTION_QUERY)?.matches;
404
+ }
405
+ catch {
406
+ return false;
407
+ }
408
+ }
409
+ /** True when script may animate. The ONE question every runtime asks before moving anything. */
410
+ function motionAllowed(host = defaultHost()) {
411
+ return !prefersReducedMotion(host);
412
+ }
413
+
414
+ /**
415
+ * Scrolling (AI plan rev 3.1 §3p, MO-D1/MO-D7): the look's `scroll` choice → the options the ONE page
416
+ * scroller starts Lenis with, or `null` for the browser's own scrolling. The table is the contract's
417
+ * `axes.scrolls`; this only turns its named easing into the function Lenis wants. Pure: the caller asks the
418
+ * visitor's reduced-motion preference (`prefersReducedMotion`) and passes the answer in.
419
+ */
420
+ var ScrollEasing;
421
+ (function (ScrollEasing) {
422
+ ScrollEasing["ExpoOut"] = "expo-out";
423
+ })(ScrollEasing || (ScrollEasing = {}));
424
+ /** The curves `axes.scrolls[].lenis.easing` may name. Expo-out is Lenis's own default curve. */
425
+ const SCROLL_EASINGS = {
426
+ [ScrollEasing.ExpoOut]: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
427
+ };
428
+ function planScroll(scroll, ctx) {
429
+ if (ctx.reducedMotion)
430
+ return null;
431
+ // An absent or unknown choice plays PRE_MOTION's Smooth — what every site glided with before rev 3.1.
432
+ const lenis = SPEC_AXES.scrolls[resolveDesignMotion({ scroll }).scroll].lenis;
433
+ if (!lenis)
434
+ return null;
435
+ return {
436
+ duration: lenis.duration,
437
+ easing: SCROLL_EASINGS[lenis.easing],
438
+ wheelMultiplier: lenis.wheelMultiplier,
439
+ syncTouch: lenis.syncTouch,
440
+ };
441
+ }
442
+
443
+ /**
444
+ * The ONE page scroller (AI plan rev 3.1 §3p). `IoxPageComponent` starts it with the plan of the look's
445
+ * Scrolling choice (`planScroll`); `scrollTo` actions and the dialog lock go through it whether or not
446
+ * Lenis runs. Never on the server: there is no window to scroll.
447
+ */
389
448
  class PageScrollProvider {
390
449
  constructor() {
391
- // inject() (not a ctor param) so subclasses like SsrSafePageScrollProvider keep `super()`.
450
+ // inject() (not a ctor param) so subclasses like the engine's document-scrolling provider keep `super()`.
392
451
  this.zone = inject(NgZone);
452
+ this.lenis = null;
453
+ this.wrapper = null;
454
+ this.lockedOverflow = null;
393
455
  }
394
- init(options) {
395
- if (this.lenis) {
396
- this.lenis.destroy();
397
- }
398
- if (this.rafId != null) {
399
- cancelAnimationFrame(this.rafId);
400
- }
401
- this.lenis = new Lenis(options || {});
456
+ init(start) {
457
+ this.destroy();
458
+ if (typeof window === 'undefined' || typeof requestAnimationFrame === 'undefined')
459
+ return;
460
+ this.wrapper = start.wrapper ?? null;
461
+ if (!start.lenis)
462
+ return;
463
+ this.lenis = new Lenis({ ...start.lenis, ...(start.wrapper ? { wrapper: start.wrapper } : {}), ...(start.content ? { content: start.content } : {}) });
402
464
  this.startLoop();
403
465
  }
466
+ /** Stop Lenis and its loop; the page falls back to the browser's own scrolling. */
467
+ destroy() {
468
+ if (this.rafId != null)
469
+ cancelAnimationFrame(this.rafId);
470
+ this.rafId = undefined;
471
+ this.lenis?.destroy();
472
+ this.lenis = null;
473
+ this.unlock();
474
+ }
404
475
  /** Hard-stop page scroll (dialog open, A1b): wheel/touch frozen until start(). */
405
476
  stop() {
406
- this.lenis?.stop();
477
+ if (this.lenis) {
478
+ this.lenis.stop();
479
+ return;
480
+ }
481
+ const el = this.scrollElement();
482
+ if (!el || this.lockedOverflow !== null)
483
+ return;
484
+ this.lockedOverflow = el.style.overflow;
485
+ el.style.overflow = 'hidden';
407
486
  }
408
487
  /** Resume after stop() — the dialog's close path, incl. native Esc/backdrop closes. */
409
488
  start() {
410
- this.lenis?.start();
489
+ if (this.lenis) {
490
+ this.lenis.start();
491
+ return;
492
+ }
493
+ this.unlock();
411
494
  }
412
495
  scrollTo(y, options) {
413
- this.instance.scrollTo(y, options);
496
+ if (this.lenis) {
497
+ this.lenis.scrollTo(y, options);
498
+ return;
499
+ }
500
+ const behavior = options?.immediate || prefersReducedMotion() ? 'auto' : 'smooth';
501
+ (this.wrapper ?? (typeof window !== 'undefined' ? window : null))?.scrollTo({ top: y, behavior });
414
502
  }
415
503
  scrollToTop(options) {
416
504
  this.scrollTo(0, options);
417
505
  }
506
+ /** The running Lenis, or null when the page scrolls natively (Normal, reduced motion, the server). */
418
507
  get instance() {
419
- if (!this.lenis) {
420
- throw new Error('PageScrollProvider: call init() before accessing the instance.');
421
- }
422
508
  return this.lenis;
423
509
  }
424
- startLoop() {
425
- if (!this.lenis) {
510
+ scrollElement() {
511
+ return this.wrapper ?? (typeof document !== 'undefined' ? document.documentElement : null);
512
+ }
513
+ unlock() {
514
+ if (this.lockedOverflow === null)
426
515
  return;
427
- }
516
+ const el = this.scrollElement();
517
+ if (el)
518
+ el.style.overflow = this.lockedOverflow;
519
+ this.lockedOverflow = null;
520
+ }
521
+ startLoop() {
428
522
  // Run the perpetual rAF loop OUTSIDE Angular. In-zone, a never-ending requestAnimationFrame
429
523
  // keeps ApplicationRef.isStable() permanently false, so SSR hydration never completes
430
524
  // (NG0506: "hydration expected isStable() to emit true ... didn't happen within 10000ms").
431
525
  this.zone.runOutsideAngular(() => {
432
526
  const loop = (time) => {
433
- this.lenis.raf(time);
527
+ this.lenis?.raf(time);
434
528
  this.rafId = requestAnimationFrame(loop);
435
529
  };
436
530
  this.rafId = requestAnimationFrame(loop);
@@ -447,6 +541,7 @@ class IoxPageComponent {
447
541
  constructor(pageScrollProvider) {
448
542
  this.pageScrollProvider = pageScrollProvider;
449
543
  this.class = '';
544
+ this.started = false;
450
545
  this.scrollEvent = new EventEmitter();
451
546
  }
452
547
  ngAfterViewInit() {
@@ -454,14 +549,13 @@ class IoxPageComponent {
454
549
  this.scrollSubscription = fromEvent(this.page.nativeElement, 'scroll').subscribe((event) => {
455
550
  this.onScroll(event);
456
551
  });
457
- this.pageScrollProvider.init({
458
- wrapper: this.page.nativeElement,
459
- content: this.page.nativeElement.querySelector('.page-mask'),
460
- duration: 1.2,
461
- easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
462
- });
552
+ this.startScroller();
463
553
  }
464
554
  }
555
+ ngOnChanges(changes) {
556
+ if (changes['scroll'] && this.started)
557
+ this.startScroller();
558
+ }
465
559
  onScroll(event) {
466
560
  const target = event.target;
467
561
  const scrollTop = target.scrollTop;
@@ -478,14 +572,24 @@ class IoxPageComponent {
478
572
  this.scrollSubscription.unsubscribe();
479
573
  }
480
574
  }
575
+ startScroller() {
576
+ this.started = true;
577
+ this.pageScrollProvider.init({
578
+ wrapper: this.page.nativeElement,
579
+ content: this.page.nativeElement.querySelector('.page-mask') ?? undefined,
580
+ lenis: planScroll(this.scroll, { reducedMotion: prefersReducedMotion() }),
581
+ });
582
+ }
481
583
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageComponent, deps: [{ token: PageScrollProvider }], target: i0.ɵɵFactoryTarget.Component }); }
482
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: IoxPageComponent, isStandalone: false, selector: "iox-page-component", inputs: { class: "class" }, outputs: { scrollEvent: "scrollEvent" }, viewQueries: [{ propertyName: "page", first: true, predicate: ["page"], descendants: true }], ngImport: i0, template: "<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0}.iox-page-wrapper{position:relative;width:100%;height:100%;overflow:auto}.page-mask{min-height:100%}\n"] }); }
584
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: IoxPageComponent, isStandalone: false, selector: "iox-page-component", inputs: { class: "class", scroll: "scroll" }, outputs: { scrollEvent: "scrollEvent" }, viewQueries: [{ propertyName: "page", first: true, predicate: ["page"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0}.iox-page-wrapper{position:relative;width:100%;height:100%;overflow:auto}.page-mask{min-height:100%}\n"] }); }
483
585
  }
484
586
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: IoxPageComponent, decorators: [{
485
587
  type: Component,
486
588
  args: [{ selector: 'iox-page-component', standalone: false, template: "<div #page [class]=\"class\" class=\"iox-page-wrapper\">\n <div class=\"page-mask\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0}.iox-page-wrapper{position:relative;width:100%;height:100%;overflow:auto}.page-mask{min-height:100%}\n"] }]
487
589
  }], ctorParameters: () => [{ type: PageScrollProvider }], propDecorators: { class: [{
488
590
  type: Input
591
+ }], scroll: [{
592
+ type: Input
489
593
  }], page: [{
490
594
  type: ViewChild,
491
595
  args: ['page']
@@ -1402,30 +1506,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImpo
1402
1506
  args: ['childrenHost', { read: ViewContainerRef, static: true }]
1403
1507
  }] } });
1404
1508
 
1405
- /**
1406
- * Reduced motion (CC1, R1 — complex-components plan §2d). The token sheet already collapses the
1407
- * motion tokens under `prefers-reduced-motion`; everything that moves through SCRIPT must ask the
1408
- * same question, and ask it HERE: the interaction engines (builder canvas + live site), the Slider's
1409
- * autoplay and the Gallery's crossfade loop. Publishable gate #6: reduced motion = motion dial 0.
1410
- */
1411
- const REDUCED_MOTION_QUERY = '(prefers-reduced-motion: reduce)';
1412
- function defaultHost() {
1413
- return typeof window !== 'undefined' ? window : null;
1414
- }
1415
- /** True when the visitor asked their system for reduced motion. No `matchMedia` (SSR) → false. */
1416
- function prefersReducedMotion(host = defaultHost()) {
1417
- try {
1418
- return !!host?.matchMedia?.(REDUCED_MOTION_QUERY)?.matches;
1419
- }
1420
- catch {
1421
- return false;
1422
- }
1423
- }
1424
- /** True when script may animate. The ONE question every runtime asks before moving anything. */
1425
- function motionAllowed(host = defaultHost()) {
1426
- return !prefersReducedMotion(host);
1427
- }
1428
-
1429
1509
  // Virtual trait → composed CSS property helpers.
1430
1510
  //
1431
1511
  // Several style traits are "virtual" — they don't map 1:1 to a CSS property but
@@ -7927,6 +8007,51 @@ function effectiveTransitionId(anim) {
7927
8007
  return anim.transition;
7928
8008
  return legacyEnterToTransition(anim.enter);
7929
8009
  }
8010
+ const NO_PAGE_TRANSITION = 'none';
8011
+ /** The widest viewport a page change treats as a phone (MO-D5): the Mobile landscape breakpoint. */
8012
+ const PHONE_TRANSITION_QUERY = `(max-width: ${breakpointDef(Breakpoint.Mobile).maxWidth}px)`;
8013
+ /**
8014
+ * The part of the context only the browser knows — is this a phone, does the page read right to left —
8015
+ * read the same way by every runtime that plays a page change (the engine, Preview). No window → neither.
8016
+ */
8017
+ function viewportTransitionContext(view, el) {
8018
+ return {
8019
+ phone: !!view?.matchMedia?.(PHONE_TRANSITION_QUERY)?.matches,
8020
+ rtl: !!el && view?.getComputedStyle?.(el)?.direction === 'rtl',
8021
+ };
8022
+ }
8023
+ /** The page set its own transition (a preset id, or a legacy `enter` that migrates to one). */
8024
+ function hasOwnPageTransition(anim) {
8025
+ return !!(anim?.transition || anim?.enter);
8026
+ }
8027
+ /**
8028
+ * The ONE decision of what plays when a page arrives, for the engine and every builder preview:
8029
+ * • a page with its own Route animation plays it, exactly as before (an unflagged page too: with none set
8030
+ * it keeps the platform default, `effectiveTransitionId`);
8031
+ * • a design-system page with none follows the look's Between pages — never on its initial load (MO-D6:
8032
+ * no IN half, no server pre-state), as Fade on a phone for Slide and Cinematic (MO-D5), mirrored in RTL.
8033
+ * Reduced motion is the runtime's own question (`motionAllowed`), asked before anything plays.
8034
+ */
8035
+ function pageTransitionOf(anim, ctx = {}) {
8036
+ if (!ctx.designSystem || hasOwnPageTransition(anim)) {
8037
+ return {
8038
+ transition: effectiveTransitionId(anim),
8039
+ duration: anim?.duration, easing: anim?.easing, perspective: anim?.perspective, curtainColor: anim?.curtainColor,
8040
+ fromLook: false,
8041
+ };
8042
+ }
8043
+ if (ctx.initial)
8044
+ return { transition: NO_PAGE_TRANSITION, fromLook: true };
8045
+ let choice = SPEC_AXES.betweens[resolveDesignMotion({ between: ctx.between }).between];
8046
+ if (ctx.phone && choice.phone)
8047
+ choice = SPEC_AXES.betweens[choice.phone];
8048
+ const feel = choice.feel ? applyFeel(choice.feel) : undefined;
8049
+ return {
8050
+ transition: ctx.rtl && choice.rtl ? choice.rtl : choice.transition,
8051
+ ...(feel ?? {}),
8052
+ fromLook: true,
8053
+ };
8054
+ }
7930
8055
 
7931
8056
  /*
7932
8057
  * Public API Surface of iox-ui
@@ -7936,5 +8061,5 @@ function effectiveTransitionId(anim) {
7936
8061
  * Generated bundle index. Do not edit.
7937
8062
  */
7938
8063
 
7939
- export { A11yAttribute, A11yTrait, ACCESSIBLE_NAME_TYPES, AOSService, ARIA_CURRENT_PAGE, BACKDROP_TWIN_KEY, BACKDROP_WHOLE_KEY, BREAKPOINTS, Breakpoint, BreakpointQueryKind, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, COMPONENT_STATE_SELECTOR, CONTAINER_HTML_TAGS, CONTEXT_ACTION_TYPES, CURRENT_LINK_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ComponentState, ContainerComponent, ContextStore, DECORATIVE_TYPES, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_PHOSPHOR_WEIGHT, DEFAULT_WIDTH_BY_TYPE, DIALOG_CLOSE_ABOVE_ATTRIBUTE, DIALOG_NODE_TYPE, DeclarationContext, ENTRANCE_ACTION_TYPES, EXIT_ACTION_TYPES, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, HOVER_DEFAULT_TRANSITION, HOVER_STATES, INTERACTION_HIDDEN_ATTRIBUTE, IOX_BUILDER_EVENTS, IOX_FORM_MESSAGES, IOX_FORM_NAVIGATOR, IOX_FORM_TRANSPORT, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxDialogComponent, IoxFieldComponent, IoxFormComponent, IoxFormErrorComponent, IoxFormSuccessComponent, IoxPageComponent, IoxPageModule, IoxSubmitButtonComponent, IoxUiModule, IoxVideoComponent, LAST_EMITTED_STATES, LEGACY_DIRECTION_KEY, LEGACY_HOVER_TRANSITION, LEGACY_SWIPER_CONTROLS, LinkedContainerComponent, MANAGED_A11Y_ATTRIBUTES, MAX_LINES_KEY, NAMED_GROUP_ROLES, ON_STATE_ROLES, PAGE_STYLE_TOKENS, PAGE_TOKEN_FALLBACKS, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PART_CLASS_NAMES, PART_PAGINATION_MODIFIER, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PageStyleField, PageStyleSource, REDUCED_MOTION_QUERY, SLIDER_INPUTS_ATTRIBUTE, SLIDER_INPUT_NAMES, STATE_PSEUDO_CLASS, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_A11Y_OPTIONS, SWIPER_RESPONSIVE_TRAITS, SWIPER_TRIGGER_EVENTS, SectionComponent, SwiperModuleName, TARGETED_STATE_SUFFIX, TEXT_ALIGN_KEY, TEXT_DIRECTION_KEY, TRANSITION_FEELS, TextAlign, TextBlockComponent, VALIDATION_STATES, VALIDATION_STATE_CLASS, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, VisibilityActionType, activeActions, applyBindingPipes, applyFeel, bootSlider, breakpointDef, breakpointForWidth, breakpointQueryFor, buildInteractionKeyframes, buildPartSelector, buildSwiperBreakpoints, buildTargetedStateSelector, buildTargetedSuffixSelector, buildTransitionTimeline, cascadeChain, clearInputOverride, clearOverride, closeAboveMediaQuery, collectContextSlotKeys, compileDeclarations, compilePageStyle, componentStatesFor, composeVirtualTraits, containerHtmlTag, contextActionEffect, contextSlotKeys, countOverrides, declaredInputNames, decomposeBackdropFilter, defaultHoverTransition, defaultMessageResolver, deriveSeoFromContent, describePageStyle, describeSeoFields, dialogCloseAboveMinWidth, domHasSliderParts, effectiveActionType, effectiveTransitionId, entrancePreStateStyle, feelFor, finalKeyframe, getSeoValue, hasHoverState, hasOwnTransition, initialSlotValues, isActionEnabled, isContextAction, isCurrentLink, isExternalOrFragment, isGradientPaint, isInputOverriddenAt, isLastEmittedStateKey, isOverriddenAt, isValidSlotKey, isWholeBackdropSet, keyframePropertyName, keyframeStyleEntries, legacyEnterToTransition, mediaQueryFor, mergeSwiperBreakpoints, migrateLegacyDirection, migrateLegacyTextAlign, motionAllowed, nearestCommonAncestorId, needsAccessibleName, needsGroupName, nodeA11yAttributes, nodeCssId, nodeTraitValue, nodeUsesContext, normalizeAppPath, normalizeGalleryImage, normalizeIconClass, orderStatesForEmit, parentBreakpoint, parseUrlList, partClassName, planResponsiveRules, planSwiperOptions, prefersReducedMotion, renderDefaultDeclarations, resetPageStyleField, resetSeoField, resolveBoundValue, resolveContextValue, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolvePageTransition, resolvePath, resolveSeo, resolveStateStyles, resolveStyleProps, resolveToggleVisibility, resolveValueChain, rewriteViewportUnits, safeSetInput, serializeA11yAttributes, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, sliderControlElements, sliderInputsFromProps, sliderInputsOf, stateNamesIn, statePseudoClass, stateSelectorSuffix, stripSuppressedProps, swiperAutoplayAllowed, swiperLoopOptions, swiperModuleNames, syncNodeA11yAttributes, targetedStateSelector, withContextSlots, withDefaultHoverTransition, wrapInBreakpointQuery, wrapInMediaQuery };
8064
+ export { A11yAttribute, A11yTrait, ACCESSIBLE_NAME_TYPES, AOSService, ARIA_CURRENT_PAGE, BACKDROP_TWIN_KEY, BACKDROP_WHOLE_KEY, BREAKPOINTS, Breakpoint, BreakpointQueryKind, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, COMPONENT_STATE_SELECTOR, CONTAINER_HTML_TAGS, CONTEXT_ACTION_TYPES, CURRENT_LINK_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ComponentState, ContainerComponent, ContextStore, DECORATIVE_TYPES, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_PHOSPHOR_WEIGHT, DEFAULT_WIDTH_BY_TYPE, DIALOG_CLOSE_ABOVE_ATTRIBUTE, DIALOG_NODE_TYPE, DeclarationContext, ENTRANCE_ACTION_TYPES, EXIT_ACTION_TYPES, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, HOVER_DEFAULT_TRANSITION, HOVER_STATES, INTERACTION_HIDDEN_ATTRIBUTE, IOX_BUILDER_EVENTS, IOX_FORM_MESSAGES, IOX_FORM_NAVIGATOR, IOX_FORM_TRANSPORT, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxDialogComponent, IoxFieldComponent, IoxFormComponent, IoxFormErrorComponent, IoxFormSuccessComponent, IoxPageComponent, IoxPageModule, IoxSubmitButtonComponent, IoxUiModule, IoxVideoComponent, LAST_EMITTED_STATES, LEGACY_DIRECTION_KEY, LEGACY_HOVER_TRANSITION, LEGACY_SWIPER_CONTROLS, LinkedContainerComponent, MANAGED_A11Y_ATTRIBUTES, MAX_LINES_KEY, NAMED_GROUP_ROLES, NO_PAGE_TRANSITION, ON_STATE_ROLES, PAGE_STYLE_TOKENS, PAGE_TOKEN_FALLBACKS, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PART_CLASS_NAMES, PART_PAGINATION_MODIFIER, PHONE_TRANSITION_QUERY, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PageStyleField, PageStyleSource, REDUCED_MOTION_QUERY, SCROLL_EASINGS, SLIDER_INPUTS_ATTRIBUTE, SLIDER_INPUT_NAMES, STATE_PSEUDO_CLASS, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_A11Y_OPTIONS, SWIPER_RESPONSIVE_TRAITS, SWIPER_TRIGGER_EVENTS, ScrollEasing, SectionComponent, SwiperModuleName, TARGETED_STATE_SUFFIX, TEXT_ALIGN_KEY, TEXT_DIRECTION_KEY, TRANSITION_FEELS, TextAlign, TextBlockComponent, VALIDATION_STATES, VALIDATION_STATE_CLASS, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, VisibilityActionType, activeActions, applyBindingPipes, applyFeel, bootSlider, breakpointDef, breakpointForWidth, breakpointQueryFor, buildInteractionKeyframes, buildPartSelector, buildSwiperBreakpoints, buildTargetedStateSelector, buildTargetedSuffixSelector, buildTransitionTimeline, cascadeChain, clearInputOverride, clearOverride, closeAboveMediaQuery, collectContextSlotKeys, compileDeclarations, compilePageStyle, componentStatesFor, composeVirtualTraits, containerHtmlTag, contextActionEffect, contextSlotKeys, countOverrides, declaredInputNames, decomposeBackdropFilter, defaultHoverTransition, defaultMessageResolver, deriveSeoFromContent, describePageStyle, describeSeoFields, dialogCloseAboveMinWidth, domHasSliderParts, effectiveActionType, effectiveTransitionId, entrancePreStateStyle, feelFor, finalKeyframe, getSeoValue, hasHoverState, hasOwnPageTransition, hasOwnTransition, initialSlotValues, isActionEnabled, isContextAction, isCurrentLink, isExternalOrFragment, isGradientPaint, isInputOverriddenAt, isLastEmittedStateKey, isOverriddenAt, isValidSlotKey, isWholeBackdropSet, keyframePropertyName, keyframeStyleEntries, legacyEnterToTransition, mediaQueryFor, mergeSwiperBreakpoints, migrateLegacyDirection, migrateLegacyTextAlign, motionAllowed, nearestCommonAncestorId, needsAccessibleName, needsGroupName, nodeA11yAttributes, nodeCssId, nodeTraitValue, nodeUsesContext, normalizeAppPath, normalizeGalleryImage, normalizeIconClass, orderStatesForEmit, pageTransitionOf, parentBreakpoint, parseUrlList, partClassName, planResponsiveRules, planScroll, planSwiperOptions, prefersReducedMotion, renderDefaultDeclarations, resetPageStyleField, resetSeoField, resolveBoundValue, resolveContextValue, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolvePageTransition, resolvePath, resolveSeo, resolveStateStyles, resolveStyleProps, resolveToggleVisibility, resolveValueChain, rewriteViewportUnits, safeSetInput, serializeA11yAttributes, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, sliderControlElements, sliderInputsFromProps, sliderInputsOf, stateNamesIn, statePseudoClass, stateSelectorSuffix, stripSuppressedProps, swiperAutoplayAllowed, swiperLoopOptions, swiperModuleNames, syncNodeA11yAttributes, targetedStateSelector, viewportTransitionContext, withContextSlots, withDefaultHoverTransition, wrapInBreakpointQuery, wrapInMediaQuery };
7940
8065
  //# sourceMappingURL=vectoriox-iox-ui.mjs.map