@empoweredvote/ev-ui 0.2.1 → 0.2.3

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.mjs CHANGED
@@ -4032,15 +4032,81 @@ var styles = {
4032
4032
  }
4033
4033
  };
4034
4034
 
4035
+ // src/TopicTierBadge.jsx
4036
+ import React18 from "react";
4037
+ var TIER_LABELS = {
4038
+ federal: { full: "Federal", compact: "F" },
4039
+ state: { full: "State", compact: "S" },
4040
+ local: { full: "Local", compact: "L" }
4041
+ };
4042
+ var SIZE_STYLES = {
4043
+ xs: {
4044
+ fontSize: fontSizes.xs,
4045
+ padding: `${spacing[1]} ${spacing[2]}`,
4046
+ gap: spacing[1]
4047
+ },
4048
+ sm: {
4049
+ fontSize: fontSizes.xs,
4050
+ padding: `${spacing[1]} ${spacing[2]}`,
4051
+ gap: spacing[1]
4052
+ }
4053
+ };
4054
+ function TopicTierBadge({
4055
+ topic,
4056
+ tiers,
4057
+ size = "sm",
4058
+ layout = "full",
4059
+ style = {}
4060
+ }) {
4061
+ const effectiveTiers = tiers != null ? tiers : topic ? [
4062
+ topic.applies_federal ? "federal" : null,
4063
+ topic.applies_state ? "state" : null,
4064
+ topic.applies_local ? "local" : null
4065
+ ].filter(Boolean) : [];
4066
+ if (effectiveTiers.length === 0) return null;
4067
+ const sizeStyle = SIZE_STYLES[size] || SIZE_STYLES.sm;
4068
+ const containerStyle2 = {
4069
+ display: "inline-flex",
4070
+ alignItems: "center",
4071
+ gap: sizeStyle.gap,
4072
+ flexWrap: "wrap",
4073
+ ...style
4074
+ };
4075
+ const pillStyle = (tier) => ({
4076
+ display: "inline-flex",
4077
+ alignItems: "center",
4078
+ padding: sizeStyle.padding,
4079
+ borderRadius: borderRadius.full,
4080
+ fontFamily: fonts.primary,
4081
+ fontWeight: fontWeights.medium,
4082
+ fontSize: sizeStyle.fontSize,
4083
+ backgroundColor: tierColors[tier].bg,
4084
+ color: tierColors[tier].text,
4085
+ border: `1px solid ${tierColors[tier].text}`,
4086
+ lineHeight: 1,
4087
+ userSelect: "none"
4088
+ });
4089
+ return /* @__PURE__ */ React18.createElement(
4090
+ "span",
4091
+ {
4092
+ className: "ev-topic-tier-badge",
4093
+ style: containerStyle2,
4094
+ role: "group",
4095
+ "aria-label": `Applies at: ${effectiveTiers.map((t) => TIER_LABELS[t].full).join(", ")}`
4096
+ },
4097
+ effectiveTiers.map((tier) => /* @__PURE__ */ React18.createElement("span", { key: tier, style: pillStyle(tier) }, TIER_LABELS[tier][layout]))
4098
+ );
4099
+ }
4100
+
4035
4101
  // src/StanceAccordion.jsx
4036
- import React19, { useState as useState10, useRef as useRef3, useCallback, useEffect as useEffect6 } from "react";
4102
+ import React20, { useState as useState10, useRef as useRef3, useCallback, useEffect as useEffect6 } from "react";
4037
4103
 
4038
4104
  // src/Favicon.jsx
