@vectoriox/iox-ui 5.86.0 → 5.86.1

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.
@@ -3166,6 +3166,9 @@ function sliderInputsFromProps(props, responsive) {
3166
3166
  * (premium M4) sits in its runway — the string path writes the same `iox-slider-runway` wrapper.
3167
3167
  */
3168
3168
  class ClientSliderContainerComponent {
3169
+ get runwaySteps() {
3170
+ return Math.max(0, this.slideTotal - 1);
3171
+ }
3169
3172
  constructor(platformId) {
3170
3173
  this.platformId = platformId;
3171
3174
  this.nodeId = '';
@@ -3214,6 +3217,9 @@ class ClientSliderContainerComponent {
3214
3217
  this.scrollPlays = false;
3215
3218
  this.swiper = null;
3216
3219
  this.slidesSeen = false;
3220
+ /** The slides the renderer placed (it asks `childHostFor` for each, before the first change detection), so a played
3221
+ * slider's runway reserves its steps in the SERVER render — the page never shifts when the slider boots. */
3222
+ this.slideTotal = 0;
3217
3223
  this.instanceRegistry = inject(ComponentInstanceRegistryService);
3218
3224
  }
3219
3225
  /** Swiper draws its own arrows / dots only for a saved slider whose controls are not parts yet. */
@@ -3225,6 +3231,7 @@ class ClientSliderContainerComponent {
3225
3231
  childHostFor(child) {
3226
3232
  if (!isSliderPart(child)) {
3227
3233
  this.slidesSeen = true;
3234
+ this.slideTotal++;
3228
3235
  return this.childrenHost;
3229
3236
  }
3230
3237
  return this.slidesSeen ? this.trailHost : this.leadHost;
@@ -3265,7 +3272,8 @@ class ClientSliderContainerComponent {
3265
3272
  }
3266
3273
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderContainerComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
3267
3274
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.31", type: ClientSliderContainerComponent, isStandalone: false, selector: "iox-slider-container", inputs: { nodeId: "nodeId", dir: "dir", direction: "direction", loop: "loop", slidesPerView: "slidesPerView", slidesPerGroup: "slidesPerGroup", spaceBetween: "spaceBetween", speed: "speed", effect: "effect", grabCursor: "grabCursor", centeredSlides: "centeredSlides", initialSlide: "initialSlide", autoHeight: "autoHeight", slideToClickedSlide: "slideToClickedSlide", freeMode: "freeMode", enableNavigation: "enableNavigation", enablePagination: "enablePagination", enableScrollbar: "enableScrollbar", enableAutoplay: "enableAutoplay", enableKeyboard: "enableKeyboard", enableMousewheel: "enableMousewheel", enableZoom: "enableZoom", enableGrid: "enableGrid", enableParallax: "enableParallax", autoplayDelay: "autoplayDelay", autoplayPauseOnMouseEnter: "autoplayPauseOnMouseEnter", autoplayDisableOnInteraction: "autoplayDisableOnInteraction", paginationType: "paginationType", paginationClickable: "paginationClickable", paginationDynamicBullets: "paginationDynamicBullets", navigationColor: "navigationColor", paginationColor: "paginationColor", gridRows: "gridRows", breakpoints: "breakpoints", responsive: "responsive", controlParts: "controlParts", scrollPlays: "scrollPlays" }, viewQueries: [{ propertyName: "childrenHost", first: true, predicate: ["childrenHost"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "leadHost", first: true, predicate: ["leadHost"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "trailHost", first: true, predicate: ["trailHost"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "swiperEl", first: true, predicate: ["swiperEl"], descendants: true, static: true }], ngImport: i0, template: `
3268
- <div [class.iox-slider-runway]="scrollPlays" [attr.data-iox-scene]="scrollPlays ? '' : null" [style.display]="scrollPlays ? null : 'contents'">
3275
+ <div [class.iox-slider-runway]="scrollPlays" [attr.data-iox-scene]="scrollPlays ? '' : null" [style.display]="scrollPlays ? null : 'contents'"
3276
+ [style.--slider-steps]="scrollPlays ? runwaySteps : null">
3269
3277
  <div class="swiper" [class]="'swiper iox-node-' + nodeId" [attr.dir]="dir" [style.direction]="dir"
3270
3278
  [style.--swiper-navigation-color]="legacyControls ? (navigationColor || null) : null"
3271
3279
  [style.--swiper-pagination-color]="legacyControls ? (paginationColor || null) : null" #swiperEl>
@@ -3285,7 +3293,8 @@ class ClientSliderContainerComponent {
3285
3293
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.31", ngImport: i0, type: ClientSliderContainerComponent, decorators: [{
3286
3294
  type: Component,
3287
3295
  args: [{ selector: 'iox-slider-container', template: `
3288
- <div [class.iox-slider-runway]="scrollPlays" [attr.data-iox-scene]="scrollPlays ? '' : null" [style.display]="scrollPlays ? null : 'contents'">
3296
+ <div [class.iox-slider-runway]="scrollPlays" [attr.data-iox-scene]="scrollPlays ? '' : null" [style.display]="scrollPlays ? null : 'contents'"
3297
+ [style.--slider-steps]="scrollPlays ? runwaySteps : null">
3289
3298
  <div class="swiper" [class]="'swiper iox-node-' + nodeId" [attr.dir]="dir" [style.direction]="dir"
3290
3299
  [style.--swiper-navigation-color]="legacyControls ? (navigationColor || null) : null"
3291
3300
  [style.--swiper-pagination-color]="legacyControls ? (paginationColor || null) : null" #swiperEl>