@sproutsocial/seeds-react-profile 0.3.36 → 0.3.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,23 @@
1
1
  yarn run v1.22.22
2
- $ tsup --dts
2
+ $ tsup --dts && cp src/*.css dist/
3
+ ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
4
+
5
+ package.json:14:6:
6
+ 14 │ "types": "./dist/index.d.ts"
7
+ ╵ ~~~~~~~
8
+
9
+ The "import" condition comes earlier and will be used for all "import" statements:
10
+
11
+ package.json:12:6:
12
+ 12 │ "import": "./dist/esm/index.js",
13
+ ╵ ~~~~~~~~
14
+
15
+ The "require" condition comes earlier and will be used for all "require" calls:
16
+
17
+ package.json:13:6:
18
+ 13 │ "require": "./dist/index.js",
19
+ ╵ ~~~~~~~~~
20
+
3
21
  CLI Building entry: src/index.ts
4
22
  CLI Using tsconfig: tsconfig.json
5
23
  CLI tsup v8.5.0
@@ -8,14 +26,52 @@ $ tsup --dts
8
26
  CLI Cleaning output folder
9
27
  CJS Build start
10
28
  ESM Build start
11
- CJS dist/index.js 13.34 KB
12
- CJS dist/index.js.map 18.60 KB
13
- CJS ⚡️ Build success in 18ms
14
- ESM dist/esm/index.js 9.74 KB
15
- ESM dist/esm/index.js.map 18.46 KB
16
- ESM ⚡️ Build success in 19ms
29
+ [warn] ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
30
+
31
+ package.json:14:6:
32
+  14 │ "types": "./dist/index.d.ts"
33
+ ~~~~~~~
34
+
35
+ The "import" condition comes earlier and will be used for all "import" statements:
36
+
37
+ package.json:12:6:
38
+  12 │ "import": "./dist/esm/index.js",
39
+ ╵ ~~~~~~~~
40
+
41
+ The "require" condition comes earlier and will be used for all "require" calls:
42
+
43
+ package.json:13:6:
44
+  13 │ "require": "./dist/index.js",
45
+ ╵ ~~~~~~~~~
46
+
47
+
48
+ [warn] ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
49
+
50
+ package.json:14:6:
51
+  14 │ "types": "./dist/index.d.ts"
52
+ ╵ ~~~~~~~
53
+
54
+ The "import" condition comes earlier and will be used for all "import" statements:
55
+
56
+ package.json:12:6:
57
+  12 │ "import": "./dist/esm/index.js",
58
+ ╵ ~~~~~~~~
59
+
60
+ The "require" condition comes earlier and will be used for all "require" calls:
61
+
62
+ package.json:13:6:
63
+  13 │ "require": "./dist/index.js",
64
+ ╵ ~~~~~~~~~
65
+
66
+
67
+ CJS dist/index.js 23.17 KB
68
+ CJS dist/index.js.map 34.94 KB
69
+ CJS ⚡️ Build success in 32ms
70
+ ESM dist/esm/index.js 18.09 KB
71
+ ESM dist/esm/index.js.map 35.08 KB
72
+ ESM ⚡️ Build success in 32ms
17
73
  DTS Build start
18
- DTS ⚡️ Build success in 1895ms
19
- DTS dist/index.d.ts 5.82 KB
20
- DTS dist/index.d.mts 5.82 KB
21
- Done in 2.76s.
74
+ DTS ⚡️ Build success in 2474ms
75
+ DTS dist/index.d.ts 4.05 KB
76
+ DTS dist/index.d.mts 4.05 KB
77
+ Done in 3.33s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @sproutsocial/seeds-react-profile
2
2
 
3
+ ## 0.3.39
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [917a951]
8
+ - Updated dependencies [6611f6a]
9
+ - Updated dependencies [ca608f7]
10
+ - @sproutsocial/seeds-react-icon@2.4.3
11
+ - @sproutsocial/seeds-react-system-props@3.1.2
12
+ - @sproutsocial/seeds-react-partner-logo@1.7.16
13
+ - @sproutsocial/seeds-react-card@1.1.45
14
+ - @sproutsocial/seeds-react-link@1.1.16
15
+ - @sproutsocial/seeds-react-token@1.5.10
16
+ - @sproutsocial/seeds-react-avatar@1.1.20
17
+ - @sproutsocial/seeds-react-text@1.5.1
18
+
19
+ ## 0.3.38
20
+
21
+ ### Patch Changes
22
+
23
+ - c60d701: Migrate InlineProfile, ProfileCard, and ProfileToken from styled-components to the Tailwind/CSS-class hybrid pattern. Each component now ships a scoped CSS file (classes wrapped in `@layer components`, using `var(--)` design tokens) consumed via `@sproutsocial/racine/css/components`, with the `styled()` / styled-system backward-compat path preserved. No public API changes.
24
+
25
+ ## 0.3.37
26
+
27
+ ### Patch Changes
28
+
29
+ - @sproutsocial/seeds-react-avatar@1.1.19
30
+ - @sproutsocial/seeds-react-card@1.1.44
31
+ - @sproutsocial/seeds-react-icon@2.4.2
32
+ - @sproutsocial/seeds-react-link@1.1.15
33
+ - @sproutsocial/seeds-react-partner-logo@1.7.15
34
+ - @sproutsocial/seeds-react-token@1.5.9
35
+
3
36
  ## 0.3.36
4
37
 
5
38
  ### Patch Changes
package/dist/esm/index.js CHANGED
@@ -1,4 +1,7 @@
1
- // src/ProfileCard.tsx
1
+ // src/ProfileCardHybrid.tsx
2
+ import { needsStyledComponents } from "@sproutsocial/seeds-react-system-props";
3
+
4
+ // src/ProfileCardStyled.tsx
2
5
  import styled from "styled-components";
3
6
  import { PartnerLogo } from "@sproutsocial/seeds-react-partner-logo";
4
7
  import { Avatar } from "@sproutsocial/seeds-react-avatar";
@@ -56,7 +59,7 @@ var VerifiedProfileIcon = ({
56
59
  );
57
60
  };
58
61
 
59
- // src/ProfileCard.tsx
62
+ // src/ProfileCardStyled.tsx
60
63
  import { jsx as jsx2, jsxs } from "react/jsx-runtime";
61
64
  var StyledProfileCard = styled(Card)`
62
65
  max-width: 300px;
@@ -113,7 +116,7 @@ var InfoRow = styled.div`
113
116
  align-items: center;
114
117
  gap: ${(props) => props.theme.space[300]};
115
118
  `;
116
- var ProfileCard = ({
119
+ var ProfileCardStyled = ({
117
120
  partnerName,
118
121
  name,
119
122
  secondaryName,
@@ -161,7 +164,7 @@ var ProfileCard = ({
161
164
  size: "small"
162
165
  }
163
166
  )
164
- ] }) : /* @__PURE__ */ jsx2(Text.SmallByline, { children: secondaryName }),
167
+ ] }) : /* @__PURE__ */ jsx2(Text.SmallByline, { color: "text.subtext", children: secondaryName }),
165
168
  verificationType && /* @__PURE__ */ jsx2(
166
169
  VerifiedProfileIcon,
167
170
  {
@@ -181,11 +184,149 @@ var ProfileCard = ({
181
184
  ] });
182
185
  };
183
186
 
184
- // src/InlineProfile.tsx
185
- import styled2 from "styled-components";
187
+ // src/ProfileCardTailwind.tsx
186
188
  import { PartnerLogo as PartnerLogo2 } from "@sproutsocial/seeds-react-partner-logo";
187
189
  import { Avatar as Avatar2 } from "@sproutsocial/seeds-react-avatar";
190
+ import { Icon as Icon3 } from "@sproutsocial/seeds-react-icon";
191
+ import { Link as Link2 } from "@sproutsocial/seeds-react-link";
192
+ import { Text as Text2 } from "@sproutsocial/seeds-react-text";
193
+
194
+ // src/cn.ts
195
+ function cn(...inputs) {
196
+ const classes = [];
197
+ for (const input of inputs) {
198
+ if (!input) continue;
199
+ if (typeof input === "string") {
200
+ classes.push(input);
201
+ } else if (typeof input === "object") {
202
+ for (const [key, value] of Object.entries(input)) {
203
+ if (value) {
204
+ classes.push(key);
205
+ }
206
+ }
207
+ }
208
+ }
209
+ return classes.join(" ");
210
+ }
211
+
212
+ // src/ProfileCardTailwind.tsx
188
213
  import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
