@sirsluginston/sharedui 2.0.27 → 2.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -304,6 +304,13 @@ declare interface PageContainerProps {
304
304
  darkMode?: boolean;
305
305
  }
306
306
 
307
+ export declare const ProgressBar: ({ value, label }: ProgressBarProps) => JSX_2.Element;
308
+
309
+ declare interface ProgressBarProps {
310
+ value: number;
311
+ label?: string;
312
+ }
313
+
307
314
  export declare interface RecentEvent {
308
315
  event_id: string;
309
316
  event_title: string;
package/dist/sharedui.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import de, { useEffect as Y, useState as W, useRef as Ae, useCallback as Cr } from "react";
2
- var ce = { exports: {} }, B = {};
2
+ var ce = { exports: {} }, $ = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.min.js
@@ -11,7 +11,7 @@ var ce = { exports: {} }, B = {};
11
11
  */
12
12
  var Le;
13
13
  function Sr() {
14
- if (Le) return B;
14
+ if (Le) return $;
15
15
  Le = 1;
16
16
  var r = de, a = Symbol.for("react.element"), t = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, l = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = { key: !0, ref: !0, __self: !0, __source: !0 };
17
17
  function c(f, v, m) {
@@ -21,7 +21,7 @@ function Sr() {
21
21
  if (f && f.defaultProps) for (u in v = f.defaultProps, v) b[u] === void 0 && (b[u] = v[u]);
22
22
  return { $$typeof: a, type: f, key: E, ref: P, props: b, _owner: l.current };
23
23
  }
24
- return B.Fragment = t, B.jsx = c, B.jsxs = c, B;
24
+ return $.Fragment = t, $.jsx = c, $.jsxs = c, $;
25
25
  }
26
26
  var N = {};
27
27
  /**
@@ -34,7 +34,7 @@ var N = {};
34
34
  * LICENSE file in the root directory of this source tree.
35
35
  */
36
36
  var ze;
37
- function Tr() {
37
+ function Rr() {
38
38
  return ze || (ze = 1, process.env.NODE_ENV !== "production" && function() {
39
39
  var r = de, a = Symbol.for("react.element"), t = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), l = Symbol.for("react.strict_mode"), i = Symbol.for("react.profiler"), c = Symbol.for("react.provider"), f = Symbol.for("react.context"), v = Symbol.for("react.forward_ref"), m = Symbol.for("react.suspense"), u = Symbol.for("react.suspense_list"), b = Symbol.for("react.memo"), E = Symbol.for("react.lazy"), P = Symbol.for("react.offscreen"), w = Symbol.iterator, M = "@@iterator";
40
40
  function Ne(o) {
@@ -232,29 +232,29 @@ function Tr() {
232
232
  }), typeof Reflect == "object" && Reflect.construct) {
233
233
  try {
234
234
  Reflect.construct(h, []);
235
- } catch (T) {
236
- p = T;
235
+ } catch (R) {
236
+ p = R;
237
237
  }
238
238
  Reflect.construct(o, [], h);
239
239
  } else {
240
240
  try {
241
241
  h.call();
242
- } catch (T) {
243
- p = T;
242
+ } catch (R) {
243
+ p = R;
244
244
  }
245
245
  o.call(h.prototype);
246
246
  }
247
247
  } else {
248
248
  try {
249
249
  throw Error();
250
- } catch (T) {
251
- p = T;
250
+ } catch (R) {
251
+ p = R;
252
252
  }
253
253
  o();
254
254
  }
255
- } catch (T) {
256
- if (T && p && typeof T.stack == "string") {
257
- for (var g = T.stack.split(`
255
+ } catch (R) {
256
+ if (R && p && typeof R.stack == "string") {
257
+ for (var g = R.stack.split(`
258
258
  `), S = p.stack.split(`
259
259
  `), j = g.length - 1, k = S.length - 1; j >= 1 && k >= 0 && g[j] !== S[k]; )
260
260
  k--;
@@ -263,9 +263,9 @@ function Tr() {
263
263
  if (j !== 1 || k !== 1)
264
264
  do
265
265
  if (j--, k--, k < 0 || g[j] !== S[k]) {
266
- var R = `
266
+ var T = `
267
267
  ` + g[j].replace(" at new ", " at ");
268
- return o.displayName && R.includes("<anonymous>") && (R = R.replace("<anonymous>", o.displayName)), typeof o == "function" && J.set(o, R), R;
268
+ return o.displayName && T.includes("<anonymous>") && (T = T.replace("<anonymous>", o.displayName)), typeof o == "function" && J.set(o, T), T;
269
269
  }
270
270
  while (j >= 1 && k >= 0);
271
271
  break;
@@ -313,7 +313,7 @@ function Tr() {
313
313
  }
314
314
  return "";
315
315
  }
316
- var $ = Object.prototype.hasOwnProperty, ke = {}, we = A.ReactDebugCurrentFrame;
316
+ var B = Object.prototype.hasOwnProperty, ke = {}, we = A.ReactDebugCurrentFrame;
317
317
  function Z(o) {
318
318
  if (o) {
319
319
  var s = o._owner, d = q(o.type, o._source, s ? s.type : null);
@@ -323,7 +323,7 @@ function Tr() {
323
323
  }
324
324
  function or(o, s, d, p, x) {
325
325
  {
326
- var y = Function.call.bind($);
326
+ var y = Function.call.bind(B);
327
327
  for (var h in o)
328
328
  if (y(o, h)) {
329
329
  var g = void 0;
@@ -364,14 +364,14 @@ function Tr() {
364
364
  if (nr(o))
365
365
  return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", tr(o)), Ce(o);
366
366
  }
367
- var Te = A.ReactCurrentOwner, sr = {
367
+ var Re = A.ReactCurrentOwner, sr = {
368
368
  key: !0,
369
369
  ref: !0,
370
370
  __self: !0,
371
371
  __source: !0
372
- }, Re, _e;
372
+ }, Te, _e;
373
373
  function ir(o) {
374
- if ($.call(o, "ref")) {
374
+ if (B.call(o, "ref")) {
375
375
  var s = Object.getOwnPropertyDescriptor(o, "ref").get;
376
376
  if (s && s.isReactWarning)
377
377
  return !1;
@@ -379,7 +379,7 @@ function Tr() {
379
379
  return o.ref !== void 0;
380
380
  }
381
381
  function lr(o) {
382
- if ($.call(o, "key")) {
382
+ if (B.call(o, "key")) {
383
383
  var s = Object.getOwnPropertyDescriptor(o, "key").get;
384
384
  if (s && s.isReactWarning)
385
385
  return !1;
@@ -387,12 +387,12 @@ function Tr() {
387
387
  return o.key !== void 0;
388
388
  }
389
389
  function cr(o, s) {
390
- typeof o.ref == "string" && Te.current;
390
+ typeof o.ref == "string" && Re.current;
391
391
  }
392
392
  function dr(o, s) {
393
393
  {
394
394
  var d = function() {
395
- Re || (Re = !0, C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", s));
395
+ Te || (Te = !0, C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", s));
396
396
  };
397
397
  d.isReactWarning = !0, Object.defineProperty(o, "key", {
398
398
  get: d,
@@ -445,7 +445,7 @@ function Tr() {
445
445
  var y, h = {}, g = null, S = null;
446
446
  d !== void 0 && (Se(d), g = "" + d), lr(s) && (Se(s.key), g = "" + s.key), ir(s) && (S = s.ref, cr(s, x));
447
447
  for (y in s)
448
- $.call(s, y) && !sr.hasOwnProperty(y) && (h[y] = s[y]);
448
+ B.call(s, y) && !sr.hasOwnProperty(y) && (h[y] = s[y]);
449
449
  if (o && o.defaultProps) {
450
450
  var j = o.defaultProps;
451
451
  for (y in j)
@@ -455,7 +455,7 @@ function Tr() {
455
455
  var k = typeof o == "function" ? o.displayName || o.name || "Unknown" : o;
456
456
  g && dr(h, k), S && ur(h, k);
457
457
  }
458
- return fr(o, g, S, x, p, Te.current, h);
458
+ return fr(o, g, S, x, p, Re.current, h);
459
459
  }
460
460
  }
461
461
  var ne = A.ReactCurrentOwner, Ee = A.ReactDebugCurrentFrame;
@@ -584,24 +584,24 @@ Check the top-level render call using <` + d + ">.");
584
584
  if (k == null)
585
585
  return k;
586
586
  if (h) {
587
- var R = s.children;
588
- if (R !== void 0)
587
+ var T = s.children;
588
+ if (T !== void 0)
589
589
  if (p)
590
- if (te(R)) {
591
- for (var z = 0; z < R.length; z++)
592
- De(R[z], o);
593
- Object.freeze && Object.freeze(R);
590
+ if (te(T)) {
591
+ for (var z = 0; z < T.length; z++)
592
+ De(T[z], o);
593
+ Object.freeze && Object.freeze(T);
594
594
  } else
595
595
  C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
596
596
  else
597
- De(R, o);
597
+ De(T, o);
598
598
  }
599
- if ($.call(s, "key")) {
600
- var D = I(o), T = Object.keys(s).filter(function(wr) {
599
+ if (B.call(s, "key")) {
600
+ var D = I(o), R = Object.keys(s).filter(function(wr) {
601
601
  return wr !== "key";
602
- }), le = T.length > 0 ? "{key: someKey, " + T.join(": ..., ") + ": ...}" : "{key: someKey}";
602
+ }), le = R.length > 0 ? "{key: someKey, " + R.join(": ..., ") + ": ...}" : "{key: someKey}";
603
603
  if (!We[D + le]) {
604
- var kr = T.length > 0 ? "{" + T.join(": ..., ") + ": ...}" : "{}";
604
+ var kr = R.length > 0 ? "{" + R.join(": ..., ") + ": ...}" : "{}";
605
605
  C(`A props object containing a "key" prop is being spread into JSX:
606
606
  let props = %s;
607
607
  <%s {...props} />
@@ -623,7 +623,7 @@ React keys must be passed directly to JSX without using spread:
623
623
  N.Fragment = n, N.jsx = br, N.jsxs = jr;
624
624
  }()), N;
625
625
  }
626
- process.env.NODE_ENV === "production" ? ce.exports = Sr() : ce.exports = Tr();
626
+ process.env.NODE_ENV === "production" ? ce.exports = Sr() : ce.exports = Rr();
627
627
  var e = ce.exports;
628
628
  const Hr = ({
629
629
  variant: r = "primary",
@@ -703,12 +703,12 @@ const Hr = ({
703
703
  u.currentTarget.style.transform = "translate(0, 0)", u.currentTarget.style.boxShadow = v[r].boxShadow || "none", (b = c.onMouseLeave) == null || b.call(c, u);
704
704
  },
705
705
  children: [
706
- t ? /* @__PURE__ */ e.jsx(Rr, { size: 16 }) : n,
706
+ t ? /* @__PURE__ */ e.jsx(Tr, { size: 16 }) : n,
707
707
  l
708
708
  ]
709
709
  }
710
710
  );
711
- }, Rr = ({ size: r }) => /* @__PURE__ */ e.jsxs("svg", { width: r, height: r, viewBox: "0 0 24 24", style: { animation: "spin 0.8s linear infinite" }, children: [
711
+ }, Tr = ({ size: r }) => /* @__PURE__ */ e.jsxs("svg", { width: r, height: r, viewBox: "0 0 24 24", style: { animation: "spin 0.8s linear infinite" }, children: [
712
712
  /* @__PURE__ */ e.jsx(
713
713
  "circle",
714
714
  {
@@ -1108,7 +1108,31 @@ const Jr = ({
1108
1108
  ]
1109
1109
  }
1110
1110
  );
1111
- }, qr = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1111
+ }, qr = ({ value: r, label: a }) => /* @__PURE__ */ e.jsxs("div", { style: { width: "100%", margin: "var(--space-sm) 0" }, children: [
1112
+ a && /* @__PURE__ */ e.jsx("div", { style: { fontFamily: "var(--font-sans)", marginBottom: "var(--space-xs)", color: "var(--text-color)" }, children: a }),
1113
+ /* @__PURE__ */ e.jsx(
1114
+ "div",
1115
+ {
1116
+ style: {
1117
+ width: "100%",
1118
+ background: "var(--border-color)",
1119
+ borderRadius: "var(--radius-md)",
1120
+ overflow: "hidden"
1121
+ },
1122
+ children: /* @__PURE__ */ e.jsx(
1123
+ "div",
1124
+ {
1125
+ style: {
1126
+ width: `${Math.max(0, Math.min(r, 100))}%`,
1127
+ background: "var(--primary-color)",
1128
+ height: "10px",
1129
+ transition: "width 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
1130
+ }
1131
+ }
1132
+ )
1133
+ }
1134
+ )
1135
+ ] }), Zr = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1112
1136
  "svg",
1113
1137
  {
1114
1138
  width: r,
@@ -1133,7 +1157,7 @@ const Jr = ({
1133
1157
  /* @__PURE__ */ e.jsx("line", { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" })
1134
1158
  ]
1135
1159
  }
1136
- ), Zr = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsx(
1160
+ ), Qr = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsx(
1137
1161
  "svg",
1138
1162
  {
1139
1163
  width: r,
@@ -1148,7 +1172,7 @@ const Jr = ({
1148
1172
  style: n,
1149
1173
  children: /* @__PURE__ */ e.jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
1150
1174
  }
1151
- ), Qr = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1175
+ ), eo = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1152
1176
  "svg",
1153
1177
  {
1154
1178
  width: r,
@@ -1166,7 +1190,7 @@ const Jr = ({
1166
1190
  /* @__PURE__ */ e.jsx("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })
1167
1191
  ]
1168
1192
  }
1169
- ), eo = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1193
+ ), ro = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1170
1194
  "svg",
1171
1195
  {
1172
1196
  width: r,
@@ -1184,7 +1208,7 @@ const Jr = ({
1184
1208
  /* @__PURE__ */ e.jsx("circle", { cx: "12", cy: "12", r: "3" })
1185
1209
  ]
1186
1210
  }
1187
- ), ro = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1211
+ ), oo = ({ size: r = 20, color: a = "currentColor", className: t, style: n }) => /* @__PURE__ */ e.jsxs(
1188
1212
  "svg",
1189
1213
  {
1190
1214
  width: r,
@@ -1202,7 +1226,7 @@ const Jr = ({
1202
1226
  /* @__PURE__ */ e.jsx("circle", { cx: "12", cy: "7", r: "4" })
1203
1227
  ]
1204
1228
  }
1205
- ), oo = ({ label: r, value: a, icon: t, className: n, style: l }) => /* @__PURE__ */ e.jsxs(
1229
+ ), ao = ({ label: r, value: a, icon: t, className: n, style: l }) => /* @__PURE__ */ e.jsxs(
1206
1230
  "div",
1207
1231
  {
1208
1232
  className: n,
@@ -1226,7 +1250,7 @@ const Jr = ({
1226
1250
  ] })
1227
1251
  ]
1228
1252
  }
1229
- ), ao = ({
1253
+ ), to = ({
1230
1254
  children: r,
1231
1255
  variant: a = "info",
1232
1256
  title: t,
@@ -1317,7 +1341,7 @@ const Jr = ({
1317
1341
  ]
1318
1342
  }
1319
1343
  );
1320
- }, to = ({
1344
+ }, no = ({
1321
1345
  tabs: r,
1322
1346
  activeTab: a,
1323
1347
  onTabChange: t,
@@ -1389,7 +1413,7 @@ const Jr = ({
1389
1413
  i.id
1390
1414
  )) })
1391
1415
  ] });
1392
- }, no = ({
1416
+ }, so = ({
1393
1417
  content: r,
1394
1418
  children: a,
1395
1419
  position: t = "top",
@@ -1494,7 +1518,7 @@ const Jr = ({
1494
1518
  ]
1495
1519
  }
1496
1520
  );
1497
- }, so = ({
1521
+ }, io = ({
1498
1522
  message: r = "Loading..."
1499
1523
  }) => /* @__PURE__ */ e.jsxs("div", { style: {
1500
1524
  position: "fixed",
@@ -1516,7 +1540,7 @@ const Jr = ({
1516
1540
  fontSize: "1rem",
1517
1541
  color: "var(--surface-light)"
1518
1542
  }, children: r })
1519
- ] }), Be = ({
1543
+ ] }), $e = ({
1520
1544
  width: r = "100%",
1521
1545
  height: a = 20,
1522
1546
  variant: t = "text",
@@ -1560,13 +1584,13 @@ const Jr = ({
1560
1584
  }
1561
1585
  );
1562
1586
  }, Er = ({ lines: r = 3 }) => /* @__PURE__ */ e.jsx("div", { style: { display: "flex", flexDirection: "column", gap: "var(--space-sm)" }, children: Array.from({ length: r }).map((a, t) => /* @__PURE__ */ e.jsx(
1563
- Be,
1587
+ $e,
1564
1588
  {
1565
1589
  width: t === r - 1 ? "60%" : "100%",
1566
1590
  height: 16
1567
1591
  },
1568
1592
  t
1569
- )) }), io = () => /* @__PURE__ */ e.jsxs("div", { style: {
1593
+ )) }), lo = () => /* @__PURE__ */ e.jsxs("div", { style: {
1570
1594
  padding: "var(--space-lg)",
1571
1595
  border: "2px solid var(--border-color)",
1572
1596
  borderRadius: "var(--radius-md)",
@@ -1574,7 +1598,7 @@ const Jr = ({
1574
1598
  flexDirection: "column",
1575
1599
  gap: "var(--space-md)"
1576
1600
  }, children: [
1577
- /* @__PURE__ */ e.jsx(Be, { height: 24, width: "50%" }),
1601
+ /* @__PURE__ */ e.jsx($e, { height: 24, width: "50%" }),
1578
1602
  /* @__PURE__ */ e.jsx(Er, { lines: 3 })
1579
1603
  ] }), Mr = ({
1580
1604
  brand: r,
@@ -1939,7 +1963,7 @@ const U = ({
1939
1963
  }
1940
1964
  )
1941
1965
  ] });
1942
- }, lo = ({ children: r, darkMode: a = !1 }) => {
1966
+ }, co = ({ children: r, darkMode: a = !1 }) => {
1943
1967
  const t = a ? {
1944
1968
  backgroundColor: "var(--bg-color)",
1945
1969
  color: "var(--text-color)"
@@ -1993,7 +2017,7 @@ const U = ({
1993
2017
  ]
1994
2018
  }
1995
2019
  );
1996
- }, co = ({ children: r, columns: a = 3, gap: t = "var(--space-lg)" }) => /* @__PURE__ */ e.jsx(
2020
+ }, uo = ({ children: r, columns: a = 3, gap: t = "var(--space-lg)" }) => /* @__PURE__ */ e.jsx(
1997
2021
  "div",
1998
2022
  {
1999
2023
  style: {
@@ -2123,8 +2147,8 @@ const U = ({
2123
2147
  r.total_states !== void 0 && { label: "States", value: r.total_states, icon: _.avgFine },
2124
2148
  r.total_injuries !== void 0 && { label: "Injuries", value: r.total_injuries, icon: _.injuries },
2125
2149
  r.total_fatalities !== void 0 && { label: "Fatalities", value: r.total_fatalities, icon: _.fatalities },
2126
- r.total_fines !== void 0 && { label: "Total Fines", value: $e(r.total_fines), icon: _.fines },
2127
- r.avg_fines !== void 0 && { label: "Avg Fine", value: $e(r.avg_fines), icon: _.avgFine },
2150
+ r.total_fines !== void 0 && { label: "Total Fines", value: Be(r.total_fines), icon: _.fines },
2151
+ r.avg_fines !== void 0 && { label: "Avg Fine", value: Be(r.avg_fines), icon: _.avgFine },
2128
2152
  r.trend && {
2129
2153
  label: "YoY Change",
2130
2154
  value: `${r.trend.direction === "up" ? "↑" : r.trend.direction === "down" ? "↓" : "→"} ${r.trend.percentage}%`,
@@ -2140,10 +2164,10 @@ const U = ({
2140
2164
  gridTemplateColumns: `repeat(${a}, 1fr)`,
2141
2165
  gap: "var(--space-md)"
2142
2166
  },
2143
- children: t.map((n) => /* @__PURE__ */ e.jsx($r, { ...n }, n.label))
2167
+ children: t.map((n) => /* @__PURE__ */ e.jsx(Br, { ...n }, n.label))
2144
2168
  }
2145
2169
  ) });
2146
- }, $r = ({
2170
+ }, Br = ({
2147
2171
  label: r,
2148
2172
  value: a,
2149
2173
  icon: t
@@ -2186,7 +2210,7 @@ const U = ({
2186
2210
  ]
2187
2211
  }
2188
2212
  );
2189
- function $e(r) {
2213
+ function Be(r) {
2190
2214
  return r >= 1e6 ? `$${(r / 1e6).toFixed(1)}M` : r >= 1e3 ? `$${(r / 1e3).toFixed(0)}K` : `$${r.toLocaleString()}`;
2191
2215
  }
2192
2216
  const Q = ({
@@ -2379,14 +2403,14 @@ const Q = ({
2379
2403
  flexDirection: "column",
2380
2404
  gap: "var(--space-sm)"
2381
2405
  }, children: a.map((l) => /* @__PURE__ */ e.jsx(
2382
- Br,
2406
+ $r,
2383
2407
  {
2384
2408
  event: l,
2385
2409
  showAgencyBadge: n
2386
2410
  },
2387
2411
  l.event_id
2388
2412
  )) })
2389
- ] }) }), Br = ({
2413
+ ] }) }), $r = ({
2390
2414
  event: r,
2391
2415
  showAgencyBadge: a
2392
2416
  }) => /* @__PURE__ */ e.jsx(
@@ -2488,7 +2512,7 @@ function Nr(r) {
2488
2512
  return r;
2489
2513
  }
2490
2514
  }
2491
- const uo = ({
2515
+ const fo = ({
2492
2516
  position: r,
2493
2517
  width: a,
2494
2518
  height: t
@@ -2696,7 +2720,7 @@ const uo = ({
2696
2720
  /* @__PURE__ */ e.jsx("option", { children: "Alphabetical" })
2697
2721
  ] })
2698
2722
  ] })
2699
- ] }) }), fo = () => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
2723
+ ] }) }), vo = () => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
2700
2724
  /* @__PURE__ */ e.jsx("style", { children: `
2701
2725
  .mobile-ad-banner {
2702
2726
  display: none;
@@ -2739,7 +2763,7 @@ const uo = ({
2739
2763
  children: "Ad (468×60)"
2740
2764
  }
2741
2765
  ) })
2742
- ] }), vo = ({
2766
+ ] }), po = ({
2743
2767
  brand: r,
2744
2768
  data: a
2745
2769
  }) => {
@@ -2784,7 +2808,7 @@ const uo = ({
2784
2808
  ]
2785
2809
  }
2786
2810
  );
2787
- }, po = ({
2811
+ }, go = ({
2788
2812
  brand: r,
2789
2813
  data: a
2790
2814
  }) => {
@@ -2894,7 +2918,7 @@ const uo = ({
2894
2918
  PR: "Puerto Rico",
2895
2919
  VI: "Virgin Islands",
2896
2920
  GU: "Guam"
2897
- }, go = ({
2921
+ }, ho = ({
2898
2922
  brand: r,
2899
2923
  data: a
2900
2924
  }) => {
@@ -2951,7 +2975,7 @@ const uo = ({
2951
2975
  ]
2952
2976
  }
2953
2977
  );
2954
- }, ho = ({
2978
+ }, xo = ({
2955
2979
  brand: r,
2956
2980
  data: a
2957
2981
  }) => {
@@ -3006,7 +3030,7 @@ const uo = ({
3006
3030
  ]
3007
3031
  }
3008
3032
  );
3009
- }, xo = ({
3033
+ }, yo = ({
3010
3034
  brand: r,
3011
3035
  data: a
3012
3036
  }) => {
@@ -3094,44 +3118,45 @@ const uo = ({
3094
3118
  );
3095
3119
  };
3096
3120
  export {
3097
- uo as AdSlot,
3098
- ao as Alert,
3121
+ fo as AdSlot,
3122
+ to as Alert,
3099
3123
  Kr as Badge,
3100
- Qr as BellIcon,
3124
+ eo as BellIcon,
3101
3125
  Hr as Button,
3102
3126
  Vr as Card,
3103
- go as CityPage,
3104
- ho as CompanyPage,
3127
+ ho as CityPage,
3128
+ xo as CompanyPage,
3105
3129
  Q as Directory,
3106
3130
  X as FilterSidebar,
3107
3131
  Lr as Footer,
3108
- co as GridLayout,
3132
+ uo as GridLayout,
3109
3133
  Mr as Header,
3110
3134
  H as Hero,
3111
3135
  K as InfoSidebar,
3112
3136
  Xr as Input,
3113
- so as LoadingOverlay,
3114
- fo as MobileAdBanner,
3137
+ io as LoadingOverlay,
3138
+ vo as MobileAdBanner,
3115
3139
  Jr as Modal,
3116
- Zr as MoonIcon,
3117
- vo as NationPage,
3118
- lo as PageContainer,
3140
+ Qr as MoonIcon,
3141
+ po as NationPage,
3142
+ co as PageContainer,
3143
+ qr as ProgressBar,
3119
3144
  ee as RecentEvents,
3120
- eo as SettingsIcon,
3145
+ ro as SettingsIcon,
3121
3146
  U as Shell,
3122
- xo as SitePage,
3123
- Be as Skeleton,
3124
- io as SkeletonCard,
3147
+ yo as SitePage,
3148
+ $e as Skeleton,
3149
+ lo as SkeletonCard,
3125
3150
  Er as SkeletonText,
3126
3151
  _r as Spinner,
3127
- oo as StatCard,
3152
+ ao as StatCard,
3128
3153
  V as StatGrid,
3129
- po as StatePage,
3130
- qr as SunIcon,
3154
+ go as StatePage,
3155
+ Zr as SunIcon,
3131
3156
  Gr as Table,
3132
- to as Tabs,
3133
- no as Tooltip,
3134
- ro as UserIcon,
3157
+ no as Tabs,
3158
+ so as Tooltip,
3159
+ oo as UserIcon,
3135
3160
  Or as applyTheme,
3136
3161
  zr as useTheme
3137
3162
  };
@@ -1,4 +1,4 @@
1
- (function(g,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],k):(g=typeof globalThis<"u"?globalThis:g||self,k(g.SharedUI={},g.React))})(this,function(g,k){"use strict";var re={exports:{}},H={};/**
1
+ (function(v,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],k):(v=typeof globalThis<"u"?globalThis:v||self,k(v.SharedUI={},v.React))})(this,function(v,k){"use strict";var re={exports:{}},H={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var ue;function Ve(){if(ue)return H;ue=1;var r=k,a=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(f,v,b){var u,j={},I=null,N=null;b!==void 0&&(I=""+b),v.key!==void 0&&(I=""+v.key),v.ref!==void 0&&(N=v.ref);for(u in v)n.call(v,u)&&!i.hasOwnProperty(u)&&(j[u]=v[u]);if(f&&f.defaultProps)for(u in v=f.defaultProps,v)j[u]===void 0&&(j[u]=v[u]);return{$$typeof:a,type:f,key:I,ref:N,props:j,_owner:l.current}}return H.Fragment=t,H.jsx=c,H.jsxs=c,H}var V={};/**
9
+ */var ue;function Ve(){if(ue)return H;ue=1;var r=k,a=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function c(f,g,b){var u,j={},I=null,N=null;b!==void 0&&(I=""+b),g.key!==void 0&&(I=""+g.key),g.ref!==void 0&&(N=g.ref);for(u in g)n.call(g,u)&&!i.hasOwnProperty(u)&&(j[u]=g[u]);if(f&&f.defaultProps)for(u in g=f.defaultProps,g)j[u]===void 0&&(j[u]=g[u]);return{$$typeof:a,type:f,key:I,ref:N,props:j,_owner:l.current}}return H.Fragment=t,H.jsx=c,H.jsxs=c,H}var V={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,20 +14,20 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var fe;function Ke(){return fe||(fe=1,process.env.NODE_ENV!=="production"&&function(){var r=k,a=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),I=Symbol.for("react.lazy"),N=Symbol.for("react.offscreen"),S=Symbol.iterator,F="@@iterator";function Ir(o){if(o===null||typeof o!="object")return null;var s=S&&o[S]||o[F];return typeof s=="function"?s:null}var Y=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function T(o){{for(var s=arguments.length,d=new Array(s>1?s-1:0),p=1;p<s;p++)d[p-1]=arguments[p];Fr("error",o,d)}}function Fr(o,s,d){{var p=Y.ReactDebugCurrentFrame,m=p.getStackAddendum();m!==""&&(s+="%s",d=d.concat([m]));var x=d.map(function(y){return String(y)});x.unshift("Warning: "+s),Function.prototype.apply.call(console[o],console,x)}}var Dr=!1,Wr=!1,Pr=!1,Ar=!1,Lr=!1,je;je=Symbol.for("react.module.reference");function zr(o){return!!(typeof o=="string"||typeof o=="function"||o===n||o===i||Lr||o===l||o===b||o===u||Ar||o===N||Dr||Wr||Pr||typeof o=="object"&&o!==null&&(o.$$typeof===I||o.$$typeof===j||o.$$typeof===c||o.$$typeof===f||o.$$typeof===v||o.$$typeof===je||o.getModuleId!==void 0))}function Or(o,s,d){var p=o.displayName;if(p)return p;var m=s.displayName||s.name||"";return m!==""?d+"("+m+")":d}function ke(o){return o.displayName||"Context"}function D(o){if(o==null)return null;if(typeof o.tag=="number"&&T("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case n:return"Fragment";case t:return"Portal";case i:return"Profiler";case l:return"StrictMode";case b:return"Suspense";case u:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case f:var s=o;return ke(s)+".Consumer";case c:var d=o;return ke(d._context)+".Provider";case v:return Or(o,o.render,"ForwardRef");case j:var p=o.displayName||null;return p!==null?p:D(o.type)||"Memo";case I:{var m=o,x=m._payload,y=m._init;try{return D(y(x))}catch{return null}}}return null}var W=Object.assign,X=0,we,Ce,Se,Te,Re,_e,Ee;function Me(){}Me.__reactDisabledLog=!0;function Br(){{if(X===0){we=console.log,Ce=console.info,Se=console.warn,Te=console.error,Re=console.group,_e=console.groupCollapsed,Ee=console.groupEnd;var o={configurable:!0,enumerable:!0,value:Me,writable:!0};Object.defineProperties(console,{info:o,log:o,warn:o,error:o,group:o,groupCollapsed:o,groupEnd:o})}X++}}function Nr(){{if(X--,X===0){var o={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:W({},o,{value:we}),info:W({},o,{value:Ce}),warn:W({},o,{value:Se}),error:W({},o,{value:Te}),group:W({},o,{value:Re}),groupCollapsed:W({},o,{value:_e}),groupEnd:W({},o,{value:Ee})})}X<0&&T("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ae=Y.ReactCurrentDispatcher,te;function Z(o,s,d){{if(te===void 0)try{throw Error()}catch(m){var p=m.stack.trim().match(/\n( *(at )?)/);te=p&&p[1]||""}return`
18
- `+te+o}}var ne=!1,Q;{var Yr=typeof WeakMap=="function"?WeakMap:Map;Q=new Yr}function Ie(o,s){if(!o||ne)return"";{var d=Q.get(o);if(d!==void 0)return d}var p;ne=!0;var m=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var x;x=ae.current,ae.current=null,Br();try{if(s){var y=function(){throw Error()};if(Object.defineProperty(y.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(y,[])}catch(_){p=_}Reflect.construct(o,[],y)}else{try{y.call()}catch(_){p=_}o.call(y.prototype)}}else{try{throw Error()}catch(_){p=_}o()}}catch(_){if(_&&p&&typeof _.stack=="string"){for(var h=_.stack.split(`
17
+ */var fe;function Ke(){return fe||(fe=1,process.env.NODE_ENV!=="production"&&function(){var r=k,a=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),I=Symbol.for("react.lazy"),N=Symbol.for("react.offscreen"),S=Symbol.iterator,F="@@iterator";function Fr(o){if(o===null||typeof o!="object")return null;var s=S&&o[S]||o[F];return typeof s=="function"?s:null}var Y=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function T(o){{for(var s=arguments.length,d=new Array(s>1?s-1:0),p=1;p<s;p++)d[p-1]=arguments[p];Dr("error",o,d)}}function Dr(o,s,d){{var p=Y.ReactDebugCurrentFrame,m=p.getStackAddendum();m!==""&&(s+="%s",d=d.concat([m]));var x=d.map(function(y){return String(y)});x.unshift("Warning: "+s),Function.prototype.apply.call(console[o],console,x)}}var Pr=!1,Wr=!1,Ar=!1,Lr=!1,zr=!1,je;je=Symbol.for("react.module.reference");function Or(o){return!!(typeof o=="string"||typeof o=="function"||o===n||o===i||zr||o===l||o===b||o===u||Lr||o===N||Pr||Wr||Ar||typeof o=="object"&&o!==null&&(o.$$typeof===I||o.$$typeof===j||o.$$typeof===c||o.$$typeof===f||o.$$typeof===g||o.$$typeof===je||o.getModuleId!==void 0))}function Br(o,s,d){var p=o.displayName;if(p)return p;var m=s.displayName||s.name||"";return m!==""?d+"("+m+")":d}function ke(o){return o.displayName||"Context"}function D(o){if(o==null)return null;if(typeof o.tag=="number"&&T("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case n:return"Fragment";case t:return"Portal";case i:return"Profiler";case l:return"StrictMode";case b:return"Suspense";case u:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case f:var s=o;return ke(s)+".Consumer";case c:var d=o;return ke(d._context)+".Provider";case g:return Br(o,o.render,"ForwardRef");case j:var p=o.displayName||null;return p!==null?p:D(o.type)||"Memo";case I:{var m=o,x=m._payload,y=m._init;try{return D(y(x))}catch{return null}}}return null}var P=Object.assign,X=0,we,Ce,Se,Te,Re,_e,Ee;function Me(){}Me.__reactDisabledLog=!0;function Nr(){{if(X===0){we=console.log,Ce=console.info,Se=console.warn,Te=console.error,Re=console.group,_e=console.groupCollapsed,Ee=console.groupEnd;var o={configurable:!0,enumerable:!0,value:Me,writable:!0};Object.defineProperties(console,{info:o,log:o,warn:o,error:o,group:o,groupCollapsed:o,groupEnd:o})}X++}}function Yr(){{if(X--,X===0){var o={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:P({},o,{value:we}),info:P({},o,{value:Ce}),warn:P({},o,{value:Se}),error:P({},o,{value:Te}),group:P({},o,{value:Re}),groupCollapsed:P({},o,{value:_e}),groupEnd:P({},o,{value:Ee})})}X<0&&T("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ae=Y.ReactCurrentDispatcher,te;function Z(o,s,d){{if(te===void 0)try{throw Error()}catch(m){var p=m.stack.trim().match(/\n( *(at )?)/);te=p&&p[1]||""}return`
18
+ `+te+o}}var ne=!1,Q;{var Ur=typeof WeakMap=="function"?WeakMap:Map;Q=new Ur}function Ie(o,s){if(!o||ne)return"";{var d=Q.get(o);if(d!==void 0)return d}var p;ne=!0;var m=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var x;x=ae.current,ae.current=null,Nr();try{if(s){var y=function(){throw Error()};if(Object.defineProperty(y.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(y,[])}catch(_){p=_}Reflect.construct(o,[],y)}else{try{y.call()}catch(_){p=_}o.call(y.prototype)}}else{try{throw Error()}catch(_){p=_}o()}}catch(_){if(_&&p&&typeof _.stack=="string"){for(var h=_.stack.split(`
19
19
  `),R=p.stack.split(`
20
20
  `),w=h.length-1,C=R.length-1;w>=1&&C>=0&&h[w]!==R[C];)C--;for(;w>=1&&C>=0;w--,C--)if(h[w]!==R[C]){if(w!==1||C!==1)do if(w--,C--,C<0||h[w]!==R[C]){var E=`
21
- `+h[w].replace(" at new "," at ");return o.displayName&&E.includes("<anonymous>")&&(E=E.replace("<anonymous>",o.displayName)),typeof o=="function"&&Q.set(o,E),E}while(w>=1&&C>=0);break}}}finally{ne=!1,ae.current=x,Nr(),Error.prepareStackTrace=m}var $=o?o.displayName||o.name:"",P=$?Z($):"";return typeof o=="function"&&Q.set(o,P),P}function Ur(o,s,d){return Ie(o,!1)}function $r(o){var s=o.prototype;return!!(s&&s.isReactComponent)}function q(o,s,d){if(o==null)return"";if(typeof o=="function")return Ie(o,$r(o));if(typeof o=="string")return Z(o);switch(o){case b:return Z("Suspense");case u:return Z("SuspenseList")}if(typeof o=="object")switch(o.$$typeof){case v:return Ur(o.render);case j:return q(o.type,s,d);case I:{var p=o,m=p._payload,x=p._init;try{return q(x(m),s,d)}catch{}}}return""}var J=Object.prototype.hasOwnProperty,Fe={},De=Y.ReactDebugCurrentFrame;function ee(o){if(o){var s=o._owner,d=q(o.type,o._source,s?s.type:null);De.setExtraStackFrame(d)}else De.setExtraStackFrame(null)}function Hr(o,s,d,p,m){{var x=Function.call.bind(J);for(var y in o)if(x(o,y)){var h=void 0;try{if(typeof o[y]!="function"){var R=Error((p||"React class")+": "+d+" type `"+y+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[y]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw R.name="Invariant Violation",R}h=o[y](s,y,p,d,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(w){h=w}h&&!(h instanceof Error)&&(ee(m),T("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",p||"React class",d,y,typeof h),ee(null)),h instanceof Error&&!(h.message in Fe)&&(Fe[h.message]=!0,ee(m),T("Failed %s type: %s",d,h.message),ee(null))}}}var Vr=Array.isArray;function se(o){return Vr(o)}function Kr(o){{var s=typeof Symbol=="function"&&Symbol.toStringTag,d=s&&o[Symbol.toStringTag]||o.constructor.name||"Object";return d}}function Gr(o){try{return We(o),!1}catch{return!0}}function We(o){return""+o}function Pe(o){if(Gr(o))return T("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Kr(o)),We(o)}var Ae=Y.ReactCurrentOwner,Xr={key:!0,ref:!0,__self:!0,__source:!0},Le,ze;function Jr(o){if(J.call(o,"ref")){var s=Object.getOwnPropertyDescriptor(o,"ref").get;if(s&&s.isReactWarning)return!1}return o.ref!==void 0}function Zr(o){if(J.call(o,"key")){var s=Object.getOwnPropertyDescriptor(o,"key").get;if(s&&s.isReactWarning)return!1}return o.key!==void 0}function Qr(o,s){typeof o.ref=="string"&&Ae.current}function qr(o,s){{var d=function(){Le||(Le=!0,T("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};d.isReactWarning=!0,Object.defineProperty(o,"key",{get:d,configurable:!0})}}function eo(o,s){{var d=function(){ze||(ze=!0,T("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};d.isReactWarning=!0,Object.defineProperty(o,"ref",{get:d,configurable:!0})}}var ro=function(o,s,d,p,m,x,y){var h={$$typeof:a,type:o,key:s,ref:d,props:y,_owner:x};return h._store={},Object.defineProperty(h._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(h,"_self",{configurable:!1,enumerable:!1,writable:!1,value:p}),Object.defineProperty(h,"_source",{configurable:!1,enumerable:!1,writable:!1,value:m}),Object.freeze&&(Object.freeze(h.props),Object.freeze(h)),h};function oo(o,s,d,p,m){{var x,y={},h=null,R=null;d!==void 0&&(Pe(d),h=""+d),Zr(s)&&(Pe(s.key),h=""+s.key),Jr(s)&&(R=s.ref,Qr(s,m));for(x in s)J.call(s,x)&&!Xr.hasOwnProperty(x)&&(y[x]=s[x]);if(o&&o.defaultProps){var w=o.defaultProps;for(x in w)y[x]===void 0&&(y[x]=w[x])}if(h||R){var C=typeof o=="function"?o.displayName||o.name||"Unknown":o;h&&qr(y,C),R&&eo(y,C)}return ro(o,h,R,m,p,Ae.current,y)}}var ie=Y.ReactCurrentOwner,Oe=Y.ReactDebugCurrentFrame;function U(o){if(o){var s=o._owner,d=q(o.type,o._source,s?s.type:null);Oe.setExtraStackFrame(d)}else Oe.setExtraStackFrame(null)}var le;le=!1;function ce(o){return typeof o=="object"&&o!==null&&o.$$typeof===a}function Be(){{if(ie.current){var o=D(ie.current.type);if(o)return`
21
+ `+h[w].replace(" at new "," at ");return o.displayName&&E.includes("<anonymous>")&&(E=E.replace("<anonymous>",o.displayName)),typeof o=="function"&&Q.set(o,E),E}while(w>=1&&C>=0);break}}}finally{ne=!1,ae.current=x,Yr(),Error.prepareStackTrace=m}var $=o?o.displayName||o.name:"",W=$?Z($):"";return typeof o=="function"&&Q.set(o,W),W}function $r(o,s,d){return Ie(o,!1)}function Hr(o){var s=o.prototype;return!!(s&&s.isReactComponent)}function q(o,s,d){if(o==null)return"";if(typeof o=="function")return Ie(o,Hr(o));if(typeof o=="string")return Z(o);switch(o){case b:return Z("Suspense");case u:return Z("SuspenseList")}if(typeof o=="object")switch(o.$$typeof){case g:return $r(o.render);case j:return q(o.type,s,d);case I:{var p=o,m=p._payload,x=p._init;try{return q(x(m),s,d)}catch{}}}return""}var J=Object.prototype.hasOwnProperty,Fe={},De=Y.ReactDebugCurrentFrame;function ee(o){if(o){var s=o._owner,d=q(o.type,o._source,s?s.type:null);De.setExtraStackFrame(d)}else De.setExtraStackFrame(null)}function Vr(o,s,d,p,m){{var x=Function.call.bind(J);for(var y in o)if(x(o,y)){var h=void 0;try{if(typeof o[y]!="function"){var R=Error((p||"React class")+": "+d+" type `"+y+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[y]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw R.name="Invariant Violation",R}h=o[y](s,y,p,d,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(w){h=w}h&&!(h instanceof Error)&&(ee(m),T("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",p||"React class",d,y,typeof h),ee(null)),h instanceof Error&&!(h.message in Fe)&&(Fe[h.message]=!0,ee(m),T("Failed %s type: %s",d,h.message),ee(null))}}}var Kr=Array.isArray;function se(o){return Kr(o)}function Gr(o){{var s=typeof Symbol=="function"&&Symbol.toStringTag,d=s&&o[Symbol.toStringTag]||o.constructor.name||"Object";return d}}function Xr(o){try{return Pe(o),!1}catch{return!0}}function Pe(o){return""+o}function We(o){if(Xr(o))return T("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Gr(o)),Pe(o)}var Ae=Y.ReactCurrentOwner,Jr={key:!0,ref:!0,__self:!0,__source:!0},Le,ze;function Zr(o){if(J.call(o,"ref")){var s=Object.getOwnPropertyDescriptor(o,"ref").get;if(s&&s.isReactWarning)return!1}return o.ref!==void 0}function Qr(o){if(J.call(o,"key")){var s=Object.getOwnPropertyDescriptor(o,"key").get;if(s&&s.isReactWarning)return!1}return o.key!==void 0}function qr(o,s){typeof o.ref=="string"&&Ae.current}function eo(o,s){{var d=function(){Le||(Le=!0,T("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};d.isReactWarning=!0,Object.defineProperty(o,"key",{get:d,configurable:!0})}}function ro(o,s){{var d=function(){ze||(ze=!0,T("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};d.isReactWarning=!0,Object.defineProperty(o,"ref",{get:d,configurable:!0})}}var oo=function(o,s,d,p,m,x,y){var h={$$typeof:a,type:o,key:s,ref:d,props:y,_owner:x};return h._store={},Object.defineProperty(h._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(h,"_self",{configurable:!1,enumerable:!1,writable:!1,value:p}),Object.defineProperty(h,"_source",{configurable:!1,enumerable:!1,writable:!1,value:m}),Object.freeze&&(Object.freeze(h.props),Object.freeze(h)),h};function ao(o,s,d,p,m){{var x,y={},h=null,R=null;d!==void 0&&(We(d),h=""+d),Qr(s)&&(We(s.key),h=""+s.key),Zr(s)&&(R=s.ref,qr(s,m));for(x in s)J.call(s,x)&&!Jr.hasOwnProperty(x)&&(y[x]=s[x]);if(o&&o.defaultProps){var w=o.defaultProps;for(x in w)y[x]===void 0&&(y[x]=w[x])}if(h||R){var C=typeof o=="function"?o.displayName||o.name||"Unknown":o;h&&eo(y,C),R&&ro(y,C)}return oo(o,h,R,m,p,Ae.current,y)}}var ie=Y.ReactCurrentOwner,Oe=Y.ReactDebugCurrentFrame;function U(o){if(o){var s=o._owner,d=q(o.type,o._source,s?s.type:null);Oe.setExtraStackFrame(d)}else Oe.setExtraStackFrame(null)}var le;le=!1;function ce(o){return typeof o=="object"&&o!==null&&o.$$typeof===a}function Be(){{if(ie.current){var o=D(ie.current.type);if(o)return`
22
22
 
23
- Check the render method of \``+o+"`."}return""}}function ao(o){return""}var Ne={};function to(o){{var s=Be();if(!s){var d=typeof o=="string"?o:o.displayName||o.name;d&&(s=`
23
+ Check the render method of \``+o+"`."}return""}}function to(o){return""}var Ne={};function no(o){{var s=Be();if(!s){var d=typeof o=="string"?o:o.displayName||o.name;d&&(s=`
24
24
 
25
- Check the top-level render call using <`+d+">.")}return s}}function Ye(o,s){{if(!o._store||o._store.validated||o.key!=null)return;o._store.validated=!0;var d=to(s);if(Ne[d])return;Ne[d]=!0;var p="";o&&o._owner&&o._owner!==ie.current&&(p=" It was passed a child from "+D(o._owner.type)+"."),U(o),T('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,p),U(null)}}function Ue(o,s){{if(typeof o!="object")return;if(se(o))for(var d=0;d<o.length;d++){var p=o[d];ce(p)&&Ye(p,s)}else if(ce(o))o._store&&(o._store.validated=!0);else if(o){var m=Ir(o);if(typeof m=="function"&&m!==o.entries)for(var x=m.call(o),y;!(y=x.next()).done;)ce(y.value)&&Ye(y.value,s)}}}function no(o){{var s=o.type;if(s==null||typeof s=="string")return;var d;if(typeof s=="function")d=s.propTypes;else if(typeof s=="object"&&(s.$$typeof===v||s.$$typeof===j))d=s.propTypes;else return;if(d){var p=D(s);Hr(d,o.props,"prop",p,o)}else if(s.PropTypes!==void 0&&!le){le=!0;var m=D(s);T("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",m||"Unknown")}typeof s.getDefaultProps=="function"&&!s.getDefaultProps.isReactClassApproved&&T("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function so(o){{for(var s=Object.keys(o.props),d=0;d<s.length;d++){var p=s[d];if(p!=="children"&&p!=="key"){U(o),T("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",p),U(null);break}}o.ref!==null&&(U(o),T("Invalid attribute `ref` supplied to `React.Fragment`."),U(null))}}var $e={};function He(o,s,d,p,m,x){{var y=zr(o);if(!y){var h="";(o===void 0||typeof o=="object"&&o!==null&&Object.keys(o).length===0)&&(h+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var R=ao();R?h+=R:h+=Be();var w;o===null?w="null":se(o)?w="array":o!==void 0&&o.$$typeof===a?(w="<"+(D(o.type)||"Unknown")+" />",h=" Did you accidentally export a JSX literal instead of a component?"):w=typeof o,T("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,h)}var C=oo(o,s,d,m,x);if(C==null)return C;if(y){var E=s.children;if(E!==void 0)if(p)if(se(E)){for(var $=0;$<E.length;$++)Ue(E[$],o);Object.freeze&&Object.freeze(E)}else T("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ue(E,o)}if(J.call(s,"key")){var P=D(o),_=Object.keys(s).filter(function(vo){return vo!=="key"}),de=_.length>0?"{key: someKey, "+_.join(": ..., ")+": ...}":"{key: someKey}";if(!$e[P+de]){var fo=_.length>0?"{"+_.join(": ..., ")+": ...}":"{}";T(`A props object containing a "key" prop is being spread into JSX:
25
+ Check the top-level render call using <`+d+">.")}return s}}function Ye(o,s){{if(!o._store||o._store.validated||o.key!=null)return;o._store.validated=!0;var d=no(s);if(Ne[d])return;Ne[d]=!0;var p="";o&&o._owner&&o._owner!==ie.current&&(p=" It was passed a child from "+D(o._owner.type)+"."),U(o),T('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,p),U(null)}}function Ue(o,s){{if(typeof o!="object")return;if(se(o))for(var d=0;d<o.length;d++){var p=o[d];ce(p)&&Ye(p,s)}else if(ce(o))o._store&&(o._store.validated=!0);else if(o){var m=Fr(o);if(typeof m=="function"&&m!==o.entries)for(var x=m.call(o),y;!(y=x.next()).done;)ce(y.value)&&Ye(y.value,s)}}}function so(o){{var s=o.type;if(s==null||typeof s=="string")return;var d;if(typeof s=="function")d=s.propTypes;else if(typeof s=="object"&&(s.$$typeof===g||s.$$typeof===j))d=s.propTypes;else return;if(d){var p=D(s);Vr(d,o.props,"prop",p,o)}else if(s.PropTypes!==void 0&&!le){le=!0;var m=D(s);T("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",m||"Unknown")}typeof s.getDefaultProps=="function"&&!s.getDefaultProps.isReactClassApproved&&T("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function io(o){{for(var s=Object.keys(o.props),d=0;d<s.length;d++){var p=s[d];if(p!=="children"&&p!=="key"){U(o),T("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",p),U(null);break}}o.ref!==null&&(U(o),T("Invalid attribute `ref` supplied to `React.Fragment`."),U(null))}}var $e={};function He(o,s,d,p,m,x){{var y=Or(o);if(!y){var h="";(o===void 0||typeof o=="object"&&o!==null&&Object.keys(o).length===0)&&(h+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var R=to();R?h+=R:h+=Be();var w;o===null?w="null":se(o)?w="array":o!==void 0&&o.$$typeof===a?(w="<"+(D(o.type)||"Unknown")+" />",h=" Did you accidentally export a JSX literal instead of a component?"):w=typeof o,T("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,h)}var C=ao(o,s,d,m,x);if(C==null)return C;if(y){var E=s.children;if(E!==void 0)if(p)if(se(E)){for(var $=0;$<E.length;$++)Ue(E[$],o);Object.freeze&&Object.freeze(E)}else T("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ue(E,o)}if(J.call(s,"key")){var W=D(o),_=Object.keys(s).filter(function(go){return go!=="key"}),de=_.length>0?"{key: someKey, "+_.join(": ..., ")+": ...}":"{key: someKey}";if(!$e[W+de]){var vo=_.length>0?"{"+_.join(": ..., ")+": ...}":"{}";T(`A props object containing a "key" prop is being spread into JSX:
26
26
  let props = %s;
27
27
  <%s {...props} />
28
28
  React keys must be passed directly to JSX without using spread:
29
29
  let props = %s;
30
- <%s key={someKey} {...props} />`,de,P,fo,P),$e[P+de]=!0}}return o===n?so(C):no(C),C}}function io(o,s,d){return He(o,s,d,!0)}function lo(o,s,d){return He(o,s,d,!1)}var co=lo,uo=io;V.Fragment=n,V.jsx=co,V.jsxs=uo}()),V}process.env.NODE_ENV==="production"?re.exports=Ve():re.exports=Ke();var e=re.exports;const Ge=({variant:r="primary",size:a="md",loading:t=!1,icon:n,children:l,disabled:i,...c})=>{const f={sm:{padding:"var(--space-xs) var(--space-sm)",fontSize:"0.85rem"},md:{padding:"var(--space-sm) var(--space-md)",fontSize:"1rem"},lg:{padding:"var(--space-md) var(--space-lg)",fontSize:"1.1rem"}},v={primary:{backgroundColor:"var(--primary-color)",color:"var(--surface-light)",border:"2px solid var(--primary-color)",boxShadow:"2px 2px 0 var(--secondary-color)"},secondary:{backgroundColor:"var(--secondary-color)",color:"var(--surface-light)",border:"2px solid var(--secondary-color)",boxShadow:"2px 2px 0 var(--primary-color)"},outline:{backgroundColor:"transparent",color:"var(--primary-color)",border:"2px solid var(--primary-color)",boxShadow:"none"},ghost:{backgroundColor:"transparent",color:"var(--text-color)",border:"2px solid transparent",boxShadow:"none"},danger:{backgroundColor:"var(--danger-color)",color:"var(--surface-light)",border:"2px solid var(--danger-color)",boxShadow:"2px 2px 0 rgba(0,0,0,0.2)"}},b={...f[a],...v[r],borderRadius:"var(--radius-md)",fontFamily:"var(--font-sans)",fontWeight:600,cursor:i||t?"not-allowed":"pointer",opacity:i?.5:1,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"var(--space-sm)",transition:"transform var(--transition-fast), box-shadow var(--transition-fast)",outline:"none"};return e.jsxs("button",{...c,disabled:i||t,style:{...b,...c.style},onMouseDown:u=>{var j;!i&&!t&&(u.currentTarget.style.transform="translate(2px, 2px)",u.currentTarget.style.boxShadow="none"),(j=c.onMouseDown)==null||j.call(c,u)},onMouseUp:u=>{var j;u.currentTarget.style.transform="translate(0, 0)",u.currentTarget.style.boxShadow=v[r].boxShadow||"none",(j=c.onMouseUp)==null||j.call(c,u)},onMouseLeave:u=>{var j;u.currentTarget.style.transform="translate(0, 0)",u.currentTarget.style.boxShadow=v[r].boxShadow||"none",(j=c.onMouseLeave)==null||j.call(c,u)},children:[t?e.jsx(Xe,{size:16}):n,l]})},Xe=({size:r})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",style:{animation:"spin 0.8s linear infinite"},children:[e.jsx("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeDasharray:"31.4 31.4",strokeLinecap:"round"}),e.jsx("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),Je=({title:r,subtitle:a,children:t,hoverable:n=!1,padding:l="lg",className:i,style:c,onClick:f})=>{const v={none:"0",sm:"var(--space-sm)",md:"var(--space-md)",lg:"var(--space-lg)"};return e.jsxs("div",{className:i,onClick:f,style:{backgroundColor:"var(--bg-color)",borderRadius:"var(--radius-md)",padding:v[l],border:"2px solid var(--border-color)",display:"flex",flexDirection:"column",gap:"var(--space-md)",transition:"transform var(--transition-fast), box-shadow var(--transition-fast)",cursor:f?"pointer":"default",...c},onMouseEnter:b=>{n&&(b.currentTarget.style.transform="translateY(-4px)",b.currentTarget.style.boxShadow="var(--shadow-lg)")},onMouseLeave:b=>{n&&(b.currentTarget.style.transform="translateY(0)",b.currentTarget.style.boxShadow="none")},children:[(r||a)&&e.jsxs("div",{style:{borderBottom:"1px solid var(--border-color)",paddingBottom:"var(--space-sm)"},children:[r&&e.jsx("h3",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.25rem",fontWeight:700,color:"var(--heading-color)"},children:r}),a&&e.jsx("p",{style:{margin:"var(--space-xs) 0 0",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",opacity:.7},children:a})]}),e.jsx("div",{style:{fontFamily:"var(--font-sans)",lineHeight:1.6},children:t})]})},Ze=({children:r,variant:a="default",size:t="md"})=>{const n={sm:{padding:"2px var(--space-xs)",fontSize:"0.7rem"},md:{padding:"var(--space-xs) var(--space-sm)",fontSize:"0.8rem"}},l={default:{backgroundColor:"var(--secondary-color)",color:"var(--surface-light)"},primary:{backgroundColor:"var(--primary-color)",color:"var(--surface-light)"},secondary:{backgroundColor:"var(--accent-color)",color:"var(--primary-color)"},success:{backgroundColor:"var(--success-color)",color:"var(--surface-light)"},warning:{backgroundColor:"var(--warning-color)",color:"var(--surface-dark)"},danger:{backgroundColor:"var(--danger-color)",color:"var(--surface-light)"},outline:{backgroundColor:"transparent",color:"var(--primary-color)",border:"1px solid var(--primary-color)"}};return e.jsx("span",{style:{...n[t],...l[a],borderRadius:"var(--radius-full)",fontFamily:"var(--font-sans)",fontWeight:600,display:"inline-flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap",lineHeight:1,textTransform:"uppercase",letterSpacing:"0.03em"},children:r})},Qe=({label:r,error:a,hint:t,icon:n,...l})=>{const i=!!a;return e.jsxs("div",{style:{marginBottom:"var(--space-md)",width:"100%"},children:[r&&e.jsx("label",{style:{display:"block",marginBottom:"var(--space-xs)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",fontWeight:600,color:"var(--text-color)"},children:r}),e.jsxs("div",{style:{position:"relative"},children:[n&&e.jsx("span",{style:{position:"absolute",left:"var(--space-sm)",top:"50%",transform:"translateY(-50%)",color:"var(--text-color)",opacity:.5},children:n}),e.jsx("input",{...l,style:{width:"100%",padding:n?"var(--space-sm) var(--space-sm) var(--space-sm) var(--space-xl)":"var(--space-sm) var(--space-md)",borderRadius:"var(--radius-md)",border:`2px solid ${i?"var(--danger-color)":"var(--border-color)"}`,fontFamily:"var(--font-sans)",fontSize:"1rem",backgroundColor:"var(--bg-color)",color:"var(--text-color)",boxSizing:"border-box",transition:"border-color var(--transition-fast), box-shadow var(--transition-fast)",outline:"none",...l.style},onFocus:c=>{var f;c.currentTarget.style.borderColor=i?"var(--danger-color)":"var(--primary-color)",c.currentTarget.style.boxShadow=`0 0 0 3px ${i?"rgba(229, 62, 62, 0.2)":"rgba(26, 54, 93, 0.2)"}`,(f=l.onFocus)==null||f.call(l,c)},onBlur:c=>{var f;c.currentTarget.style.borderColor=i?"var(--danger-color)":"var(--border-color)",c.currentTarget.style.boxShadow="none",(f=l.onBlur)==null||f.call(l,c)}})]}),(a||t)&&e.jsx("p",{style:{margin:"var(--space-xs) 0 0",fontFamily:"var(--font-sans)",fontSize:"0.8rem",color:a?"var(--danger-color)":"var(--text-color)",opacity:a?1:.6},children:a||t})]})};function qe({columns:r,data:a,keyExtractor:t,onRowClick:n,emptyMessage:l="No data available",striped:i=!0}){return e.jsx("div",{style:{overflowX:"auto",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:e.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontFamily:"var(--font-sans)"},children:[e.jsx("thead",{children:e.jsx("tr",{style:{backgroundColor:"var(--secondary-color)"},children:r.map(c=>e.jsx("th",{style:{padding:"var(--space-md)",textAlign:c.align||"left",fontWeight:600,fontSize:"0.9rem",color:"var(--surface-light)",width:c.width,whiteSpace:"nowrap"},children:c.header},String(c.key)))})}),e.jsx("tbody",{children:a.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:r.length,style:{padding:"var(--space-xl)",textAlign:"center",color:"var(--text-color)",opacity:.6},children:l})}):a.map((c,f)=>e.jsx("tr",{onClick:()=>n==null?void 0:n(c),style:{backgroundColor:i&&f%2===1?"var(--secondary-color)":"transparent",cursor:n?"pointer":"default",transition:"background-color var(--transition-fast)"},onMouseEnter:v=>{n&&(v.currentTarget.style.backgroundColor="var(--accent-color)")},onMouseLeave:v=>{v.currentTarget.style.backgroundColor=i&&f%2===1?"var(--secondary-color)":"transparent"},children:r.map(v=>e.jsx("td",{style:{padding:"var(--space-md)",textAlign:v.align||"left",color:"var(--text-color)",borderBottom:"1px solid var(--border-color)"},children:v.render?v.render(c):String(c[v.key]??"")},String(v.key)))},t(c)))})]})})}const er=({open:r,onClose:a,title:t,children:n,size:l="md",showCloseButton:i=!0})=>{if(k.useEffect(()=>{const f=v=>{v.key==="Escape"&&a()};return r&&(document.addEventListener("keydown",f),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",f),document.body.style.overflow=""}},[r,a]),!r)return null;const c={sm:"400px",md:"560px",lg:"800px"};return e.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":t?"modal-title":void 0,style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,padding:"var(--space-md)",animation:"fadeIn 0.2s ease"},onClick:a,children:[e.jsxs("div",{style:{backgroundColor:"var(--bg-color)",borderRadius:"var(--radius-lg)",border:"2px solid var(--border-color)",boxShadow:"var(--shadow-lg)",width:"100%",maxWidth:c[l],maxHeight:"90vh",overflow:"hidden",display:"flex",flexDirection:"column",animation:"slideUp 0.2s ease"},onClick:f=>f.stopPropagation(),children:[(t||i)&&e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--space-md) var(--space-lg)",borderBottom:"1px solid var(--border-color)"},children:[t&&e.jsx("h2",{id:"modal-title",style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.25rem",fontWeight:700,color:"var(--text-color)"},children:t}),i&&e.jsx("button",{onClick:a,"aria-label":"Close modal",style:{background:"none",border:"none",cursor:"pointer",padding:"var(--space-xs)",borderRadius:"var(--radius-sm)",color:"var(--text-color)",opacity:.7,transition:"opacity var(--transition-fast)"},onMouseEnter:f=>f.currentTarget.style.opacity="1",onMouseLeave:f=>f.currentTarget.style.opacity="0.7",children:e.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),e.jsx("div",{style:{padding:"var(--space-lg)",overflowY:"auto",flex:1},children:n})]}),e.jsx("style",{children:`
30
+ <%s key={someKey} {...props} />`,de,W,vo,W),$e[W+de]=!0}}return o===n?io(C):so(C),C}}function lo(o,s,d){return He(o,s,d,!0)}function co(o,s,d){return He(o,s,d,!1)}var uo=co,fo=lo;V.Fragment=n,V.jsx=uo,V.jsxs=fo}()),V}process.env.NODE_ENV==="production"?re.exports=Ve():re.exports=Ke();var e=re.exports;const Ge=({variant:r="primary",size:a="md",loading:t=!1,icon:n,children:l,disabled:i,...c})=>{const f={sm:{padding:"var(--space-xs) var(--space-sm)",fontSize:"0.85rem"},md:{padding:"var(--space-sm) var(--space-md)",fontSize:"1rem"},lg:{padding:"var(--space-md) var(--space-lg)",fontSize:"1.1rem"}},g={primary:{backgroundColor:"var(--primary-color)",color:"var(--surface-light)",border:"2px solid var(--primary-color)",boxShadow:"2px 2px 0 var(--secondary-color)"},secondary:{backgroundColor:"var(--secondary-color)",color:"var(--surface-light)",border:"2px solid var(--secondary-color)",boxShadow:"2px 2px 0 var(--primary-color)"},outline:{backgroundColor:"transparent",color:"var(--primary-color)",border:"2px solid var(--primary-color)",boxShadow:"none"},ghost:{backgroundColor:"transparent",color:"var(--text-color)",border:"2px solid transparent",boxShadow:"none"},danger:{backgroundColor:"var(--danger-color)",color:"var(--surface-light)",border:"2px solid var(--danger-color)",boxShadow:"2px 2px 0 rgba(0,0,0,0.2)"}},b={...f[a],...g[r],borderRadius:"var(--radius-md)",fontFamily:"var(--font-sans)",fontWeight:600,cursor:i||t?"not-allowed":"pointer",opacity:i?.5:1,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"var(--space-sm)",transition:"transform var(--transition-fast), box-shadow var(--transition-fast)",outline:"none"};return e.jsxs("button",{...c,disabled:i||t,style:{...b,...c.style},onMouseDown:u=>{var j;!i&&!t&&(u.currentTarget.style.transform="translate(2px, 2px)",u.currentTarget.style.boxShadow="none"),(j=c.onMouseDown)==null||j.call(c,u)},onMouseUp:u=>{var j;u.currentTarget.style.transform="translate(0, 0)",u.currentTarget.style.boxShadow=g[r].boxShadow||"none",(j=c.onMouseUp)==null||j.call(c,u)},onMouseLeave:u=>{var j;u.currentTarget.style.transform="translate(0, 0)",u.currentTarget.style.boxShadow=g[r].boxShadow||"none",(j=c.onMouseLeave)==null||j.call(c,u)},children:[t?e.jsx(Xe,{size:16}):n,l]})},Xe=({size:r})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",style:{animation:"spin 0.8s linear infinite"},children:[e.jsx("circle",{cx:"12",cy:"12",r:"10",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeDasharray:"31.4 31.4",strokeLinecap:"round"}),e.jsx("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]}),Je=({title:r,subtitle:a,children:t,hoverable:n=!1,padding:l="lg",className:i,style:c,onClick:f})=>{const g={none:"0",sm:"var(--space-sm)",md:"var(--space-md)",lg:"var(--space-lg)"};return e.jsxs("div",{className:i,onClick:f,style:{backgroundColor:"var(--bg-color)",borderRadius:"var(--radius-md)",padding:g[l],border:"2px solid var(--border-color)",display:"flex",flexDirection:"column",gap:"var(--space-md)",transition:"transform var(--transition-fast), box-shadow var(--transition-fast)",cursor:f?"pointer":"default",...c},onMouseEnter:b=>{n&&(b.currentTarget.style.transform="translateY(-4px)",b.currentTarget.style.boxShadow="var(--shadow-lg)")},onMouseLeave:b=>{n&&(b.currentTarget.style.transform="translateY(0)",b.currentTarget.style.boxShadow="none")},children:[(r||a)&&e.jsxs("div",{style:{borderBottom:"1px solid var(--border-color)",paddingBottom:"var(--space-sm)"},children:[r&&e.jsx("h3",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.25rem",fontWeight:700,color:"var(--heading-color)"},children:r}),a&&e.jsx("p",{style:{margin:"var(--space-xs) 0 0",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",opacity:.7},children:a})]}),e.jsx("div",{style:{fontFamily:"var(--font-sans)",lineHeight:1.6},children:t})]})},Ze=({children:r,variant:a="default",size:t="md"})=>{const n={sm:{padding:"2px var(--space-xs)",fontSize:"0.7rem"},md:{padding:"var(--space-xs) var(--space-sm)",fontSize:"0.8rem"}},l={default:{backgroundColor:"var(--secondary-color)",color:"var(--surface-light)"},primary:{backgroundColor:"var(--primary-color)",color:"var(--surface-light)"},secondary:{backgroundColor:"var(--accent-color)",color:"var(--primary-color)"},success:{backgroundColor:"var(--success-color)",color:"var(--surface-light)"},warning:{backgroundColor:"var(--warning-color)",color:"var(--surface-dark)"},danger:{backgroundColor:"var(--danger-color)",color:"var(--surface-light)"},outline:{backgroundColor:"transparent",color:"var(--primary-color)",border:"1px solid var(--primary-color)"}};return e.jsx("span",{style:{...n[t],...l[a],borderRadius:"var(--radius-full)",fontFamily:"var(--font-sans)",fontWeight:600,display:"inline-flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap",lineHeight:1,textTransform:"uppercase",letterSpacing:"0.03em"},children:r})},Qe=({label:r,error:a,hint:t,icon:n,...l})=>{const i=!!a;return e.jsxs("div",{style:{marginBottom:"var(--space-md)",width:"100%"},children:[r&&e.jsx("label",{style:{display:"block",marginBottom:"var(--space-xs)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",fontWeight:600,color:"var(--text-color)"},children:r}),e.jsxs("div",{style:{position:"relative"},children:[n&&e.jsx("span",{style:{position:"absolute",left:"var(--space-sm)",top:"50%",transform:"translateY(-50%)",color:"var(--text-color)",opacity:.5},children:n}),e.jsx("input",{...l,style:{width:"100%",padding:n?"var(--space-sm) var(--space-sm) var(--space-sm) var(--space-xl)":"var(--space-sm) var(--space-md)",borderRadius:"var(--radius-md)",border:`2px solid ${i?"var(--danger-color)":"var(--border-color)"}`,fontFamily:"var(--font-sans)",fontSize:"1rem",backgroundColor:"var(--bg-color)",color:"var(--text-color)",boxSizing:"border-box",transition:"border-color var(--transition-fast), box-shadow var(--transition-fast)",outline:"none",...l.style},onFocus:c=>{var f;c.currentTarget.style.borderColor=i?"var(--danger-color)":"var(--primary-color)",c.currentTarget.style.boxShadow=`0 0 0 3px ${i?"rgba(229, 62, 62, 0.2)":"rgba(26, 54, 93, 0.2)"}`,(f=l.onFocus)==null||f.call(l,c)},onBlur:c=>{var f;c.currentTarget.style.borderColor=i?"var(--danger-color)":"var(--border-color)",c.currentTarget.style.boxShadow="none",(f=l.onBlur)==null||f.call(l,c)}})]}),(a||t)&&e.jsx("p",{style:{margin:"var(--space-xs) 0 0",fontFamily:"var(--font-sans)",fontSize:"0.8rem",color:a?"var(--danger-color)":"var(--text-color)",opacity:a?1:.6},children:a||t})]})};function qe({columns:r,data:a,keyExtractor:t,onRowClick:n,emptyMessage:l="No data available",striped:i=!0}){return e.jsx("div",{style:{overflowX:"auto",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:e.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontFamily:"var(--font-sans)"},children:[e.jsx("thead",{children:e.jsx("tr",{style:{backgroundColor:"var(--secondary-color)"},children:r.map(c=>e.jsx("th",{style:{padding:"var(--space-md)",textAlign:c.align||"left",fontWeight:600,fontSize:"0.9rem",color:"var(--surface-light)",width:c.width,whiteSpace:"nowrap"},children:c.header},String(c.key)))})}),e.jsx("tbody",{children:a.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:r.length,style:{padding:"var(--space-xl)",textAlign:"center",color:"var(--text-color)",opacity:.6},children:l})}):a.map((c,f)=>e.jsx("tr",{onClick:()=>n==null?void 0:n(c),style:{backgroundColor:i&&f%2===1?"var(--secondary-color)":"transparent",cursor:n?"pointer":"default",transition:"background-color var(--transition-fast)"},onMouseEnter:g=>{n&&(g.currentTarget.style.backgroundColor="var(--accent-color)")},onMouseLeave:g=>{g.currentTarget.style.backgroundColor=i&&f%2===1?"var(--secondary-color)":"transparent"},children:r.map(g=>e.jsx("td",{style:{padding:"var(--space-md)",textAlign:g.align||"left",color:"var(--text-color)",borderBottom:"1px solid var(--border-color)"},children:g.render?g.render(c):String(c[g.key]??"")},String(g.key)))},t(c)))})]})})}const er=({open:r,onClose:a,title:t,children:n,size:l="md",showCloseButton:i=!0})=>{if(k.useEffect(()=>{const f=g=>{g.key==="Escape"&&a()};return r&&(document.addEventListener("keydown",f),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",f),document.body.style.overflow=""}},[r,a]),!r)return null;const c={sm:"400px",md:"560px",lg:"800px"};return e.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":t?"modal-title":void 0,style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,padding:"var(--space-md)",animation:"fadeIn 0.2s ease"},onClick:a,children:[e.jsxs("div",{style:{backgroundColor:"var(--bg-color)",borderRadius:"var(--radius-lg)",border:"2px solid var(--border-color)",boxShadow:"var(--shadow-lg)",width:"100%",maxWidth:c[l],maxHeight:"90vh",overflow:"hidden",display:"flex",flexDirection:"column",animation:"slideUp 0.2s ease"},onClick:f=>f.stopPropagation(),children:[(t||i)&&e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--space-md) var(--space-lg)",borderBottom:"1px solid var(--border-color)"},children:[t&&e.jsx("h2",{id:"modal-title",style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.25rem",fontWeight:700,color:"var(--text-color)"},children:t}),i&&e.jsx("button",{onClick:a,"aria-label":"Close modal",style:{background:"none",border:"none",cursor:"pointer",padding:"var(--space-xs)",borderRadius:"var(--radius-sm)",color:"var(--text-color)",opacity:.7,transition:"opacity var(--transition-fast)"},onMouseEnter:f=>f.currentTarget.style.opacity="1",onMouseLeave:f=>f.currentTarget.style.opacity="0.7",children:e.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),e.jsx("div",{style:{padding:"var(--space-lg)",overflowY:"auto",flex:1},children:n})]}),e.jsx("style",{children:`
31
31
  @keyframes fadeIn {
32
32
  from { opacity: 0; }
33
33
  to { opacity: 1; }
@@ -36,7 +36,7 @@ React keys must be passed directly to JSX without using spread:
36
36
  from { opacity: 0; transform: translateY(20px); }
37
37
  to { opacity: 1; transform: translateY(0); }
38
38
  }
39
- `})]})},rr=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("circle",{cx:"12",cy:"12",r:"5"}),e.jsx("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),e.jsx("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),e.jsx("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),e.jsx("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),e.jsx("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),e.jsx("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),e.jsx("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),e.jsx("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]}),or=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsx("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:e.jsx("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),ar=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),e.jsx("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]}),tr=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),nr=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),sr=({label:r,value:a,icon:t,className:n,style:l})=>e.jsxs("div",{className:n,style:{padding:"var(--space-lg)",borderRadius:"var(--radius-md)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",display:"flex",flexDirection:"row",alignItems:"center",gap:"var(--space-md)",transition:"all 0.3s ease",...l},children:[t&&e.jsx("span",{style:{fontSize:"2rem"},children:t}),e.jsxs("div",{children:[e.jsx("div",{style:{fontWeight:"bold",color:"var(--text-color)",fontSize:"1.25rem"},children:a}),e.jsx("div",{style:{color:"var(--text-color)",opacity:.8,fontFamily:"var(--font-sans)"},children:r})]})]}),ir=({children:r,variant:a="info",title:t,dismissible:n=!1,onDismiss:l})=>{const c={info:{backgroundColor:"rgba(49, 130, 206, 0.1)",borderColor:"var(--info-color)",iconColor:"var(--info-color)",icon:"ℹ️"},success:{backgroundColor:"rgba(56, 161, 105, 0.1)",borderColor:"var(--success-color)",iconColor:"var(--success-color)",icon:"✓"},warning:{backgroundColor:"rgba(214, 158, 46, 0.1)",borderColor:"var(--warning-color)",iconColor:"var(--warning-color)",icon:"⚠"},danger:{backgroundColor:"rgba(229, 62, 62, 0.1)",borderColor:"var(--danger-color)",iconColor:"var(--danger-color)",icon:"✕"}}[a];return e.jsxs("div",{role:"alert",style:{backgroundColor:c.backgroundColor,borderLeft:`4px solid ${c.borderColor}`,borderRadius:"var(--radius-md)",padding:"var(--space-md) var(--space-lg)",display:"flex",alignItems:"flex-start",gap:"var(--space-md)",margin:"var(--space-md) 0"},children:[e.jsx("span",{style:{fontSize:"1.2rem",lineHeight:1,flexShrink:0},children:c.icon}),e.jsxs("div",{style:{flex:1},children:[t&&e.jsx("h4",{style:{margin:"0 0 var(--space-xs)",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"1rem",color:"var(--text-color)"},children:t}),e.jsx("div",{style:{fontFamily:"var(--font-sans)",fontSize:"0.95rem",color:"var(--text-color)",lineHeight:1.5},children:r})]}),n&&e.jsx("button",{onClick:l,"aria-label":"Dismiss",style:{background:"none",border:"none",cursor:"pointer",padding:"var(--space-xs)",color:"var(--text-color)",opacity:.5,transition:"opacity var(--transition-fast)",flexShrink:0},onMouseEnter:f=>f.currentTarget.style.opacity="1",onMouseLeave:f=>f.currentTarget.style.opacity="0.5",children:"✕"})]})},lr=({tabs:r,activeTab:a,onTabChange:t,variant:n="underline"})=>{const l=n==="underline";return e.jsxs("div",{style:{width:"100%"},children:[e.jsx("div",{role:"tablist",style:{display:"flex",gap:l?"var(--space-md)":"var(--space-xs)",borderBottom:l?"2px solid var(--border-color)":"none",padding:l?"0":"var(--space-xs)",backgroundColor:l?"transparent":"var(--secondary-color)",borderRadius:l?"0":"var(--radius-md)"},children:r.map(i=>{const c=i.id===a;return e.jsx("button",{role:"tab","aria-selected":c,"aria-controls":`panel-${i.id}`,disabled:i.disabled,onClick:()=>!i.disabled&&t(i.id),style:{background:l?"none":c?"var(--primary-color)":"transparent",border:"none",borderBottom:l&&c?"3px solid var(--primary-color)":"none",marginBottom:l?"-2px":"0",padding:"var(--space-sm) var(--space-md)",borderRadius:l?"0":"var(--radius-sm)",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"0.95rem",color:c?l?"var(--primary-color)":"var(--surface-light)":"var(--text-color)",opacity:i.disabled?.5:1,cursor:i.disabled?"not-allowed":"pointer",transition:"all var(--transition-fast)"},onMouseEnter:f=>{!i.disabled&&!c&&(f.currentTarget.style.backgroundColor=l?"rgba(0,0,0,0.05)":"var(--accent-color)")},onMouseLeave:f=>{!i.disabled&&!c&&(f.currentTarget.style.backgroundColor="transparent")},children:i.label},i.id)})}),e.jsx("div",{style:{marginTop:"var(--space-lg)"},children:r.map(i=>e.jsx("div",{id:`panel-${i.id}`,role:"tabpanel",hidden:i.id!==a,style:{display:i.id===a?"block":"none"},children:i.content},i.id))})]})},cr=({content:r,children:a,position:t="top",delay:n=200})=>{const[l,i]=k.useState(!1),c=k.useRef(null),f=k.useRef(),v=()=>{f.current=window.setTimeout(()=>{i(!0)},n)},b=()=>{f.current&&clearTimeout(f.current),i(!1)};k.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);const u={top:{bottom:"100%",left:"50%",transform:"translateX(-50%) translateY(-8px)"},bottom:{top:"100%",left:"50%",transform:"translateX(-50%) translateY(8px)"},left:{right:"100%",top:"50%",transform:"translateY(-50%) translateX(-8px)"},right:{left:"100%",top:"50%",transform:"translateY(-50%) translateX(8px)"}};return e.jsxs("span",{ref:c,style:{position:"relative",display:"inline-block"},onMouseEnter:v,onMouseLeave:b,onFocus:v,onBlur:b,children:[a,l&&e.jsxs("span",{role:"tooltip",style:{position:"absolute",...u[t],backgroundColor:"var(--secondary-color)",color:"var(--surface-light)",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",fontFamily:"var(--font-sans)",fontSize:"0.85rem",whiteSpace:"nowrap",zIndex:1e3,boxShadow:"var(--shadow-md)",pointerEvents:"none",animation:"tooltipFadeIn 0.15s ease"},children:[r,e.jsx("style",{children:`
39
+ `})]})},rr=({value:r,label:a})=>e.jsxs("div",{style:{width:"100%",margin:"var(--space-sm) 0"},children:[a&&e.jsx("div",{style:{fontFamily:"var(--font-sans)",marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:a}),e.jsx("div",{style:{width:"100%",background:"var(--border-color)",borderRadius:"var(--radius-md)",overflow:"hidden"},children:e.jsx("div",{style:{width:`${Math.max(0,Math.min(r,100))}%`,background:"var(--primary-color)",height:"10px",transition:"width 0.3s cubic-bezier(0.4, 0, 0.2, 1)"}})})]}),or=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("circle",{cx:"12",cy:"12",r:"5"}),e.jsx("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),e.jsx("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),e.jsx("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),e.jsx("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),e.jsx("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),e.jsx("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),e.jsx("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),e.jsx("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]}),ar=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsx("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:e.jsx("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),tr=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),e.jsx("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]}),nr=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),sr=({size:r=20,color:a="currentColor",className:t,style:n})=>e.jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,style:n,children:[e.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),ir=({label:r,value:a,icon:t,className:n,style:l})=>e.jsxs("div",{className:n,style:{padding:"var(--space-lg)",borderRadius:"var(--radius-md)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",display:"flex",flexDirection:"row",alignItems:"center",gap:"var(--space-md)",transition:"all 0.3s ease",...l},children:[t&&e.jsx("span",{style:{fontSize:"2rem"},children:t}),e.jsxs("div",{children:[e.jsx("div",{style:{fontWeight:"bold",color:"var(--text-color)",fontSize:"1.25rem"},children:a}),e.jsx("div",{style:{color:"var(--text-color)",opacity:.8,fontFamily:"var(--font-sans)"},children:r})]})]}),lr=({children:r,variant:a="info",title:t,dismissible:n=!1,onDismiss:l})=>{const c={info:{backgroundColor:"rgba(49, 130, 206, 0.1)",borderColor:"var(--info-color)",iconColor:"var(--info-color)",icon:"ℹ️"},success:{backgroundColor:"rgba(56, 161, 105, 0.1)",borderColor:"var(--success-color)",iconColor:"var(--success-color)",icon:"✓"},warning:{backgroundColor:"rgba(214, 158, 46, 0.1)",borderColor:"var(--warning-color)",iconColor:"var(--warning-color)",icon:"⚠"},danger:{backgroundColor:"rgba(229, 62, 62, 0.1)",borderColor:"var(--danger-color)",iconColor:"var(--danger-color)",icon:"✕"}}[a];return e.jsxs("div",{role:"alert",style:{backgroundColor:c.backgroundColor,borderLeft:`4px solid ${c.borderColor}`,borderRadius:"var(--radius-md)",padding:"var(--space-md) var(--space-lg)",display:"flex",alignItems:"flex-start",gap:"var(--space-md)",margin:"var(--space-md) 0"},children:[e.jsx("span",{style:{fontSize:"1.2rem",lineHeight:1,flexShrink:0},children:c.icon}),e.jsxs("div",{style:{flex:1},children:[t&&e.jsx("h4",{style:{margin:"0 0 var(--space-xs)",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"1rem",color:"var(--text-color)"},children:t}),e.jsx("div",{style:{fontFamily:"var(--font-sans)",fontSize:"0.95rem",color:"var(--text-color)",lineHeight:1.5},children:r})]}),n&&e.jsx("button",{onClick:l,"aria-label":"Dismiss",style:{background:"none",border:"none",cursor:"pointer",padding:"var(--space-xs)",color:"var(--text-color)",opacity:.5,transition:"opacity var(--transition-fast)",flexShrink:0},onMouseEnter:f=>f.currentTarget.style.opacity="1",onMouseLeave:f=>f.currentTarget.style.opacity="0.5",children:"✕"})]})},cr=({tabs:r,activeTab:a,onTabChange:t,variant:n="underline"})=>{const l=n==="underline";return e.jsxs("div",{style:{width:"100%"},children:[e.jsx("div",{role:"tablist",style:{display:"flex",gap:l?"var(--space-md)":"var(--space-xs)",borderBottom:l?"2px solid var(--border-color)":"none",padding:l?"0":"var(--space-xs)",backgroundColor:l?"transparent":"var(--secondary-color)",borderRadius:l?"0":"var(--radius-md)"},children:r.map(i=>{const c=i.id===a;return e.jsx("button",{role:"tab","aria-selected":c,"aria-controls":`panel-${i.id}`,disabled:i.disabled,onClick:()=>!i.disabled&&t(i.id),style:{background:l?"none":c?"var(--primary-color)":"transparent",border:"none",borderBottom:l&&c?"3px solid var(--primary-color)":"none",marginBottom:l?"-2px":"0",padding:"var(--space-sm) var(--space-md)",borderRadius:l?"0":"var(--radius-sm)",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"0.95rem",color:c?l?"var(--primary-color)":"var(--surface-light)":"var(--text-color)",opacity:i.disabled?.5:1,cursor:i.disabled?"not-allowed":"pointer",transition:"all var(--transition-fast)"},onMouseEnter:f=>{!i.disabled&&!c&&(f.currentTarget.style.backgroundColor=l?"rgba(0,0,0,0.05)":"var(--accent-color)")},onMouseLeave:f=>{!i.disabled&&!c&&(f.currentTarget.style.backgroundColor="transparent")},children:i.label},i.id)})}),e.jsx("div",{style:{marginTop:"var(--space-lg)"},children:r.map(i=>e.jsx("div",{id:`panel-${i.id}`,role:"tabpanel",hidden:i.id!==a,style:{display:i.id===a?"block":"none"},children:i.content},i.id))})]})},dr=({content:r,children:a,position:t="top",delay:n=200})=>{const[l,i]=k.useState(!1),c=k.useRef(null),f=k.useRef(),g=()=>{f.current=window.setTimeout(()=>{i(!0)},n)},b=()=>{f.current&&clearTimeout(f.current),i(!1)};k.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);const u={top:{bottom:"100%",left:"50%",transform:"translateX(-50%) translateY(-8px)"},bottom:{top:"100%",left:"50%",transform:"translateX(-50%) translateY(8px)"},left:{right:"100%",top:"50%",transform:"translateY(-50%) translateX(-8px)"},right:{left:"100%",top:"50%",transform:"translateY(-50%) translateX(8px)"}};return e.jsxs("span",{ref:c,style:{position:"relative",display:"inline-block"},onMouseEnter:g,onMouseLeave:b,onFocus:g,onBlur:b,children:[a,l&&e.jsxs("span",{role:"tooltip",style:{position:"absolute",...u[t],backgroundColor:"var(--secondary-color)",color:"var(--surface-light)",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",fontFamily:"var(--font-sans)",fontSize:"0.85rem",whiteSpace:"nowrap",zIndex:1e3,boxShadow:"var(--shadow-md)",pointerEvents:"none",animation:"tooltipFadeIn 0.15s ease"},children:[r,e.jsx("style",{children:`
40
40
  @keyframes tooltipFadeIn {
41
41
  from { opacity: 0; }
42
42
  to { opacity: 1; }
@@ -46,7 +46,7 @@ React keys must be passed directly to JSX without using spread:
46
46
  from { transform: rotate(0deg); }
47
47
  to { transform: rotate(360deg); }
48
48
  }
49
- `})]})},dr=({message:r="Loading..."})=>e.jsxs("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"var(--space-md)",zIndex:1e3},children:[e.jsx(ve,{size:"lg",color:"var(--surface-light)"}),e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"1rem",color:"var(--surface-light)"},children:r})]}),oe=({width:r="100%",height:a=20,variant:t="text",animation:n="wave"})=>{const l={text:{borderRadius:"var(--radius-sm)"},rect:{borderRadius:"var(--radius-md)"},circle:{borderRadius:"50%"}},i={pulse:{animation:"skeletonPulse 1.5s ease-in-out infinite"},wave:{backgroundImage:"linear-gradient(90deg, var(--secondary-color) 0%, var(--bg-color) 50%, var(--secondary-color) 100%)",backgroundSize:"200% 100%",animation:"skeletonWave 1.5s ease-in-out infinite"},none:{}};return e.jsx("div",{style:{width:r,height:a,backgroundColor:n==="wave"?void 0:"var(--secondary-color)",...l[t],...i[n]},children:e.jsx("style",{children:`
49
+ `})]})},ur=({message:r="Loading..."})=>e.jsxs("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"var(--space-md)",zIndex:1e3},children:[e.jsx(ve,{size:"lg",color:"var(--surface-light)"}),e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"1rem",color:"var(--surface-light)"},children:r})]}),oe=({width:r="100%",height:a=20,variant:t="text",animation:n="wave"})=>{const l={text:{borderRadius:"var(--radius-sm)"},rect:{borderRadius:"var(--radius-md)"},circle:{borderRadius:"50%"}},i={pulse:{animation:"skeletonPulse 1.5s ease-in-out infinite"},wave:{backgroundImage:"linear-gradient(90deg, var(--secondary-color) 0%, var(--bg-color) 50%, var(--secondary-color) 100%)",backgroundSize:"200% 100%",animation:"skeletonWave 1.5s ease-in-out infinite"},none:{}};return e.jsx("div",{style:{width:r,height:a,backgroundColor:n==="wave"?void 0:"var(--secondary-color)",...l[t],...i[n]},children:e.jsx("style",{children:`
50
50
  @keyframes skeletonPulse {
51
51
  0%, 100% { opacity: 1; }
52
52
  50% { opacity: 0.5; }
@@ -55,7 +55,7 @@ React keys must be passed directly to JSX without using spread:
55
55
  0% { background-position: 200% 0; }
56
56
  100% { background-position: -200% 0; }
57
57
  }
58
- `})})},ge=({lines:r=3})=>e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-sm)"},children:Array.from({length:r}).map((a,t)=>e.jsx(oe,{width:t===r-1?"60%":"100%",height:16},t))}),ur=()=>e.jsxs("div",{style:{padding:"var(--space-lg)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)",display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:[e.jsx(oe,{height:24,width:"50%"}),e.jsx(ge,{lines:3})]}),pe=({brand:r,darkMode:a,onThemeToggle:t})=>{const[n,l]=k.useState(!1),[i,c]=k.useState(!1),[f,v]=k.useState(null);k.useEffect(()=>{const u=()=>l(window.innerWidth<768);return u(),window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)},[]);const b=r.navItems.filter(u=>u.inNavbar!==!1);return e.jsxs("header",{style:{backgroundColor:"var(--primary-color)",borderBottom:"4px solid var(--accent-color)",position:"sticky",top:0,zIndex:100},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"var(--space-sm) var(--space-lg)",gap:"var(--space-md)",maxWidth:1400,margin:"0 auto"},children:[r.logoUrl&&e.jsx("div",{style:{width:40,height:40,borderRadius:"var(--radius-md)",overflow:"hidden",backgroundColor:"var(--bg-color)",border:"2px solid var(--accent-color)",flexShrink:0},children:e.jsx("img",{src:r.logoUrl,alt:r.name,style:{width:"100%",height:"100%",objectFit:"cover"}})}),e.jsx("h1",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:n?"1.1rem":"1.4rem",fontWeight:700,color:"var(--surface-light)",whiteSpace:"nowrap",flexShrink:0},children:r.name}),!n&&e.jsx("nav",{style:{display:"flex",alignItems:"center",gap:"var(--space-sm)",flex:1,justifyContent:"center"},children:b.map(u=>e.jsx(fr,{item:u,isActive:f===u.label,onHover:j=>v(j),onLeave:()=>v(null)},u.label))}),n&&e.jsx("div",{style:{flex:1}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-xs)",flexShrink:0},children:[n&&e.jsx(he,{onClick:()=>c(!i),label:"Menu",size:36,children:e.jsx(yr,{})}),e.jsx(he,{onClick:t,label:"Toggle theme",size:36,children:a?e.jsx(pr,{}):e.jsx(gr,{})}),e.jsx("a",{href:"/account","aria-label":"Account",style:{width:40,height:40,borderRadius:"var(--radius-full)",backgroundColor:"rgba(255,255,255,0.1)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background var(--transition-fast)",color:"var(--surface-light)",textDecoration:"none"},children:e.jsx(hr,{})})]})]}),n&&i&&e.jsx("div",{style:{backgroundColor:"var(--bg-color)",borderTop:"1px solid var(--border-color)",padding:"var(--space-sm)"},children:b.map(u=>e.jsx(vr,{item:u,onClose:()=>c(!1)},u.label))})]})},he=({onClick:r,label:a,size:t=36,children:n})=>e.jsx("button",{onClick:r,"aria-label":a,style:{width:t,height:t,borderRadius:"var(--radius-full)",backgroundColor:"rgba(255,255,255,0.1)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background var(--transition-fast)",color:"var(--surface-light)"},onMouseEnter:l=>l.currentTarget.style.backgroundColor="rgba(255,255,255,0.2)",onMouseLeave:l=>l.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)",children:n}),fr=({item:r,isActive:a,onHover:t,onLeave:n})=>{const l=()=>{r.onClick?r.onClick():r.path&&(window.location.href=r.path)};return e.jsxs("div",{onMouseEnter:()=>r.children&&t(r.label),onMouseLeave:n,style:{position:"relative"},children:[r.path&&!r.onClick&&!r.children?e.jsx("a",{href:r.path,style:{background:"none",border:"none",color:"var(--surface-light)",cursor:"pointer",fontFamily:"var(--font-sans)",fontWeight:500,fontSize:"0.9rem",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",transition:"background var(--transition-fast)",textDecoration:"none",display:"inline-block"},onMouseEnter:i=>i.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)",onMouseLeave:i=>i.currentTarget.style.backgroundColor="transparent",children:r.label}):e.jsxs("button",{onClick:l,style:{background:"none",border:"none",color:"var(--surface-light)",cursor:"pointer",fontFamily:"var(--font-sans)",fontWeight:500,fontSize:"0.9rem",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",transition:"background var(--transition-fast)"},onMouseEnter:i=>i.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)",onMouseLeave:i=>i.currentTarget.style.backgroundColor="transparent",children:[r.label," ",r.children&&"▾"]}),r.children&&a&&e.jsx("div",{style:{position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)",backgroundColor:"var(--bg-color)",minWidth:160,boxShadow:"var(--shadow-lg)",borderRadius:"var(--radius-md)",padding:"var(--space-xs) 0",zIndex:200,marginTop:4},children:r.children.map(i=>i.path?e.jsx("a",{href:i.path,style:{display:"block",width:"100%",padding:"var(--space-sm) var(--space-md)",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",transition:"background var(--transition-fast)",textDecoration:"none"},onMouseEnter:c=>c.currentTarget.style.backgroundColor="var(--secondary-color)",onMouseLeave:c=>c.currentTarget.style.backgroundColor="transparent",children:i.label},i.label):e.jsx("button",{onClick:i.onClick,style:{display:"block",width:"100%",padding:"var(--space-sm) var(--space-md)",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",transition:"background var(--transition-fast)"},onMouseEnter:c=>c.currentTarget.style.backgroundColor="var(--secondary-color)",onMouseLeave:c=>c.currentTarget.style.backgroundColor="transparent",children:i.label},i.label))})]})},vr=({item:r,onClose:a})=>{const t={display:"block",width:"100%",padding:"var(--space-sm) var(--space-md)",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontFamily:"var(--font-sans)",fontWeight:500,fontSize:"0.95rem",color:"var(--text-color)",borderRadius:"var(--radius-sm)",textDecoration:"none"};return r.path&&!r.onClick?e.jsx("a",{href:r.path,style:t,onClick:a,children:r.label}):e.jsx("button",{onClick:()=>{var n;(n=r.onClick)==null||n.call(r),a()},style:t,children:r.label})},gr=()=>e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("circle",{cx:"12",cy:"12",r:"5"}),e.jsx("path",{d:"M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}),pr=()=>e.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),hr=()=>e.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),yr=()=>e.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M3 12h18M3 6h18M3 18h18"})}),ye=({copyrightBrand:r,yearCreated:a,poweredBy:t})=>{const n=new Date().getFullYear(),l=a===n?n.toString():`${a}-${n}`;return e.jsx("footer",{style:{backgroundColor:"var(--primary-color)",color:"var(--text-dark)",padding:"var(--space-lg) var(--space-xl)",borderTop:"4px solid var(--accent-color)"},children:e.jsxs("div",{style:{maxWidth:1200,margin:"0 auto",display:"flex",flexDirection:"column",gap:"var(--space-md)",alignItems:"center",textAlign:"center"},children:[e.jsxs("p",{style:{margin:0,fontFamily:"var(--font-sans)",fontSize:"0.85rem",opacity:.8},children:["© ",l," ",r,". All rights reserved."]}),t&&e.jsxs("p",{style:{margin:0,fontFamily:"var(--font-sans)",fontSize:"0.75rem",opacity:.6},children:["Powered by"," ",e.jsx("span",{style:{color:"var(--org-color)",fontWeight:600},children:t})]})]})})};function me(r){const[a,t]=k.useState(()=>{if(typeof window>"u")return!1;const l=localStorage.getItem("theme-mode");return l?l==="dark":r.theme.defaultTheme==="dark"?!0:r.theme.defaultTheme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:!1});k.useEffect(()=>{xe(r.theme)},[r.theme]),k.useEffect(()=>{document.body.classList.toggle("dark-mode",a),localStorage.setItem("theme-mode",a?"dark":"light")},[a]);const n=k.useCallback(()=>{t(l=>!l)},[]);return{darkMode:a,toggleDarkMode:n}}function xe(r){const a=document.documentElement;a.style.setProperty("--primary-color",r.primaryColor),a.style.setProperty("--secondary-color",r.secondaryColor),a.style.setProperty("--accent-color",r.accentColor),r.surfaceLight&&a.style.setProperty("--surface-light",r.surfaceLight),r.surfaceDark&&a.style.setProperty("--surface-dark",r.surfaceDark),r.textLight&&a.style.setProperty("--text-light",r.textLight),r.textDark&&a.style.setProperty("--text-dark",r.textDark)}const A=({brand:r,children:a})=>{const{darkMode:t,toggleDarkMode:n}=me(r);return e.jsxs("div",{className:"shell",style:{display:"flex",flexDirection:"column",minHeight:"100vh"},children:[e.jsx(pe,{brand:r,darkMode:t,onThemeToggle:n}),e.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:e.jsx("main",{style:{flex:1,backgroundColor:"var(--bg-color)"},children:a})}),e.jsx(ye,{copyrightBrand:r.footer.copyrightBrand,yearCreated:r.footer.yearCreated,poweredBy:r.footer.poweredBy})]})},mr=({children:r,darkMode:a=!1})=>{const t=a?{backgroundColor:"var(--bg-color)",color:"var(--text-color)"}:{backgroundColor:"var(--bg-color)",color:"var(--text-color)"};return e.jsxs("div",{style:{minHeight:"100vh",width:"100vw",padding:0,display:"flex",flexDirection:"column",alignItems:"stretch",boxSizing:"border-box",margin:0,overflowX:"hidden",transition:"all 0.3s ease",...t},children:[e.jsx("style",{children:`
58
+ `})})},ge=({lines:r=3})=>e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-sm)"},children:Array.from({length:r}).map((a,t)=>e.jsx(oe,{width:t===r-1?"60%":"100%",height:16},t))}),fr=()=>e.jsxs("div",{style:{padding:"var(--space-lg)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)",display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:[e.jsx(oe,{height:24,width:"50%"}),e.jsx(ge,{lines:3})]}),pe=({brand:r,darkMode:a,onThemeToggle:t})=>{const[n,l]=k.useState(!1),[i,c]=k.useState(!1),[f,g]=k.useState(null);k.useEffect(()=>{const u=()=>l(window.innerWidth<768);return u(),window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)},[]);const b=r.navItems.filter(u=>u.inNavbar!==!1);return e.jsxs("header",{style:{backgroundColor:"var(--primary-color)",borderBottom:"4px solid var(--accent-color)",position:"sticky",top:0,zIndex:100},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"var(--space-sm) var(--space-lg)",gap:"var(--space-md)",maxWidth:1400,margin:"0 auto"},children:[r.logoUrl&&e.jsx("div",{style:{width:40,height:40,borderRadius:"var(--radius-md)",overflow:"hidden",backgroundColor:"var(--bg-color)",border:"2px solid var(--accent-color)",flexShrink:0},children:e.jsx("img",{src:r.logoUrl,alt:r.name,style:{width:"100%",height:"100%",objectFit:"cover"}})}),e.jsx("h1",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:n?"1.1rem":"1.4rem",fontWeight:700,color:"var(--surface-light)",whiteSpace:"nowrap",flexShrink:0},children:r.name}),!n&&e.jsx("nav",{style:{display:"flex",alignItems:"center",gap:"var(--space-sm)",flex:1,justifyContent:"center"},children:b.map(u=>e.jsx(vr,{item:u,isActive:f===u.label,onHover:j=>g(j),onLeave:()=>g(null)},u.label))}),n&&e.jsx("div",{style:{flex:1}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-xs)",flexShrink:0},children:[n&&e.jsx(he,{onClick:()=>c(!i),label:"Menu",size:36,children:e.jsx(mr,{})}),e.jsx(he,{onClick:t,label:"Toggle theme",size:36,children:a?e.jsx(hr,{}):e.jsx(pr,{})}),e.jsx("a",{href:"/account","aria-label":"Account",style:{width:40,height:40,borderRadius:"var(--radius-full)",backgroundColor:"rgba(255,255,255,0.1)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background var(--transition-fast)",color:"var(--surface-light)",textDecoration:"none"},children:e.jsx(yr,{})})]})]}),n&&i&&e.jsx("div",{style:{backgroundColor:"var(--bg-color)",borderTop:"1px solid var(--border-color)",padding:"var(--space-sm)"},children:b.map(u=>e.jsx(gr,{item:u,onClose:()=>c(!1)},u.label))})]})},he=({onClick:r,label:a,size:t=36,children:n})=>e.jsx("button",{onClick:r,"aria-label":a,style:{width:t,height:t,borderRadius:"var(--radius-full)",backgroundColor:"rgba(255,255,255,0.1)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background var(--transition-fast)",color:"var(--surface-light)"},onMouseEnter:l=>l.currentTarget.style.backgroundColor="rgba(255,255,255,0.2)",onMouseLeave:l=>l.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)",children:n}),vr=({item:r,isActive:a,onHover:t,onLeave:n})=>{const l=()=>{r.onClick?r.onClick():r.path&&(window.location.href=r.path)};return e.jsxs("div",{onMouseEnter:()=>r.children&&t(r.label),onMouseLeave:n,style:{position:"relative"},children:[r.path&&!r.onClick&&!r.children?e.jsx("a",{href:r.path,style:{background:"none",border:"none",color:"var(--surface-light)",cursor:"pointer",fontFamily:"var(--font-sans)",fontWeight:500,fontSize:"0.9rem",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",transition:"background var(--transition-fast)",textDecoration:"none",display:"inline-block"},onMouseEnter:i=>i.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)",onMouseLeave:i=>i.currentTarget.style.backgroundColor="transparent",children:r.label}):e.jsxs("button",{onClick:l,style:{background:"none",border:"none",color:"var(--surface-light)",cursor:"pointer",fontFamily:"var(--font-sans)",fontWeight:500,fontSize:"0.9rem",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",transition:"background var(--transition-fast)"},onMouseEnter:i=>i.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)",onMouseLeave:i=>i.currentTarget.style.backgroundColor="transparent",children:[r.label," ",r.children&&"▾"]}),r.children&&a&&e.jsx("div",{style:{position:"absolute",top:"100%",left:"50%",transform:"translateX(-50%)",backgroundColor:"var(--bg-color)",minWidth:160,boxShadow:"var(--shadow-lg)",borderRadius:"var(--radius-md)",padding:"var(--space-xs) 0",zIndex:200,marginTop:4},children:r.children.map(i=>i.path?e.jsx("a",{href:i.path,style:{display:"block",width:"100%",padding:"var(--space-sm) var(--space-md)",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",transition:"background var(--transition-fast)",textDecoration:"none"},onMouseEnter:c=>c.currentTarget.style.backgroundColor="var(--secondary-color)",onMouseLeave:c=>c.currentTarget.style.backgroundColor="transparent",children:i.label},i.label):e.jsx("button",{onClick:i.onClick,style:{display:"block",width:"100%",padding:"var(--space-sm) var(--space-md)",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",transition:"background var(--transition-fast)"},onMouseEnter:c=>c.currentTarget.style.backgroundColor="var(--secondary-color)",onMouseLeave:c=>c.currentTarget.style.backgroundColor="transparent",children:i.label},i.label))})]})},gr=({item:r,onClose:a})=>{const t={display:"block",width:"100%",padding:"var(--space-sm) var(--space-md)",border:"none",background:"none",textAlign:"left",cursor:"pointer",fontFamily:"var(--font-sans)",fontWeight:500,fontSize:"0.95rem",color:"var(--text-color)",borderRadius:"var(--radius-sm)",textDecoration:"none"};return r.path&&!r.onClick?e.jsx("a",{href:r.path,style:t,onClick:a,children:r.label}):e.jsx("button",{onClick:()=>{var n;(n=r.onClick)==null||n.call(r),a()},style:t,children:r.label})},pr=()=>e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("circle",{cx:"12",cy:"12",r:"5"}),e.jsx("path",{d:"M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}),hr=()=>e.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),yr=()=>e.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),e.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),mr=()=>e.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{d:"M3 12h18M3 6h18M3 18h18"})}),ye=({copyrightBrand:r,yearCreated:a,poweredBy:t})=>{const n=new Date().getFullYear(),l=a===n?n.toString():`${a}-${n}`;return e.jsx("footer",{style:{backgroundColor:"var(--primary-color)",color:"var(--text-dark)",padding:"var(--space-lg) var(--space-xl)",borderTop:"4px solid var(--accent-color)"},children:e.jsxs("div",{style:{maxWidth:1200,margin:"0 auto",display:"flex",flexDirection:"column",gap:"var(--space-md)",alignItems:"center",textAlign:"center"},children:[e.jsxs("p",{style:{margin:0,fontFamily:"var(--font-sans)",fontSize:"0.85rem",opacity:.8},children:["© ",l," ",r,". All rights reserved."]}),t&&e.jsxs("p",{style:{margin:0,fontFamily:"var(--font-sans)",fontSize:"0.75rem",opacity:.6},children:["Powered by"," ",e.jsx("span",{style:{color:"var(--org-color)",fontWeight:600},children:t})]})]})})};function me(r){const[a,t]=k.useState(()=>{if(typeof window>"u")return!1;const l=localStorage.getItem("theme-mode");return l?l==="dark":r.theme.defaultTheme==="dark"?!0:r.theme.defaultTheme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:!1});k.useEffect(()=>{xe(r.theme)},[r.theme]),k.useEffect(()=>{document.body.classList.toggle("dark-mode",a),localStorage.setItem("theme-mode",a?"dark":"light")},[a]);const n=k.useCallback(()=>{t(l=>!l)},[]);return{darkMode:a,toggleDarkMode:n}}function xe(r){const a=document.documentElement;a.style.setProperty("--primary-color",r.primaryColor),a.style.setProperty("--secondary-color",r.secondaryColor),a.style.setProperty("--accent-color",r.accentColor),r.surfaceLight&&a.style.setProperty("--surface-light",r.surfaceLight),r.surfaceDark&&a.style.setProperty("--surface-dark",r.surfaceDark),r.textLight&&a.style.setProperty("--text-light",r.textLight),r.textDark&&a.style.setProperty("--text-dark",r.textDark)}const A=({brand:r,children:a})=>{const{darkMode:t,toggleDarkMode:n}=me(r);return e.jsxs("div",{className:"shell",style:{display:"flex",flexDirection:"column",minHeight:"100vh"},children:[e.jsx(pe,{brand:r,darkMode:t,onThemeToggle:n}),e.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:e.jsx("main",{style:{flex:1,backgroundColor:"var(--bg-color)"},children:a})}),e.jsx(ye,{copyrightBrand:r.footer.copyrightBrand,yearCreated:r.footer.yearCreated,poweredBy:r.footer.poweredBy})]})},xr=({children:r,darkMode:a=!1})=>{const t=a?{backgroundColor:"var(--bg-color)",color:"var(--text-color)"}:{backgroundColor:"var(--bg-color)",color:"var(--text-color)"};return e.jsxs("div",{style:{minHeight:"100vh",width:"100vw",padding:0,display:"flex",flexDirection:"column",alignItems:"stretch",boxSizing:"border-box",margin:0,overflowX:"hidden",transition:"all 0.3s ease",...t},children:[e.jsx("style",{children:`
59
59
  h1, h2, h3, h4, p {
60
60
  margin-top: 0;
61
61
  margin-bottom: var(--space-md);
@@ -63,7 +63,7 @@ React keys must be passed directly to JSX without using spread:
63
63
  h1:first-child, p:first-child {
64
64
  margin-top: var(--space-md);
65
65
  }
66
- `}),e.jsx("div",{style:{width:"100%",maxWidth:"1200px",margin:"0 auto",boxSizing:"border-box",display:"flex",flexDirection:"column",padding:0,gap:0},children:r})]})},xr=({children:r,columns:a=3,gap:t="var(--space-lg)"})=>e.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(${a}, 1fr)`,gap:t,width:"100%"},children:r}),L=({title:r,subtitle:a,breadcrumbs:t,score:n})=>e.jsxs("section",{style:{backgroundColor:"var(--secondary-color)",padding:"var(--space-lg) var(--space-lg)",textAlign:"center",borderBottom:"4px solid var(--accent-color)"},children:[t&&t.length>0&&e.jsx("nav",{style:{marginBottom:"var(--space-md)",display:"flex",justifyContent:"center",gap:"var(--space-sm)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",fontWeight:600},children:t.map((l,i)=>e.jsxs(k.Fragment,{children:[i>0&&e.jsx("span",{style:{color:"var(--surface-light)",opacity:.4},children:"/"}),l.path?e.jsx("a",{href:l.path,style:{color:"var(--accent-color)",textDecoration:"none"},children:l.label}):e.jsx("span",{style:{color:"var(--surface-light)",opacity:.8},children:l.label})]},l.label))}),e.jsx("h1",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"clamp(2rem, 5vw, 3.5rem)",fontWeight:700,color:"var(--text-dark)",letterSpacing:"0.02em"},children:r}),a&&e.jsx("p",{style:{margin:"var(--space-sm) 0 0",fontFamily:"var(--font-sans)",fontSize:"1.1rem",color:"var(--text-dark)",opacity:.8},children:a}),n&&e.jsxs("div",{style:{marginTop:"var(--space-md)",display:"inline-flex",flexDirection:"column",alignItems:"center",gap:"var(--space-xs)"},children:[e.jsxs("div",{style:{backgroundColor:"var(--accent-color)",color:"white",padding:"var(--space-sm) var(--space-lg)",borderRadius:"var(--radius-full)",fontFamily:"var(--font-sans)",fontWeight:700,fontSize:"1.5rem",display:"flex",alignItems:"center",gap:"var(--space-sm)",boxShadow:"var(--shadow-md)"},children:[e.jsx("span",{children:n.value}),e.jsx("span",{style:{fontSize:"0.9rem",fontWeight:500},children:n.label})]}),n.betaDisclaimer&&e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"0.75rem",color:"var(--text-dark)",opacity:.6,fontStyle:"italic"},children:"Score algorithm is a work in progress"})]})]}),M={violations:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--warning-color)",strokeWidth:"2",children:[e.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),e.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),e.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),injuries:e.jsx("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--info-color)",strokeWidth:"2",children:e.jsx("path",{d:"M22 12h-4l-3 9L9 3l-3 9H2"})}),fatalities:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--danger-color)",strokeWidth:"2",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),e.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),fines:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--success-color)",strokeWidth:"2",children:[e.jsx("line",{x1:"12",y1:"1",x2:"12",y2:"23"}),e.jsx("path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"})]}),avgFine:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--secondary-color)",strokeWidth:"2",children:[e.jsx("line",{x1:"18",y1:"20",x2:"18",y2:"10"}),e.jsx("line",{x1:"12",y1:"20",x2:"12",y2:"4"}),e.jsx("line",{x1:"6",y1:"20",x2:"6",y2:"14"})]}),trendUp:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--danger-color)",strokeWidth:"2",children:[e.jsx("polyline",{points:"23 6 13.5 15.5 8.5 10.5 1 18"}),e.jsx("polyline",{points:"17 6 23 6 23 12"})]}),trendDown:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--success-color)",strokeWidth:"2",children:[e.jsx("polyline",{points:"23 18 13.5 8.5 8.5 13.5 1 6"}),e.jsx("polyline",{points:"17 18 23 18 23 12"})]})},z=({stats:r,columns:a=4})=>{const t=[{label:"Total Events",value:r.total_events,icon:M.violations},r.total_companies!==void 0&&{label:"Companies",value:r.total_companies,icon:M.avgFine},r.total_cities!==void 0&&{label:"Cities",value:r.total_cities,icon:M.avgFine},r.total_states!==void 0&&{label:"States",value:r.total_states,icon:M.avgFine},r.total_injuries!==void 0&&{label:"Injuries",value:r.total_injuries,icon:M.injuries},r.total_fatalities!==void 0&&{label:"Fatalities",value:r.total_fatalities,icon:M.fatalities},r.total_fines!==void 0&&{label:"Total Fines",value:be(r.total_fines),icon:M.fines},r.avg_fines!==void 0&&{label:"Avg Fine",value:be(r.avg_fines),icon:M.avgFine},r.trend&&{label:"YoY Change",value:`${r.trend.direction==="up"?"↑":r.trend.direction==="down"?"↓":"→"} ${r.trend.percentage}%`,icon:r.trend.direction==="down"?M.trendDown:M.trendUp}].filter(Boolean);return e.jsx("section",{style:{marginBottom:"var(--space-lg)"},children:e.jsx("div",{className:"stat-grid",style:{display:"grid",gridTemplateColumns:`repeat(${a}, 1fr)`,gap:"var(--space-md)"},children:t.map(n=>e.jsx(br,{...n},n.label))})})},br=({label:r,value:a,icon:t})=>e.jsxs("div",{style:{padding:"var(--space-lg)",borderRadius:"var(--radius-md)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",display:"flex",alignItems:"center",gap:"var(--space-md)",transition:"transform var(--transition-fast), box-shadow var(--transition-fast)",cursor:"default"},onMouseEnter:n=>{n.currentTarget.style.transform="translateY(-2px)",n.currentTarget.style.boxShadow="var(--shadow-md)"},onMouseLeave:n=>{n.currentTarget.style.transform="translateY(0)",n.currentTarget.style.boxShadow="none"},children:[e.jsx("span",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:t}),e.jsxs("div",{children:[e.jsx("div",{style:{fontFamily:"var(--font-sans)",fontWeight:700,fontSize:"1.5rem",color:"var(--heading-color)"},children:typeof a=="number"?a.toLocaleString():a}),e.jsx("div",{style:{fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",opacity:.8},children:r})]})]});function be(r){return r>=1e6?`$${(r/1e6).toFixed(1)}M`:r>=1e3?`$${(r/1e3).toFixed(0)}K`:`$${r.toLocaleString()}`}const K=({title:r,items:a,basePath:t,emptyMessage:n="No items found",showSearch:l=!0,initialLimit:i=30})=>{const[c,f]=k.useState(""),[v,b]=k.useState(!1),u=a.filter(S=>S.name.toLowerCase().includes(c.toLowerCase())),j=v||c.length>0,I=j?u:u.slice(0,i),N=u.length>i&&!j;return e.jsx("section",{style:{marginBottom:"var(--space-lg)"},children:e.jsxs("div",{children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--space-md)",flexWrap:"wrap",gap:"var(--space-sm)"},children:[e.jsxs("h2",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.5rem",color:"var(--text-color)"},children:[r,e.jsxs("span",{style:{marginLeft:"var(--space-sm)",fontSize:"1rem",opacity:.6},children:["(",a.length,")"]})]}),l&&a.length>10&&e.jsx("input",{type:"text",placeholder:"Search...",value:c,onChange:S=>f(S.target.value),style:{padding:"var(--space-sm) var(--space-md)",borderRadius:"var(--radius-md)",border:"2px solid var(--border-color)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",backgroundColor:"var(--bg-color)",color:"var(--text-color)",width:200}})]}),e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-sm)",padding:"var(--space-md)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:u.length===0?e.jsx("p",{style:{width:"100%",textAlign:"center",color:"var(--text-color)",opacity:.6,margin:0,padding:"var(--space-lg)"},children:n}):e.jsxs(e.Fragment,{children:[I.map(S=>e.jsxs("a",{href:`${t}/${S.slug}`,style:{display:"inline-flex",alignItems:"center",gap:"var(--space-xs)",padding:"var(--space-xs) var(--space-sm)",backgroundColor:"var(--bg-color)",border:"1px solid var(--border-color)",borderRadius:"var(--radius-sm)",textDecoration:"none",color:"var(--text-color)",fontFamily:"var(--font-sans)",fontSize:"0.85rem",transition:"all var(--transition-fast)",whiteSpace:"nowrap"},onMouseEnter:F=>{F.currentTarget.style.backgroundColor="var(--primary-color)",F.currentTarget.style.color="var(--surface-light)",F.currentTarget.style.borderColor="var(--primary-color)"},onMouseLeave:F=>{F.currentTarget.style.backgroundColor="var(--bg-color)",F.currentTarget.style.color="var(--text-color)",F.currentTarget.style.borderColor="var(--border-color)"},children:[e.jsx("span",{style:{fontWeight:500},children:S.name}),e.jsx("span",{title:`${S.count.toLocaleString()} incidents`,style:{backgroundColor:"var(--secondary-color)",color:"var(--surface-light)",padding:"2px 6px",borderRadius:"var(--radius-full)",fontSize:"0.75rem",fontWeight:600},children:S.count.toLocaleString()})]},S.slug)),(N||v)&&e.jsx("button",{onClick:()=>b(!v),style:{display:"inline-flex",alignItems:"center",gap:"var(--space-xs)",padding:"var(--space-xs) var(--space-sm)",backgroundColor:"var(--accent-color)",border:"none",borderRadius:"var(--radius-sm)",color:"var(--surface-light)",fontFamily:"var(--font-sans)",fontSize:"0.85rem",fontWeight:500,cursor:"pointer",transition:"all var(--transition-fast)"},onMouseEnter:S=>{S.currentTarget.style.opacity="0.8"},onMouseLeave:S=>{S.currentTarget.style.opacity="1"},children:v?"Show less":`+${u.length-i} more`})]})})]})})},G=({title:r,events:a,viewMorePath:t,showAgencyBadge:n=!1})=>a.length===0?null:e.jsx("section",{style:{marginBottom:"var(--space-lg)"},children:e.jsxs("div",{children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--space-md)"},children:[e.jsx("h2",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.5rem",color:"var(--text-color)"},children:r}),t&&e.jsx("a",{href:t,style:{color:"var(--accent-color)",textDecoration:"none",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"0.9rem"},children:"View More →"})]}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-sm)"},children:a.map(l=>e.jsx(jr,{event:l,showAgencyBadge:n},l.event_id))})]})}),jr=({event:r,showAgencyBadge:a})=>e.jsx("div",{style:{padding:"var(--space-md) var(--space-lg)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)",backgroundColor:"var(--bg-color)"},children:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"var(--space-md)",flexWrap:"wrap"},children:[e.jsxs("div",{style:{flex:1,minWidth:200},children:[e.jsx("h3",{style:{margin:0,fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"1rem",color:"var(--text-color)"},children:r.event_title}),r.event_description&&e.jsx("p",{style:{margin:"var(--space-xs) 0 0",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",opacity:.7,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r.event_description})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"var(--space-xs)"},children:[a&&e.jsx("span",{style:{backgroundColor:"var(--primary-color)",color:"var(--bg-color)",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"0.75rem",textTransform:"uppercase"},children:r.agency}),r.event_date&&e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--text-color)",opacity:.6},children:kr(r.event_date)}),(r.city||r.state)&&e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--text-color)",opacity:.6},children:[r.city,r.state].filter(Boolean).join(", ")}),r.company_name&&e.jsxs("a",{href:`/company/${r.company_slug}`,style:{fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--accent-color)",textDecoration:"none",fontWeight:600,transition:"color var(--transition-fast)"},onMouseEnter:t=>t.currentTarget.style.color="var(--primary-color)",onMouseLeave:t=>t.currentTarget.style.color="var(--accent-color)",children:[r.company_name," →"]})]})]})});function kr(r){try{return new Date(r).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return r}}const wr=({position:r,width:a,height:t})=>{const n={sidebar:{width:a??280,height:t??250},"left-sidebar":{width:a??"100%",height:t??200},banner:{width:a??"100%",height:t??90},inline:{width:a??"100%",height:t??120}},{width:l,height:i}=n[r];return e.jsxs("div",{"data-ad-slot":r,style:{width:l,height:i,backgroundColor:"var(--secondary-color)",border:"2px dashed var(--border-color)",borderRadius:"var(--radius-md)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--text-color)",opacity:.5},children:["Ad Placeholder (",r,")"]})},O=({meta:r})=>{if(!r)return null;const a=r?[r.population&&{label:"Population",value:r.population.toLocaleString()},r.industry&&{label:"Industry",value:r.industry},r.founded&&{label:"Founded",value:r.founded},r.headquarters&&{label:"HQ",value:r.headquarters}].filter(Boolean):[];return e.jsx("aside",{className:"page-sidebar",style:{display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:a.length>0&&e.jsxs("div",{style:{padding:"var(--space-lg)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:[(r==null?void 0:r.logo_url)&&e.jsx("div",{style:{width:80,height:80,margin:"0 auto var(--space-md)",borderRadius:"var(--radius-md)",overflow:"hidden",backgroundColor:"white",display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx("img",{src:r.logo_url,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}})}),(r==null?void 0:r.flag_url)&&e.jsx("div",{style:{width:"100%",margin:"0 auto var(--space-md)",borderRadius:"var(--radius-sm)",overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border-color)"},children:e.jsx("img",{src:r.flag_url,alt:"",style:{width:"100%",height:"auto",display:"block"}})}),e.jsx("dl",{style:{margin:0},children:a.map(({label:t,value:n})=>e.jsxs("div",{style:{padding:"var(--space-sm) 0",borderBottom:"1px solid var(--border-color)"},children:[e.jsx("dt",{style:{fontFamily:"var(--font-sans)",fontSize:"0.75rem",color:"var(--text-color)",opacity:.6,textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px"},children:t}),e.jsx("dd",{style:{margin:0,fontFamily:"var(--font-sans)",fontSize:"0.9rem",fontWeight:600,color:"var(--text-color)"},children:n})]},t))})]})})},B=()=>e.jsx("aside",{className:"page-filters",style:{display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:e.jsxs("div",{style:{padding:"var(--space-md)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:[e.jsx("h3",{style:{margin:"0 0 var(--space-md)",fontFamily:"var(--font-serif)",fontSize:"1.1rem",color:"var(--text-color)"},children:"Filters"}),e.jsxs("div",{style:{marginBottom:"var(--space-md)"},children:[e.jsx("label",{style:{display:"block",fontSize:"0.85rem",fontWeight:500,marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:"Date Range"}),e.jsxs("select",{style:{width:"100%",padding:"var(--space-sm)",borderRadius:"var(--radius-sm)",border:"1px solid var(--border-color)",backgroundColor:"var(--bg-color)",color:"var(--text-color)",fontSize:"0.9rem"},children:[e.jsx("option",{children:"All Time"}),e.jsx("option",{children:"Last Year"}),e.jsx("option",{children:"Last 5 Years"}),e.jsx("option",{children:"Last 10 Years"})]})]}),e.jsxs("div",{style:{marginBottom:"var(--space-md)"},children:[e.jsx("label",{style:{display:"block",fontSize:"0.85rem",fontWeight:500,marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:"Severity"}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-xs)"},children:["All","Fatalities","Hospitalizations","Amputations"].map(r=>e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"var(--space-xs)",fontSize:"0.85rem",cursor:"pointer"},children:[e.jsx("input",{type:"checkbox",defaultChecked:r==="All",style:{accentColor:"var(--primary-color)"}}),r]},r))})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:"0.85rem",fontWeight:500,marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:"Sort By"}),e.jsxs("select",{style:{width:"100%",padding:"var(--space-sm)",borderRadius:"var(--radius-sm)",border:"1px solid var(--border-color)",backgroundColor:"var(--bg-color)",color:"var(--text-color)",fontSize:"0.9rem"},children:[e.jsx("option",{children:"Most Incidents"}),e.jsx("option",{children:"Most Recent"}),e.jsx("option",{children:"Highest Fines"}),e.jsx("option",{children:"Alphabetical"})]})]})]})}),Cr=()=>e.jsxs(e.Fragment,{children:[e.jsx("style",{children:`
66
+ `}),e.jsx("div",{style:{width:"100%",maxWidth:"1200px",margin:"0 auto",boxSizing:"border-box",display:"flex",flexDirection:"column",padding:0,gap:0},children:r})]})},br=({children:r,columns:a=3,gap:t="var(--space-lg)"})=>e.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(${a}, 1fr)`,gap:t,width:"100%"},children:r}),L=({title:r,subtitle:a,breadcrumbs:t,score:n})=>e.jsxs("section",{style:{backgroundColor:"var(--secondary-color)",padding:"var(--space-lg) var(--space-lg)",textAlign:"center",borderBottom:"4px solid var(--accent-color)"},children:[t&&t.length>0&&e.jsx("nav",{style:{marginBottom:"var(--space-md)",display:"flex",justifyContent:"center",gap:"var(--space-sm)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",fontWeight:600},children:t.map((l,i)=>e.jsxs(k.Fragment,{children:[i>0&&e.jsx("span",{style:{color:"var(--surface-light)",opacity:.4},children:"/"}),l.path?e.jsx("a",{href:l.path,style:{color:"var(--accent-color)",textDecoration:"none"},children:l.label}):e.jsx("span",{style:{color:"var(--surface-light)",opacity:.8},children:l.label})]},l.label))}),e.jsx("h1",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"clamp(2rem, 5vw, 3.5rem)",fontWeight:700,color:"var(--text-dark)",letterSpacing:"0.02em"},children:r}),a&&e.jsx("p",{style:{margin:"var(--space-sm) 0 0",fontFamily:"var(--font-sans)",fontSize:"1.1rem",color:"var(--text-dark)",opacity:.8},children:a}),n&&e.jsxs("div",{style:{marginTop:"var(--space-md)",display:"inline-flex",flexDirection:"column",alignItems:"center",gap:"var(--space-xs)"},children:[e.jsxs("div",{style:{backgroundColor:"var(--accent-color)",color:"white",padding:"var(--space-sm) var(--space-lg)",borderRadius:"var(--radius-full)",fontFamily:"var(--font-sans)",fontWeight:700,fontSize:"1.5rem",display:"flex",alignItems:"center",gap:"var(--space-sm)",boxShadow:"var(--shadow-md)"},children:[e.jsx("span",{children:n.value}),e.jsx("span",{style:{fontSize:"0.9rem",fontWeight:500},children:n.label})]}),n.betaDisclaimer&&e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"0.75rem",color:"var(--text-dark)",opacity:.6,fontStyle:"italic"},children:"Score algorithm is a work in progress"})]})]}),M={violations:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--warning-color)",strokeWidth:"2",children:[e.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),e.jsx("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),e.jsx("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),injuries:e.jsx("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--info-color)",strokeWidth:"2",children:e.jsx("path",{d:"M22 12h-4l-3 9L9 3l-3 9H2"})}),fatalities:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--danger-color)",strokeWidth:"2",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),e.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),fines:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--success-color)",strokeWidth:"2",children:[e.jsx("line",{x1:"12",y1:"1",x2:"12",y2:"23"}),e.jsx("path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"})]}),avgFine:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--secondary-color)",strokeWidth:"2",children:[e.jsx("line",{x1:"18",y1:"20",x2:"18",y2:"10"}),e.jsx("line",{x1:"12",y1:"20",x2:"12",y2:"4"}),e.jsx("line",{x1:"6",y1:"20",x2:"6",y2:"14"})]}),trendUp:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--danger-color)",strokeWidth:"2",children:[e.jsx("polyline",{points:"23 6 13.5 15.5 8.5 10.5 1 18"}),e.jsx("polyline",{points:"17 6 23 6 23 12"})]}),trendDown:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"var(--success-color)",strokeWidth:"2",children:[e.jsx("polyline",{points:"23 18 13.5 8.5 8.5 13.5 1 6"}),e.jsx("polyline",{points:"17 18 23 18 23 12"})]})},z=({stats:r,columns:a=4})=>{const t=[{label:"Total Events",value:r.total_events,icon:M.violations},r.total_companies!==void 0&&{label:"Companies",value:r.total_companies,icon:M.avgFine},r.total_cities!==void 0&&{label:"Cities",value:r.total_cities,icon:M.avgFine},r.total_states!==void 0&&{label:"States",value:r.total_states,icon:M.avgFine},r.total_injuries!==void 0&&{label:"Injuries",value:r.total_injuries,icon:M.injuries},r.total_fatalities!==void 0&&{label:"Fatalities",value:r.total_fatalities,icon:M.fatalities},r.total_fines!==void 0&&{label:"Total Fines",value:be(r.total_fines),icon:M.fines},r.avg_fines!==void 0&&{label:"Avg Fine",value:be(r.avg_fines),icon:M.avgFine},r.trend&&{label:"YoY Change",value:`${r.trend.direction==="up"?"↑":r.trend.direction==="down"?"↓":"→"} ${r.trend.percentage}%`,icon:r.trend.direction==="down"?M.trendDown:M.trendUp}].filter(Boolean);return e.jsx("section",{style:{marginBottom:"var(--space-lg)"},children:e.jsx("div",{className:"stat-grid",style:{display:"grid",gridTemplateColumns:`repeat(${a}, 1fr)`,gap:"var(--space-md)"},children:t.map(n=>e.jsx(jr,{...n},n.label))})})},jr=({label:r,value:a,icon:t})=>e.jsxs("div",{style:{padding:"var(--space-lg)",borderRadius:"var(--radius-md)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",display:"flex",alignItems:"center",gap:"var(--space-md)",transition:"transform var(--transition-fast), box-shadow var(--transition-fast)",cursor:"default"},onMouseEnter:n=>{n.currentTarget.style.transform="translateY(-2px)",n.currentTarget.style.boxShadow="var(--shadow-md)"},onMouseLeave:n=>{n.currentTarget.style.transform="translateY(0)",n.currentTarget.style.boxShadow="none"},children:[e.jsx("span",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:t}),e.jsxs("div",{children:[e.jsx("div",{style:{fontFamily:"var(--font-sans)",fontWeight:700,fontSize:"1.5rem",color:"var(--heading-color)"},children:typeof a=="number"?a.toLocaleString():a}),e.jsx("div",{style:{fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",opacity:.8},children:r})]})]});function be(r){return r>=1e6?`$${(r/1e6).toFixed(1)}M`:r>=1e3?`$${(r/1e3).toFixed(0)}K`:`$${r.toLocaleString()}`}const K=({title:r,items:a,basePath:t,emptyMessage:n="No items found",showSearch:l=!0,initialLimit:i=30})=>{const[c,f]=k.useState(""),[g,b]=k.useState(!1),u=a.filter(S=>S.name.toLowerCase().includes(c.toLowerCase())),j=g||c.length>0,I=j?u:u.slice(0,i),N=u.length>i&&!j;return e.jsx("section",{style:{marginBottom:"var(--space-lg)"},children:e.jsxs("div",{children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--space-md)",flexWrap:"wrap",gap:"var(--space-sm)"},children:[e.jsxs("h2",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.5rem",color:"var(--text-color)"},children:[r,e.jsxs("span",{style:{marginLeft:"var(--space-sm)",fontSize:"1rem",opacity:.6},children:["(",a.length,")"]})]}),l&&a.length>10&&e.jsx("input",{type:"text",placeholder:"Search...",value:c,onChange:S=>f(S.target.value),style:{padding:"var(--space-sm) var(--space-md)",borderRadius:"var(--radius-md)",border:"2px solid var(--border-color)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",backgroundColor:"var(--bg-color)",color:"var(--text-color)",width:200}})]}),e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-sm)",padding:"var(--space-md)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:u.length===0?e.jsx("p",{style:{width:"100%",textAlign:"center",color:"var(--text-color)",opacity:.6,margin:0,padding:"var(--space-lg)"},children:n}):e.jsxs(e.Fragment,{children:[I.map(S=>e.jsxs("a",{href:`${t}/${S.slug}`,style:{display:"inline-flex",alignItems:"center",gap:"var(--space-xs)",padding:"var(--space-xs) var(--space-sm)",backgroundColor:"var(--bg-color)",border:"1px solid var(--border-color)",borderRadius:"var(--radius-sm)",textDecoration:"none",color:"var(--text-color)",fontFamily:"var(--font-sans)",fontSize:"0.85rem",transition:"all var(--transition-fast)",whiteSpace:"nowrap"},onMouseEnter:F=>{F.currentTarget.style.backgroundColor="var(--primary-color)",F.currentTarget.style.color="var(--surface-light)",F.currentTarget.style.borderColor="var(--primary-color)"},onMouseLeave:F=>{F.currentTarget.style.backgroundColor="var(--bg-color)",F.currentTarget.style.color="var(--text-color)",F.currentTarget.style.borderColor="var(--border-color)"},children:[e.jsx("span",{style:{fontWeight:500},children:S.name}),e.jsx("span",{title:`${S.count.toLocaleString()} incidents`,style:{backgroundColor:"var(--secondary-color)",color:"var(--surface-light)",padding:"2px 6px",borderRadius:"var(--radius-full)",fontSize:"0.75rem",fontWeight:600},children:S.count.toLocaleString()})]},S.slug)),(N||g)&&e.jsx("button",{onClick:()=>b(!g),style:{display:"inline-flex",alignItems:"center",gap:"var(--space-xs)",padding:"var(--space-xs) var(--space-sm)",backgroundColor:"var(--accent-color)",border:"none",borderRadius:"var(--radius-sm)",color:"var(--surface-light)",fontFamily:"var(--font-sans)",fontSize:"0.85rem",fontWeight:500,cursor:"pointer",transition:"all var(--transition-fast)"},onMouseEnter:S=>{S.currentTarget.style.opacity="0.8"},onMouseLeave:S=>{S.currentTarget.style.opacity="1"},children:g?"Show less":`+${u.length-i} more`})]})})]})})},G=({title:r,events:a,viewMorePath:t,showAgencyBadge:n=!1})=>a.length===0?null:e.jsx("section",{style:{marginBottom:"var(--space-lg)"},children:e.jsxs("div",{children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--space-md)"},children:[e.jsx("h2",{style:{margin:0,fontFamily:"var(--font-serif)",fontSize:"1.5rem",color:"var(--text-color)"},children:r}),t&&e.jsx("a",{href:t,style:{color:"var(--accent-color)",textDecoration:"none",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"0.9rem"},children:"View More →"})]}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-sm)"},children:a.map(l=>e.jsx(kr,{event:l,showAgencyBadge:n},l.event_id))})]})}),kr=({event:r,showAgencyBadge:a})=>e.jsx("div",{style:{padding:"var(--space-md) var(--space-lg)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)",backgroundColor:"var(--bg-color)"},children:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"var(--space-md)",flexWrap:"wrap"},children:[e.jsxs("div",{style:{flex:1,minWidth:200},children:[e.jsx("h3",{style:{margin:0,fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"1rem",color:"var(--text-color)"},children:r.event_title}),r.event_description&&e.jsx("p",{style:{margin:"var(--space-xs) 0 0",fontFamily:"var(--font-sans)",fontSize:"0.9rem",color:"var(--text-color)",opacity:.7,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r.event_description})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"var(--space-xs)"},children:[a&&e.jsx("span",{style:{backgroundColor:"var(--primary-color)",color:"var(--bg-color)",padding:"var(--space-xs) var(--space-sm)",borderRadius:"var(--radius-sm)",fontFamily:"var(--font-sans)",fontWeight:600,fontSize:"0.75rem",textTransform:"uppercase"},children:r.agency}),r.event_date&&e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--text-color)",opacity:.6},children:wr(r.event_date)}),(r.city||r.state)&&e.jsx("span",{style:{fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--text-color)",opacity:.6},children:[r.city,r.state].filter(Boolean).join(", ")}),r.company_name&&e.jsxs("a",{href:`/company/${r.company_slug}`,style:{fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--accent-color)",textDecoration:"none",fontWeight:600,transition:"color var(--transition-fast)"},onMouseEnter:t=>t.currentTarget.style.color="var(--primary-color)",onMouseLeave:t=>t.currentTarget.style.color="var(--accent-color)",children:[r.company_name," →"]})]})]})});function wr(r){try{return new Date(r).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return r}}const Cr=({position:r,width:a,height:t})=>{const n={sidebar:{width:a??280,height:t??250},"left-sidebar":{width:a??"100%",height:t??200},banner:{width:a??"100%",height:t??90},inline:{width:a??"100%",height:t??120}},{width:l,height:i}=n[r];return e.jsxs("div",{"data-ad-slot":r,style:{width:l,height:i,backgroundColor:"var(--secondary-color)",border:"2px dashed var(--border-color)",borderRadius:"var(--radius-md)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-sans)",fontSize:"0.85rem",color:"var(--text-color)",opacity:.5},children:["Ad Placeholder (",r,")"]})},O=({meta:r})=>{if(!r)return null;const a=r?[r.population&&{label:"Population",value:r.population.toLocaleString()},r.industry&&{label:"Industry",value:r.industry},r.founded&&{label:"Founded",value:r.founded},r.headquarters&&{label:"HQ",value:r.headquarters}].filter(Boolean):[];return e.jsx("aside",{className:"page-sidebar",style:{display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:a.length>0&&e.jsxs("div",{style:{padding:"var(--space-lg)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:[(r==null?void 0:r.logo_url)&&e.jsx("div",{style:{width:80,height:80,margin:"0 auto var(--space-md)",borderRadius:"var(--radius-md)",overflow:"hidden",backgroundColor:"white",display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx("img",{src:r.logo_url,alt:"",style:{maxWidth:"100%",maxHeight:"100%"}})}),(r==null?void 0:r.flag_url)&&e.jsx("div",{style:{width:"100%",margin:"0 auto var(--space-md)",borderRadius:"var(--radius-sm)",overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--border-color)"},children:e.jsx("img",{src:r.flag_url,alt:"",style:{width:"100%",height:"auto",display:"block"}})}),e.jsx("dl",{style:{margin:0},children:a.map(({label:t,value:n})=>e.jsxs("div",{style:{padding:"var(--space-sm) 0",borderBottom:"1px solid var(--border-color)"},children:[e.jsx("dt",{style:{fontFamily:"var(--font-sans)",fontSize:"0.75rem",color:"var(--text-color)",opacity:.6,textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px"},children:t}),e.jsx("dd",{style:{margin:0,fontFamily:"var(--font-sans)",fontSize:"0.9rem",fontWeight:600,color:"var(--text-color)"},children:n})]},t))})]})})},B=()=>e.jsx("aside",{className:"page-filters",style:{display:"flex",flexDirection:"column",gap:"var(--space-md)"},children:e.jsxs("div",{style:{padding:"var(--space-md)",backgroundColor:"var(--bg-color)",border:"2px solid var(--border-color)",borderRadius:"var(--radius-md)"},children:[e.jsx("h3",{style:{margin:"0 0 var(--space-md)",fontFamily:"var(--font-serif)",fontSize:"1.1rem",color:"var(--text-color)"},children:"Filters"}),e.jsxs("div",{style:{marginBottom:"var(--space-md)"},children:[e.jsx("label",{style:{display:"block",fontSize:"0.85rem",fontWeight:500,marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:"Date Range"}),e.jsxs("select",{style:{width:"100%",padding:"var(--space-sm)",borderRadius:"var(--radius-sm)",border:"1px solid var(--border-color)",backgroundColor:"var(--bg-color)",color:"var(--text-color)",fontSize:"0.9rem"},children:[e.jsx("option",{children:"All Time"}),e.jsx("option",{children:"Last Year"}),e.jsx("option",{children:"Last 5 Years"}),e.jsx("option",{children:"Last 10 Years"})]})]}),e.jsxs("div",{style:{marginBottom:"var(--space-md)"},children:[e.jsx("label",{style:{display:"block",fontSize:"0.85rem",fontWeight:500,marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:"Severity"}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-xs)"},children:["All","Fatalities","Hospitalizations","Amputations"].map(r=>e.jsxs("label",{style:{display:"flex",alignItems:"center",gap:"var(--space-xs)",fontSize:"0.85rem",cursor:"pointer"},children:[e.jsx("input",{type:"checkbox",defaultChecked:r==="All",style:{accentColor:"var(--primary-color)"}}),r]},r))})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:"0.85rem",fontWeight:500,marginBottom:"var(--space-xs)",color:"var(--text-color)"},children:"Sort By"}),e.jsxs("select",{style:{width:"100%",padding:"var(--space-sm)",borderRadius:"var(--radius-sm)",border:"1px solid var(--border-color)",backgroundColor:"var(--bg-color)",color:"var(--text-color)",fontSize:"0.9rem"},children:[e.jsx("option",{children:"Most Incidents"}),e.jsx("option",{children:"Most Recent"}),e.jsx("option",{children:"Highest Fines"}),e.jsx("option",{children:"Alphabetical"})]})]})]})}),Sr=()=>e.jsxs(e.Fragment,{children:[e.jsx("style",{children:`
67
67
  .mobile-ad-banner {
68
68
  display: none;
69
69
  }
@@ -81,4 +81,4 @@ React keys must be passed directly to JSX without using spread:
81
81
  margin-top: auto;
82
82
  }
83
83
  }
84
- `}),e.jsx("div",{className:"mobile-ad-banner",children:e.jsx("div",{"data-ad-slot":"mobile-banner",style:{width:"100%",maxWidth:468,height:60,margin:"0 auto",backgroundColor:"var(--secondary-color)",border:"2px dashed var(--border-color)",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-sans)",fontSize:"0.8rem",color:"var(--text-color)",opacity:.6},children:"Ad (468×60)"})})]}),Sr=({brand:r,data:a})=>{const t=[{label:"Home",path:"/"},{label:a.name}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:r.tagline||"Explore worker safety data across the nation",breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats,columns:4}),e.jsx(K,{title:"States & Territories",items:a.directory,basePath:"/state",initialLimit:60})]}),e.jsx(O,{meta:a.meta})]})]})},Tr=({brand:r,data:a})=>{const t=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:a.name}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0,l=Object.keys(a.recent_by_agency);return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:`Worker safety data for ${a.name}`,breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),e.jsx(K,{title:"Cities",items:a.directory,basePath:"/city"}),l.map(i=>e.jsx(G,{title:`Recent ${i} Incidents`,events:a.recent_by_agency[i],viewMorePath:`/${a.slug.toLowerCase()}/events/${i.toLowerCase()}`,showAgencyBadge:!1},i))]}),e.jsx(O,{meta:a.meta})]})]})},Rr={AL:"Alabama",AK:"Alaska",AZ:"Arizona",AR:"Arkansas",CA:"California",CO:"Colorado",CT:"Connecticut",DE:"Delaware",FL:"Florida",GA:"Georgia",HI:"Hawaii",ID:"Idaho",IL:"Illinois",IN:"Indiana",IA:"Iowa",KS:"Kansas",KY:"Kentucky",LA:"Louisiana",ME:"Maine",MD:"Maryland",MA:"Massachusetts",MI:"Michigan",MN:"Minnesota",MS:"Mississippi",MO:"Missouri",MT:"Montana",NE:"Nebraska",NV:"Nevada",NH:"New Hampshire",NJ:"New Jersey",NM:"New Mexico",NY:"New York",NC:"North Carolina",ND:"North Dakota",OH:"Ohio",OK:"Oklahoma",OR:"Oregon",PA:"Pennsylvania",RI:"Rhode Island",SC:"South Carolina",SD:"South Dakota",TN:"Tennessee",TX:"Texas",UT:"Utah",VT:"Vermont",VA:"Virginia",WA:"Washington",WV:"West Virginia",WI:"Wisconsin",WY:"Wyoming",DC:"District of Columbia",PR:"Puerto Rico",VI:"Virgin Islands",GU:"Guam"},_r=({brand:r,data:a})=>{var v,b;const t=((b=(v=a.slug)==null?void 0:v.split("-")[0])==null?void 0:b.toUpperCase())||a.state,n=Rr[t]||t,l=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:n,path:`/state/${t.toLowerCase()}`},{label:a.name}],i=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0,c=Object.keys(a.recent_by_agency),f=`/${a.state.toLowerCase()}/${a.slug}`;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:`Worker safety data for ${a.name}`,breadcrumbs:l,score:i}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),e.jsx(K,{title:"Companies",items:a.directory,basePath:"/company"}),c.map(u=>e.jsx(G,{title:`Recent ${u} Incidents`,events:a.recent_by_agency[u],viewMorePath:`${f}/events/${u.toLowerCase()}`,showAgencyBadge:!1},u))]}),e.jsx(O,{meta:a.meta})]})]})},Er=({brand:r,data:a})=>{var i;const t=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:a.name}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0,l=a.sites&&a.sites.length>0;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:(i=a.meta)!=null&&i.industry?`${a.meta.industry}`:void 0,breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),l&&e.jsx(K,{title:"Locations",items:a.sites,basePath:"/site"}),e.jsx(G,{title:"Recent Incidents",events:a.recent_events.slice(0,l?5:10),viewMorePath:`/company/${a.slug}/events`,showAgencyBadge:!0})]}),e.jsx(O,{meta:a.meta})]})]})},Mr=({brand:r,data:a})=>{const t=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:a.company_name,path:`/company/${a.company_slug}`},{label:`#${a.site_id}`}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:`Location #${a.site_id} of ${a.company_name}`,breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),a.siblings&&a.siblings.length>0&&e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-sm)"},children:a.siblings.slice(0,10).map(l=>e.jsxs("a",{href:`/company/${a.company_slug}/site/${l.slug}`,style:{padding:"var(--space-sm) var(--space-md)",backgroundColor:"var(--secondary-color)",borderRadius:"var(--radius-md)",textDecoration:"none",color:"var(--text-dark)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",display:"flex",alignItems:"center",gap:"var(--space-xs)",transition:"background var(--transition-fast)"},onMouseEnter:i=>i.currentTarget.style.backgroundColor="var(--accent-color)",onMouseLeave:i=>i.currentTarget.style.backgroundColor="var(--secondary-color)",children:[e.jsxs("span",{children:["#",l.name]}),e.jsx("span",{style:{backgroundColor:"var(--primary-color)",color:"var(--text-dark)",padding:"2px 6px",borderRadius:"var(--radius-sm)",fontSize:"0.75rem"},children:l.count})]},l.slug))}),e.jsx(G,{title:"Recent Incidents",events:a.recent_events,viewMorePath:`/company/${a.company_slug}/site/${a.site_id}/events`,showAgencyBadge:!0})]}),e.jsx(O,{meta:a.meta})]})]})};g.AdSlot=wr,g.Alert=ir,g.Badge=Ze,g.BellIcon=ar,g.Button=Ge,g.Card=Je,g.CityPage=_r,g.CompanyPage=Er,g.Directory=K,g.FilterSidebar=B,g.Footer=ye,g.GridLayout=xr,g.Header=pe,g.Hero=L,g.InfoSidebar=O,g.Input=Qe,g.LoadingOverlay=dr,g.MobileAdBanner=Cr,g.Modal=er,g.MoonIcon=or,g.NationPage=Sr,g.PageContainer=mr,g.RecentEvents=G,g.SettingsIcon=tr,g.Shell=A,g.SitePage=Mr,g.Skeleton=oe,g.SkeletonCard=ur,g.SkeletonText=ge,g.Spinner=ve,g.StatCard=sr,g.StatGrid=z,g.StatePage=Tr,g.SunIcon=rr,g.Table=qe,g.Tabs=lr,g.Tooltip=cr,g.UserIcon=nr,g.applyTheme=xe,g.useTheme=me,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
84
+ `}),e.jsx("div",{className:"mobile-ad-banner",children:e.jsx("div",{"data-ad-slot":"mobile-banner",style:{width:"100%",maxWidth:468,height:60,margin:"0 auto",backgroundColor:"var(--secondary-color)",border:"2px dashed var(--border-color)",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-sans)",fontSize:"0.8rem",color:"var(--text-color)",opacity:.6},children:"Ad (468×60)"})})]}),Tr=({brand:r,data:a})=>{const t=[{label:"Home",path:"/"},{label:a.name}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:r.tagline||"Explore worker safety data across the nation",breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats,columns:4}),e.jsx(K,{title:"States & Territories",items:a.directory,basePath:"/state",initialLimit:60})]}),e.jsx(O,{meta:a.meta})]})]})},Rr=({brand:r,data:a})=>{const t=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:a.name}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0,l=Object.keys(a.recent_by_agency);return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:`Worker safety data for ${a.name}`,breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),e.jsx(K,{title:"Cities",items:a.directory,basePath:"/city"}),l.map(i=>e.jsx(G,{title:`Recent ${i} Incidents`,events:a.recent_by_agency[i],viewMorePath:`/${a.slug.toLowerCase()}/events/${i.toLowerCase()}`,showAgencyBadge:!1},i))]}),e.jsx(O,{meta:a.meta})]})]})},_r={AL:"Alabama",AK:"Alaska",AZ:"Arizona",AR:"Arkansas",CA:"California",CO:"Colorado",CT:"Connecticut",DE:"Delaware",FL:"Florida",GA:"Georgia",HI:"Hawaii",ID:"Idaho",IL:"Illinois",IN:"Indiana",IA:"Iowa",KS:"Kansas",KY:"Kentucky",LA:"Louisiana",ME:"Maine",MD:"Maryland",MA:"Massachusetts",MI:"Michigan",MN:"Minnesota",MS:"Mississippi",MO:"Missouri",MT:"Montana",NE:"Nebraska",NV:"Nevada",NH:"New Hampshire",NJ:"New Jersey",NM:"New Mexico",NY:"New York",NC:"North Carolina",ND:"North Dakota",OH:"Ohio",OK:"Oklahoma",OR:"Oregon",PA:"Pennsylvania",RI:"Rhode Island",SC:"South Carolina",SD:"South Dakota",TN:"Tennessee",TX:"Texas",UT:"Utah",VT:"Vermont",VA:"Virginia",WA:"Washington",WV:"West Virginia",WI:"Wisconsin",WY:"Wyoming",DC:"District of Columbia",PR:"Puerto Rico",VI:"Virgin Islands",GU:"Guam"},Er=({brand:r,data:a})=>{var g,b;const t=((b=(g=a.slug)==null?void 0:g.split("-")[0])==null?void 0:b.toUpperCase())||a.state,n=_r[t]||t,l=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:n,path:`/state/${t.toLowerCase()}`},{label:a.name}],i=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0,c=Object.keys(a.recent_by_agency),f=`/${a.state.toLowerCase()}/${a.slug}`;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:`Worker safety data for ${a.name}`,breadcrumbs:l,score:i}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),e.jsx(K,{title:"Companies",items:a.directory,basePath:"/company"}),c.map(u=>e.jsx(G,{title:`Recent ${u} Incidents`,events:a.recent_by_agency[u],viewMorePath:`${f}/events/${u.toLowerCase()}`,showAgencyBadge:!1},u))]}),e.jsx(O,{meta:a.meta})]})]})},Mr=({brand:r,data:a})=>{var i;const t=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:a.name}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0,l=a.sites&&a.sites.length>0;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:(i=a.meta)!=null&&i.industry?`${a.meta.industry}`:void 0,breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),l&&e.jsx(K,{title:"Locations",items:a.sites,basePath:"/site"}),e.jsx(G,{title:"Recent Incidents",events:a.recent_events.slice(0,l?5:10),viewMorePath:`/company/${a.slug}/events`,showAgencyBadge:!0})]}),e.jsx(O,{meta:a.meta})]})]})},Ir=({brand:r,data:a})=>{const t=[{label:"Home",path:"/"},{label:"USA",path:"/usa"},{label:a.company_name,path:`/company/${a.company_slug}`},{label:`#${a.site_id}`}],n=r.scoreConfig&&a.stats.score!==void 0?{value:a.stats.score,label:r.scoreConfig.name,betaDisclaimer:r.scoreConfig.betaDisclaimer}:void 0;return e.jsxs(A,{brand:r,children:[e.jsx(L,{title:a.name,subtitle:`Location #${a.site_id} of ${a.company_name}`,breadcrumbs:t,score:n}),e.jsxs("div",{className:"page-layout",children:[e.jsx(B,{}),e.jsxs("main",{className:"page-main",children:[e.jsx(z,{stats:a.stats}),a.siblings&&a.siblings.length>0&&e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-sm)"},children:a.siblings.slice(0,10).map(l=>e.jsxs("a",{href:`/company/${a.company_slug}/site/${l.slug}`,style:{padding:"var(--space-sm) var(--space-md)",backgroundColor:"var(--secondary-color)",borderRadius:"var(--radius-md)",textDecoration:"none",color:"var(--text-dark)",fontFamily:"var(--font-sans)",fontSize:"0.9rem",display:"flex",alignItems:"center",gap:"var(--space-xs)",transition:"background var(--transition-fast)"},onMouseEnter:i=>i.currentTarget.style.backgroundColor="var(--accent-color)",onMouseLeave:i=>i.currentTarget.style.backgroundColor="var(--secondary-color)",children:[e.jsxs("span",{children:["#",l.name]}),e.jsx("span",{style:{backgroundColor:"var(--primary-color)",color:"var(--text-dark)",padding:"2px 6px",borderRadius:"var(--radius-sm)",fontSize:"0.75rem"},children:l.count})]},l.slug))}),e.jsx(G,{title:"Recent Incidents",events:a.recent_events,viewMorePath:`/company/${a.company_slug}/site/${a.site_id}/events`,showAgencyBadge:!0})]}),e.jsx(O,{meta:a.meta})]})]})};v.AdSlot=Cr,v.Alert=lr,v.Badge=Ze,v.BellIcon=tr,v.Button=Ge,v.Card=Je,v.CityPage=Er,v.CompanyPage=Mr,v.Directory=K,v.FilterSidebar=B,v.Footer=ye,v.GridLayout=br,v.Header=pe,v.Hero=L,v.InfoSidebar=O,v.Input=Qe,v.LoadingOverlay=ur,v.MobileAdBanner=Sr,v.Modal=er,v.MoonIcon=ar,v.NationPage=Tr,v.PageContainer=xr,v.ProgressBar=rr,v.RecentEvents=G,v.SettingsIcon=nr,v.Shell=A,v.SitePage=Ir,v.Skeleton=oe,v.SkeletonCard=fr,v.SkeletonText=ge,v.Spinner=ve,v.StatCard=ir,v.StatGrid=z,v.StatePage=Rr,v.SunIcon=or,v.Table=qe,v.Tabs=cr,v.Tooltip=dr,v.UserIcon=sr,v.applyTheme=xe,v.useTheme=me,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sirsluginston/sharedui",
3
- "version": "2.0.27",
3
+ "version": "2.0.28",
4
4
  "description": "Server-Driven UI component library for SirSluginston Co projects",
5
5
  "type": "module",
6
6
  "main": "dist/sharedui.js",