@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/actions-core/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { CompositeItemAction } from '@vectoriox/iox-ui/composite-core';
|
|
|
10
10
|
/** How a step executes — decides which editor fields appear (timing only for `animated`). */
|
|
11
11
|
type ActionKind = 'animated' | 'instant' | 'server';
|
|
12
12
|
/** Picker grouping. Flat lists die at ~10 entries; the group is data, never a second list. */
|
|
13
|
-
type ActionGroup = 'motion' | 'visibility' | 'navigate' | 'dialog' | 'item' | 'form' | 'data' | 'consent' | 'service';
|
|
13
|
+
type ActionGroup = 'motion' | 'visibility' | 'navigate' | 'dialog' | 'popover' | 'notice' | 'item' | 'form' | 'data' | 'consent' | 'service';
|
|
14
14
|
/**
|
|
15
15
|
* What a step does inside the live builder canvas (the canvas RUNS interactions):
|
|
16
16
|
* `run` for real (open the dialog), `simulate` announce-only (navigate), `inert` with a
|
|
@@ -109,6 +109,8 @@ declare const SERVER_ELEMENT_ACTION_TYPES: ReadonlySet<string>;
|
|
|
109
109
|
/** The Tier-A behaviour executors' dispatch set (A1c) — the engines branch on it beside
|
|
110
110
|
* DIALOG/SWIPER. Dialog actions have their own set; context/visibility stay in the legacy path. */
|
|
111
111
|
declare const BEHAVIOUR_ACTION_TYPES: ReadonlySet<string>;
|
|
112
|
+
/** The toast action's dispatch set (premium M5) — the engines branch on it beside DIALOG / POPOVER. */
|
|
113
|
+
declare const TOAST_ACTION_TYPES: ReadonlySet<string>;
|
|
112
114
|
/** The item actions' dispatch set (T14) and what each does to its item — the engines branch on it beside
|
|
113
115
|
* DIALOG/BEHAVIOUR, and composite-core `runCompositeItemAction` runs it on the target item's own runtime. */
|
|
114
116
|
declare const ITEM_ACTION_TYPES: Readonly<Record<string, CompositeItemAction>>;
|
|
@@ -169,6 +171,9 @@ interface OpenerInteractionLike {
|
|
|
169
171
|
interface OpenerNodeLike {
|
|
170
172
|
interactions?: ReadonlyArray<OpenerInteractionLike> | null;
|
|
171
173
|
}
|
|
174
|
+
/** The node id the element's click opens through one of `openerTypes` (its first enabled such action), or null —
|
|
175
|
+
* the ONE reading every opener kind shares (a dialog's, a popover's). */
|
|
176
|
+
declare function openedTargetId(node: OpenerNodeLike | null | undefined, openerTypes: ReadonlySet<string>): string | null;
|
|
172
177
|
/** The Dialog node id the element's click opens (its first enabled opener action), or null. */
|
|
173
178
|
declare function openedDialogId(node: OpenerNodeLike | null | undefined): string | null;
|
|
174
179
|
/**
|
|
@@ -180,6 +185,29 @@ declare function dialogOpenerAttributes(node: OpenerNodeLike | null | undefined,
|
|
|
180
185
|
/** The selector of every opener of one dialog (by its DOM id) — what a runtime updates on open/close. */
|
|
181
186
|
declare function dialogOpenersSelector(dialogDomIdValue: string): string;
|
|
182
187
|
|
|
188
|
+
/**
|
|
189
|
+
* What an element that OPENS a popover says about itself (premium components M5, N4 — the APG disclosure pattern over a
|
|
190
|
+
* non-modal dialog): `aria-haspopup="dialog"`, `aria-controls` = the popover's DOM id, and `aria-expanded` — `false` in
|
|
191
|
+
* the server render, kept in step by the runtime. ONE decision for every renderer, read the way a dialog opener is
|
|
192
|
+
* (`openedTargetId`); the popover's DOM id comes from `popoverDomId`, the one place that names it.
|
|
193
|
+
*/
|
|
194
|
+
/** The Popover node type. */
|
|
195
|
+
declare const POPOVER_NODE_TYPE = "Popover";
|
|
196
|
+
/** The actions that open a popover (close-only actions do not make an opener). */
|
|
197
|
+
declare const POPOVER_OPENER_ACTION_TYPES: ReadonlySet<string>;
|
|
198
|
+
/** Every action that opens, closes or toggles a popover — what the engines dispatch. */
|
|
199
|
+
declare const POPOVER_ACTION_TYPE_SET: ReadonlySet<string>;
|
|
200
|
+
/** The DOM id of a Popover node's panel — what an opener's `aria-controls` names. */
|
|
201
|
+
declare function popoverDomId(nodeId: string): string;
|
|
202
|
+
/** The node id a popover DOM id names, or null. */
|
|
203
|
+
declare function nodeIdOfPopoverDomId(domId: string | null | undefined): string | null;
|
|
204
|
+
/** The Popover node id the element's click opens, or null. */
|
|
205
|
+
declare function openedPopoverId(node: OpenerNodeLike | null | undefined): string | null;
|
|
206
|
+
/** The opener attributes for a node: `{}` when its click opens no popover. */
|
|
207
|
+
declare function popoverOpenerAttributes(node: OpenerNodeLike | null | undefined, open?: boolean): Record<string, string>;
|
|
208
|
+
/** The selector of every opener of one popover (by its DOM id). */
|
|
209
|
+
declare function popoverOpenersSelector(popoverDomIdValue: string): string;
|
|
210
|
+
|
|
183
211
|
/**
|
|
184
212
|
* How a dialog LEAVES (CC1 follow-up — the drawer that vanished). Opening is pure CSS (`@starting-style`
|
|
185
213
|
* in the shared `iox-design.css`); closing needs one beat of script, because `dialog.close()` drops the
|
|
@@ -240,6 +268,22 @@ declare function runExitMotion(el: ExitMotionElement, options: ExitMotionOptions
|
|
|
240
268
|
declare function closeDialogAnimated(el: DialogElementLike, options: ExitMotionOptions): Promise<void>;
|
|
241
269
|
/** True when a toggle should CLOSE the dialog: it is open and not already on its way out. */
|
|
242
270
|
declare function dialogTogglesClosed(el: Pick<DialogElementLike, 'open' | 'hasAttribute'>): boolean;
|
|
271
|
+
interface FocusableSheet {
|
|
272
|
+
classList: {
|
|
273
|
+
contains(token: string): boolean;
|
|
274
|
+
};
|
|
275
|
+
querySelector(selector: string): unknown;
|
|
276
|
+
hasAttribute(name: string): boolean;
|
|
277
|
+
setAttribute(name: string, value: string): void;
|
|
278
|
+
focus(options?: FocusOptions): void;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* A styled dialog a visitor just opened takes focus on its SHEET (premium components M4 — M1.1's carry-over). A bare
|
|
282
|
+
* `showModal()` focuses its first control, and a phone can ring it after a tap; the sheet never rings (iox-design.css) and
|
|
283
|
+
* the first Tab moves to that control, with its ring. A dialog with an author's `[autofocus]` keeps it; a dialog saved
|
|
284
|
+
* before element styles keeps the browser's behaviour. True when the sheet took focus.
|
|
285
|
+
*/
|
|
286
|
+
declare function focusDialogSheet(dialog: FocusableSheet | null | undefined): boolean;
|
|
243
287
|
|
|
244
|
-
export { BEHAVIOUR_ACTION_TYPES, CONSENT_ACTION_TYPES, DIALOG_ACTION_TYPE_SET, DIALOG_CLOSING_ATTRIBUTE, DIALOG_EXIT_TIMEOUT_MS, DIALOG_OPENER_ACTION_TYPES, DIALOG_OPENER_TRIGGER, DIALOG_SELECTOR, ELEMENT_ACTION_DESCRIPTORS, ELEMENT_ACTION_GROUP_ORDER, FORM_SUBMIT_ACTION_DESCRIPTORS, ITEM_ACTION_TYPES, OpenerAttribute, SERVER_ELEMENT_ACTION_TYPES, addableActions, cancelExit, closeDialogAnimated, dialogDomId, dialogOpenerAttributes, dialogOpenersSelector, dialogTogglesClosed, groupedElementActions, isExiting, itemActionOf, nodeIdOfDialogDomId, openedDialogId, opensAtClickedItem, resolveActionAvailability, runExitMotion };
|
|
245
|
-
export type { ActionAvailability, ActionAvailabilityContext, ActionAvailabilityState, ActionDescriptor, ActionGroup, ActionKind, ActionParamSpec, ActionTargetSpec, BuilderBehaviour, DialogElementLike, ExitAnimationLike, ExitMotionElement, ExitMotionOptions, OpenerActionLike, OpenerInteractionLike, OpenerNodeLike };
|
|
288
|
+
export { BEHAVIOUR_ACTION_TYPES, CONSENT_ACTION_TYPES, DIALOG_ACTION_TYPE_SET, DIALOG_CLOSING_ATTRIBUTE, DIALOG_EXIT_TIMEOUT_MS, DIALOG_OPENER_ACTION_TYPES, DIALOG_OPENER_TRIGGER, DIALOG_SELECTOR, ELEMENT_ACTION_DESCRIPTORS, ELEMENT_ACTION_GROUP_ORDER, FORM_SUBMIT_ACTION_DESCRIPTORS, ITEM_ACTION_TYPES, OpenerAttribute, POPOVER_ACTION_TYPE_SET, POPOVER_NODE_TYPE, POPOVER_OPENER_ACTION_TYPES, SERVER_ELEMENT_ACTION_TYPES, TOAST_ACTION_TYPES, addableActions, cancelExit, closeDialogAnimated, dialogDomId, dialogOpenerAttributes, dialogOpenersSelector, dialogTogglesClosed, focusDialogSheet, groupedElementActions, isExiting, itemActionOf, nodeIdOfDialogDomId, nodeIdOfPopoverDomId, openedDialogId, openedPopoverId, openedTargetId, opensAtClickedItem, popoverDomId, popoverOpenerAttributes, popoverOpenersSelector, resolveActionAvailability, runExitMotion };
|
|
289
|
+
export type { ActionAvailability, ActionAvailabilityContext, ActionAvailabilityState, ActionDescriptor, ActionGroup, ActionKind, ActionParamSpec, ActionTargetSpec, BuilderBehaviour, DialogElementLike, ExitAnimationLike, ExitMotionElement, ExitMotionOptions, FocusableSheet, OpenerActionLike, OpenerInteractionLike, OpenerNodeLike };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementStyleTarget } from '@vectoriox/iox-ui/design-core';
|
|
1
|
+
import { ElementStyleTarget, HeaderBehaviour, HeaderEdge } from '@vectoriox/iox-ui/design-core';
|
|
2
2
|
export { ROW_INDEX_ATTRIBUTE } from '@vectoriox/iox-ui/design-core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -825,7 +825,8 @@ declare function setCardLinked(card: CompositeNode, on: boolean): boolean;
|
|
|
825
825
|
interface CompositeRoleSpec {
|
|
826
826
|
/** The role of the part's parent; null for a composite root. */
|
|
827
827
|
readonly parent: string | null;
|
|
828
|
-
/** The TYPE of the part's parent, for a part whose parent carries no role (a Slider's controls).
|
|
828
|
+
/** The TYPE of the part's parent, for a part whose parent carries no role (a Slider's controls). With `parent`
|
|
829
|
+
* also set, either parent places it (a Slider's control lives in the slider or in its bar). */
|
|
829
830
|
readonly parentType?: string;
|
|
830
831
|
readonly locked?: boolean;
|
|
831
832
|
/** May be deleted, but never moved out of its parent (a Slider's controls work only as its direct children). */
|
|
@@ -888,17 +889,40 @@ declare enum SliderRole {
|
|
|
888
889
|
Pause = "slider.pause",
|
|
889
890
|
Prev = "slider.prev",
|
|
890
891
|
Next = "slider.next",
|
|
891
|
-
Pagination = "slider.pagination"
|
|
892
|
+
Pagination = "slider.pagination",
|
|
893
|
+
/** Premium M4 (M1.3): the bar UNDER the picture that holds the controls — caption · count · arrows. */
|
|
894
|
+
Bar = "slider.bar",
|
|
895
|
+
/** The caption of the slide in view (its `caption`, else its picture's description) — drawn by the runtime. */
|
|
896
|
+
Caption = "slider.caption",
|
|
897
|
+
/** "1 / 3", drawn by the runtime, left to right in every language. */
|
|
898
|
+
Count = "slider.count"
|
|
892
899
|
}
|
|
893
900
|
/** Parts in the order they are stamped: the pause control first (APG: the first focus stop), the dots last. */
|
|
894
901
|
declare const SLIDER_PART_ROLES: ReadonlyArray<SliderRole>;
|
|
902
|
+
/** Where the controls sit (premium M4): over the picture (CC3, every slider saved before M4) or in the bar under it. */
|
|
903
|
+
declare enum SliderPlacement {
|
|
904
|
+
Over = "over",
|
|
905
|
+
Under = "under"
|
|
906
|
+
}
|
|
907
|
+
declare const SLIDER_PLACEMENT_TRAIT = "controlsPlacement";
|
|
908
|
+
/** The bar's parts in reading order: the pause control, the caption at the reading start, the count, the dots, the
|
|
909
|
+
* arrows at the end (M1.3). */
|
|
910
|
+
declare const SLIDER_BAR_ORDER: ReadonlyArray<SliderRole>;
|
|
911
|
+
/** Premium M4: the trait that has the SCROLL play the slider (held mid-screen, resting on each picture). */
|
|
912
|
+
declare const SLIDER_SCROLL_PLAYS_TRAIT = "scrollPlays";
|
|
913
|
+
/** Premium M4: a slide's caption (SliderSlide ▸ Caption) — the bar's Caption part shows the one in view. */
|
|
914
|
+
declare const SLIDE_CAPTION_TRAIT = "caption";
|
|
895
915
|
declare const SLIDER_TYPE = "SliderContainer";
|
|
896
916
|
declare const SLIDE_TYPE = "SliderSlide";
|
|
897
917
|
/** The Bindings switches that own the parts. */
|
|
898
918
|
declare enum SliderFlag {
|
|
899
919
|
Navigation = "enableNavigation",
|
|
900
920
|
Pagination = "enablePagination",
|
|
901
|
-
Autoplay = "enableAutoplay"
|
|
921
|
+
Autoplay = "enableAutoplay",
|
|
922
|
+
/** Premium M4: a caption under the picture (the bar only). */
|
|
923
|
+
Caption = "enableCaption",
|
|
924
|
+
/** Premium M4: "1 / 3" under the picture (the bar only). */
|
|
925
|
+
Count = "enableCount"
|
|
902
926
|
}
|
|
903
927
|
/** The trait that names the carousel (Slider ▸ Accessibility ▸ Carousel name) — the A11y trait every named part uses. */
|
|
904
928
|
declare const SLIDER_NAME_TRAIT = "ariaLabel";
|
|
@@ -908,10 +932,18 @@ interface RoleLike {
|
|
|
908
932
|
}
|
|
909
933
|
declare function isSliderPart(node: RoleLike | null | undefined): boolean;
|
|
910
934
|
declare function isSlider(node: RoleLike | null | undefined): boolean;
|
|
911
|
-
/** The slider's own part playing `role`
|
|
912
|
-
declare function sliderPart<T extends RoleLike
|
|
935
|
+
/** The slider's own part playing `role` — a direct child, or one in its bar — or undefined. */
|
|
936
|
+
declare function sliderPart<T extends RoleLike & {
|
|
937
|
+
children?: T[] | null;
|
|
938
|
+
}>(slider: {
|
|
913
939
|
children?: T[] | null;
|
|
914
940
|
}, role: SliderRole): T | undefined;
|
|
941
|
+
/**
|
|
942
|
+
* Where the slider's controls sit. The STRUCTURE decides once there are controls — a bar means under the picture, a
|
|
943
|
+
* control of its own means over it (every slider saved before M4) — so a stored trait can never disagree with what is
|
|
944
|
+
* drawn. A slider with no controls yet takes its `controlsPlacement` (the builder's new Slider: under the picture).
|
|
945
|
+
*/
|
|
946
|
+
declare function sliderPlacementOf(slider: CompositeNode | null | undefined): SliderPlacement;
|
|
915
947
|
/** True when the slider's controls are parts (it was created or migrated in CC3) — Swiper then draws none of its own. */
|
|
916
948
|
declare function hasSliderParts(slider: {
|
|
917
949
|
children?: ReadonlyArray<RoleLike> | null;
|
|
@@ -926,7 +958,7 @@ declare function splitSliderChildren<T extends RoleLike>(children: ReadonlyArray
|
|
|
926
958
|
/** The slides only (the template slide of a bound slider is `sliderSlides(children)[0]`). */
|
|
927
959
|
declare function sliderSlides<T extends RoleLike>(children: ReadonlyArray<T> | null | undefined): T[];
|
|
928
960
|
/** Each part's glyph (Phosphor) and its default accessible name. */
|
|
929
|
-
declare const SLIDER_PART_GLYPH: Readonly<Record<
|
|
961
|
+
declare const SLIDER_PART_GLYPH: Readonly<Record<SliderRole.Pause | SliderRole.Prev | SliderRole.Next, string>>;
|
|
930
962
|
declare const SLIDER_PLAY_GLYPH = "ph-fill ph-play";
|
|
931
963
|
/**
|
|
932
964
|
* What a saved slider drew through Swiper before CC3, carried into its parts by the migration so it looks the same:
|
|
@@ -941,19 +973,27 @@ interface LegacySliderLook {
|
|
|
941
973
|
declare const SWIPER_THEME_COLOR = "#007aff";
|
|
942
974
|
/** One part, from the recipe (board 6: `button-secondary` controls, token dots) or in a migrated slider's legacy look. */
|
|
943
975
|
declare function buildSliderPart(create: CompositeNodeFactory, role: SliderRole, legacy?: LegacySliderLook): CompositeNode;
|
|
944
|
-
/** The parts the slider's switches call for, in stamping order
|
|
945
|
-
|
|
976
|
+
/** The parts the slider's switches call for, in stamping order — and its bar, while the controls sit under the
|
|
977
|
+
* picture. A caption and a count live in the bar only. */
|
|
978
|
+
declare function wantedSliderParts(slider: CompositeNode, placement?: SliderPlacement): SliderRole[];
|
|
946
979
|
interface SliderPartsChange {
|
|
947
980
|
added: CompositeNode[];
|
|
948
981
|
removed: CompositeNode[];
|
|
949
982
|
}
|
|
950
983
|
/**
|
|
951
|
-
* Make the slider's parts match its switches — ONE edit (a palette switch, the migration, the composer
|
|
952
|
-
* parts are stamped from the recipe (or, `legacy`, in the migrated look) at their place: the
|
|
953
|
-
* and Next before the first slide
|
|
954
|
-
*
|
|
984
|
+
* Make the slider's parts match its switches — ONE edit (a palette switch, the migration, the composer, a change of
|
|
985
|
+
* placement). Missing parts are stamped from the recipe (or, `legacy`, in the migrated look) at their place: over the
|
|
986
|
+
* picture, the pause control, Previous and Next before the first slide and the pagination after the last; under it
|
|
987
|
+
* (premium M4), every control in the bar in its reading order, the bar after the slides. Parts whose switch is off are
|
|
988
|
+
* removed wherever they are. Everything else (the slides, the author's edits to an existing part) is kept.
|
|
955
989
|
*/
|
|
956
990
|
declare function syncSliderParts(slider: CompositeNode, create: CompositeNodeFactory, legacy?: LegacySliderLook): SliderPartsChange;
|
|
991
|
+
/**
|
|
992
|
+
* Move the controls over the picture or into the bar under it (premium M4, M1.3 — Slider ▸ Controls) — ONE edit and
|
|
993
|
+
* one undo step. The parts keep their identity and the author's edits; only their place changes (in flow in the bar,
|
|
994
|
+
* absolute over the picture). A caption and a count exist only in the bar. True when anything changed.
|
|
995
|
+
*/
|
|
996
|
+
declare function setSliderPlacement(slider: CompositeNode, placement: SliderPlacement, create: CompositeNodeFactory): boolean;
|
|
957
997
|
/** True when a saved slider still relies on Swiper-drawn controls: a switch is on and no part exists yet. */
|
|
958
998
|
declare function needsSliderMigration(slider: CompositeNode | null | undefined): boolean;
|
|
959
999
|
/**
|
|
@@ -1081,6 +1121,31 @@ declare class CarouselA11y {
|
|
|
1081
1121
|
declare function carouselOf(el: Element | null | undefined): CarouselA11y | null;
|
|
1082
1122
|
/** Attach once per Swiper (a re-init gets a fresh runtime). */
|
|
1083
1123
|
declare function attachCarouselA11y(swiper: CarouselSwiper, options?: CarouselA11yOptions): CarouselA11y;
|
|
1124
|
+
/** Where the Caption and the Count parts get their words: generated content (`attr()`), never the element's text — so
|
|
1125
|
+
* the canvas's Text component and the runtime never write the same node. */
|
|
1126
|
+
declare const SLIDER_TEXT_ATTRIBUTE = "data-iox-text";
|
|
1127
|
+
/** Held for a frame while the caption changes, so its new words fade in (iox-design.css). */
|
|
1128
|
+
declare const SLIDER_SWAPPING_ATTRIBUTE = "data-iox-swapping";
|
|
1129
|
+
/** What the caption says for a slide: its own caption, else its picture's description, else nothing. */
|
|
1130
|
+
declare function sliderCaptionOf(slide: Element | null | undefined): string;
|
|
1131
|
+
/** "2 / 5" — the slide in view and how many there are; nothing for an empty slider. */
|
|
1132
|
+
declare function sliderCountText(index: number, total: number): string;
|
|
1133
|
+
/** The parts of a running Swiper the bar's runtime reads. */
|
|
1134
|
+
interface BarSwiper {
|
|
1135
|
+
el: HTMLElement;
|
|
1136
|
+
slides: HTMLElement[];
|
|
1137
|
+
activeIndex: number;
|
|
1138
|
+
realIndex?: number;
|
|
1139
|
+
destroyed?: boolean;
|
|
1140
|
+
on(event: string, handler: (...args: unknown[]) => void): void;
|
|
1141
|
+
off(event: string, handler: (...args: unknown[]) => void): void;
|
|
1142
|
+
}
|
|
1143
|
+
/**
|
|
1144
|
+
* Keep the bar's Caption and Count on the slide in view — the canvas, Preview and both engine paths (bootSlider). The
|
|
1145
|
+
* caption changes behind a short fade (the first one does not); the count reads left to right in every language.
|
|
1146
|
+
* Returns the stop; a slider with neither part gets a no-op.
|
|
1147
|
+
*/
|
|
1148
|
+
declare function attachSliderBar(swiper: BarSwiper): () => void;
|
|
1084
1149
|
|
|
1085
1150
|
/**
|
|
1086
1151
|
* THE LIGHTBOX (CC3 — complex-components plan §7d, board 6). Not a component: a Dialog holding a Slider bound to the
|
|
@@ -1631,5 +1696,18 @@ declare function isCompositeItemOn(el: Element): boolean;
|
|
|
1631
1696
|
*/
|
|
1632
1697
|
declare function runCompositeItemAction(el: Element | null | undefined, action: CompositeItemAction): boolean | null;
|
|
1633
1698
|
|
|
1634
|
-
|
|
1635
|
-
|
|
1699
|
+
/**
|
|
1700
|
+
* Set how a header behaves as the page scrolls (premium components T2, M4) — ONE edit for the builder's Header section
|
|
1701
|
+
* and the composer (generation-core), on either node shape. A header that stays at the top is the containing block of its
|
|
1702
|
+
* edge: the live site makes it sticky (iox-design.css), and a header stored `static` becomes `relative` — what the canvas,
|
|
1703
|
+
* which forces a node's own position, draws it with. Nothing else of the author's is touched.
|
|
1704
|
+
*/
|
|
1705
|
+
declare function setHeaderBehaviour(node: CompositeNode, behaviour: HeaderBehaviour | `${HeaderBehaviour}`, edge: HeaderEdge | `${HeaderEdge}` | null): void;
|
|
1706
|
+
/** The header's behaviour and edge as stored (Scrolls / none for a header that never chose). */
|
|
1707
|
+
declare function headerBehaviourOfNode(node: CompositeNode | null | undefined): {
|
|
1708
|
+
behaviour: HeaderBehaviour;
|
|
1709
|
+
edge: HeaderEdge | null;
|
|
1710
|
+
};
|
|
1711
|
+
|
|
1712
|
+
export { ACCORDION_BIND_PROP, ACCORDION_CONTENT_LIMIT, ACCORDION_DEFAULT_ONS, ACCORDION_ICONS, ACCORDION_ICON_GLYPH, ACCORDION_NEW_ITEM_WORDS, ACCORDION_WORDS, ACTIVATE_ON_ATTRIBUTE, AccordionClass, AccordionDefaultOn, AccordionEditRefusal, AccordionIcon, AccordionKeyAction, AccordionRole, AccordionRuntime, BADGE_TONES, BADGE_TONE_ICONS, BadgeTone, CARD_LAYOUTS, CARD_LAYOUT_CUSTOM, CARD_PARTS, CARD_PART_ROLE, CARD_STACK_BREAKPOINT, CARD_WORDS, CAROUSEL_QUOTES, CHIP_ICON, CHIP_STYLE, COMPOSITE_ATTRIBUTE, COMPOSITE_KIND_ROLES, COMPOSITE_ROLE_SPECS, CardLayout, CardPart, CardRole, CarouselA11y, CompositeBehaviourTrait, CompositeItemAction, CompositeKind, DEFAULT_ON_ATTRIBUTE, DISCLOSURE_ITEM_KEY, DISCLOSURE_WORDS, DisclosureRole, EXCLUSIVE_KIND_ROLES, ExclusiveRuntime, ITEM_KEY_ATTRIBUTE, ITEM_OFF_EVENT, ITEM_ON_EVENT, ITEM_OPEN_STATE, LIGHTBOX_ARROWS_HIDE_AT, LIGHTBOX_LABEL, MULTIPLE_ATTRIBUTE, NO_ELEMENT_STYLE, ON_ATTRIBUTE, ON_STATE, ORIENTATION_ATTRIBUTE, PILL_LABEL_STYLE, SCOPE_ATTRIBUTE, SEGMENTED_BADGE_TONE, SEGMENTED_BADGE_WORDS, SEGMENTED_BEHAVIOUR, SEGMENTED_MAX_OPTIONS, SEGMENTED_MIN_OPTIONS, SEGMENTED_NAME, SEGMENTED_NEW_OPTION_WORDS, SEGMENTED_WORDS, SLIDER_BAR_ORDER, SLIDER_NAME_TRAIT, SLIDER_PART_GLYPH, SLIDER_PART_ROLES, SLIDER_PLACEMENT_TRAIT, SLIDER_PLAY_GLYPH, SLIDER_SCROLL_PLAYS_TRAIT, SLIDER_SWAPPING_ATTRIBUTE, SLIDER_TEXT_ATTRIBUTE, SLIDER_TYPE, SLIDER_WORDS, SLIDE_CAPTION_TRAIT, SLIDE_TO_ROW, SLIDE_TYPE, SWIPER_THEME_COLOR, SceneRole, SegmentedEditRefusal, SegmentedRole, SegmentedTrait, SliderFlag, SliderPlacement, SliderRole, StructureEdit, StructureRefusal, TABS_ACTIVATE_ONS, TABS_CONTENT_LIMIT, TABS_IMAGE_BIND_PROP, TABS_LABEL_BIND_PROP, TABS_NEW_TAB_WORDS, TABS_ORIENTATIONS, TABS_STACK_BREAKPOINT, TABS_TEXT_BIND_PROP, TABS_WORDS, TabsActivateOn, TabsBehaviourTrait, TabsEditRefusal, TabsOrientation, TabsRole, UNTIL_FOUND, acceptsRefusal, accordionAnswerOf, accordionBehaviour, accordionDomIds, accordionFocusIndex, accordionHeadingLevel, accordionItemAttributes, accordionItemLabel, accordionItemOf, accordionItemState, accordionItems, accordionKeyAction, accordionPanelAttributes, accordionPanelOf, accordionPartStyle, accordionQuestionOf, accordionRegionAttributes, accordionRemovalRefusal, accordionRootAttributes, accordionRootOf, accordionRootOfItem, accordionRuntimeOf, accordionScope, accordionToContent, accordionToManual, accordionTrackAttributes, accordionTriggerAttributes, accordionTriggerOf, addAccordionItem, addSegmentedOption, addTabPair, applyCardLayout, attachAccordionAt, attachAccordions, attachCarouselA11y, attachCompositeAt, attachExclusiveAt, attachSliderBar, badgeStyleId, badgeToneOf, buildAccordionItem, buildAccordionRecipe, buildBadge, buildCardRecipe, buildCarouselRecipe, buildChip, buildCompositeIcon, buildDisclosureRecipe, buildLightboxRecipe, buildSegmentedOption, buildSegmentedRecipe, buildSliderPart, buildTabPair, buildTabsRecipe, canOpenAtClickedItem, cardPartsOf, cardRootOf, cardTitleOf, carouselOf, clearLayerStyles, closeAccordionItem, closestAccordion, closestAccordionItem, closestExclusive, closestExclusiveItemPart, compositeItemOf, compositeItems, compositeKindOfRole, compositeRootOf, compositeRowKeys, compositeScopeId, detachAccordion, detectAccordionIcon, detectCardLayout, disclosureOpenByDefault, domSafeKey, exclusiveBehaviourOf, exclusiveDefaultOf, exclusiveItemLabel, exclusiveItemPartOf, exclusiveKindHasPanels, exclusiveKindOf, exclusiveLabelOf, exclusivePartAttributes, exclusiveRootAttributesOf, exclusiveRootHoldsTriggers, exclusiveRootOf, exclusiveRuntimeOf, exclusiveScopeFor, findByRole, hasLabelledRegion, hasSliderParts, headerBehaviourOfNode, initialAccordionOpen, isAccordionFromContent, isAccordionItemOn, isAccordionPart, isAccordionRoot, isAnyCompositeRoot, isCardLinked, isCardRoot, isCompositeItem, isCompositeItemOn, isCompositePanel, isCompositeRoot, isCompositeTrigger, isDisclosurePart, isDisclosureRoot, isExclusiveItemOn, isExclusiveItemPart, isExclusiveKind, isExclusiveList, isExclusivePanel, isExclusivePanels, isExclusiveRoot, isExclusiveTrigger, isLockedPart, isPartOfExclusiveScope, isPillNode, isSegmentedPart, isSegmentedRoot, isSlider, isSliderPart, isTabsFromContent, isTabsPart, isTabsRoot, isToggleKind, itemOpenTriggerIds, lightboxSliderOf, makeCompositePart, manualTabKeys, migrateSliderControls, moveAccordionItem, moveSegmentedOption, moveTabPair, needsSliderMigration, nextAccordionState, nextItemKey, nextSegmentedKey, nextTabKey, onAccordionItemState, onCompositeItemState, onExclusiveItemState, openAccordionItem, parentInComposite, pickAccordionAutoBinds, pickTabsAutoBinds, readLayerStyle, readProp, readStyle, removeFromComposite, removeSegmentedOption, removeTabPair, renameAccordionItem, renameSegmentedOption, renameTab, repeatSourceOf, rowIndexOf, rowItemKey, rowSourceOf, runCompositeItemAction, sameRepeatSource, segmentedAddRefusal, segmentedBadgeOf, segmentedDefaultOn, segmentedItemTriggerIds, segmentedKeyAction, segmentedKeys, segmentedLabel, segmentedOptionAttributes, segmentedOptionKey, segmentedOptionLabel, segmentedOptionLabelNodeOf, segmentedOptions, segmentedPartAttributes, segmentedRemovalRefusal, segmentedRootAttributes, segmentedRootAttributesOf, segmentedScopeFor, serializeDomAttributes, setAccordionBehaviour, setAccordionIcon, setBadgeTone, setCardLinked, setCardPart, setHeaderBehaviour, setSegmentedBadge, setSegmentedBehaviour, setSliderFlag, setSliderPlacement, setTabsBehaviour, shouldScrollToItem, slideIndexForRow, sliderCaptionOf, sliderCountText, sliderLiveRegion, sliderPart, sliderPartElement, sliderPauseAttributes, sliderPauseGlyph, sliderPlacementOf, sliderSlides, sliderWords, splitSliderChildren, structureRefusal, syncSliderParts, tabLabel, tabLabelNodeOf, tabListAttributes, tabPanelAttributes, tabPanelImageOf, tabPanelOf, tabPanelTextOf, tabPartKey, tabTriggerAttributes, tabTriggerOf, tabsBehaviour, tabsItemState, tabsItemTriggerIds, tabsKeyAction, tabsLabel, tabsListOf, tabsPanels, tabsPanelsOf, tabsPartAttributes, tabsPartnerOf, tabsRemovalRefusal, tabsRootAttributes, tabsScope, tabsScopeFor, tabsToContent, tabsToManual, tabsTriggers, walkComposite, wantedSliderParts, writeLayerStyles, writeProp, writeStyles };
|
|
1713
|
+
export type { AccordionAutoBinds, AccordionBehaviour, AccordionDomIds, AccordionItemState, AccordionOptions, AccordionRuntimeOptions, AccordionScope, AccordionWords, BarSwiper, BaselineStyles, CardEditOptions, CardLayoutResult, CardLayoutState, CardOptions, CardPartChange, CardWords, CarouselA11yOptions, CarouselOptions, CarouselQuote, CarouselSwiper, CompositeBinding, CompositeKindRoles, CompositeLayer, CompositeNode, CompositeNodeFactory, CompositeNodeSpec, CompositeRoleSpec, CompositeRuntime, CompositeTrait, ContentFieldLike, DisclosureOptions, DisclosureWords, DomAttributes, ExclusiveCompositeKind, ExclusiveKindRoles, ExclusiveRuntimeOptions, ExclusiveScope, LegacySliderLook, LightboxOptions, PillOptions, RepeatSource, SegmentedOptionWords, SegmentedOptions, SliderPartsChange, SliderWords, TabPair, TabWords, TabsAutoBinds, TabsBehaviour, TabsItemState, TabsOptions, TabsScope, ToggleCompositeKind };
|