214
+ var ProfileCardTailwind = ({
215
+ partnerName,
216
+ name,
217
+ secondaryName,
218
+ avatarUrl,
219
+ subtext,
220
+ description,
221
+ verificationType,
222
+ profileUrl,
223
+ location,
224
+ bannerColor,
225
+ bannerContent,
226
+ metadata,
227
+ profileActions,
228
+ footer,
229
+ className,
230
+ cardProps
231
+ }) => {
232
+ const {
233
+ className: cardClassName,
234
+ role: cardRole,
235
+ ...restCardProps
236
+ } = cardProps ?? {};
237
+ return /* @__PURE__ */ jsxs2(
238
+ "div",
239
+ {
240
+ role: cardRole ?? "presentation",
241
+ className: cn("seeds-profile-card", className, cardClassName),
242
+ ...restCardProps,
243
+ children: [
244
+ /* @__PURE__ */ jsxs2(
245
+ "div",
246
+ {
247
+ className: "seeds-profile-card-header",
248
+ style: {
249
+ ["--seeds-profile-card-banner-bg"]: bannerColor ?? (partnerName ? `var(--color-network-${partnerName})` : void 0)
250
+ },
251
+ children: [
252
+ /* @__PURE__ */ jsx3(Avatar2, { src: avatarUrl, name, size: "60px", mt: 450 }),
253
+ bannerContent && /* @__PURE__ */ jsx3("div", { className: "seeds-profile-card-banner-content", children: bannerContent })
254
+ ]
255
+ }
256
+ ),
257
+ /* @__PURE__ */ jsx3("div", { className: "seeds-profile-card-actions", children: profileActions }),
258
+ /* @__PURE__ */ jsxs2("div", { className: "seeds-profile-card-content", children: [
259
+ /* @__PURE__ */ jsxs2("div", { className: "seeds-profile-card-name-section", children: [
260
+ partnerName && /* @__PURE__ */ jsx3(
261
+ PartnerLogo2,
262
+ {
263
+ partnerName,
264
+ "aria-label": `${partnerName} profile`,
265
+ size: "small"
266
+ }
267
+ ),
268
+ /* @__PURE__ */ jsx3(Text2.SubHeadline, { as: "h2", children: name })
269
+ ] }),
270
+ subtext && /* @__PURE__ */ jsx3(Text2, { fontSize: 200, color: "text.subtext", children: subtext }),
271
+ secondaryName && /* @__PURE__ */ jsxs2("div", { className: "seeds-profile-card-info-row", children: [
272
+ profileUrl ? /* @__PURE__ */ jsxs2(Link2, { href: profileUrl, external: true, children: [
273
+ /* @__PURE__ */ jsx3(Text2, { fontSize: 200, children: secondaryName }),
274
+ /* @__PURE__ */ jsx3(
275
+ Icon3,
276
+ {
277
+ name: "arrow-right-up-outline",
278
+ "aria-hidden": true,
279
+ ml: 100,
280
+ size: "small"
281
+ }
282
+ )
283
+ ] }) : /* @__PURE__ */ jsx3(Text2.SmallByline, { color: "text.subtext", children: secondaryName }),
284
+ verificationType && /* @__PURE__ */ jsx3(
285
+ VerifiedProfileIcon,
286
+ {
287
+ partnerName,
288
+ verificationType
289
+ }
290
+ )
291
+ ] }),
292
+ description && /* @__PURE__ */ jsx3(Text2, { color: "text.subtext", fontSize: 200, children: description }),
293
+ location && /* @__PURE__ */ jsxs2("div", { className: "seeds-profile-card-info-row", children: [
294
+ /* @__PURE__ */ jsx3(
295
+ Icon3,
296
+ {
297
+ color: "icon.base",
298
+ name: "location-pin-outline",
299
+ "aria-hidden": true,
300
+ size: "small"
301
+ }
302
+ ),
303
+ /* @__PURE__ */ jsx3(Text2, { color: "text.subtext", fontSize: 200, children: location })
304
+ ] }),
305
+ metadata && metadata.length > 0 && /* @__PURE__ */ jsx3("div", { className: "seeds-profile-card-info-row", children: metadata.map((info, index) => /* @__PURE__ */ jsx3(Text2, { color: "text.subtext", fontSize: 200, children: info }, index)) })
306
+ ] }),
307
+ footer && /* @__PURE__ */ jsx3("div", { className: "seeds-profile-card-footer", children: footer })
308
+ ]
309
+ }
310
+ );
311
+ };
312
+
313
+ // src/ProfileCardHybrid.tsx
314
+ import { jsx as jsx4 } from "react/jsx-runtime";
315
+ var ProfileCardHybrid = (props) => {
316
+ if (needsStyledComponents(props) || props.cardProps && needsStyledComponents(props.cardProps)) {
317
+ return /* @__PURE__ */ jsx4(ProfileCardStyled, { ...props });
318
+ }
319
+ return /* @__PURE__ */ jsx4(ProfileCardTailwind, { ...props });
320
+ };
321
+
322
+ // src/InlineProfileHybrid.tsx
323
+ import { needsStyledComponents as needsStyledComponents2 } from "@sproutsocial/seeds-react-system-props";
324
+
325
+ // src/InlineProfileStyled.tsx
326
+ import styled2 from "styled-components";
327
+ import { PartnerLogo as PartnerLogo3 } from "@sproutsocial/seeds-react-partner-logo";
328
+ import { Avatar as Avatar3 } from "@sproutsocial/seeds-react-avatar";
329
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
189
330
  var InlineProfileContainer = styled2.span`
190
331
  display: inline-flex;
191
332
  flex-direction: row;
@@ -246,7 +387,7 @@ var avatarSizeMap = {
246
387
  medium: "20px",
247
388
  large: "24px"
248
389
  };
249
- var InlineProfile = ({
390
+ var InlineProfileStyled = ({
250
391
  name,
251
392
  secondaryName,
252
393
  partnerName,
@@ -259,22 +400,22 @@ var InlineProfile = ({
259
400
  }) => {
260
401
  const displayName = name || secondaryName || "Unknown Profile";
261
402
  const avatarSize = avatarSizeOverride || avatarSizeMap[size];
262
- return /* @__PURE__ */ jsxs2(InlineProfileContainer, { className, $size: size, children: [
263
- avatarUrl && /* @__PURE__ */ jsx3(InlineProfileAvatar, { children: /* @__PURE__ */ jsx3(Avatar2, { src: avatarUrl, name: displayName, size: avatarSize }) }),
264
- /* @__PURE__ */ jsxs2(InlineProfileContent, { children: [
265
- partnerName && /* @__PURE__ */ jsx3(InlineProfileNetwork, { children: /* @__PURE__ */ jsx3(
266
- PartnerLogo2,
403
+ return /* @__PURE__ */ jsxs3(InlineProfileContainer, { className, $size: size, children: [
404
+ avatarUrl && /* @__PURE__ */ jsx5(InlineProfileAvatar, { children: /* @__PURE__ */ jsx5(Avatar3, { src: avatarUrl, name: displayName, size: avatarSize }) }),
405
+ /* @__PURE__ */ jsxs3(InlineProfileContent, { children: [
406
+ partnerName && /* @__PURE__ */ jsx5(InlineProfileNetwork, { children: /* @__PURE__ */ jsx5(
407
+ PartnerLogo3,
267
408
  {
268
409
  partnerName,
269
410
  "aria-label": partnerLogoLabel || `${partnerName} profile`,
270
411
  size: "small"
271
412
  }
272
413
  ) }),
273
- /* @__PURE__ */ jsxs2(InlineProfileText, { children: [
274
- name && /* @__PURE__ */ jsx3(InlineProfileName, { children: name }),
275
- secondaryName && /* @__PURE__ */ jsx3(InlineProfileHandle, { children: secondaryName })
414
+ /* @__PURE__ */ jsxs3(InlineProfileText, { children: [
415
+ name && /* @__PURE__ */ jsx5(InlineProfileName, { children: name }),
416
+ secondaryName && /* @__PURE__ */ jsx5(InlineProfileHandle, { children: secondaryName })
276
417
  ] }),
277
- verificationType && /* @__PURE__ */ jsx3(
418
+ verificationType && /* @__PURE__ */ jsx5(
278
419
  VerifiedProfileIcon,
279
420
  {
280
421
  partnerName,
@@ -285,10 +426,70 @@ var InlineProfile = ({
285
426
  ] });
286
427
  };
287
428
 
288
- // src/ProfileToken.tsx
429
+ // src/InlineProfileTailwind.tsx
430
+ import { PartnerLogo as PartnerLogo4 } from "@sproutsocial/seeds-react-partner-logo";
431
+ import { Avatar as Avatar4 } from "@sproutsocial/seeds-react-avatar";
432
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
433
+ var avatarSizeMap2 = {
434
+ small: "16px",
435
+ medium: "20px",
436
+ large: "24px"
437
+ };
438
+ var InlineProfileTailwind = ({
439
+ name,
440
+ secondaryName,
441
+ partnerName,
442
+ partnerLogoLabel,
443
+ size = "medium",
444
+ avatarSize: avatarSizeOverride,
445
+ avatarUrl,
446
+ verificationType,
447
+ className
448
+ }) => {
449
+ const displayName = name || secondaryName || "Unknown Profile";
450
+ const avatarSize = avatarSizeOverride || avatarSizeMap2[size];
451
+ return /* @__PURE__ */ jsxs4("span", { className: cn("seeds-inline-profile", className), children: [
452
+ avatarUrl && /* @__PURE__ */ jsx6("span", { className: "seeds-inline-profile-avatar", children: /* @__PURE__ */ jsx6(Avatar4, { src: avatarUrl, name: displayName, size: avatarSize }) }),
453
+ /* @__PURE__ */ jsxs4("span", { className: "seeds-inline-profile-content", children: [
454
+ partnerName && /* @__PURE__ */ jsx6("span", { className: "seeds-inline-profile-network", children: /* @__PURE__ */ jsx6(
455
+ PartnerLogo4,
456
+ {
457
+ partnerName,
458
+ "aria-label": partnerLogoLabel || `${partnerName} profile`,
459
+ size: "small"
460
+ }
461
+ ) }),
462
+ /* @__PURE__ */ jsxs4("span", { className: "seeds-inline-profile-text", children: [
463
+ name && /* @__PURE__ */ jsx6("span", { className: "seeds-inline-profile-name", children: name }),
464
+ secondaryName && /* @__PURE__ */ jsx6("span", { className: "seeds-inline-profile-handle", children: secondaryName })
465
+ ] }),
466
+ verificationType && /* @__PURE__ */ jsx6(
467
+ VerifiedProfileIcon,
468
+ {
469
+ partnerName,
470
+ verificationType
471
+ }
472
+ )
473
+ ] })
474
+ ] });
475
+ };
476
+
477
+ // src/InlineProfileHybrid.tsx
478
+ import { jsx as jsx7 } from "react/jsx-runtime";
479
+ var InlineProfileHybrid = (props) => {
480
+ if (needsStyledComponents2(props)) {
481
+ return /* @__PURE__ */ jsx7(InlineProfileStyled, { ...props });
482
+ }
483
+ return /* @__PURE__ */ jsx7(InlineProfileTailwind, { ...props });
484
+ };
485
+
486
+ // src/ProfileTokenHybrid.tsx
487
+ import { needsStyledComponents as needsStyledComponents3 } from "@sproutsocial/seeds-react-system-props";
488
+
489
+ // src/ProfileTokenStyled.tsx
289
490
  import styled3 from "styled-components";
290
491
  import { Token } from "@sproutsocial/seeds-react-token";
291
- import { jsx as jsx4 } from "react/jsx-runtime";
492
+ import { jsx as jsx8 } from "react/jsx-runtime";
292
493
  var StyledProfileToken = styled3(Token)`
