@sensiblestats/widget-react 0.26.1 → 0.27.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
@@ -58,6 +58,10 @@
58
58
 
59
59
  /* messages */
60
60
  .ss-w-list { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 12px; scroll-padding-top: 14px; }
61
+ /* Transient bottom spacer: reserves a viewport of room below a new turn so its
62
+ top can be scrolled into view while the reply is still streaming in. Height is
63
+ set imperatively and flex must not shrink it away. */
64
+ .ss-w-turn-spacer { flex: none; }
61
65
  .ss-w-msg { display: flex; }
62
66
  .ss-w-user { justify-content: flex-end; }
63
67
  .ss-w-user .ss-w-bubble { background: color-mix(in srgb, var(--ss-w-accent) 14%, var(--ss-w-panel)); border: 1px solid color-mix(in srgb, var(--ss-w-accent) 30%, var(--ss-w-line)); border-radius: 14px; padding: 8px 12px; max-width: 80%; }
@@ -85,10 +89,9 @@
85
89
  /* entity cards */
86
90
  .ss-w-cards { display: flex; flex-direction: column; gap: 8px; }
87
91
 
88
- /* Identity Hero: crest-led identity block | tabbed stats panel */
89
- .ss-w-ecard { display: grid; grid-template-columns: 112px 1fr; align-items: stretch; width: 100%; background: var(--ss-w-panel); border: 1px solid var(--ss-w-line); border-radius: 12px; overflow: hidden; text-align: left; }
92
+ /* Entity card: identity header row over a horizontal stat strip */
93
+ .ss-w-ecard { display: flex; flex-direction: column; width: 100%; background: var(--ss-w-panel); border: 1px solid var(--ss-w-line); border-radius: 12px; overflow: hidden; text-align: left; }
90
94
 
91
- .ss-w-ecard-id { display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; padding: 13px 10px; border-right: 1px solid var(--ss-w-line); background: linear-gradient(158deg, var(--ss-w-bubble), color-mix(in srgb, var(--ss-w-accent) 9%, var(--ss-w-bubble))); }
92
95
  .ss-w-ecard-idtext { display: flex; flex-direction: column; gap: 1px; min-width: 0; max-width: 100%; }
