@sensiblestats/widget-react 0.57.0 → 0.59.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/dist/styles.css CHANGED
@@ -920,6 +920,10 @@
920
920
  .ss-w-gscreen { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0; }
921
921
  .ss-w-gscreen > .ss-w-gxi, .ss-w-gscreen > .ss-w-gt, .ss-w-gscreen > .ss-w-cpath,
922
922
  .ss-w-gscreen > .ss-w-btg, .ss-w-gscreen > .ss-w-hl { flex: 1; min-height: 0; }
923
+ /* Daily Quiz has no inner .ss-w-gscroll region — its whole body (score, questions, submit) is the
924
+ scroller, so it takes the fill AND the overflow here. Without this it was clipped by the
925
+ overflow:hidden frame and the lower questions + Submit could not be reached. */
926
+ .ss-w-gscreen > .ss-w-dq { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
923
927
  /* Scrollable board + guess-history region. */
924
928
  .ss-w-gscroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 10px; padding-bottom: 2px; }
925
929
  /* Bottom-pinned bar (search input / action). */
@@ -996,6 +1000,22 @@
996
1000
  .ss-w-gt-title { font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; color: var(--ss-w-ink); line-height: 1; }
997
1001
  .ss-w-gt-sub { font-size: 11px; color: var(--ss-w-faint); margin-top: 4px; }
998
1002
  .ss-w-gt-left { margin-left: auto; flex: none; font-size: 11px; font-weight: 700; color: var(--ss-w-accent); background: color-mix(in srgb, var(--ss-w-accent) 11%, var(--ss-w-panel)); border: 1px solid color-mix(in srgb, var(--ss-w-accent) 22%, var(--ss-w-line)); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
1003
+ /* Hero card — portrait + the masked profile the fan is hunting on. On reveal the silhouette
1004
+ becomes the real photo (or initials) and the profile rows drop away. Fully token-driven. */
1005
+ .ss-w-gt-card { display: grid; grid-template-columns: 96px 1fr; gap: 12px; background: var(--ss-w-bubble); border: 1px solid var(--ss-w-line); border-radius: 14px; padding: 12px; }
1006
+ .ss-w-gt-card--reveal { grid-template-columns: 1fr; justify-items: center; }
1007
+ .ss-w-gt-sil { width: 96px; height: 118px; border-radius: 11px; overflow: hidden; background: var(--ss-w-panel); border: 1px solid var(--ss-w-line); display: grid; place-items: center; }
1008
+ .ss-w-gt-sil svg, .ss-w-gt-sil img { display: block; width: 100%; height: 100%; }
1009
+ .ss-w-gt-sil img { object-fit: cover; }
1010
+ .ss-w-gt-attrs { display: flex; flex-direction: column; justify-content: center; }
1011
+ .ss-w-gt-attr { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 2px; }
1012
+ .ss-w-gt-attr + .ss-w-gt-attr { border-top: 1px solid var(--ss-w-line); }
1013
+ .ss-w-gt-attr-k { color: var(--ss-w-faint); font-size: 12px; font-weight: 600; }
1014
+ .ss-w-gt-attr-v { color: var(--ss-w-faint); font-size: 13px; font-weight: 800; letter-spacing: .12em; }
1015
+ /* Progress dots — one per guess allowance; used guesses filled with the accent. */
1016
+ .ss-w-gt-dots { display: flex; gap: 7px; justify-content: center; }
1017
+ .ss-w-gt-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ss-w-wrong); }
1018
+ .ss-w-gt-dot--on { background: var(--ss-w-accent); }
999
1019
  /* Guess rows — one labelled block per guess */
1000
1020
  .ss-w-gtrows { display: flex; flex-direction: column; gap: 8px; }
1001
1021
  /* First-load legend (empty state) */
@@ -1033,13 +1053,19 @@
1033
1053
  /* Pair: player A | Higher/Lower | player B */
1034
1054
  .ss-w-hlpair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: stretch; }
1035
1055
  .ss-w-hlpc { background: var(--ss-w-panel); border: 1px solid var(--ss-w-line); border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 14px 6px; text-align: center; min-width: 0; }
1036
- .ss-w-hlpc-av { width: 42px; height: 42px; border-radius: 50%; background: var(--ss-w-bubble); border: 1px solid var(--ss-w-line); display: grid; place-items: center; font-size: 20px; flex: none; }
1056
+ /* Player photo (was a 42px ball emoji): fixed 60px circle on both cards so they stay identical
1057
+ regardless of name length. Falls back to initials when no photo URL is present. */
1058
+ .ss-w-hlpc-av { width: 60px; height: 60px; border-radius: 50%; overflow: hidden; background: var(--ss-w-bubble); border: 1px solid var(--ss-w-line); display: grid; place-items: center; flex: none; }
1059
+ .ss-w-hlpc-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
1060
+ .ss-w-av-initials { font-size: 18px; font-weight: 800; color: var(--ss-w-faint); text-transform: uppercase; letter-spacing: .02em; }
1037
1061
  .ss-w-hlpc-name { font-size: 12.5px; font-weight: 700; color: var(--ss-w-ink); line-height: 1.15; }
1038
1062
  .ss-w-hlpc-stat { font-size: 8.5px; color: var(--ss-w-faint); text-transform: uppercase; letter-spacing: .04em; }
1039
1063
  .ss-w-hlpc-val { font-size: 30px; font-weight: 800; color: var(--ss-w-accent); font-variant-numeric: tabular-nums; line-height: 1; }
1040
1064
  .ss-w-hlpc-val--hidden { color: var(--ss-w-faint); }
1041
- /* Higher / Lower — middle column */
1042
- .ss-w-hlbtns { display: flex; flex-direction: column; gap: 6px; justify-content: center; }
1065
+ /* Higher / Lower — middle column. The pair grid stretches this column to the cards' height, so
1066
+ space-between pins Higher to the top and Lower to the bottom, with "or" centered between the
1067
+ two players. */
1068
+ .ss-w-hlbtns { display: flex; flex-direction: column; gap: 6px; justify-content: space-between; }
1043
1069
  .ss-w-hl-or { text-align: center; font-size: 11px; font-weight: 700; color: var(--ss-w-faint); }
1044
1070
  .ss-w-hlbtn { font: inherit; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; border-radius: 9px; padding: 10px 12px; cursor: pointer; border: 1px solid var(--ss-w-line); white-space: nowrap; transition: border-color .1s, background .1s; }
1045
1071
  /* Both options are neutral until picked — an amber default read as "already selected". */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sensiblestats/widget-react",
3
- "version": "0.57.0",
3
+ "version": "0.59.0",
4
4
  "description": "Embeddable SensibleStats chat widget for React.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",