4039
- import React18 from "react";
4105
+ import React19 from "react";
4040
4106
  function Favicon({ url, size = 16 }) {
4041
4107
  try {
4042
4108
  const domain = new URL(url).hostname;
4043
- return /* @__PURE__ */ React18.createElement(
4109
+ return /* @__PURE__ */ React19.createElement(
4044
4110
  "img",
4045
4111
  {
4046
4112
  src: `https://www.google.com/s2/favicons?sz=${size}&domain=${domain}`,
@@ -4051,7 +4117,7 @@ function Favicon({ url, size = 16 }) {
4051
4117
  }
4052
4118
  );
4053
4119
  } catch {
4054
- return /* @__PURE__ */ React18.createElement(
4120
+ return /* @__PURE__ */ React19.createElement(
4055
4121
  "svg",
4056
4122
  {
4057
4123
  width: size,
@@ -4062,8 +4128,8 @@ function Favicon({ url, size = 16 }) {
4062
4128
  strokeWidth: "1.5",
4063
4129
  style: { verticalAlign: "middle", flexShrink: 0 }
4064
4130
  },
4065
- /* @__PURE__ */ React18.createElement("circle", { cx: "12", cy: "12", r: "10" }),
4066
- /* @__PURE__ */ React18.createElement("path", { d: "M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
4131
+ /* @__PURE__ */ React19.createElement("circle", { cx: "12", cy: "12", r: "10" }),
4132
+ /* @__PURE__ */ React19.createElement("path", { d: "M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
4067
4133
  );
4068
4134
  }
4069
4135
  }
@@ -4190,13 +4256,13 @@ function StanceAccordion({
4190
4256
  visibleTopics = [pinned, ...baseTopics.filter((t) => String(t.id) !== String(initialExpandedTopicId))];
4191
4257
  }
4192
4258
  }
4193
- return /* @__PURE__ */ React19.createElement(
4259
+ return /* @__PURE__ */ React20.createElement(
4194
4260
  "div",
4195
4261
  {
4196
4262
  className: "flex flex-col",
4197
4263
  style: { fontFamily: "'Manrope', sans-serif" }
4198
4264
  },
4199
- /* @__PURE__ */ React19.createElement(
4265
+ /* @__PURE__ */ React20.createElement(
4200
4266
  "h3",
4201
4267
  {
4202
4268
  className: "text-sm font-semibold text-neutral-400 uppercase tracking-wider mb-2",
@@ -4218,15 +4284,15 @@ function StanceAccordion({
4218
4284
  if (topic.topic_key) return q.issue === topic.topic_key;
4219
4285
  return topic.short_title && q.issue.toLowerCase() === topic.short_title.toLowerCase();
4220
4286
  }) : [];
4221
- return /* @__PURE__ */ React19.createElement("div", { key: topicId, className: "border-b border-neutral-100" }, /* @__PURE__ */ React19.createElement(
4287
+ return /* @__PURE__ */ React20.createElement("div", { key: topicId, className: "border-b border-neutral-100" }, /* @__PURE__ */ React20.createElement(
4222
4288
  "button",
4223
4289
  {
4224
4290
  type: "button",
4225
4291
  onClick: () => handleToggle(topicId),
4226
4292
  className: "w-full flex items-center justify-between py-3 px-2 text-left cursor-pointer hover:bg-neutral-50 transition-colors"
4227
4293
  },
4228
- /* @__PURE__ */ React19.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React19.createElement("span", { className: "text-sm font-medium text-neutral-800 truncate" }, topic.short_title), questionText && /* @__PURE__ */ React19.createElement("span", { className: "text-xs text-neutral-400 mt-0.5" }, questionText), /* @__PURE__ */ React19.createElement("span", { className: "text-xs text-neutral-500 mt-0.5" }, label)),
4229
- /* @__PURE__ */ React19.createElement(
4294
+ /* @__PURE__ */ React20.createElement("div", { className: "flex flex-col min-w-0" }, /* @__PURE__ */ React20.createElement("span", { className: "text-sm font-medium text-neutral-800 truncate" }, topic.short_title), questionText && /* @__PURE__ */ React20.createElement("span", { className: "text-xs text-neutral-400 mt-0.5" }, questionText), /* @__PURE__ */ React20.createElement("span", { className: "text-xs text-neutral-500 mt-0.5" }, label)),
4295
+ /* @__PURE__ */ React20.createElement(
4230
4296
  "svg",
4231
4297
  {
4232
4298
  width: "16",
@@ -4243,9 +4309,9 @@ function StanceAccordion({
4243
4309
  transition: "transform 0.2s ease"
4244
4310
  }
4245
4311
  },
4246
- /* @__PURE__ */ React19.createElement("polyline", { points: "9 18 15 12 9 6" })
4312
+ /* @__PURE__ */ React20.createElement("polyline", { points: "9 18 15 12 9 6" })
4247
4313
  )
4248
- ), /* @__PURE__ */ React19.createElement(
4314
+ ), /* @__PURE__ */ React20.createElement(
4249
4315
  "div",
4250
4316
  {
4251
4317
  style: {
@@ -4254,7 +4320,7 @@ function StanceAccordion({
4254
4320
  transition: "grid-template-rows 0.25s ease"
4255
4321
  }
4256
4322
  },
4257
- /* @__PURE__ */ React19.createElement("div", { style: { overflow: "hidden" } }, /* @__PURE__ */ React19.createElement("div", { className: "px-2 pb-4" }, isLoading && /* @__PURE__ */ React19.createElement("div", { className: "flex items-center py-3" }, /* @__PURE__ */ React19.createElement(
4323
+ /* @__PURE__ */ React20.createElement("div", { style: { overflow: "hidden" } }, /* @__PURE__ */ React20.createElement("div", { className: "px-2 pb-4" }, isLoading && /* @__PURE__ */ React20.createElement("div", { className: "flex items-center py-3" }, /* @__PURE__ */ React20.createElement(
4258
4324
  "div",
4259
4325
  {
4260
4326
  style: {
@@ -4266,14 +4332,14 @@ function StanceAccordion({
4266
4332
  animation: "ev-spin 0.8s linear infinite"
4267
4333
  }
4268
4334
  }
4269
- )), !isLoading && cached && /* @__PURE__ */ React19.createElement(React19.Fragment, null, cached.reasoning ? /* @__PURE__ */ React19.createElement(
4335
+ )), !isLoading && cached && /* @__PURE__ */ React20.createElement(React20.Fragment, null, cached.reasoning ? /* @__PURE__ */ React20.createElement(
4270
4336
  "p",
4271
4337
  {
4272
4338
  className: "text-sm text-neutral-700 mb-3",
4273
4339
  style: { whiteSpace: "pre-wrap", lineHeight: 1.6 }
4274
4340
  },
4275
4341
  cached.reasoning
4276
- ) : null, cached.sources && cached.sources.length > 0 && /* @__PURE__ */ React19.createElement("div", { className: "mt-2" }, /* @__PURE__ */ React19.createElement("p", { className: "text-xs font-semibold text-neutral-500 uppercase tracking-wider mb-1.5" }, "References"), /* @__PURE__ */ React19.createElement("ol", { className: "list-decimal list-inside space-y-1" }, cached.sources.map((src, i) => /* @__PURE__ */ React19.createElement("li", { key: i, className: "text-xs text-neutral-600" }, /* @__PURE__ */ React19.createElement(
4342
+ ) : null, cached.sources && cached.sources.length > 0 && /* @__PURE__ */ React20.createElement("div", { className: "mt-2" }, /* @__PURE__ */ React20.createElement("p", { className: "text-xs font-semibold text-neutral-500 uppercase tracking-wider mb-1.5" }, "References"), /* @__PURE__ */ React20.createElement("ol", { className: "list-decimal list-inside space-y-1" }, cached.sources.map((src, i) => /* @__PURE__ */ React20.createElement("li", { key: i, className: "text-xs text-neutral-600" }, /* @__PURE__ */ React20.createElement(
4277
4343
  "a",
4278
4344
  {
4279
4345
  href: src,
@@ -4281,9 +4347,9 @@ function StanceAccordion({
4281
4347
  rel: "noreferrer",
4282
4348
  className: "inline-flex items-center gap-1.5 hover:text-[#00657c] transition-colors"
4283
4349
  },
4284
- /* @__PURE__ */ React19.createElement(Favicon, { url: src }),
4285
- /* @__PURE__ */ React19.createElement("span", { className: "underline underline-offset-2" }, getDisplayUrl(src))
4286
- ))))), topicQuotes.length > 0 && /* @__PURE__ */ React19.createElement("div", { style: { marginTop: "12px" } }, /* @__PURE__ */ React19.createElement(
4350
+ /* @__PURE__ */ React20.createElement(Favicon, { url: src }),
4351
+ /* @__PURE__ */ React20.createElement("span", { className: "underline underline-offset-2" }, getDisplayUrl(src))
4352
+ ))))), topicQuotes.length > 0 && /* @__PURE__ */ React20.createElement("div", { style: { marginTop: "12px" } }, /* @__PURE__ */ React20.createElement(
4287
4353
  "p",
4288
4354
  {
4289
4355
  style: {
@@ -4300,7 +4366,7 @@ function StanceAccordion({
4300
4366
  const verdict = verdictsByQuote ? verdictsByQuote[quote.id] : void 0;
4301
4367
  const borderColor = verdict === "agreed" ? "#0e7490" : verdict === "disagreed" ? "#b45309" : "#e2e8f0";
4302
4368
  const sourceName = quote.source_name || quote.sourceName;
4303
- return /* @__PURE__ */ React19.createElement(
4369
+ return /* @__PURE__ */ React20.createElement(
4304
4370
  "div",
4305
4371
  {
4306
4372
  key: quote.id,
@@ -4312,7 +4378,7 @@ function StanceAccordion({
4312
4378
  marginBottom: "8px"
4313
4379
  }
4314
4380
  },
4315
- /* @__PURE__ */ React19.createElement(
4381
+ /* @__PURE__ */ React20.createElement(
4316
4382
  "p",
4317
4383
  {
4318
4384
  style: {
@@ -4325,7 +4391,7 @@ function StanceAccordion({
4325
4391
  },
4326
4392
  quote.text
4327
4393
  ),
4328
- verdict === "agreed" && /* @__PURE__ */ React19.createElement(
4394
+ verdict === "agreed" && /* @__PURE__ */ React20.createElement(
4329
4395
  "span",
4330
4396
  {
4331
4397
  style: {
@@ -4342,10 +4408,10 @@ function StanceAccordion({
4342
4408
  flexShrink: 0
4343
4409
  }
4344
4410
  },
4345
- /* @__PURE__ */ React19.createElement("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React19.createElement("path", { d: "M5 13l4 4L19 7" })),
4411
+ /* @__PURE__ */ React20.createElement("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React20.createElement("path", { d: "M5 13l4 4L19 7" })),
4346
4412
  "Agreed"
4347
4413
  ),
4348
- verdict === "disagreed" && /* @__PURE__ */ React19.createElement(
4414
+ verdict === "disagreed" && /* @__PURE__ */ React20.createElement(
4349
4415
  "span",
4350
4416
  {
4351
4417
  style: {
@@ -4362,10 +4428,10 @@ function StanceAccordion({
4362
4428
  flexShrink: 0
4363
4429
  }
4364
4430
  },
4365
- /* @__PURE__ */ React19.createElement("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React19.createElement("path", { d: "M6 18L18 6M6 6l12 12" })),
4431
+ /* @__PURE__ */ React20.createElement("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React20.createElement("path", { d: "M6 18L18 6M6 6l12 12" })),
4366
4432
  "Disagreed"
4367
4433
  ),
4368
- sourceName && /* @__PURE__ */ React19.createElement(
4434
+ sourceName && /* @__PURE__ */ React20.createElement(
4369
4435
  "a",
4370
4436
  {
4371
4437
  href: quote.source_url || quote.sourceUrl,
@@ -4382,10 +4448,10 @@ function StanceAccordion({
4382
4448
  sourceName
4383
4449
  )
4384
4450
  );
4385
- })), !cached.reasoning && (!cached.sources || cached.sources.length === 0) && topicQuotes.length === 0 && /* @__PURE__ */ React19.createElement("p", { className: "text-sm text-neutral-400 italic py-2" }, "No detailed reasoning available for this topic."))))
4451
+ })), !cached.reasoning && (!cached.sources || cached.sources.length === 0) && topicQuotes.length === 0 && /* @__PURE__ */ React20.createElement("p", { className: "text-sm text-neutral-400 italic py-2" }, "No detailed reasoning available for this topic."))))
4386
4452
  ));
4387
4453
  }),
4388
- hasToggle && /* @__PURE__ */ React19.createElement(
4454
+ hasToggle && /* @__PURE__ */ React20.createElement(
4389
4455
  "button",
4390
4456
  {
4391
4457
  type: "button",
@@ -4399,9 +4465,9 @@ function StanceAccordion({
4399
4465
  }
4400
4466
 
4401
4467
  // src/icons.js
4402
- import React20 from "react";
4468
+ import React21 from "react";
4403
4469
  function BallotIcon({ size = 16, color = "currentColor" }) {
4404
- return /* @__PURE__ */ React20.createElement(
4470
+ return /* @__PURE__ */ React21.createElement(
4405
4471
  "svg",
4406
4472
  {
4407
4473
  width: size,
@@ -4414,13 +4480,13 @@ function BallotIcon({ size = 16, color = "currentColor" }) {
4414
4480
  strokeLinejoin: "round",
4415
4481
  xmlns: "http://www.w3.org/2000/svg"
4416
4482
  },
4417
- /* @__PURE__ */ React20.createElement("path", { d: "m9 12 2 2 4-4" }),
4418
- /* @__PURE__ */ React20.createElement("path", { d: "M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z" }),
4419
- /* @__PURE__ */ React20.createElement("path", { d: "M22 19H2" })
4483
+ /* @__PURE__ */ React21.createElement("path", { d: "m9 12 2 2 4-4" }),
4484
+ /* @__PURE__ */ React21.createElement("path", { d: "M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z" }),
4485
+ /* @__PURE__ */ React21.createElement("path", { d: "M22 19H2" })
4420
4486
  );
4421
4487
  }
4422
4488
  function CompassIcon({ size = 16, color = "currentColor" }) {
4423
- return /* @__PURE__ */ React20.createElement(
4489
+ return /* @__PURE__ */ React21.createElement(
4424
4490
  "svg",
4425
4491
  {
4426
4492
  width: size,
@@ -4433,27 +4499,27 @@ function CompassIcon({ size = 16, color = "currentColor" }) {
4433
4499
  strokeLinejoin: "round",
4434
4500
  xmlns: "http://www.w3.org/2000/svg"
4435
4501
  },
4436
- /* @__PURE__ */ React20.createElement("circle", { cx: "12", cy: "12", r: "10" }),
4437
- /* @__PURE__ */ React20.createElement("path", { d: "m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z" })
4502
+ /* @__PURE__ */ React21.createElement("circle", { cx: "12", cy: "12", r: "10" }),
4503
+ /* @__PURE__ */ React21.createElement("path", { d: "m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z" })
4438
4504
  );
4439
4505
  }
4440
4506
  function BranchIcon({ size = 16, color = "currentColor", branch }) {
4441
4507
  let paths;
4442
4508
  switch (branch) {
4443
4509
  case "executive":
4444
- paths = /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("path", { d: "M3 21h18" }), /* @__PURE__ */ React20.createElement("path", { d: "M5 21V7l8-4v18" }), /* @__PURE__ */ React20.createElement("path", { d: "M19 21V11l-6-4" }), /* @__PURE__ */ React20.createElement("path", { d: "M9 9v.01" }), /* @__PURE__ */ React20.createElement("path", { d: "M9 12v.01" }), /* @__PURE__ */ React20.createElement("path", { d: "M9 15v.01" }), /* @__PURE__ */ React20.createElement("path", { d: "M9 18v.01" }), /* @__PURE__ */ React20.createElement("path", { d: "M5 21h14" }), /* @__PURE__ */ React20.createElement("line", { x1: "13", y1: "5", x2: "13", y2: "3" }), /* @__PURE__ */ React20.createElement("line", { x1: "13", y1: "3", x2: "15", y2: "4" }));
4510
+ paths = /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("path", { d: "M3 21h18" }), /* @__PURE__ */ React21.createElement("path", { d: "M5 21V7l8-4v18" }), /* @__PURE__ */ React21.createElement("path", { d: "M19 21V11l-6-4" }), /* @__PURE__ */ React21.createElement("path", { d: "M9 9v.01" }), /* @__PURE__ */ React21.createElement("path", { d: "M9 12v.01" }), /* @__PURE__ */ React21.createElement("path", { d: "M9 15v.01" }), /* @__PURE__ */ React21.createElement("path", { d: "M9 18v.01" }), /* @__PURE__ */ React21.createElement("path", { d: "M5 21h14" }), /* @__PURE__ */ React21.createElement("line", { x1: "13", y1: "5", x2: "13", y2: "3" }), /* @__PURE__ */ React21.createElement("line", { x1: "13", y1: "3", x2: "15", y2: "4" }));
4445
4511
  break;
4446
4512
  case "legislative":
4447
- paths = /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("path", { d: "M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4" }), /* @__PURE__ */ React20.createElement("path", { d: "M19 17V5a2 2 0 0 0-2-2H4" }), /* @__PURE__ */ React20.createElement("path", { d: "M15 8h-5" }), /* @__PURE__ */ React20.createElement("path", { d: "M15 12h-5" }));
4513
+ paths = /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("path", { d: "M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4" }), /* @__PURE__ */ React21.createElement("path", { d: "M19 17V5a2 2 0 0 0-2-2H4" }), /* @__PURE__ */ React21.createElement("path", { d: "M15 8h-5" }), /* @__PURE__ */ React21.createElement("path", { d: "M15 12h-5" }));
4448
4514
  break;
4449
4515
  case "judicial":
4450
- paths = /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("path", { d: "M12 3v19" }), /* @__PURE__ */ React20.createElement("path", { d: "M5 8l7-5 7 5" }), /* @__PURE__ */ React20.createElement("path", { d: "M3 13l2-5 2 5a3 3 0 0 1-4 0z" }), /* @__PURE__ */ React20.createElement("path", { d: "M17 13l2-5 2 5a3 3 0 0 1-4 0z" }), /* @__PURE__ */ React20.createElement("path", { d: "M8 21h8" }));
4516
+ paths = /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("path", { d: "M12 3v19" }), /* @__PURE__ */ React21.createElement("path", { d: "M5 8l7-5 7 5" }), /* @__PURE__ */ React21.createElement("path", { d: "M3 13l2-5 2 5a3 3 0 0 1-4 0z" }), /* @__PURE__ */ React21.createElement("path", { d: "M17 13l2-5 2 5a3 3 0 0 1-4 0z" }), /* @__PURE__ */ React21.createElement("path", { d: "M8 21h8" }));
4451
4517
  break;
4452
4518
  default:
4453
- paths = /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement("path", { d: "M10 18v-7" }), /* @__PURE__ */ React20.createElement("path", { d: "M11.12 2.198a2 2 0 0 1 1.76.006l7.866 3.847c.476.233.31.949-.22.949H3.474c-.53 0-.695-.716-.22-.949z" }), /* @__PURE__ */ React20.createElement("path", { d: "M14 18v-7" }), /* @__PURE__ */ React20.createElement("path", { d: "M18 18v-7" }), /* @__PURE__ */ React20.createElement("path", { d: "M3 22h18" }), /* @__PURE__ */ React20.createElement("path", { d: "M6 18v-7" }));
4519
+ paths = /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("path", { d: "M10 18v-7" }), /* @__PURE__ */ React21.createElement("path", { d: "M11.12 2.198a2 2 0 0 1 1.76.006l7.866 3.847c.476.233.31.949-.22.949H3.474c-.53 0-.695-.716-.22-.949z" }), /* @__PURE__ */ React21.createElement("path", { d: "M14 18v-7" }), /* @__PURE__ */ React21.createElement("path", { d: "M18 18v-7" }), /* @__PURE__ */ React21.createElement("path", { d: "M3 22h18" }), /* @__PURE__ */ React21.createElement("path", { d: "M6 18v-7" }));
4454
4520
  break;
4455
4521
  }
4456
- return /* @__PURE__ */ React20.createElement(
4522
+ return /* @__PURE__ */ React21.createElement(
4457
4523
  "svg",
4458
4524
  {
4459
4525
  width: size,
@@ -4491,6 +4557,7 @@ export {
4491
4557
  SocialLinks,
4492
4558
  StanceAccordion,
4493
4559
  SubGroupSection,
4560
+ TopicTierBadge,
4494
4561
  accessibleText,
4495
4562
  borderRadius,
4496
4563
  breakpoints,