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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kyd-shared-badge",
3
- "version": "0.3.107",
3
+ "version": "0.3.108",
4
4
  "private": false,
5
5
  "main": "./src/index.ts",
6
6
  "module": "./src/index.ts",
@@ -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 items-stretch justify-between gap-3 min-w-0">
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="underline decoration-dotted underline-offset-2 cursor-help opacity-80"
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
- {entry && typeof entry !== 'string' ? (
343
- <div
344
- className="flex flex-col items-end leading-tight h-full justify-start text-base"
345
- >
346
- <div className="pb-1">
347
- {entry.years ? (
348
- <span
349
- className="whitespace-nowrap text-[var(--text-secondary)] cursor-help"
350
- onMouseEnter={(e) => {
351
- const copy = experienceLegendTooltip();
352
- showLegendTooltipAt(e.currentTarget, copy.title, copy.body);
353
- }}
354
- onMouseLeave={hideLegendTooltip}
355
- >
356
- {`${entry.years} Years`}
357
- </span>
358
- ) : (
359
- <span className="opacity-0 whitespace-nowrap text-[var(--text-secondary)]">0 Years</span>
360
- )}
361
- </div>
362
- <div
363
- onMouseEnter={(e) => {
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
- onMouseLeave={hideLegendTooltip}
368
- className="pt-1"
369
- >
370
- {(() => {
371
- const types = Array.isArray(entry.presenceTypes) ? entry.presenceTypes : (entry.presence ? [String(entry.presence) as any] : []);
372
- const hasAny = types.length > 0;
373
- return hasAny ? (
374
- <div
375
- className="flex items-center gap-1"
376
-
377
- >
378
- {types.map((t) => (
379
- <span key={t} className="inline-block h-2 w-2 rounded-full" style={{ background: presenceColor(t) }} />
380
- ))}
381
- </div>
382
- ) : <span className="opacity-0 whitespace-nowrap">.</span>;
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
- ) : null}
390
+ </div>
388
391
  </div>
389
392
  )
390
393
  }