@vectoriox/iox-ui 5.84.0 → 5.86.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/actions-core/index.d.ts +47 -3
- package/composite-core/index.d.ts +93 -15
- package/design-core/index.d.ts +2013 -187
- package/fesm2022/vectoriox-iox-ui-actions-core.mjs +153 -70
- package/fesm2022/vectoriox-iox-ui-actions-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-composite-core.mjs +307 -39
- package/fesm2022/vectoriox-iox-ui-composite-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-design-core.mjs +2222 -85
- package/fesm2022/vectoriox-iox-ui-design-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-forms-core.mjs +27 -4
- package/fesm2022/vectoriox-iox-ui-forms-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-generation-core.mjs +250 -12
- package/fesm2022/vectoriox-iox-ui-generation-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-scene-core.mjs +101 -5
- package/fesm2022/vectoriox-iox-ui-scene-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui.mjs +1545 -78
- package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
- package/forms-core/index.d.ts +23 -4
- package/generation-core/index.d.ts +13 -0
- package/index.d.ts +563 -62
- package/package.json +1 -1
- package/scene-core/index.d.ts +32 -4
- package/src/actions-core/action.model.ts +1 -1
- package/src/actions-core/dialog-motion.ts +25 -0
- package/src/actions-core/dialog-opener.ts +9 -3
- package/src/actions-core/element-actions.ts +25 -1
- package/src/actions-core/popover-opener.ts +50 -0
- package/src/actions-core/public-api.ts +1 -0
- package/src/composite-core/header.ts +25 -0
- package/src/composite-core/public-api.ts +1 -0
- package/src/composite-core/slider-runtime.ts +82 -0
- package/src/composite-core/slider.ts +194 -27
- package/src/composite-core/structure.ts +14 -9
- package/src/design-core/flavor-spec.generated.ts +2145 -85
- package/src/design-core/header-behaviour.ts +76 -0
- package/src/design-core/public-api.ts +1 -0
- package/src/design-core/theme-color.ts +21 -5
- package/src/forms-core/submit-lifecycle.ts +30 -3
- package/src/generation-core/baseline-roles.ts +1 -0
- package/src/generation-core/compose-site.ts +8 -0
- package/src/generation-core/node-baselines.generated.ts +231 -11
- package/src/generation-core/patterns.ts +2 -0
- package/src/generation-core/site-spec.generated.ts +8 -0
- package/src/scene-core/scene.ts +18 -0
- package/src/scene-core/scroll-driver.ts +83 -6
- package/styles/iox-design.css +431 -1
- package/styles/iox-forms.css +29 -4
package/index.d.ts
CHANGED
|
@@ -719,7 +719,8 @@ declare function planResponsiveRules(styleProps: StyleMap | null | undefined, st
|
|
|
719
719
|
* shared boot). The slides render into `.swiper-wrapper` (`childrenHost` — the `.swiper-slide` direct-child invariant,
|
|
720
720
|
* slider.md); the control PARTS (CC3: Previous, Next, Pause, Pagination — `childHostFor`) render beside it, inside
|
|
721
721
|
* `.swiper`: those before the first slide before the wrapper, the rest after it. A saved slider with no parts keeps
|
|
722
|
-
* Swiper-drawn controls (the legacy switches). Swiper is booted by the ONE shared `bootSlider`.
|
|
722
|
+
* Swiper-drawn controls (the legacy switches). Swiper is booted by the ONE shared `bootSlider`. A slider the scroll plays
|
|
723
|
+
* (premium M4) sits in its runway — the string path writes the same `iox-slider-runway` wrapper.
|
|
723
724
|
*/
|
|
724
725
|
declare class ClientSliderContainerComponent implements AfterViewInit, OnDestroy {
|
|
725
726
|
private platformId;
|
|
@@ -764,6 +765,9 @@ declare class ClientSliderContainerComponent implements AfterViewInit, OnDestroy
|
|
|
764
765
|
responsive: ResponsiveOverrides | null;
|
|
765
766
|
/** The slider's controls are parts (set by the renderer from the node): Swiper draws none of its own. */
|
|
766
767
|
controlParts: boolean;
|
|
768
|
+
/** Premium M4: the scroll plays it — a runway (a Scene root the ONE driver drives) holds it mid-screen; otherwise the
|
|
769
|
+
* wrapper is `display: contents` and the slider lays out exactly as before. */
|
|
770
|
+
scrollPlays: boolean;
|
|
767
771
|
childrenHost: ViewContainerRef;
|
|
768
772
|
leadHost: ViewContainerRef;
|
|
769
773
|
trailHost: ViewContainerRef;
|
|
@@ -786,7 +790,7 @@ declare class ClientSliderContainerComponent implements AfterViewInit, OnDestroy
|
|
|
786
790
|
private boot;
|
|
787
791
|
private inputs;
|
|
788
792
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClientSliderContainerComponent, never>;
|
|
789
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClientSliderContainerComponent, "iox-slider-container", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "loop": { "alias": "loop"; "required": false; }; "slidesPerView": { "alias": "slidesPerView"; "required": false; }; "slidesPerGroup": { "alias": "slidesPerGroup"; "required": false; }; "spaceBetween": { "alias": "spaceBetween"; "required": false; }; "speed": { "alias": "speed"; "required": false; }; "effect": { "alias": "effect"; "required": false; }; "grabCursor": { "alias": "grabCursor"; "required": false; }; "centeredSlides": { "alias": "centeredSlides"; "required": false; }; "initialSlide": { "alias": "initialSlide"; "required": false; }; "autoHeight": { "alias": "autoHeight"; "required": false; }; "slideToClickedSlide": { "alias": "slideToClickedSlide"; "required": false; }; "freeMode": { "alias": "freeMode"; "required": false; }; "enableNavigation": { "alias": "enableNavigation"; "required": false; }; "enablePagination": { "alias": "enablePagination"; "required": false; }; "enableScrollbar": { "alias": "enableScrollbar"; "required": false; }; "enableAutoplay": { "alias": "enableAutoplay"; "required": false; }; "enableKeyboard": { "alias": "enableKeyboard"; "required": false; }; "enableMousewheel": { "alias": "enableMousewheel"; "required": false; }; "enableZoom": { "alias": "enableZoom"; "required": false; }; "enableGrid": { "alias": "enableGrid"; "required": false; }; "enableParallax": { "alias": "enableParallax"; "required": false; }; "autoplayDelay": { "alias": "autoplayDelay"; "required": false; }; "autoplayPauseOnMouseEnter": { "alias": "autoplayPauseOnMouseEnter"; "required": false; }; "autoplayDisableOnInteraction": { "alias": "autoplayDisableOnInteraction"; "required": false; }; "paginationType": { "alias": "paginationType"; "required": false; }; "paginationClickable": { "alias": "paginationClickable"; "required": false; }; "paginationDynamicBullets": { "alias": "paginationDynamicBullets"; "required": false; }; "navigationColor": { "alias": "navigationColor"; "required": false; }; "paginationColor": { "alias": "paginationColor"; "required": false; }; "gridRows": { "alias": "gridRows"; "required": false; }; "breakpoints": { "alias": "breakpoints"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "controlParts": { "alias": "controlParts"; "required": false; }; }, {}, never, never, false, never>;
|
|
793
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClientSliderContainerComponent, "iox-slider-container", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "loop": { "alias": "loop"; "required": false; }; "slidesPerView": { "alias": "slidesPerView"; "required": false; }; "slidesPerGroup": { "alias": "slidesPerGroup"; "required": false; }; "spaceBetween": { "alias": "spaceBetween"; "required": false; }; "speed": { "alias": "speed"; "required": false; }; "effect": { "alias": "effect"; "required": false; }; "grabCursor": { "alias": "grabCursor"; "required": false; }; "centeredSlides": { "alias": "centeredSlides"; "required": false; }; "initialSlide": { "alias": "initialSlide"; "required": false; }; "autoHeight": { "alias": "autoHeight"; "required": false; }; "slideToClickedSlide": { "alias": "slideToClickedSlide"; "required": false; }; "freeMode": { "alias": "freeMode"; "required": false; }; "enableNavigation": { "alias": "enableNavigation"; "required": false; }; "enablePagination": { "alias": "enablePagination"; "required": false; }; "enableScrollbar": { "alias": "enableScrollbar"; "required": false; }; "enableAutoplay": { "alias": "enableAutoplay"; "required": false; }; "enableKeyboard": { "alias": "enableKeyboard"; "required": false; }; "enableMousewheel": { "alias": "enableMousewheel"; "required": false; }; "enableZoom": { "alias": "enableZoom"; "required": false; }; "enableGrid": { "alias": "enableGrid"; "required": false; }; "enableParallax": { "alias": "enableParallax"; "required": false; }; "autoplayDelay": { "alias": "autoplayDelay"; "required": false; }; "autoplayPauseOnMouseEnter": { "alias": "autoplayPauseOnMouseEnter"; "required": false; }; "autoplayDisableOnInteraction": { "alias": "autoplayDisableOnInteraction"; "required": false; }; "paginationType": { "alias": "paginationType"; "required": false; }; "paginationClickable": { "alias": "paginationClickable"; "required": false; }; "paginationDynamicBullets": { "alias": "paginationDynamicBullets"; "required": false; }; "navigationColor": { "alias": "navigationColor"; "required": false; }; "paginationColor": { "alias": "paginationColor"; "required": false; }; "gridRows": { "alias": "gridRows"; "required": false; }; "breakpoints": { "alias": "breakpoints"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "controlParts": { "alias": "controlParts"; "required": false; }; "scrollPlays": { "alias": "scrollPlays"; "required": false; }; }, {}, never, never, false, never>;
|
|
790
794
|
}
|
|
791
795
|
|
|
792
796
|
/**
|
|
@@ -1172,6 +1176,16 @@ declare enum FormRenderState {
|
|
|
1172
1176
|
Success = "success",
|
|
1173
1177
|
Error = "error"
|
|
1174
1178
|
}
|
|
1179
|
+
/**
|
|
1180
|
+
* What a form shows once it has sent (premium M5, N3) — the Form's "After sending" choice:
|
|
1181
|
+
* - `message`: the success in place (M3): the fields leave, the Success block shows, Send reads "Sent" and stays so;
|
|
1182
|
+
* - `toast`: the fields STAY, cleared for the next answer, and a toast says the form's Sent words — a newsletter in a
|
|
1183
|
+
* footer, a form someone may send again.
|
|
1184
|
+
*/
|
|
1185
|
+
declare enum FormAfterSend {
|
|
1186
|
+
Message = "message",
|
|
1187
|
+
Toast = "toast"
|
|
1188
|
+
}
|
|
1175
1189
|
/**
|
|
1176
1190
|
* The fields a CLIENT needs to validate a form: never its actions (where submissions go — an email
|
|
1177
1191
|
* address, a webhook) and never its anti-spam settings. A string-rendered form carries this on
|
|
@@ -1321,6 +1335,9 @@ declare class IoxFormComponent implements OnChanges, OnInit {
|
|
|
1321
1335
|
get renderState(): FormRenderState | string;
|
|
1322
1336
|
private _renderState;
|
|
1323
1337
|
feedback: FeedbackTiming | string;
|
|
1338
|
+
/** After sending (premium M5): the success in place (`message`), or keep the fields and say it in a toast. */
|
|
1339
|
+
afterSend: FormAfterSend | string;
|
|
1340
|
+
get keepsFields(): boolean;
|
|
1324
1341
|
/**
|
|
1325
1342
|
* Move focus to the first field that failed, instead of leaving the visitor to hunt for red
|
|
1326
1343
|
* text. On by default — the single most valuable thing a failed submit can do.
|
|
@@ -1384,7 +1401,7 @@ declare class IoxFormComponent implements OnChanges, OnInit {
|
|
|
1384
1401
|
/** Focus the first field that failed and shake it once (premium N2 — Emil 134; none under reduced motion). */
|
|
1385
1402
|
private focusFirstInvalid;
|
|
1386
1403
|
static ɵfac: i0.ɵɵFactoryDeclaration<IoxFormComponent, [null, null, { optional: true; }, { optional: true; }]>;
|
|
1387
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<IoxFormComponent, "form[iox-form]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "renderState": { "alias": "renderState"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "focusFirstProblem": { "alias": "focusFirstProblem"; "required": false; }; "announceFailure": { "alias": "announceFailure"; "required": false; }; }, { "formSubmit": "formSubmit"; "validationFailed": "validationFailed"; }, never, never, false, never>;
|
|
1404
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IoxFormComponent, "form[iox-form]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "renderState": { "alias": "renderState"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "afterSend": { "alias": "afterSend"; "required": false; }; "focusFirstProblem": { "alias": "focusFirstProblem"; "required": false; }; "announceFailure": { "alias": "announceFailure"; "required": false; }; }, { "formSubmit": "formSubmit"; "validationFailed": "validationFailed"; }, never, never, false, never>;
|
|
1388
1405
|
}
|
|
1389
1406
|
|
|
1390
1407
|
/**
|
|
@@ -1617,9 +1634,28 @@ declare class IoxDialogComponent {
|
|
|
1617
1634
|
static ɵcmp: i0.ɵɵComponentDeclaration<IoxDialogComponent, "dialog[iox-dialog]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "consentRole": { "alias": "consentRole"; "required": false; }; }, {}, never, never, false, never>;
|
|
1618
1635
|
}
|
|
1619
1636
|
|
|
1637
|
+
/**
|
|
1638
|
+
* The Popover's LIVE twin on the engine's component path (premium components M5, N4). Directive-host: the panel IS the
|
|
1639
|
+
* host, carrying exactly the markup the string renderer writes — `data-iox-popover`, `popover="manual"` (closed in the
|
|
1640
|
+
* raw SSR with no script: the browser hides a popover until it is shown), `role="dialog"`, `tabindex="-1"` (focus moves
|
|
1641
|
+
* to the panel on open) and the side the author picked — so ONE runtime (`openPopover` / `closePopover`) treats both
|
|
1642
|
+
* paths alike. Its id and accessible name are the shared `nodeA11yAttributes`, applied by the engine.
|
|
1643
|
+
*/
|
|
1644
|
+
declare class IoxPopoverComponent {
|
|
1645
|
+
nodeId: string;
|
|
1646
|
+
placement: string;
|
|
1647
|
+
childrenHost: ViewContainerRef;
|
|
1648
|
+
get side(): string;
|
|
1649
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IoxPopoverComponent, never>;
|
|
1650
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IoxPopoverComponent, "div[iox-popover]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; }, {}, never, never, false, never>;
|
|
1651
|
+
}
|
|
1652
|
+
/** The attributes the string renderer writes on a Popover panel (beside its class, id and name) — the component's host
|
|
1653
|
+
* bindings, as data, so the two paths cannot drift. */
|
|
1654
|
+
declare function popoverPanelAttributes(placement: unknown): Record<string, string>;
|
|
1655
|
+
|
|
1620
1656
|
declare class IoxBuilderComponentsModule {
|
|
1621
1657
|
static ɵfac: i0.ɵɵFactoryDeclaration<IoxBuilderComponentsModule, never>;
|
|
1622
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<IoxBuilderComponentsModule, [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent, typeof ClientListComponent, typeof ClientListItemComponent, typeof ClientGalleryComponent, typeof IoxVideoComponent, typeof IoxFormComponent, typeof IoxFieldComponent, typeof IoxSubmitButtonComponent, typeof IoxFormSuccessComponent, typeof IoxFormErrorComponent, typeof IoxDialogComponent], [typeof i2.CommonModule], [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent, typeof ClientListComponent, typeof ClientListItemComponent, typeof ClientGalleryComponent, typeof IoxVideoComponent, typeof IoxFormComponent, typeof IoxFieldComponent, typeof IoxSubmitButtonComponent, typeof IoxFormSuccessComponent, typeof IoxFormErrorComponent, typeof IoxDialogComponent]>;
|
|
1658
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IoxBuilderComponentsModule, [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent, typeof ClientListComponent, typeof ClientListItemComponent, typeof ClientGalleryComponent, typeof IoxVideoComponent, typeof IoxFormComponent, typeof IoxFieldComponent, typeof IoxSubmitButtonComponent, typeof IoxFormSuccessComponent, typeof IoxFormErrorComponent, typeof IoxDialogComponent, typeof IoxPopoverComponent], [typeof i2.CommonModule], [typeof BuilderImageComponent, typeof BuilderSpacerComponent, typeof CardComponent, typeof BuilderDividerComponent, typeof BuilderIconComponent, typeof BuilderLinkComponent, typeof BuilderButtonComponent, typeof BuilderHeadingComponent, typeof TextBlockComponent, typeof SectionComponent, typeof ContainerComponent, typeof LinkedContainerComponent, typeof ClientRepeaterComponent, typeof ButtonBlockComponent, typeof ClientSliderContainerComponent, typeof ClientSliderSlideComponent, typeof ClientListComponent, typeof ClientListItemComponent, typeof ClientGalleryComponent, typeof IoxVideoComponent, typeof IoxFormComponent, typeof IoxFieldComponent, typeof IoxSubmitButtonComponent, typeof IoxFormSuccessComponent, typeof IoxFormErrorComponent, typeof IoxDialogComponent, typeof IoxPopoverComponent]>;
|
|
1623
1659
|
static ɵinj: i0.ɵɵInjectorDeclaration<IoxBuilderComponentsModule>;
|
|
1624
1660
|
}
|
|
1625
1661
|
|
|
@@ -1728,6 +1764,8 @@ interface SliderInputs {
|
|
|
1728
1764
|
gridRows?: number | string;
|
|
1729
1765
|
breakpoints?: string;
|
|
1730
1766
|
responsive?: ResponsiveOverrides | null;
|
|
1767
|
+
/** Premium M4: the scroll plays it — held mid-screen, resting on each picture; no swipe, no loop, no autoplay. */
|
|
1768
|
+
scrollPlays?: boolean;
|
|
1731
1769
|
}
|
|
1732
1770
|
/** The slider's controls, when they are PARTS (CC3) — the elements Swiper is handed. */
|
|
1733
1771
|
interface SliderControlElements {
|
|
@@ -1759,6 +1797,17 @@ declare const LEGACY_SWIPER_CONTROLS: {
|
|
|
1759
1797
|
readonly pagination: ".swiper-pagination";
|
|
1760
1798
|
readonly scrollbar: ".swiper-scrollbar";
|
|
1761
1799
|
};
|
|
1800
|
+
/**
|
|
1801
|
+
* The feel every live slider gets (premium M4, T3 — Emil 114/121): past either end a drag meets friction, not a wall
|
|
1802
|
+
* (resistance), and a swipe commits only after a few px of travel, so a vertical scroll that drifts never moves a slide.
|
|
1803
|
+
* The easing of the slides is the look's (`slider-ease`, iox-design.css).
|
|
1804
|
+
*/
|
|
1805
|
+
declare const SLIDER_FEEL: {
|
|
1806
|
+
readonly resistanceRatio: 0.65;
|
|
1807
|
+
readonly threshold: 6;
|
|
1808
|
+
};
|
|
1809
|
+
/** At or under this width one picture takes the full width (M1.3) unless the author said otherwise there. */
|
|
1810
|
+
declare const SLIDER_PHONE_BREAKPOINT = "mobile";
|
|
1762
1811
|
/** The pagination part's classes — Swiper's own position CSS (`.swiper-pagination-bullets.swiper-pagination-horizontal`)
|
|
1763
1812
|
* must not pin a PART: its place is its own styles'. The dots keep Swiper's bullet class. */
|
|
1764
1813
|
declare const PART_PAGINATION_MODIFIER = "iox-slider-pagination-";
|
|
@@ -1767,6 +1816,12 @@ declare function swiperLoopOptions(loop: unknown): {
|
|
|
1767
1816
|
loop: boolean;
|
|
1768
1817
|
rewind: boolean;
|
|
1769
1818
|
};
|
|
1819
|
+
/**
|
|
1820
|
+
* One picture the full width on a phone (M1.3) — the default the M1 prototype proved: a 1.15 "peek" left an empty strip
|
|
1821
|
+
* beside the picture. Added as a phone layer only where the author set no slides-per-view at a phone width; an effect
|
|
1822
|
+
* that shows one slide anyway keeps its own (a "cards" stack stays a centred card, iox-design.css).
|
|
1823
|
+
*/
|
|
1824
|
+
declare function withPhoneDefaults(inputs: SliderInputs): ResponsiveOverrides | null;
|
|
1770
1825
|
declare function planSwiperOptions(inputs: SliderInputs, ctx: SwiperPlanContext): SwiperPlan;
|
|
1771
1826
|
|
|
1772
1827
|
/**
|
|
@@ -1795,6 +1850,19 @@ declare function sliderControlElements(el: Element): {
|
|
|
1795
1850
|
/** True when the rendered slider holds any control part (the model's `hasSliderParts`, read off the DOM). */
|
|
1796
1851
|
declare function domHasSliderParts(el: Element): boolean;
|
|
1797
1852
|
declare function bootSlider(el: HTMLElement, inputs: SliderInputs, options?: SliderBootOptions): Promise<any>;
|
|
1853
|
+
/** The element a slider the scroll plays is held in: its runway, the Scene root the ONE driver drives (premium M4). */
|
|
1854
|
+
declare const SLIDER_RUNWAY_CLASS = "iox-slider-runway";
|
|
1855
|
+
/** The runway's steps (slides − 1): how many half-screens of scroll it reserves (iox-design.css). */
|
|
1856
|
+
declare const SLIDER_STEPS_PROPERTY = "--slider-steps";
|
|
1857
|
+
/**
|
|
1858
|
+
* The runway a slider the scroll plays sits in — ONE answer for the string path (it writes this wrapper, steps known at
|
|
1859
|
+
* render, so the page never shifts) and the component path (the same class and Scene root; its boot writes the steps).
|
|
1860
|
+
* Null when the scroll does not play it.
|
|
1861
|
+
*/
|
|
1862
|
+
declare function sliderRunwayHtml(inputs: SliderInputs | null | undefined, slideCount: number): {
|
|
1863
|
+
open: string;
|
|
1864
|
+
close: string;
|
|
1865
|
+
} | null;
|
|
1798
1866
|
/** The inputs a string-path slider carries (`data-iox-slider`), or null. */
|
|
1799
1867
|
declare function sliderInputsOf(el: Element): SliderInputs | null;
|
|
1800
1868
|
/** The Swiper inputs of a saved SliderContainer node — what the string path serialises into `data-iox-slider`. */
|
|
@@ -1822,12 +1890,6 @@ declare function sliderInputsFromProps(props: Record<string, unknown>, responsiv
|
|
|
1822
1890
|
* `1vh` / `1vw` fallbacks restore native browser behaviour.
|
|
1823
1891
|
*/
|
|
1824
1892
|
declare function rewriteViewportUnits(value: string): string;
|
|
1825
|
-
/**
|
|
1826
|
-
* Style props a type's render-default fully REPLACES. Emitting them would produce a dead
|
|
1827
|
-
* declaration that is immediately overridden in the same rule (e.g. an Icon's serialised
|
|
1828
|
-
* `lineHeight: 1.5` followed by the forced `line-height: 1`), so callers strip them first via
|
|
1829
|
-
* {@link stripSuppressedProps} and let renderDefaultDeclarations supply the real value.
|
|
1830
|
-
*/
|
|
1831
1893
|
declare const SUPPRESSED_STYLE_PROPS_BY_TYPE: Readonly<Record<string, readonly string[]>>;
|
|
1832
1894
|
/** Remove the style props whose value a type's render-default always overrides. Returns the map
|
|
1833
1895
|
* unchanged (same reference) when the type suppresses nothing. */
|
|
@@ -1958,10 +2020,17 @@ type StateMaps = Record<string, Record<string, any> | undefined> | null | undefi
|
|
|
1958
2020
|
declare function stateTransitionProperties(stateStyles: StateMaps, responsive?: Record<string, {
|
|
1959
2021
|
stateStyles?: StateMaps;
|
|
1960
2022
|
} | undefined> | null, type?: string | null): string[];
|
|
2023
|
+
/**
|
|
2024
|
+
* What an element style animates beyond the properties its states change (premium M4): a link's underline is DRAWN by
|
|
2025
|
+
* the shared CSS (`iox-design.css`) as a background line that grows from the reading start on hover — its growth is a
|
|
2026
|
+
* `background-size` the node's own transition must name, or it would jump.
|
|
2027
|
+
*/
|
|
2028
|
+
declare const ELEMENT_STYLE_TRANSITION_EXTRAS: Readonly<Record<string, ReadonlyArray<string>>>;
|
|
1961
2029
|
/**
|
|
1962
2030
|
* `styleProps` as a renderer compiles them: a hovering node with no timing of its own takes the default hover timing,
|
|
1963
|
-
* and a node whose transition names no properties gets the ones its states change
|
|
1964
|
-
* (or a raw `transition`) always wins. Pure:
|
|
2031
|
+
* and a node whose transition names no properties gets the ones its states change (and what its element style draws,
|
|
2032
|
+
* `ELEMENT_STYLE_TRANSITION_EXTRAS`). An author's own `transitionProperty` (or a raw `transition`) always wins. Pure:
|
|
2033
|
+
* the node's stored styles are never touched.
|
|
1965
2034
|
*/
|
|
1966
2035
|
declare function withStateTransitions(styleProps: Record<string, any>, stateStyles: StateMaps, elementStyle?: string | null, responsive?: Record<string, {
|
|
1967
2036
|
stateStyles?: StateMaps;
|
|
@@ -2301,6 +2370,98 @@ declare function normalizeAppPath(path: string | null | undefined, baseHref?: st
|
|
|
2301
2370
|
/** Whether `href` points at the page at `currentPath` (both app-relative, or absolute under `baseHref`). */
|
|
2302
2371
|
declare function isCurrentLink(href: string | null | undefined, currentPath: string | null | undefined, options?: CurrentLinkOptions): boolean;
|
|
2303
2372
|
|
|
2373
|
+
/**
|
|
2374
|
+
* Reduced motion (CC1, R1 — complex-components plan §2d). The token sheet already collapses the
|
|
2375
|
+
* motion tokens under `prefers-reduced-motion`; everything that moves through SCRIPT must ask the
|
|
2376
|
+
* same question, and ask it HERE: the interaction engines (builder canvas + live site), the Slider's
|
|
2377
|
+
* autoplay and the Gallery's crossfade loop. Publishable gate #6: reduced motion = motion dial 0.
|
|
2378
|
+
*/
|
|
2379
|
+
declare const REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
|
|
2380
|
+
/** Anything with `matchMedia` — a window, or a stub in a spec. */
|
|
2381
|
+
interface MatchMediaHost {
|
|
2382
|
+
matchMedia?: (query: string) => {
|
|
2383
|
+
matches: boolean;
|
|
2384
|
+
};
|
|
2385
|
+
}
|
|
2386
|
+
/** True when the visitor asked their system for reduced motion. No `matchMedia` (SSR) → false. */
|
|
2387
|
+
declare function prefersReducedMotion(host?: MatchMediaHost | null | undefined): boolean;
|
|
2388
|
+
/** True when script may animate. The ONE question every runtime asks before moving anything. */
|
|
2389
|
+
declare function motionAllowed(host?: MatchMediaHost | null | undefined): boolean;
|
|
2390
|
+
|
|
2391
|
+
/** How far the page has to move before it counts as scrolled — past a trackpad's rest jitter. */
|
|
2392
|
+
declare const SCROLLED_THRESHOLD_PX = 8;
|
|
2393
|
+
/** True once `offset` has passed the threshold. */
|
|
2394
|
+
declare function isScrolled(offset: number, threshold?: number): boolean;
|
|
2395
|
+
/** Anything that scrolls: a window (`scrollY`) or an element (`scrollTop`). */
|
|
2396
|
+
interface ScrollSource {
|
|
2397
|
+
addEventListener(type: 'scroll', fn: () => void, options?: AddEventListenerOptions): void;
|
|
2398
|
+
removeEventListener(type: 'scroll', fn: () => void): void;
|
|
2399
|
+
scrollY?: number;
|
|
2400
|
+
scrollTop?: number;
|
|
2401
|
+
}
|
|
2402
|
+
/**
|
|
2403
|
+
* Keep `SCROLLED_ATTRIBUTE` on `target` while `source` has scrolled past the threshold — what the Scrolled state (G4)
|
|
2404
|
+
* compiles against, on the live site (the window → the document element) and on the canvas (its scroller → the page).
|
|
2405
|
+
* One passive listener, read once per frame, written only when it changes. Returns the stop.
|
|
2406
|
+
*/
|
|
2407
|
+
declare function watchScrolled(source: ScrollSource, target: Element, threshold?: number): () => void;
|
|
2408
|
+
|
|
2409
|
+
/**
|
|
2410
|
+
* A header that HIDES (premium components T2, M4): it steps aside while the page scrolls down and comes back the moment
|
|
2411
|
+
* it scrolls up — ONE runtime for the live site (the window's scroll) and the builder canvas (its Lenis scroll, handed in
|
|
2412
|
+
* through `update`). It never moves while the visitor is inside it: keyboard focus in the header, or its own drawer
|
|
2413
|
+
* open, keeps it in place, and it is always there at the top of the page.
|
|
2414
|
+
*
|
|
2415
|
+
* Motion (Emil 30/41/52/59/192): `translate` only, from the live value (a run interrupted by a change of direction turns
|
|
2416
|
+
* back from where it is — never stacked); the exit is faster than the return (dur-fast out, dur-ui back, on the look's
|
|
2417
|
+
* standard easing — the tokens collapse with the look's motion); under reduced motion it fades in place (opacity, no
|
|
2418
|
+
* movement — gentler, not zero), and is not clickable while faded. The return RELEASES (no inline frame is left), the
|
|
2419
|
+
* hidden frame is held, as every exit in the product (M2's settle rule).
|
|
2420
|
+
*
|
|
2421
|
+
* A header that only STAYS needs no runtime: the shared CSS keeps it at the top (`iox-design.css`).
|
|
2422
|
+
*/
|
|
2423
|
+
/** Page px the scroll must travel in one direction before the header answers — past a trackpad's jitter. */
|
|
2424
|
+
declare const HEADER_SCROLL_HYSTERESIS_PX = 6;
|
|
2425
|
+
interface HeaderRuntimeOptions {
|
|
2426
|
+
/** Where reduced motion is asked (the window; a stub in a spec). */
|
|
2427
|
+
host?: MatchMediaHost | null;
|
|
2428
|
+
}
|
|
2429
|
+
/** `120ms` / `0.2s` → milliseconds; anything else → null. */
|
|
2430
|
+
declare function durationMs(value: string | null | undefined): number | null;
|
|
2431
|
+
/**
|
|
2432
|
+
* Whether a hiding header should step aside now: the page moved DOWN past the header's own height, the header is not
|
|
2433
|
+
* held (focus inside, its drawer open). Pure: the direction and the offsets come from the caller.
|
|
2434
|
+
*/
|
|
2435
|
+
declare function headerShouldHide(offset: number, delta: number, headerHeight: number, held: boolean): boolean;
|
|
2436
|
+
declare class HeaderRuntime {
|
|
2437
|
+
private readonly header;
|
|
2438
|
+
private readonly options;
|
|
2439
|
+
private lastOffset;
|
|
2440
|
+
private hidden;
|
|
2441
|
+
private height;
|
|
2442
|
+
private anim;
|
|
2443
|
+
private readonly resize;
|
|
2444
|
+
private readonly onFocusIn;
|
|
2445
|
+
constructor(header: HTMLElement, options?: HeaderRuntimeOptions);
|
|
2446
|
+
/** True while the header has stepped aside. */
|
|
2447
|
+
get isHidden(): boolean;
|
|
2448
|
+
/** The page now stands at `offset` page px (layout px — the canvas divides out its zoom). */
|
|
2449
|
+
update(offset: number): void;
|
|
2450
|
+
/** Back in place now, with no motion (a page change, the runtime going away). */
|
|
2451
|
+
reset(): void;
|
|
2452
|
+
destroy(): void;
|
|
2453
|
+
private held;
|
|
2454
|
+
private setHidden;
|
|
2455
|
+
}
|
|
2456
|
+
/** The headers that hide while the page scrolls down: in `root`, or among `elements` (each, and what it holds — what a
|
|
2457
|
+
* runtime instance owns: the page's nodes or the globals'). */
|
|
2458
|
+
declare function hidingHeadersIn(root: ParentNode | Iterable<Element>): HTMLElement[];
|
|
2459
|
+
/**
|
|
2460
|
+
* The live site's door: every hiding header in `root` (or among `elements`) follows `source` (the window), through ONE
|
|
2461
|
+
* passive listener read once per frame. Returns the stop.
|
|
2462
|
+
*/
|
|
2463
|
+
declare function watchHeaders(source: ScrollSource, root: ParentNode | Iterable<Element>, options?: HeaderRuntimeOptions): () => void;
|
|
2464
|
+
|
|
2304
2465
|
/**
|
|
2305
2466
|
* The content traits the accessibility attributes are read from (CC1). Import-free on purpose: the
|
|
2306
2467
|
* builder's component configs declare these traits, and the node-baseline generator bundles those
|
|
@@ -2310,10 +2471,21 @@ declare enum A11yTrait {
|
|
|
2310
2471
|
/** "Accessibility ▸ Accessible name" — the name of an icon-only control (and of a Dialog). */
|
|
2311
2472
|
AccessibleName = "ariaLabel",
|
|
2312
2473
|
/** A Dialog's "Close when wider than": a breakpoint id, or empty = never. */
|
|
2313
|
-
CloseAbove = "closeAbove"
|
|
2474
|
+
CloseAbove = "closeAbove",
|
|
2475
|
+
/** "Tooltip ▸ Words" (premium M5): words for a control that has none of its own. */
|
|
2476
|
+
Tooltip = "tooltip",
|
|
2477
|
+
/** "Tooltip ▸ Side": above (default) · below · start · end. */
|
|
2478
|
+
TooltipPlacement = "tooltipPlacement"
|
|
2314
2479
|
}
|
|
2315
2480
|
/** The types that carry an Accessible name trait. */
|
|
2316
2481
|
declare const ACCESSIBLE_NAME_TYPES: ReadonlyArray<string>;
|
|
2482
|
+
/** The types that carry a Tooltip (premium M5): the controls — a button, a linked box, a link (a gallery's arrows are
|
|
2483
|
+
* ButtonBlocks). Not a Text or an Image: a tooltip on something that takes no focus is invisible to a keyboard. */
|
|
2484
|
+
declare const TOOLTIP_TYPES: ReadonlyArray<string>;
|
|
2485
|
+
/** The attribute a tooltip's words travel on (the raw SSR carries it; the tooltip runtime reads it). */
|
|
2486
|
+
declare const TOOLTIP_ATTRIBUTE = "data-iox-tooltip";
|
|
2487
|
+
/** The side it asks for, when not the default (above). */
|
|
2488
|
+
declare const TOOLTIP_PLACEMENT_ATTRIBUTE = "data-iox-tooltip-placement";
|
|
2317
2489
|
/** The types that link to a page and can therefore be the current page's link. */
|
|
2318
2490
|
declare const CURRENT_LINK_TYPES: ReadonlyArray<string>;
|
|
2319
2491
|
|
|
@@ -2332,6 +2504,8 @@ declare const DIALOG_NODE_TYPE = "Dialog";
|
|
|
2332
2504
|
declare const NAMED_GROUP_ROLES: ReadonlyArray<string>;
|
|
2333
2505
|
/** Carries the min-width (px) at which an open dialog closes itself; the engine listens on it. */
|
|
2334
2506
|
declare const DIALOG_CLOSE_ABOVE_ATTRIBUTE = "data-iox-dialog-close-above";
|
|
2507
|
+
/** A slide's caption (premium M4, T3): the Slider's Caption part shows the caption of the slide in view. */
|
|
2508
|
+
declare const SLIDE_CAPTION_ATTRIBUTE = "data-iox-caption";
|
|
2335
2509
|
declare enum A11yAttribute {
|
|
2336
2510
|
Label = "aria-label",
|
|
2337
2511
|
Hidden = "aria-hidden",
|
|
@@ -2369,6 +2543,8 @@ interface NodeA11yContext {
|
|
|
2369
2543
|
}
|
|
2370
2544
|
/** The attributes a node renders. */
|
|
2371
2545
|
declare function nodeA11yAttributes(node: A11yNodeSource | null | undefined, ctx?: NodeA11yContext): Record<string, string>;
|
|
2546
|
+
/** The node's tooltip words (premium M5), trimmed, or '' — only on the types that carry one. */
|
|
2547
|
+
declare function tooltipWords(node: A11yNodeSource | null | undefined): string;
|
|
2372
2548
|
/** The attributes as an HTML string fragment (` name="value"`…) for a string renderer. */
|
|
2373
2549
|
declare function serializeA11yAttributes(attrs: Readonly<Record<string, string>>, escape: (v: string) => string): string;
|
|
2374
2550
|
/**
|
|
@@ -2395,24 +2571,6 @@ declare function needsGroupName(node: (A11yNodeSource & {
|
|
|
2395
2571
|
role?: string | null;
|
|
2396
2572
|
}) | null | undefined): boolean;
|
|
2397
2573
|
|
|
2398
|
-
/**
|
|
2399
|
-
* Reduced motion (CC1, R1 — complex-components plan §2d). The token sheet already collapses the
|
|
2400
|
-
* motion tokens under `prefers-reduced-motion`; everything that moves through SCRIPT must ask the
|
|
2401
|
-
* same question, and ask it HERE: the interaction engines (builder canvas + live site), the Slider's
|
|
2402
|
-
* autoplay and the Gallery's crossfade loop. Publishable gate #6: reduced motion = motion dial 0.
|
|
2403
|
-
*/
|
|
2404
|
-
declare const REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
|
|
2405
|
-
/** Anything with `matchMedia` — a window, or a stub in a spec. */
|
|
2406
|
-
interface MatchMediaHost {
|
|
2407
|
-
matchMedia?: (query: string) => {
|
|
2408
|
-
matches: boolean;
|
|
2409
|
-
};
|
|
2410
|
-
}
|
|
2411
|
-
/** True when the visitor asked their system for reduced motion. No `matchMedia` (SSR) → false. */
|
|
2412
|
-
declare function prefersReducedMotion(host?: MatchMediaHost | null | undefined): boolean;
|
|
2413
|
-
/** True when script may animate. The ONE question every runtime asks before moving anything. */
|
|
2414
|
-
declare function motionAllowed(host?: MatchMediaHost | null | undefined): boolean;
|
|
2415
|
-
|
|
2416
2574
|
/**
|
|
2417
2575
|
* Scrolling (AI plan rev 3.1 §3p, MO-D1/MO-D7): the look's `scroll` choice → the options the ONE page
|
|
2418
2576
|
* scroller starts Lenis with, or `null` for the browser's own scrolling. The table is the contract's
|
|
@@ -2644,24 +2802,6 @@ declare function splitPressFeedback<T extends PressAction>(actions: ReadonlyArra
|
|
|
2644
2802
|
onClick: T[];
|
|
2645
2803
|
};
|
|
2646
2804
|
|
|
2647
|
-
/** How far the page has to move before it counts as scrolled — past a trackpad's rest jitter. */
|
|
2648
|
-
declare const SCROLLED_THRESHOLD_PX = 8;
|
|
2649
|
-
/** True once `offset` has passed the threshold. */
|
|
2650
|
-
declare function isScrolled(offset: number, threshold?: number): boolean;
|
|
2651
|
-
/** Anything that scrolls: a window (`scrollY`) or an element (`scrollTop`). */
|
|
2652
|
-
interface ScrollSource {
|
|
2653
|
-
addEventListener(type: 'scroll', fn: () => void, options?: AddEventListenerOptions): void;
|
|
2654
|
-
removeEventListener(type: 'scroll', fn: () => void): void;
|
|
2655
|
-
scrollY?: number;
|
|
2656
|
-
scrollTop?: number;
|
|
2657
|
-
}
|
|
2658
|
-
/**
|
|
2659
|
-
* Keep `SCROLLED_ATTRIBUTE` on `target` while `source` has scrolled past the threshold — what the Scrolled state (G4)
|
|
2660
|
-
* compiles against, on the live site (the window → the document element) and on the canvas (its scroller → the page).
|
|
2661
|
-
* One passive listener, read once per frame, written only when it changes. Returns the stop.
|
|
2662
|
-
*/
|
|
2663
|
-
declare function watchScrolled(source: ScrollSource, target: Element, threshold?: number): () => void;
|
|
2664
|
-
|
|
2665
2805
|
/**
|
|
2666
2806
|
* page-style — the ONE compiler that turns a page's style settings into CSS.
|
|
2667
2807
|
*
|
|
@@ -3718,7 +3858,7 @@ declare const CALENDAR_CLOSING_ATTRIBUTE = "data-iox-closing";
|
|
|
3718
3858
|
declare const CALENDAR_INSTANT_ATTRIBUTE = "data-iox-instant";
|
|
3719
3859
|
/** On the panel the builder canvas draws for its design-time Open state (in the flow, inert). */
|
|
3720
3860
|
declare const CALENDAR_DESIGN_ATTRIBUTE = "data-iox-cal-design";
|
|
3721
|
-
/** A phone gets the sheet (the drawer curve, the scrim) — the
|
|
3861
|
+
/** A phone gets the sheet (the drawer curve, the scrim) — the floating family's ONE decision (a popover too). */
|
|
3722
3862
|
declare const CALENDAR_SHEET_QUERY = "(max-width: 767px)";
|
|
3723
3863
|
/** The language the field speaks: the host's, the nearest `[lang]`, the document's. */
|
|
3724
3864
|
declare function fieldLanguage(field: Element, lang?: string | null): string;
|
|
@@ -3792,15 +3932,16 @@ declare const SHAKE_EASING = "cubic-bezier(0.23, 1, 0.32, 1)";
|
|
|
3792
3932
|
declare function shakeElement(el: Element | null | undefined, reducedMotion?: boolean): Animation | null;
|
|
3793
3933
|
|
|
3794
3934
|
/**
|
|
3795
|
-
* placeFloating — where a panel anchored to a control goes (premium components N8
|
|
3935
|
+
* placeFloating — where a panel anchored to a control goes (premium components N8; M5's tooltip and popover).
|
|
3796
3936
|
*
|
|
3797
|
-
* ONE pure decision for every floating panel:
|
|
3798
|
-
*
|
|
3799
|
-
*
|
|
3800
|
-
*
|
|
3937
|
+
* ONE pure decision for every floating panel: on the side the caller prefers (under its anchor by default; a tooltip
|
|
3938
|
+
* above), flipped to the opposite side when the preferred one has no room and the other has more; lined up with the
|
|
3939
|
+
* anchor's reading start (the left edge in LTR, the right in RTL) or centred on it; held inside the viewport with a
|
|
3940
|
+
* margin; and the transform-origin AT the anchor, so the panel grows from the control that opened it (Emil 47) — even
|
|
3941
|
+
* when the clamp moved it sideways.
|
|
3801
3942
|
*
|
|
3802
|
-
* Lives in the main entry: nothing server-side places a panel
|
|
3803
|
-
*
|
|
3943
|
+
* Lives in the main entry: nothing server-side places a panel; the date picker, the tooltip and the popover are DOM
|
|
3944
|
+
* runtimes of the main entry. Pure — no DOM read here: the caller measures, this decides, the caller writes.
|
|
3804
3945
|
*/
|
|
3805
3946
|
interface FloatingRect {
|
|
3806
3947
|
top: number;
|
|
@@ -3816,31 +3957,391 @@ interface FloatingViewport {
|
|
|
3816
3957
|
width: number;
|
|
3817
3958
|
height: number;
|
|
3818
3959
|
}
|
|
3960
|
+
/** The side of the anchor the panel sits on. Start / End follow the reading direction (Start is the left in LTR). */
|
|
3819
3961
|
declare enum FloatingSide {
|
|
3820
3962
|
Below = "below",
|
|
3821
|
-
Above = "above"
|
|
3963
|
+
Above = "above",
|
|
3964
|
+
Start = "start",
|
|
3965
|
+
End = "end"
|
|
3966
|
+
}
|
|
3967
|
+
/** How the panel lines up with its anchor across the side: at the anchor's reading start (top, for a Start / End
|
|
3968
|
+
* panel), or centred on it (a tooltip). */
|
|
3969
|
+
declare enum FloatingAlign {
|
|
3970
|
+
Start = "start",
|
|
3971
|
+
Center = "center"
|
|
3822
3972
|
}
|
|
3823
3973
|
interface FloatingOptions {
|
|
3824
3974
|
/** Space between the anchor and the panel. */
|
|
3825
3975
|
gap?: number;
|
|
3826
3976
|
/** Space the panel always keeps from the viewport's edges. */
|
|
3827
3977
|
margin?: number;
|
|
3828
|
-
/** Right-to-left: the panel lines up with the anchor's right edge. */
|
|
3978
|
+
/** Right-to-left: Start is the right side, and a start-aligned panel lines up with the anchor's right edge. */
|
|
3829
3979
|
rtl?: boolean;
|
|
3980
|
+
/** The side the panel prefers (Below when absent). */
|
|
3981
|
+
side?: FloatingSide;
|
|
3982
|
+
/** Start (default) or Center. */
|
|
3983
|
+
align?: FloatingAlign;
|
|
3830
3984
|
}
|
|
3831
3985
|
interface FloatingPlacement {
|
|
3832
3986
|
top: number;
|
|
3833
3987
|
left: number;
|
|
3988
|
+
/** The side it ended on (the preferred one, or its opposite after a flip). */
|
|
3834
3989
|
side: FloatingSide;
|
|
3835
|
-
/** A CSS transform-origin in the panel's own box, pointing at the anchor
|
|
3990
|
+
/** A CSS transform-origin in the panel's own box, pointing at the anchor. */
|
|
3836
3991
|
origin: string;
|
|
3837
3992
|
}
|
|
3838
3993
|
/** Emil's popover spacing: close enough to read as the control's, clear of its focus ring. */
|
|
3839
3994
|
declare const FLOATING_GAP = 8;
|
|
3840
3995
|
/** The viewport margin — a panel never touches the screen's edge. */
|
|
3841
3996
|
declare const FLOATING_MARGIN = 12;
|
|
3997
|
+
/**
|
|
3998
|
+
* Where a floating panel stops being a panel and becomes a bottom sheet (the date picker's calendar, a popover): a
|
|
3999
|
+
* phone. ONE decision, the width the shared CSS keys its sheets on.
|
|
4000
|
+
*/
|
|
4001
|
+
declare const FLOATING_SHEET_QUERY = "(max-width: 767px)";
|
|
3842
4002
|
/** Where `panel` goes beside `anchor` inside `viewport`. */
|
|
3843
4003
|
declare function placeFloating(anchor: FloatingRect, panel: FloatingSize, viewport: FloatingViewport, options?: FloatingOptions): FloatingPlacement;
|
|
4004
|
+
/**
|
|
4005
|
+
* A screen rect in the coordinates of a LAYER — a box that fills the viewport on the live site (scale 1, at 0,0) and
|
|
4006
|
+
* the page frame on the builder canvas (offset, zoomed). The floating runtimes place inside a layer, so one placement
|
|
4007
|
+
* serves both; `layerRect` is the layer's screen rect and `scale` its zoom (its screen width over its layout width).
|
|
4008
|
+
*/
|
|
4009
|
+
declare function toLayerRect(rect: FloatingRect, layerRect: Pick<FloatingRect, 'top' | 'left'>, scale?: number): FloatingRect;
|
|
4010
|
+
|
|
4011
|
+
/**
|
|
4012
|
+
* THE FLOATING LAYER (premium components M5) — the one box tooltips and toasts are placed in.
|
|
4013
|
+
*
|
|
4014
|
+
* On the live site it is a `popover="manual"` element in the TOP LAYER, filling the viewport: above a fixed header, a
|
|
4015
|
+
* slider's `overflow: hidden`, a nav's `backdrop-filter` (which would otherwise contain anything fixed inside it).
|
|
4016
|
+
* Each SCOPE has its own layer — the document's body, or an open modal `<dialog>` (a tooltip on a lightbox's arrow, a
|
|
4017
|
+
* toast raised from a drawer's form): a layer inside the dialog is shown after it, so it sits above it in the top
|
|
4018
|
+
* layer, it is not inert behind it, and it inherits the dialog's tokens and scheme through the DOM.
|
|
4019
|
+
* On the builder canvas it is a plain `position: fixed` box inside the transformed page frame, which CONTAINS it — so
|
|
4020
|
+
* it fills the frame and zooms with it; nothing is drawn over the builder's own panels.
|
|
4021
|
+
*
|
|
4022
|
+
* Every placement is made in the layer's own px (`layerFrame` + `toLayerRect`), so the site and the canvas share it.
|
|
4023
|
+
*/
|
|
4024
|
+
declare const FLOATING_LAYER_CLASS = "iox-float-layer";
|
|
4025
|
+
interface FloatingLayerOptions {
|
|
4026
|
+
/** Where the layer lives when the trigger is in no open dialog: the body on the site; on the canvas the token scope
|
|
4027
|
+
* the element sits in (the page frame, or the globals' overlay) — a function of the element it was raised from. */
|
|
4028
|
+
container?: Element | null | ((from: Element | null) => Element | null);
|
|
4029
|
+
/** True on the live site (a top-layer popover); false on the canvas (contained by the zoomed frame). */
|
|
4030
|
+
topLayer?: boolean;
|
|
4031
|
+
}
|
|
4032
|
+
/** The layer's frame: where it is on screen, its zoom, and its own size — the viewport a placement keeps inside. */
|
|
4033
|
+
interface LayerFrame {
|
|
4034
|
+
rect: {
|
|
4035
|
+
top: number;
|
|
4036
|
+
left: number;
|
|
4037
|
+
};
|
|
4038
|
+
scale: number;
|
|
4039
|
+
viewport: FloatingViewport;
|
|
4040
|
+
}
|
|
4041
|
+
/** True when the browser has the Popover API (jsdom and old engines do not — they open by `hidden`). */
|
|
4042
|
+
declare function canPopover(el: Element): boolean;
|
|
4043
|
+
/** True while a `popover` element is shown in the top layer. */
|
|
4044
|
+
declare function isOpenPopover(el: Element): boolean;
|
|
4045
|
+
/** Show a `popover` element in the top layer; an element without the API is un-hidden instead. */
|
|
4046
|
+
declare function showInTopLayer(el: HTMLElement): void;
|
|
4047
|
+
/** Take a `popover` element out of the top layer (or hide it). */
|
|
4048
|
+
declare function hideFromTopLayer(el: HTMLElement): void;
|
|
4049
|
+
/** The scope a floating element raised from `from` belongs to: its closest open modal dialog, else the container. */
|
|
4050
|
+
declare function floatingScope(from: Element | null | undefined, options?: FloatingLayerOptions): Element | null;
|
|
4051
|
+
/** The layer of a scope — created on first use, raised into the top layer when the site asks for it. */
|
|
4052
|
+
declare function floatingLayer(scope: Element, options?: FloatingLayerOptions): HTMLElement;
|
|
4053
|
+
/** Show a top-layer layer (again): a layer closed by a scope change, or one a later modal dialog now covers. */
|
|
4054
|
+
declare function raiseFloatingLayer(layer: HTMLElement): void;
|
|
4055
|
+
/** The layer's frame. On the site: (0, 0), scale 1, the viewport. On the canvas: the frame's corner, its zoom, its px. */
|
|
4056
|
+
declare function layerFrame(layer: HTMLElement): LayerFrame;
|
|
4057
|
+
/** An element's screen rect in the layer's px. */
|
|
4058
|
+
declare function rectInLayer(el: Element, frame: LayerFrame): FloatingRect;
|
|
4059
|
+
|
|
4060
|
+
/**
|
|
4061
|
+
* THE TOOLTIP (premium components M5, N4) — words for a control that has none of its own (an icon button, a gallery
|
|
4062
|
+
* arrow). ONE DOM runtime for the live site (both engine paths) and the builder canvas; the trigger carries what the
|
|
4063
|
+
* shared `nodeA11yAttributes` rendered (`data-iox-tooltip`, `data-iox-tooltip-placement`), so the raw SSR already says it.
|
|
4064
|
+
*
|
|
4065
|
+
* - Shows on HOVER for a mouse or a pen (never a finger — a tap is not a hover) and on KEYBOARD focus
|
|
4066
|
+
* (`:focus-visible`), never on a tap. A press, Esc, a scroll or leaving hides it.
|
|
4067
|
+
* - The first waits (`TOOLTIP_FIRST_DELAY_MS`); while one is open, or within `TOOLTIP_WARM_MS` of one closing, the next
|
|
4068
|
+
* opens AT ONCE with no motion (Emil 125). Keyboard focus opens at once, with no motion (Emil 2).
|
|
4069
|
+
* - Grows from its trigger (the origin `placeFloating` gives, Emil 47/124); leaves faster than it came (Emil 30).
|
|
4070
|
+
* - Hoverable and dismissible (WCAG 1.4.13): the pointer may move onto it; Esc hides it until the pointer or focus
|
|
4071
|
+
* leaves the trigger.
|
|
4072
|
+
* - `aria-describedby` points at it while it is shown — unless the tooltip IS the control's name (an icon-only control:
|
|
4073
|
+
* `nodeA11yAttributes` already made the words its `aria-label`; describing it twice would read it twice).
|
|
4074
|
+
*/
|
|
4075
|
+
/** On the drawn tooltip while it appears or moves with no motion (a neighbour, keyboard focus). */
|
|
4076
|
+
declare const TOOLTIP_INSTANT_ATTRIBUTE = "data-iox-instant";
|
|
4077
|
+
/** On a trigger whose tooltip the builder canvas holds open (the design-time "Showing on canvas" state). */
|
|
4078
|
+
declare const TOOLTIP_PINNED_ATTRIBUTE = "data-iox-tooltip-pinned";
|
|
4079
|
+
/** The side the drawn tooltip ended on (after a flip) — the shared CSS reads it for nothing but the e2e reads it. */
|
|
4080
|
+
declare const TOOLTIP_SIDE_ATTRIBUTE = "data-iox-side";
|
|
4081
|
+
declare enum TooltipClass {
|
|
4082
|
+
Tip = "iox-tooltip",
|
|
4083
|
+
/** The element style's marker — set when the trigger wears the design system (a legacy page keeps the literals). */
|
|
4084
|
+
Marker = "iox-es-tooltip"
|
|
4085
|
+
}
|
|
4086
|
+
/** The FIRST tooltip waits this long under a resting pointer (Emil 125: the first waits, the next does not). */
|
|
4087
|
+
declare const TOOLTIP_FIRST_DELAY_MS = 500;
|
|
4088
|
+
/** A tooltip opened within this window of another closing opens at once — moving along a row of icons. */
|
|
4089
|
+
declare const TOOLTIP_WARM_MS = 300;
|
|
4090
|
+
/** Leaving the trigger hides after this grace, so the pointer can cross onto the tooltip (WCAG 1.4.13 hoverable). */
|
|
4091
|
+
declare const TOOLTIP_HIDE_GRACE_MS = 100;
|
|
4092
|
+
interface TooltipTimingState {
|
|
4093
|
+
/** A tooltip is shown right now. */
|
|
4094
|
+
open: boolean;
|
|
4095
|
+
/** When the last one closed (ms, the runtime's clock), or null. */
|
|
4096
|
+
lastClosedAt: number | null;
|
|
4097
|
+
}
|
|
4098
|
+
/** How long before a tooltip shows, and whether it shows with no motion. Pure — the runtime asks it on every hover. */
|
|
4099
|
+
declare function tooltipTiming(state: TooltipTimingState, now: number, firstDelayMs?: number, warmMs?: number): {
|
|
4100
|
+
delayMs: number;
|
|
4101
|
+
instant: boolean;
|
|
4102
|
+
};
|
|
4103
|
+
/** The side a trigger asks for (Above when it names none, or names something else). */
|
|
4104
|
+
declare function tooltipSide(value: string | null | undefined): FloatingSide;
|
|
4105
|
+
interface TooltipRuntimeOptions {
|
|
4106
|
+
/** Where the floating layer lives outside an open dialog: the body on the site, the canvas's token scope. */
|
|
4107
|
+
container?: Element | null | ((from: Element | null) => Element | null);
|
|
4108
|
+
/** True on the live site (the top layer); false on the canvas (contained by the zoomed frame). */
|
|
4109
|
+
topLayer?: boolean;
|
|
4110
|
+
/** The clock (a spec's fake). */
|
|
4111
|
+
now?: () => number;
|
|
4112
|
+
}
|
|
4113
|
+
/** The runtime over one root (the document on the site, the page's frame on the canvas). Built by `attachTooltips`. */
|
|
4114
|
+
declare class TooltipRuntime {
|
|
4115
|
+
private readonly root;
|
|
4116
|
+
private readonly options;
|
|
4117
|
+
private tip;
|
|
4118
|
+
private trigger;
|
|
4119
|
+
private pinned;
|
|
4120
|
+
private pinWatch;
|
|
4121
|
+
private suppressed;
|
|
4122
|
+
private showTimer;
|
|
4123
|
+
private hideTimer;
|
|
4124
|
+
private lastClosedAt;
|
|
4125
|
+
private exiting;
|
|
4126
|
+
private readonly listeners;
|
|
4127
|
+
constructor(root: Document | Element, options?: TooltipRuntimeOptions);
|
|
4128
|
+
/** The trigger whose tooltip is shown, or null. */
|
|
4129
|
+
get shownFor(): HTMLElement | null;
|
|
4130
|
+
/** The drawn tooltip (created on first show). */
|
|
4131
|
+
get element(): HTMLElement | null;
|
|
4132
|
+
/** Show the trigger's tooltip now. `instant` skips the entrance (a neighbour, keyboard focus, the canvas pin). */
|
|
4133
|
+
show(trigger: HTMLElement, instant?: boolean): void;
|
|
4134
|
+
/** Hide it — with its exit, or `immediate`ly (a press, Esc, a scroll, keyboard focus leaving). */
|
|
4135
|
+
hide(immediate?: boolean): void;
|
|
4136
|
+
/** The builder canvas's design-time state: hold the trigger's tooltip open (true) or let it go (false). */
|
|
4137
|
+
pin(trigger: HTMLElement, on: boolean): void;
|
|
4138
|
+
/** Place the shown tooltip again (the trigger moved — the canvas re-laid out). */
|
|
4139
|
+
reposition(): void;
|
|
4140
|
+
destroy(): void;
|
|
4141
|
+
private get doc();
|
|
4142
|
+
private now;
|
|
4143
|
+
private triggerOf;
|
|
4144
|
+
private onPointerOver;
|
|
4145
|
+
private onPointerOut;
|
|
4146
|
+
private onFocusIn;
|
|
4147
|
+
private onFocusOut;
|
|
4148
|
+
private escape;
|
|
4149
|
+
/** A scroll hides a hover / focus tooltip (it would float away from its trigger); a pinned one follows it. */
|
|
4150
|
+
private onScroll;
|
|
4151
|
+
/** A press, a scroll: gone at once (and a pending one never shows). */
|
|
4152
|
+
private dismiss;
|
|
4153
|
+
private cancelHide;
|
|
4154
|
+
private clearTimers;
|
|
4155
|
+
/** The drawn tooltip, in the layer of the trigger's scope (a lightbox's arrow → the lightbox's own layer). */
|
|
4156
|
+
private ensureTip;
|
|
4157
|
+
/** Where it goes: the side the trigger asks for (flipped when there is no room), centred on it, inside the layer. */
|
|
4158
|
+
private place;
|
|
4159
|
+
/** Point the trigger's description at the tooltip — unless the tooltip is already its name. */
|
|
4160
|
+
private describe;
|
|
4161
|
+
private listen;
|
|
4162
|
+
}
|
|
4163
|
+
/** The runtime already running over `root`, if any. */
|
|
4164
|
+
declare function tooltipsOf(root: Document | Element | null | undefined): TooltipRuntime | null;
|
|
4165
|
+
/** Run tooltips over `root` — once: a root already running is returned as is. */
|
|
4166
|
+
declare function attachTooltips(root: Document | Element | null | undefined, options?: TooltipRuntimeOptions): TooltipRuntime | null;
|
|
4167
|
+
|
|
4168
|
+
/**
|
|
4169
|
+
* THE POPOVER on the live site (premium components M5, N4) — an anchored, NON-modal panel of ordinary nodes, opened by
|
|
4170
|
+
* its opener's `openPopover` / `togglePopover` action and closed by `closePopover`, Esc or a press outside it. ONE DOM
|
|
4171
|
+
* runtime for both engine paths (the component path and the string path render the same element: `[data-iox-popover]`,
|
|
4172
|
+
* `popover="manual"`, `role="dialog"`, `tabindex="-1"`, the node's own id); the builder canvas has its own twin that
|
|
4173
|
+
* places itself with the same `placeFloating`.
|
|
4174
|
+
*
|
|
4175
|
+
* - In the TOP LAYER (`showPopover`): above a fixed header and a slider's clipping; it still inherits the section's tokens
|
|
4176
|
+
* and scheme through the DOM, where the node sits.
|
|
4177
|
+
* - Placed beside its opener on the side the author picked (flipped at the viewport's edge, shifted inside it), lined up
|
|
4178
|
+
* with the opener's reading start, growing from it (Emil 47/123); placed again while the page scrolls or resizes.
|
|
4179
|
+
* - On a phone (`FLOATING_SHEET_QUERY`, the date picker's decision) it is a bottom sheet over the look's scrim, and the
|
|
4180
|
+
* page holds still under it.
|
|
4181
|
+
* - Focus moves INTO it on open (the panel itself: no ring after a tap), and back to the opener when Esc closes it, or
|
|
4182
|
+
* when a press outside closes it and focus had nowhere else to go. Focus leaving it (Tab) closes it.
|
|
4183
|
+
* - A keyboard open (Enter / Space on the opener) and Esc have no motion (Emil 2); the exit is faster than the entrance
|
|
4184
|
+
* (the shared CSS, on the popover tokens).
|
|
4185
|
+
*/
|
|
4186
|
+
declare enum PopoverAttribute {
|
|
4187
|
+
Root = "data-iox-popover",
|
|
4188
|
+
Placement = "data-iox-popover-placement",
|
|
4189
|
+
/** On the panel while it is a phone's bottom sheet. */
|
|
4190
|
+
Sheet = "data-iox-sheet",
|
|
4191
|
+
/** The side it ended on (after a flip). */
|
|
4192
|
+
Side = "data-iox-side",
|
|
4193
|
+
/** Opened from the keyboard: it appears and goes with no motion. */
|
|
4194
|
+
Instant = "data-iox-instant",
|
|
4195
|
+
/** On the panel while it is open (the canvas twin reads the same name). */
|
|
4196
|
+
Open = "data-iox-open"
|
|
4197
|
+
}
|
|
4198
|
+
declare const POPOVER_SELECTOR = "[data-iox-popover]";
|
|
4199
|
+
interface PopoverOpenOptions {
|
|
4200
|
+
/** The element whose action opened it — what it is anchored to and where focus goes back. */
|
|
4201
|
+
opener?: HTMLElement | null;
|
|
4202
|
+
/** Opened from the keyboard: no motion in, none out. */
|
|
4203
|
+
instant?: boolean;
|
|
4204
|
+
/** The page holds still under a phone's sheet (Lenis would scroll it). */
|
|
4205
|
+
lockScroll?: () => void;
|
|
4206
|
+
unlockScroll?: () => void;
|
|
4207
|
+
}
|
|
4208
|
+
interface PopoverCloseOptions {
|
|
4209
|
+
/** No motion (Esc, a keyboard action). */
|
|
4210
|
+
instant?: boolean;
|
|
4211
|
+
/** Focus back on the opener: always (Esc), or only when focus was inside the panel or nowhere (`'if-lost'`). */
|
|
4212
|
+
returnFocus?: boolean | 'if-lost';
|
|
4213
|
+
}
|
|
4214
|
+
/** True while the popover is open (an exit that is playing counts as closed). */
|
|
4215
|
+
declare function isPopoverOpen(el: Element | null | undefined): boolean;
|
|
4216
|
+
/** The side a panel asks for (Below unless it names another). */
|
|
4217
|
+
declare function popoverSide(value: string | null | undefined): FloatingSide;
|
|
4218
|
+
/** Beside its opener, inside the viewport, growing from it — the ONE `placeFloating`. A sheet is the shared CSS's. */
|
|
4219
|
+
declare function placePopover(el: HTMLElement, opener: HTMLElement | null): void;
|
|
4220
|
+
/** Open the popover beside `options.opener`. Opening one that is leaving keeps it open. */
|
|
4221
|
+
declare function openPopover(el: HTMLElement | null | undefined, options?: PopoverOpenOptions): void;
|
|
4222
|
+
/** Close the popover with its exit (the shared CSS), then hand focus back as asked. */
|
|
4223
|
+
declare function closePopover(el: HTMLElement | null | undefined, options?: PopoverCloseOptions): Promise<void>;
|
|
4224
|
+
/** Toggle: close an open one, open a closed (or leaving) one. */
|
|
4225
|
+
declare function togglePopover(el: HTMLElement | null | undefined, options?: PopoverOpenOptions): void;
|
|
4226
|
+
/** Close every open popover under `root` at once (a page leaving, a route change). */
|
|
4227
|
+
declare function closeAllPopovers(root: ParentNode | null | undefined): void;
|
|
4228
|
+
|
|
4229
|
+
/**
|
|
4230
|
+
* THE TOAST (premium components M5, N3) — a non-modal notice at an edge of the screen. ONE DOM runtime for the live site
|
|
4231
|
+
* (the `showToast` action on both engine paths, and a form that keeps its fields after sending) and the builder canvas
|
|
4232
|
+
* (the same action RUNS there; the design-time "Showing on canvas" state holds one up to style it).
|
|
4233
|
+
*
|
|
4234
|
+
* - Speaks through a polite live region that exists BEFORE the first notice lands (a region inserted with its words is
|
|
4235
|
+
* not announced); never takes focus.
|
|
4236
|
+
* - Enters from its edge and leaves to the SAME edge (Emil 129–130), on the look's toast tokens (400ms `ease` in, a
|
|
4237
|
+
* faster exit); reduced motion keeps the fade and drops the slide (the shared CSS).
|
|
4238
|
+
* - Its timer pauses while the tab is hidden, the pointer is on the stack or focus is inside it (Emil 132; WCAG 2.2.1),
|
|
4239
|
+
* and it has a close control.
|
|
4240
|
+
* - At most `TOAST_MAX_VISIBLE` at once — the oldest leaves for a new one; the rest slide to their new places (FLIP on
|
|
4241
|
+
* `translate`, which composes with the entrance's `transform`), so nothing jumps.
|
|
4242
|
+
* - Above the home indicator (`env(safe-area-inset-*)`) and above a bottom tab bar (the shared CSS).
|
|
4243
|
+
*/
|
|
4244
|
+
declare enum ToastEdge {
|
|
4245
|
+
Bottom = "bottom",
|
|
4246
|
+
Top = "top"
|
|
4247
|
+
}
|
|
4248
|
+
declare enum ToastClass {
|
|
4249
|
+
Stack = "iox-toasts",
|
|
4250
|
+
Toast = "iox-toast",
|
|
4251
|
+
Text = "iox-toast__text",
|
|
4252
|
+
Close = "iox-toast__close",
|
|
4253
|
+
/** The element style's marker — set when the element it was raised from wears the design system. */
|
|
4254
|
+
Marker = "iox-es-toast"
|
|
4255
|
+
}
|
|
4256
|
+
declare const TOAST_EDGE_ATTRIBUTE = "data-iox-edge";
|
|
4257
|
+
/** On the toast the builder canvas holds up for styling (no timer, never leaves on its own). */
|
|
4258
|
+
declare const TOAST_DESIGN_ATTRIBUTE = "data-iox-toast-design";
|
|
4259
|
+
/** A stack created for a toast waits this long before the words land: a live region must exist before it changes. */
|
|
4260
|
+
declare const TOAST_FIRST_LANDS_MS = 80;
|
|
4261
|
+
/** The most toasts on screen at once (Emil 131: a short stack, never a wall). */
|
|
4262
|
+
declare const TOAST_MAX_VISIBLE = 3;
|
|
4263
|
+
/** A toast stays at least this long … */
|
|
4264
|
+
declare const TOAST_MIN_MS = 4000;
|
|
4265
|
+
/** … at most this long … */
|
|
4266
|
+
declare const TOAST_MAX_MS = 10000;
|
|
4267
|
+
/** … and this much longer per character it says (a reader's pace). */
|
|
4268
|
+
declare const TOAST_MS_PER_CHAR = 60;
|
|
4269
|
+
/** The close control's words in the page's language. */
|
|
4270
|
+
declare const TOAST_CLOSE_WORDS: Readonly<Record<string, string>>;
|
|
4271
|
+
/** "Close" in `lang` (its base language), else English. */
|
|
4272
|
+
declare function toastCloseWord(lang: string | null | undefined): string;
|
|
4273
|
+
/** How long a toast stays: long enough to read, within bounds. Pure. */
|
|
4274
|
+
declare function toastDuration(text: string, override?: number | null): number;
|
|
4275
|
+
/** Which toasts leave so a new one fits: the oldest first, keeping `max - 1` beside the newcomer. Pure. */
|
|
4276
|
+
declare function toastsToEvict<T>(shown: ReadonlyArray<T>, max?: number): T[];
|
|
4277
|
+
/** The edge a value names (Bottom unless it says Top). */
|
|
4278
|
+
declare function toastEdge(value: unknown): ToastEdge;
|
|
4279
|
+
declare enum PauseReason {
|
|
4280
|
+
Hidden = "hidden",
|
|
4281
|
+
Hover = "hover",
|
|
4282
|
+
Focus = "focus"
|
|
4283
|
+
}
|
|
4284
|
+
/**
|
|
4285
|
+
* A countdown that stops while any reason holds it (the tab hidden, the pointer on the stack, focus inside) and runs
|
|
4286
|
+
* on from what was left. Its clock and scheduler are injectable for a spec.
|
|
4287
|
+
*/
|
|
4288
|
+
declare class PausableTimer {
|
|
4289
|
+
private readonly onDone;
|
|
4290
|
+
private readonly now;
|
|
4291
|
+
private remaining;
|
|
4292
|
+
private startedAt;
|
|
4293
|
+
private handle;
|
|
4294
|
+
private readonly reasons;
|
|
4295
|
+
private done;
|
|
4296
|
+
constructor(ms: number, onDone: () => void, now?: () => number);
|
|
4297
|
+
get paused(): boolean;
|
|
4298
|
+
/** What is left (ms), counting the time run since the last start. */
|
|
4299
|
+
left(): number;
|
|
4300
|
+
pause(reason: PauseReason): void;
|
|
4301
|
+
resume(reason: PauseReason): void;
|
|
4302
|
+
clear(): void;
|
|
4303
|
+
private run;
|
|
4304
|
+
}
|
|
4305
|
+
interface ToastOptions extends FloatingLayerOptions {
|
|
4306
|
+
/** The edge it enters from and leaves to (Bottom by default). */
|
|
4307
|
+
edge?: ToastEdge | string | null;
|
|
4308
|
+
/** How long it stays (else `toastDuration(text)`). */
|
|
4309
|
+
durationMs?: number | null;
|
|
4310
|
+
/** The element that raised it — its scope (an open dialog) and whether the look applies. */
|
|
4311
|
+
from?: Element | null;
|
|
4312
|
+
/** The page's language for the close control's name. */
|
|
4313
|
+
lang?: string | null;
|
|
4314
|
+
}
|
|
4315
|
+
interface ToastHandle {
|
|
4316
|
+
readonly element: HTMLElement;
|
|
4317
|
+
/** Leave now (the close control, a newer toast, the canvas switching it off). */
|
|
4318
|
+
close(): void;
|
|
4319
|
+
}
|
|
4320
|
+
/** Take down every toast stack under `root` (a page torn down, a spec). */
|
|
4321
|
+
declare function clearToasts(root: ParentNode | null | undefined): void;
|
|
4322
|
+
/**
|
|
4323
|
+
* Raise a toast. Null when there is nothing to say or nowhere to say it (no document).
|
|
4324
|
+
* A first toast creates its live region and lands a frame later, so assistive technology hears it.
|
|
4325
|
+
*/
|
|
4326
|
+
declare function showToast(doc: Document | null | undefined, text: string | null | undefined, options?: ToastOptions): ToastHandle | null;
|
|
4327
|
+
/**
|
|
4328
|
+
* The builder canvas's design-time state: hold a toast up (no timer) so the author styles it, or take it down. One per
|
|
4329
|
+
* layer; showing it again only changes its words.
|
|
4330
|
+
*/
|
|
4331
|
+
declare function showToastDesign(doc: Document | null | undefined, text: string, show: boolean, options?: ToastOptions): void;
|
|
4332
|
+
|
|
4333
|
+
/**
|
|
4334
|
+
* A form that KEEPS its fields after sending says so in a toast (premium M5, N3 — the Form's After sending ▸ "Keep the
|
|
4335
|
+
* fields and show a toast"). Its words are the form's own Sent words — the ones its submit button shows once it has sent
|
|
4336
|
+
* (the author's "Once sent", else "Sent" in the page's language) — so the toast and the button never disagree. ONE
|
|
4337
|
+
* helper for the component path and the string path.
|
|
4338
|
+
*/
|
|
4339
|
+
/** The Sent words a form says: its submit button's Sent label, else "Sent" in its language. */
|
|
4340
|
+
declare function formSentWords(form: Element): string;
|
|
4341
|
+
/** True when the rendered form keeps its fields and toasts (the attribute every renderer writes). */
|
|
4342
|
+
declare function formToastsOnSend(form: Element | null | undefined): boolean;
|
|
4343
|
+
/** Raise the form's Sent toast (from the form — its scope and its look). */
|
|
4344
|
+
declare function raiseFormToast(form: Element): ToastHandle | null;
|
|
3844
4345
|
|
|
3845
|
-
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, CALENDAR_CLOSING_ATTRIBUTE, CALENDAR_DESIGN_ATTRIBUTE, CALENDAR_INSTANT_ATTRIBUTE, CALENDAR_SHEET_QUERY, COMPONENT_STATE_SELECTOR, CONTAINER_HTML_TAGS, CONTEXT_ACTION_TYPES, CURRENT_LINK_TYPES, CalendarClass, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ComponentState, ContainerComponent, ContextStore, DECORATIVE_TYPES, DEFAULT_GALLERY_SCHEDULER, DEFAULT_INTERACTION_EASING, 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, DatePickerRuntime, DeclarationContext, EASING_KEYWORDS, EASING_TOKENS, ENTRANCE_ACTION_TYPES, ENTRANCE_FALLBACK_CSS, ENTRANCE_NOSCRIPT_CSS, ENTRANCE_PRESTATE_ATTRIBUTE, EXIT_ACTION_TYPES, EasingKeyword, EasingToken, FLOATING_GAP, FLOATING_MARGIN, FloatingSide, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, HOVER_DEFAULT_TRANSITION_TRAITS, HOVER_MEDIA_QUERY, HOVER_STATES, INTERACTION_ANIMATION_ID, 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_TRAITS, LEGACY_SWIPER_CONTROLS, LinkedContainerComponent, MANAGED_A11Y_ATTRIBUTES, MAX_LINES_KEY, NAMED_GROUP_ROLES, NO_PAGE_TRANSITION, ON_STATE_ROLES, OUTER_STYLE_PROPS, 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, PointerKind, REDUCED_MOTION_QUERY, RELATIONAL_STATE_PSEUDO, RevealActionType, SCROLLED_ATTRIBUTE, SCROLLED_STATE_ROLE, SCROLLED_THRESHOLD_PX, SCROLL_EASINGS, SELF_PLAYING_TRIGGERS, SHAKE_DURATION_MS, SHAKE_EASING, SHAKE_KEYFRAMES, SLIDER_INPUTS_ATTRIBUTE, SLIDER_INPUT_NAMES, STATE_PSEUDO_CLASS, STRUCTURAL_STATES, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_A11Y_OPTIONS, SWIPER_RESPONSIVE_TRAITS, SWIPER_TRIGGER_EVENTS, ScrollEasing, SectionComponent, SettleMode, StringFormRuntime, SwiperModuleName, TARGETED_STATE_SUFFIX, TEXT_ALIGN_KEY, TEXT_DIRECTION_KEY, TRANSITION_FEELS, TRANSITION_PROPERTY_KEY, TextAlign, TextBlockComponent, VALIDATION_STATES, VALIDATION_STATE_CLASS, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, VisibilityActionType, activeActions, animateAction, applyBindingPipes, applyFeel, attachDatePicker, attachDatePickers, attachStringForm, bootSlider, breakpointDef, breakpointForWidth, breakpointQueryFor, buildInteractionKeyframes, buildPartSelector, buildSwiperBreakpoints, buildTargetedStateSelector, buildTargetedSuffixSelector, buildTransitionTimeline, cascadeChain, clearInputOverride, clearOverride, closeAboveMediaQuery, collectContextSlotKeys, compileDeclarations, compilePageStyle, componentStatesFor, composeVirtualTraits, containerHtmlTag, contextActionEffect, contextSlotKeys, countOverrides, datePickerOf, declaredInputNames, decomposeBackdropFilter, defaultHoverTransitionTraits, defaultMessageResolver, deriveSeoFromContent, describePageStyle, describeSeoFields, dialogCloseAboveMinWidth, domHasSliderParts, effectiveActionType, effectiveTransitionId, entrancePreStateStyle, entranceStartsHidden, feelFor, fieldLanguage, finalKeyframe, framesFromLiveValue, gateHoverRule, getSeoValue, hasHoverState, hasOwnPageTransition, hasOwnTransition, initialSlotValues, isActionEnabled, isContextAction, isCubicBezier, isCurrentLink, isEasingToken, isExternalOrFragment, isGradientPaint, isHoverPointer, isHoverState, isInputOverriddenAt, isInteractionEasing, isLastEmittedStateKey, isOverriddenAt, isPressFeedback, isScrolled, isStructuralState, 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, placeFloating, planPartRule, planResponsiveRules, planScroll, planStateRule, planSwiperOptions, playDualLayerTransition, playInteraction, prefersReducedMotion, renderDefaultDeclarations, resetPageStyleField, resetSeoField, resolveBoundValue, resolveContextValue, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolveInteractionEasing, resolvePageTransition, resolvePath, resolveSeo, resolveStateStyles, resolveStyleProps, resolveToggleVisibility, resolveValueChain, rewriteViewportUnits, safeSetInput, serializeA11yAttributes, setDateFieldValue, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, settleInteraction, settleModeFor, shakeElement, showCalendarDesign, sliderControlElements, sliderInputsFromProps, sliderInputsOf, splitOuterProps, splitPressFeedback, stateNamesIn, statePseudoClass, stateSelectorSuffix, stateTransitionProperties, stringFormRuntimeOf, stripSuppressedProps, swiperAutoplayAllowed, swiperLoopOptions, swiperModuleNames, syncNodeA11yAttributes, syncSubmitButtons, targetedStateSelector, transitionPropertyList, viewportTransitionContext, watchScrolled, withContextSlots, withStateTransitions, wrapInBreakpointQuery, wrapInMediaQuery };
|
|
3846
|
-
export type { A11yNodeSource, AnimateActionOptions, BoundValueSpec, BreakpointDef, ContextActionEffect, ContextActionLike, ContextItemRef, ContextSlotDefault, ContextValueSpec, ContextWriteScope, CurrentLinkOptions, DatePickerOptions, FloatingOptions, FloatingPlacement, FloatingRect, FloatingSize, FloatingViewport, FormMessageResolver, GalleryBoundSource, GalleryDurations, GalleryEffect, GalleryEffectDescriptor, GalleryImage, GalleryLoopOptions, GalleryLoopScheduler, GalleryLoopState, GallerySlideState, IBuilderEventEmitter, InputMap, InteractionKeyframe, IoxContextSlot, IoxPipe, MatchMediaHost, NodeA11yContext, OverrideBreakpoint, PageScrollStart, PageStyleFieldState, PageStyleOptions, PageStyleSettings, PageTransitionCategory, PageTransitionCategoryMeta, PageTransitionContext, PageTransitionOptions, PageTransitionPreset, PipeArgSpec, PipeContext, PipeDescriptor, PlannedPageTransition, PressAction, RegisteredField, ResolvedPageTransition, ResponsiveLayer, ResponsiveOverrides, ResponsiveRuleSet, RouteAnimationLike, ScrollPlanContext, ScrollSource, SeoDerivedContent, SeoFieldSource, SeoFieldState, SeoResolveContext, SetContextParams, SettleOptions, SliderBootOptions, SliderControlElements, SliderInputs, StateRulePlan, StateScope, StateStyleMap, StringFormOptions, StyleMap, StyleTreeNode, SwiperBreakpointMap, SwiperModuleFlags, SwiperPlan, SwiperPlanContext, ToggleableAction, TransitionFeel, TransitionPhase, TransitionPreviewLayers, TransitionTimelineInput, TransitionViewport, ValueSource, VirtualTraitGroup };
|
|
4346
|
+
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, CALENDAR_CLOSING_ATTRIBUTE, CALENDAR_DESIGN_ATTRIBUTE, CALENDAR_INSTANT_ATTRIBUTE, CALENDAR_SHEET_QUERY, COMPONENT_STATE_SELECTOR, CONTAINER_HTML_TAGS, CONTEXT_ACTION_TYPES, CURRENT_LINK_TYPES, CalendarClass, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ComponentState, ContainerComponent, ContextStore, DECORATIVE_TYPES, DEFAULT_GALLERY_SCHEDULER, DEFAULT_INTERACTION_EASING, 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, DatePickerRuntime, DeclarationContext, EASING_KEYWORDS, EASING_TOKENS, ELEMENT_STYLE_TRANSITION_EXTRAS, ENTRANCE_ACTION_TYPES, ENTRANCE_FALLBACK_CSS, ENTRANCE_NOSCRIPT_CSS, ENTRANCE_PRESTATE_ATTRIBUTE, EXIT_ACTION_TYPES, EasingKeyword, EasingToken, FLOATING_GAP, FLOATING_LAYER_CLASS, FLOATING_MARGIN, FLOATING_SHEET_QUERY, FloatingAlign, FloatingSide, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, HEADER_SCROLL_HYSTERESIS_PX, HOVER_DEFAULT_TRANSITION_TRAITS, HOVER_MEDIA_QUERY, HOVER_STATES, HeaderRuntime, INTERACTION_ANIMATION_ID, 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, IoxPopoverComponent, IoxSubmitButtonComponent, IoxUiModule, IoxVideoComponent, LAST_EMITTED_STATES, LEGACY_DIRECTION_KEY, LEGACY_HOVER_TRANSITION_TRAITS, LEGACY_SWIPER_CONTROLS, LinkedContainerComponent, MANAGED_A11Y_ATTRIBUTES, MAX_LINES_KEY, NAMED_GROUP_ROLES, NO_PAGE_TRANSITION, ON_STATE_ROLES, OUTER_STYLE_PROPS, 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, POPOVER_SELECTOR, PageScrollProvider, PageStyleField, PageStyleSource, PausableTimer, PauseReason, PointerKind, PopoverAttribute, REDUCED_MOTION_QUERY, RELATIONAL_STATE_PSEUDO, RevealActionType, SCROLLED_ATTRIBUTE, SCROLLED_STATE_ROLE, SCROLLED_THRESHOLD_PX, SCROLL_EASINGS, SELF_PLAYING_TRIGGERS, SHAKE_DURATION_MS, SHAKE_EASING, SHAKE_KEYFRAMES, SLIDER_FEEL, SLIDER_INPUTS_ATTRIBUTE, SLIDER_INPUT_NAMES, SLIDER_PHONE_BREAKPOINT, SLIDER_RUNWAY_CLASS, SLIDER_STEPS_PROPERTY, SLIDE_CAPTION_ATTRIBUTE, STATE_PSEUDO_CLASS, STRUCTURAL_STATES, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_A11Y_OPTIONS, SWIPER_RESPONSIVE_TRAITS, SWIPER_TRIGGER_EVENTS, ScrollEasing, SectionComponent, SettleMode, StringFormRuntime, SwiperModuleName, TARGETED_STATE_SUFFIX, TEXT_ALIGN_KEY, TEXT_DIRECTION_KEY, TOAST_CLOSE_WORDS, TOAST_DESIGN_ATTRIBUTE, TOAST_EDGE_ATTRIBUTE, TOAST_FIRST_LANDS_MS, TOAST_MAX_MS, TOAST_MAX_VISIBLE, TOAST_MIN_MS, TOAST_MS_PER_CHAR, TOOLTIP_ATTRIBUTE, TOOLTIP_FIRST_DELAY_MS, TOOLTIP_HIDE_GRACE_MS, TOOLTIP_INSTANT_ATTRIBUTE, TOOLTIP_PINNED_ATTRIBUTE, TOOLTIP_PLACEMENT_ATTRIBUTE, TOOLTIP_SIDE_ATTRIBUTE, TOOLTIP_TYPES, TOOLTIP_WARM_MS, TRANSITION_FEELS, TRANSITION_PROPERTY_KEY, TextAlign, TextBlockComponent, ToastClass, ToastEdge, TooltipClass, TooltipRuntime, VALIDATION_STATES, VALIDATION_STATE_CLASS, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, VisibilityActionType, activeActions, animateAction, applyBindingPipes, applyFeel, attachDatePicker, attachDatePickers, attachStringForm, attachTooltips, bootSlider, breakpointDef, breakpointForWidth, breakpointQueryFor, buildInteractionKeyframes, buildPartSelector, buildSwiperBreakpoints, buildTargetedStateSelector, buildTargetedSuffixSelector, buildTransitionTimeline, canPopover, cascadeChain, clearInputOverride, clearOverride, clearToasts, closeAboveMediaQuery, closeAllPopovers, closePopover, collectContextSlotKeys, compileDeclarations, compilePageStyle, componentStatesFor, composeVirtualTraits, containerHtmlTag, contextActionEffect, contextSlotKeys, countOverrides, datePickerOf, declaredInputNames, decomposeBackdropFilter, defaultHoverTransitionTraits, defaultMessageResolver, deriveSeoFromContent, describePageStyle, describeSeoFields, dialogCloseAboveMinWidth, domHasSliderParts, durationMs, effectiveActionType, effectiveTransitionId, entrancePreStateStyle, entranceStartsHidden, feelFor, fieldLanguage, finalKeyframe, floatingLayer, floatingScope, formSentWords, formToastsOnSend, framesFromLiveValue, gateHoverRule, getSeoValue, hasHoverState, hasOwnPageTransition, hasOwnTransition, headerShouldHide, hideFromTopLayer, hidingHeadersIn, initialSlotValues, isActionEnabled, isContextAction, isCubicBezier, isCurrentLink, isEasingToken, isExternalOrFragment, isGradientPaint, isHoverPointer, isHoverState, isInputOverriddenAt, isInteractionEasing, isLastEmittedStateKey, isOpenPopover, isOverriddenAt, isPopoverOpen, isPressFeedback, isScrolled, isStructuralState, isValidSlotKey, isWholeBackdropSet, keyframePropertyName, keyframeStyleEntries, layerFrame, legacyEnterToTransition, mediaQueryFor, mergeSwiperBreakpoints, migrateLegacyDirection, migrateLegacyTextAlign, motionAllowed, nearestCommonAncestorId, needsAccessibleName, needsGroupName, nodeA11yAttributes, nodeCssId, nodeTraitValue, nodeUsesContext, normalizeAppPath, normalizeGalleryImage, normalizeIconClass, openPopover, orderStatesForEmit, pageTransitionOf, parentBreakpoint, parseUrlList, partClassName, placeFloating, placePopover, planPartRule, planResponsiveRules, planScroll, planStateRule, planSwiperOptions, playDualLayerTransition, playInteraction, popoverPanelAttributes, popoverSide, prefersReducedMotion, raiseFloatingLayer, raiseFormToast, rectInLayer, renderDefaultDeclarations, resetPageStyleField, resetSeoField, resolveBoundValue, resolveContextValue, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolveInteractionEasing, resolvePageTransition, resolvePath, resolveSeo, resolveStateStyles, resolveStyleProps, resolveToggleVisibility, resolveValueChain, rewriteViewportUnits, safeSetInput, serializeA11yAttributes, setDateFieldValue, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, settleInteraction, settleModeFor, shakeElement, showCalendarDesign, showInTopLayer, showToast, showToastDesign, sliderControlElements, sliderInputsFromProps, sliderInputsOf, sliderRunwayHtml, splitOuterProps, splitPressFeedback, stateNamesIn, statePseudoClass, stateSelectorSuffix, stateTransitionProperties, stringFormRuntimeOf, stripSuppressedProps, swiperAutoplayAllowed, swiperLoopOptions, swiperModuleNames, syncNodeA11yAttributes, syncSubmitButtons, targetedStateSelector, toLayerRect, toastCloseWord, toastDuration, toastEdge, toastsToEvict, togglePopover, tooltipSide, tooltipTiming, tooltipWords, tooltipsOf, transitionPropertyList, viewportTransitionContext, watchHeaders, watchScrolled, withContextSlots, withPhoneDefaults, withStateTransitions, wrapInBreakpointQuery, wrapInMediaQuery };
|
|
4347
|
+
export type { A11yNodeSource, AnimateActionOptions, BoundValueSpec, BreakpointDef, ContextActionEffect, ContextActionLike, ContextItemRef, ContextSlotDefault, ContextValueSpec, ContextWriteScope, CurrentLinkOptions, DatePickerOptions, FloatingLayerOptions, FloatingOptions, FloatingPlacement, FloatingRect, FloatingSize, FloatingViewport, FormMessageResolver, GalleryBoundSource, GalleryDurations, GalleryEffect, GalleryEffectDescriptor, GalleryImage, GalleryLoopOptions, GalleryLoopScheduler, GalleryLoopState, GallerySlideState, HeaderRuntimeOptions, IBuilderEventEmitter, InputMap, InteractionKeyframe, IoxContextSlot, IoxPipe, LayerFrame, MatchMediaHost, NodeA11yContext, OverrideBreakpoint, PageScrollStart, PageStyleFieldState, PageStyleOptions, PageStyleSettings, PageTransitionCategory, PageTransitionCategoryMeta, PageTransitionContext, PageTransitionOptions, PageTransitionPreset, PipeArgSpec, PipeContext, PipeDescriptor, PlannedPageTransition, PopoverCloseOptions, PopoverOpenOptions, PressAction, RegisteredField, ResolvedPageTransition, ResponsiveLayer, ResponsiveOverrides, ResponsiveRuleSet, RouteAnimationLike, ScrollPlanContext, ScrollSource, SeoDerivedContent, SeoFieldSource, SeoFieldState, SeoResolveContext, SetContextParams, SettleOptions, SliderBootOptions, SliderControlElements, SliderInputs, StateRulePlan, StateScope, StateStyleMap, StringFormOptions, StyleMap, StyleTreeNode, SwiperBreakpointMap, SwiperModuleFlags, SwiperPlan, SwiperPlanContext, ToastHandle, ToastOptions, ToggleableAction, TooltipRuntimeOptions, TooltipTimingState, TransitionFeel, TransitionPhase, TransitionPreviewLayers, TransitionTimelineInput, TransitionViewport, ValueSource, VirtualTraitGroup };
|