93
96
  .ss-w-thumb { width: 54px; height: 54px; flex: none; border-radius: 50%; display: grid; place-items: center; font-size: 16px; font-weight: 700; color: #fff; background-color: var(--ss-w-nav); background-size: cover; background-position: center; box-shadow: 0 1px 3px rgba(0,0,0,.14); }
94
97
  .ss-w-thumb.ss-w-team { border-radius: 12px; }
@@ -98,27 +101,31 @@
98
101
 
99
102
  /* bare card (no stat scopes): simple avatar + name row */
100
103
  .ss-w-ecard-bare { display: flex; align-items: center; }
101
- .ss-w-ecard-bare .ss-w-ecard-id { flex-direction: row; text-align: left; gap: 11px; background: none; border-right: none; padding: 10px 12px; }
102
- .ss-w-ecard-bare .ss-w-thumb { width: 40px; height: 40px; font-size: 13px; box-shadow: none; }
103
- .ss-w-ecard-bare .ss-w-thumb.ss-w-team { border-radius: 10px; }
104
-
105
- .ss-w-ecard-body { min-width: 0; padding: 9px 12px 12px; display: flex; flex-direction: column; }
106
-
107
- /* tab strip seated on the stats panel's top edge; active tab underlined in accent */
108
- .ss-w-ecard-tabs { display: flex; align-items: stretch; gap: 3px; border-bottom: 1px solid var(--ss-w-line); margin-bottom: 9px; flex-wrap: wrap; }
109
- .ss-w-ecard-tab { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 620; color: var(--ss-w-faint); background: none; border: none; cursor: pointer; padding: 5px 8px 8px; margin-bottom: -1px; border-bottom: 2px solid transparent; }
110
- .ss-w-ecard-tab[aria-selected="true"] { color: var(--ss-w-ink); border-bottom-color: var(--ss-w-accent); }
111
- .ss-w-ecard-tabs-static { align-items: center; flex-wrap: nowrap; }
112
- .ss-w-ecard-lead { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 640; color: var(--ss-w-ink); padding: 4px 2px 8px; min-width: 0; flex: 1; }
113
- .ss-w-ecard-lead-txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
104
+ .ss-w-ecard-bare .ss-w-ecard-hd { padding: 10px 12px; }
105
+
106
+ .ss-w-ecard-hd { display: flex; align-items: center; gap: 11px; padding: 11px 13px; }
107
+ .ss-w-ecard-hd .ss-w-thumb { width: 40px; height: 40px; font-size: 13px; box-shadow: none; }
108
+ .ss-w-ecard-hd .ss-w-thumb.ss-w-team { border-radius: 10px; }
109
+ .ss-w-ecard-meta { display: inline-flex; align-items: center; gap: 7px; flex: none; align-self: flex-start; margin-left: auto; }
110
+ .ss-w-ecard-meta .ss-w-ecard-season { margin: 0; }
111
+
112
+ /* scope tabs: reuse the underline pattern, relocated above the strip */
113
+ .ss-w-ecard-scopes { display: flex; align-items: stretch; gap: 2px; padding: 0 11px; border-top: 1px solid var(--ss-w-line); flex-wrap: wrap; }
114
+ .ss-w-ecard-scope { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 620; color: var(--ss-w-faint); background: none; border: none; cursor: pointer; padding: 7px 8px; margin-bottom: -1px; border-bottom: 2px solid transparent; }
115
+ .ss-w-ecard-scope[aria-selected="true"] { color: var(--ss-w-ink); border-bottom-color: var(--ss-w-accent); }
116
+ .ss-w-ecard-scope .ss-w-ecard-crest { width: 14px; height: 14px; }
117
+ .ss-w-ecard-scopes + .ss-w-ecard-strip { border-top: none; }
118
+
114
119
  .ss-w-ecard-crest { width: 15px; height: 15px; flex: none; display: block; border-radius: 4px; background-size: cover; background-position: center; }
115
120
  .ss-w-ecard-season { flex: none; margin-left: auto; align-self: center; margin-bottom: 5px; font-size: 10.5px; font-weight: 700; color: var(--ss-w-accent); background: color-mix(in srgb, var(--ss-w-accent) 13%, var(--ss-w-panel)); border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
116
- .ss-w-ecard-tabs-static .ss-w-ecard-season { margin-bottom: 4px; }
117
121
 
118
- .ss-w-ecard-stats { display: flex; flex-direction: column; gap: 4px; }
119
- .ss-w-ecard-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
120
- .ss-w-ecard-rlabel { font-size: 9.5px; text-transform: uppercase; letter-spacing: .045em; color: var(--ss-w-faint); font-weight: 600; }
121
- .ss-w-ecard-rval { justify-self: end; font-size: 15px; font-weight: 720; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
122
+ /* stat strip: 1px gap over a line-colored ground paints hairlines between cells, wrap-safe */
123
+ .ss-w-ecard-strip { display: grid; gap: 1px; background: var(--ss-w-line); border-top: 1px solid var(--ss-w-line); }
124
+ .ss-w-ecard-cell { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; padding: 10px 4px 11px; background: var(--ss-w-panel); }
125
+ .ss-w-ecard-cval { height: 20px; display: flex; align-items: center; font-size: 17px; font-weight: 720; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
126
+ .ss-w-ecard-cval .ss-w-form { width: 42px; }
127
+ .ss-w-ecard-clabel { font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: var(--ss-w-faint); font-weight: 600; font-variant-numeric: tabular-nums; }
128
+
122
129
  .ss-w-form { justify-self: end; display: flex; height: 6px; width: 48px; border-radius: 4px; overflow: hidden; gap: 2px; }
123
130
  .ss-w-form span { display: block; border-radius: 2px; }
124
131
  .ss-w-form-w { background: var(--ss-w-pos); }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sensiblestats/widget-react",
3
- "version": "0.26.1",
3
+ "version": "0.27.0",
4
4
  "description": "Embeddable SensibleStats chat widget for React.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",