@vectoriox/iox-builder 11.17.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. */
@@ -1916,6 +1917,10 @@ declare class InteractionEngineService {
1916
1917
  * builder canvas and the live site behave identically.
1917
1918
  */
1918
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;
1919
1924
  /** The repeater item this element belongs to — the nearest marked row ancestor. */
1920
1925
  private rowItemFor;
1921
1926
  /** Resolved data for the canvas, kept current by the repeater as it fetches. */
@@ -2300,6 +2305,10 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2300
2305
  * Only nodes that read a slot are touched; nothing else re-renders (trap T2).
2301
2306
  */
2302
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;
2303
2312
  layout: ComponentNode[];
2304
2313
  dataSources: IoxDataSource[];
2305
2314
  orgId: string;
@@ -2517,6 +2526,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
2517
2526
  * showToast row) so the author styles them on the canvas — never saved, never an undo step.
2518
2527
  */
2519
2528
  private attachCanvasFloating;
2529
+ private attachCanvasShop;
2530
+ private findByRole;
2520
2531
  private applyFloatingDesign;
2521
2532
  /** The element carrying a node's tooltip on the canvas (its host or the element inside it the a11y sync wrote on). */
2522
2533
  private tooltipTriggerOf;
@@ -4464,14 +4475,23 @@ declare enum CompositePresetId {
4464
4475
  Scene = "scene",
4465
4476
  Marquee = "marquee",
4466
4477
  Counter = "counter",
4467
- 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"
4468
4486
  }
4469
4487
  /** Where a composite sits in the Components panel (composite plan §6d): content blocks, or the interactive
4470
4488
  * composites (the Accordion — CC2, the Disclosure — CC2.1, Tabs — CC4a, the Segmented control — CC4b; the floating
4471
4489
  * family later). */
4472
4490
  declare enum CompositePaletteGroup {
4473
4491
  ContentBlocks = "content-blocks",
4474
- 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"
4475
4495
  }
4476
4496
  interface CompositePresetDef {
4477
4497
  id: CompositePresetId;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "11.17.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.91.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",