@industry-theme/file-city-panel 0.5.77 → 0.5.79

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.
@@ -108,18 +108,19 @@ export interface TrailRequestIntroModalProps {
108
108
  */
109
109
  notedBy?: string[];
110
110
  /**
111
- * Visit roster for the `VISITED BY` row — its own row below
112
- * `REVIEWED BY` and `NOTES BY`.
111
+ * Visit roster for the `VISITED BY` row.
113
112
  *
114
- * - `verified`: display names of identified visitors. The panel is
113
+ * - `verified`: display names of identified visitors rendered as
114
+ * the `VISITED BY` avatar strip below the modal. The panel is
115
115
  * responsible for filtering out anyone already present in the
116
116
  * other two rosters before passing the list in.
117
117
  * - `anonymousCount`: aggregate count of unverified visits — no
118
118
  * per-visitor identity is surfaced.
119
119
  *
120
- * The row renders collapsed by default as `VISITED BY · N` (where
121
- * N is `verified.length + anonymousCount`) and expands on click
122
- * into the verified avatars plus an anonymous-count chip.
120
+ * The aggregate (`verified.length + anonymousCount`) is shown in
121
+ * the modal header next to the relative-time stamp (e.g.
122
+ * `3d ago · 14 visits`); the strip itself only lists verified
123
+ * visitors so anonymous identities aren't fabricated as avatars.
123
124
  */
124
125
  visitedBy?: {
125
126
  verified: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"TrailRequestIntroModal.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityTrailExplorerPanel/overlays/TrailRequestIntroModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAmCzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9D,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IACxC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IAClE,qEAAqE;IACrE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA+pBxE,CAAC;AAoTF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;uDAGmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;8BAC0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CA6CA,CAAC"}
1
+ {"version":3,"file":"TrailRequestIntroModal.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityTrailExplorerPanel/overlays/TrailRequestIntroModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAmCzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9D,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IACxC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IAClE,qEAAqE;IACrE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAuvBxE,CAAC;AA6JF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;uDAGmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;8BAC0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CA6CA,CAAC"}
@@ -258336,7 +258336,20 @@ const TrailRequestIntroModal = ({
258336
258336
  React.useEffect(() => {
258337
258337
  if (!showManifest) setNoteAuthorFilter(null);
258338
258338
  }, [showManifest]);
258339
- const [visitedExpanded, setVisitedExpanded] = React.useState(false);
258339
+ const [expandedPaths, setExpandedPaths] = React.useState(
258340
+ () => /* @__PURE__ */ new Set()
258341
+ );
258342
+ React.useEffect(() => {
258343
+ if (!showManifest) setExpandedPaths(/* @__PURE__ */ new Set());
258344
+ }, [showManifest]);
258345
+ const togglePathExpansion = React.useCallback((index2) => {
258346
+ setExpandedPaths((prev) => {
258347
+ const next2 = new Set(prev);
258348
+ if (next2.has(index2)) next2.delete(index2);
258349
+ else next2.add(index2);
258350
+ return next2;
258351
+ });
258352
+ }, []);
258340
258353
  const visitTotal = ((visitedBy == null ? void 0 : visitedBy.verified.length) ?? 0) + ((visitedBy == null ? void 0 : visitedBy.anonymousCount) ?? 0);
258341
258354
  const [selectedMode, setSelectedMode] = React.useState(
258342
258355
  defaultMode
@@ -258535,7 +258548,18 @@ const TrailRequestIntroModal = ({
258535
258548
  " ",
258536
258549
  /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.textSecondary }, children: author })
258537
258550
  ] }) : null,
258538
- dateStamp ? /* @__PURE__ */ jsx("span", { children: dateStamp }) : null
258551
+ dateStamp ? /* @__PURE__ */ jsx("span", { children: dateStamp }) : null,
258552
+ visitTotal > 0 ? /* @__PURE__ */ jsxs(
258553
+ "span",
258554
+ {
258555
+ title: visitedBy ? `${visitedBy.verified.length} verified · ${visitedBy.anonymousCount} anonymous` : void 0,
258556
+ children: [
258557
+ visitTotal,
258558
+ " ",
258559
+ visitTotal === 1 ? "visit" : "visits"
258560
+ ]
258561
+ }
258562
+ ) : null
258539
258563
  ]
258540
258564
  }
258541
258565
  )
