@wral/hsot-data 0.1.3 → 0.1.4

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.
@@ -1,4 +1,4 @@
1
- const j = globalThis, nt = j.ShadowRoot && (j.ShadyCSS === void 0 || j.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, lt = /* @__PURE__ */ Symbol(), vt = /* @__PURE__ */ new WeakMap();
1
+ const j = globalThis, nt = j.ShadowRoot && (j.ShadyCSS === void 0 || j.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, lt = /* @__PURE__ */ Symbol(), $t = /* @__PURE__ */ new WeakMap();
2
2
  let Dt = class {
3
3
  constructor(t, e, s) {
4
4
  if (this._$cssResult$ = !0, s !== lt) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
@@ -9,7 +9,7 @@ let Dt = class {
9
9
  const e = this.t;
10
10
  if (nt && t === void 0) {
11
11
  const s = e !== void 0 && e.length === 1;
12
- s && (t = vt.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && vt.set(e, t));
12
+ s && (t = $t.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && $t.set(e, t));
13
13
  }
14
14
  return t;
15
15
  }
@@ -17,54 +17,54 @@ let Dt = class {
17
17
  return this.cssText;
18
18
  }
19
19
  };
20
- const qt = (r) => new Dt(typeof r == "string" ? r : r + "", void 0, lt), w = (r, ...t) => {
21
- const e = r.length === 1 ? r[0] : t.reduce((s, a, o) => s + ((i) => {
20
+ const Yt = (a) => new Dt(typeof a == "string" ? a : a + "", void 0, lt), w = (a, ...t) => {
21
+ const e = a.length === 1 ? a[0] : t.reduce((s, r, o) => s + ((i) => {
22
22
  if (i._$cssResult$ === !0) return i.cssText;
23
23
  if (typeof i == "number") return i;
24
24
  throw Error("Value passed to 'css' function must be a 'css' function result: " + i + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
25
- })(a) + r[o + 1], r[0]);
26
- return new Dt(e, r, lt);
27
- }, Yt = (r, t) => {
28
- if (nt) r.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
25
+ })(r) + a[o + 1], a[0]);
26
+ return new Dt(e, a, lt);
27
+ }, Zt = (a, t) => {
28
+ if (nt) a.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
29
29
  else for (const e of t) {
30
- const s = document.createElement("style"), a = j.litNonce;
31
- a !== void 0 && s.setAttribute("nonce", a), s.textContent = e.cssText, r.appendChild(s);
30
+ const s = document.createElement("style"), r = j.litNonce;
31
+ r !== void 0 && s.setAttribute("nonce", r), s.textContent = e.cssText, a.appendChild(s);
32
32
  }
33
- }, $t = nt ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
33
+ }, vt = nt ? (a) => a : (a) => a instanceof CSSStyleSheet ? ((t) => {
34
34
  let e = "";
35
35
  for (const s of t.cssRules) e += s.cssText;
36
- return qt(e);
37
- })(r) : r;
38
- const { is: Kt, defineProperty: Qt, getOwnPropertyDescriptor: Zt, getOwnPropertyNames: Jt, getOwnPropertySymbols: Xt, getPrototypeOf: te } = Object, K = globalThis, yt = K.trustedTypes, ee = yt ? yt.emptyScript : "", se = K.reactiveElementPolyfillSupport, D = (r, t) => r, rt = { toAttribute(r, t) {
36
+ return Yt(e);
37
+ })(a) : a;
38
+ const { is: Kt, defineProperty: Qt, getOwnPropertyDescriptor: Jt, getOwnPropertyNames: Xt, getOwnPropertySymbols: te, getPrototypeOf: ee } = Object, Z = globalThis, yt = Z.trustedTypes, se = yt ? yt.emptyScript : "", ae = Z.reactiveElementPolyfillSupport, D = (a, t) => a, rt = { toAttribute(a, t) {
39
39
  switch (t) {
40
40
  case Boolean:
41
- r = r ? ee : null;
41
+ a = a ? se : null;
42
42
  break;
43
43
  case Object:
44
44
  case Array:
45
- r = r == null ? r : JSON.stringify(r);
45
+ a = a == null ? a : JSON.stringify(a);
46
46
  }
47
- return r;
48
- }, fromAttribute(r, t) {
49
- let e = r;
47
+ return a;
48
+ }, fromAttribute(a, t) {
49
+ let e = a;
50
50
  switch (t) {
51
51
  case Boolean:
52
- e = r !== null;
52
+ e = a !== null;
53
53
  break;
54
54
  case Number:
55
- e = r === null ? null : Number(r);
55
+ e = a === null ? null : Number(a);
56
56
  break;
57
57
  case Object:
58
58
  case Array:
59
59
  try {
60
- e = JSON.parse(r);
60
+ e = JSON.parse(a);
61
61
  } catch {
62
62
  e = null;
63
63
  }
64
64
  }
65
65
  return e;
66
- } }, Rt = (r, t) => !Kt(r, t), bt = { attribute: !0, type: String, converter: rt, reflect: !1, useDefault: !1, hasChanged: Rt };
67
- Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), K.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
66
+ } }, Rt = (a, t) => !Kt(a, t), bt = { attribute: !0, type: String, converter: rt, reflect: !1, useDefault: !1, hasChanged: Rt };
67
+ Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), Z.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
68
68
  let T = class extends HTMLElement {
69
69
  static addInitializer(t) {
70
70
  this._$Ei(), (this.l ??= []).push(t);
@@ -74,18 +74,18 @@ let T = class extends HTMLElement {
74
74
  }
75
75
  static createProperty(t, e = bt) {
76
76
  if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
77
- const s = /* @__PURE__ */ Symbol(), a = this.getPropertyDescriptor(t, s, e);
78
- a !== void 0 && Qt(this.prototype, t, a);
77
+ const s = /* @__PURE__ */ Symbol(), r = this.getPropertyDescriptor(t, s, e);
78
+ r !== void 0 && Qt(this.prototype, t, r);
79
79
  }
80
80
  }
81
81
  static getPropertyDescriptor(t, e, s) {
82
- const { get: a, set: o } = Zt(this.prototype, t) ?? { get() {
82
+ const { get: r, set: o } = Jt(this.prototype, t) ?? { get() {
83
83
  return this[e];
84
84
  }, set(i) {
85
85
  this[e] = i;
86
86
  } };
87
- return { get: a, set(i) {
88
- const n = a?.call(this);
87
+ return { get: r, set(i) {
88
+ const n = r?.call(this);
89
89
  o?.call(this, i), this.requestUpdate(t, n, s);
90
90
  }, configurable: !0, enumerable: !0 };
91
91
  }
@@ -94,24 +94,24 @@ let T = class extends HTMLElement {
94
94
  }
95
95
  static _$Ei() {
96
96
  if (this.hasOwnProperty(D("elementProperties"))) return;
97
- const t = te(this);
97
+ const t = ee(this);
98
98
  t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
99
99
  }
100
100
  static finalize() {
101
101
  if (this.hasOwnProperty(D("finalized"))) return;
102
102
  if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(D("properties"))) {
103
- const e = this.properties, s = [...Jt(e), ...Xt(e)];
104
- for (const a of s) this.createProperty(a, e[a]);
103
+ const e = this.properties, s = [...Xt(e), ...te(e)];
104
+ for (const r of s) this.createProperty(r, e[r]);
105
105
  }
106
106
  const t = this[Symbol.metadata];
107
107
  if (t !== null) {
108
108
  const e = litPropertyMetadata.get(t);
109
- if (e !== void 0) for (const [s, a] of e) this.elementProperties.set(s, a);
109
+ if (e !== void 0) for (const [s, r] of e) this.elementProperties.set(s, r);
110
110
  }
111
111
  this._$Eh = /* @__PURE__ */ new Map();
112
112
  for (const [e, s] of this.elementProperties) {
113
- const a = this._$Eu(e, s);
114
- a !== void 0 && this._$Eh.set(a, e);
113
+ const r = this._$Eu(e, s);
114
+ r !== void 0 && this._$Eh.set(r, e);
115
115
  }
116
116
  this.elementStyles = this.finalizeStyles(this.styles);
117
117
  }
@@ -119,8 +119,8 @@ let T = class extends HTMLElement {
119
119
  const e = [];
120
120
  if (Array.isArray(t)) {
121
121
  const s = new Set(t.flat(1 / 0).reverse());
122
- for (const a of s) e.unshift($t(a));
123
- } else t !== void 0 && e.push($t(t));
122
+ for (const r of s) e.unshift(vt(r));
123
+ } else t !== void 0 && e.push(vt(t));
124
124
  return e;
125
125
  }
126
126
  static _$Eu(t, e) {
@@ -146,7 +146,7 @@ let T = class extends HTMLElement {
146
146
  }
147
147
  createRenderRoot() {
148
148
  const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
149
- return Yt(t, this.constructor.elementStyles), t;
149
+ return Zt(t, this.constructor.elementStyles), t;
150
150
  }
151
151
  connectedCallback() {
152
152
  this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach((t) => t.hostConnected?.());
@@ -160,31 +160,31 @@ let T = class extends HTMLElement {
160
160
  this._$AK(t, s);
161
161
  }
162
162
  _$ET(t, e) {
163
- const s = this.constructor.elementProperties.get(t), a = this.constructor._$Eu(t, s);
164
- if (a !== void 0 && s.reflect === !0) {
163
+ const s = this.constructor.elementProperties.get(t), r = this.constructor._$Eu(t, s);
164
+ if (r !== void 0 && s.reflect === !0) {
165
165
  const o = (s.converter?.toAttribute !== void 0 ? s.converter : rt).toAttribute(e, s.type);
166
- this._$Em = t, o == null ? this.removeAttribute(a) : this.setAttribute(a, o), this._$Em = null;
166
+ this._$Em = t, o == null ? this.removeAttribute(r) : this.setAttribute(r, o), this._$Em = null;
167
167
  }
168
168
  }
169
169
  _$AK(t, e) {
170
- const s = this.constructor, a = s._$Eh.get(t);
171
- if (a !== void 0 && this._$Em !== a) {
172
- const o = s.getPropertyOptions(a), i = typeof o.converter == "function" ? { fromAttribute: o.converter } : o.converter?.fromAttribute !== void 0 ? o.converter : rt;
173
- this._$Em = a;
170
+ const s = this.constructor, r = s._$Eh.get(t);
171
+ if (r !== void 0 && this._$Em !== r) {
172
+ const o = s.getPropertyOptions(r), i = typeof o.converter == "function" ? { fromAttribute: o.converter } : o.converter?.fromAttribute !== void 0 ? o.converter : rt;
173
+ this._$Em = r;
174
174
  const n = i.fromAttribute(e, o.type);
175
- this[a] = n ?? this._$Ej?.get(a) ?? n, this._$Em = null;
175
+ this[r] = n ?? this._$Ej?.get(r) ?? n, this._$Em = null;
176
176
  }
177
177
  }
178
- requestUpdate(t, e, s, a = !1, o) {
178
+ requestUpdate(t, e, s, r = !1, o) {
179
179
  if (t !== void 0) {
180
180
  const i = this.constructor;
181
- if (a === !1 && (o = this[t]), s ??= i.getPropertyOptions(t), !((s.hasChanged ?? Rt)(o, e) || s.useDefault && s.reflect && o === this._$Ej?.get(t) && !this.hasAttribute(i._$Eu(t, s)))) return;
181
+ if (r === !1 && (o = this[t]), s ??= i.getPropertyOptions(t), !((s.hasChanged ?? Rt)(o, e) || s.useDefault && s.reflect && o === this._$Ej?.get(t) && !this.hasAttribute(i._$Eu(t, s)))) return;
182
182
  this.C(t, e, s);
183
183
  }
184
184
  this.isUpdatePending === !1 && (this._$ES = this._$EP());
185
185
  }
186
- C(t, e, { useDefault: s, reflect: a, wrapped: o }, i) {
187
- s && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t) && (this._$Ej.set(t, i ?? e ?? this[t]), o !== !0 || i !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (e = void 0), this._$AL.set(t, e)), a === !0 && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t));
186
+ C(t, e, { useDefault: s, reflect: r, wrapped: o }, i) {
187
+ s && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t) && (this._$Ej.set(t, i ?? e ?? this[t]), o !== !0 || i !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (e = void 0), this._$AL.set(t, e)), r === !0 && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t));
188
188
  }
189
189
  async _$EP() {
190
190
  this.isUpdatePending = !0;
@@ -203,13 +203,13 @@ let T = class extends HTMLElement {
203
203
  if (!this.isUpdatePending) return;
204
204
  if (!this.hasUpdated) {
205
205
  if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
206
- for (const [a, o] of this._$Ep) this[a] = o;
206
+ for (const [r, o] of this._$Ep) this[r] = o;
207
207
  this._$Ep = void 0;
208
208
  }
209
209
  const s = this.constructor.elementProperties;
210
- if (s.size > 0) for (const [a, o] of s) {
211
- const { wrapped: i } = o, n = this[a];
212
- i !== !0 || this._$AL.has(a) || n === void 0 || this.C(a, void 0, o, n);
210
+ if (s.size > 0) for (const [r, o] of s) {
211
+ const { wrapped: i } = o, n = this[r];
212
+ i !== !0 || this._$AL.has(r) || n === void 0 || this.C(r, void 0, o, n);
213
213
  }
214
214
  }
215
215
  let t = !1;
@@ -246,54 +246,54 @@ let T = class extends HTMLElement {
246
246
  firstUpdated(t) {
247
247
  }
248
248
  };
249
- T.elementStyles = [], T.shadowRootOptions = { mode: "open" }, T[D("elementProperties")] = /* @__PURE__ */ new Map(), T[D("finalized")] = /* @__PURE__ */ new Map(), se?.({ ReactiveElement: T }), (K.reactiveElementVersions ??= []).push("2.1.2");
250
- const ct = globalThis, wt = (r) => r, W = ct.trustedTypes, xt = W ? W.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, zt = "$lit$", _ = `lit$${Math.random().toFixed(9).slice(2)}$`, Bt = "?" + _, ae = `<${Bt}>`, A = document, z = () => A.createComment(""), B = (r) => r === null || typeof r != "object" && typeof r != "function", dt = Array.isArray, re = (r) => dt(r) || typeof r?.[Symbol.iterator] == "function", st = `[
249
+ T.elementStyles = [], T.shadowRootOptions = { mode: "open" }, T[D("elementProperties")] = /* @__PURE__ */ new Map(), T[D("finalized")] = /* @__PURE__ */ new Map(), ae?.({ ReactiveElement: T }), (Z.reactiveElementVersions ??= []).push("2.1.2");
250
+ const ct = globalThis, wt = (a) => a, W = ct.trustedTypes, xt = W ? W.createPolicy("lit-html", { createHTML: (a) => a }) : void 0, zt = "$lit$", _ = `lit$${Math.random().toFixed(9).slice(2)}$`, Bt = "?" + _, re = `<${Bt}>`, A = document, z = () => A.createComment(""), B = (a) => a === null || typeof a != "object" && typeof a != "function", dt = Array.isArray, oe = (a) => dt(a) || typeof a?.[Symbol.iterator] == "function", st = `[
251
251
  \f\r]`, E = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, _t = /-->/g, kt = />/g, k = RegExp(`>|${st}(?:([^\\s"'>=/]+)(${st}*=${st}*(?:[^
252
- \f\r"'\`<>=]|("|')|))|$)`, "g"), St = /'/g, At = /"/g, Ut = /^(?:script|style|textarea|title)$/i, Ot = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), d = Ot(1), Tt = Ot(2), I = /* @__PURE__ */ Symbol.for("lit-noChange"), m = /* @__PURE__ */ Symbol.for("lit-nothing"), It = /* @__PURE__ */ new WeakMap(), S = A.createTreeWalker(A, 129);
253
- function Ft(r, t) {
254
- if (!dt(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
252
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), St = /'/g, At = /"/g, Ut = /^(?:script|style|textarea|title)$/i, Ot = (a) => (t, ...e) => ({ _$litType$: a, strings: t, values: e }), d = Ot(1), Tt = Ot(2), C = /* @__PURE__ */ Symbol.for("lit-noChange"), m = /* @__PURE__ */ Symbol.for("lit-nothing"), Ct = /* @__PURE__ */ new WeakMap(), S = A.createTreeWalker(A, 129);
253
+ function Ft(a, t) {
254
+ if (!dt(a) || !a.hasOwnProperty("raw")) throw Error("invalid template strings array");
255
255
  return xt !== void 0 ? xt.createHTML(t) : t;
256
256
  }
257
- const oe = (r, t) => {
258
- const e = r.length - 1, s = [];
259
- let a, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", i = E;
257
+ const ie = (a, t) => {
258
+ const e = a.length - 1, s = [];
259
+ let r, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", i = E;
260
260
  for (let n = 0; n < e; n++) {
261
- const c = r[n];
261
+ const c = a[n];
262
262
  let p, l, h = -1, f = 0;
263
- for (; f < c.length && (i.lastIndex = f, l = i.exec(c), l !== null); ) f = i.lastIndex, i === E ? l[1] === "!--" ? i = _t : l[1] !== void 0 ? i = kt : l[2] !== void 0 ? (Ut.test(l[2]) && (a = RegExp("</" + l[2], "g")), i = k) : l[3] !== void 0 && (i = k) : i === k ? l[0] === ">" ? (i = a ?? E, h = -1) : l[1] === void 0 ? h = -2 : (h = i.lastIndex - l[2].length, p = l[1], i = l[3] === void 0 ? k : l[3] === '"' ? At : St) : i === At || i === St ? i = k : i === _t || i === kt ? i = E : (i = k, a = void 0);
264
- const u = i === k && r[n + 1].startsWith("/>") ? " " : "";
265
- o += i === E ? c + ae : h >= 0 ? (s.push(p), c.slice(0, h) + zt + c.slice(h) + _ + u) : c + _ + (h === -2 ? n : u);
263
+ for (; f < c.length && (i.lastIndex = f, l = i.exec(c), l !== null); ) f = i.lastIndex, i === E ? l[1] === "!--" ? i = _t : l[1] !== void 0 ? i = kt : l[2] !== void 0 ? (Ut.test(l[2]) && (r = RegExp("</" + l[2], "g")), i = k) : l[3] !== void 0 && (i = k) : i === k ? l[0] === ">" ? (i = r ?? E, h = -1) : l[1] === void 0 ? h = -2 : (h = i.lastIndex - l[2].length, p = l[1], i = l[3] === void 0 ? k : l[3] === '"' ? At : St) : i === At || i === St ? i = k : i === _t || i === kt ? i = E : (i = k, r = void 0);
264
+ const u = i === k && a[n + 1].startsWith("/>") ? " " : "";
265
+ o += i === E ? c + re : h >= 0 ? (s.push(p), c.slice(0, h) + zt + c.slice(h) + _ + u) : c + _ + (h === -2 ? n : u);
266
266
  }
267
- return [Ft(r, o + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
267
+ return [Ft(a, o + (a[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
268
268
  };
269
269
  class U {
270
270
  constructor({ strings: t, _$litType$: e }, s) {
271
- let a;
271
+ let r;
272
272
  this.parts = [];
273
273
  let o = 0, i = 0;
274
- const n = t.length - 1, c = this.parts, [p, l] = oe(t, e);
274
+ const n = t.length - 1, c = this.parts, [p, l] = ie(t, e);
275
275
  if (this.el = U.createElement(p, s), S.currentNode = this.el.content, e === 2 || e === 3) {
276
276
  const h = this.el.content.firstChild;
277
277
  h.replaceWith(...h.childNodes);
278
278
  }
279
- for (; (a = S.nextNode()) !== null && c.length < n; ) {
280
- if (a.nodeType === 1) {
281
- if (a.hasAttributes()) for (const h of a.getAttributeNames()) if (h.endsWith(zt)) {
282
- const f = l[i++], u = a.getAttribute(h).split(_), $ = /([.?@])?(.*)/.exec(f);
283
- c.push({ type: 1, index: o, name: $[2], strings: u, ctor: $[1] === "." ? ne : $[1] === "?" ? le : $[1] === "@" ? ce : Q }), a.removeAttribute(h);
284
- } else h.startsWith(_) && (c.push({ type: 6, index: o }), a.removeAttribute(h));
285
- if (Ut.test(a.tagName)) {
286
- const h = a.textContent.split(_), f = h.length - 1;
279
+ for (; (r = S.nextNode()) !== null && c.length < n; ) {
280
+ if (r.nodeType === 1) {
281
+ if (r.hasAttributes()) for (const h of r.getAttributeNames()) if (h.endsWith(zt)) {
282
+ const f = l[i++], u = r.getAttribute(h).split(_), v = /([.?@])?(.*)/.exec(f);
283
+ c.push({ type: 1, index: o, name: v[2], strings: u, ctor: v[1] === "." ? le : v[1] === "?" ? ce : v[1] === "@" ? de : K }), r.removeAttribute(h);
284
+ } else h.startsWith(_) && (c.push({ type: 6, index: o }), r.removeAttribute(h));
285
+ if (Ut.test(r.tagName)) {
286
+ const h = r.textContent.split(_), f = h.length - 1;
287
287
  if (f > 0) {
288
- a.textContent = W ? W.emptyScript : "";
289
- for (let u = 0; u < f; u++) a.append(h[u], z()), S.nextNode(), c.push({ type: 2, index: ++o });
290
- a.append(h[f], z());
288
+ r.textContent = W ? W.emptyScript : "";
289
+ for (let u = 0; u < f; u++) r.append(h[u], z()), S.nextNode(), c.push({ type: 2, index: ++o });
290
+ r.append(h[f], z());
291
291
  }
292
292
  }
293
- } else if (a.nodeType === 8) if (a.data === Bt) c.push({ type: 2, index: o });
293
+ } else if (r.nodeType === 8) if (r.data === Bt) c.push({ type: 2, index: o });
294
294
  else {
295
295
  let h = -1;
296
- for (; (h = a.data.indexOf(_, h + 1)) !== -1; ) c.push({ type: 7, index: o }), h += _.length - 1;
296
+ for (; (h = r.data.indexOf(_, h + 1)) !== -1; ) c.push({ type: 7, index: o }), h += _.length - 1;
297
297
  }
298
298
  o++;
299
299
  }
@@ -303,13 +303,13 @@ class U {
303
303
  return s.innerHTML = t, s;
304
304
  }
305
305
  }
306
- function C(r, t, e = r, s) {
307
- if (t === I) return t;
308
- let a = s !== void 0 ? e._$Co?.[s] : e._$Cl;
306
+ function I(a, t, e = a, s) {
307
+ if (t === C) return t;
308
+ let r = s !== void 0 ? e._$Co?.[s] : e._$Cl;
309
309
  const o = B(t) ? void 0 : t._$litDirective$;
310
- return a?.constructor !== o && (a?._$AO?.(!1), o === void 0 ? a = void 0 : (a = new o(r), a._$AT(r, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = a : e._$Cl = a), a !== void 0 && (t = C(r, a._$AS(r, t.values), a, s)), t;
310
+ return r?.constructor !== o && (r?._$AO?.(!1), o === void 0 ? r = void 0 : (r = new o(a), r._$AT(a, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = r : e._$Cl = r), r !== void 0 && (t = I(a, r._$AS(a, t.values), r, s)), t;
311
311
  }
312
- class ie {
312
+ class ne {
313
313
  constructor(t, e) {
314
314
  this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
315
315
  }
@@ -320,17 +320,17 @@ class ie {
320
320
  return this._$AM._$AU;
321
321
  }
322
322
  u(t) {
323
- const { el: { content: e }, parts: s } = this._$AD, a = (t?.creationScope ?? A).importNode(e, !0);
324
- S.currentNode = a;
323
+ const { el: { content: e }, parts: s } = this._$AD, r = (t?.creationScope ?? A).importNode(e, !0);
324
+ S.currentNode = r;
325
325
  let o = S.nextNode(), i = 0, n = 0, c = s[0];
326
326
  for (; c !== void 0; ) {
327
327
  if (i === c.index) {
328
328
  let p;
329
- c.type === 2 ? p = new N(o, o.nextSibling, this, t) : c.type === 1 ? p = new c.ctor(o, c.name, c.strings, this, t) : c.type === 6 && (p = new de(o, this, t)), this._$AV.push(p), c = s[++n];
329
+ c.type === 2 ? p = new N(o, o.nextSibling, this, t) : c.type === 1 ? p = new c.ctor(o, c.name, c.strings, this, t) : c.type === 6 && (p = new he(o, this, t)), this._$AV.push(p), c = s[++n];
330
330
  }
331
331
  i !== c?.index && (o = S.nextNode(), i++);
332
332
  }
333
- return S.currentNode = A, a;
333
+ return S.currentNode = A, r;
334
334
  }
335
335
  p(t) {
336
336
  let e = 0;
@@ -341,8 +341,8 @@ class N {
341
341
  get _$AU() {
342
342
  return this._$AM?._$AU ?? this._$Cv;
343
343
  }
344
- constructor(t, e, s, a) {
345
- this.type = 2, this._$AH = m, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = a, this._$Cv = a?.isConnected ?? !0;
344
+ constructor(t, e, s, r) {
345
+ this.type = 2, this._$AH = m, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = r, this._$Cv = r?.isConnected ?? !0;
346
346
  }
347
347
  get parentNode() {
348
348
  let t = this._$AA.parentNode;
@@ -356,7 +356,7 @@ class N {
356
356
  return this._$AB;
357
357
  }
358
358
  _$AI(t, e = this) {
359
- t = C(this, t, e), B(t) ? t === m || t == null || t === "" ? (this._$AH !== m && this._$AR(), this._$AH = m) : t !== this._$AH && t !== I && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : re(t) ? this.k(t) : this._(t);
359
+ t = I(this, t, e), B(t) ? t === m || t == null || t === "" ? (this._$AH !== m && this._$AR(), this._$AH = m) : t !== this._$AH && t !== C && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : oe(t) ? this.k(t) : this._(t);
360
360
  }
361
361
  O(t) {
362
362
  return this._$AA.parentNode.insertBefore(t, this._$AB);
@@ -368,23 +368,23 @@ class N {
368
368
  this._$AH !== m && B(this._$AH) ? this._$AA.nextSibling.data = t : this.T(A.createTextNode(t)), this._$AH = t;
369
369
  }
370
370
  $(t) {
371
- const { values: e, _$litType$: s } = t, a = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = U.createElement(Ft(s.h, s.h[0]), this.options)), s);
372
- if (this._$AH?._$AD === a) this._$AH.p(e);
371
+ const { values: e, _$litType$: s } = t, r = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = U.createElement(Ft(s.h, s.h[0]), this.options)), s);
372
+ if (this._$AH?._$AD === r) this._$AH.p(e);
373
373
  else {
374
- const o = new ie(a, this), i = o.u(this.options);
374
+ const o = new ne(r, this), i = o.u(this.options);
375
375
  o.p(e), this.T(i), this._$AH = o;
376
376
  }
377
377
  }
378
378
  _$AC(t) {
379
- let e = It.get(t.strings);
380
- return e === void 0 && It.set(t.strings, e = new U(t)), e;
379
+ let e = Ct.get(t.strings);
380
+ return e === void 0 && Ct.set(t.strings, e = new U(t)), e;
381
381
  }
382
382
  k(t) {
383
383
  dt(this._$AH) || (this._$AH = [], this._$AR());
384
384
  const e = this._$AH;
385
- let s, a = 0;
386
- for (const o of t) a === e.length ? e.push(s = new N(this.O(z()), this.O(z()), this, this.options)) : s = e[a], s._$AI(o), a++;
387
- a < e.length && (this._$AR(s && s._$AB.nextSibling, a), e.length = a);
385
+ let s, r = 0;
386
+ for (const o of t) r === e.length ? e.push(s = new N(this.O(z()), this.O(z()), this, this.options)) : s = e[r], s._$AI(o), r++;
387
+ r < e.length && (this._$AR(s && s._$AB.nextSibling, r), e.length = r);
388
388
  }
389
389
  _$AR(t = this._$AA.nextSibling, e) {
390
390
  for (this._$AP?.(!1, !0, e); t !== this._$AB; ) {
@@ -396,32 +396,32 @@ class N {
396
396
  this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
397
397
  }
398
398
  }
399
- class Q {
399
+ class K {
400
400
  get tagName() {
401
401
  return this.element.tagName;
402
402
  }
403
403
  get _$AU() {
404
404
  return this._$AM._$AU;
405
405
  }
406
- constructor(t, e, s, a, o) {
407
- this.type = 1, this._$AH = m, this._$AN = void 0, this.element = t, this.name = e, this._$AM = a, this.options = o, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = m;
406
+ constructor(t, e, s, r, o) {
407
+ this.type = 1, this._$AH = m, this._$AN = void 0, this.element = t, this.name = e, this._$AM = r, this.options = o, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = m;
408
408
  }
409
- _$AI(t, e = this, s, a) {
409
+ _$AI(t, e = this, s, r) {
410
410
  const o = this.strings;
411
411
  let i = !1;
412
- if (o === void 0) t = C(this, t, e, 0), i = !B(t) || t !== this._$AH && t !== I, i && (this._$AH = t);
412
+ if (o === void 0) t = I(this, t, e, 0), i = !B(t) || t !== this._$AH && t !== C, i && (this._$AH = t);
413
413
  else {
414
414
  const n = t;
415
415
  let c, p;
416
- for (t = o[0], c = 0; c < o.length - 1; c++) p = C(this, n[s + c], e, c), p === I && (p = this._$AH[c]), i ||= !B(p) || p !== this._$AH[c], p === m ? t = m : t !== m && (t += (p ?? "") + o[c + 1]), this._$AH[c] = p;
416
+ for (t = o[0], c = 0; c < o.length - 1; c++) p = I(this, n[s + c], e, c), p === C && (p = this._$AH[c]), i ||= !B(p) || p !== this._$AH[c], p === m ? t = m : t !== m && (t += (p ?? "") + o[c + 1]), this._$AH[c] = p;
417
417
  }
418
- i && !a && this.j(t);
418
+ i && !r && this.j(t);
419
419
  }
420
420
  j(t) {
421
421
  t === m ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
422
422
  }
423
423
  }
424
- class ne extends Q {
424
+ class le extends K {
425
425
  constructor() {
426
426
  super(...arguments), this.type = 3;
427
427
  }
@@ -429,7 +429,7 @@ class ne extends Q {
429
429
  this.element[this.name] = t === m ? void 0 : t;
430
430
  }
431
431
  }
432
- class le extends Q {
432
+ class ce extends K {
433
433
  constructor() {
434
434
  super(...arguments), this.type = 4;
435
435
  }
@@ -437,20 +437,20 @@ class le extends Q {
437
437
  this.element.toggleAttribute(this.name, !!t && t !== m);
438
438
  }
439
439
  }
440
- class ce extends Q {
441
- constructor(t, e, s, a, o) {
442
- super(t, e, s, a, o), this.type = 5;
440
+ class de extends K {
441
+ constructor(t, e, s, r, o) {
442
+ super(t, e, s, r, o), this.type = 5;
443
443
  }
444
444
  _$AI(t, e = this) {
445
- if ((t = C(this, t, e, 0) ?? m) === I) return;
446
- const s = this._$AH, a = t === m && s !== m || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, o = t !== m && (s === m || a);
447
- a && this.element.removeEventListener(this.name, this, s), o && this.element.addEventListener(this.name, this, t), this._$AH = t;
445
+ if ((t = I(this, t, e, 0) ?? m) === C) return;
446
+ const s = this._$AH, r = t === m && s !== m || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, o = t !== m && (s === m || r);
447
+ r && this.element.removeEventListener(this.name, this, s), o && this.element.addEventListener(this.name, this, t), this._$AH = t;
448
448
  }
449
449
  handleEvent(t) {
450
450
  typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
451
451
  }
452
452
  }
453
- class de {
453
+ class he {
454
454
  constructor(t, e, s) {
455
455
  this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s;
456
456
  }
@@ -458,19 +458,19 @@ class de {
458
458
  return this._$AM._$AU;
459
459
  }
460
460
  _$AI(t) {
461
- C(this, t);
461
+ I(this, t);
462
462
  }
463
463
  }
464
- const he = ct.litHtmlPolyfillSupport;
465
- he?.(U, N), (ct.litHtmlVersions ??= []).push("3.3.3");
466
- const pe = (r, t, e) => {
464
+ const pe = ct.litHtmlPolyfillSupport;
465
+ pe?.(U, N), (ct.litHtmlVersions ??= []).push("3.3.3");
466
+ const me = (a, t, e) => {
467
467
  const s = e?.renderBefore ?? t;
468
- let a = s._$litPart$;
469
- if (a === void 0) {
468
+ let r = s._$litPart$;
469
+ if (r === void 0) {
470
470
  const o = e?.renderBefore ?? null;
471
- s._$litPart$ = a = new N(t.insertBefore(z(), o), o, void 0, e ?? {});
471
+ s._$litPart$ = r = new N(t.insertBefore(z(), o), o, void 0, e ?? {});
472
472
  }
473
- return a._$AI(r), a;
473
+ return r._$AI(a), r;
474
474
  };
475
475
  const ht = globalThis;
476
476
  class R extends T {
@@ -483,7 +483,7 @@ class R extends T {
483
483
  }
484
484
  update(t) {
485
485
  const e = this.render();
486
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = pe(e, this.renderRoot, this.renderOptions);
486
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = me(e, this.renderRoot, this.renderOptions);
487
487
  }
488
488
  connectedCallback() {
489
489
  super.connectedCallback(), this._$Do?.setConnected(!0);
@@ -492,27 +492,27 @@ class R extends T {
492
492
  super.disconnectedCallback(), this._$Do?.setConnected(!1);
493
493
  }
494
494
  render() {
495
- return I;
495
+ return C;
496
496
  }
497
497
  }
498
498
  R._$litElement$ = !0, R.finalized = !0, ht.litElementHydrateSupport?.({ LitElement: R });
499
- const me = ht.litElementPolyfillSupport;
500
- me?.({ LitElement: R });
499
+ const fe = ht.litElementPolyfillSupport;
500
+ fe?.({ LitElement: R });
501
501
  (ht.litElementVersions ??= []).push("4.2.2");
502
- const fe = 50;
503
- function ue(r = {}) {
504
- const t = Object.entries(r).filter(([, s]) => s != null && s !== "");
502
+ const ue = 50;
503
+ function ge(a = {}) {
504
+ const t = Object.entries(a).filter(([, s]) => s != null && s !== "");
505
505
  if (!t.length) return "";
506
506
  const e = new URLSearchParams();
507
- return t.forEach(([s, a]) => e.set(s, String(a))), `?${e.toString()}`;
507
+ return t.forEach(([s, r]) => e.set(s, String(r))), `?${e.toString()}`;
508
508
  }
509
- function ge({ baseUrl: r, token: t = "", fetchFn: e } = {}) {
510
- if (!r) throw new Error("createClient requires a baseUrl");
511
- const s = r.replace(/\/+$/, ""), a = e || ((...n) => fetch(...n));
509
+ function $e({ baseUrl: a, token: t = "", fetchFn: e } = {}) {
510
+ if (!a) throw new Error("createClient requires a baseUrl");
511
+ const s = a.replace(/\/+$/, ""), r = e || ((...n) => fetch(...n));
512
512
  async function o(n) {
513
513
  const c = { Accept: "application/json" };
514
514
  t && (c.Authorization = `Bearer ${t}`);
515
- const p = await a(`${s}${n}`, { headers: c });
515
+ const p = await r(`${s}${n}`, { headers: c });
516
516
  if (!p.ok) {
517
517
  const l = new Error(`api-hsot ${p.status} on ${n}`);
518
518
  throw l.status = p.status, l;
@@ -522,8 +522,8 @@ function ge({ baseUrl: r, token: t = "", fetchFn: e } = {}) {
522
522
  async function i(n, c = {}) {
523
523
  const p = [];
524
524
  let l = null;
525
- for (let h = 0; h < fe; h += 1) {
526
- const f = ue(l ? { ...c, cursor: l } : c), u = await o(`${n}${f}`);
525
+ for (let h = 0; h < ue; h += 1) {
526
+ const f = ge(l ? { ...c, cursor: l } : c), u = await o(`${n}${f}`);
527
527
  if (p.push(...u.items || []), l = u.nextCursor || null, !l) break;
528
528
  }
529
529
  return { items: p, total: p.length, nextCursor: null };
@@ -560,7 +560,7 @@ class b extends R {
560
560
  this._client = t, this.isConnected && this.load();
561
561
  }
562
562
  get client() {
563
- return this._client ? this._client : this.api ? ge({ baseUrl: this.api }) : null;
563
+ return this._client ? this._client : this.api ? $e({ baseUrl: this.api }) : null;
564
564
  }
565
565
  connectedCallback() {
566
566
  super.connectedCallback(), this._setupInterval();
@@ -607,7 +607,7 @@ class b extends R {
607
607
  return d``;
608
608
  }
609
609
  }
610
- const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
610
+ const g = (a) => Object.fromEntries((a || []).map((t) => [t.id, t])), ve = w`
611
611
  :host {
612
612
  --hsot-red: var(--color-red, #D1232A);
613
613
  --hsot-red-deep: var(--color-red-dark, #951C21);
@@ -641,7 +641,7 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
641
641
  outline-offset: 1px;
642
642
  }
643
643
  .mut { color: var(--hsot-gray-5); }
644
- `, $e = w`
644
+ `, ye = w`
645
645
  .band { background: var(--hsot-white); color: var(--hsot-black); }
646
646
  .band .inner { max-width: 1366px; margin: 0 auto; padding: 1.1rem 1.25rem 0; }
647
647
  .band h1, .band h2.bandtitle {
@@ -661,7 +661,7 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
661
661
  .band nav.tabs a.on { border-bottom-color: var(--hsot-red); }
662
662
  .band nav.tabs span.off { color: var(--hsot-gray-4); cursor: not-allowed; }
663
663
  @media (max-width: 720px) { .band h1, .band h2.bandtitle { font-size: 1.8rem; } }
664
- `, ye = w`
664
+ `, be = w`
665
665
  .view { max-width: 1366px; margin: 0 auto; padding: 1.25rem; box-sizing: border-box; }
666
666
  .toolbar { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin: 0 0 1.1rem; }
667
667
  .toolbar .spacer { flex: 1; }
@@ -704,7 +704,7 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
704
704
  .error { padding: 1.2rem 1rem; color: var(--hsot-red-deep); font-size: 0.9rem; }
705
705
  .note { font-size: 0.8125rem; color: var(--hsot-gray-5); margin: 0.6rem 0 0; }
706
706
  .loading { padding: 1.2rem; color: var(--hsot-gray-5); font-family: var(--hsot-heading-font); }
707
- `, be = w`
707
+ `, we = w`
708
708
  .pill {
709
709
  display: inline-block; font-family: var(--hsot-heading-font); font-weight: 700;
710
710
  font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.04em;
@@ -719,7 +719,7 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
719
719
  .pill.champ { background: var(--hsot-straw); color: #6b5900; }
720
720
  @keyframes hsot-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }
721
721
  @media (prefers-reduced-motion: reduce) { .pill.live { animation: none; } }
722
- `, we = w`
722
+ `, xe = w`
723
723
  .tablewrap { overflow-x: auto; }
724
724
  table.data { font-family: var(--hsot-heading-font); font-size: 14px; border-collapse: collapse; width: 100%; }
725
725
  table.data th {
@@ -737,7 +737,7 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
737
737
  table.data tbody tr.rowlink:hover { background: var(--hsot-gray-1); }
738
738
  table.data td.teamcell a { color: inherit; text-decoration: none; font-weight: 500; }
739
739
  table.data td.teamcell a:hover { text-decoration: underline; }
740
- `, xe = w`
740
+ `, _e = w`
741
741
  .swatch {
742
742
  display: inline-flex; align-items: center; justify-content: center;
743
743
  width: 26px; height: 26px; border-radius: 50%;
@@ -761,7 +761,7 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
761
761
  .dot.W { background: var(--hsot-win); }
762
762
  .dot.L { background: var(--hsot-loss); }
763
763
  .dot.T { background: var(--hsot-tie); }
764
- `, _e = w`
764
+ `, ke = w`
765
765
  ul.gamelist { list-style: none; margin: 0; padding: 0; }
766
766
  .gamelist li {
767
767
  display: flex; align-items: center; gap: 0.7rem; padding: 0.55rem 1rem;
@@ -778,13 +778,13 @@ const g = (r) => Object.fromEntries((r || []).map((t) => [t.id, t])), ve = w`
778
778
  .gamelist .opp a:hover { text-decoration: underline; }
779
779
  .gamelist .where { color: var(--hsot-gray-5); font-size: 0.78rem; }
780
780
  .gamelist a.box { font-size: 0.78rem; }
781
- `, H = [ve, $e, ye, be, we, xe, _e];
782
- function pt(r) {
783
- return r.state !== "final" ? null : r.forfeit && r.forfeit !== "none" ? r.forfeit : r.homeScore > r.awayScore ? "home" : r.awayScore > r.homeScore ? "away" : r.tiebreakWinner && r.tiebreakWinner !== "none" ? r.tiebreakWinner : "tie";
781
+ `, H = [ve, ye, be, we, xe, _e, ke];
782
+ function pt(a) {
783
+ return a.state !== "final" ? null : a.forfeit && a.forfeit !== "none" ? a.forfeit : a.homeScore > a.awayScore ? "home" : a.awayScore > a.homeScore ? "away" : a.tiebreakWinner && a.tiebreakWinner !== "none" ? a.tiebreakWinner : "tie";
784
784
  }
785
- function M(r, t) {
786
- 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]), a = r.filter((o) => o.state === "final" && o.gameType !== "scrimmage" && !0).sort((o, i) => String(o.date).localeCompare(String(i.date)));
787
- for (const o of a) {
785
+ function M(a, t) {
786
+ 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)));
787
+ for (const o of r) {
788
788
  const i = pt(o), n = o.gameType === "conference";
789
789
  for (const c of ["home", "away"]) {
790
790
  const p = c === "home" ? o.homeTeamId : o.awayTeamId;
@@ -797,33 +797,33 @@ function M(r, t) {
797
797
  }
798
798
  return e;
799
799
  }
800
- function Z(r) {
801
- if (!r || !r.length) return "";
802
- const t = r[r.length - 1].mark;
800
+ function Q(a) {
801
+ if (!a || !a.length) return "";
802
+ const t = a[a.length - 1].mark;
803
803
  let e = 0;
804
- for (let s = r.length - 1; s >= 0 && r[s].mark === t; s -= 1) e += 1;
804
+ for (let s = a.length - 1; s >= 0 && a[s].mark === t; s -= 1) e += 1;
805
805
  return t + e;
806
806
  }
807
- const Ct = (r, t, e) => {
808
- const s = r + t + e;
809
- return s ? (r + e / 2) / s : 0;
810
- }, Et = (r) => r.toFixed(3).replace("0.", ".");
811
- function x(r, t = !1) {
812
- if (!r) return "0-0";
813
- const e = t ? r.cw : r.w, s = t ? r.cl : r.l, a = t ? r.ct : r.t;
814
- return `${e}-${s}${a ? `-${a}` : ""}`;
807
+ const It = (a, t, e) => {
808
+ const s = a + t + e;
809
+ return s ? (a + e / 2) / s : 0;
810
+ }, Et = (a) => a.toFixed(3).replace("0.", ".");
811
+ function x(a, t = !1) {
812
+ if (!a) return "0-0";
813
+ const e = t ? a.cw : a.w, s = t ? a.cl : a.l, r = t ? a.ct : a.t;
814
+ return `${e}-${s}${r ? `-${r}` : ""}`;
815
815
  }
816
- function Nt(r, t) {
817
- return r.map((e) => {
816
+ function Nt(a, t) {
817
+ return a.map((e) => {
818
818
  const s = t[e.id] || { w: 0, l: 0, t: 0, cw: 0, cl: 0, ct: 0, pf: 0, pa: 0, results: [] };
819
- return { team: e, rec: s, confPct: Ct(s.cw, s.cl, s.ct), overallPct: Ct(s.w, s.l, s.t) };
819
+ return { team: e, rec: s, confPct: It(s.cw, s.cl, s.ct), overallPct: It(s.w, s.l, s.t) };
820
820
  }).sort((e, s) => s.confPct - e.confPct || s.overallPct - e.overallPct || s.rec.pf - s.rec.pa - (e.rec.pf - e.rec.pa));
821
821
  }
822
- function mt(r, t) {
823
- return r.filter((e) => (e.homeTeamId === t || e.awayTeamId === t) && (e.state === "scheduled" || e.state === "live") && e.gameType !== "scrimmage").sort((e, s) => String(e.date).localeCompare(String(s.date)))[0] || null;
822
+ function mt(a, t) {
823
+ return a.filter((e) => (e.homeTeamId === t || e.awayTeamId === t) && (e.state === "scheduled" || e.state === "live") && e.gameType !== "scrimmage").sort((e, s) => String(e.date).localeCompare(String(s.date)))[0] || null;
824
824
  }
825
- function Pt(r, t) {
826
- const e = r[t];
825
+ function Pt(a, t) {
826
+ const e = a[t];
827
827
  return e && e.results.length ? e.results[e.results.length - 1] : null;
828
828
  }
829
829
  const at = {
@@ -831,66 +831,66 @@ const at = {
831
831
  school: "/school/{id}/",
832
832
  section: "/{sport}/{view}/"
833
833
  };
834
- function v(r, t) {
835
- return String(r).replace(/\{(\w+)\}/g, (e, s) => t[s] !== void 0 && t[s] !== null ? String(t[s]) : e);
834
+ function $(a, t) {
835
+ return String(a).replace(/\{(\w+)\}/g, (e, s) => t[s] !== void 0 && t[s] !== null ? String(t[s]) : e);
836
836
  }
837
- function L(r) {
837
+ function L(a) {
838
838
  return {
839
- game: r.getAttribute("game-href") || at.game,
840
- school: r.getAttribute("school-href") || at.school,
841
- section: r.getAttribute("section-href") || at.section
839
+ game: a.getAttribute("game-href") || at.game,
840
+ school: a.getAttribute("school-href") || at.school,
841
+ section: a.getAttribute("section-href") || at.section
842
842
  };
843
843
  }
844
- const J = (r) => r ? r.charAt(0).toUpperCase() + r.slice(1) : "";
845
- function y(r, t) {
846
- if (!r) return "TBD";
847
- const [e, s, a] = String(r).split("-").map(Number);
848
- return !e || !s || !a ? "TBD" : new Date(e, s - 1, a).toLocaleDateString("en-US", t || { weekday: "short", month: "short", day: "numeric" });
844
+ const J = (a) => a ? a.charAt(0).toUpperCase() + a.slice(1) : "";
845
+ function y(a, t) {
846
+ if (!a) return "TBD";
847
+ const [e, s, r] = String(a).split("-").map(Number);
848
+ return !e || !s || !r ? "TBD" : new Date(e, s - 1, r).toLocaleDateString("en-US", t || { weekday: "short", month: "short", day: "numeric" });
849
849
  }
850
- function X(r) {
851
- if (!r) return "";
852
- const [t, e] = String(r).split(":").map(Number);
850
+ function X(a) {
851
+ if (!a) return "";
852
+ const [t, e] = String(a).split(":").map(Number);
853
853
  if (Number.isNaN(t)) return "";
854
854
  const s = t >= 12 ? "PM" : "AM";
855
855
  return `${(t + 11) % 12 + 1}:${String(e || 0).padStart(2, "0")} ${s}`;
856
856
  }
857
- function ke(r) {
858
- return r ? `${Math.floor(r / 12)}-${r % 12}` : "·";
857
+ function Se(a) {
858
+ return a ? `${Math.floor(a / 12)}-${a % 12}` : "·";
859
859
  }
860
- function tt(r = /* @__PURE__ */ new Date()) {
861
- const t = r.getFullYear();
862
- return r.getMonth() >= 6 ? `${t}-${t + 1}` : `${t - 1}-${t}`;
860
+ function tt(a = /* @__PURE__ */ new Date()) {
861
+ const t = a.getFullYear();
862
+ return a.getMonth() >= 6 ? `${t}-${t + 1}` : `${t - 1}-${t}`;
863
863
  }
864
- function ot(r = /* @__PURE__ */ new Date()) {
864
+ function ot(a = /* @__PURE__ */ new Date()) {
865
865
  const t = (e) => String(e).padStart(2, "0");
866
- return `${r.getFullYear()}-${t(r.getMonth() + 1)}-${t(r.getDate())}`;
866
+ return `${a.getFullYear()}-${t(a.getMonth() + 1)}-${t(a.getDate())}`;
867
867
  }
868
- function ft(r) {
869
- return r ? (r.abbr || r.name || "?").slice(0, 4).toUpperCase() : "?";
868
+ function ft(a) {
869
+ return a ? (a.abbr || a.name || "?").slice(0, 4).toUpperCase() : "?";
870
870
  }
871
- function V(r) {
872
- if (!r || !/^#[0-9a-fA-F]{6}$/.test(r)) return "#FFFFFF";
873
- const t = parseInt(r.slice(1), 16), e = t >> 16 & 255, s = t >> 8 & 255, a = t & 255;
874
- return 0.299 * e + 0.587 * s + 0.114 * a > 150 ? "#0F1B33" : "#FFFFFF";
871
+ function V(a) {
872
+ if (!a || !/^#[0-9a-fA-F]{6}$/.test(a)) return "#FFFFFF";
873
+ const t = parseInt(a.slice(1), 16), e = t >> 16 & 255, s = t >> 8 & 255, r = t & 255;
874
+ return 0.299 * e + 0.587 * s + 0.114 * r > 150 ? "#0F1B33" : "#FFFFFF";
875
875
  }
876
- const Se = (r) => {
877
- const t = ["th", "st", "nd", "rd"], e = r % 100;
878
- return r + (t[(e - 20) % 10] || t[e] || t[0]);
876
+ const Ae = (a) => {
877
+ const t = ["th", "st", "nd", "rd"], e = a % 100;
878
+ return a + (t[(e - 20) % 10] || t[e] || t[0]);
879
879
  };
880
- function Ae(r) {
881
- if (r.state === "live") return { kind: "live", label: `Live · ${r.period || ""}`.replace(/ · $/, "") };
882
- if (r.state === "final") {
880
+ function Te(a) {
881
+ if (a.state === "live") return { kind: "live", label: `Live · ${a.period || ""}`.replace(/ · $/, "") };
882
+ if (a.state === "final") {
883
883
  const t = [];
884
- return r.finish === "overtime" && t.push("OT"), r.finish === "shootout" && t.push("PK-SO"), r.forfeit && r.forfeit !== "none" && t.push("Forfeit"), { kind: "final", label: `Final${t.length ? ` · ${t.join(" · ")}` : ""}` };
884
+ return a.finish === "overtime" && t.push("OT"), a.finish === "shootout" && t.push("PK-SO"), a.forfeit && a.forfeit !== "none" && t.push("Forfeit"), { kind: "final", label: `Final${t.length ? ` · ${t.join(" · ")}` : ""}` };
885
885
  }
886
- return r.state === "postponed" ? { kind: "warn", label: "Postponed" } : r.state === "canceled" ? { kind: "warn", label: "Canceled" } : { kind: "sched", label: `${y(r.date, { month: "short", day: "numeric" })} · ${X(r.time)}`.replace(/ · $/, "") };
886
+ return a.state === "postponed" ? { kind: "warn", label: "Postponed" } : a.state === "canceled" ? { kind: "warn", label: "Canceled" } : { kind: "sched", label: `${y(a.date, { month: "short", day: "numeric" })} · ${X(a.time)}`.replace(/ · $/, "") };
887
887
  }
888
- function Ht(r, t, e, s, a) {
888
+ function Ht(a, t, e, s, r) {
889
889
  const o = t[e];
890
890
  if (!o) return null;
891
891
  const i = /* @__PURE__ */ new Map();
892
- for (const c of r || []) {
893
- if (c.sport !== s || a && c.effectiveDate > a || c.gender && o.gender !== c.gender && o.gender !== "coed") continue;
892
+ for (const c of a || []) {
893
+ if (c.sport !== s || r && c.effectiveDate > r || c.gender && o.gender !== c.gender && o.gender !== "coed") continue;
894
894
  const p = c.gender || "", l = i.get(p);
895
895
  (!l || c.effectiveDate > l.effectiveDate) && i.set(p, c);
896
896
  }
@@ -901,66 +901,66 @@ function Ht(r, t, e, s, a) {
901
901
  }
902
902
  return n ? n.rank : null;
903
903
  }
904
- function Te(r, t, e) {
905
- if (!r) return { kind: "none", delta: 0 };
906
- const s = (r.teamIds || []).indexOf(e) + 1;
904
+ function Ce(a, t, e) {
905
+ if (!a) return { kind: "none", delta: 0 };
906
+ const s = (a.teamIds || []).indexOf(e) + 1;
907
907
  if (!s) return { kind: "none", delta: 0 };
908
908
  if (!t) return { kind: "same", delta: 0 };
909
- const a = (t.teamIds || []).indexOf(e) + 1;
910
- if (!a) return { kind: "new", delta: 0 };
911
- const o = a - s;
909
+ const r = (t.teamIds || []).indexOf(e) + 1;
910
+ if (!r) return { kind: "new", delta: 0 };
911
+ const o = r - s;
912
912
  return o > 0 ? { kind: "up", delta: o } : o < 0 ? { kind: "down", delta: -o } : { kind: "same", delta: 0 };
913
913
  }
914
- function Ie(r) {
915
- return /^https?:\/\//i.test(String(r || ""));
914
+ function Ie(a) {
915
+ return /^https?:\/\//i.test(String(a || ""));
916
916
  }
917
- function G(r, t) {
918
- const e = r?.logoAssetId;
917
+ function G(a, t) {
918
+ const e = a?.logoAssetId;
919
919
  if (!Ie(e)) return "";
920
- const s = Math.max(1, Math.round(t * 2)), a = e.includes("?") ? "&" : "?";
921
- return `${e}${a}w=${s}&h=${s}&f=webp`;
920
+ const s = Math.max(1, Math.round(t * 2)), r = e.includes("?") ? "&" : "?";
921
+ return `${e}${r}w=${s}&h=${s}&f=webp`;
922
922
  }
923
- const O = (r, t) => {
924
- const e = r.teamsById[t];
925
- return e ? r.schoolsById[e.schoolId] : null;
926
- }, P = (r, t) => O(r, t)?.name || "TBD", q = (r, t) => O(r, t)?.abbr || "TBD";
927
- function F(r, t = 26) {
928
- if (!r) return m;
929
- const e = G(r, t);
923
+ const O = (a, t) => {
924
+ const e = a.teamsById[t];
925
+ return e ? a.schoolsById[e.schoolId] : null;
926
+ }, P = (a, t) => O(a, t)?.name || "TBD", q = (a, t) => O(a, t)?.abbr || "TBD";
927
+ function F(a, t = 26) {
928
+ if (!a) return m;
929
+ const e = G(a, t);
930
930
  if (e)
931
931
  return d`<img class="swatch logo" aria-hidden="true" alt="" loading="lazy"
932
932
  src=${e} style="width:${t}px;height:${t}px" />`;
933
- const s = r.colorPrimary || "#030711", a = V(s);
933
+ const s = a.colorPrimary || "#030711", r = V(s);
934
934
  return d`<span class="swatch" aria-hidden="true"
935
- style="width:${t}px;height:${t}px;background:${s};color:${a};font-size:${Math.max(8, t * 0.28)}px"
936
- >${ft(r)}</span>`;
935
+ style="width:${t}px;height:${t}px;background:${s};color:${r};font-size:${Math.max(8, t * 0.28)}px"
936
+ >${ft(a)}</span>`;
937
937
  }
938
- function ut(r, t, e) {
939
- const s = Ht(r.rankings, r.teamsById, t, r.sport, e);
938
+ function ut(a, t, e) {
939
+ const s = Ht(a.rankings, a.teamsById, t, a.sport, e);
940
940
  return s ? d`<span class="rankbadge">#${s}</span>` : m;
941
941
  }
942
- function it(r, t, e) {
943
- const s = O(r, t);
944
- return s ? d`${ut(r, t, e)}<a href=${v(r.hrefs.school, { id: s.id })}>${s.name}</a>` : d`<span class="mut">TBD</span>`;
942
+ function it(a, t, e) {
943
+ const s = O(a, t);
944
+ return s ? d`${ut(a, t, e)}<a href=${$(a.hrefs.school, { id: s.id })}>${s.name}</a>` : d`<span class="mut">TBD</span>`;
945
945
  }
946
- function gt(r, t, e = 5) {
947
- const s = r.records[t];
946
+ function gt(a, t, e = 5) {
947
+ const s = a.records[t];
948
948
  if (!s || !s.results.length) return d`<span class="mut">·</span>`;
949
- const a = s.results.slice(-1 * e);
950
- return d`<span class="dots" role="img" aria-label="last ${a.length} results">
951
- ${a.map((o) => d`<a class="dot ${o.mark}"
952
- title="${o.mark} ${o.my}-${o.their} vs ${P(r, o.opp)}"
953
- href=${v(r.hrefs.game, { sport: r.sport, id: o.gameId })}>${o.mark}</a>`)}
949
+ const r = s.results.slice(-1 * e);
950
+ return d`<span class="dots" role="img" aria-label="last ${r.length} results">
951
+ ${r.map((o) => d`<a class="dot ${o.mark}"
952
+ title="${o.mark} ${o.my}-${o.their} vs ${P(a, o.opp)}"
953
+ href=${$(a.hrefs.game, { sport: a.sport, id: o.gameId })}>${o.mark}</a>`)}
954
954
  </span>`;
955
955
  }
956
- function Y(r) {
957
- const t = Ae(r);
956
+ function Y(a) {
957
+ const t = Te(a);
958
958
  return d`<span class="pill ${t.kind}">${t.label}</span>`;
959
959
  }
960
- function Mt(r, t, e) {
960
+ function Mt(a, t, e) {
961
961
  if (!t) return d`<span class="mut">·</span>`;
962
- const s = t.homeTeamId === e ? t.awayTeamId : t.homeTeamId, a = t.homeTeamId === e ? "vs" : "at";
963
- return d`${t.state === "live" ? d`<span class="pill live">Live</span> ` : d`${y(t.date, { month: "numeric", day: "numeric" })} `}${a} ${q(r, s)}`;
962
+ const s = t.homeTeamId === e ? t.awayTeamId : t.homeTeamId, r = t.homeTeamId === e ? "vs" : "at";
963
+ return d`${t.state === "live" ? d`<span class="pill live">Live</span> ` : d`${y(t.date, { month: "numeric", day: "numeric" })} `}${r} ${q(a, s)}`;
964
964
  }
965
965
  class Lt extends b {
966
966
  static styles = H;
@@ -980,7 +980,7 @@ class Lt extends b {
980
980
  }
981
981
  }
982
982
  async fetchData(t) {
983
- const e = this.season || tt(), [s, a, o, i, n] = await Promise.all([
983
+ const e = this.season || tt(), [s, r, o, i, n] = await Promise.all([
984
984
  t.listSchools(),
985
985
  t.listTeams({ sport: this.sport }),
986
986
  t.listConferences(),
@@ -990,7 +990,7 @@ class Lt extends b {
990
990
  return {
991
991
  season: e,
992
992
  schools: s.items,
993
- teams: a.items,
993
+ teams: r.items,
994
994
  conferences: o.items,
995
995
  games: i.items,
996
996
  rankings: n.items
@@ -1007,15 +1007,15 @@ class Lt extends b {
1007
1007
  }, this._ctxData = this.data), this._ctx;
1008
1008
  }
1009
1009
  renderView() {
1010
- const t = this.ctx, e = g(this.data.conferences), s = [...new Set(this.data.games.map((i) => i.date).filter(Boolean))].sort(), a = this.data.games.filter((i) => i.date === this.date).sort((i, n) => (i.state === "live" ? -1 : 1) - (n.state === "live" ? -1 : 1)), o = /* @__PURE__ */ new Map();
1011
- return a.forEach((i) => {
1010
+ const t = this.ctx, e = g(this.data.conferences), s = [...new Set(this.data.games.map((i) => i.date).filter(Boolean))].sort(), r = this.data.games.filter((i) => i.date === this.date).sort((i, n) => (i.state === "live" ? -1 : 1) - (n.state === "live" ? -1 : 1)), o = /* @__PURE__ */ new Map();
1011
+ return r.forEach((i) => {
1012
1012
  const n = i.gameType === "conference" && i.conferenceId ? e[i.conferenceId]?.name || "Conference" : i.gameType === "playoff" ? "Playoffs" : i.gameType === "scrimmage" ? "Scrimmages" : "Nonconference";
1013
1013
  o.has(n) || o.set(n, []), o.get(n).push(i);
1014
1014
  }), d`
1015
1015
  <div class="band">
1016
1016
  <div class="inner">
1017
1017
  <h1>${J(this.sport)} scores &amp; schedules</h1>
1018
- <p class="sub">${y(this.date, { weekday: "long", month: "long", day: "numeric", year: "numeric" })} · ${a.length} games</p>
1018
+ <p class="sub">${y(this.date, { weekday: "long", month: "long", day: "numeric", year: "numeric" })} · ${r.length} games</p>
1019
1019
  </div>
1020
1020
  </div>
1021
1021
  <div class="view">
@@ -1039,7 +1039,7 @@ class Lt extends b {
1039
1039
  <span class="spacer"></span>
1040
1040
  <span class="asof">Live games first · report a score to see it update here</span>
1041
1041
  </div>
1042
- ${a.length ? m : d`<p class="empty">No ${this.sport} games on this date.</p>`}
1042
+ ${r.length ? m : d`<p class="empty">No ${this.sport} games on this date.</p>`}
1043
1043
  ${[...o.entries()].map(([i, n]) => d`
1044
1044
  <div class="section-title">${i}</div>
1045
1045
  <div class="card"><ul class="gamelist">
@@ -1058,7 +1058,7 @@ class Lt extends b {
1058
1058
  <span class="res" style="width:auto">${s}</span>
1059
1059
  <span class="where">${e.venue || ""}</span>
1060
1060
  ${e.broadcast ? d`<span class="pill class">${e.broadcast}</span>` : m}
1061
- <a class="box" href=${v(t.hrefs.game, { sport: this.sport, id: e.id })}>Box score →</a>
1061
+ <a class="box" href=${$(t.hrefs.game, { sport: this.sport, id: e.id })}>Box score →</a>
1062
1062
  </li>
1063
1063
  `;
1064
1064
  }
@@ -1077,7 +1077,7 @@ class jt extends b {
1077
1077
  super(), this.sport = "football", this.season = "", this.classFilter = "All", this.query = "";
1078
1078
  }
1079
1079
  async fetchData(t) {
1080
- const e = this.season || tt(), [s, a, o, i, n] = await Promise.all([
1080
+ const e = this.season || tt(), [s, r, o, i, n] = await Promise.all([
1081
1081
  t.listConferences({ active: !0 }),
1082
1082
  t.listSchools(),
1083
1083
  t.listTeams({ sport: this.sport }),
@@ -1087,7 +1087,7 @@ class jt extends b {
1087
1087
  return {
1088
1088
  season: e,
1089
1089
  conferences: s.items,
1090
- schools: a.items,
1090
+ schools: r.items,
1091
1091
  teams: o.items,
1092
1092
  games: i.items,
1093
1093
  rankings: n.items
@@ -1104,7 +1104,7 @@ class jt extends b {
1104
1104
  }, this._ctxData = this.data), this._ctx;
1105
1105
  }
1106
1106
  renderView() {
1107
- const t = this.ctx, e = ["All", ...new Set(this.data.conferences.flatMap((a) => a.classifications || []))].slice(0, 9), s = this.data.conferences.filter((a) => a.active !== !1).filter((a) => this.classFilter === "All" || (a.classifications || []).includes(this.classFilter));
1107
+ 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));
1108
1108
  return d`
1109
1109
  <div class="band">
1110
1110
  <div class="inner">
@@ -1115,26 +1115,26 @@ class jt extends b {
1115
1115
  <div class="view">
1116
1116
  <div class="toolbar">
1117
1117
  <div role="group" aria-label="Classification filter">
1118
- ${e.map((a) => d`<button class="chip ${this.classFilter === a ? "on" : ""}"
1118
+ ${e.map((r) => d`<button class="chip ${this.classFilter === r ? "on" : ""}"
1119
1119
  @click=${() => {
1120
- this.classFilter = a;
1121
- }}>${a}</button>`)}
1120
+ this.classFilter = r;
1121
+ }}>${r}</button>`)}
1122
1122
  </div>
1123
1123
  <input type="search" placeholder="Find a school…" aria-label="Find a school"
1124
- .value=${this.query} @input=${(a) => {
1125
- this.query = a.target.value;
1124
+ .value=${this.query} @input=${(r) => {
1125
+ this.query = r.target.value;
1126
1126
  }}>
1127
1127
  <span class="spacer"></span>
1128
1128
  <span class="asof">Records through ${y(ot(), { month: "long", day: "numeric" })} · conference games count toward both records · scrimmages toward neither</span>
1129
1129
  </div>
1130
- ${s.map((a) => this.renderConference(t, a))}
1130
+ ${s.map((r) => this.renderConference(t, r))}
1131
1131
  </div>
1132
1132
  `;
1133
1133
  }
1134
1134
  renderConference(t, e) {
1135
1135
  const s = this.data.teams.filter((i) => i.conferenceId === e.id);
1136
1136
  if (!s.length) return m;
1137
- const a = this.query.trim().toLowerCase(), o = Nt(s, t.records);
1137
+ const r = this.query.trim().toLowerCase(), o = Nt(s, t.records);
1138
1138
  return d`
1139
1139
  <div class="card">
1140
1140
  <div class="card-head">
@@ -1149,18 +1149,18 @@ class jt extends b {
1149
1149
  <th>Streak</th><th>Last 5</th><th>Next</th>
1150
1150
  </tr></thead>
1151
1151
  <tbody>
1152
- ${o.map((i, n) => this.renderRow(t, i, n, a))}
1152
+ ${o.map((i, n) => this.renderRow(t, i, n, r))}
1153
1153
  </tbody>
1154
1154
  </table></div>
1155
1155
  </div>
1156
1156
  `;
1157
1157
  }
1158
- renderRow(t, e, s, a) {
1158
+ renderRow(t, e, s, r) {
1159
1159
  const o = t.schoolsById[e.team.schoolId], i = o?.name || e.team.name || "TBD";
1160
- if (a && !i.toLowerCase().includes(a)) return m;
1160
+ if (r && !i.toLowerCase().includes(r)) return m;
1161
1161
  const n = e.rec.pf - e.rec.pa, c = mt(this.data.games, e.team.id), p = (e.team.championships || []).map((h) => d`
1162
1162
  <span class="pill champ" title="${h.season} ${h.title} champion">★ ${h.season} ${h.title}</span>`), l = () => {
1163
- location.href = v(t.hrefs.school, { id: e.team.schoolId });
1163
+ location.href = $(t.hrefs.school, { id: e.team.schoolId });
1164
1164
  };
1165
1165
  return d`
1166
1166
  <tr class="rowlink" @click=${(h) => {
@@ -1169,7 +1169,7 @@ class jt extends b {
1169
1169
  <td class="mut">${s + 1}</td>
1170
1170
  <td class="teamcell">
1171
1171
  ${F(o)}${ut(t, e.team.id, null)}
1172
- <a href=${v(t.hrefs.school, { id: e.team.schoolId })}>${i}</a> ${p}
1172
+ <a href=${$(t.hrefs.school, { id: e.team.schoolId })}>${i}</a> ${p}
1173
1173
  </td>
1174
1174
  <td class="num">${x(e.rec, !0)}</td>
1175
1175
  <td class="num">${Et(e.confPct)}</td>
@@ -1178,7 +1178,7 @@ class jt extends b {
1178
1178
  <td class="num">${e.rec.pf}</td>
1179
1179
  <td class="num">${e.rec.pa}</td>
1180
1180
  <td class="num" style="color:${n >= 0 ? "var(--hsot-win)" : "var(--hsot-loss)"}">${n > 0 ? "+" : ""}${n}</td>
1181
- <td>${Z(e.rec.results) || "·"}</td>
1181
+ <td>${Q(e.rec.results) || "·"}</td>
1182
1182
  <td>${gt(t, e.team.id)}</td>
1183
1183
  <td>${Mt(t, c, e.team.id)}</td>
1184
1184
  </tr>
@@ -1186,7 +1186,7 @@ class jt extends b {
1186
1186
  }
1187
1187
  }
1188
1188
  globalThis?.customElements && !globalThis.customElements.get("hsot-standings") && globalThis.customElements.define("hsot-standings", jt);
1189
- const Ce = w`
1189
+ const Ee = w`
1190
1190
  .hero1 {
1191
1191
  border-radius: var(--hsot-radius-md); color: var(--hsot-white);
1192
1192
  padding: 1.3rem 1.4rem; display: flex; align-items: center; gap: 1.2rem;
@@ -1204,7 +1204,7 @@ const Ce = w`
1204
1204
  .sparkline { vertical-align: middle; }
1205
1205
  `;
1206
1206
  class Wt extends b {
1207
- static styles = [...H, Ce];
1207
+ static styles = [...H, Ee];
1208
1208
  static properties = {
1209
1209
  ...b.properties,
1210
1210
  sport: { type: String },
@@ -1221,7 +1221,7 @@ class Wt extends b {
1221
1221
  t && (this.pollDate = t);
1222
1222
  }
1223
1223
  async fetchData(t) {
1224
- const e = this.season || tt(), [s, a, o, i, n] = await Promise.all([
1224
+ const e = this.season || tt(), [s, r, o, i, n] = await Promise.all([
1225
1225
  t.listRankings({ sport: this.sport, ...this.gender ? { gender: this.gender } : {} }),
1226
1226
  t.listSchools(),
1227
1227
  t.listTeams({ sport: this.sport }),
@@ -1231,7 +1231,7 @@ class Wt extends b {
1231
1231
  return {
1232
1232
  season: e,
1233
1233
  polls: c,
1234
- schools: a.items,
1234
+ schools: r.items,
1235
1235
  teams: o.items,
1236
1236
  conferences: i.items,
1237
1237
  games: n.items
@@ -1251,8 +1251,8 @@ class Wt extends b {
1251
1251
  const n = e.map((h, f) => {
1252
1252
  const u = (h.teamIds || []).indexOf(t);
1253
1253
  if (u === -1) return null;
1254
- const $ = e.length === 1 ? 96 / 2 : f / (e.length - 1) * 90 + 3, et = 3 + u / 24 * 20;
1255
- return { x: $, y: et };
1254
+ const v = e.length === 1 ? 96 / 2 : f / (e.length - 1) * 90 + 3, et = 3 + u / 24 * 20;
1255
+ return { x: v, y: et };
1256
1256
  }), c = [];
1257
1257
  let p = [];
1258
1258
  if (n.forEach((h) => {
@@ -1266,13 +1266,13 @@ class Wt extends b {
1266
1266
  </svg>`;
1267
1267
  }
1268
1268
  movement(t, e, s) {
1269
- const a = Te(t, e, s);
1270
- return a.kind === "up" ? d`<span class="delta up">▲ ${a.delta}</span>` : a.kind === "down" ? d`<span class="delta down">▼ ${a.delta}</span>` : a.kind === "new" ? d`<span class="delta new">NEW</span>` : a.kind === "same" ? d`<span class="delta same">—</span>` : d`<span class="delta same">·</span>`;
1269
+ const r = Ce(t, e, s);
1270
+ return r.kind === "up" ? d`<span class="delta up">▲ ${r.delta}</span>` : r.kind === "down" ? d`<span class="delta down">▼ ${r.delta}</span>` : r.kind === "new" ? d`<span class="delta new">NEW</span>` : r.kind === "same" ? d`<span class="delta same">—</span>` : d`<span class="delta same">·</span>`;
1271
1271
  }
1272
1272
  renderView() {
1273
1273
  const t = this.ctx, e = this.data.polls;
1274
1274
  if (!e.length) return d`<div class="view"><p class="empty">No ${this.sport} polls published yet this season.</p></div>`;
1275
- const s = Math.max(0, e.findIndex((h) => h.effectiveDate === this.pollDate)), a = e[s] || e[0], o = e[s + 1] || null, i = e.slice().reverse(), n = i.indexOf(a), c = g(this.data.conferences), p = (a.teamIds || [])[0], l = p ? O(t, p) : null;
1275
+ const s = Math.max(0, e.findIndex((h) => h.effectiveDate === this.pollDate)), r = e[s] || e[0], o = e[s + 1] || null, i = e.slice().reverse(), n = i.indexOf(r), c = g(this.data.conferences), p = (r.teamIds || [])[0], l = p ? O(t, p) : null;
1276
1276
  return d`
1277
1277
  <div class="band">
1278
1278
  <div class="inner">
@@ -1286,7 +1286,7 @@ class Wt extends b {
1286
1286
  <select id="pollsel" @change=${(h) => {
1287
1287
  this.pollDate = h.target.value;
1288
1288
  }}>
1289
- ${e.map((h, f) => d`<option value=${h.effectiveDate} ?selected=${h === a}>
1289
+ ${e.map((h, f) => d`<option value=${h.effectiveDate} ?selected=${h === r}>
1290
1290
  ${y(h.effectiveDate, { month: "long", day: "numeric", year: "numeric" })}${f === 0 ? " · current" : ""}
1291
1291
  </option>`)}
1292
1292
  </select>
@@ -1301,65 +1301,65 @@ class Wt extends b {
1301
1301
  <span class="spacer"></span>
1302
1302
  <span class="asof">Movement vs. the previous poll · sparkline = season rank history</span>
1303
1303
  </div>
1304
- ${l ? this.renderHero(t, a, o, p, l, c) : m}
1304
+ ${l ? this.renderHero(t, r, o, p, l, c) : m}
1305
1305
  <div class="card"><div class="tablewrap"><table class="data">
1306
1306
  <thead><tr>
1307
1307
  <th class="num">Rk</th><th>Mvmt</th><th>Team</th><th class="num">Record</th>
1308
1308
  <th>Conference</th><th>Last result</th><th>Next</th><th>Season</th>
1309
1309
  </tr></thead>
1310
1310
  <tbody>
1311
- ${(a.teamIds || []).map((h, f) => f === 0 || !h ? m : this.renderRow(t, a, o, i, n, c, h, f + 1))}
1311
+ ${(r.teamIds || []).map((h, f) => f === 0 || !h ? m : this.renderRow(t, r, o, i, n, c, h, f + 1))}
1312
1312
  </tbody>
1313
1313
  </table></div></div>
1314
1314
  <p class="note">Ranks elsewhere on the site resolve the poll in effect on the game date, so past box scores keep the ranks they were played under.</p>
1315
1315
  </div>
1316
1316
  `;
1317
1317
  }
1318
- renderHero(t, e, s, a, o, i) {
1319
- const n = t.records[a], c = Pt(t.records, a), p = i[t.teamsById[a]?.conferenceId], l = `linear-gradient(120deg, ${o.colorPrimary || "#030711"} 0%, var(--hsot-black) 85%)`;
1318
+ renderHero(t, e, s, r, o, i) {
1319
+ const n = t.records[r], c = Pt(t.records, r), p = i[t.teamsById[r]?.conferenceId], l = `linear-gradient(120deg, ${o.colorPrimary || "#030711"} 0%, var(--hsot-black) 85%)`;
1320
1320
  return d`
1321
1321
  <div class="hero1" style="background:${l}">
1322
1322
  <div class="bigrank">#1</div>
1323
1323
  ${F(o, 64)}
1324
1324
  <div>
1325
- <h2><a href=${v(t.hrefs.school, { id: o.id })}>${o.name} ${o.mascot || ""}</a></h2>
1325
+ <h2><a href=${$(t.hrefs.school, { id: o.id })}>${o.name} ${o.mascot || ""}</a></h2>
1326
1326
  <div class="facts">
1327
1327
  ${x(n)} overall${p ? d` · ${x(n, !0)} ${p.name}` : m}
1328
- · streak ${Z(n?.results) || "·"}
1328
+ · streak ${Q(n?.results) || "·"}
1329
1329
  ${c ? d` · last: ${c.mark} ${c.my}-${c.their} vs ${q(t, c.opp)}` : m}
1330
- &nbsp;${this.movement(e, s, a)}
1330
+ &nbsp;${this.movement(e, s, r)}
1331
1331
  </div>
1332
1332
  </div>
1333
1333
  </div>
1334
1334
  `;
1335
1335
  }
1336
- renderRow(t, e, s, a, o, i, n, c) {
1336
+ renderRow(t, e, s, r, o, i, n, c) {
1337
1337
  const p = O(t, n);
1338
1338
  if (!p) return m;
1339
- const l = t.records[n], h = Pt(t.records, n), f = mt(this.data.games, n), u = i[t.teamsById[n]?.conferenceId], $ = () => {
1340
- location.href = v(t.hrefs.school, { id: p.id });
1339
+ const l = t.records[n], h = Pt(t.records, n), f = mt(this.data.games, n), u = i[t.teamsById[n]?.conferenceId], v = () => {
1340
+ location.href = $(t.hrefs.school, { id: p.id });
1341
1341
  };
1342
1342
  return d`
1343
1343
  <tr class="rowlink" @click=${(et) => {
1344
- et.target.closest("a") || $();
1344
+ et.target.closest("a") || v();
1345
1345
  }}>
1346
1346
  <td class="num" style="font-weight:700">${c}</td>
1347
1347
  <td>${this.movement(e, s, n)}</td>
1348
- <td class="teamcell">${F(p)}<a href=${v(t.hrefs.school, { id: p.id })}>${p.name}</a>
1348
+ <td class="teamcell">${F(p)}<a href=${$(t.hrefs.school, { id: p.id })}>${p.name}</a>
1349
1349
  <span class="mut" style="font-size:0.78rem">${p.mascot || ""}</span></td>
1350
1350
  <td class="num">${x(l)}</td>
1351
1351
  <td class="mut">${u?.name || "Independent"}</td>
1352
- <td>${h ? d`<a class="box" style="text-decoration:none" href=${v(t.hrefs.game, { sport: this.sport, id: h.gameId })}>
1352
+ <td>${h ? d`<a class="box" style="text-decoration:none" href=${$(t.hrefs.game, { sport: this.sport, id: h.gameId })}>
1353
1353
  <b style="color:${h.mark === "W" ? "var(--hsot-win)" : h.mark === "L" ? "var(--hsot-loss)" : "var(--hsot-tie)"}">${h.mark}</b>
1354
1354
  ${h.my}-${h.their} vs ${q(t, h.opp)}</a>` : d`<span class="mut">·</span>`}</td>
1355
1355
  <td>${Mt(t, f, n)}</td>
1356
- <td>${this.sparkline(n, a, o)}</td>
1356
+ <td>${this.sparkline(n, r, o)}</td>
1357
1357
  </tr>
1358
1358
  `;
1359
1359
  }
1360
1360
  }
1361
1361
  globalThis?.customElements && !globalThis.customElements.get("hsot-rankings") && globalThis.customElements.define("hsot-rankings", Wt);
1362
- const Ee = w`
1362
+ const Pe = w`
1363
1363
  .schoolhero { color: var(--hsot-white); padding: 1.6rem 1.25rem 1.3rem; }
1364
1364
  .schoolhero .inner { max-width: 1366px; margin: 0 auto; display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
1365
1365
  .schoolhero .crest {
@@ -1385,7 +1385,7 @@ const Ee = w`
1385
1385
  @media (max-width: 900px) { .cols { grid-template-columns: 1fr; } .schoolhero h1 { font-size: 1.9rem; } }
1386
1386
  `;
1387
1387
  class Vt extends b {
1388
- static styles = [...H, Ee];
1388
+ static styles = [...H, Pe];
1389
1389
  static properties = {
1390
1390
  ...b.properties,
1391
1391
  schoolId: { type: String, attribute: "school-id" },
@@ -1402,7 +1402,7 @@ class Vt extends b {
1402
1402
  t && !this.sport && (this.sport = t);
1403
1403
  }
1404
1404
  async fetchData(t) {
1405
- const e = this.season || tt(), 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, c, p, l, h, f, u] = await Promise.all([
1405
+ const e = this.season || tt(), s = await t.getSchool(this.schoolId), o = (await t.listTeams({ schoolId: this.schoolId })).items, i = o.find((v) => v.sport === (this.sport || "football")) || o[0] || null, [n, c, p, l, h, f, u] = await Promise.all([
1406
1406
  i ? t.listGames({ sport: i.sport, season: e }) : Promise.resolve({ items: [] }),
1407
1407
  i ? t.listTeams({ sport: i.sport }) : Promise.resolve({ items: [] }),
1408
1408
  t.listSchools(),
@@ -1423,7 +1423,7 @@ class Vt extends b {
1423
1423
  schools: p.items,
1424
1424
  conferences: l.items,
1425
1425
  rankings: h.items,
1426
- roster: f.items.find(($) => $.season === e) || null,
1426
+ roster: f.items.find((v) => v.season === e) || null,
1427
1427
  players: u.items
1428
1428
  };
1429
1429
  }
@@ -1441,7 +1441,7 @@ class Vt extends b {
1441
1441
  this.sport = t, this.load();
1442
1442
  }
1443
1443
  renderView() {
1444
- const { school: t, teams: e, active: s, season: a } = this.data;
1444
+ const { school: t, teams: e, active: s, season: r } = this.data;
1445
1445
  if (!t) return d`<div class="view"><p class="empty">School not found.</p></div>`;
1446
1446
  const o = this.ctx, i = V(t.colorPrimary || "#030711"), n = (t.adm || [])[0], c = g(this.data.conferences), p = s ? c[s.conferenceId] : null;
1447
1447
  return d`
@@ -1470,23 +1470,23 @@ class Vt extends b {
1470
1470
  </nav>
1471
1471
  </div>
1472
1472
  <div class="view">
1473
- ${s ? this.renderTeam(o, s, p, a) : d`<p class="empty">No teams recorded for this school yet.</p>`}
1473
+ ${s ? this.renderTeam(o, s, p, r) : d`<p class="empty">No teams recorded for this school yet.</p>`}
1474
1474
  </div>
1475
1475
  `;
1476
1476
  }
1477
- renderTeam(t, e, s, a) {
1477
+ renderTeam(t, e, s, r) {
1478
1478
  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((h) => h.conferenceId === s.id) : [], c = s ? Nt(n, t.records).findIndex((h) => h.team.id === e.id) + 1 : 0, p = Ht(t.rankings, t.teamsById, e.id, e.sport, null), l = this.data.games.filter((h) => h.homeTeamId === e.id || h.awayTeamId === e.id).sort((h, f) => String(h.date).localeCompare(String(f.date)));
1479
1479
  return d`
1480
1480
  <div class="tiles">
1481
1481
  <div class="tile"><div class="k">Overall</div><div class="v">${x(o)}</div><div class="s">${i} games played</div></div>
1482
1482
  <div class="tile"><div class="k">${s?.name || "Conference"}</div><div class="v">${x(o, !0)}</div>
1483
- <div class="s">${c ? `${Se(c)} of ${n.length}` : "·"}</div></div>
1483
+ <div class="s">${c ? `${Ae(c)} of ${n.length}` : "·"}</div></div>
1484
1484
  <div class="tile"><div class="k">Points</div><div class="v">${i ? (o.pf / i).toFixed(1) : "0.0"}</div>
1485
1485
  <div class="s">scored per game · ${i ? (o.pa / i).toFixed(1) : "0.0"} allowed</div></div>
1486
- <div class="tile"><div class="k">Streak</div><div class="v">${Z(o.results) || "·"}</div>
1486
+ <div class="tile"><div class="k">Streak</div><div class="v">${Q(o.results) || "·"}</div>
1487
1487
  <div class="s">last 5: ${gt(t, e.id)}</div></div>
1488
1488
  <div class="tile"><div class="k">HSOT Top 25</div><div class="v">${p ? `#${p}` : "NR"}</div>
1489
- <div class="s"><a href=${v(t.hrefs.section, { sport: e.sport, view: "rankings" })}>full poll</a></div></div>
1489
+ <div class="s"><a href=${$(t.hrefs.section, { sport: e.sport, view: "rankings" })}>full poll</a></div></div>
1490
1490
  </div>
1491
1491
  ${(e.championships || []).length ? d`
1492
1492
  <div style="margin:-0.2rem 0 1rem;display:flex;gap:0.4rem;flex-wrap:wrap">
@@ -1496,21 +1496,21 @@ class Vt extends b {
1496
1496
  <div>
1497
1497
  <div class="section-title">Schedule &amp; results</div>
1498
1498
  <div class="card">
1499
- ${l.length ? d`<ul class="gamelist">${l.map((h) => this.renderGameRow(t, e, h))}</ul>` : d`<p class="empty">No ${e.sport} games recorded for ${a}.</p>`}
1499
+ ${l.length ? d`<ul class="gamelist">${l.map((h) => this.renderGameRow(t, e, h))}</ul>` : d`<p class="empty">No ${e.sport} games recorded for ${r}.</p>`}
1500
1500
  </div>
1501
1501
  </div>
1502
1502
  <div>
1503
- <div class="section-title">Roster · ${a}</div>
1504
- <div class="card">${this.renderRoster(a)}</div>
1503
+ <div class="section-title">Roster · ${r}</div>
1504
+ <div class="card">${this.renderRoster(r)}</div>
1505
1505
  </div>
1506
1506
  </div>
1507
1507
  `;
1508
1508
  }
1509
1509
  renderGameRow(t, e, s) {
1510
- const a = s.homeTeamId === e.id, o = a ? s.awayTeamId : s.homeTeamId, i = a ? s.homeScore : s.awayScore, n = a ? s.awayScore : s.homeScore;
1510
+ const r = s.homeTeamId === e.id, o = r ? s.awayTeamId : s.homeTeamId, i = r ? s.homeScore : s.awayScore, n = r ? s.awayScore : s.homeScore;
1511
1511
  let c = d`<span class="mut">${X(s.time)}</span>`;
1512
1512
  if (s.state === "final") {
1513
- const l = pt(s), h = l === "tie" ? "T" : l === (a ? "home" : "away") ? "W" : "L";
1513
+ const l = pt(s), h = l === "tie" ? "T" : l === (r ? "home" : "away") ? "W" : "L";
1514
1514
  c = d`<span class=${h}>${h}</span> ${i}-${n}${s.finish === "overtime" ? d` <span class="mut">OT</span>` : m}${s.forfeit && s.forfeit !== "none" ? d` <span class="mut">FF</span>` : m}`;
1515
1515
  } else s.state === "live" && (c = d`<span style="color:var(--hsot-red)">${i}-${n}</span>`);
1516
1516
  const p = s.gameType === "conference" ? "Conf" : s.gameType === "nonconference" ? "Non-conf" : s.gameType === "playoff" ? `Playoff${s.label ? ` · ${s.label}` : ""}` : "Scrimmage";
@@ -1519,12 +1519,12 @@ class Vt extends b {
1519
1519
  <span class="d">${y(s.date)}</span>
1520
1520
  ${Y(s)}
1521
1521
  <span class="res">${c}</span>
1522
- <span class="opp">${a ? "vs" : "at"} ${it(t, o, s.date)}
1522
+ <span class="opp">${r ? "vs" : "at"} ${it(t, o, s.date)}
1523
1523
  <span class="pill type">${p}</span>
1524
1524
  ${s.broadcast ? d`<span class="pill class">${s.broadcast}</span>` : m}
1525
1525
  </span>
1526
1526
  <span class="where">${s.venue || ""}</span>
1527
- <a class="box" href=${v(t.hrefs.game, { sport: e.sport, id: s.id })}>Box score →</a>
1527
+ <a class="box" href=${$(t.hrefs.game, { sport: e.sport, id: s.id })}>Box score →</a>
1528
1528
  </li>
1529
1529
  `;
1530
1530
  }
@@ -1532,19 +1532,19 @@ class Vt extends b {
1532
1532
  const e = this.data.roster;
1533
1533
  if (!e)
1534
1534
  return d`<p class="empty">Roster not published for ${t}.</p>`;
1535
- const s = g(this.data.players), a = e.entries.slice().sort((o, i) => (o.number || 0) - (i.number || 0));
1535
+ const s = g(this.data.players), r = e.entries.slice().sort((o, i) => (o.number || 0) - (i.number || 0));
1536
1536
  return d`
1537
1537
  <div class="tablewrap"><table class="data">
1538
1538
  <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></tr></thead>
1539
1539
  <tbody>
1540
- ${a.map((o) => {
1540
+ ${r.map((o) => {
1541
1541
  const i = s[o.playerId];
1542
1542
  return i ? d`<tr>
1543
1543
  <td class="num mut">${o.number ?? "·"}</td>
1544
1544
  <td style="font-weight:500">${i.firstName} ${i.lastName}</td>
1545
1545
  <td>${o.position || "·"}</td>
1546
1546
  <td class="mut">${i.classOf || "·"}</td>
1547
- <td class="num">${ke(i.heightIn)}</td>
1547
+ <td class="num">${Se(i.heightIn)}</td>
1548
1548
  <td class="num">${i.weightLb || "·"}</td>
1549
1549
  </tr>` : m;
1550
1550
  })}
@@ -1554,21 +1554,36 @@ class Vt extends b {
1554
1554
  }
1555
1555
  }
1556
1556
  globalThis?.customElements && !globalThis.customElements.get("hsot-school") && globalThis.customElements.define("hsot-school", Vt);
1557
- const Pe = "https://api.wral.com/search";
1558
- function De(r) {
1559
- return r.map((t) => `uri:"${t}"`).join(" OR ");
1557
+ const De = "https://api.wral.com/search";
1558
+ function Re(a) {
1559
+ return a.map((t) => `uri:"${t}"`).join(" OR ");
1560
1560
  }
1561
- function Re(r, t) {
1562
- const e = String(r || Pe).replace(/\/+$/, ""), s = new URLSearchParams({ query: De(t), sort: "score", lang: "en" });
1561
+ function ze(a, t) {
1562
+ const e = String(a || De).replace(/\/+$/, ""), s = new URLSearchParams({ query: Re(t), sort: "score", lang: "en" });
1563
1563
  return `${e}/v1/query?${s}`;
1564
1564
  }
1565
- async function ze(r, t, e) {
1566
- const a = await ((...n) => fetch(...n))(Re(r, t));
1567
- if (!a.ok) throw new Error(`search answered ${a.status}`);
1568
- const o = await a.json(), i = new Map((o.items || []).map((n) => [n.uri, n]));
1569
- return t.map((n) => i.get(n) || { uri: n, title: n });
1565
+ function Gt(a) {
1566
+ try {
1567
+ const t = new URL(a);
1568
+ if (/(^|\.)smugmug\.com$/i.test(t.hostname)) {
1569
+ const e = t.pathname.split("/").filter(Boolean).pop() || "", s = !e || /^[ni]-[A-Za-z0-9]+$/.test(e);
1570
+ return {
1571
+ uri: a,
1572
+ title: s ? a : decodeURIComponent(e).replace(/-/g, " "),
1573
+ photos: !0
1574
+ };
1575
+ }
1576
+ } catch {
1577
+ }
1578
+ return { uri: a, title: a };
1579
+ }
1580
+ async function Be(a, t, e) {
1581
+ const r = await ((...n) => fetch(...n))(ze(a, t));
1582
+ if (!r.ok) throw new Error(`search answered ${r.status}`);
1583
+ const o = await r.json(), i = new Map((o.items || []).map((n) => [n.uri, n]));
1584
+ return t.map((n) => i.get(n) || Gt(n));
1570
1585
  }
1571
- const Be = w`
1586
+ const Ue = w`
1572
1587
  .breadcrumbs { font-size: 0.8125rem; margin: 0.9rem 0 0; color: var(--hsot-gray-5); }
1573
1588
  .breadcrumbs a { text-decoration: none; }
1574
1589
  .scorehead { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; padding: 1.4rem 1rem; }
@@ -1607,8 +1622,8 @@ const Be = w`
1607
1622
  .cols { grid-template-columns: 1fr; }
1608
1623
  }
1609
1624
  `;
1610
- class Gt extends b {
1611
- static styles = [...H, Be];
1625
+ class qt extends b {
1626
+ static styles = [...H, Ue];
1612
1627
  static properties = {
1613
1628
  ...b.properties,
1614
1629
  gameId: { type: String, attribute: "game-id" },
@@ -1622,7 +1637,7 @@ class Gt extends b {
1622
1637
  super(), this.gameId = "", this.searchApi = "";
1623
1638
  }
1624
1639
  async fetchData(t) {
1625
- const e = await t.getGame(this.gameId), s = Array.isArray(e.coverageUrls) ? e.coverageUrls : [], [a, o, i, n, c, p] = await Promise.all([
1640
+ const e = await t.getGame(this.gameId), s = Array.isArray(e.coverageUrls) ? e.coverageUrls : [], [r, o, i, n, c, p] = await Promise.all([
1626
1641
  t.listSchools(),
1627
1642
  t.listTeams({ sport: e.sport }),
1628
1643
  t.listConferences(),
@@ -1630,11 +1645,11 @@ class Gt extends b {
1630
1645
  t.listGames({ sport: e.sport, season: e.season }),
1631
1646
  // A search outage must not blank the box score — degrade to bare
1632
1647
  // links (fetchCoverage already degrades per-URL index misses).
1633
- s.length ? ze(this.searchApi, s).catch(() => s.map((l) => ({ uri: l, title: l }))) : Promise.resolve([])
1648
+ s.length ? Be(this.searchApi, s).catch(() => s.map(Gt)) : Promise.resolve([])
1634
1649
  ]);
1635
1650
  return {
1636
1651
  game: e,
1637
- schools: a.items,
1652
+ schools: r.items,
1638
1653
  teams: o.items,
1639
1654
  conferences: i.items,
1640
1655
  rankings: n.items,
@@ -1655,17 +1670,17 @@ class Gt extends b {
1655
1670
  renderView() {
1656
1671
  const t = this.data.game;
1657
1672
  if (!t) return d`<div class="view"><p class="empty">Game not found.</p></div>`;
1658
- const e = this.ctx, s = g(this.data.conferences), a = 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 = pt(t), n = (l) => t.state === "final" && i !== l && i !== "tie" ? "opacity:0.45" : "", c = t.conferenceId ? s[t.conferenceId] : null, p = this.data.games.filter((l) => l.id !== t.id && l.state === "final" && l.gameType !== "scrimmage" && (l.homeTeamId === t.homeTeamId && l.awayTeamId === t.awayTeamId || l.homeTeamId === t.awayTeamId && l.awayTeamId === t.homeTeamId));
1673
+ const e = this.ctx, s = g(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 = pt(t), n = (l) => t.state === "final" && i !== l && i !== "tie" ? "opacity:0.45" : "", c = t.conferenceId ? s[t.conferenceId] : null, p = this.data.games.filter((l) => l.id !== t.id && l.state === "final" && l.gameType !== "scrimmage" && (l.homeTeamId === t.homeTeamId && l.awayTeamId === t.awayTeamId || l.homeTeamId === t.awayTeamId && l.awayTeamId === t.homeTeamId));
1659
1674
  return d`
1660
1675
  <div class="view">
1661
1676
  <p class="breadcrumbs">
1662
- <a href=${v(e.hrefs.section, { sport: t.sport, view: "scores" })}>${J(t.sport)}</a> /
1663
- <a href=${v(e.hrefs.section, { sport: t.sport, view: "scores" })}>Scores/Schedules</a> /
1677
+ <a href=${$(e.hrefs.section, { sport: t.sport, view: "scores" })}>${J(t.sport)}</a> /
1678
+ <a href=${$(e.hrefs.section, { sport: t.sport, view: "scores" })}>Scores/Schedules</a> /
1664
1679
  ${P(e, t.awayTeamId)} at ${P(e, t.homeTeamId)}
1665
1680
  </p>
1666
1681
  <div class="card">
1667
1682
  <div class="scorehead">
1668
- ${this.teamBlock(e, t, t.awayTeamId, a, !1)}
1683
+ ${this.teamBlock(e, t, t.awayTeamId, r, !1)}
1669
1684
  <div class="mid">
1670
1685
  <div class="bigscore">
1671
1686
  <span style=${n("away")}>${t.awayScore}</span>
@@ -1683,7 +1698,7 @@ class Gt extends b {
1683
1698
  </div>
1684
1699
  ${this.teamBlock(e, t, t.homeTeamId, o, !0)}
1685
1700
  </div>
1686
- ${this.renderLineScore(t, a, o)}
1701
+ ${this.renderLineScore(t, r, o)}
1687
1702
  ${t.notes ? d`<p class="note" style="padding:0 1rem 0.9rem;text-align:center">${t.notes}</p>` : m}
1688
1703
  </div>
1689
1704
  ${(this.data.coverage || []).length ? d`
@@ -1693,7 +1708,7 @@ class Gt extends b {
1693
1708
  <a class="card covcard" href=${l.uri}>
1694
1709
  ${l.image ? d`<img class="covimg" src=${l.image} alt="" loading="lazy" />` : m}
1695
1710
  <div class="covbody">
1696
- <div class="covtitle">${l.videoDuration ? d`<span class="pill live" style="animation:none">Video</span> ` : m}${l.title || l.uri}</div>
1711
+ <div class="covtitle">${l.videoDuration ? d`<span class="pill live" style="animation:none">Video</span> ` : m}${l.photos ? d`<span class="pill live" style="animation:none">Photos</span> ` : m}${l.title || l.uri}</div>
1697
1712
  ${l.description ? d`<p class="covdesc">${l.description}</p>` : m}
1698
1713
  ${l.author || l.publishedTime ? d`
1699
1714
  <div class="covmeta">${[l.author, l.publishedTime ? new Date(l.publishedTime).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" }) : ""].filter(Boolean).join(" · ")}</div>
@@ -1704,7 +1719,7 @@ class Gt extends b {
1704
1719
  </div>` : m}
1705
1720
  <div class="section-title">Season context</div>
1706
1721
  <div class="cols">
1707
- ${[[t.awayTeamId, a], [t.homeTeamId, o]].map(([l, h]) => this.renderContext(e, l, h))}
1722
+ ${[[t.awayTeamId, r], [t.homeTeamId, o]].map(([l, h]) => this.renderContext(e, l, h))}
1708
1723
  </div>
1709
1724
  ${p.length ? d`
1710
1725
  <div class="section-title">Head to head this season</div>
@@ -1712,31 +1727,31 @@ class Gt extends b {
1712
1727
  ${p.map((l) => d`<li>
1713
1728
  <span class="d">${y(l.date)}</span>${Y(l)}
1714
1729
  <span class="opp">${P(e, l.awayTeamId)} ${l.awayScore}, ${P(e, l.homeTeamId)} ${l.homeScore}</span>
1715
- <a class="box" href=${v(e.hrefs.game, { sport: t.sport, id: l.id })}>Box score →</a>
1730
+ <a class="box" href=${$(e.hrefs.game, { sport: t.sport, id: l.id })}>Box score →</a>
1716
1731
  </li>`)}
1717
1732
  </ul></div>` : m}
1718
1733
  </div>
1719
1734
  `;
1720
1735
  }
1721
- teamBlock(t, e, s, a, o) {
1722
- if (!a) return d`<div class="teamblock ${o ? "right" : ""}"><div class="tname">TBD</div></div>`;
1723
- const i = t.teamsById[s], n = t.records[s], c = G(a, 58);
1736
+ teamBlock(t, e, s, r, o) {
1737
+ if (!r) return d`<div class="teamblock ${o ? "right" : ""}"><div class="tname">TBD</div></div>`;
1738
+ const i = t.teamsById[s], n = t.records[s], c = G(r, 58);
1724
1739
  return d`
1725
1740
  <div class="teamblock ${o ? "right" : ""}">
1726
- ${c ? d`<img class="crest logo" alt="" loading="lazy" src=${c} />` : d`<span class="crest" style="background:${a.colorPrimary || "#030711"};color:${V(a.colorPrimary || "#030711")}">${ft(a)}</span>`}
1741
+ ${c ? d`<img class="crest logo" alt="" loading="lazy" src=${c} />` : d`<span class="crest" style="background:${r.colorPrimary || "#030711"};color:${V(r.colorPrimary || "#030711")}">${ft(r)}</span>`}
1727
1742
  <div>
1728
- <div class="tname">${ut(t, s, e.date)}<a href=${v(t.hrefs.school, { id: a.id })}>${a.name}</a></div>
1729
- <div class="trec">${a.mascot || ""} · ${x(n)}${i?.conferenceId ? d` · ${x(n, !0)} conf` : m}</div>
1743
+ <div class="tname">${ut(t, s, e.date)}<a href=${$(t.hrefs.school, { id: r.id })}>${r.name}</a></div>
1744
+ <div class="trec">${r.mascot || ""} · ${x(n)}${i?.conferenceId ? d` · ${x(n, !0)} conf` : m}</div>
1730
1745
  </div>
1731
1746
  </div>
1732
1747
  `;
1733
1748
  }
1734
1749
  renderLineScore(t, e, s) {
1735
- const a = t.periodScores || [];
1736
- if (!a.length)
1750
+ const r = t.periodScores || [];
1751
+ if (!r.length)
1737
1752
  return d`<p class="empty" style="text-align:center">Period scoring will appear once the game starts.</p>`;
1738
- const o = Math.max(4, ...a.map((p) => p.period)), i = (p) => p <= 4 ? String(p) : `OT${p > 5 ? p - 4 : ""}`, n = (p, l) => {
1739
- const h = a.find((f) => f.period === l);
1753
+ const o = Math.max(4, ...r.map((p) => p.period)), i = (p) => p <= 4 ? String(p) : `OT${p > 5 ? p - 4 : ""}`, n = (p, l) => {
1754
+ const h = r.find((f) => f.period === l);
1740
1755
  return h ? h[p] : t.state === "final" ? 0 : "·";
1741
1756
  }, c = (p, l, h) => d`
1742
1757
  <tr>
@@ -1758,14 +1773,14 @@ class Gt extends b {
1758
1773
  }
1759
1774
  renderContext(t, e, s) {
1760
1775
  if (!s) return m;
1761
- const a = t.records[e], o = mt(this.data.games, e);
1776
+ const r = t.records[e], o = mt(this.data.games, e);
1762
1777
  return d`
1763
1778
  <div class="card ctxcard">
1764
1779
  <div class="who">${F(s)}${s.name}</div>
1765
1780
  <div class="row">
1766
1781
  <span>Last 5: ${gt(t, e)}</span>
1767
- <span>Streak: <b>${a ? Z(a.results) : "·"}</b></span>
1768
- <span>PF/PA: <b>${a ? `${a.pf} / ${a.pa}` : "·"}</b></span>
1782
+ <span>Streak: <b>${r ? Q(r.results) : "·"}</b></span>
1783
+ <span>PF/PA: <b>${r ? `${r.pf} / ${r.pa}` : "·"}</b></span>
1769
1784
  <span>Next: ${o ? d`${y(o.date, { month: "numeric", day: "numeric" })}
1770
1785
  ${o.homeTeamId === e ? "vs" : "at"} ${q(t, o.homeTeamId === e ? o.awayTeamId : o.homeTeamId)}` : "·"}</span>
1771
1786
  </div>
@@ -1773,21 +1788,21 @@ class Gt extends b {
1773
1788
  `;
1774
1789
  }
1775
1790
  }
1776
- globalThis?.customElements && !globalThis.customElements.get("hsot-boxscore") && globalThis.customElements.define("hsot-boxscore", Gt);
1777
- const Ue = {
1791
+ globalThis?.customElements && !globalThis.customElements.get("hsot-boxscore") && globalThis.customElements.define("hsot-boxscore", qt);
1792
+ const Oe = {
1778
1793
  "hsot-scores": Lt,
1779
1794
  "hsot-standings": jt,
1780
1795
  "hsot-rankings": Wt,
1781
1796
  "hsot-school": Vt,
1782
- "hsot-boxscore": Gt
1797
+ "hsot-boxscore": qt
1783
1798
  };
1784
- function Oe() {
1785
- const r = globalThis?.customElements;
1786
- if (r)
1787
- for (const [t, e] of Object.entries(Ue))
1788
- r.get(t) || r.define(t, e);
1799
+ function Fe() {
1800
+ const a = globalThis?.customElements;
1801
+ if (a)
1802
+ for (const [t, e] of Object.entries(Oe))
1803
+ a.get(t) || a.define(t, e);
1789
1804
  }
1790
- typeof window < "u" && globalThis.customElements && Oe();
1805
+ typeof window < "u" && globalThis.customElements && Fe();
1791
1806
  export {
1792
- Oe as defineAll
1807
+ Fe as defineAll
1793
1808
  };