@almadar/ui 5.16.4 → 5.17.1
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/avl/index.cjs +191 -153
- package/dist/avl/index.js +191 -153
- package/dist/components/atoms/Avatar.d.ts +4 -2
- package/dist/components/atoms/ConditionalWrapper.d.ts +2 -2
- package/dist/components/atoms/Icon.d.ts +6 -2
- package/dist/components/atoms/Input.d.ts +3 -2
- package/dist/components/atoms/LawReferenceTooltip.d.ts +2 -2
- package/dist/components/atoms/game/MiniMap.d.ts +15 -17
- package/dist/components/atoms/index.d.ts +1 -0
- package/dist/components/atoms/types.d.ts +40 -0
- package/dist/components/index.cjs +191 -153
- package/dist/components/index.js +191 -153
- package/dist/components/molecules/CTABanner.d.ts +3 -8
- package/dist/components/molecules/CalendarGrid.d.ts +2 -2
- package/dist/components/molecules/CommunityLinks.d.ts +15 -12
- package/dist/components/molecules/DataGrid.d.ts +2 -1
- package/dist/components/molecules/DataList.d.ts +12 -11
- package/dist/components/molecules/GraphView.d.ts +2 -2
- package/dist/components/molecules/HeroSection.d.ts +4 -12
- package/dist/components/molecules/MapView.d.ts +2 -2
- package/dist/components/molecules/MarketingFooter.d.ts +6 -5
- package/dist/components/molecules/Meter.d.ts +2 -1
- package/dist/components/molecules/OptionConstraintGroup.d.ts +5 -3
- package/dist/components/molecules/PricingCard.d.ts +2 -4
- package/dist/components/molecules/QrScanner.d.ts +2 -2
- package/dist/components/molecules/RepeatableFormSection.d.ts +2 -2
- package/dist/components/molecules/ShowcaseCard.d.ts +2 -4
- package/dist/components/molecules/SplitSection.d.ts +2 -4
- package/dist/components/molecules/StatDisplay.d.ts +2 -1
- package/dist/components/molecules/StatsGrid.d.ts +5 -4
- package/dist/components/molecules/TableView.d.ts +2 -1
- package/dist/components/molecules/ViolationAlert.d.ts +2 -2
- package/dist/components/molecules/game/CraftingRecipe.d.ts +11 -7
- package/dist/components/molecules/game/DialogueBox.d.ts +2 -2
- package/dist/components/molecules/game/HealthPanel.d.ts +6 -5
- package/dist/components/molecules/game/IsometricCanvas.d.ts +9 -13
- package/dist/components/organisms/Chart.d.ts +2 -1
- package/dist/components/organisms/CodeViewer.d.ts +8 -6
- package/dist/components/organisms/ComponentPatterns.d.ts +2 -1
- package/dist/components/organisms/ConfirmDialog.d.ts +2 -1
- package/dist/components/organisms/CustomPattern.d.ts +2 -1
- package/dist/components/organisms/DataTable.d.ts +6 -5
- package/dist/components/organisms/DetailPanel.d.ts +5 -4
- package/dist/components/organisms/DocumentViewer.d.ts +9 -7
- package/dist/components/organisms/DrawerSlot.d.ts +2 -1
- package/dist/components/organisms/Form.d.ts +5 -4
- package/dist/components/organisms/GraphCanvas.d.ts +2 -1
- package/dist/components/organisms/Header.d.ts +17 -14
- package/dist/components/organisms/JazariStateMachine.d.ts +2 -1
- package/dist/components/organisms/LayoutPatterns.d.ts +4 -3
- package/dist/components/organisms/List.d.ts +2 -2
- package/dist/components/organisms/Meter.d.ts +2 -1
- package/dist/components/organisms/ModalSlot.d.ts +2 -1
- package/dist/components/organisms/Navigation.d.ts +2 -1
- package/dist/components/organisms/OrbitalVisualization.d.ts +2 -1
- package/dist/components/organisms/PageHeader.d.ts +7 -5
- package/dist/components/organisms/Section.d.ts +2 -1
- package/dist/components/organisms/Sidebar.d.ts +2 -1
- package/dist/components/organisms/SignaturePad.d.ts +2 -1
- package/dist/components/organisms/Split.d.ts +2 -1
- package/dist/components/organisms/StateMachineView.d.ts +8 -4
- package/dist/components/organisms/Timeline.d.ts +2 -1
- package/dist/components/organisms/ToastSlot.d.ts +2 -1
- package/dist/components/organisms/UISlotRenderer.d.ts +4 -3
- package/dist/components/organisms/WizardContainer.d.ts +2 -1
- package/dist/components/organisms/book/types.d.ts +2 -2
- package/dist/components/organisms/game/BattleBoard.d.ts +4 -4
- package/dist/components/organisms/game/CanvasEffect.d.ts +2 -1
- package/dist/components/organisms/game/CastleBoard.d.ts +6 -5
- package/dist/components/organisms/game/GameAudioProvider.d.ts +2 -1
- package/dist/components/organisms/game/GameAudioToggle.d.ts +2 -1
- package/dist/components/organisms/game/TraitSlot.d.ts +4 -3
- package/dist/components/organisms/game/TraitStateViewer.d.ts +6 -5
- package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +9 -4
- package/dist/components/organisms/game/WorldMapBoard.d.ts +11 -9
- package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts +8 -7
- package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts +3 -3
- package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts +3 -3
- package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts +3 -3
- package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts +7 -4
- package/dist/components/organisms/game/puzzles/event-handler/ObjectRulePanel.d.ts +2 -2
- package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts +7 -9
- package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts +3 -3
- package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts +5 -4
- package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts +3 -3
- package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts +5 -4
- package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts +2 -4
- package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts +3 -8
- package/dist/components/organisms/game/types/isometric.d.ts +4 -4
- package/dist/components/organisms/index.d.ts +1 -1
- package/dist/components/organisms/types.d.ts +3 -1
- package/dist/components/templates/DashboardLayout.d.ts +6 -5
- package/dist/components/templates/GameTemplate.d.ts +7 -6
- package/dist/components/templates/GenericAppTemplate.d.ts +1 -7
- package/dist/components/templates/types.d.ts +14 -6
- package/dist/docs/index.cjs +60 -22
- package/dist/docs/index.d.cts +9 -4
- package/dist/docs/index.js +58 -20
- package/dist/marketing/index.cjs +61 -23
- package/dist/marketing/index.d.cts +54 -55
- package/dist/marketing/index.js +58 -20
- package/dist/providers/index.cjs +191 -153
- package/dist/providers/index.js +191 -153
- package/dist/runtime/index.cjs +191 -153
- package/dist/runtime/index.js +191 -153
- package/package.json +1 -1
|
@@ -236,8 +236,12 @@ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttri
|
|
|
236
236
|
type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
237
237
|
type IconAnimation = 'spin' | 'pulse' | 'none';
|
|
238
238
|
interface IconProps {
|
|
239
|
-
/**
|
|
240
|
-
|
|
239
|
+
/**
|
|
240
|
+
* Lucide icon component (preferred for type-safe usage), OR a canonical
|
|
241
|
+
* kebab-case icon name string — a string is treated exactly like `name` so
|
|
242
|
+
* trait/factory authors can pass an icon by name through the `icon` prop.
|
|
243
|
+
*/
|
|
244
|
+
icon?: LucideIcon | string;
|
|
241
245
|
/** Icon name as string (resolved from iconMap) */
|
|
242
246
|
name?: string;
|
|
243
247
|
/** Size of the icon */
|
|
@@ -383,6 +387,20 @@ interface ContentSectionProps {
|
|
|
383
387
|
}
|
|
384
388
|
declare const ContentSection: React.ForwardRefExoticComponent<ContentSectionProps & React.RefAttributes<HTMLDivElement>>;
|
|
385
389
|
|
|
390
|
+
/**
|
|
391
|
+
* A labelled link/CTA used by marketing molecules (HeroSection, CTABanner,
|
|
392
|
+
* PricingCard) for their primary/secondary call-to-action props.
|
|
393
|
+
*/
|
|
394
|
+
type LinkAction = {
|
|
395
|
+
label: string;
|
|
396
|
+
href: string;
|
|
397
|
+
};
|
|
398
|
+
/** An image with its required alt text. */
|
|
399
|
+
type ImageSource = {
|
|
400
|
+
src: string;
|
|
401
|
+
alt: string;
|
|
402
|
+
};
|
|
403
|
+
|
|
386
404
|
/**
|
|
387
405
|
* HeroSection Molecule Component
|
|
388
406
|
*
|
|
@@ -397,19 +415,10 @@ interface HeroSectionProps {
|
|
|
397
415
|
title: string;
|
|
398
416
|
titleAccent?: string;
|
|
399
417
|
subtitle: string;
|
|
400
|
-
primaryAction?:
|
|
401
|
-
|
|
402
|
-
href: string;
|
|
403
|
-
};
|
|
404
|
-
secondaryAction?: {
|
|
405
|
-
label: string;
|
|
406
|
-
href: string;
|
|
407
|
-
};
|
|
418
|
+
primaryAction?: LinkAction;
|
|
419
|
+
secondaryAction?: LinkAction;
|
|
408
420
|
installCommand?: string;
|
|
409
|
-
image?:
|
|
410
|
-
src: string;
|
|
411
|
-
alt: string;
|
|
412
|
-
};
|
|
421
|
+
image?: ImageSource;
|
|
413
422
|
imagePosition?: 'below' | 'right' | 'background';
|
|
414
423
|
background?: 'dark' | 'gradient' | 'subtle';
|
|
415
424
|
align?: 'center' | 'left';
|
|
@@ -434,15 +443,9 @@ interface CTABannerProps {
|
|
|
434
443
|
/** Supporting text below the title */
|
|
435
444
|
subtitle?: string;
|
|
436
445
|
/** Primary action button config */
|
|
437
|
-
primaryAction?:
|
|
438
|
-
label: string;
|
|
439
|
-
href: string;
|
|
440
|
-
};
|
|
446
|
+
primaryAction?: LinkAction;
|
|
441
447
|
/** Secondary action button config */
|
|
442
|
-
secondaryAction?:
|
|
443
|
-
label: string;
|
|
444
|
-
href: string;
|
|
445
|
-
};
|
|
448
|
+
secondaryAction?: LinkAction;
|
|
446
449
|
/** Background style */
|
|
447
450
|
background?: CTABannerBackground;
|
|
448
451
|
/** Content alignment */
|
|
@@ -510,10 +513,7 @@ interface PricingCardProps {
|
|
|
510
513
|
price: string;
|
|
511
514
|
description?: string;
|
|
512
515
|
features: string[];
|
|
513
|
-
action:
|
|
514
|
-
label: string;
|
|
515
|
-
href: string;
|
|
516
|
-
};
|
|
516
|
+
action: LinkAction;
|
|
517
517
|
highlighted?: boolean;
|
|
518
518
|
badge?: string;
|
|
519
519
|
className?: string;
|
|
@@ -544,10 +544,7 @@ interface SplitSectionProps {
|
|
|
544
544
|
title: string;
|
|
545
545
|
description: string | React.ReactNode;
|
|
546
546
|
bullets?: string[];
|
|
547
|
-
image?:
|
|
548
|
-
src: string;
|
|
549
|
-
alt: string;
|
|
550
|
-
};
|
|
547
|
+
image?: ImageSource;
|
|
551
548
|
imagePosition?: 'left' | 'right';
|
|
552
549
|
background?: 'default' | 'alt';
|
|
553
550
|
children?: React.ReactNode;
|
|
@@ -601,11 +598,12 @@ declare const StepFlow: React.FC<StepFlowProps>;
|
|
|
601
598
|
* Uses StatDisplay internally when available for consistent styling.
|
|
602
599
|
*/
|
|
603
600
|
|
|
601
|
+
interface StatItem {
|
|
602
|
+
value: string;
|
|
603
|
+
label: string;
|
|
604
|
+
}
|
|
604
605
|
interface StatsGridProps {
|
|
605
|
-
stats:
|
|
606
|
-
value: string;
|
|
607
|
-
label: string;
|
|
608
|
-
}[];
|
|
606
|
+
stats: StatItem[];
|
|
609
607
|
columns?: 2 | 3 | 4 | 6;
|
|
610
608
|
className?: string;
|
|
611
609
|
}
|
|
@@ -637,19 +635,22 @@ declare const TagCloud: React.FC<TagCloudProps>;
|
|
|
637
635
|
* Composes VStack, HStack, Typography, Button, and Icon atoms.
|
|
638
636
|
*/
|
|
639
637
|
|
|
638
|
+
interface GithubLink {
|
|
639
|
+
url: string;
|
|
640
|
+
stars?: number;
|
|
641
|
+
}
|
|
642
|
+
interface DiscordLink {
|
|
643
|
+
url: string;
|
|
644
|
+
members?: number;
|
|
645
|
+
}
|
|
646
|
+
interface TwitterLink {
|
|
647
|
+
url: string;
|
|
648
|
+
followers?: number;
|
|
649
|
+
}
|
|
640
650
|
interface CommunityLinksProps {
|
|
641
|
-
github?:
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
};
|
|
645
|
-
discord?: {
|
|
646
|
-
url: string;
|
|
647
|
-
members?: number;
|
|
648
|
-
};
|
|
649
|
-
twitter?: {
|
|
650
|
-
url: string;
|
|
651
|
-
followers?: number;
|
|
652
|
-
};
|
|
651
|
+
github?: GithubLink;
|
|
652
|
+
discord?: DiscordLink;
|
|
653
|
+
twitter?: TwitterLink;
|
|
653
654
|
heading?: string;
|
|
654
655
|
subtitle?: string;
|
|
655
656
|
className?: string;
|
|
@@ -686,10 +687,7 @@ declare const ServiceCatalog: React.FC<ServiceCatalogProps>;
|
|
|
686
687
|
interface ShowcaseCardProps {
|
|
687
688
|
title: string;
|
|
688
689
|
description?: string;
|
|
689
|
-
image:
|
|
690
|
-
src: string;
|
|
691
|
-
alt: string;
|
|
692
|
-
};
|
|
690
|
+
image: ImageSource;
|
|
693
691
|
href?: string;
|
|
694
692
|
badge?: string;
|
|
695
693
|
accentColor?: string;
|
|
@@ -803,14 +801,15 @@ interface FooterLinkColumn {
|
|
|
803
801
|
title: string;
|
|
804
802
|
items: FooterLinkItem[];
|
|
805
803
|
}
|
|
804
|
+
interface FooterLogo {
|
|
805
|
+
src: string;
|
|
806
|
+
alt: string;
|
|
807
|
+
href?: string;
|
|
808
|
+
}
|
|
806
809
|
interface MarketingFooterProps {
|
|
807
810
|
columns: FooterLinkColumn[];
|
|
808
811
|
copyright?: string;
|
|
809
|
-
logo?:
|
|
810
|
-
src: string;
|
|
811
|
-
alt: string;
|
|
812
|
-
href?: string;
|
|
813
|
-
};
|
|
812
|
+
logo?: FooterLogo;
|
|
814
813
|
className?: string;
|
|
815
814
|
}
|
|
816
815
|
declare const MarketingFooter: React.FC<MarketingFooterProps>;
|
package/dist/marketing/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React8, { createContext, useCallback, useState, useRef, useEffect, useContext, useMemo, useSyncExternalStore, useId } from 'react';
|
|
2
2
|
import { createLogger } from '@almadar/logger';
|
|
3
3
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
-
import * as
|
|
4
|
+
import * as LucideIcons2 from 'lucide-react';
|
|
5
5
|
import { Loader2, X } from 'lucide-react';
|
|
6
6
|
import * as PhosphorIcons from '@phosphor-icons/react';
|
|
7
7
|
import * as TablerIcons from '@tabler/icons-react';
|
|
@@ -3040,26 +3040,26 @@ function kebabToPascal(name) {
|
|
|
3040
3040
|
}).join("");
|
|
3041
3041
|
}
|
|
3042
3042
|
var lucideAliases = {
|
|
3043
|
-
close:
|
|
3044
|
-
trash:
|
|
3045
|
-
loader:
|
|
3046
|
-
stop:
|
|
3047
|
-
volume:
|
|
3048
|
-
"volume-off":
|
|
3049
|
-
refresh:
|
|
3050
|
-
share:
|
|
3051
|
-
"sort-asc":
|
|
3052
|
-
"sort-desc":
|
|
3043
|
+
close: LucideIcons2.X,
|
|
3044
|
+
trash: LucideIcons2.Trash2,
|
|
3045
|
+
loader: LucideIcons2.Loader2,
|
|
3046
|
+
stop: LucideIcons2.Square,
|
|
3047
|
+
volume: LucideIcons2.Volume2,
|
|
3048
|
+
"volume-off": LucideIcons2.VolumeX,
|
|
3049
|
+
refresh: LucideIcons2.RefreshCw,
|
|
3050
|
+
share: LucideIcons2.Share2,
|
|
3051
|
+
"sort-asc": LucideIcons2.ArrowUpNarrowWide,
|
|
3052
|
+
"sort-desc": LucideIcons2.ArrowDownNarrowWide
|
|
3053
3053
|
};
|
|
3054
3054
|
function resolveLucide(name) {
|
|
3055
3055
|
if (lucideAliases[name]) return lucideAliases[name];
|
|
3056
3056
|
const pascal = kebabToPascal(name);
|
|
3057
|
-
const lucideMap =
|
|
3057
|
+
const lucideMap = LucideIcons2;
|
|
3058
3058
|
const direct = lucideMap[pascal];
|
|
3059
3059
|
if (direct && typeof direct === "object") return direct;
|
|
3060
3060
|
const asIs = lucideMap[name];
|
|
3061
3061
|
if (asIs && typeof asIs === "object") return asIs;
|
|
3062
|
-
return
|
|
3062
|
+
return LucideIcons2.HelpCircle;
|
|
3063
3063
|
}
|
|
3064
3064
|
var phosphorAliases = {
|
|
3065
3065
|
// lucide name → phosphor PascalCase name
|
|
@@ -3652,6 +3652,41 @@ function resolveIconForFamily(name, family) {
|
|
|
3652
3652
|
}
|
|
3653
3653
|
}
|
|
3654
3654
|
}
|
|
3655
|
+
var iconAliases = {
|
|
3656
|
+
"close": LucideIcons2.X,
|
|
3657
|
+
"trash": LucideIcons2.Trash2,
|
|
3658
|
+
"loader": LucideIcons2.Loader2,
|
|
3659
|
+
"stop": LucideIcons2.Square,
|
|
3660
|
+
"volume": LucideIcons2.Volume2,
|
|
3661
|
+
"volume-off": LucideIcons2.VolumeX,
|
|
3662
|
+
"refresh": LucideIcons2.RefreshCw,
|
|
3663
|
+
"share": LucideIcons2.Share2,
|
|
3664
|
+
"sort-asc": LucideIcons2.ArrowUpNarrowWide,
|
|
3665
|
+
"sort-desc": LucideIcons2.ArrowDownNarrowWide
|
|
3666
|
+
};
|
|
3667
|
+
function kebabToPascal2(name) {
|
|
3668
|
+
return name.split("-").map((part) => {
|
|
3669
|
+
if (/^\d+$/.test(part)) return part;
|
|
3670
|
+
return part.charAt(0).toUpperCase() + part.slice(1);
|
|
3671
|
+
}).join("");
|
|
3672
|
+
}
|
|
3673
|
+
var resolvedCache = /* @__PURE__ */ new Map();
|
|
3674
|
+
function resolveIcon(name) {
|
|
3675
|
+
const cached = resolvedCache.get(name);
|
|
3676
|
+
if (cached) return cached;
|
|
3677
|
+
const resolved = doResolve(name);
|
|
3678
|
+
resolvedCache.set(name, resolved);
|
|
3679
|
+
return resolved;
|
|
3680
|
+
}
|
|
3681
|
+
function doResolve(name) {
|
|
3682
|
+
if (iconAliases[name]) return iconAliases[name];
|
|
3683
|
+
const pascalName = kebabToPascal2(name);
|
|
3684
|
+
const directLookup = LucideIcons2[pascalName];
|
|
3685
|
+
if (directLookup && typeof directLookup === "object") return directLookup;
|
|
3686
|
+
const asIs = LucideIcons2[name];
|
|
3687
|
+
if (asIs && typeof asIs === "object") return asIs;
|
|
3688
|
+
return LucideIcons2.HelpCircle;
|
|
3689
|
+
}
|
|
3655
3690
|
var sizeClasses = {
|
|
3656
3691
|
xs: "w-3 h-3",
|
|
3657
3692
|
sm: "w-4 h-4",
|
|
@@ -3674,11 +3709,13 @@ var Icon = ({
|
|
|
3674
3709
|
strokeWidth,
|
|
3675
3710
|
style
|
|
3676
3711
|
}) => {
|
|
3712
|
+
const directIcon = typeof icon === "string" ? void 0 : icon;
|
|
3713
|
+
const effectiveName = typeof icon === "string" ? icon : name;
|
|
3677
3714
|
const family = useIconFamily();
|
|
3678
3715
|
const RenderedComponent = React8.useMemo(() => {
|
|
3679
|
-
if (
|
|
3680
|
-
return
|
|
3681
|
-
}, [
|
|
3716
|
+
if (directIcon) return null;
|
|
3717
|
+
return effectiveName ? resolveIconForFamily(effectiveName, family) : null;
|
|
3718
|
+
}, [directIcon, effectiveName, family]);
|
|
3682
3719
|
const effectiveStrokeWidth = strokeWidth ?? void 0;
|
|
3683
3720
|
const inlineStyle = {
|
|
3684
3721
|
...effectiveStrokeWidth === void 0 ? { strokeWidth: "var(--icon-stroke-width, 2)" } : {},
|
|
@@ -3690,8 +3727,8 @@ var Icon = ({
|
|
|
3690
3727
|
color ? color : "text-current",
|
|
3691
3728
|
className
|
|
3692
3729
|
);
|
|
3693
|
-
if (
|
|
3694
|
-
const Direct =
|
|
3730
|
+
if (directIcon) {
|
|
3731
|
+
const Direct = directIcon;
|
|
3695
3732
|
return /* @__PURE__ */ jsx(
|
|
3696
3733
|
Direct,
|
|
3697
3734
|
{
|
|
@@ -3711,7 +3748,7 @@ var Icon = ({
|
|
|
3711
3748
|
}
|
|
3712
3749
|
);
|
|
3713
3750
|
}
|
|
3714
|
-
const Fallback =
|
|
3751
|
+
const Fallback = LucideIcons2.HelpCircle;
|
|
3715
3752
|
return /* @__PURE__ */ jsx(
|
|
3716
3753
|
Fallback,
|
|
3717
3754
|
{
|
|
@@ -5015,7 +5052,7 @@ var Avatar = ({
|
|
|
5015
5052
|
alt,
|
|
5016
5053
|
name,
|
|
5017
5054
|
initials: providedInitials,
|
|
5018
|
-
icon:
|
|
5055
|
+
icon: iconProp,
|
|
5019
5056
|
size = "md",
|
|
5020
5057
|
status,
|
|
5021
5058
|
badge,
|
|
@@ -5026,6 +5063,7 @@ var Avatar = ({
|
|
|
5026
5063
|
}) => {
|
|
5027
5064
|
const eventBus = useEventBus();
|
|
5028
5065
|
const initials = providedInitials ?? (name ? generateInitials(name) : void 0);
|
|
5066
|
+
const IconComponent = typeof iconProp === "string" ? resolveIcon(iconProp) : iconProp;
|
|
5029
5067
|
const hasImage = !!src;
|
|
5030
5068
|
const hasInitials = !!initials;
|
|
5031
5069
|
const hasIcon = !!IconComponent;
|