@dust-tt/sparkle 0.1.66-rc2 → 0.1.67
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/cjs/components/DropdownMenu.d.ts +2 -2
- package/dist/cjs/components/Item.d.ts +2 -2
- package/dist/cjs/index.js +85 -91
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stories/Item.stories.d.ts +1 -1
- package/dist/esm/components/DropdownMenu.d.ts +2 -2
- package/dist/esm/components/Item.d.ts +2 -2
- package/dist/esm/index.js +85 -91
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stories/Item.stories.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -11,4 +11,4 @@ export declare const ListItemExample: () => React.JSX.Element;
|
|
|
11
11
|
export declare const ItemMD: Story;
|
|
12
12
|
export declare const ItemSM: Story;
|
|
13
13
|
export declare const ItemWithoutIcon: Story;
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const ItemWithVisual: Story;
|
|
@@ -7,7 +7,7 @@ export interface DropdownMenuProps {
|
|
|
7
7
|
export declare function DropdownMenu({ children, className }: DropdownMenuProps): React.JSX.Element;
|
|
8
8
|
export declare namespace DropdownMenu {
|
|
9
9
|
var Button: ({ label, type, tooltip, icon, children, tooltipPosition, className, disabled, }: DropdownButtonProps) => React.JSX.Element;
|
|
10
|
-
var Item: ({ label, href, disabled, key,
|
|
10
|
+
var Item: ({ label, href, disabled, key, visual, onClick, }: DropdownItemProps) => React.JSX.Element;
|
|
11
11
|
var Items: ({ origin, width, children, }: DropdownItemsProps) => React.JSX.Element;
|
|
12
12
|
}
|
|
13
13
|
export interface DropdownButtonProps {
|
|
@@ -25,7 +25,7 @@ interface DropdownItemProps {
|
|
|
25
25
|
href?: string;
|
|
26
26
|
disabled?: boolean;
|
|
27
27
|
key?: string;
|
|
28
|
-
|
|
28
|
+
visual?: string | React.ReactNode;
|
|
29
29
|
onClick?: () => void;
|
|
30
30
|
}
|
|
31
31
|
interface DropdownItemsProps {
|
|
@@ -7,11 +7,11 @@ type ItemProps = {
|
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
label: string;
|
|
9
9
|
icon?: ComponentType;
|
|
10
|
-
|
|
10
|
+
visual?: string | React.ReactNode;
|
|
11
11
|
className?: string;
|
|
12
12
|
href?: string;
|
|
13
13
|
};
|
|
14
|
-
export declare function Item({ onClick, selected, size, disabled, variant, label, icon,
|
|
14
|
+
export declare function Item({ onClick, selected, size, disabled, variant, label, icon, visual, className, href, }: ItemProps): React.JSX.Element;
|
|
15
15
|
export declare namespace Item {
|
|
16
16
|
var SectionHeader: ({ label }: ItemSectionHeaderProps) => React.JSX.Element;
|
|
17
17
|
var List: ({ children, className }: ListItemProps) => React.JSX.Element;
|
package/dist/esm/index.js
CHANGED
|
@@ -500,18 +500,93 @@ function Tab(_a) {
|
|
|
500
500
|
return tab.hideLabel ? (tab.label ? (React__default.createElement(React__default.Fragment, null,
|
|
501
501
|
React__default.createElement("div", { key: "tab-".concat(i) },
|
|
502
502
|
React__default.createElement(Tooltip, { label: tab.label }, content)),
|
|
503
|
-
tab.hasSeparator && React__default.createElement("div", { className: "s-flex s-h-full s-grow" }))) : (React__default.createElement(React__default.Fragment, null,
|
|
503
|
+
tab.hasSeparator && (React__default.createElement("div", { className: "s-flex s-h-full s-grow", key: "sep-".concat(i) })))) : (React__default.createElement(React__default.Fragment, null,
|
|
504
504
|
React__default.createElement("div", { key: "tab-".concat(i) }, content),
|
|
505
|
-
tab.hasSeparator && React__default.createElement("div", { className: "s-flex s-h-full s-grow" })))) : (React__default.createElement(React__default.Fragment, null,
|
|
505
|
+
tab.hasSeparator && (React__default.createElement("div", { className: "s-flex s-h-full s-grow", key: "sep-".concat(i) }))))) : (React__default.createElement(React__default.Fragment, null,
|
|
506
506
|
React__default.createElement("div", { key: "tab-".concat(i) }, content),
|
|
507
|
-
tab.hasSeparator && React__default.createElement("div", { className: "s-flex s-h-full s-grow" })));
|
|
507
|
+
tab.hasSeparator && (React__default.createElement("div", { className: "s-flex s-h-full s-grow", key: "sep-".concat(i) }))));
|
|
508
508
|
});
|
|
509
509
|
};
|
|
510
510
|
return (React__default.createElement("div", { className: "s-border-b s-border-structure-200 dark:s-border-structure-200-dark" },
|
|
511
511
|
React__default.createElement("nav", { className: "-s-mb-px s-flex s-space-x-0", "aria-label": "Tabs" }, renderTabs())));
|
|
512
512
|
}
|
|
513
513
|
|
|
514
|
+
var colors = [
|
|
515
|
+
"s-bg-red-300",
|
|
516
|
+
"s-bg-orange-300",
|
|
517
|
+
"s-bg-amber-300",
|
|
518
|
+
"s-bg-yellow-300",
|
|
519
|
+
"s-bg-lime-300",
|
|
520
|
+
"s-bg-green-300",
|
|
521
|
+
"s-bg-emerald-300",
|
|
522
|
+
"s-bg-teal-300",
|
|
523
|
+
"s-bg-cyan-300",
|
|
524
|
+
"s-bg-sky-300",
|
|
525
|
+
"s-bg-blue-300",
|
|
526
|
+
"s-bg-indigo-300",
|
|
527
|
+
"s-bg-violet-300",
|
|
528
|
+
"s-bg-purple-300",
|
|
529
|
+
"s-bg-fuchsia-300",
|
|
530
|
+
"s-bg-rose-300",
|
|
531
|
+
];
|
|
532
|
+
var txtColors = [
|
|
533
|
+
"s-text-red-700",
|
|
534
|
+
"s-text-orange-700",
|
|
535
|
+
"s-text-amber-700",
|
|
536
|
+
"s-text-yellow-700",
|
|
537
|
+
"s-text-lime-700",
|
|
538
|
+
"s-text-green-700",
|
|
539
|
+
"s-text-emerald-700",
|
|
540
|
+
"s-text-teal-700",
|
|
541
|
+
"s-text-cyan-700",
|
|
542
|
+
"s-text-sky-700",
|
|
543
|
+
"s-text-blue-700",
|
|
544
|
+
"s-text-indigo-700",
|
|
545
|
+
"s-text-violet-700",
|
|
546
|
+
"s-text-purple-700",
|
|
547
|
+
"s-text-fuchsia-700",
|
|
548
|
+
"s-text-rose-700",
|
|
549
|
+
];
|
|
514
550
|
var sizeClasses$2 = {
|
|
551
|
+
xs: "s-h-6 s-w-6 s-rounded-full",
|
|
552
|
+
sm: "s-h-10 s-w-10 s-rounded-xl",
|
|
553
|
+
md: "s-h-16 s-w-16 s-rounded-2xl",
|
|
554
|
+
lg: "s-h-36 s-w-36 s-rounded-3xl",
|
|
555
|
+
full: "s-h-full s-w-full",
|
|
556
|
+
};
|
|
557
|
+
var textSize = {
|
|
558
|
+
xs: "s-text-xs",
|
|
559
|
+
sm: "s-text-base",
|
|
560
|
+
md: "s-text-3xl",
|
|
561
|
+
lg: "s-text-7xl",
|
|
562
|
+
full: "s-text-6xl",
|
|
563
|
+
};
|
|
564
|
+
function Avatar(_a) {
|
|
565
|
+
var _b = _a.size, size = _b === void 0 ? "sm" : _b, name = _a.name, visual = _a.visual, onClick = _a.onClick, _c = _a.busy, busy = _c === void 0 ? false : _c;
|
|
566
|
+
var getColor = function (name) {
|
|
567
|
+
var hash = 0;
|
|
568
|
+
for (var i = 0; i < name.length; i++) {
|
|
569
|
+
hash = name.charCodeAt(i) + ((hash << 5) - hash);
|
|
570
|
+
}
|
|
571
|
+
return colors[Math.abs(hash) % colors.length];
|
|
572
|
+
};
|
|
573
|
+
var getTextVariant = function (name) {
|
|
574
|
+
var hash = 0;
|
|
575
|
+
for (var i = 0; i < name.length; i++) {
|
|
576
|
+
hash = name.charCodeAt(i) + ((hash << 5) - hash);
|
|
577
|
+
}
|
|
578
|
+
return txtColors[Math.abs(hash) % txtColors.length];
|
|
579
|
+
};
|
|
580
|
+
var clickableStyles = onClick && !busy
|
|
581
|
+
? "s-cursor-pointer hover:s-filter hover:s-brightness-110 active:s-brightness-90 s-transition s-duration-200 s-ease-out"
|
|
582
|
+
: "";
|
|
583
|
+
var busyStyles = busy ? "s-animate-breathing s-cursor-default" : "";
|
|
584
|
+
var avatarClass = classNames(sizeClasses$2[size], name ? getColor(name) : "s-bg-slate-200", "s-flex s-flex-shrink-0 s-items-center s-justify-center s-overflow-hidden", clickableStyles, busyStyles);
|
|
585
|
+
return (React__default.createElement("div", { className: avatarClass }, typeof visual === "string" ? (React__default.createElement("img", { src: visual, alt: name, className: classNames(sizeClasses$2[size], "s-object-cover") })) : visual ? (visual) : name ? (React__default.createElement("span", { className: classNames(getTextVariant(name), textSize[size], "s-select-none s-font-medium") }, name[0].toUpperCase())) : (React__default.createElement(SvgUser$1, { className: "s-h-1/2 s-w-1/2 s-opacity-20" }) // Default icon with size and slate-900 color
|
|
586
|
+
)));
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
var sizeClasses$1 = {
|
|
515
590
|
sm: "s-py-2 s-text-sm s-font-normal",
|
|
516
591
|
md: "s-py-3 s-text-sm s-font-semibold",
|
|
517
592
|
};
|
|
@@ -535,11 +610,6 @@ var iconClasses$3 = {
|
|
|
535
610
|
},
|
|
536
611
|
},
|
|
537
612
|
};
|
|
538
|
-
var imageClasses = {
|
|
539
|
-
default: {
|
|
540
|
-
base: "s-h-5 s-w-5 s-rounded-full",
|
|
541
|
-
},
|
|
542
|
-
};
|
|
543
613
|
var chevronClasses$1 = {
|
|
544
614
|
default: {
|
|
545
615
|
base: "s-text-element-600",
|
|
@@ -610,7 +680,7 @@ var stateClassesMD = {
|
|
|
610
680
|
};
|
|
611
681
|
function Item(_a) {
|
|
612
682
|
var _b, _c, _d;
|
|
613
|
-
var onClick = _a.onClick, _e = _a.selected, selected = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "sm" : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.variant, variant = _h === void 0 ? "default" : _h, label = _a.label, icon = _a.icon,
|
|
683
|
+
var onClick = _a.onClick, _e = _a.selected, selected = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "sm" : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.variant, variant = _h === void 0 ? "default" : _h, label = _a.label, icon = _a.icon, visual = _a.visual, _j = _a.className, className = _j === void 0 ? "" : _j, href = _a.href;
|
|
614
684
|
var components = React__default.useContext(SparkleContext).components;
|
|
615
685
|
var currentStateClasses = size === "md"
|
|
616
686
|
? selected
|
|
@@ -625,18 +695,17 @@ function Item(_a) {
|
|
|
625
695
|
var currentChevronClasses = selected
|
|
626
696
|
? chevronClasses$1.selected
|
|
627
697
|
: chevronClasses$1.default;
|
|
628
|
-
var itemClasses = classNames(baseClasses$3, sizeClasses$
|
|
698
|
+
var itemClasses = classNames(baseClasses$3, sizeClasses$1[size], disabled ? "s-cursor-default" : currentStateClasses.base, disabled ? "s-cursor-default" : (_b = currentStateClasses.dark) === null || _b === void 0 ? void 0 : _b.base, disabled ? currentStateClasses.disabled : "", !selected && !disabled ? currentStateClasses.hover : "", !selected && !disabled ? (_c = currentStateClasses.dark) === null || _c === void 0 ? void 0 : _c.hover : "", !selected && !disabled ? currentStateClasses.active : "", !selected && !disabled ? (_d = currentStateClasses.dark) === null || _d === void 0 ? void 0 : _d.active : "", className);
|
|
629
699
|
var finalIconClasses = classNames(iconBaseClasses, currentIconClasses.base, !disabled ? currentIconClasses.hover : "", // Add condition here
|
|
630
700
|
currentIconClasses.dark.base, !disabled ? currentIconClasses.dark.hover : "" // Add condition here
|
|
631
701
|
);
|
|
632
|
-
var finalImageClasses = classNames(imageClasses.default.base);
|
|
633
702
|
var finalCevronClasses = classNames(iconBaseClasses, "s-flex-shrink-0", size === "sm" ? "s-text-transparent" : currentChevronClasses.base, !disabled ? currentChevronClasses.hover : "", // Add condition here
|
|
634
703
|
currentChevronClasses.dark.base, !disabled ? currentChevronClasses.dark.hover : "" // Add condition here
|
|
635
704
|
);
|
|
636
705
|
var Link = href ? components.link : noHrefLink;
|
|
637
706
|
return (React__default.createElement(Link, { className: itemClasses, onClick: selected || disabled ? undefined : onClick, "aria-label": label, href: href || "#" },
|
|
638
707
|
icon && React__default.createElement(Icon, { visual: icon, className: finalIconClasses }),
|
|
639
|
-
|
|
708
|
+
visual && React__default.createElement(Avatar, { size: "xs", visual: visual }),
|
|
640
709
|
React__default.createElement("span", { className: "s-grow s-truncate" }, label),
|
|
641
710
|
variant === "default" && (React__default.createElement(Icon, { visual: SvgChevronRight$1, className: finalCevronClasses, size: "sm" }))));
|
|
642
711
|
}
|
|
@@ -650,7 +719,7 @@ Item.List = function (_a) {
|
|
|
650
719
|
React__default.createElement("div", { className: "s-flex s-w-full s-flex-col" }, children)));
|
|
651
720
|
};
|
|
652
721
|
|
|
653
|
-
var sizeClasses
|
|
722
|
+
var sizeClasses = {
|
|
654
723
|
sm: "s-py-1.5 s-text-xs s-font-medium s-px-3",
|
|
655
724
|
md: "s-py-2 s-text-sm s-font-semibold s-px-3",
|
|
656
725
|
};
|
|
@@ -669,7 +738,7 @@ function Chip(_a) {
|
|
|
669
738
|
return "s-bg-violet-100 s-border-violet-200";
|
|
670
739
|
}
|
|
671
740
|
})();
|
|
672
|
-
var ChipClasses = classNames(baseClasses$2, sizeClasses
|
|
741
|
+
var ChipClasses = classNames(baseClasses$2, sizeClasses[size], backgroundColor, className);
|
|
673
742
|
return (React__default.createElement("div", { className: ChipClasses, "aria-label": label },
|
|
674
743
|
label && (React__default.createElement("span", { className: "s-pointer s-grow s-cursor-default s-truncate" }, label)),
|
|
675
744
|
children));
|
|
@@ -31762,9 +31831,9 @@ DropdownMenu.Button = function (_a) {
|
|
|
31762
31831
|
React__default.createElement(Icon, { visual: type === "select" ? SvgChevronUpDown$1 : SvgChevronDown$1, size: "xs", className: finalChevronClasses })))));
|
|
31763
31832
|
};
|
|
31764
31833
|
DropdownMenu.Item = function (_a) {
|
|
31765
|
-
var label = _a.label, href = _a.href, disabled = _a.disabled, _b = _a.key, key = _b === void 0 ? "" : _b,
|
|
31834
|
+
var label = _a.label, href = _a.href, disabled = _a.disabled, _b = _a.key, key = _b === void 0 ? "" : _b, visual = _a.visual, onClick = _a.onClick;
|
|
31766
31835
|
return (React__default.createElement(it.Item, { disabled: disabled, key: key },
|
|
31767
|
-
React__default.createElement(Item, { variant: "dropdown", size: "md", href: href, onClick: onClick, label: label,
|
|
31836
|
+
React__default.createElement(Item, { variant: "dropdown", size: "md", href: href, onClick: onClick, label: label, visual: visual })));
|
|
31768
31837
|
};
|
|
31769
31838
|
DropdownMenu.Items = function (_a) {
|
|
31770
31839
|
var _b = _a.origin, origin = _b === void 0 ? "topRight" : _b, _c = _a.width, width = _c === void 0 ? 160 : _c, children = _a.children;
|
|
@@ -32051,81 +32120,6 @@ function IconToggleButton(_a) {
|
|
|
32051
32120
|
return tooltip ? (React__default.createElement(Tooltip, { label: tooltip, position: tooltipPosition }, IconButtonToggleContent)) : (IconButtonToggleContent);
|
|
32052
32121
|
}
|
|
32053
32122
|
|
|
32054
|
-
var colors = [
|
|
32055
|
-
"s-bg-red-300",
|
|
32056
|
-
"s-bg-orange-300",
|
|
32057
|
-
"s-bg-amber-300",
|
|
32058
|
-
"s-bg-yellow-300",
|
|
32059
|
-
"s-bg-lime-300",
|
|
32060
|
-
"s-bg-green-300",
|
|
32061
|
-
"s-bg-emerald-300",
|
|
32062
|
-
"s-bg-teal-300",
|
|
32063
|
-
"s-bg-cyan-300",
|
|
32064
|
-
"s-bg-sky-300",
|
|
32065
|
-
"s-bg-blue-300",
|
|
32066
|
-
"s-bg-indigo-300",
|
|
32067
|
-
"s-bg-violet-300",
|
|
32068
|
-
"s-bg-purple-300",
|
|
32069
|
-
"s-bg-fuchsia-300",
|
|
32070
|
-
"s-bg-rose-300",
|
|
32071
|
-
];
|
|
32072
|
-
var txtColors = [
|
|
32073
|
-
"s-text-red-700",
|
|
32074
|
-
"s-text-orange-700",
|
|
32075
|
-
"s-text-amber-700",
|
|
32076
|
-
"s-text-yellow-700",
|
|
32077
|
-
"s-text-lime-700",
|
|
32078
|
-
"s-text-green-700",
|
|
32079
|
-
"s-text-emerald-700",
|
|
32080
|
-
"s-text-teal-700",
|
|
32081
|
-
"s-text-cyan-700",
|
|
32082
|
-
"s-text-sky-700",
|
|
32083
|
-
"s-text-blue-700",
|
|
32084
|
-
"s-text-indigo-700",
|
|
32085
|
-
"s-text-violet-700",
|
|
32086
|
-
"s-text-purple-700",
|
|
32087
|
-
"s-text-fuchsia-700",
|
|
32088
|
-
"s-text-rose-700",
|
|
32089
|
-
];
|
|
32090
|
-
var sizeClasses = {
|
|
32091
|
-
xs: "s-h-6 s-w-6 s-rounded-full",
|
|
32092
|
-
sm: "s-h-10 s-w-10 s-rounded-xl",
|
|
32093
|
-
md: "s-h-16 s-w-16 s-rounded-2xl",
|
|
32094
|
-
lg: "s-h-36 s-w-36 s-rounded-3xl",
|
|
32095
|
-
full: "s-h-full s-w-full",
|
|
32096
|
-
};
|
|
32097
|
-
var textSize = {
|
|
32098
|
-
xs: "s-text-xs",
|
|
32099
|
-
sm: "s-text-base",
|
|
32100
|
-
md: "s-text-3xl",
|
|
32101
|
-
lg: "s-text-7xl",
|
|
32102
|
-
full: "s-text-6xl",
|
|
32103
|
-
};
|
|
32104
|
-
function Avatar(_a) {
|
|
32105
|
-
var _b = _a.size, size = _b === void 0 ? "sm" : _b, name = _a.name, visual = _a.visual, onClick = _a.onClick, _c = _a.busy, busy = _c === void 0 ? false : _c;
|
|
32106
|
-
var getColor = function (name) {
|
|
32107
|
-
var hash = 0;
|
|
32108
|
-
for (var i = 0; i < name.length; i++) {
|
|
32109
|
-
hash = name.charCodeAt(i) + ((hash << 5) - hash);
|
|
32110
|
-
}
|
|
32111
|
-
return colors[Math.abs(hash) % colors.length];
|
|
32112
|
-
};
|
|
32113
|
-
var getTextVariant = function (name) {
|
|
32114
|
-
var hash = 0;
|
|
32115
|
-
for (var i = 0; i < name.length; i++) {
|
|
32116
|
-
hash = name.charCodeAt(i) + ((hash << 5) - hash);
|
|
32117
|
-
}
|
|
32118
|
-
return txtColors[Math.abs(hash) % txtColors.length];
|
|
32119
|
-
};
|
|
32120
|
-
var clickableStyles = onClick && !busy
|
|
32121
|
-
? "s-cursor-pointer hover:s-filter hover:s-brightness-110 active:s-brightness-90 s-transition s-duration-200 s-ease-out"
|
|
32122
|
-
: "";
|
|
32123
|
-
var busyStyles = busy ? "s-animate-breathing s-cursor-default" : "";
|
|
32124
|
-
var avatarClass = classNames(sizeClasses[size], name ? getColor(name) : "s-bg-slate-200", "s-flex s-flex-shrink-0 s-items-center s-justify-center s-overflow-hidden", clickableStyles, busyStyles);
|
|
32125
|
-
return (React__default.createElement("div", { className: avatarClass }, typeof visual === "string" ? (React__default.createElement("img", { src: visual, alt: name, className: classNames(sizeClasses[size], "s-object-cover") })) : visual ? (visual) : name ? (React__default.createElement("span", { className: classNames(getTextVariant(name), textSize[size], "s-select-none s-font-medium") }, name[0].toUpperCase())) : (React__default.createElement(SvgUser$1, { className: "s-h-1/2 s-w-1/2 s-opacity-20" }) // Default icon with size and slate-900 color
|
|
32126
|
-
)));
|
|
32127
|
-
}
|
|
32128
|
-
|
|
32129
32123
|
var Spinner = function (_a) {
|
|
32130
32124
|
var _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "lightGrey" : _c;
|
|
32131
32125
|
var sizeClasses = {
|