@vectoriox/iox-ui 5.84.0 → 5.85.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.
Files changed (37) hide show
  1. package/actions-core/index.d.ts +18 -2
  2. package/composite-core/index.d.ts +93 -15
  3. package/design-core/index.d.ts +566 -4
  4. package/fesm2022/vectoriox-iox-ui-actions-core.mjs +18 -1
  5. package/fesm2022/vectoriox-iox-ui-actions-core.mjs.map +1 -1
  6. package/fesm2022/vectoriox-iox-ui-composite-core.mjs +307 -39
  7. package/fesm2022/vectoriox-iox-ui-composite-core.mjs.map +1 -1
  8. package/fesm2022/vectoriox-iox-ui-design-core.mjs +680 -15
  9. package/fesm2022/vectoriox-iox-ui-design-core.mjs.map +1 -1
  10. package/fesm2022/vectoriox-iox-ui-generation-core.mjs +35 -4
  11. package/fesm2022/vectoriox-iox-ui-generation-core.mjs.map +1 -1
  12. package/fesm2022/vectoriox-iox-ui-scene-core.mjs +101 -5
  13. package/fesm2022/vectoriox-iox-ui-scene-core.mjs.map +1 -1
  14. package/fesm2022/vectoriox-iox-ui.mjs +285 -12
  15. package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
  16. package/generation-core/index.d.ts +13 -0
  17. package/index.d.ts +143 -42
  18. package/package.json +1 -1
  19. package/scene-core/index.d.ts +32 -4
  20. package/src/actions-core/dialog-motion.ts +25 -0
  21. package/src/composite-core/header.ts +25 -0
  22. package/src/composite-core/public-api.ts +1 -0
  23. package/src/composite-core/slider-runtime.ts +82 -0
  24. package/src/composite-core/slider.ts +194 -27
  25. package/src/composite-core/structure.ts +14 -9
  26. package/src/design-core/flavor-spec.generated.ts +596 -9
  27. package/src/design-core/header-behaviour.ts +76 -0
  28. package/src/design-core/public-api.ts +1 -0
  29. package/src/design-core/theme-color.ts +21 -5
  30. package/src/generation-core/compose-site.ts +8 -0
  31. package/src/generation-core/node-baselines.generated.ts +17 -3
  32. package/src/generation-core/patterns.ts +2 -0
  33. package/src/generation-core/site-spec.generated.ts +8 -0
  34. package/src/scene-core/scene.ts +18 -0
  35. package/src/scene-core/scroll-driver.ts +83 -6
  36. package/styles/iox-design.css +232 -1
  37. package/styles/iox-forms.css +5 -2
@@ -240,6 +240,22 @@ declare function runExitMotion(el: ExitMotionElement, options: ExitMotionOptions
240
240
  declare function closeDialogAnimated(el: DialogElementLike, options: ExitMotionOptions): Promise<void>;
241
241
  /** True when a toggle should CLOSE the dialog: it is open and not already on its way out. */
242
242
  declare function dialogTogglesClosed(el: Pick<DialogElementLike, 'open' | 'hasAttribute'>): boolean;
243
+ interface FocusableSheet {
244
+ classList: {
245
+ contains(token: string): boolean;
246
+ };
247
+ querySelector(selector: string): unknown;
248
+ hasAttribute(name: string): boolean;
249
+ setAttribute(name: string, value: string): void;
250
+ focus(options?: FocusOptions): void;
251
+ }
252
+ /**
253
+ * A styled dialog a visitor just opened takes focus on its SHEET (premium components M4 — M1.1's carry-over). A bare
254
+ * `showModal()` focuses its first control, and a phone can ring it after a tap; the sheet never rings (iox-design.css) and
255
+ * the first Tab moves to that control, with its ring. A dialog with an author's `[autofocus]` keeps it; a dialog saved
256
+ * before element styles keeps the browser's behaviour. True when the sheet took focus.
257
+ */
258
+ declare function focusDialogSheet(dialog: FocusableSheet | null | undefined): boolean;
243
259
 
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 };
260
+ 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, focusDialogSheet, groupedElementActions, isExiting, itemActionOf, nodeIdOfDialogDomId, openedDialogId, opensAtClickedItem, resolveActionAvailability, runExitMotion };
261
+ 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` (a direct child), or undefined. */
912
- declare function sliderPart<T extends RoleLike>(slider: {
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<Exclude<SliderRole, SliderRole.Pagination>, string>>;
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
- declare function wantedSliderParts(slider: CompositeNode): SliderRole[];
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). Missing
952
- * parts are stamped from the recipe (or, `legacy`, in the migrated look) at their place: the pause control, Previous
953
- * and Next before the first slide, the pagination after the last; parts whose switch is off are removed. Everything
954
- * else (the slides, the author's edits to an existing part) is kept.
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
- 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_NAME_TRAIT, SLIDER_PART_GLYPH, SLIDER_PART_ROLES, SLIDER_PLAY_GLYPH, SLIDER_TYPE, SLIDER_WORDS, SLIDE_TO_ROW, SLIDE_TYPE, SWIPER_THEME_COLOR, SceneRole, SegmentedEditRefusal, SegmentedRole, SegmentedTrait, SliderFlag, 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, 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, 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, setSegmentedBadge, setSegmentedBehaviour, setSliderFlag, setTabsBehaviour, shouldScrollToItem, slideIndexForRow, sliderLiveRegion, sliderPart, sliderPartElement, sliderPauseAttributes, sliderPauseGlyph, 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 };
1635
- export type { AccordionAutoBinds, AccordionBehaviour, AccordionDomIds, AccordionItemState, AccordionOptions, AccordionRuntimeOptions, AccordionScope, AccordionWords, 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 };
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 };