@@ -258729,6 +258753,9 @@ const TrailRequestIntroModal = ({
258729
258753
  const clickable = !!onBeginAtStep;
258730
258754
  const matchesFilter = filteredMarkerIds != null && step.id != null && filteredMarkerIds.has(step.id);
258731
258755
  const dimmed = filteredMarkerIds != null && !matchesFilter;
258756
+ const fileName = step.sourcePath ? step.sourcePath.split("/").pop() || step.sourcePath : null;
258757
+ const pathExpanded = expandedPaths.has(i);
258758
+ const rowBackground = matchesFilter ? `color-mix(in srgb, ${theme2.colors.accent} 18%, transparent)` : "transparent";
258732
258759
  return /* @__PURE__ */ jsx(
258733
258760
  "li",
258734
258761
  {
@@ -258738,30 +258765,18 @@ const TrailRequestIntroModal = ({
258738
258765
  transition: "opacity 120ms ease"
258739
258766
  },
258740
258767
  children: /* @__PURE__ */ jsxs(
258741
- "button",
258768
+ "div",
258742
258769
  {
258743
- type: "button",
258744
- onClick: () => {
258745
- if (onBeginAtStep) onBeginAtStep(i, selectedMode);
258746
- },
258747
- disabled: !clickable,
258748
258770
  style: {
258749
- all: "unset",
258750
258771
  boxSizing: "border-box",
258751
258772
  display: "flex",
258752
- gap: 12,
258753
- alignItems: "baseline",
258773
+ flexDirection: "column",
258754
258774
  width: "100%",
258755
258775
  padding: "6px 8px",
258756
258776
  margin: "0 -8px",
258757
258777
  borderRadius: theme2.radii[1],
258758
- cursor: clickable ? "pointer" : "default",
258759
- fontFamily: "inherit",
258760
- fontSize: "inherit",
258761
- lineHeight: "inherit",
258762
- color: "inherit",
258763
258778
  transition: "background 100ms ease",
258764
- background: matchesFilter ? `color-mix(in srgb, ${theme2.colors.accent} 18%, transparent)` : "transparent",
258779
+ background: rowBackground,
258765
258780
  borderLeft: matchesFilter ? `3px solid ${theme2.colors.accent}` : "3px solid transparent",
258766
258781
  paddingLeft: 8
258767
258782
  },
@@ -258771,44 +258786,110 @@ const TrailRequestIntroModal = ({
258771
258786
  }
258772
258787
  },
258773
258788
  onMouseLeave: (e) => {
258774
- e.currentTarget.style.background = matchesFilter ? `color-mix(in srgb, ${theme2.colors.accent} 18%, transparent)` : "transparent";
258789
+ e.currentTarget.style.background = rowBackground;
258775
258790
  },
258776
- title: clickable ? `Start walkthrough at step ${i + 1}` : void 0,
258777
258791
  children: [
258778
- /* @__PURE__ */ jsx(
258779
- "span",
258792
+ /* @__PURE__ */ jsxs(
258793
+ "div",
258780
258794
  {
258781
258795
  style: {
258782
- color: theme2.colors.textTertiary,
258783
- flexShrink: 0,
258784
- minWidth: 24
258796
+ display: "flex",
258797
+ gap: 12,
258798
+ alignItems: "baseline",
258799
+ width: "100%"
258785
258800
  },
258786
- children: String(i + 1).padStart(2, "0")
258801
+ children: [
258802
+ /* @__PURE__ */ jsxs(
258803
+ "button",
258804
+ {
258805
+ type: "button",
258806
+ onClick: () => {
258807
+ if (onBeginAtStep) onBeginAtStep(i, selectedMode);
258808
+ },
258809
+ disabled: !clickable,
258810
+ title: clickable ? `Start walkthrough at step ${i + 1}` : void 0,
258811
+ style: {
258812
+ all: "unset",
258813
+ boxSizing: "border-box",
258814
+ display: "flex",
258815
+ gap: 12,
258816
+ alignItems: "baseline",
258817
+ flex: 1,
258818
+ minWidth: 0,
258819
+ cursor: clickable ? "pointer" : "default",
258820
+ fontFamily: "inherit",
258821
+ fontSize: "inherit",
258822
+ lineHeight: "inherit",
258823
+ color: "inherit"
258824
+ },
258825
+ children: [
258826
+ /* @__PURE__ */ jsx(
258827
+ "span",
258828
+ {
258829
+ style: {
258830
+ color: theme2.colors.textTertiary,
258831
+ flexShrink: 0,
258832
+ minWidth: 24
258833
+ },
258834
+ children: String(i + 1).padStart(2, "0")
258835
+ }
258836
+ ),
258837
+ /* @__PURE__ */ jsx(
258838
+ "span",
258839
+ {
258840
+ style: {
258841
+ flex: 1,
258842
+ minWidth: 0,
258843
+ color: theme2.colors.text,
258844
+ overflow: "hidden",
258845
+ textOverflow: "ellipsis",
258846
+ whiteSpace: "nowrap"
258847
+ },
258848
+ children: step.label
258849
+ }
258850
+ )
258851
+ ]
258852
+ }
258853
+ ),
258854
+ fileName ? /* @__PURE__ */ jsx(
258855
+ "button",
258856
+ {
258857
+ type: "button",
258858
+ onClick: () => togglePathExpansion(i),
258859
+ "aria-expanded": pathExpanded,
258860
+ title: pathExpanded ? "Hide full path" : step.sourcePath ?? void 0,
258861
+ style: {
258862
+ all: "unset",
258863
+ boxSizing: "border-box",
258864
+ flexShrink: 0,
258865
+ maxWidth: "50%",
258866
+ overflow: "hidden",
258867
+ textOverflow: "ellipsis",
258868
+ whiteSpace: "nowrap",
258869
+ color: pathExpanded ? theme2.colors.text : theme2.colors.textTertiary,
258870
+ cursor: "pointer",
258871
+ textDecoration: pathExpanded ? "underline" : "none",
258872
+ textDecorationStyle: "dotted",
258873
+ textUnderlineOffset: 2
258874
+ },
258875
+ children: fileName
258876
+ }
258877
+ ) : null
258878
+ ]
258787
258879
  }
258788
258880
  ),
258789
- /* @__PURE__ */ jsx(
258790
- "span",
258791
- {
258792
- style: {
258793
- flex: 1,
258794
- minWidth: 0,
258795
- color: theme2.colors.text
258796
- },
258797
- children: step.label
258798
- }
258799
- ),
258800
- step.sourcePath ? /* @__PURE__ */ jsx(
258801
- "span",
258881
+ pathExpanded && step.sourcePath ? /* @__PURE__ */ jsx(
258882
+ "div",
258802
258883
  {
258803
258884
  style: {
258885
+ marginTop: 4,
258886
+ marginLeft: 36,
258887
+ fontFamily: theme2.fonts.monospace,
258888
+ fontSize: theme2.fontSizes[0],
258804
258889
  color: theme2.colors.textTertiary,
258805
- flexShrink: 1,
258806
- minWidth: 0,
258807
- overflow: "hidden",
258808
- textOverflow: "ellipsis",
258809
- whiteSpace: "nowrap"
258890
+ wordBreak: "break-all",
258891
+ lineHeight: 1.4
258810
258892
  },
258811
- title: step.sourcePath,
258812
258893
  children: step.sourcePath
258813
258894
  }
258814
258895
  ) : null
@@ -258957,15 +259038,16 @@ ${s2.comment}` : ""}${hasNotes ? "\n(click to highlight their notes on the manif
258957
259038
  })
258958
259039
  }
258959
259040
  ) : null,
258960
- visitedBy && visitTotal > 0 ? /* @__PURE__ */ jsx(
258961
- VisitedByRow,
259041
+ visitedBy && visitedBy.verified.length > 0 ? /* @__PURE__ */ jsx(
259042
+ AvatarStrip,
258962
259043
  {
258963
259044
  theme: theme2,
258964
- verified: visitedBy.verified,
258965
- anonymousCount: visitedBy.anonymousCount,
258966
- total: visitTotal,
258967
- expanded: visitedExpanded,
258968
- onToggle: () => setVisitedExpanded((v) => !v)
259045
+ label: "VISITED BY",
259046
+ entries: visitedBy.verified.map((name2) => ({
259047
+ key: name2,
259048
+ name: name2,
259049
+ tooltip: name2
259050
+ }))
258969
259051
  }
258970
259052
  ) : null
258971
259053
  ]
@@ -259093,154 +259175,6 @@ const AvatarStrip = ({ theme: theme2, label, entries, ringed = false }) => {
259093
259175
  }
259094
259176
  );
259095
259177
  };
259096
- const VisitedByRow = ({ theme: theme2, verified, anonymousCount, total, expanded, onToggle }) => {
259097
- return /* @__PURE__ */ jsxs(
259098
- "div",
259099
- {
259100
- style: {
259101
- marginTop: 10,
259102
- padding: "8px 14px",
259103
- background: theme2.colors.backgroundSecondary,
259104
- border: `1px solid ${theme2.colors.border}`,
259105
- borderRadius: theme2.radii[3],
259106
- display: "flex",
259107
- alignItems: "center",
259108
- gap: 10,
259109
- flexShrink: 0,
259110
- boxShadow: theme2.shadows[2]
259111
- },
259112
- children: [
259113
- /* @__PURE__ */ jsxs(
259114
- "button",
259115
- {
259116
- type: "button",
259117
- onClick: onToggle,
259118
- title: expanded ? "Collapse visitor breakdown" : `${verified.length} verified · ${anonymousCount} anonymous — click to expand`,
259119
- style: {
259120
- display: "inline-flex",
259121
- alignItems: "center",
259122
- gap: 8,
259123
- flexShrink: 0,
259124
- background: "transparent",
259125
- border: "none",
259126
- padding: 0,
259127
- cursor: "pointer",
259128
- fontFamily: theme2.fonts.monospace,
259129
- fontSize: theme2.fontSizes[0],
259130
- color: theme2.colors.textTertiary,
259131
- letterSpacing: "0.04em"
259132
- },
259133
- children: [
259134
- /* @__PURE__ */ jsx("span", { children: "VISITED BY" }),
259135
- /* @__PURE__ */ jsx(
259136
- "span",
259137
- {
259138
- style: {
259139
- display: "inline-flex",
259140
- alignItems: "center",
259141
- justifyContent: "center",
259142
- minWidth: 24,
259143
- height: 20,
259144
- padding: "0 8px",
259145
- borderRadius: 999,
259146
- background: `color-mix(in srgb, ${theme2.colors.accent} 14%, transparent)`,
259147
- border: `1px solid ${theme2.colors.border}`,
259148
- fontFamily: theme2.fonts.body,
259149
- fontSize: theme2.fontSizes[0],
259150
- color: theme2.colors.textSecondary,
259151
- letterSpacing: 0
259152
- },
259153
- children: total
259154
- }
259155
- ),
259156
- /* @__PURE__ */ jsx(
259157
- "span",
259158
- {
259159
- "aria-hidden": true,
259160
- style: {
259161
- fontFamily: theme2.fonts.body,
259162
- fontSize: theme2.fontSizes[0],
259163
- color: theme2.colors.textTertiary,
259164
- transform: expanded ? "rotate(90deg)" : "rotate(0deg)",
259165
- transition: "transform 120ms ease",
259166
- display: "inline-block",
259167
- lineHeight: 1
259168
- },
259169
- children: "▸"
259170
- }
259171
- )
259172
- ]
259173
- }
259174
- ),
259175
- expanded ? /* @__PURE__ */ jsxs(
259176
- "div",
259177
- {
259178
- style: {
259179
- display: "flex",
259180
- alignItems: "center",
259181
- gap: 6,
259182
- flex: 1,
259183
- minWidth: 0,
259184
- overflowX: "auto"
259185
- },
259186
- children: [
259187
- verified.map((name2) => /* @__PURE__ */ jsxs(
259188
- "span",
259189
- {
259190
- title: name2,
259191
- style: {
259192
- display: "inline-flex",
259193
- alignItems: "center",
259194
- gap: 6,
259195
- flexShrink: 0
259196
- },
259197
- children: [
259198
- /* @__PURE__ */ jsx(Avatar, { theme: theme2, name: name2, size: 24 }),
259199
- /* @__PURE__ */ jsx(
259200
- "span",
259201
- {
259202
- style: {
259203
- fontFamily: theme2.fonts.body,
259204
- fontSize: theme2.fontSizes[0],
259205
- color: theme2.colors.textSecondary
259206
- },
259207
- children: name2
259208
- }
259209
- )
259210
- ]
259211
- },
259212
- name2
259213
- )),
259214
- anonymousCount > 0 ? /* @__PURE__ */ jsxs(
259215
- "span",
259216
- {
259217
- title: `${anonymousCount} anonymous ${anonymousCount === 1 ? "visitor" : "visitors"}`,
259218
- style: {
259219
- display: "inline-flex",
259220
- alignItems: "center",
259221
- flexShrink: 0,
259222
- padding: "2px 10px",
259223
- borderRadius: 999,
259224
- background: "transparent",
259225
- border: `1px dashed ${theme2.colors.border}`,
259226
- fontFamily: theme2.fonts.body,
259227
- fontSize: theme2.fontSizes[0],
259228
- color: theme2.colors.textTertiary
259229
- },
259230
- children: [
259231
- "+",
259232
- anonymousCount,
259233
- " anonymous"
259234
- ]
259235
- }
259236
- ) : null
259237
- ]
259238
- }
259239
- ) : null
259240
- ]
259241
- }
259242
- );
259243
- };
259244
259178
  const LgtmStamp = ({ theme: theme2, size, rotated = true, text: text2 = "LGTM" }) => {
259245
259179
  const inkColor = theme2.colors.success;
259246
259180
  const borderWidth = Math.max(2, Math.round(size / 30));