@wral/hsot-data 0.1.9 → 0.1.10
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/README.md
CHANGED
|
@@ -89,7 +89,9 @@ Without slotted rail content the view renders full width, unchanged.
|
|
|
89
89
|
Standings, records, streaks and rank badges are **derived client-side** from
|
|
90
90
|
Game and Ranking payloads:
|
|
91
91
|
|
|
92
|
-
- Winner rule: forfeit
|
|
92
|
+
- Winner rule: forfeit → score → tiebreakWinner. `forfeit` names the side
|
|
93
|
+
that **forfeited** (the Studio select reads "Home team forfeits"), so the
|
|
94
|
+
other side wins regardless of score.
|
|
93
95
|
- gameType semantics: scrimmage counts toward nothing; conference counts
|
|
94
96
|
toward overall **and** conference records; nonconference/playoff toward
|
|
95
97
|
overall only.
|
package/dist/define.mjs
CHANGED
|
@@ -249,7 +249,7 @@ let I = class extends HTMLElement {
|
|
|
249
249
|
I.elementStyles = [], I.shadowRootOptions = { mode: "open" }, I[B("elementProperties")] = /* @__PURE__ */ new Map(), I[B("finalized")] = /* @__PURE__ */ new Map(), de?.({ ReactiveElement: I }), (X.reactiveElementVersions ??= []).push("2.1.2");
|
|
250
250
|
const ct = globalThis, St = (a) => a, Y = ct.trustedTypes, At = Y ? Y.createPolicy("lit-html", { createHTML: (a) => a }) : void 0, Ut = "$lit$", k = `lit$${Math.random().toFixed(9).slice(2)}$`, Ot = "?" + k, pe = `<${Ot}>`, T = document, F = () => T.createComment(""), N = (a) => a === null || typeof a != "object" && typeof a != "function", ht = Array.isArray, me = (a) => ht(a) || typeof a?.[Symbol.iterator] == "function", rt = `[
|
|
251
251
|
\f\r]`, R = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Tt = /-->/g, It = />/g, S = RegExp(`>|${rt}(?:([^\\s"'>=/]+)(${rt}*=${rt}*(?:[^
|
|
252
|
-
\f\r"'\`<>=]|("|')|))|$)`, "g"), Ct = /'/g, Et = /"/g, Ht = /^(?:script|style|textarea|title)$/i, Mt = (a) => (t, ...e) => ({ _$litType$: a, strings: t, values: e }),
|
|
252
|
+
\f\r"'\`<>=]|("|')|))|$)`, "g"), Ct = /'/g, Et = /"/g, Ht = /^(?:script|style|textarea|title)$/i, Mt = (a) => (t, ...e) => ({ _$litType$: a, strings: t, values: e }), c = Mt(1), Pt = Mt(2), P = /* @__PURE__ */ Symbol.for("lit-noChange"), m = /* @__PURE__ */ Symbol.for("lit-nothing"), Dt = /* @__PURE__ */ new WeakMap(), A = T.createTreeWalker(T, 129);
|
|
253
253
|
function Lt(a, t) {
|
|
254
254
|
if (!ht(a) || !a.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
255
255
|
return At !== void 0 ? At.createHTML(t) : t;
|
|
@@ -259,10 +259,10 @@ const fe = (a, t) => {
|
|
|
259
259
|
let r, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", i = R;
|
|
260
260
|
for (let n = 0; n < e; n++) {
|
|
261
261
|
const d = a[n];
|
|
262
|
-
let
|
|
263
|
-
for (; f < d.length && (i.lastIndex = f, h = i.exec(d), h !== null); ) f = i.lastIndex, i === R ? h[1] === "!--" ? i = Tt : h[1] !== void 0 ? i = It : h[2] !== void 0 ? (Ht.test(h[2]) && (r = RegExp("</" + h[2], "g")), i = S) : h[3] !== void 0 && (i = S) : i === S ? h[0] === ">" ? (i = r ?? R, p = -1) : h[1] === void 0 ? p = -2 : (p = i.lastIndex - h[2].length,
|
|
262
|
+
let l, h, p = -1, f = 0;
|
|
263
|
+
for (; f < d.length && (i.lastIndex = f, h = i.exec(d), h !== null); ) f = i.lastIndex, i === R ? h[1] === "!--" ? i = Tt : h[1] !== void 0 ? i = It : h[2] !== void 0 ? (Ht.test(h[2]) && (r = RegExp("</" + h[2], "g")), i = S) : h[3] !== void 0 && (i = S) : i === S ? h[0] === ">" ? (i = r ?? R, p = -1) : h[1] === void 0 ? p = -2 : (p = i.lastIndex - h[2].length, l = h[1], i = h[3] === void 0 ? S : h[3] === '"' ? Et : Ct) : i === Et || i === Ct ? i = S : i === Tt || i === It ? i = R : (i = S, r = void 0);
|
|
264
264
|
const u = i === S && a[n + 1].startsWith("/>") ? " " : "";
|
|
265
|
-
o += i === R ? d + pe : p >= 0 ? (s.push(
|
|
265
|
+
o += i === R ? d + pe : p >= 0 ? (s.push(l), d.slice(0, p) + Ut + d.slice(p) + k + u) : d + k + (p === -2 ? n : u);
|
|
266
266
|
}
|
|
267
267
|
return [Lt(a, o + (a[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
|
|
268
268
|
};
|
|
@@ -271,8 +271,8 @@ class U {
|
|
|
271
271
|
let r;
|
|
272
272
|
this.parts = [];
|
|
273
273
|
let o = 0, i = 0;
|
|
274
|
-
const n = t.length - 1, d = this.parts, [
|
|
275
|
-
if (this.el = U.createElement(
|
|
274
|
+
const n = t.length - 1, d = this.parts, [l, h] = fe(t, e);
|
|
275
|
+
if (this.el = U.createElement(l, s), A.currentNode = this.el.content, e === 2 || e === 3) {
|
|
276
276
|
const p = this.el.content.firstChild;
|
|
277
277
|
p.replaceWith(...p.childNodes);
|
|
278
278
|
}
|
|
@@ -325,8 +325,8 @@ class ue {
|
|
|
325
325
|
let o = A.nextNode(), i = 0, n = 0, d = s[0];
|
|
326
326
|
for (; d !== void 0; ) {
|
|
327
327
|
if (i === d.index) {
|
|
328
|
-
let
|
|
329
|
-
d.type === 2 ?
|
|
328
|
+
let l;
|
|
329
|
+
d.type === 2 ? l = new M(o, o.nextSibling, this, t) : d.type === 1 ? l = new d.ctor(o, d.name, d.strings, this, t) : d.type === 6 && (l = new be(o, this, t)), this._$AV.push(l), d = s[++n];
|
|
330
330
|
}
|
|
331
331
|
i !== d?.index && (o = A.nextNode(), i++);
|
|
332
332
|
}
|
|
@@ -412,8 +412,8 @@ class tt {
|
|
|
412
412
|
if (o === void 0) t = D(this, t, e, 0), i = !N(t) || t !== this._$AH && t !== P, i && (this._$AH = t);
|
|
413
413
|
else {
|
|
414
414
|
const n = t;
|
|
415
|
-
let d,
|
|
416
|
-
for (t = o[0], d = 0; d < o.length - 1; d++)
|
|
415
|
+
let d, l;
|
|
416
|
+
for (t = o[0], d = 0; d < o.length - 1; d++) l = D(this, n[s + d], e, d), l === P && (l = this._$AH[d]), i ||= !N(l) || l !== this._$AH[d], l === m ? t = m : t !== m && (t += (l ?? "") + o[d + 1]), this._$AH[d] = l;
|
|
417
417
|
}
|
|
418
418
|
i && !r && this.j(t);
|
|
419
419
|
}
|
|
@@ -512,21 +512,21 @@ function Se({ baseUrl: a, token: t = "", fetchFn: e } = {}) {
|
|
|
512
512
|
async function o(n) {
|
|
513
513
|
const d = { Accept: "application/json" };
|
|
514
514
|
t && (d.Authorization = `Bearer ${t}`);
|
|
515
|
-
const
|
|
516
|
-
if (!
|
|
517
|
-
const h = new Error(`api-hsot ${
|
|
518
|
-
throw h.status =
|
|
515
|
+
const l = await r(`${s}${n}`, { headers: d });
|
|
516
|
+
if (!l.ok) {
|
|
517
|
+
const h = new Error(`api-hsot ${l.status} on ${n}`);
|
|
518
|
+
throw h.status = l.status, h;
|
|
519
519
|
}
|
|
520
|
-
return
|
|
520
|
+
return l.json();
|
|
521
521
|
}
|
|
522
522
|
async function i(n, d = {}) {
|
|
523
|
-
const
|
|
523
|
+
const l = [];
|
|
524
524
|
let h = null;
|
|
525
525
|
for (let p = 0; p < ke; p += 1) {
|
|
526
526
|
const f = _e(h ? { ...d, cursor: h } : d), u = await o(`${n}${f}`);
|
|
527
|
-
if (
|
|
527
|
+
if (l.push(...u.items || []), h = u.nextCursor || null, !h) break;
|
|
528
528
|
}
|
|
529
|
-
return { items:
|
|
529
|
+
return { items: l, total: l.length, nextCursor: null };
|
|
530
530
|
}
|
|
531
531
|
return {
|
|
532
532
|
listSchools: (n) => i("/schools", n),
|
|
@@ -634,7 +634,7 @@ function Ee(a, t, e) {
|
|
|
634
634
|
if (s === i) return "";
|
|
635
635
|
if (!s.startsWith(`${i}/`)) return null;
|
|
636
636
|
const n = s.slice(i.length + 1), d = n.split("/");
|
|
637
|
-
return d.length > 2 || d.some((
|
|
637
|
+
return d.length > 2 || d.some((l) => !/^[a-z][a-z-]*$/.test(l)) || Ce.has(d[0]) ? null : n;
|
|
638
638
|
}
|
|
639
639
|
function Pe(a, t, e) {
|
|
640
640
|
const s = (i) => g(e.section, { sport: a, view: i }).replace(/([^:])\/{2,}/g, "$1/"), o = new Set((t || []).map((i) => i && i.gender).filter((i) => i === "boys" || i === "girls")).size === 2 ? [
|
|
@@ -714,10 +714,10 @@ class w extends E {
|
|
|
714
714
|
this._refreshId && (clearInterval(this._refreshId), this._refreshId = null);
|
|
715
715
|
}
|
|
716
716
|
render() {
|
|
717
|
-
return this.error === "not-configured" ?
|
|
717
|
+
return this.error === "not-configured" ? c`<div class="error">This component needs an <code>api</code> attribute (the api-hsot public read-surface base URL) or an injected client.</div>` : this.error ? c`<div class="error">Unable to load right now. <button class="chip" @click=${() => this.load()}>Retry</button></div>` : this.data ? this.renderView() : c`<div class="loading" role="status">Loading…</div>`;
|
|
718
718
|
}
|
|
719
719
|
renderView() {
|
|
720
|
-
return
|
|
720
|
+
return c``;
|
|
721
721
|
}
|
|
722
722
|
}
|
|
723
723
|
const v = (a) => Object.fromEntries((a || []).map((t) => [t.id, t])), ze = b`
|
|
@@ -980,19 +980,19 @@ const v = (a) => Object.fromEntries((a || []).map((t) => [t.id, t])), ze = b`
|
|
|
980
980
|
.gamelist a.box { font-size: 0.78rem; }
|
|
981
981
|
`, j = [ze, Re, Be, Fe, Ne, Ue, Oe];
|
|
982
982
|
function ut(a) {
|
|
983
|
-
return a.state !== "final" ? null : a.forfeit
|
|
983
|
+
return a.state !== "final" ? null : a.forfeit === "home" ? "away" : a.forfeit === "away" || a.homeScore > a.awayScore ? "home" : a.awayScore > a.homeScore ? "away" : a.tiebreakWinner && a.tiebreakWinner !== "none" ? a.tiebreakWinner : "tie";
|
|
984
984
|
}
|
|
985
985
|
function He(a) {
|
|
986
|
-
return
|
|
986
|
+
return a && (a.forfeit === "home" || a.forfeit === "away") ? a.forfeit : null;
|
|
987
987
|
}
|
|
988
988
|
function W(a, t) {
|
|
989
989
|
const e = {}, s = (o) => (e[o] = e[o] || { w: 0, l: 0, t: 0, cw: 0, cl: 0, ct: 0, pf: 0, pa: 0, results: [] }, e[o]), r = a.filter((o) => o.state === "final" && o.gameType !== "scrimmage" && !0).sort((o, i) => String(o.date).localeCompare(String(i.date)));
|
|
990
990
|
for (const o of r) {
|
|
991
991
|
const i = ut(o), n = o.gameType === "conference";
|
|
992
992
|
for (const d of ["home", "away"]) {
|
|
993
|
-
const
|
|
994
|
-
if (!
|
|
995
|
-
const h = s(
|
|
993
|
+
const l = d === "home" ? o.homeTeamId : o.awayTeamId;
|
|
994
|
+
if (!l) continue;
|
|
995
|
+
const h = s(l), p = d === "home" ? o.homeScore : o.awayScore, f = d === "home" ? o.awayScore : o.homeScore;
|
|
996
996
|
h.pf += p, h.pa += f;
|
|
997
997
|
let u = "T";
|
|
998
998
|
i === "tie" ? (h.t += 1, n && (h.ct += 1)) : i === d ? (h.w += 1, n && (h.cw += 1), u = "W") : (h.l += 1, n && (h.cl += 1), u = "L"), h.results.push({ gameId: o.id, date: o.date, mark: u, my: p, their: f, opp: d === "home" ? o.awayTeamId : o.homeTeamId, conf: n });
|
|
@@ -1035,13 +1035,13 @@ function vt(a, t, e, s, r) {
|
|
|
1035
1035
|
const i = /* @__PURE__ */ new Map();
|
|
1036
1036
|
for (const d of a || []) {
|
|
1037
1037
|
if (d.sport !== s || r && d.effectiveDate > r || d.gender && o.gender !== d.gender && o.gender !== "coed") continue;
|
|
1038
|
-
const
|
|
1039
|
-
(!h || d.effectiveDate > h.effectiveDate) && i.set(
|
|
1038
|
+
const l = d.gender || "", h = i.get(l);
|
|
1039
|
+
(!h || d.effectiveDate > h.effectiveDate) && i.set(l, d);
|
|
1040
1040
|
}
|
|
1041
1041
|
let n = null;
|
|
1042
1042
|
for (const d of i.values()) {
|
|
1043
|
-
const
|
|
1044
|
-
|
|
1043
|
+
const l = (d.teamIds || []).indexOf(e);
|
|
1044
|
+
l !== -1 && (!n || d.effectiveDate > n.effectiveDate) && (n = { poll: d, rank: l + 1 });
|
|
1045
1045
|
}
|
|
1046
1046
|
return n ? n.rank : null;
|
|
1047
1047
|
}
|
|
@@ -1074,17 +1074,17 @@ function je(a, t) {
|
|
|
1074
1074
|
}
|
|
1075
1075
|
function $t(a, t, { title: e, sub: s, teams: r }) {
|
|
1076
1076
|
const o = Wt(), n = !!a.querySelector(':scope > a[slot="nav"]') || Ee(o, t.hrefs, t.sport) !== null;
|
|
1077
|
-
return
|
|
1077
|
+
return c`
|
|
1078
1078
|
<div class="band section">
|
|
1079
1079
|
<div class="inner">
|
|
1080
1080
|
<h1>${e}</h1>
|
|
1081
|
-
${s ?
|
|
1081
|
+
${s ? c`<p class="sub">${s}</p>` : m}
|
|
1082
1082
|
</div>
|
|
1083
|
-
${n ?
|
|
1083
|
+
${n ? c`
|
|
1084
1084
|
<nav class="sectionnav" aria-label="${z(t.sport)} section">
|
|
1085
1085
|
<div class="navrow">
|
|
1086
1086
|
<slot name="nav">
|
|
1087
|
-
${Pe(t.sport, r, t.hrefs).map((d) =>
|
|
1087
|
+
${Pe(t.sport, r, t.hrefs).map((d) => c`<a href=${d.href}
|
|
1088
1088
|
aria-current=${o && _(d.href) === o ? "page" : m}>${d.label}</a>`)}
|
|
1089
1089
|
</slot>
|
|
1090
1090
|
</div>
|
|
@@ -1100,50 +1100,50 @@ function H(a, t = 26) {
|
|
|
1100
1100
|
if (!a) return m;
|
|
1101
1101
|
const e = Q(a, t);
|
|
1102
1102
|
if (e)
|
|
1103
|
-
return
|
|
1103
|
+
return c`<img class="swatch logo" aria-hidden="true" alt="" loading="lazy"
|
|
1104
1104
|
src=${e} style="width:${t}px;height:${t}px" />`;
|
|
1105
1105
|
const s = a.colorPrimary || "#030711", r = K(s);
|
|
1106
|
-
return
|
|
1106
|
+
return c`<span class="swatch" aria-hidden="true"
|
|
1107
1107
|
style="width:${t}px;height:${t}px;background:${s};color:${r};font-size:${Math.max(8, t * 0.28)}px"
|
|
1108
1108
|
>${ft(a)}</span>`;
|
|
1109
1109
|
}
|
|
1110
1110
|
function bt(a, t, e) {
|
|
1111
1111
|
const s = vt(a.rankings, a.teamsById, t, a.sport, e);
|
|
1112
|
-
return s ?
|
|
1112
|
+
return s ? c`<span class="rankbadge">#${s}</span>` : m;
|
|
1113
1113
|
}
|
|
1114
1114
|
function Vt(a, t, e) {
|
|
1115
1115
|
const s = O(a, t);
|
|
1116
|
-
return s ?
|
|
1116
|
+
return s ? c`${bt(a, t, e)}<a href=${g(a.hrefs.school, { id: s.id })}>${s.name}</a>` : c`<span class="mut">TBD</span>`;
|
|
1117
1117
|
}
|
|
1118
1118
|
function yt(a, t, e = 5) {
|
|
1119
1119
|
const s = a.records[t];
|
|
1120
|
-
if (!s || !s.results.length) return
|
|
1120
|
+
if (!s || !s.results.length) return c`<span class="mut">·</span>`;
|
|
1121
1121
|
const r = s.results.slice(-1 * e);
|
|
1122
|
-
return
|
|
1123
|
-
${r.map((o) =>
|
|
1122
|
+
return c`<span class="dots" role="img" aria-label="last ${r.length} results">
|
|
1123
|
+
${r.map((o) => c`<a class="dot ${o.mark}"
|
|
1124
1124
|
title="${o.mark} ${o.my}-${o.their} vs ${C(a, o.opp)}"
|
|
1125
1125
|
href=${g(a.hrefs.game, { sport: a.sport, id: o.gameId })}>${o.mark}</a>`)}
|
|
1126
1126
|
</span>`;
|
|
1127
1127
|
}
|
|
1128
1128
|
function q(a, t) {
|
|
1129
|
-
return a.querySelector(':scope > [slot="rail"]') ?
|
|
1129
|
+
return a.querySelector(':scope > [slot="rail"]') ? c`<div class="view withrail">
|
|
1130
1130
|
<div class="viewmain">${t}</div>
|
|
1131
1131
|
<aside class="viewrail"><slot name="rail"></slot></aside>
|
|
1132
|
-
</div>` :
|
|
1132
|
+
</div>` : c`<div class="view">${t}</div>`;
|
|
1133
1133
|
}
|
|
1134
1134
|
function G(a) {
|
|
1135
1135
|
if (!a.promoImage) return m;
|
|
1136
|
-
const t =
|
|
1137
|
-
return
|
|
1136
|
+
const t = c`<img src=${a.promoImage} alt=${a.promoAlt || "Sponsor"}>`;
|
|
1137
|
+
return c`<div class="promo">${a.promoHref ? c`<a href=${a.promoHref} target="_blank" rel="sponsored noopener">${t}</a>` : t}</div>`;
|
|
1138
1138
|
}
|
|
1139
1139
|
function J(a) {
|
|
1140
1140
|
const t = jt(a);
|
|
1141
|
-
return
|
|
1141
|
+
return c`<span class="pill ${t.kind}">${t.label}</span>`;
|
|
1142
1142
|
}
|
|
1143
1143
|
function Yt(a, t, e) {
|
|
1144
|
-
if (!t) return
|
|
1144
|
+
if (!t) return c`<span class="mut">·</span>`;
|
|
1145
1145
|
const s = t.homeTeamId === e ? t.awayTeamId : t.homeTeamId, r = t.homeTeamId === e ? "vs" : "at";
|
|
1146
|
-
return
|
|
1146
|
+
return c`${t.state === "live" ? c`<span class="pill live">Live</span> ` : c`${y(t.date, { month: "numeric", day: "numeric" })} `}${r} ${Z(a, s)}`;
|
|
1147
1147
|
}
|
|
1148
1148
|
class Kt extends w {
|
|
1149
1149
|
static styles = j;
|
|
@@ -1191,30 +1191,30 @@ class Kt extends w {
|
|
|
1191
1191
|
}, this._ctxData = this.data), this._ctx;
|
|
1192
1192
|
}
|
|
1193
1193
|
renderView() {
|
|
1194
|
-
const t = this.ctx, e = v(this.data.conferences), s = [...new Set(this.data.games.map((
|
|
1195
|
-
const h = [
|
|
1194
|
+
const t = this.ctx, e = v(this.data.conferences), s = [...new Set(this.data.games.map((l) => l.date).filter(Boolean))].sort(), r = Number.MAX_SAFE_INTEGER, o = (l) => {
|
|
1195
|
+
const h = [l.awayTeamId, l.homeTeamId].map((p) => vt(t.rankings, t.teamsById, p, this.sport, l.date)).filter(Boolean);
|
|
1196
1196
|
return h.length ? Math.min(...h) : r;
|
|
1197
|
-
}, i = this.data.games.filter((
|
|
1198
|
-
i.sort((
|
|
1197
|
+
}, i = this.data.games.filter((l) => l.date === this.date), n = new Map(i.map((l) => [l, o(l)]));
|
|
1198
|
+
i.sort((l, h) => (l.state === "live" ? 0 : 1) - (h.state === "live" ? 0 : 1) || n.get(l) - n.get(h));
|
|
1199
1199
|
const d = /* @__PURE__ */ new Map();
|
|
1200
|
-
return i.forEach((
|
|
1201
|
-
const h =
|
|
1202
|
-
d.has(h) || d.set(h, []), d.get(h).push(
|
|
1203
|
-
}),
|
|
1200
|
+
return i.forEach((l) => {
|
|
1201
|
+
const h = l.gameType === "conference" && l.conferenceId ? e[l.conferenceId]?.name || "Conference" : l.gameType === "playoff" ? "Playoffs" : l.gameType === "scrimmage" ? "Scrimmages" : "Nonconference";
|
|
1202
|
+
d.has(h) || d.set(h, []), d.get(h).push(l);
|
|
1203
|
+
}), c`
|
|
1204
1204
|
${$t(this, t, {
|
|
1205
|
-
title:
|
|
1206
|
-
sub:
|
|
1205
|
+
title: c`${z(this.sport)} scores & schedules`,
|
|
1206
|
+
sub: c`${y(this.date, { weekday: "long", month: "long", day: "numeric", year: "numeric" })} · ${i.length} games`,
|
|
1207
1207
|
teams: this.data.teams
|
|
1208
1208
|
})}
|
|
1209
|
-
${q(this,
|
|
1209
|
+
${q(this, c`
|
|
1210
1210
|
${G(this)}
|
|
1211
1211
|
<div class="toolbar">
|
|
1212
1212
|
<label class="asof" for="datesel">Date</label>
|
|
1213
|
-
<select id="datesel" @change=${(
|
|
1214
|
-
this.date =
|
|
1213
|
+
<select id="datesel" @change=${(l) => {
|
|
1214
|
+
this.date = l.target.value;
|
|
1215
1215
|
}}>
|
|
1216
|
-
${(s.includes(this.date) ? s : [...s, this.date].sort()).map((
|
|
1217
|
-
${y(
|
|
1216
|
+
${(s.includes(this.date) ? s : [...s, this.date].sort()).map((l) => c`<option value=${l} ?selected=${l === this.date}>
|
|
1217
|
+
${y(l, { weekday: "short", month: "short", day: "numeric" })}${l === mt() ? " · today" : ""}
|
|
1218
1218
|
</option>`)}
|
|
1219
1219
|
</select>
|
|
1220
1220
|
<button class="chip" ?disabled=${s.indexOf(this.date) <= 0}
|
|
@@ -1228,9 +1228,9 @@ class Kt extends w {
|
|
|
1228
1228
|
<span class="spacer"></span>
|
|
1229
1229
|
<span class="asof">Live games first · report a score to see it update here</span>
|
|
1230
1230
|
</div>
|
|
1231
|
-
${i.length ? m :
|
|
1232
|
-
${[...d.entries()].map(([
|
|
1233
|
-
<div class="section-title">${
|
|
1231
|
+
${i.length ? m : c`<p class="empty">No ${this.sport} games on this date.</p>`}
|
|
1232
|
+
${[...d.entries()].map(([l, h]) => c`
|
|
1233
|
+
<div class="section-title">${l}</div>
|
|
1234
1234
|
<div class="card"><ul class="gamelist">
|
|
1235
1235
|
${h.map((p) => this.renderGame(t, p))}
|
|
1236
1236
|
</ul></div>
|
|
@@ -1242,14 +1242,14 @@ class Kt extends w {
|
|
|
1242
1242
|
// a lone score column on the far right read as detached from the teams).
|
|
1243
1243
|
// Scheduled games carry their start time on the status pill alone.
|
|
1244
1244
|
renderGame(t, e) {
|
|
1245
|
-
const s = e.state === "final" || e.state === "live", r = (i, n, d = m) =>
|
|
1246
|
-
return
|
|
1245
|
+
const s = e.state === "final" || e.state === "live", r = (i, n, d = m) => c`<span class="side">${Vt(t, i, e.date)}${s ? c`<span class="score">${n}</span>` : m}${d}</span>`, o = He(e);
|
|
1246
|
+
return c`
|
|
1247
1247
|
<li>
|
|
1248
1248
|
${J(e)}
|
|
1249
|
-
<span class="opp matchup">${r(e.awayTeamId, e.awayScore,
|
|
1250
|
-
${o ?
|
|
1249
|
+
<span class="opp matchup">${r(e.awayTeamId, e.awayScore, c`<span class="at">at</span>`)}${r(e.homeTeamId, e.homeScore)}</span>
|
|
1250
|
+
${o ? c`<span class="ff">${C(t, o === "home" ? e.homeTeamId : e.awayTeamId)} forfeited</span>` : m}
|
|
1251
1251
|
<span class="where">${e.venue || ""}</span>
|
|
1252
|
-
${e.broadcast ?
|
|
1252
|
+
${e.broadcast ? c`<span class="pill class">${e.broadcast}</span>` : m}
|
|
1253
1253
|
<a class="box" href=${g(t.hrefs.game, { sport: this.sport, id: e.id })}>Box score →</a>
|
|
1254
1254
|
</li>
|
|
1255
1255
|
`;
|
|
@@ -1297,17 +1297,17 @@ class Qt extends w {
|
|
|
1297
1297
|
}
|
|
1298
1298
|
renderView() {
|
|
1299
1299
|
const t = this.ctx, e = ["All", ...new Set(this.data.conferences.flatMap((r) => r.classifications || []))].slice(0, 9), s = this.data.conferences.filter((r) => r.active !== !1).filter((r) => this.classFilter === "All" || (r.classifications || []).includes(this.classFilter));
|
|
1300
|
-
return
|
|
1300
|
+
return c`
|
|
1301
1301
|
${$t(this, t, {
|
|
1302
|
-
title:
|
|
1303
|
-
sub:
|
|
1302
|
+
title: c`${z(this.sport)} standings`,
|
|
1303
|
+
sub: c`${this.data.season} season · every conference, computed live from reported results`,
|
|
1304
1304
|
teams: this.data.teams
|
|
1305
1305
|
})}
|
|
1306
|
-
${q(this,
|
|
1306
|
+
${q(this, c`
|
|
1307
1307
|
${G(this)}
|
|
1308
1308
|
<div class="toolbar">
|
|
1309
1309
|
<div role="group" aria-label="Classification filter">
|
|
1310
|
-
${e.map((r) =>
|
|
1310
|
+
${e.map((r) => c`<button class="chip ${this.classFilter === r ? "on" : ""}"
|
|
1311
1311
|
@click=${() => {
|
|
1312
1312
|
this.classFilter = r;
|
|
1313
1313
|
}}>${r}</button>`)}
|
|
@@ -1327,11 +1327,11 @@ class Qt extends w {
|
|
|
1327
1327
|
const s = this.data.teams.filter((i) => i.conferenceId === e.id);
|
|
1328
1328
|
if (!s.length) return m;
|
|
1329
1329
|
const r = this.query.trim().toLowerCase(), o = qt(s, t.records);
|
|
1330
|
-
return
|
|
1330
|
+
return c`
|
|
1331
1331
|
<div class="card">
|
|
1332
1332
|
<div class="card-head">
|
|
1333
1333
|
<h2>${e.name}</h2>
|
|
1334
|
-
${(e.classifications || []).map((i) =>
|
|
1334
|
+
${(e.classifications || []).map((i) => c`<span class="pill class">${i}</span>`)}
|
|
1335
1335
|
<span class="meta">${o.length} teams · membership derives from teams</span>
|
|
1336
1336
|
</div>
|
|
1337
1337
|
<div class="tablewrap"><table class="data">
|
|
@@ -1350,18 +1350,17 @@ class Qt extends w {
|
|
|
1350
1350
|
renderRow(t, e, s, r) {
|
|
1351
1351
|
const o = t.schoolsById[e.team.schoolId], i = o?.name || e.team.name || "TBD";
|
|
1352
1352
|
if (r && !i.toLowerCase().includes(r)) return m;
|
|
1353
|
-
const n = e.rec.pf - e.rec.pa, d = gt(this.data.games, e.team.id),
|
|
1354
|
-
<span class="pill champ" title="${p.season} ${p.title} champion">★ ${p.season} ${p.title}</span>`), h = () => {
|
|
1353
|
+
const n = e.rec.pf - e.rec.pa, d = gt(this.data.games, e.team.id), l = () => {
|
|
1355
1354
|
location.href = g(t.hrefs.school, { id: e.team.schoolId });
|
|
1356
1355
|
};
|
|
1357
|
-
return
|
|
1358
|
-
<tr class="rowlink" @click=${(
|
|
1359
|
-
|
|
1356
|
+
return c`
|
|
1357
|
+
<tr class="rowlink" @click=${(h) => {
|
|
1358
|
+
h.target.closest("a") || l();
|
|
1360
1359
|
}}>
|
|
1361
1360
|
<td class="mut">${s + 1}</td>
|
|
1362
1361
|
<td class="teamcell">
|
|
1363
1362
|
${H(o)}${bt(t, e.team.id, null)}
|
|
1364
|
-
<a href=${g(t.hrefs.school, { id: e.team.schoolId })}>${i}</a>
|
|
1363
|
+
<a href=${g(t.hrefs.school, { id: e.team.schoolId })}>${i}</a>
|
|
1365
1364
|
</td>
|
|
1366
1365
|
<td class="num">${x(e.rec, !0)}</td>
|
|
1367
1366
|
<td class="num">${Rt(e.confPct)}</td>
|
|
@@ -1419,7 +1418,7 @@ class Zt extends w {
|
|
|
1419
1418
|
t.listTeams({ sport: this.sport }),
|
|
1420
1419
|
t.listConferences(),
|
|
1421
1420
|
t.listGames({ sport: this.sport, season: e })
|
|
1422
|
-
]), d = s.items.filter((
|
|
1421
|
+
]), d = s.items.filter((l) => !this.gender || !l.gender || l.gender === this.gender).sort((l, h) => h.effectiveDate.localeCompare(l.effectiveDate));
|
|
1423
1422
|
return {
|
|
1424
1423
|
season: e,
|
|
1425
1424
|
polls: d,
|
|
@@ -1446,12 +1445,12 @@ class Zt extends w {
|
|
|
1446
1445
|
const $ = e.length === 1 ? 96 / 2 : f / (e.length - 1) * 90 + 3, at = 3 + u / 24 * 20;
|
|
1447
1446
|
return { x: $, y: at };
|
|
1448
1447
|
}), d = [];
|
|
1449
|
-
let
|
|
1448
|
+
let l = [];
|
|
1450
1449
|
if (n.forEach((p) => {
|
|
1451
|
-
p ?
|
|
1452
|
-
}),
|
|
1450
|
+
p ? l.push(p) : l.length && (d.push(l), l = []);
|
|
1451
|
+
}), l.length && d.push(l), !d.length) return m;
|
|
1453
1452
|
const h = n[s];
|
|
1454
|
-
return
|
|
1453
|
+
return c`<svg class="sparkline" width=${96} height=${26} viewBox="0 0 ${96} ${26}" role="img" aria-label="rank history">
|
|
1455
1454
|
${d.map((p) => Pt`<polyline fill="none" stroke="var(--hsot-red)" stroke-width="2"
|
|
1456
1455
|
points=${p.map((f) => `${f.x.toFixed(1)},${f.y.toFixed(1)}`).join(" ")}></polyline>`)}
|
|
1457
1456
|
${h ? Pt`<circle cx=${h.x.toFixed(1)} cy=${h.y.toFixed(1)} r="3" fill="var(--hsot-black)"></circle>` : m}
|
|
@@ -1459,26 +1458,26 @@ class Zt extends w {
|
|
|
1459
1458
|
}
|
|
1460
1459
|
movement(t, e, s) {
|
|
1461
1460
|
const r = Me(t, e, s);
|
|
1462
|
-
return r.kind === "up" ?
|
|
1461
|
+
return r.kind === "up" ? c`<span class="delta up">▲ ${r.delta}</span>` : r.kind === "down" ? c`<span class="delta down">▼ ${r.delta}</span>` : r.kind === "new" ? c`<span class="delta new">NEW</span>` : r.kind === "same" ? c`<span class="delta same">—</span>` : c`<span class="delta same">·</span>`;
|
|
1463
1462
|
}
|
|
1464
1463
|
renderView() {
|
|
1465
1464
|
const t = this.ctx, e = this.data.polls;
|
|
1466
|
-
if (!e.length) return
|
|
1467
|
-
const s = Math.max(0, e.findIndex((p) => p.effectiveDate === this.pollDate)), r = e[s] || e[0], o = e[s + 1] || null, i = e.slice().reverse(), n = i.indexOf(r), d = v(this.data.conferences),
|
|
1468
|
-
return
|
|
1465
|
+
if (!e.length) return c`<div class="view"><p class="empty">No ${this.sport} polls published yet this season.</p></div>`;
|
|
1466
|
+
const s = Math.max(0, e.findIndex((p) => p.effectiveDate === this.pollDate)), r = e[s] || e[0], o = e[s + 1] || null, i = e.slice().reverse(), n = i.indexOf(r), d = v(this.data.conferences), l = (r.teamIds || [])[0], h = l ? O(t, l) : null;
|
|
1467
|
+
return c`
|
|
1469
1468
|
${$t(this, t, {
|
|
1470
|
-
title:
|
|
1471
|
-
sub:
|
|
1469
|
+
title: c`${z(this.sport)} Top 25`,
|
|
1470
|
+
sub: c`The HighSchoolOT poll · updated weekly · ${e.length} polls this season`,
|
|
1472
1471
|
teams: this.data.teams
|
|
1473
1472
|
})}
|
|
1474
|
-
${q(this,
|
|
1473
|
+
${q(this, c`
|
|
1475
1474
|
${G(this)}
|
|
1476
1475
|
<div class="toolbar">
|
|
1477
1476
|
<label class="asof" for="pollsel">Poll of</label>
|
|
1478
1477
|
<select id="pollsel" @change=${(p) => {
|
|
1479
1478
|
this.pollDate = p.target.value;
|
|
1480
1479
|
}}>
|
|
1481
|
-
${e.map((p, f) =>
|
|
1480
|
+
${e.map((p, f) => c`<option value=${p.effectiveDate} ?selected=${p === r}>
|
|
1482
1481
|
${y(p.effectiveDate, { month: "long", day: "numeric", year: "numeric" })}${f === 0 ? " · current" : ""}
|
|
1483
1482
|
</option>`)}
|
|
1484
1483
|
</select>
|
|
@@ -1493,7 +1492,7 @@ class Zt extends w {
|
|
|
1493
1492
|
<span class="spacer"></span>
|
|
1494
1493
|
<span class="asof">Movement vs. the previous poll · sparkline = season rank history</span>
|
|
1495
1494
|
</div>
|
|
1496
|
-
${h ? this.renderHero(t, r, o,
|
|
1495
|
+
${h ? this.renderHero(t, r, o, l, h, d) : m}
|
|
1497
1496
|
<div class="card"><div class="tablewrap"><table class="data">
|
|
1498
1497
|
<thead><tr>
|
|
1499
1498
|
<th class="num">Rk</th><th>Mvmt</th><th>Team</th><th class="num">Record</th>
|
|
@@ -1508,17 +1507,17 @@ class Zt extends w {
|
|
|
1508
1507
|
`;
|
|
1509
1508
|
}
|
|
1510
1509
|
renderHero(t, e, s, r, o, i) {
|
|
1511
|
-
const n = t.records[r], d = Bt(t.records, r),
|
|
1512
|
-
return
|
|
1510
|
+
const n = t.records[r], d = Bt(t.records, r), l = i[t.teamsById[r]?.conferenceId], h = `linear-gradient(120deg, ${o.colorPrimary || "#030711"} 0%, var(--hsot-black) 85%)`;
|
|
1511
|
+
return c`
|
|
1513
1512
|
<div class="hero1" style="background:${h}">
|
|
1514
1513
|
<div class="bigrank">#1</div>
|
|
1515
1514
|
${H(o, 64)}
|
|
1516
1515
|
<div>
|
|
1517
1516
|
<h2><a href=${g(t.hrefs.school, { id: o.id })}>${o.name} ${o.mascot || ""}</a></h2>
|
|
1518
1517
|
<div class="facts">
|
|
1519
|
-
${x(n)} overall${
|
|
1518
|
+
${x(n)} overall${l ? c` · ${x(n, !0)} ${l.name}` : m}
|
|
1520
1519
|
· streak ${st(n?.results) || "·"}
|
|
1521
|
-
${d ?
|
|
1520
|
+
${d ? c` · last: ${d.mark} ${d.my}-${d.their} vs ${Z(t, d.opp)}` : m}
|
|
1522
1521
|
${this.movement(e, s, r)}
|
|
1523
1522
|
</div>
|
|
1524
1523
|
</div>
|
|
@@ -1526,24 +1525,24 @@ class Zt extends w {
|
|
|
1526
1525
|
`;
|
|
1527
1526
|
}
|
|
1528
1527
|
renderRow(t, e, s, r, o, i, n, d) {
|
|
1529
|
-
const
|
|
1530
|
-
if (!
|
|
1528
|
+
const l = O(t, n);
|
|
1529
|
+
if (!l) return m;
|
|
1531
1530
|
const h = t.records[n], p = Bt(t.records, n), f = gt(this.data.games, n), u = i[t.teamsById[n]?.conferenceId], $ = () => {
|
|
1532
|
-
location.href = g(t.hrefs.school, { id:
|
|
1531
|
+
location.href = g(t.hrefs.school, { id: l.id });
|
|
1533
1532
|
};
|
|
1534
|
-
return
|
|
1533
|
+
return c`
|
|
1535
1534
|
<tr class="rowlink" @click=${(at) => {
|
|
1536
1535
|
at.target.closest("a") || $();
|
|
1537
1536
|
}}>
|
|
1538
1537
|
<td class="num" style="font-weight:700">${d}</td>
|
|
1539
1538
|
<td>${this.movement(e, s, n)}</td>
|
|
1540
|
-
<td class="teamcell">${H(
|
|
1541
|
-
<span class="mut" style="font-size:0.78rem">${
|
|
1539
|
+
<td class="teamcell">${H(l)}<a href=${g(t.hrefs.school, { id: l.id })}>${l.name}</a>
|
|
1540
|
+
<span class="mut" style="font-size:0.78rem">${l.mascot || ""}</span></td>
|
|
1542
1541
|
<td class="num">${x(h)}</td>
|
|
1543
1542
|
<td class="mut">${u?.name || "Independent"}</td>
|
|
1544
|
-
<td>${p ?
|
|
1543
|
+
<td>${p ? c`<a class="box" style="text-decoration:none" href=${g(t.hrefs.game, { sport: this.sport, id: p.gameId })}>
|
|
1545
1544
|
<b style="color:${p.mark === "W" ? "var(--hsot-win)" : p.mark === "L" ? "var(--hsot-loss)" : "var(--hsot-tie)"}">${p.mark}</b>
|
|
1546
|
-
${p.my}-${p.their} vs ${Z(t, p.opp)}</a>` :
|
|
1545
|
+
${p.my}-${p.their} vs ${Z(t, p.opp)}</a>` : c`<span class="mut">·</span>`}</td>
|
|
1547
1546
|
<td>${Yt(t, f, n)}</td>
|
|
1548
1547
|
<td>${this.sparkline(n, r, o)}</td>
|
|
1549
1548
|
</tr>
|
|
@@ -1598,7 +1597,7 @@ class Jt extends w {
|
|
|
1598
1597
|
t && !this.sport && (this.sport = t);
|
|
1599
1598
|
}
|
|
1600
1599
|
async fetchData(t) {
|
|
1601
|
-
const e = this.season || et(), s = await t.getSchool(this.schoolId), o = (await t.listTeams({ schoolId: this.schoolId })).items, i = o.find(($) => $.sport === (this.sport || "football")) || o[0] || null, [n, d,
|
|
1600
|
+
const e = this.season || et(), s = await t.getSchool(this.schoolId), o = (await t.listTeams({ schoolId: this.schoolId })).items, i = o.find(($) => $.sport === (this.sport || "football")) || o[0] || null, [n, d, l, h, p, f, u] = await Promise.all([
|
|
1602
1601
|
i ? t.listGames({ sport: i.sport, season: e }) : Promise.resolve({ items: [] }),
|
|
1603
1602
|
i ? t.listTeams({ sport: i.sport }) : Promise.resolve({ items: [] }),
|
|
1604
1603
|
t.listSchools(),
|
|
@@ -1616,7 +1615,7 @@ class Jt extends w {
|
|
|
1616
1615
|
active: i,
|
|
1617
1616
|
games: n.items,
|
|
1618
1617
|
allTeams: d.items,
|
|
1619
|
-
schools:
|
|
1618
|
+
schools: l.items,
|
|
1620
1619
|
conferences: h.items,
|
|
1621
1620
|
rankings: p.items,
|
|
1622
1621
|
roster: f.items.find(($) => $.season === e) || null,
|
|
@@ -1638,41 +1637,41 @@ class Jt extends w {
|
|
|
1638
1637
|
}
|
|
1639
1638
|
renderView() {
|
|
1640
1639
|
const { school: t, teams: e, active: s, season: r } = this.data;
|
|
1641
|
-
if (!t) return
|
|
1642
|
-
const o = this.ctx, i = K(t.colorPrimary || "#030711"), n = (t.adm || [])[0], d = v(this.data.conferences),
|
|
1643
|
-
return
|
|
1640
|
+
if (!t) return c`<div class="view"><p class="empty">School not found.</p></div>`;
|
|
1641
|
+
const o = this.ctx, i = K(t.colorPrimary || "#030711"), n = (t.adm || [])[0], d = v(this.data.conferences), l = s ? d[s.conferenceId] : null;
|
|
1642
|
+
return c`
|
|
1644
1643
|
<div class="schoolhero" style="background:linear-gradient(115deg, ${t.colorPrimary || "#030711"} 0%, ${t.colorPrimary || "#030711"} 55%, var(--hsot-black) 100%);color:${i}">
|
|
1645
1644
|
<div class="inner">
|
|
1646
|
-
${Q(t, 84) ?
|
|
1645
|
+
${Q(t, 84) ? c`<img class="crest logo" alt="" loading="lazy" src=${Q(t, 84)} />` : c`<div class="crest" style="background:${t.colorSecondary || "#7C7C7C"};color:${K(t.colorSecondary || "#7C7C7C")}">${ft(t)}</div>`}
|
|
1647
1646
|
<div style="min-width:260px">
|
|
1648
1647
|
<h1>${t.name} <span class="mascot">${t.mascot || ""}</span></h1>
|
|
1649
1648
|
<div class="facts">
|
|
1650
|
-
${t.location ?
|
|
1651
|
-
${t.association ?
|
|
1652
|
-
${
|
|
1653
|
-
${n ?
|
|
1654
|
-
${t.openingYear ?
|
|
1655
|
-
${t.areaCode ?
|
|
1649
|
+
${t.location ? c`<span><b>Location</b>${t.location}${t.county ? c` · ${t.county} County` : m}</span>` : m}
|
|
1650
|
+
${t.association ? c`<span><b>League</b>${t.association}${t.classification ? c` · ${t.classification}` : m}</span>` : m}
|
|
1651
|
+
${l ? c`<span><b>Conference</b>${l.name}</span>` : m}
|
|
1652
|
+
${n ? c`<span><b>Enrollment</b>${n.value.toLocaleString()} (${n.season} ADM)</span>` : m}
|
|
1653
|
+
${t.openingYear ? c`<span><b>Opened</b>${t.openingYear}</span>` : m}
|
|
1654
|
+
${t.areaCode ? c`<span><b>Area</b>${t.areaCode}</span>` : m}
|
|
1656
1655
|
</div>
|
|
1657
1656
|
</div>
|
|
1658
1657
|
</div>
|
|
1659
1658
|
</div>
|
|
1660
1659
|
<div class="band">
|
|
1661
1660
|
<nav class="tabs" aria-label="Teams">
|
|
1662
|
-
${e.map((h) => h.id === s?.id ?
|
|
1661
|
+
${e.map((h) => h.id === s?.id ? c`<a class="on" href="#" @click=${(p) => p.preventDefault()}>${h.name}</a>` : c`<a href="#" @click=${(p) => {
|
|
1663
1662
|
p.preventDefault(), this.switchSport(h.sport);
|
|
1664
1663
|
}}>${h.name}</a>`)}
|
|
1665
1664
|
</nav>
|
|
1666
1665
|
</div>
|
|
1667
|
-
${q(this,
|
|
1666
|
+
${q(this, c`
|
|
1668
1667
|
${G(this)}
|
|
1669
|
-
${s ? this.renderTeam(o, s,
|
|
1668
|
+
${s ? this.renderTeam(o, s, l, r) : c`<p class="empty">No teams recorded for this school yet.</p>`}
|
|
1670
1669
|
`)}
|
|
1671
1670
|
`;
|
|
1672
1671
|
}
|
|
1673
1672
|
renderTeam(t, e, s, r) {
|
|
1674
|
-
const o = t.records[e.id] || { w: 0, l: 0, t: 0, cw: 0, cl: 0, ct: 0, pf: 0, pa: 0, results: [] }, i = o.w + o.l + o.t, n = s ? this.data.allTeams.filter((p) => p.conferenceId === s.id) : [], d = s ? qt(n, t.records).findIndex((p) => p.team.id === e.id) + 1 : 0,
|
|
1675
|
-
return
|
|
1673
|
+
const o = t.records[e.id] || { w: 0, l: 0, t: 0, cw: 0, cl: 0, ct: 0, pf: 0, pa: 0, results: [] }, i = o.w + o.l + o.t, n = s ? this.data.allTeams.filter((p) => p.conferenceId === s.id) : [], d = s ? qt(n, t.records).findIndex((p) => p.team.id === e.id) + 1 : 0, l = vt(t.rankings, t.teamsById, e.id, e.sport, null), h = this.data.games.filter((p) => p.homeTeamId === e.id || p.awayTeamId === e.id).sort((p, f) => String(p.date).localeCompare(String(f.date)));
|
|
1674
|
+
return c`
|
|
1676
1675
|
<div class="tiles">
|
|
1677
1676
|
<div class="tile"><div class="k">Overall</div><div class="v">${x(o)}</div><div class="s">${i} games played</div></div>
|
|
1678
1677
|
<div class="tile"><div class="k">${s?.name || "Conference"}</div><div class="v">${x(o, !0)}</div>
|
|
@@ -1681,18 +1680,18 @@ class Jt extends w {
|
|
|
1681
1680
|
<div class="s">scored per game · ${i ? (o.pa / i).toFixed(1) : "0.0"} allowed</div></div>
|
|
1682
1681
|
<div class="tile"><div class="k">Streak</div><div class="v">${st(o.results) || "·"}</div>
|
|
1683
1682
|
<div class="s">last 5: ${yt(t, e.id)}</div></div>
|
|
1684
|
-
<div class="tile"><div class="k">HSOT Top 25</div><div class="v">${
|
|
1683
|
+
<div class="tile"><div class="k">HSOT Top 25</div><div class="v">${l ? `#${l}` : "NR"}</div>
|
|
1685
1684
|
<div class="s"><a href=${g(t.hrefs.section, { sport: e.sport, view: "rankings" })}>full poll</a></div></div>
|
|
1686
1685
|
</div>
|
|
1687
|
-
${(e.championships || []).length ?
|
|
1686
|
+
${(e.championships || []).length ? c`
|
|
1688
1687
|
<div style="margin:-0.2rem 0 1rem;display:flex;gap:0.4rem;flex-wrap:wrap">
|
|
1689
|
-
${e.championships.map((p) =>
|
|
1688
|
+
${e.championships.map((p) => c`<span class="pill champ">★ ${p.season} ${p.title} champion${p.classification ? ` · ${p.classification}` : ""}${p.region ? ` · ${p.region}` : ""}</span>`)}
|
|
1690
1689
|
</div>` : m}
|
|
1691
1690
|
<div class="cols">
|
|
1692
1691
|
<div>
|
|
1693
1692
|
<div class="section-title">Schedule & results</div>
|
|
1694
1693
|
<div class="card">
|
|
1695
|
-
${h.length ?
|
|
1694
|
+
${h.length ? c`<ul class="gamelist">${h.map((p) => this.renderGameRow(t, e, p))}</ul>` : c`<p class="empty">No ${e.sport} games recorded for ${r}.</p>`}
|
|
1696
1695
|
</div>
|
|
1697
1696
|
</div>
|
|
1698
1697
|
<div>
|
|
@@ -1704,20 +1703,20 @@ class Jt extends w {
|
|
|
1704
1703
|
}
|
|
1705
1704
|
renderGameRow(t, e, s) {
|
|
1706
1705
|
const r = s.homeTeamId === e.id, o = r ? s.awayTeamId : s.homeTeamId, i = r ? s.homeScore : s.awayScore, n = r ? s.awayScore : s.homeScore;
|
|
1707
|
-
let d =
|
|
1706
|
+
let d = c`<span class="mut">${pt(s.time)}</span>`;
|
|
1708
1707
|
if (s.state === "final") {
|
|
1709
1708
|
const h = ut(s), p = h === "tie" ? "T" : h === (r ? "home" : "away") ? "W" : "L";
|
|
1710
|
-
d =
|
|
1711
|
-
} else s.state === "live" && (d =
|
|
1712
|
-
const
|
|
1713
|
-
return
|
|
1709
|
+
d = c`<span class=${p}>${p}</span> ${i}-${n}${s.finish === "overtime" ? c` <span class="mut">OT</span>` : m}${s.forfeit && s.forfeit !== "none" ? c` <span class="mut">FF</span>` : m}`;
|
|
1710
|
+
} else s.state === "live" && (d = c`<span style="color:var(--hsot-red)">${i}-${n}</span>`);
|
|
1711
|
+
const l = s.gameType === "conference" ? "Conf" : s.gameType === "nonconference" ? "Non-conf" : s.gameType === "playoff" ? `Playoff${s.label ? ` · ${s.label}` : ""}` : "Scrimmage";
|
|
1712
|
+
return c`
|
|
1714
1713
|
<li>
|
|
1715
1714
|
<span class="d">${y(s.date)}</span>
|
|
1716
1715
|
${jt(s).kind === "sched" ? m : J(s)}
|
|
1717
1716
|
<span class="res">${d}</span>
|
|
1718
1717
|
<span class="opp">${r ? "vs" : "at"} ${Vt(t, o, s.date)}
|
|
1719
|
-
<span class="pill type">${
|
|
1720
|
-
${s.broadcast ?
|
|
1718
|
+
<span class="pill type">${l}</span>
|
|
1719
|
+
${s.broadcast ? c`<span class="pill class">${s.broadcast}</span>` : m}
|
|
1721
1720
|
</span>
|
|
1722
1721
|
<span class="where">${s.venue || ""}</span>
|
|
1723
1722
|
<a class="box" href=${g(t.hrefs.game, { sport: e.sport, id: s.id })}>Box score →</a>
|
|
@@ -1727,24 +1726,24 @@ class Jt extends w {
|
|
|
1727
1726
|
renderRoster(t, e) {
|
|
1728
1727
|
const s = this.data.roster;
|
|
1729
1728
|
if (!s)
|
|
1730
|
-
return
|
|
1731
|
-
const r = je(s, 560), o = this.data.school?.name || "", i = v(this.data.players), n = s.entries.slice().sort((
|
|
1732
|
-
return
|
|
1733
|
-
${r ?
|
|
1729
|
+
return c`<p class="empty">Roster not published for ${e}.</p>`;
|
|
1730
|
+
const r = je(s, 560), o = this.data.school?.name || "", i = v(this.data.players), n = s.entries.slice().sort((l, h) => (l.number || 0) - (h.number || 0)), d = n.some((l) => i[l.playerId]?.college);
|
|
1731
|
+
return c`
|
|
1732
|
+
${r ? c`<img class="rosterphoto" src=${r} loading="lazy" decoding="async"
|
|
1734
1733
|
alt="${o} ${t.name} ${e} team photo" />` : m}
|
|
1735
1734
|
<div class="tablewrap"><table class="data">
|
|
1736
|
-
<thead><tr><th class="num">No.</th><th>Player</th><th>Pos</th><th>Class</th><th class="num">Ht</th><th class="num">Wt</th>${d ?
|
|
1735
|
+
<thead><tr><th class="num">No.</th><th>Player</th><th>Pos</th><th>Class</th><th class="num">Ht</th><th class="num">Wt</th>${d ? c`<th>College</th>` : m}</tr></thead>
|
|
1737
1736
|
<tbody>
|
|
1738
|
-
${n.map((
|
|
1739
|
-
const h = i[
|
|
1740
|
-
return h ?
|
|
1741
|
-
<td class="num mut">${
|
|
1737
|
+
${n.map((l) => {
|
|
1738
|
+
const h = i[l.playerId];
|
|
1739
|
+
return h ? c`<tr>
|
|
1740
|
+
<td class="num mut">${l.number ?? "·"}</td>
|
|
1742
1741
|
<td style="font-weight:500">${h.firstName} ${h.lastName}</td>
|
|
1743
|
-
<td>${
|
|
1742
|
+
<td>${l.position || "·"}</td>
|
|
1744
1743
|
<td class="mut">${h.classOf || "·"}</td>
|
|
1745
1744
|
<td class="num">${Ae(h.heightIn)}</td>
|
|
1746
1745
|
<td class="num">${h.weightLb || "·"}</td>
|
|
1747
|
-
${d ?
|
|
1746
|
+
${d ? c`<td>${h.college || "·"}</td>` : m}
|
|
1748
1747
|
</tr>` : m;
|
|
1749
1748
|
})}
|
|
1750
1749
|
</tbody>
|
|
@@ -1836,7 +1835,7 @@ class te extends w {
|
|
|
1836
1835
|
super(), this.gameId = "", this.searchApi = "";
|
|
1837
1836
|
}
|
|
1838
1837
|
async fetchData(t) {
|
|
1839
|
-
const e = await t.getGame(this.gameId), s = Array.isArray(e.coverageUrls) ? e.coverageUrls : [], [r, o, i, n, d,
|
|
1838
|
+
const e = await t.getGame(this.gameId), s = Array.isArray(e.coverageUrls) ? e.coverageUrls : [], [r, o, i, n, d, l] = await Promise.all([
|
|
1840
1839
|
t.listSchools(),
|
|
1841
1840
|
t.listTeams({ sport: e.sport }),
|
|
1842
1841
|
t.listConferences(),
|
|
@@ -1853,7 +1852,7 @@ class te extends w {
|
|
|
1853
1852
|
conferences: i.items,
|
|
1854
1853
|
rankings: n.items,
|
|
1855
1854
|
games: d.items,
|
|
1856
|
-
coverage:
|
|
1855
|
+
coverage: l
|
|
1857
1856
|
};
|
|
1858
1857
|
}
|
|
1859
1858
|
get ctx() {
|
|
@@ -1868,10 +1867,10 @@ class te extends w {
|
|
|
1868
1867
|
}
|
|
1869
1868
|
renderView() {
|
|
1870
1869
|
const t = this.data.game;
|
|
1871
|
-
if (!t) return
|
|
1872
|
-
const e = this.ctx, s = v(this.data.conferences), r = e.teamsById[t.awayTeamId] ? e.schoolsById[e.teamsById[t.awayTeamId].schoolId] : null, o = e.teamsById[t.homeTeamId] ? e.schoolsById[e.teamsById[t.homeTeamId].schoolId] : null, i = ut(t), n = (h) => t.state === "final" && i !== h && i !== "tie" ? "opacity:0.45" : "", d = t.conferenceId ? s[t.conferenceId] : null,
|
|
1873
|
-
return
|
|
1874
|
-
${q(this,
|
|
1870
|
+
if (!t) return c`<div class="view"><p class="empty">Game not found.</p></div>`;
|
|
1871
|
+
const e = this.ctx, s = v(this.data.conferences), r = e.teamsById[t.awayTeamId] ? e.schoolsById[e.teamsById[t.awayTeamId].schoolId] : null, o = e.teamsById[t.homeTeamId] ? e.schoolsById[e.teamsById[t.homeTeamId].schoolId] : null, i = ut(t), n = (h) => t.state === "final" && i !== h && i !== "tie" ? "opacity:0.45" : "", d = t.conferenceId ? s[t.conferenceId] : null, l = this.data.games.filter((h) => h.id !== t.id && h.state === "final" && h.gameType !== "scrimmage" && (h.homeTeamId === t.homeTeamId && h.awayTeamId === t.awayTeamId || h.homeTeamId === t.awayTeamId && h.awayTeamId === t.homeTeamId));
|
|
1872
|
+
return c`
|
|
1873
|
+
${q(this, c`
|
|
1875
1874
|
${G(this)}
|
|
1876
1875
|
<p class="breadcrumbs">
|
|
1877
1876
|
<a href=${g(e.hrefs.section, { sport: t.sport, view: "scores" })}>${z(t.sport)}</a> /
|
|
@@ -1888,29 +1887,29 @@ class te extends w {
|
|
|
1888
1887
|
<span style=${n("home")}>${t.homeScore}</span>
|
|
1889
1888
|
</div>
|
|
1890
1889
|
<div class="status">${J(t)}</div>
|
|
1891
|
-
<div class="status">${y(t.date, { weekday: "short", month: "short", day: "numeric", year: "numeric" })}${t.state === "scheduled" && t.time ?
|
|
1892
|
-
${t.broadcast ?
|
|
1890
|
+
<div class="status">${y(t.date, { weekday: "short", month: "short", day: "numeric", year: "numeric" })}${t.state === "scheduled" && t.time ? c` · ${pt(t.time)}` : m} · ${t.venue || "Venue TBD"}
|
|
1891
|
+
${t.broadcast ? c` · <span class="pill class">${t.broadcast}</span>` : m}</div>
|
|
1893
1892
|
<div class="status">
|
|
1894
1893
|
<span class="pill type">${t.gameType === "conference" ? `${d?.name || "Conference"} game` : t.gameType}</span>
|
|
1895
|
-
${t.label ?
|
|
1896
|
-
${(t.tags || []).map((h) =>
|
|
1894
|
+
${t.label ? c`<span class="pill type">Bracket ${t.label}</span>` : m}
|
|
1895
|
+
${(t.tags || []).map((h) => c`<span class="pill type">${h}</span>`)}
|
|
1897
1896
|
</div>
|
|
1898
1897
|
</div>
|
|
1899
1898
|
${this.teamBlock(e, t, t.homeTeamId, o, !0)}
|
|
1900
1899
|
</div>
|
|
1901
1900
|
${this.renderLineScore(t, r, o)}
|
|
1902
|
-
${t.notes ?
|
|
1901
|
+
${t.notes ? c`<p class="note" style="padding:0 1rem 0.9rem;text-align:center">${t.notes}</p>` : m}
|
|
1903
1902
|
</div>
|
|
1904
|
-
${(this.data.coverage || []).length ?
|
|
1903
|
+
${(this.data.coverage || []).length ? c`
|
|
1905
1904
|
<div class="section-title">Coverage</div>
|
|
1906
1905
|
<div class="covgrid">
|
|
1907
|
-
${this.data.coverage.map((h) =>
|
|
1906
|
+
${this.data.coverage.map((h) => c`
|
|
1908
1907
|
<a class="card covcard" href=${h.uri}>
|
|
1909
|
-
${h.image ?
|
|
1908
|
+
${h.image ? c`<img class="covimg" src=${h.image} alt="" loading="lazy" />` : m}
|
|
1910
1909
|
<div class="covbody">
|
|
1911
|
-
<div class="covtitle">${h.videoDuration ?
|
|
1912
|
-
${h.description ?
|
|
1913
|
-
${h.author || h.publishedTime ?
|
|
1910
|
+
<div class="covtitle">${h.videoDuration ? c`<span class="pill live" style="animation:none">Video</span> ` : m}${h.photos ? c`<span class="pill live" style="animation:none">Photos</span> ` : m}${h.title || h.uri}</div>
|
|
1911
|
+
${h.description ? c`<p class="covdesc">${h.description}</p>` : m}
|
|
1912
|
+
${h.author || h.publishedTime ? c`
|
|
1914
1913
|
<div class="covmeta">${[h.author, h.publishedTime ? new Date(h.publishedTime).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" }) : ""].filter(Boolean).join(" · ")}</div>
|
|
1915
1914
|
` : m}
|
|
1916
1915
|
</div>
|
|
@@ -1921,10 +1920,10 @@ class te extends w {
|
|
|
1921
1920
|
<div class="cols">
|
|
1922
1921
|
${[[t.awayTeamId, r], [t.homeTeamId, o]].map(([h, p]) => this.renderContext(e, h, p))}
|
|
1923
1922
|
</div>
|
|
1924
|
-
${
|
|
1923
|
+
${l.length ? c`
|
|
1925
1924
|
<div class="section-title">Head to head this season</div>
|
|
1926
1925
|
<div class="card"><ul class="gamelist">
|
|
1927
|
-
${
|
|
1926
|
+
${l.map((h) => c`<li>
|
|
1928
1927
|
<span class="d">${y(h.date)}</span>${J(h)}
|
|
1929
1928
|
<span class="opp">${C(e, h.awayTeamId)} ${h.awayScore}, ${C(e, h.homeTeamId)} ${h.homeScore}</span>
|
|
1930
1929
|
<a class="box" href=${g(e.hrefs.game, { sport: t.sport, id: h.id })}>Box score →</a>
|
|
@@ -1934,14 +1933,14 @@ class te extends w {
|
|
|
1934
1933
|
`;
|
|
1935
1934
|
}
|
|
1936
1935
|
teamBlock(t, e, s, r, o) {
|
|
1937
|
-
if (!r) return
|
|
1936
|
+
if (!r) return c`<div class="teamblock ${o ? "right" : ""}"><div class="tname">TBD</div></div>`;
|
|
1938
1937
|
const i = t.teamsById[s], n = t.records[s], d = Q(r, 58);
|
|
1939
|
-
return
|
|
1938
|
+
return c`
|
|
1940
1939
|
<div class="teamblock ${o ? "right" : ""}">
|
|
1941
|
-
${d ?
|
|
1940
|
+
${d ? c`<img class="crest logo" alt="" loading="lazy" src=${d} />` : c`<span class="crest" style="background:${r.colorPrimary || "#030711"};color:${K(r.colorPrimary || "#030711")}">${ft(r)}</span>`}
|
|
1942
1941
|
<div>
|
|
1943
1942
|
<div class="tname">${bt(t, s, e.date)}<a href=${g(t.hrefs.school, { id: r.id })}>${r.name}</a></div>
|
|
1944
|
-
<div class="trec">${r.mascot || ""} · ${x(n)}${i?.conferenceId ?
|
|
1943
|
+
<div class="trec">${r.mascot || ""} · ${x(n)}${i?.conferenceId ? c` · ${x(n, !0)} conf` : m}</div>
|
|
1945
1944
|
</div>
|
|
1946
1945
|
</div>
|
|
1947
1946
|
`;
|
|
@@ -1949,20 +1948,20 @@ class te extends w {
|
|
|
1949
1948
|
renderLineScore(t, e, s) {
|
|
1950
1949
|
const r = t.periodScores || [];
|
|
1951
1950
|
if (!r.length)
|
|
1952
|
-
return
|
|
1953
|
-
const o = Math.max(4, ...r.map((
|
|
1951
|
+
return c`<p class="empty" style="text-align:center">Period scoring will appear once the game starts.</p>`;
|
|
1952
|
+
const o = Math.max(4, ...r.map((l) => l.period)), i = (l) => l <= 4 ? String(l) : `OT${l > 5 ? l - 4 : ""}`, n = (l, h) => {
|
|
1954
1953
|
const p = r.find((f) => f.period === h);
|
|
1955
|
-
return p ? p[
|
|
1956
|
-
}, d = (
|
|
1954
|
+
return p ? p[l] : t.state === "final" ? 0 : "·";
|
|
1955
|
+
}, d = (l, h, p) => c`
|
|
1957
1956
|
<tr>
|
|
1958
|
-
<td class="teamcell">${H(
|
|
1959
|
-
${Array.from({ length: o }, (f, u) =>
|
|
1957
|
+
<td class="teamcell">${H(l, 20)}${l?.abbr || "TBD"}</td>
|
|
1958
|
+
${Array.from({ length: o }, (f, u) => c`<td class="num">${n(h, u + 1)}</td>`)}
|
|
1960
1959
|
<td class="num" style="font-weight:700">${p}</td>
|
|
1961
1960
|
</tr>`;
|
|
1962
|
-
return
|
|
1961
|
+
return c`
|
|
1963
1962
|
<div class="tablewrap" style="border-top:1px solid var(--hsot-gray-2)">
|
|
1964
1963
|
<table class="data" style="max-width:560px;margin:0.6rem auto 0.9rem">
|
|
1965
|
-
<thead><tr><th>Team</th>${Array.from({ length: o }, (
|
|
1964
|
+
<thead><tr><th>Team</th>${Array.from({ length: o }, (l, h) => c`<th class="num">${i(h + 1)}</th>`)}<th class="num">T</th></tr></thead>
|
|
1966
1965
|
<tbody>
|
|
1967
1966
|
${d(e, "away", t.awayScore)}
|
|
1968
1967
|
${d(s, "home", t.homeScore)}
|
|
@@ -1974,14 +1973,14 @@ class te extends w {
|
|
|
1974
1973
|
renderContext(t, e, s) {
|
|
1975
1974
|
if (!s) return m;
|
|
1976
1975
|
const r = t.records[e], o = gt(this.data.games, e);
|
|
1977
|
-
return
|
|
1976
|
+
return c`
|
|
1978
1977
|
<div class="card ctxcard">
|
|
1979
1978
|
<div class="who">${H(s)}${s.name}</div>
|
|
1980
1979
|
<div class="row">
|
|
1981
1980
|
<span>Last 5: ${yt(t, e)}</span>
|
|
1982
1981
|
<span>Streak: <b>${r ? st(r.results) : "·"}</b></span>
|
|
1983
1982
|
<span>PF/PA: <b>${r ? `${r.pf} / ${r.pa}` : "·"}</b></span>
|
|
1984
|
-
<span>Next: ${o ?
|
|
1983
|
+
<span>Next: ${o ? c`${y(o.date, { month: "numeric", day: "numeric" })}
|
|
1985
1984
|
${o.homeTeamId === e ? "vs" : "at"} ${Z(t, o.homeTeamId === e ? o.awayTeamId : o.homeTeamId)}` : "·"}</span>
|
|
1986
1985
|
</div>
|
|
1987
1986
|
</div>
|
|
@@ -2122,7 +2121,7 @@ class ee extends E {
|
|
|
2122
2121
|
const s = this.where(t), r = (o) => {
|
|
2123
2122
|
o.preventDefault(), this.go(t);
|
|
2124
2123
|
};
|
|
2125
|
-
return
|
|
2124
|
+
return c`
|
|
2126
2125
|
<li
|
|
2127
2126
|
id="school-option-${e}"
|
|
2128
2127
|
role="option"
|
|
@@ -2133,13 +2132,13 @@ class ee extends E {
|
|
|
2133
2132
|
}}"
|
|
2134
2133
|
>
|
|
2135
2134
|
<span class="name">${t.name}</span>
|
|
2136
|
-
${s ?
|
|
2135
|
+
${s ? c`<span class="where">${s}</span>` : m}
|
|
2137
2136
|
</li>
|
|
2138
2137
|
`;
|
|
2139
2138
|
}
|
|
2140
2139
|
renderListbox() {
|
|
2141
|
-
const t = this.searched && !this.results.length, e =
|
|
2142
|
-
return
|
|
2140
|
+
const t = this.searched && !this.results.length, e = c`<li class="empty">No schools found</li>`;
|
|
2141
|
+
return c`
|
|
2143
2142
|
<ul id="school-search-listbox" role="listbox" aria-label="Schools">
|
|
2144
2143
|
${this.results.map((s, r) => this.renderOption(s, r))}
|
|
2145
2144
|
${t ? e : m}
|
|
@@ -2148,7 +2147,7 @@ class ee extends E {
|
|
|
2148
2147
|
}
|
|
2149
2148
|
render() {
|
|
2150
2149
|
const t = this.activeIndex >= 0 ? `school-option-${this.activeIndex}` : "";
|
|
2151
|
-
return
|
|
2150
|
+
return c`
|
|
2152
2151
|
<input
|
|
2153
2152
|
type="text"
|
|
2154
2153
|
role="combobox"
|
|
@@ -480,10 +480,10 @@ const v = (a) => Object.fromEntries((a || []).map((e) => [e.id, e])), be = b`
|
|
|
480
480
|
.gamelist a.box { font-size: 0.78rem; }
|
|
481
481
|
`, F = [be, ye, $e, we, xe, ke, Te];
|
|
482
482
|
function G(a) {
|
|
483
|
-
return a.state !== "final" ? null : a.forfeit
|
|
483
|
+
return a.state !== "final" ? null : a.forfeit === "home" ? "away" : a.forfeit === "away" || a.homeScore > a.awayScore ? "home" : a.awayScore > a.homeScore ? "away" : a.tiebreakWinner && a.tiebreakWinner !== "none" ? a.tiebreakWinner : "tie";
|
|
484
484
|
}
|
|
485
485
|
function Ie(a) {
|
|
486
|
-
return
|
|
486
|
+
return a && (a.forfeit === "home" || a.forfeit === "away") ? a.forfeit : null;
|
|
487
487
|
}
|
|
488
488
|
function z(a, e) {
|
|
489
489
|
const t = {}, s = (i) => (t[i] = t[i] || { w: 0, l: 0, t: 0, cw: 0, cl: 0, ct: 0, pf: 0, pa: 0, results: [] }, t[i]), o = a.filter((i) => i.state === "final" && i.gameType !== "scrimmage" && (!e || i.date <= e)).sort((i, d) => String(i.date).localeCompare(String(d.date)));
|
|
@@ -856,18 +856,17 @@ class ze extends $ {
|
|
|
856
856
|
renderRow(e, t, s, o) {
|
|
857
857
|
const i = e.schoolsById[t.team.schoolId], d = i?.name || t.team.name || "TBD";
|
|
858
858
|
if (o && !d.toLowerCase().includes(o)) return p;
|
|
859
|
-
const n = t.rec.pf - t.rec.pa, h = q(this.data.games, t.team.id), l = (
|
|
860
|
-
<span class="pill champ" title="${m.season} ${m.title} champion">★ ${m.season} ${m.title}</span>`), c = () => {
|
|
859
|
+
const n = t.rec.pf - t.rec.pa, h = q(this.data.games, t.team.id), l = () => {
|
|
861
860
|
location.href = u(e.hrefs.school, { id: t.team.schoolId });
|
|
862
861
|
};
|
|
863
862
|
return r`
|
|
864
|
-
<tr class="rowlink" @click=${(
|
|
865
|
-
|
|
863
|
+
<tr class="rowlink" @click=${(c) => {
|
|
864
|
+
c.target.closest("a") || l();
|
|
866
865
|
}}>
|
|
867
866
|
<td class="mut">${s + 1}</td>
|
|
868
867
|
<td class="teamcell">
|
|
869
868
|
${C(i)}${Y(e, t.team.id, null)}
|
|
870
|
-
<a href=${u(e.hrefs.school, { id: t.team.schoolId })}>${d}</a>
|
|
869
|
+
<a href=${u(e.hrefs.school, { id: t.team.schoolId })}>${d}</a>
|
|
871
870
|
</td>
|
|
872
871
|
<td class="num">${w(t.rec, !0)}</td>
|
|
873
872
|
<td class="num">${Z(t.confPct)}</td>
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as o, H as e, a as t, b as r, c as n, d as c, e as l, f as i, g as H, h as S, i as g, p as d, r as m, j as R, s as f, k as h, t as k } from "./hsot-school-search-
|
|
1
|
+
import { D as o, H as e, a as t, b as r, c as n, d as c, e as l, f as i, g as H, h as S, i as g, p as d, r as m, j as R, s as f, k as h, t as k } from "./hsot-school-search-CKZtwPCA.js";
|
|
2
2
|
export {
|
|
3
3
|
o as DEFAULT_HREFS,
|
|
4
4
|
e as HsotBoxscore,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wral/hsot-data",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Lit web components for the HighSchoolOT public data pages: scores/schedules, standings, rankings, school pages, and box scores, rendered from api-hsot v1 read payloads.",
|
|
6
6
|
"author": "WRAL Digital",
|