@energy8platform/platform-core 0.25.1 → 0.25.2

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.
@@ -227,15 +227,30 @@ export const SHELL_CSS = SHELL_FONT_CSS + `
227
227
  /* the buy-bonus scroll area is a SIZE CONTAINER, so the cards' cqh units measure the overlay
228
228
  (the popout frame) and not the browser window — cards fit without any vertical scroll. */
229
229
  #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-scroll { container-type:size; }
230
+ /* Popout / landscape: the horizontal card strip must be the ONLY scroll axis. The cqh-sized cards
231
+ are meant to fit the overlay height (no vertical scroll), but the old 7px font floor stopped them
232
+ shrinking on the tiniest popouts — so they spilled past the frame and the overlay grew a SECOND,
233
+ vertical scrollbar (scrollable in both directions). Two changes keep it single-axis:
234
+ 1. the card font floor drops (below) so cards actually fit the frame height; and
235
+ 2. vertical scrolling is locked off as a belt-and-braces guard, with the strip centred (the body
236
+ fills the frame and centres the grid) so any sub-pixel slack splits evenly instead of clipping
237
+ the price/CTA off the bottom.
238
+ This mirrors the pixi shell, which masks the cards and drag-scrolls on the X axis alone. (Centring
239
+ lives on the body, not the scroll box, so the grid keeps its width and its own X-scroll.) */
240
+ #${SHELL_ROOT_ID}:not(.ge-mobile) [data-ge="buybonus-overlay"] .ge-ov-scroll { overflow-y:hidden; }
241
+ #${SHELL_ROOT_ID}:not(.ge-mobile) [data-ge="buybonus-overlay"] .ge-ov-body {
242
+ min-height:100%; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; }
230
243
  /* buy-bonus uses the FULL overlay width (no 800px centre cap) so the card row isn't cropped at
231
244
  the sides; small horizontal padding keeps the cards off the screen edges. */
232
- #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-body { max-width:none; padding:clamp(8px,3cqh,16px) clamp(12px,3vw,28px); }
245
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-body { max-width:none; padding:clamp(6px,2.5cqh,16px) clamp(12px,3vw,28px); }
233
246
  #${SHELL_ROOT_ID} .ge-bb-grid { display:flex; gap:14px; justify-content:safe center; overflow-x:auto; overflow-y:hidden; padding-bottom:6px;
234
247
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; }
235
248
  /* the one knob that scales the whole card — cqh measures the overlay (popout frame), not the
236
- browser window, so cards shrink to fit the real container height. */
249
+ browser window, so cards shrink to fit the real container height. The floor is deliberately tiny:
250
+ on a 400×225 popout the whole card (incl. the CTA) only fits below ~5px, and a fully visible,
251
+ single-axis-scrolling card beats a bigger one whose button is clipped or needs a 2nd scrollbar. */
237
252
  #${SHELL_ROOT_ID} .ge-bb-grid .ge-bonus-card { flex:0 0 18em; scroll-snap-align:start;
238
- font-size:clamp(7px, 3.6cqh, 12px); }
253
+ font-size:clamp(4px, 3.4cqh, 12px); }
239
254
  /* mobile: vertical stack at a fixed, readable size — scroll the list, don't shrink the cards */
240
255
  #${SHELL_ROOT_ID}.ge-mobile .ge-bb-grid { display:flex; flex-direction:column; gap:14px; overflow:visible; }
241
256
  #${SHELL_ROOT_ID}.ge-mobile .ge-bb-grid .ge-bonus-card { flex:0 0 auto; font-size:12px; }
@@ -288,6 +303,24 @@ export const SHELL_CSS = SHELL_FONT_CSS + `
288
303
  #${SHELL_ROOT_ID} .ge-bb-betval span { display:block; font-size:7px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
289
304
  color:var(--shell-plaque-label); }
290
305
  #${SHELL_ROOT_ID} .ge-bb-betval b { font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; color:#fff; }
306
+ /* Popout S (short landscape): the header (title + ✕) and the bet footer are fixed-px and dwarf the
307
+ shrunk cards. Scale the buy-bonus chrome down with the FRAME height. Units are cqh (the overlay is a
308
+ size container below), NOT vh — vh tracks the browser window, which only equals the frame inside the
309
+ Stake iframe, so it wouldn't shrink in the demo's device-frame view. Coefficients hit the normal cap
310
+ by ~450px tall (Popout L) and shrink below that, to a readable floor at Popout S (225px). */
311
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] { container:ge-bb-frame / size; }
312
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-head { padding:clamp(3px,1.33cqh,6px) 10px; }
313
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-title { font-size:clamp(11px,3.5cqh,16px); }
314
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-spacer { width:clamp(24px,7cqh,32px); }
315
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-ov-nav { width:clamp(24px,7cqh,32px); height:clamp(24px,7cqh,32px);
316
+ font-size:clamp(14px,4cqh,18px); border-radius:clamp(7px,2cqh,9px); }
317
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-bb-betbar { padding:clamp(2px,.9cqh,4px); }
318
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-bb-betpill { padding:clamp(2px,.67cqh,3px) clamp(4px,1.1cqh,5px); }
319
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-bb-betstep { width:clamp(24px,7cqh,32px); height:clamp(24px,7cqh,32px);
320
+ font-size:clamp(15px,4.4cqh,20px); }
321
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-bb-betval { min-width:clamp(62px,17.5cqh,80px); }
322
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-bb-betval b { font-size:clamp(11px,3.1cqh,14px); }
323
+ #${SHELL_ROOT_ID} [data-ge="buybonus-overlay"] .ge-bb-betval span { font-size:clamp(6px,1.55cqh,7px); }
291
324
 
292
325
  /* ═══ base/wide plaque bar — grouped dark + glass panels (reference-style) ═══ */
293
326
  #${SHELL_ROOT_ID} .ge-zone-plaques { gap:0; } /* panels connect; buttons overlap */
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED by scripts/gen-version.mjs — do not edit. Mirrors package.json "version".
2
2
  /** The @energy8platform/platform-core package version, stamped at build time. */
3
- export const PACKAGE_VERSION = '0.25.1';
3
+ export const PACKAGE_VERSION = '0.25.2';