@vectoriox/iox-builder 11.16.0 → 11.18.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/index.d.ts CHANGED
@@ -6,6 +6,7 @@ import { ResponsiveOverrides, RelativeSourceSpec, Breakpoint, PageStyleSettings,
6
6
  export { ComponentInstanceRegistryService, IoxContextSlot, PageStyleSettings, SetContextParams, VIRTUAL_TRAIT_KEYS, composeVirtualTraits } from '@vectoriox/iox-ui';
7
7
  import * as rxjs from 'rxjs';
8
8
  import { Subject, Subscription, BehaviorSubject, Observable } from 'rxjs';
9
+ import { StorefrontProduct } from '@vectoriox/iox-ui/commerce-core';
9
10
  import * as _vectoriox_iox_builder from '@vectoriox/iox-builder';
10
11
  import * as i26 from 'primeng/popover';
11
12
  import { Popover } from 'primeng/popover';
@@ -134,7 +135,7 @@ interface IoxDataSource {
134
135
  }
135
136
 
136
137
  type InteractionTrigger = 'pageLoad' | 'click' | 'hover' | 'viewportEnter' | 'scrollProgress' | 'pageLeave' | 'pageEnter' | 'swiperSlideChange' | 'swiperReachBeginning' | 'swiperReachEnd' | 'swiperAutoplayStart' | 'swiperAutoplayStop' | 'swiperSlideActive' | 'swiperSlideInactive' | 'itemOn' | 'itemOff';
137
- type InteractionActionType = 'fadeIn' | 'fadeOut' | 'moveUp' | 'moveDown' | 'moveLeft' | 'moveRight' | 'scaleIn' | 'scaleOut' | 'rotate' | 'clipReveal' | 'zoomOut' | 'revealText' | 'countUp' | 'parallax' | 'progressBar' | 'show' | 'hide' | 'toggleVisibility' | 'setContext' | 'clearContext' | 'openDialog' | 'closeDialog' | 'toggleDialog' | 'openPopover' | 'closePopover' | 'togglePopover' | 'showToast' | 'openItem' | 'closeItem' | 'toggleItem' | 'navigate' | 'scrollTo' | 'submitForm' | 'copyToClipboard' | 'grantConsent' | 'denyConsent' | 'setConsentCategory' | 'openConsentPreferences' | 'swiperNext' | 'swiperPrev' | 'swiperGoToSlide' | 'swiperAutoplayStart' | 'swiperAutoplayStop' | 'swiperAutoplayPause';
138
+ type InteractionActionType = 'fadeIn' | 'fadeOut' | 'moveUp' | 'moveDown' | 'moveLeft' | 'moveRight' | 'scaleIn' | 'scaleOut' | 'rotate' | 'clipReveal' | 'zoomOut' | 'revealText' | 'countUp' | 'parallax' | 'progressBar' | 'show' | 'hide' | 'toggleVisibility' | 'setContext' | 'clearContext' | 'openDialog' | 'closeDialog' | 'toggleDialog' | 'openPopover' | 'closePopover' | 'togglePopover' | 'showToast' | 'openItem' | 'closeItem' | 'toggleItem' | 'navigate' | 'scrollTo' | 'submitForm' | 'copyToClipboard' | 'grantConsent' | 'denyConsent' | 'setConsentCategory' | 'openConsentPreferences' | 'addToCart' | 'startCheckout' | 'swiperNext' | 'swiperPrev' | 'swiperGoToSlide' | 'swiperAutoplayStart' | 'swiperAutoplayStop' | 'swiperAutoplayPause';
138
139
  interface InteractionAction {
139
140
  type: InteractionActionType;
140
141
  /** 'self' targets the node that owns the interaction; otherwise a node ID. */
@@ -665,6 +666,8 @@ interface PageSettings {
665
666
  /** Created with (or adopted into) the design system (DS3): unset style falls back to the org's
666
667
  * page-bg / text / font-body tokens (`compilePageStyle`). Absent on every page saved before DS3. */
667
668
  designSystem?: boolean;
669
+ /** The colour scheme of the ground the page opens on (a composed page, iox-ui#71): the site header follows it. */
670
+ opening?: string;
668
671
  }
669
672
  declare function defaultPageSettings(): PageSettings;
670
673
  declare enum ToolbarAction {
@@ -1914,6 +1917,10 @@ declare class InteractionEngineService {
1914
1917
  * builder canvas and the live site behave identically.
1915
1918
  */
1916
1919
  private applyContextAction;
1920
+ private executeShopAction;
1921
+ /** The product a shop part on the canvas belongs to: its row's, else the route item's, else the page's first —
1922
+ * else the sample (board 10's vase), so an unbound part is still designable. */
1923
+ productFor(el: Element | null): StorefrontProduct;
1917
1924
  /** The repeater item this element belongs to — the nearest marked row ancestor. */
1918
1925
  private rowItemFor;
1919
1926
  /** Resolved data for the canvas, kept current by the repeater as it fetches. */
@@ -2298,6 +2305,10 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2298
2305
  * Only nodes that read a slot are touched; nothing else re-renders (trap T2).
2299
2306
  */
2300
2307
  private readonly contextEffect;
2308
+ /** Commerce E1c: the shop parts run on the canvas — the live site's runtime over an in-memory SAMPLE bag that starts
2309
+ * with one line (so the drawer has a line to design) and is never written anywhere. */
2310
+ private canvasShop;
2311
+ private readonly instanceRegistry;
2301
2312
  layout: ComponentNode[];
2302
2313
  dataSources: IoxDataSource[];
2303
2314
  orgId: string;
@@ -2432,6 +2443,9 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2432
2443
  * the site global elements sit inside <body> and inherit it; on the canvas they are a sibling
2433
2444
  * layer of the page, so they get it explicitly. Never the background (it would cover the page). */
2434
2445
  globalLayerCss: Record<string, string>;
2446
+ /** The scheme the page opens on (`pageSettings.opening`), on the header's layer as `data-iox-opening`: the site header
2447
+ * wears it on the canvas as on the site (iox-ui#71). Null — the header keeps its own. */
2448
+ openingScheme: string | null;
2435
2449
  /** The page reserves a bottom bar's height on the canvas where the bar shows (CC1 R1) — design-core's
2436
2450
  * `barReserveClass` of the bar among the globals, or null. A field, recomputed when globals change. */
2437
2451
  canvasBarReserve: string | null;
@@ -2512,6 +2526,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2512
2526
  * showToast row) so the author styles them on the canvas — never saved, never an undo step.
2513
2527
  */
2514
2528
  private attachCanvasFloating;
2529
+ private attachCanvasShop;
2530
+ private findByRole;
2515
2531
  private applyFloatingDesign;
2516
2532
  /** The element carrying a node's tooltip on the canvas (its host or the element inside it the a11y sync wrote on). */
2517
2533
  private tooltipTriggerOf;
@@ -4459,14 +4475,23 @@ declare enum CompositePresetId {
4459
4475
  Scene = "scene",
4460
4476
  Marquee = "marquee",
4461
4477
  Counter = "counter",
4462
- ReadingBar = "reading-bar"
4478
+ ReadingBar = "reading-bar",
4479
+ Price = "shop-price",
4480
+ Variants = "shop-variants",
4481
+ Quantity = "shop-quantity",
4482
+ AddToCart = "shop-add",
4483
+ BuyNow = "shop-buy-now",
4484
+ CartButton = "shop-cart-button",
4485
+ CartDrawer = "shop-cart-drawer"
4463
4486
  }
4464
4487
  /** Where a composite sits in the Components panel (composite plan §6d): content blocks, or the interactive
4465
4488
  * composites (the Accordion — CC2, the Disclosure — CC2.1, Tabs — CC4a, the Segmented control — CC4b; the floating
4466
4489
  * family later). */
4467
4490
  declare enum CompositePaletteGroup {
4468
4491
  ContentBlocks = "content-blocks",
4469
- Interactive = "interactive"
4492
+ Interactive = "interactive",
4493
+ /** Commerce E1c (C-D16, commerce board 10): the parts a product page and the bag are built from. */
4494
+ Shop = "shop"
4470
4495
  }
4471
4496
  interface CompositePresetDef {
4472
4497
  id: CompositePresetId;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "11.16.0",
3
+ "version": "11.18.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",
7
7
  "@angular/animations": ">=20.0.0",
8
8
  "@angular/cdk": ">=20.0.0",
9
- "@vectoriox/iox-ui": ">=5.88.0",
9
+ "@vectoriox/iox-ui": ">=5.95.0",
10
10
  "interactjs": "^1.10.27",
11
11
  "primeng": ">=20.0.0",
12
12
  "swiper": ">=12.0.0",