kyd-shared-badge 0.3.107 → 0.3.108
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/package.json +1 -1
- package/src/components/SkillsBubble.tsx +47 -44
package/package.json
CHANGED
|
@@ -251,7 +251,7 @@ export default function SkillsBubble({ skillsCategoryRadar, skillsByCategory, sk
|
|
|
251
251
|
|
|
252
252
|
const columnComponent = (entry: { label: string; years?: number; presence?: string; presenceTypes?: Array<'certified' | 'observed' | 'self-reported'>; sources?: string[] } | '', idx: number, isLeft: boolean) => {
|
|
253
253
|
return (
|
|
254
|
-
<div key={idx} className="flex
|
|
254
|
+
<div key={idx} className="flex justify-between gap-3 min-w-0">
|
|
255
255
|
<div className="flex flex-row w-1/2 items-start gap-8">
|
|
256
256
|
{entry ? <span className="shrink-0 opacity-70 text-base items-center flex h-full">{idx + (isLeft ? 1 : 6)}.</span> : <span className="opacity-0 whitespace-nowrap">\u00A0</span>}
|
|
257
257
|
|
|
@@ -269,7 +269,7 @@ export default function SkillsBubble({ skillsCategoryRadar, skillsByCategory, sk
|
|
|
269
269
|
<>
|
|
270
270
|
{' '}<span className="opacity-60">•</span>{' '}
|
|
271
271
|
<span
|
|
272
|
-
className="
|
|
272
|
+
className="cursor-help opacity-80"
|
|
273
273
|
onMouseEnter={(e) =>
|
|
274
274
|
showLegendTooltipAt(
|
|
275
275
|
e.currentTarget,
|
|
@@ -339,52 +339,55 @@ export default function SkillsBubble({ skillsCategoryRadar, skillsByCategory, sk
|
|
|
339
339
|
</span>
|
|
340
340
|
</div>
|
|
341
341
|
</div>
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
>
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
342
|
+
<div
|
|
343
|
+
className="flex flex-col items-end leading-tight h-full justify-start text-base"
|
|
344
|
+
>
|
|
345
|
+
<div className="pb-1">
|
|
346
|
+
{entry && typeof entry !== 'string' && entry.years ? (
|
|
347
|
+
<span
|
|
348
|
+
className="whitespace-nowrap text-[var(--text-secondary)] cursor-help"
|
|
349
|
+
onMouseEnter={(e) => {
|
|
350
|
+
const copy = experienceLegendTooltip();
|
|
351
|
+
showLegendTooltipAt(e.currentTarget, copy.title, copy.body);
|
|
352
|
+
}}
|
|
353
|
+
onMouseLeave={hideLegendTooltip}
|
|
354
|
+
>
|
|
355
|
+
{`${entry.years} Years`}
|
|
356
|
+
</span>
|
|
357
|
+
) : (
|
|
358
|
+
<span className="opacity-0 whitespace-nowrap text-[var(--text-secondary)]">0 Years</span>
|
|
359
|
+
)}
|
|
360
|
+
</div>
|
|
361
|
+
<div
|
|
362
|
+
onMouseEnter={(e) => {
|
|
363
|
+
if (entry && typeof entry !== 'string') {
|
|
364
364
|
const copy = presenceLegendTooltip();
|
|
365
365
|
showLegendTooltipAt(e.currentTarget, undefined, copy.body);
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
366
|
+
}
|
|
367
|
+
}}
|
|
368
|
+
onMouseLeave={(e) => {
|
|
369
|
+
if (entry && typeof entry !== 'string') hideLegendTooltip();
|
|
370
|
+
}}
|
|
371
|
+
className="pt-1"
|
|
372
|
+
>
|
|
373
|
+
{(() => {
|
|
374
|
+
if (entry && typeof entry !== 'string') {
|
|
375
|
+
const types = Array.isArray(entry.presenceTypes) ? entry.presenceTypes : (entry.presence ? [String(entry.presence) as any] : []);
|
|
376
|
+
const hasAny = types.length > 0;
|
|
377
|
+
return hasAny ? (
|
|
378
|
+
<div
|
|
379
|
+
className="flex items-center gap-1"
|
|
380
|
+
>
|
|
381
|
+
{types.map((t) => (
|
|
382
|
+
<span key={t} className="inline-block h-2 w-2 rounded-full" style={{ background: presenceColor(t) }} />
|
|
383
|
+
))}
|
|
384
|
+
</div>
|
|
385
|
+
) : <span className="opacity-0 whitespace-nowrap">.</span>;
|
|
386
|
+
}
|
|
387
|
+
return <span className="opacity-0 whitespace-nowrap">.</span>;
|
|
383
388
|
})()}
|
|
384
|
-
|
|
385
|
-
</div>
|
|
386
389
|
</div>
|
|
387
|
-
|
|
390
|
+
</div>
|
|
388
391
|
</div>
|
|
389
392
|
)
|
|
390
393
|
}
|