293
494
  box-sizing: border-box;
294
495
  display: inline-flex;
@@ -298,24 +499,55 @@ var StyledProfileToken = styled3(Token)`
298
499
  ${(props) => props.theme.space[200]};
299
500
  margin: ${(props) => props.theme.space[100]} 0;
300
501
  `;
301
- var ProfileToken = ({
502
+ var ProfileTokenStyled = ({
302
503
  className,
303
504
  onClick,
304
505
  tokenProps,
305
506
  ...props
306
- }) => /* @__PURE__ */ jsx4(
507
+ }) => /* @__PURE__ */ jsx8(
307
508
  StyledProfileToken,
308
509
  {
309
510
  className,
310
511
  closeable: false,
311
512
  onClick,
312
513
  ...tokenProps,
313
- children: /* @__PURE__ */ jsx4(InlineProfile, { size: "small", ...props })
514
+ children: /* @__PURE__ */ jsx8(InlineProfileHybrid, { size: "small", ...props })
314
515
  }
315
516
  );
517
+
518
+ // src/ProfileTokenTailwind.tsx
519
+ import { Token as Token2 } from "@sproutsocial/seeds-react-token";
520
+ import { jsx as jsx9 } from "react/jsx-runtime";
521
+ var ProfileTokenTailwind = ({
522
+ className,
523
+ onClick,
524
+ tokenProps,
525
+ ...props
526
+ }) => {
527
+ const { className: tokenClassName, ...restTokenProps } = tokenProps ?? {};
528
+ return /* @__PURE__ */ jsx9(
529
+ Token2,
530
+ {
531
+ className: cn("seeds-profile-token", className, tokenClassName),
532
+ closeable: false,
533
+ onClick,
534
+ ...restTokenProps,
535
+ children: /* @__PURE__ */ jsx9(InlineProfileHybrid, { size: "small", ...props })
536
+ }
537
+ );
538
+ };
539
+
540
+ // src/ProfileTokenHybrid.tsx
541
+ import { jsx as jsx10 } from "react/jsx-runtime";
542
+ var ProfileTokenHybrid = (props) => {
543
+ if (needsStyledComponents3(props)) {
544
+ return /* @__PURE__ */ jsx10(ProfileTokenStyled, { ...props });
545
+ }
546
+ return /* @__PURE__ */ jsx10(ProfileTokenTailwind, { ...props });
547
+ };
316
548
  export {
317
- InlineProfile,
318
- ProfileCard,
319
- ProfileToken
549
+ InlineProfileHybrid as InlineProfile,
550
+ ProfileCardHybrid as ProfileCard,
551
+ ProfileTokenHybrid as ProfileToken
320
552
  };
321
553
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ProfileCard.tsx","../../src/VerifiedProfileIcon.tsx","../../src/InlineProfile.tsx","../../src/ProfileToken.tsx"],"sourcesContent":["import styled from \"styled-components\";\nimport { PartnerLogo } from \"@sproutsocial/seeds-react-partner-logo\";\nimport { Avatar } from \"@sproutsocial/seeds-react-avatar\";\nimport {\n Card,\n CardHeader,\n CardContent,\n CardFooter,\n} from \"@sproutsocial/seeds-react-card\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport { Link } from \"@sproutsocial/seeds-react-link\";\nimport { Text } from \"@sproutsocial/seeds-react-text\";\nimport type { TypeProfileCardProps } from \"./types\";\nimport { VerifiedProfileIcon } from \"./VerifiedProfileIcon\";\n\n// Styled Components\nconst StyledProfileCard = styled(Card)`\n max-width: 300px;\n`;\n\nconst StyledCardHeader = styled(CardHeader)<{\n $bannerColor?: string;\n $partnerName?: string;\n}>`\n position: relative;\n height: 80px;\n padding: ${(props) => props.theme.space[400]}\n ${(props) => props.theme.space[400]} 0 ${(props) => props.theme.space[400]};\n margin-bottom: 0;\n color: ${(props) => props.theme.colors.text.inverse};\n border-radius: ${(props) => props.theme.radii[500]}\n ${(props) => props.theme.radii[500]} 0 0;\n ${(props) => {\n // Use explicit bannerColor if provided\n if (props.$bannerColor) {\n return `background: ${props.$bannerColor};`;\n }\n // Fall back to theme.colors.network[partnerName] if partnerName is available\n if (props.$partnerName && props.theme.colors.network) {\n const networkColor =\n props.theme.colors.network[\n props.$partnerName as keyof typeof props.theme.colors.network\n ];\n return networkColor ? `background: ${networkColor};` : \"\";\n }\n return \"\";\n }}\n`;\n\nconst BannerContent = styled.div`\n display: flex;\n justify-content: flex-end;\n width: 100%;\n`;\n\nconst ActionsSection = styled.div`\n display: flex;\n justify-content: flex-end;\n gap: ${(props) => props.theme.space[100]};\n padding: 0 ${(props) => props.theme.space[300]};\n\n &:empty {\n min-height: 44px;\n }\n`;\n\nconst StyledCardContent = styled(CardContent)`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.theme.space[300]};\n padding: 0 ${(props) => props.theme.space[400]}\n ${(props) => props.theme.space[400]};\n`;\n\nconst ProfileNameSection = styled.div`\n display: flex;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n`;\n\nconst InfoRow = styled.div`\n display: flex;\n align-items: center;\n gap: ${(props) => props.theme.space[300]};\n`;\n\n/**\n * A flexible profile component that can display user profiles in various formats\n * across different social networks with consistent styling and behavior.\n */\nexport const ProfileCard = ({\n partnerName,\n name,\n secondaryName,\n avatarUrl,\n subtext,\n description,\n verificationType,\n profileUrl,\n location,\n bannerColor,\n bannerContent,\n metadata,\n profileActions,\n footer,\n cardProps,\n}: TypeProfileCardProps) => {\n return (\n <StyledProfileCard role=\"presentation\" {...cardProps}>\n <StyledCardHeader $bannerColor={bannerColor} $partnerName={partnerName}>\n <Avatar src={avatarUrl} name={name} size=\"60px\" mt={450} />\n {bannerContent && <BannerContent>{bannerContent}</BannerContent>}\n </StyledCardHeader>\n\n <ActionsSection>{profileActions}</ActionsSection>\n\n <StyledCardContent>\n <ProfileNameSection>\n {partnerName && (\n <PartnerLogo\n partnerName={partnerName}\n aria-label={`${partnerName} profile`}\n size=\"small\"\n />\n )}\n <Text.SubHeadline as=\"h2\">{name}</Text.SubHeadline>\n </ProfileNameSection>\n\n {subtext && (\n <Text fontSize={200} color=\"text.subtext\">\n {subtext}\n </Text>\n )}\n\n {secondaryName && (\n <InfoRow>\n {profileUrl ? (\n <Link href={profileUrl} external>\n <Text fontSize={200}>{secondaryName}</Text>\n <Icon\n name=\"arrow-right-up-outline\"\n aria-hidden\n ml={100}\n size=\"small\"\n />\n </Link>\n ) : (\n <Text.SmallByline>{secondaryName}</Text.SmallByline>\n )}\n {verificationType && (\n <VerifiedProfileIcon\n partnerName={partnerName}\n verificationType={verificationType}\n />\n )}\n </InfoRow>\n )}\n\n {description && <Text fontSize={200}>{description}</Text>}\n\n {location && (\n <InfoRow>\n <Icon name=\"location-pin-outline\" aria-hidden size=\"small\" />\n <Text fontSize={200}>{location}</Text>\n </InfoRow>\n )}\n\n {metadata && metadata.length > 0 && (\n <InfoRow>\n {metadata.map((info, index) => (\n <Text fontSize={200} key={index}>\n {info}\n </Text>\n ))}\n </InfoRow>\n )}\n </StyledCardContent>\n\n {footer && <CardFooter>{footer}</CardFooter>}\n </StyledProfileCard>\n );\n};\n\nexport default ProfileCard;\n","import { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport type { TypeProfileNetwork, TypeProfileVerification } from \"./types\";\n\n// TODO: Move these to a more appropriate location\nconst VERIFICATION_COLORS = {\n twitter: \"#000000\",\n facebook: \"#1877F2\",\n x: \"#000000\",\n linkedin: \"#0A66C2\",\n instagram: \"#e4405f\",\n gray: \"#515e5f\",\n} as const;\n\n/**\n * Gets the verification color based on partnerName and verification type\n */\nexport const getVerificationColor = (\n partnerName?: TypeProfileNetwork,\n verificationType?: TypeProfileVerification\n): string => {\n if (!verificationType || verificationType === \"not_verified\") return \"\";\n\n switch (verificationType) {\n case \"blue_verified\":\n // Use partner-specific blue color\n return partnerName === \"facebook\"\n ? VERIFICATION_COLORS.facebook\n : VERIFICATION_COLORS.twitter;\n case \"gray_verified\":\n return VERIFICATION_COLORS.gray;\n case \"verified\":\n default:\n // Default to partner color or Twitter blue\n if (partnerName && partnerName in VERIFICATION_COLORS) {\n return VERIFICATION_COLORS[\n partnerName as keyof typeof VERIFICATION_COLORS\n ];\n }\n return VERIFICATION_COLORS.twitter;\n }\n};\n\nexport interface TypeVerifiedProfileIconProps {\n partnerName?: TypeProfileNetwork;\n verificationType: TypeProfileVerification;\n}\n\nexport const VerifiedProfileIcon = ({\n partnerName,\n verificationType,\n}: TypeVerifiedProfileIconProps) => {\n if (!verificationType || verificationType === \"not_verified\") return;\n\n const verificationColor = getVerificationColor(partnerName, verificationType);\n return (\n <Icon\n title=\"Verified\"\n aria-label=\"Verified account\"\n color={verificationColor}\n name=\"verified\"\n ml=\"150\"\n />\n );\n};\n","import styled from \"styled-components\";\nimport { PartnerLogo } from \"@sproutsocial/seeds-react-partner-logo\";\nimport { Avatar } from \"@sproutsocial/seeds-react-avatar\";\nimport type { TypeInlineProfileProps } from \"./types\";\nimport { VerifiedProfileIcon } from \"./VerifiedProfileIcon\";\n\nconst InlineProfileContainer = styled.span<{\n $size?: \"small\" | \"medium\" | \"large\";\n}>`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n max-width: 100%;\n ${(props) => props.theme.typography[200]}\n color: ${(props) => props.theme.colors.text.subtext};\n text-align: inherit;\n`;\n\nconst InlineProfileAvatar = styled.span`\n display: inline-flex;\n flex-shrink: 0;\n`;\n\nconst InlineProfileContent = styled.span`\n display: inline-flex;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n min-width: 0;\n flex: 1;\n`;\n\nconst InlineProfileNetwork = styled.span`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n`;\n\nconst InlineProfileText = styled.span`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n min-width: 0;\n flex: 1;\n`;\n\nconst InlineProfileName = styled.span`\n display: inline-block;\n ${(props) => props.theme.typography[200]}\n font-family: ${(props) => props.theme.fontFamily};\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n color: ${(props) => props.theme.colors.text.body};\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst InlineProfileHandle = styled.span`\n display: inline-block;\n ${(props) => props.theme.typography[200]}\n font-family: ${(props) => props.theme.fontFamily};\n color: ${(props) => props.theme.colors.text.subtext};\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst avatarSizeMap = {\n small: \"16px\",\n medium: \"20px\",\n large: \"24px\",\n} as const;\n\n/**\n * A compact inline profile component that displays avatar, name/handle, and verification.\n * Perfect for use in post headers, comments, or other compact spaces.\n *\n * @param props - Profile props\n * @param props.name - Name of the profile\n * @param props.secondaryName - Secondary name of the profile\n * @param props.partnerName - Partner logo name\n * @param props.partnerLogoLabel - Aria-label for the partner logo\n * @param props.avatarSize - Size of the avatar\n * @param props.avatarUrl - Image URL for the avatar\n * @param props.children - Additional elements to render within the profile component\n * @returns JSX.Element representing a user profile\n *\n * @example\n * <InlineProfile\n * name=\"John Doe\"\n * secondaryName=\"johndoe123\"\n * partnerName=\"facebook\"\n * partnerLogoLabel=\"Facebook Logo\"\n * avatarSize=\"24px\"\n * avatarUrl=\"https://example.com/avatar.jpg\"\n * >\n * <Badge text=\"Moderator\" badgeColor=\"green\" />\n * </InlineProfile>\n */\nexport const InlineProfile = ({\n name,\n secondaryName,\n partnerName,\n partnerLogoLabel,\n size = \"medium\",\n avatarSize: avatarSizeOverride,\n avatarUrl,\n verificationType,\n className,\n}: TypeInlineProfileProps) => {\n const displayName = name || secondaryName || \"Unknown Profile\";\n const avatarSize = avatarSizeOverride || avatarSizeMap[size];\n\n return (\n <InlineProfileContainer className={className} $size={size}>\n {avatarUrl && (\n <InlineProfileAvatar>\n <Avatar src={avatarUrl} name={displayName} size={avatarSize} />\n </InlineProfileAvatar>\n )}\n\n <InlineProfileContent>\n {partnerName && (\n <InlineProfileNetwork>\n <PartnerLogo\n partnerName={partnerName}\n aria-label={partnerLogoLabel || `${partnerName} profile`}\n size=\"small\"\n />\n </InlineProfileNetwork>\n )}\n\n <InlineProfileText>\n {name && <InlineProfileName>{name}</InlineProfileName>}\n\n {secondaryName && (\n <InlineProfileHandle>{secondaryName}</InlineProfileHandle>\n )}\n </InlineProfileText>\n\n {verificationType && (\n <VerifiedProfileIcon\n partnerName={partnerName}\n verificationType={verificationType}\n />\n )}\n </InlineProfileContent>\n </InlineProfileContainer>\n );\n};\n","import styled from \"styled-components\";\nimport { Token } from \"@sproutsocial/seeds-react-token\";\nimport { InlineProfile } from \"./InlineProfile\";\nimport type { ProfileTokenProps } from \"./types\";\n\nconst StyledProfileToken = styled(Token)`\n box-sizing: border-box;\n display: inline-flex;\n max-width: 100%;\n vertical-align: middle;\n padding: ${(props) => props.theme.space[100]}\n ${(props) => props.theme.space[200]};\n margin: ${(props) => props.theme.space[100]} 0;\n`;\n\n/**\n * A ProfileToken component that wraps InlineProfile in a Seeds Token component.\n * This token is not closable and provides a compact way to display profile information inline.\n *\n * ProfileToken enforces design standards by only showing the profile name and network logo.\n * It does not support avatars, secondary names (handles), or custom avatar sizes.\n * Use InlineProfile directly if you need more flexibility.\n */\nexport const ProfileToken = ({\n className,\n onClick,\n tokenProps,\n ...props\n}: ProfileTokenProps) => (\n <StyledProfileToken\n className={className}\n closeable={false}\n onClick={onClick}\n {...tokenProps}\n >\n <InlineProfile size=\"small\" {...props} />\n </StyledProfileToken>\n);\n\nexport default ProfileToken;\n"],"mappings":";AAAA,OAAO,YAAY;AACnB,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,QAAAA,aAAY;AACrB,SAAS,YAAY;AACrB,SAAS,YAAY;;;ACXrB,SAAS,YAAY;AAuDjB;AAnDJ,IAAM,sBAAsB;AAAA,EAC1B,SAAS;AAAA,EACT,UAAU;AAAA,EACV,GAAG;AAAA,EACH,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AACR;AAKO,IAAM,uBAAuB,CAClC,aACA,qBACW;AACX,MAAI,CAAC,oBAAoB,qBAAqB,eAAgB,QAAO;AAErE,UAAQ,kBAAkB;AAAA,IACxB,KAAK;AAEH,aAAO,gBAAgB,aACnB,oBAAoB,WACpB,oBAAoB;AAAA,IAC1B,KAAK;AACH,aAAO,oBAAoB;AAAA,IAC7B,KAAK;AAAA,IACL;AAEE,UAAI,eAAe,eAAe,qBAAqB;AACrD,eAAO,oBACL,WACF;AAAA,MACF;AACA,aAAO,oBAAoB;AAAA,EAC/B;AACF;AAOO,IAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AACF,MAAoC;AAClC,MAAI,CAAC,oBAAoB,qBAAqB,eAAgB;AAE9D,QAAM,oBAAoB,qBAAqB,aAAa,gBAAgB;AAC5E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,cAAW;AAAA,MACX,OAAO;AAAA,MACP,MAAK;AAAA,MACL,IAAG;AAAA;AAAA,EACL;AAEJ;;;AD8CM,SACE,OAAAC,MADF;AA7FN,IAAM,oBAAoB,OAAO,IAAI;AAAA;AAAA;AAIrC,IAAM,mBAAmB,OAAO,UAAU;AAAA;AAAA;AAAA,aAM7B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,MACxC,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAAA,WAEnE,CAAC,UAAU,MAAM,MAAM,OAAO,KAAK,OAAO;AAAA,mBAClC,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,MAC9C,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,IACnC,CAAC,UAAU;AAEX,MAAI,MAAM,cAAc;AACtB,WAAO,eAAe,MAAM,YAAY;AAAA,EAC1C;AAEA,MAAI,MAAM,gBAAgB,MAAM,MAAM,OAAO,SAAS;AACpD,UAAM,eACJ,MAAM,MAAM,OAAO,QACjB,MAAM,YACR;AACF,WAAO,eAAe,eAAe,YAAY,MAAM;AAAA,EACzD;AACA,SAAO;AACT,CAAC;AAAA;AAGH,IAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAM7B,IAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA,SAGrB,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,eAC3B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOhD,IAAM,oBAAoB,OAAO,WAAW;AAAA;AAAA;AAAA,SAGnC,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,eAC3B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,MAC1C,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAGvC,IAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA,SAGzB,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAG1C,IAAM,UAAU,OAAO;AAAA;AAAA;AAAA,SAGd,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAOnC,IAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,SACE,qBAAC,qBAAkB,MAAK,gBAAgB,GAAG,WACzC;AAAA,yBAAC,oBAAiB,cAAc,aAAa,cAAc,aACzD;AAAA,sBAAAA,KAAC,UAAO,KAAK,WAAW,MAAY,MAAK,QAAO,IAAI,KAAK;AAAA,MACxD,iBAAiB,gBAAAA,KAAC,iBAAe,yBAAc;AAAA,OAClD;AAAA,IAEA,gBAAAA,KAAC,kBAAgB,0BAAe;AAAA,IAEhC,qBAAC,qBACC;AAAA,2BAAC,sBACE;AAAA,uBACC,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,cAAY,GAAG,WAAW;AAAA,YAC1B,MAAK;AAAA;AAAA,QACP;AAAA,QAEF,gBAAAA,KAAC,KAAK,aAAL,EAAiB,IAAG,MAAM,gBAAK;AAAA,SAClC;AAAA,MAEC,WACC,gBAAAA,KAAC,QAAK,UAAU,KAAK,OAAM,gBACxB,mBACH;AAAA,MAGD,iBACC,qBAAC,WACE;AAAA,qBACC,qBAAC,QAAK,MAAM,YAAY,UAAQ,MAC9B;AAAA,0BAAAA,KAAC,QAAK,UAAU,KAAM,yBAAc;AAAA,UACpC,gBAAAA;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,eAAW;AAAA,cACX,IAAI;AAAA,cACJ,MAAK;AAAA;AAAA,UACP;AAAA,WACF,IAEA,gBAAAD,KAAC,KAAK,aAAL,EAAkB,yBAAc;AAAA,QAElC,oBACC,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA;AAAA,QACF;AAAA,SAEJ;AAAA,MAGD,eAAe,gBAAAA,KAAC,QAAK,UAAU,KAAM,uBAAY;AAAA,MAEjD,YACC,qBAAC,WACC;AAAA,wBAAAA,KAACC,OAAA,EAAK,MAAK,wBAAuB,eAAW,MAAC,MAAK,SAAQ;AAAA,QAC3D,gBAAAD,KAAC,QAAK,UAAU,KAAM,oBAAS;AAAA,SACjC;AAAA,MAGD,YAAY,SAAS,SAAS,KAC7B,gBAAAA,KAAC,WACE,mBAAS,IAAI,CAAC,MAAM,UACnB,gBAAAA,KAAC,QAAK,UAAU,KACb,kBADuB,KAE1B,CACD,GACH;AAAA,OAEJ;AAAA,IAEC,UAAU,gBAAAA,KAAC,cAAY,kBAAO;AAAA,KACjC;AAEJ;;;AErLA,OAAOE,aAAY;AACnB,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,UAAAC,eAAc;AAsHb,gBAAAC,MAeF,QAAAC,aAfE;AAlHV,IAAM,yBAAyBC,QAAO;AAAA;AAAA;AAAA;AAAA,SAM7B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAAA,IAEtC,CAAC,UAAU,MAAM,MAAM,WAAW,GAAG,CAAC;AAAA,WAC/B,CAAC,UAAU,MAAM,MAAM,OAAO,KAAK,OAAO;AAAA;AAAA;AAIrD,IAAM,sBAAsBA,QAAO;AAAA;AAAA;AAAA;AAKnC,IAAM,uBAAuBA,QAAO;AAAA;AAAA;AAAA,SAG3B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAK1C,IAAM,uBAAuBA,QAAO;AAAA;AAAA;AAAA;AAAA;AAMpC,IAAM,oBAAoBA,QAAO;AAAA;AAAA;AAAA;AAAA,SAIxB,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAK1C,IAAM,oBAAoBA,QAAO;AAAA;AAAA,IAE7B,CAAC,UAAU,MAAM,MAAM,WAAW,GAAG,CAAC;AAAA,iBACzB,CAAC,UAAU,MAAM,MAAM,UAAU;AAAA,iBACjC,CAAC,UAAU,MAAM,MAAM,YAAY,QAAQ;AAAA,WACjD,CAAC,UAAU,MAAM,MAAM,OAAO,KAAK,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAOlD,IAAM,sBAAsBA,QAAO;AAAA;AAAA,IAE/B,CAAC,UAAU,MAAM,MAAM,WAAW,GAAG,CAAC;AAAA,iBACzB,CAAC,UAAU,MAAM,MAAM,UAAU;AAAA,WACvC,CAAC,UAAU,MAAM,MAAM,OAAO,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrD,IAAM,gBAAgB;AAAA,EACpB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT;AA4BO,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AACF,MAA8B;AAC5B,QAAM,cAAc,QAAQ,iBAAiB;AAC7C,QAAM,aAAa,sBAAsB,cAAc,IAAI;AAE3D,SACE,gBAAAD,MAAC,0BAAuB,WAAsB,OAAO,MAClD;AAAA,iBACC,gBAAAD,KAAC,uBACC,0BAAAA,KAACG,SAAA,EAAO,KAAK,WAAW,MAAM,aAAa,MAAM,YAAY,GAC/D;AAAA,IAGF,gBAAAF,MAAC,wBACE;AAAA,qBACC,gBAAAD,KAAC,wBACC,0BAAAA;AAAA,QAACI;AAAA,QAAA;AAAA,UACC;AAAA,UACA,cAAY,oBAAoB,GAAG,WAAW;AAAA,UAC9C,MAAK;AAAA;AAAA,MACP,GACF;AAAA,MAGF,gBAAAH,MAAC,qBACE;AAAA,gBAAQ,gBAAAD,KAAC,qBAAmB,gBAAK;AAAA,QAEjC,iBACC,gBAAAA,KAAC,uBAAqB,yBAAc;AAAA,SAExC;AAAA,MAEC,oBACC,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA;AAAA,MACF;AAAA,OAEJ;AAAA,KACF;AAEJ;;;ACxJA,OAAOK,aAAY;AACnB,SAAS,aAAa;AAkClB,gBAAAC,YAAA;AA9BJ,IAAM,qBAAqBC,QAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,aAK1B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,MACxC,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,YAC3B,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAWtC,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE,gBAAAD;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACC,GAAG;AAAA,IAEJ,0BAAAA,KAAC,iBAAc,MAAK,SAAS,GAAG,OAAO;AAAA;AACzC;","names":["Icon","jsx","Icon","styled","PartnerLogo","Avatar","jsx","jsxs","styled","Avatar","PartnerLogo","styled","jsx","styled"]}
1
+ {"version":3,"sources":["../../src/ProfileCardHybrid.tsx","../../src/ProfileCardStyled.tsx","../../src/VerifiedProfileIcon.tsx","../../src/ProfileCardTailwind.tsx","../../src/cn.ts","../../src/InlineProfileHybrid.tsx","../../src/InlineProfileStyled.tsx","../../src/InlineProfileTailwind.tsx","../../src/ProfileTokenHybrid.tsx","../../src/ProfileTokenStyled.tsx","../../src/ProfileTokenTailwind.tsx"],"sourcesContent":["/**\n * Hybrid ProfileCard component.\n * Routes between the Tailwind implementation (preferred) and the\n * styled-components implementation (for consumers using styled-system props or\n * a styled() extension).\n */\n\nimport { needsStyledComponents } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeProfileCardProps } from \"./types\";\nimport { ProfileCardStyled } from \"./ProfileCardStyled\";\nimport { ProfileCardTailwind } from \"./ProfileCardTailwind\";\n\nexport const ProfileCardHybrid = (props: TypeProfileCardProps) => {\n // Styled-system props may be passed at the top level or nested inside\n // cardProps (which the Styled path spreads onto the real styled(Card)). The\n // Tailwind path can only forward DOM-safe attributes, so route either case to\n // the styled-components implementation to preserve backward compatibility.\n if (\n needsStyledComponents(props) ||\n (props.cardProps && needsStyledComponents(props.cardProps))\n ) {\n return <ProfileCardStyled {...props} />;\n }\n return <ProfileCardTailwind {...props} />;\n};\n","import styled from \"styled-components\";\nimport { PartnerLogo } from \"@sproutsocial/seeds-react-partner-logo\";\nimport { Avatar } from \"@sproutsocial/seeds-react-avatar\";\nimport {\n Card,\n CardHeader,\n CardContent,\n CardFooter,\n} from \"@sproutsocial/seeds-react-card\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport { Link } from \"@sproutsocial/seeds-react-link\";\nimport { Text } from \"@sproutsocial/seeds-react-text\";\nimport type { TypeProfileCardProps } from \"./types\";\nimport { VerifiedProfileIcon } from \"./VerifiedProfileIcon\";\n\n// Styled Components\nconst StyledProfileCard = styled(Card)`\n max-width: 300px;\n`;\n\nconst StyledCardHeader = styled(CardHeader)<{\n $bannerColor?: string;\n $partnerName?: string;\n}>`\n position: relative;\n height: 80px;\n padding: ${(props) => props.theme.space[400]}\n ${(props) => props.theme.space[400]} 0 ${(props) => props.theme.space[400]};\n margin-bottom: 0;\n color: ${(props) => props.theme.colors.text.inverse};\n border-radius: ${(props) => props.theme.radii[500]}\n ${(props) => props.theme.radii[500]} 0 0;\n ${(props) => {\n // Use explicit bannerColor if provided\n if (props.$bannerColor) {\n return `background: ${props.$bannerColor};`;\n }\n // Fall back to theme.colors.network[partnerName] if partnerName is available\n if (props.$partnerName && props.theme.colors.network) {\n const networkColor =\n props.theme.colors.network[\n props.$partnerName as keyof typeof props.theme.colors.network\n ];\n return networkColor ? `background: ${networkColor};` : \"\";\n }\n return \"\";\n }}\n`;\n\nconst BannerContent = styled.div`\n display: flex;\n justify-content: flex-end;\n width: 100%;\n`;\n\nconst ActionsSection = styled.div`\n display: flex;\n justify-content: flex-end;\n gap: ${(props) => props.theme.space[100]};\n padding: 0 ${(props) => props.theme.space[300]};\n\n &:empty {\n min-height: 44px;\n }\n`;\n\nconst StyledCardContent = styled(CardContent)`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.theme.space[300]};\n padding: 0 ${(props) => props.theme.space[400]}\n ${(props) => props.theme.space[400]};\n`;\n\nconst ProfileNameSection = styled.div`\n display: flex;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n`;\n\nconst InfoRow = styled.div`\n display: flex;\n align-items: center;\n gap: ${(props) => props.theme.space[300]};\n`;\n\n/**\n * Styled-components implementation of ProfileCard.\n *\n * Preserved as the legacy rendering path: the Hybrid routes here when the\n * component is extended via styled() or receives styled-system props. The\n * markup is byte-for-byte identical to the pre-migration ProfileCard,\n * including the dynamic banner background logic.\n */\nexport const ProfileCardStyled = ({\n partnerName,\n name,\n secondaryName,\n avatarUrl,\n subtext,\n description,\n verificationType,\n profileUrl,\n location,\n bannerColor,\n bannerContent,\n metadata,\n profileActions,\n footer,\n cardProps,\n}: TypeProfileCardProps) => {\n return (\n <StyledProfileCard role=\"presentation\" {...cardProps}>\n <StyledCardHeader $bannerColor={bannerColor} $partnerName={partnerName}>\n <Avatar src={avatarUrl} name={name} size=\"60px\" mt={450} />\n {bannerContent && <BannerContent>{bannerContent}</BannerContent>}\n </StyledCardHeader>\n\n <ActionsSection>{profileActions}</ActionsSection>\n\n <StyledCardContent>\n <ProfileNameSection>\n {partnerName && (\n <PartnerLogo\n partnerName={partnerName}\n aria-label={`${partnerName} profile`}\n size=\"small\"\n />\n )}\n <Text.SubHeadline as=\"h2\">{name}</Text.SubHeadline>\n </ProfileNameSection>\n\n {subtext && (\n <Text fontSize={200} color=\"text.subtext\">\n {subtext}\n </Text>\n )}\n\n {secondaryName && (\n <InfoRow>\n {profileUrl ? (\n <Link href={profileUrl} external>\n <Text fontSize={200}>{secondaryName}</Text>\n <Icon\n name=\"arrow-right-up-outline\"\n aria-hidden\n ml={100}\n size=\"small\"\n />\n </Link>\n ) : (\n <Text.SmallByline color=\"text.subtext\">\n {secondaryName}\n </Text.SmallByline>\n )}\n {verificationType && (\n <VerifiedProfileIcon\n partnerName={partnerName}\n verificationType={verificationType}\n />\n )}\n </InfoRow>\n )}\n\n {description && <Text fontSize={200}>{description}</Text>}\n\n {location && (\n <InfoRow>\n <Icon name=\"location-pin-outline\" aria-hidden size=\"small\" />\n <Text fontSize={200}>{location}</Text>\n </InfoRow>\n )}\n\n {metadata && metadata.length > 0 && (\n <InfoRow>\n {metadata.map((info, index) => (\n <Text fontSize={200} key={index}>\n {info}\n </Text>\n ))}\n </InfoRow>\n )}\n </StyledCardContent>\n\n {footer && <CardFooter>{footer}</CardFooter>}\n </StyledProfileCard>\n );\n};\n","import { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport type { TypeProfileNetwork, TypeProfileVerification } from \"./types\";\n\n// TODO: Move these to a more appropriate location\nconst VERIFICATION_COLORS = {\n twitter: \"#000000\",\n facebook: \"#1877F2\",\n x: \"#000000\",\n linkedin: \"#0A66C2\",\n instagram: \"#e4405f\",\n gray: \"#515e5f\",\n} as const;\n\n/**\n * Gets the verification color based on partnerName and verification type\n */\nexport const getVerificationColor = (\n partnerName?: TypeProfileNetwork,\n verificationType?: TypeProfileVerification\n): string => {\n if (!verificationType || verificationType === \"not_verified\") return \"\";\n\n switch (verificationType) {\n case \"blue_verified\":\n // Use partner-specific blue color\n return partnerName === \"facebook\"\n ? VERIFICATION_COLORS.facebook\n : VERIFICATION_COLORS.twitter;\n case \"gray_verified\":\n return VERIFICATION_COLORS.gray;\n case \"verified\":\n default:\n // Default to partner color or Twitter blue\n if (partnerName && partnerName in VERIFICATION_COLORS) {\n return VERIFICATION_COLORS[\n partnerName as keyof typeof VERIFICATION_COLORS\n ];\n }\n return VERIFICATION_COLORS.twitter;\n }\n};\n\nexport interface TypeVerifiedProfileIconProps {\n partnerName?: TypeProfileNetwork;\n verificationType: TypeProfileVerification;\n}\n\nexport const VerifiedProfileIcon = ({\n partnerName,\n verificationType,\n}: TypeVerifiedProfileIconProps) => {\n if (!verificationType || verificationType === \"not_verified\") return;\n\n const verificationColor = getVerificationColor(partnerName, verificationType);\n return (\n <Icon\n title=\"Verified\"\n aria-label=\"Verified account\"\n color={verificationColor}\n name=\"verified\"\n ml=\"150\"\n />\n );\n};\n","/**\n * Tailwind/CSS-class implementation of ProfileCard.\n * Uses Seeds ProfileCard CSS classes from profile-card.css.\n *\n * The composed Card/CardHeader/CardContent/CardFooter components are not yet\n * migrated, so their styling is applied via their className prop. The dynamic\n * header background (bannerColor / network color) is applied via an inline\n * style, since no styled-components theme context is available on this path.\n */\n\nimport { PartnerLogo } from \"@sproutsocial/seeds-react-partner-logo\";\nimport { Avatar } from \"@sproutsocial/seeds-react-avatar\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport { Link } from \"@sproutsocial/seeds-react-link\";\nimport { Text } from \"@sproutsocial/seeds-react-text\";\nimport type { TypeCardProps } from \"@sproutsocial/seeds-react-card\";\nimport type { TypeProfileCardProps } from \"./types\";\nimport { VerifiedProfileIcon } from \"./VerifiedProfileIcon\";\nimport { cn } from \"./cn\";\n\n/**\n * A flexible profile component that can display user profiles in various formats\n * across different social networks with consistent styling and behavior.\n */\nexport const ProfileCardTailwind = ({\n partnerName,\n name,\n secondaryName,\n avatarUrl,\n subtext,\n description,\n verificationType,\n profileUrl,\n location,\n bannerColor,\n bannerContent,\n metadata,\n profileActions,\n footer,\n className,\n cardProps,\n}: TypeProfileCardProps) => {\n const {\n className: cardClassName,\n role: cardRole,\n ...restCardProps\n } = cardProps ?? ({} as TypeCardProps);\n return (\n <div\n role={cardRole ?? \"presentation\"}\n className={cn(\"seeds-profile-card\", className, cardClassName)}\n // The Hybrid routes any cardProps carrying styled-system props to the SC\n // path, so whatever reaches this div is DOM-safe. Narrow the residual\n // TypeCardProps union (which TS cannot directly reconcile with DOM attrs)\n // to say so — it cannot leak Card-only props here.\n {...(restCardProps as unknown as React.HTMLAttributes<HTMLDivElement>)}\n >\n <div\n className=\"seeds-profile-card-header\"\n style={{\n [\"--seeds-profile-card-banner-bg\" as string]:\n bannerColor ??\n (partnerName ? `var(--color-network-${partnerName})` : undefined),\n }}\n >\n <Avatar src={avatarUrl} name={name} size=\"60px\" mt={450} />\n {bannerContent && (\n <div className=\"seeds-profile-card-banner-content\">\n {bannerContent}\n </div>\n )}\n </div>\n\n <div className=\"seeds-profile-card-actions\">{profileActions}</div>\n\n <div className=\"seeds-profile-card-content\">\n <div className=\"seeds-profile-card-name-section\">\n {partnerName && (\n <PartnerLogo\n partnerName={partnerName}\n aria-label={`${partnerName} profile`}\n size=\"small\"\n />\n )}\n <Text.SubHeadline as=\"h2\">{name}</Text.SubHeadline>\n </div>\n\n {subtext && (\n <Text fontSize={200} color=\"text.subtext\">\n {subtext}\n </Text>\n )}\n\n {secondaryName && (\n <div className=\"seeds-profile-card-info-row\">\n {profileUrl ? (\n <Link href={profileUrl} external>\n <Text fontSize={200}>{secondaryName}</Text>\n <Icon\n name=\"arrow-right-up-outline\"\n aria-hidden\n ml={100}\n size=\"small\"\n />\n </Link>\n ) : (\n <Text.SmallByline color=\"text.subtext\">\n {secondaryName}\n </Text.SmallByline>\n )}\n {verificationType && (\n <VerifiedProfileIcon\n partnerName={partnerName}\n verificationType={verificationType}\n />\n )}\n </div>\n )}\n\n {description && (\n <Text color=\"text.subtext\" fontSize={200}>\n {description}\n </Text>\n )}\n\n {location && (\n <div className=\"seeds-profile-card-info-row\">\n <Icon\n color=\"icon.base\"\n name=\"location-pin-outline\"\n aria-hidden\n size=\"small\"\n />\n <Text color=\"text.subtext\" fontSize={200}>\n {location}\n </Text>\n </div>\n )}\n\n {metadata && metadata.length > 0 && (\n <div className=\"seeds-profile-card-info-row\">\n {metadata.map((info, index) => (\n <Text color=\"text.subtext\" fontSize={200} key={index}>\n {info}\n </Text>\n ))}\n </div>\n )}\n </div>\n\n {footer && <div className=\"seeds-profile-card-footer\">{footer}</div>}\n </div>\n );\n};\n","/**\n * Local class-name merge helper for the Tailwind/CSS-class implementations.\n *\n * Copied verbatim from seeds-react-button's ButtonTailwind.tsx — `cn` is NOT\n * exported from @sproutsocial/seeds-react-utilities, so each migrated package\n * keeps its own local copy.\n */\nexport function cn(\n ...inputs: (string | undefined | null | false | Record<string, boolean>)[]\n): string {\n const classes: string[] = [];\n\n for (const input of inputs) {\n if (!input) continue;\n\n if (typeof input === \"string\") {\n classes.push(input);\n } else if (typeof input === \"object\") {\n for (const [key, value] of Object.entries(input)) {\n if (value) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(\" \");\n}\n","/**\n * Hybrid InlineProfile component.\n * Routes between the Tailwind implementation (preferred) and the\n * styled-components implementation (for consumers using styled-system props or\n * a styled() extension).\n */\n\nimport { needsStyledComponents } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeInlineProfileProps } from \"./types\";\nimport { InlineProfileStyled } from \"./InlineProfileStyled\";\nimport { InlineProfileTailwind } from \"./InlineProfileTailwind\";\n\nexport const InlineProfileHybrid = (props: TypeInlineProfileProps) => {\n if (needsStyledComponents(props)) {\n return <InlineProfileStyled {...props} />;\n }\n return <InlineProfileTailwind {...props} />;\n};\n","import styled from \"styled-components\";\nimport { PartnerLogo } from \"@sproutsocial/seeds-react-partner-logo\";\nimport { Avatar } from \"@sproutsocial/seeds-react-avatar\";\nimport type { TypeInlineProfileProps } from \"./types\";\nimport { VerifiedProfileIcon } from \"./VerifiedProfileIcon\";\n\nconst InlineProfileContainer = styled.span<{\n $size?: \"small\" | \"medium\" | \"large\";\n}>`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n max-width: 100%;\n ${(props) => props.theme.typography[200]}\n color: ${(props) => props.theme.colors.text.subtext};\n text-align: inherit;\n`;\n\nconst InlineProfileAvatar = styled.span`\n display: inline-flex;\n flex-shrink: 0;\n`;\n\nconst InlineProfileContent = styled.span`\n display: inline-flex;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n min-width: 0;\n flex: 1;\n`;\n\nconst InlineProfileNetwork = styled.span`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n`;\n\nconst InlineProfileText = styled.span`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n gap: ${(props) => props.theme.space[200]};\n min-width: 0;\n flex: 1;\n`;\n\nconst InlineProfileName = styled.span`\n display: inline-block;\n ${(props) => props.theme.typography[200]}\n font-family: ${(props) => props.theme.fontFamily};\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n color: ${(props) => props.theme.colors.text.body};\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst InlineProfileHandle = styled.span`\n display: inline-block;\n ${(props) => props.theme.typography[200]}\n font-family: ${(props) => props.theme.fontFamily};\n color: ${(props) => props.theme.colors.text.subtext};\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst avatarSizeMap = {\n small: \"16px\",\n medium: \"20px\",\n large: \"24px\",\n} as const;\n\n/**\n * Styled-components implementation of InlineProfile.\n *\n * Preserved as the legacy rendering path: the Hybrid routes here when the\n * component is extended via styled() or receives styled-system props. The\n * markup is byte-for-byte identical to the pre-migration InlineProfile.\n *\n * @param props - Profile props\n * @param props.name - Name of the profile\n * @param props.secondaryName - Secondary name of the profile\n * @param props.partnerName - Partner logo name\n * @param props.partnerLogoLabel - Aria-label for the partner logo\n * @param props.avatarSize - Size of the avatar\n * @param props.avatarUrl - Image URL for the avatar\n * @returns JSX.Element representing a user profile\n */\nexport const InlineProfileStyled = ({\n name,\n secondaryName,\n partnerName,\n partnerLogoLabel,\n size = \"medium\",\n avatarSize: avatarSizeOverride,\n avatarUrl,\n verificationType,\n className,\n}: TypeInlineProfileProps) => {\n const displayName = name || secondaryName || \"Unknown Profile\";\n const avatarSize = avatarSizeOverride || avatarSizeMap[size];\n\n return (\n <InlineProfileContainer className={className} $size={size}>\n {avatarUrl && (\n <InlineProfileAvatar>\n <Avatar src={avatarUrl} name={displayName} size={avatarSize} />\n </InlineProfileAvatar>\n )}\n\n <InlineProfileContent>\n {partnerName && (\n <InlineProfileNetwork>\n <PartnerLogo\n partnerName={partnerName}\n aria-label={partnerLogoLabel || `${partnerName} profile`}\n size=\"small\"\n />\n </InlineProfileNetwork>\n )}\n\n <InlineProfileText>\n {name && <InlineProfileName>{name}</InlineProfileName>}\n\n {secondaryName && (\n <InlineProfileHandle>{secondaryName}</InlineProfileHandle>\n )}\n </InlineProfileText>\n\n {verificationType && (\n <VerifiedProfileIcon\n partnerName={partnerName}\n verificationType={verificationType}\n />\n )}\n </InlineProfileContent>\n </InlineProfileContainer>\n );\n};\n","/**\n * Tailwind/CSS-class implementation of InlineProfile.\n * Uses Seeds InlineProfile CSS classes from inline-profile.css.\n */\n\nimport { PartnerLogo } from \"@sproutsocial/seeds-react-partner-logo\";\nimport { Avatar } from \"@sproutsocial/seeds-react-avatar\";\nimport type { TypeInlineProfileProps } from \"./types\";\nimport { VerifiedProfileIcon } from \"./VerifiedProfileIcon\";\nimport { cn } from \"./cn\";\n\nconst avatarSizeMap = {\n small: \"16px\",\n medium: \"20px\",\n large: \"24px\",\n} as const;\n\n/**\n * A compact inline profile component that displays avatar, name/handle, and verification.\n * Perfect for use in post headers, comments, or other compact spaces.\n *\n * @param props - Profile props\n * @param props.name - Name of the profile\n * @param props.secondaryName - Secondary name of the profile\n * @param props.partnerName - Partner logo name\n * @param props.partnerLogoLabel - Aria-label for the partner logo\n * @param props.avatarSize - Size of the avatar\n * @param props.avatarUrl - Image URL for the avatar\n * @returns JSX.Element representing a user profile\n */\nexport const InlineProfileTailwind = ({\n name,\n secondaryName,\n partnerName,\n partnerLogoLabel,\n size = \"medium\",\n avatarSize: avatarSizeOverride,\n avatarUrl,\n verificationType,\n className,\n}: TypeInlineProfileProps) => {\n const displayName = name || secondaryName || \"Unknown Profile\";\n const avatarSize = avatarSizeOverride || avatarSizeMap[size];\n\n return (\n <span className={cn(\"seeds-inline-profile\", className)}>\n {avatarUrl && (\n <span className=\"seeds-inline-profile-avatar\">\n <Avatar src={avatarUrl} name={displayName} size={avatarSize} />\n </span>\n )}\n\n <span className=\"seeds-inline-profile-content\">\n {partnerName && (\n <span className=\"seeds-inline-profile-network\">\n <PartnerLogo\n partnerName={partnerName}\n aria-label={partnerLogoLabel || `${partnerName} profile`}\n size=\"small\"\n />\n </span>\n )}\n\n <span className=\"seeds-inline-profile-text\">\n {name && <span className=\"seeds-inline-profile-name\">{name}</span>}\n\n {secondaryName && (\n <span className=\"seeds-inline-profile-handle\">{secondaryName}</span>\n )}\n </span>\n\n {verificationType && (\n <VerifiedProfileIcon\n partnerName={partnerName}\n verificationType={verificationType}\n />\n )}\n </span>\n </span>\n );\n};\n","/**\n * Hybrid ProfileToken component.\n * Routes between the Tailwind implementation (preferred) and the\n * styled-components implementation (for consumers using styled-system props or\n * a styled() extension).\n */\n\nimport { needsStyledComponents } from \"@sproutsocial/seeds-react-system-props\";\nimport type { ProfileTokenProps } from \"./types\";\nimport { ProfileTokenStyled } from \"./ProfileTokenStyled\";\nimport { ProfileTokenTailwind } from \"./ProfileTokenTailwind\";\n\nexport const ProfileTokenHybrid = (props: ProfileTokenProps) => {\n if (needsStyledComponents(props)) {\n return <ProfileTokenStyled {...props} />;\n }\n return <ProfileTokenTailwind {...props} />;\n};\n","import styled from \"styled-components\";\nimport { Token } from \"@sproutsocial/seeds-react-token\";\nimport { InlineProfile } from \"./InlineProfile\";\nimport type { ProfileTokenProps } from \"./types\";\n\nconst StyledProfileToken = styled(Token)`\n box-sizing: border-box;\n display: inline-flex;\n max-width: 100%;\n vertical-align: middle;\n padding: ${(props) => props.theme.space[100]}\n ${(props) => props.theme.space[200]};\n margin: ${(props) => props.theme.space[100]} 0;\n`;\n\n/**\n * Styled-components implementation of ProfileToken.\n *\n * Preserved as the legacy rendering path: the Hybrid routes here when the\n * component is extended via styled() or receives styled-system props. The\n * markup is byte-for-byte identical to the pre-migration ProfileToken.\n */\nexport const ProfileTokenStyled = ({\n className,\n onClick,\n tokenProps,\n ...props\n}: ProfileTokenProps) => (\n <StyledProfileToken\n className={className}\n closeable={false}\n onClick={onClick}\n {...tokenProps}\n >\n <InlineProfile size=\"small\" {...props} />\n </StyledProfileToken>\n);\n","/**\n * Tailwind/CSS-class implementation of ProfileToken.\n * Uses Seeds ProfileToken CSS classes from profile-token.css.\n *\n * The composed Token component is not yet migrated, so its styling is applied\n * via its className prop.\n */\n\nimport { Token } from \"@sproutsocial/seeds-react-token\";\nimport { InlineProfile } from \"./InlineProfile\";\nimport type { ProfileTokenProps } from \"./types\";\nimport { cn } from \"./cn\";\n\n/**\n * A ProfileToken component that wraps InlineProfile in a Seeds Token component.\n * This token is not closable and provides a compact way to display profile information inline.\n *\n * ProfileToken enforces design standards by only showing the profile name and network logo.\n * It does not support avatars, secondary names (handles), or custom avatar sizes.\n * Use InlineProfile directly if you need more flexibility.\n */\nexport const ProfileTokenTailwind = ({\n className,\n onClick,\n tokenProps,\n ...props\n}: ProfileTokenProps) => {\n const { className: tokenClassName, ...restTokenProps } =\n tokenProps ?? ({} as NonNullable<ProfileTokenProps[\"tokenProps\"]>);\n return (\n <Token\n className={cn(\"seeds-profile-token\", className, tokenClassName)}\n closeable={false}\n onClick={onClick}\n {...restTokenProps}\n >\n <InlineProfile size=\"small\" {...props} />\n </Token>\n );\n};\n"],"mappings":"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","names":["Icon","jsx","Icon","PartnerLogo","Avatar","Icon","Link","Text","jsx","jsxs","Avatar","PartnerLogo","Text","Link","Icon","jsx","needsStyledComponents","styled","PartnerLogo","Avatar","jsx","jsxs","styled","Avatar","PartnerLogo","PartnerLogo","Avatar","jsx","jsxs","avatarSizeMap","Avatar","PartnerLogo","jsx","needsStyledComponents","needsStyledComponents","styled","jsx","styled","Token","jsx","Token","jsx","needsStyledComponents"]}