@lark-apaas/coding-registry-buildless 0.1.11 → 0.1.12-alpha.20260805121748

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/coding-registry-buildless",
3
- "version": "0.1.11",
3
+ "version": "0.1.12-alpha.20260805121748",
4
4
  "description": "Miaoda registry (buildless runtime) — shadcn-style copy-in SDKs (globals + CDN-pinned, browser Babel) for buildless static HTML stacks",
5
5
  "type": "module",
6
6
  "files": [
@@ -226,6 +226,20 @@
226
226
  opacity: 1;
227
227
  pointer-events: auto;
228
228
  visibility: visible;
229
+ /* Four other surfaces re-clip, each in its own place: noscale and
230
+ data-snthumb just below, print in @media print, mobile browse and
231
+ ?preflight=1 per-card in _fitMobileList — that last one is what
232
+ still exposes overflow to the preflight quality pass. */
233
+ overflow-y: auto;
234
+ /* A gutter would reflow the 1920×1080 design box (classic scrollbars,
235
+ ~15px, Windows/Linux) on the very pages already overflowing. No
236
+ ::-webkit-scrollbar fallback is possible: through ::slotted() it
237
+ fails to parse, so such a rule silently does nothing. */
238
+ scrollbar-width: none;
239
+ }
240
+ :host([noscale]) ::slotted([data-deck-active]),
241
+ :host([data-snthumb]) ::slotted([data-deck-active]) {
242
+ overflow-y: hidden;
229
243
  }
230
244
 
231
245
  /* ── Thumbnail rail ──────────────────────────────────────────────────
@@ -654,7 +668,11 @@
654
668
  break-after: page;
655
669
  page-break-after: always;
656
670
  break-inside: avoid;
657
- overflow: hidden;
671
+ /* Needed because beforeprint marks EVERY slide data-deck-active,
672
+ whose screen rule out-specifies this one. Its price: importance
673
+ reverses outer/inner-tree order, so this also overrides an
674
+ author's own overflow:visible, which still wins on screen. */
675
+ overflow: hidden !important;
658
676
  }
659
677
  /* :last-child alone isn't enough once data-deck-skip hides the
660
678
  trailing slide(s) — the last *visible* slide still carries
@@ -735,7 +753,12 @@
735
753
  document.documentElement.style.background = '#fff';
736
754
  document.body.style.background = '#fff';
737
755
  }
738
- if (this._snthumb) this.setAttribute('no-rail', '');
756
+ // Capture needs a flag of its own: no-rail is also a public authoring
757
+ // attribute, and such an embed is still an interactive view.
758
+ if (this._snthumb) {
759
+ this.setAttribute('no-rail', '');
760
+ this.setAttribute('data-snthumb', '');
761
+ }
739
762
  this._render();
740
763
  this._loadNotes();
741
764
  this._syncPrintPageRule();
@@ -1526,6 +1549,14 @@
1526
1549
  if (i === curr) s.setAttribute('data-deck-active', '');
1527
1550
  else s.removeAttribute('data-deck-active');
1528
1551
  });
1552
+ // Slides are hidden, not unmounted, so one left mid-scroll comes back
1553
+ // mid-scroll. A deliberate exception to the preserve-state rule that
1554
+ // keeps videos/inputs alive across nav: scroll offset is framing, not
1555
+ // state. Excluded for 'mutation' — a rail drag must not yank the slide
1556
+ // under the user, same reason _syncRail's follow-scroll is.
1557
+ if (reason !== 'mutation' && curr !== prev && this._slides[curr]) {
1558
+ this._slides[curr].scrollTop = 0;
1559
+ }
1529
1560
  // Follow-scroll on every navigation (init deep-link, keyboard, click,
1530
1561
  // tap, external goTo) — the only time we *don't* want the rail to
1531
1562
  // track current is after a rail-internal mutation, where _renderRail