@dust-tt/sparkle 0.2.223 → 0.2.225

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.
Files changed (35) hide show
  1. package/dist/cjs/index.js +17 -15
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/components/Breadcrumbs.d.ts +7 -6
  4. package/dist/esm/components/Breadcrumbs.d.ts.map +1 -1
  5. package/dist/esm/components/Breadcrumbs.js +3 -2
  6. package/dist/esm/components/Breadcrumbs.js.map +1 -1
  7. package/dist/esm/components/DataTable.d.ts +2 -1
  8. package/dist/esm/components/DataTable.d.ts.map +1 -1
  9. package/dist/esm/components/DataTable.js +6 -5
  10. package/dist/esm/components/DataTable.js.map +1 -1
  11. package/dist/esm/components/DropdownMenu.d.ts +10 -10
  12. package/dist/esm/components/DropdownMenu.d.ts.map +1 -1
  13. package/dist/esm/components/DropdownMenu.js +7 -7
  14. package/dist/esm/components/DropdownMenu.js.map +1 -1
  15. package/dist/esm/components/Item.d.ts +18 -15
  16. package/dist/esm/components/Item.d.ts.map +1 -1
  17. package/dist/esm/components/Item.js +2 -1
  18. package/dist/esm/components/Item.js.map +1 -1
  19. package/dist/esm/stories/DataTable.stories.d.ts.map +1 -1
  20. package/dist/esm/stories/DataTable.stories.js +16 -4
  21. package/dist/esm/stories/DataTable.stories.js.map +1 -1
  22. package/dist/esm/stories/DropdownMenu.stories.d.ts.map +1 -1
  23. package/dist/esm/stories/DropdownMenu.stories.js +32 -31
  24. package/dist/esm/stories/DropdownMenu.stories.js.map +1 -1
  25. package/dist/esm/stories/Item.stories.d.ts.map +1 -1
  26. package/dist/esm/stories/Item.stories.js +8 -6
  27. package/dist/esm/stories/Item.stories.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/components/Breadcrumbs.tsx +11 -10
  30. package/src/components/DataTable.tsx +15 -6
  31. package/src/components/DropdownMenu.tsx +13 -13
  32. package/src/components/Item.tsx +20 -16
  33. package/src/stories/DataTable.stories.tsx +17 -3
  34. package/src/stories/DropdownMenu.stories.tsx +43 -31
  35. package/src/stories/Item.stories.tsx +26 -6
package/dist/cjs/index.js CHANGED
@@ -71883,8 +71883,9 @@ var iconClasses$4 = {
71883
71883
  warning: "s-text-warning-400 group-hover/item:s-text-warning-300 group-active/item:s-text-warning-700 dark:group-hover/item:s-text-warning-600-dark dark:group-active/item:s-text-warning-400-dark",
71884
71884
  };
71885
71885
  function Item(_a) {
71886
- var label = _a.label, description = _a.description, visual = _a.visual, icon = _a.icon, _b = _a.style, style = _b === void 0 ? "action" : _b, _c = _a.spacing, spacing = _c === void 0 ? "sm" : _c, _d = _a.action, action = _d === void 0 ? SvgChevronRight$1 : _d, _e = _a.hasAction, hasAction = _e === void 0 ? true : _e, onClick = _a.onClick, _f = _a.selected, selected = _f === void 0 ? false : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.className, className = _h === void 0 ? "" : _h, href = _a.href, target = _a.target;
71886
+ var label = _a.label, description = _a.description, visual = _a.visual, icon = _a.icon, _b = _a.style, style = _b === void 0 ? "action" : _b, _c = _a.spacing, spacing = _c === void 0 ? "sm" : _c, _d = _a.action, action = _d === void 0 ? SvgChevronRight$1 : _d, _e = _a.hasAction, hasAction = _e === void 0 ? true : _e, onClick = _a.onClick, _f = _a.selected, selected = _f === void 0 ? false : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.className, className = _h === void 0 ? "" : _h, link = _a.link;
71887
71887
  var components = React.useContext(SparkleContext).components;
71888
+ var _j = link || {}, href = _j.href, target = _j.target;
71888
71889
  var Link = href ? components.link : noHrefLink;
71889
71890
  var visualElement;
71890
71891
  if (visual) {
@@ -71998,13 +71999,13 @@ function DropdownMenu(_a) {
71998
71999
  React.createElement(qe$1, { as: "div", className: classNames(className, "s-relative s-inline-block") }, children)));
71999
72000
  }
72000
72001
  DropdownMenu.Button = function (_a) {
72001
- var label = _a.label, _b = _a.type, type = _b === void 0 ? "menu" : _b, _c = _a.size, size = _c === void 0 ? "sm" : _c, tooltip = _a.tooltip, icon = _a.icon, children = _a.children, _d = _a.tooltipPosition, tooltipPosition = _d === void 0 ? "above" : _d, _e = _a.className, className = _e === void 0 ? "" : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, onClick = _a.onClick;
72002
+ var label = _a.label, _b = _a.type, type = _b === void 0 ? "menu" : _b, _c = _a.size, size = _c === void 0 ? "sm" : _c, tooltip = _a.tooltip, icon = _a.icon, children = _a.children, _d = _a.tooltipPosition, tooltipPosition = _d === void 0 ? "above" : _d, _e = _a.className, className = _e === void 0 ? "" : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f;
72002
72003
  var finalLabelClasses = classNames(labelClasses$1.base, labelSizeClasses[size], labelClasses$1.dark.base, !disabled ? labelClasses$1.active : "", !disabled ? labelClasses$1.dark.active : "", !disabled ? labelClasses$1.hover : "", !disabled ? labelClasses$1.dark.hover : "", disabled ? labelClasses$1.disabled : "");
72003
72004
  var finalIconClasses = classNames(iconClasses$3.base, iconClasses$3.dark.base, !disabled ? iconClasses$3.hover : "", !disabled ? iconClasses$3.dark.hover : "", disabled ? iconClasses$3.disabled : "");
72004
72005
  var finalChevronClasses = classNames(chevronClasses.base, !disabled ? chevronClasses.hover : "", chevronClasses.dark.base, !disabled ? chevronClasses.dark.hover : "", disabled ? chevronClasses.disabled : "");
72005
72006
  var buttonRef = React.useContext(ButtonRefContext);
72006
72007
  if (children) {
72007
- return (React.createElement(qe$1.Button, { as: "div", disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group/dm s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? "s-gap-1.5" : "s-gap-0"), onClick: onClick }, tooltip ? (React.createElement(Tooltip, { position: tooltipPosition, label: tooltip }, children)) : (children)));
72008
+ return (React.createElement(qe$1.Button, { as: "div", disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group/dm s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? "s-gap-1.5" : "s-gap-0"), onClick: function (e) { return e.stopPropagation(); } }, tooltip ? (React.createElement(Tooltip, { position: tooltipPosition, label: tooltip }, children)) : (children)));
72008
72009
  }
72009
72010
  var chevronIcon = type === "select"
72010
72011
  ? SvgChevronUpDown$1
@@ -72012,20 +72013,20 @@ DropdownMenu.Button = function (_a) {
72012
72013
  ? SvgChevronRight$1
72013
72014
  : SvgChevronDown$1;
72014
72015
  return (React.createElement(React.Fragment, null, tooltip ? (React.createElement(Tooltip, { label: tooltip, position: tooltipPosition },
72015
- React.createElement(qe$1.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group/dm s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5") },
72016
+ React.createElement(qe$1.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group/dm s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5"), onClick: function (e) { return e.stopPropagation(); } },
72016
72017
  React.createElement(Icon, { visual: icon, size: size, className: finalIconClasses }),
72017
- React.createElement(Icon, { visual: chevronIcon, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))) : (React.createElement(qe$1.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group/dm s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5", type === "submenu" ? "s-opacity-50" : "") },
72018
+ React.createElement(Icon, { visual: chevronIcon, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))) : (React.createElement(qe$1.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group/dm s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5", type === "submenu" ? "s-opacity-50" : ""), onClick: function (e) { return e.stopPropagation(); } },
72018
72019
  React.createElement(Icon, { visual: icon, size: size, className: finalIconClasses }),
72019
72020
  React.createElement("span", { className: classNames(finalLabelClasses, type === "submenu" ? "s-w-full" : "") }, label),
72020
72021
  React.createElement(Icon, { visual: chevronIcon, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))));
72021
72022
  };
72022
72023
  DropdownMenu.Item = function (_a) {
72023
- var _b = _a.variant, variant = _b === void 0 ? "default" : _b, label = _a.label, description = _a.description, href = _a.href, disabled = _a.disabled, visual = _a.visual, icon = _a.icon, onClick = _a.onClick, hasChildren = _a.hasChildren, children = _a.children, _c = _a.selected, selected = _c === void 0 ? false : _c;
72024
+ var _b = _a.variant, variant = _b === void 0 ? "default" : _b, label = _a.label, description = _a.description, link = _a.link, disabled = _a.disabled, visual = _a.visual, icon = _a.icon, onClick = _a.onClick, hasChildren = _a.hasChildren, children = _a.children, _c = _a.selected, selected = _c === void 0 ? false : _c;
72024
72025
  return (
72025
72026
  // need to use as="div" -- otherwise we get a "forwardRef" error in the console
72026
72027
  React.createElement(qe$1.Item, { disabled: disabled, as: "div" }, hasChildren ? (React.createElement(DropdownMenu, { className: "s-w-full s-gap-x-2 s-py-2" },
72027
72028
  React.createElement(DropdownMenu.Button, { className: "s-w-full", disabled: disabled, label: label, type: "submenu" }),
72028
- children)) : (React.createElement(Item.Dropdown, { className: "s-w-full", description: description, disabled: disabled, href: href, icon: icon, label: label, onClick: onClick, selected: selected, style: variant, visual: visual }))));
72029
+ children)) : (React.createElement(Item.Dropdown, { className: "s-w-full", description: description, disabled: disabled, link: link, icon: icon, label: label, onClick: onClick, selected: selected, style: variant, visual: visual }))));
72029
72030
  };
72030
72031
  DropdownMenu.SectionHeader = function (_a) {
72031
72032
  var label = _a.label;
@@ -72111,7 +72112,7 @@ DropdownMenu.Items = function (_a) {
72111
72112
  return style;
72112
72113
  };
72113
72114
  return (React.createElement(qe, { as: React.Fragment, enter: "s-transition s-ease-out s-duration-200", enterFrom: getOriginTransClass(origin), enterTo: "s-transform s-opacity-100 s-scale-100 s-translate-y-0", leave: "s-transition s-ease-in s-duration-75", leaveFrom: "s-transform s-opacity-100 s-scale-100 s-translate-y-0", leaveTo: getOriginTransClass(origin) },
72114
- React.createElement(qe$1.Items, { onKeyDown: onKeyDown, className: classNames("s-absolute s-z-10", getOriginClass(origin), "s-rounded-xl s-border s-border-structure-100 s-bg-structure-0 s-shadow-lg focus:s-outline-none dark:s-border-structure-100-dark dark:s-bg-structure-0-dark"), style: styleInsert(origin, marginLeft) },
72115
+ React.createElement(qe$1.Items, { onKeyDown: onKeyDown, className: classNames("s-absolute s-z-10", getOriginClass(origin), "s-rounded-xl s-border s-border-structure-100 s-bg-structure-0 s-shadow-lg focus:s-outline-none dark:s-border-structure-100-dark dark:s-bg-structure-0-dark"), onClick: function (e) { return e.stopPropagation(); }, style: styleInsert(origin, marginLeft) },
72115
72116
  topBar,
72116
72117
  React.createElement("div", { className: classNames(classNamesForVariant(variant, hasDropdownItem), getOverflowClass(overflow)) },
72117
72118
  React.createElement(Item.List, null, children)),
@@ -72584,12 +72585,13 @@ function Breadcrumbs(_a) {
72584
72585
  return acc;
72585
72586
  }, { itemsShown: [], itemsHidden: [] }), itemsShown = _b.itemsShown, itemsHidden = _b.itemsHidden;
72586
72587
  return (React.createElement("div", { className: "gap-2 s-flex s-flex-row s-items-center" }, itemsShown.map(function (item, index) {
72588
+ var _a;
72587
72589
  return (React.createElement("div", { key: "breadcrumbs-".concat(index), className: "s-flex s-flex-row s-items-center s-gap-1" },
72588
72590
  React.createElement(Icon, { visual: item.icon, className: "s-text-brand" }),
72589
72591
  item.label === ELLIPSIS_STRING ? (React.createElement(DropdownMenu, null,
72590
72592
  React.createElement(DropdownMenu.Button, null, ELLIPSIS_STRING),
72591
- React.createElement(DropdownMenu.Items, { origin: "topLeft" }, itemsHidden.map(function (item, index) { return (React.createElement(DropdownMenu.Item, { icon: item.icon, label: item.label, href: item.href || "#", key: "breadcrumbs-hidden-".concat(index) }, truncateWithTooltip(item.label, LABEL_TRUNCATE_LENGTH_MIDDLE))); })))) : (React.createElement("div", null,
72592
- React.createElement(Link, { href: item.href || "#", className: index === items.length - 1
72593
+ React.createElement(DropdownMenu.Items, { origin: "topLeft" }, itemsHidden.map(function (item, index) { return (React.createElement(DropdownMenu.Item, { icon: item.icon, label: item.label, link: item.link, key: "breadcrumbs-hidden-".concat(index) }, truncateWithTooltip(item.label, LABEL_TRUNCATE_LENGTH_MIDDLE))); })))) : (React.createElement("div", null,
72594
+ React.createElement(Link, { href: ((_a = item.link) === null || _a === void 0 ? void 0 : _a.href) || "#", className: index === items.length - 1
72593
72595
  ? "s-text-element-900"
72594
72596
  : "s-text-element-700" }, index === items.length - 1
72595
72597
  ? truncateWithTooltip(item.label, LABEL_TRUNCATE_LENGTH_END)
@@ -103345,9 +103347,7 @@ DataTable.Row = function Row(_a) {
103345
103347
  return (React.createElement("tr", __assign({ className: classNames("s-group/dt s-border-b s-border-structure-200 s-text-sm s-transition-colors s-duration-300 s-ease-out", onClick ? "s-cursor-pointer hover:s-bg-structure-50" : "", className || ""), onClick: onClick ? onClick : undefined }, props),
103346
103348
  children,
103347
103349
  React.createElement("td", { className: "s-w-1 s-cursor-pointer s-pl-1 s-text-element-600" }, moreMenuItems && moreMenuItems.length > 0 && (React.createElement(DropdownMenu, { className: "s-mr-1.5 s-flex" },
103348
- React.createElement(DropdownMenu.Button, { onClick: function (e) {
103349
- e.stopPropagation();
103350
- } },
103350
+ React.createElement(DropdownMenu.Button, null,
103351
103351
  React.createElement(IconButton, { icon: SvgMore$1, size: "sm", variant: "tertiary" })),
103352
103352
  React.createElement(DropdownMenu.Items, { origin: "topRight", width: 220 }, moreMenuItems === null || moreMenuItems === void 0 ? void 0 : moreMenuItems.map(function (item, index) { return (React.createElement(DropdownMenu.Item, __assign({ key: index }, item))); })))))));
103353
103353
  };
@@ -103356,9 +103356,11 @@ DataTable.Cell = function Cell(_a) {
103356
103356
  return (React.createElement("td", __assign({ className: classNames("s-h-12 s-whitespace-nowrap s-pl-1.5 s-text-element-800", className || "") }, props), children));
103357
103357
  };
103358
103358
  DataTable.CellContent = function CellContent(_a) {
103359
- var children = _a.children, className = _a.className, avatarUrl = _a.avatarUrl, roundedAvatar = _a.roundedAvatar, icon = _a.icon, iconClassName = _a.iconClassName, description = _a.description, props = __rest(_a, ["children", "className", "avatarUrl", "roundedAvatar", "icon", "iconClassName", "description"]);
103359
+ var children = _a.children, className = _a.className, avatarUrl = _a.avatarUrl, avatarTooltipLabel = _a.avatarTooltipLabel, roundedAvatar = _a.roundedAvatar, icon = _a.icon, iconClassName = _a.iconClassName, description = _a.description, props = __rest(_a, ["children", "className", "avatarUrl", "avatarTooltipLabel", "roundedAvatar", "icon", "iconClassName", "description"]);
103360
103360
  return (React.createElement("div", __assign({ className: classNames("s-flex s-items-center s-py-2", className || "") }, props),
103361
- avatarUrl && (React.createElement(Avatar, { visual: avatarUrl, size: "xs", className: "s-mr-2", isRounded: roundedAvatar !== null && roundedAvatar !== void 0 ? roundedAvatar : false })),
103361
+ avatarUrl && avatarTooltipLabel && (React.createElement(Tooltip, { label: avatarTooltipLabel, position: "above" },
103362
+ React.createElement(Avatar, { visual: avatarUrl, size: "xs", className: "s-mr-2", isRounded: roundedAvatar !== null && roundedAvatar !== void 0 ? roundedAvatar : false }))),
103363
+ avatarUrl && !avatarTooltipLabel && (React.createElement(Avatar, { visual: avatarUrl, size: "xs", className: "s-mr-2", isRounded: roundedAvatar !== null && roundedAvatar !== void 0 ? roundedAvatar : false })),
103362
103364
  icon && (React.createElement(Icon, { visual: icon, size: "sm", className: classNames("s-mr-2 s-text-element-600", iconClassName || "") })),
103363
103365
  React.createElement("div", { className: "s-flex" },
103364
103366
  React.createElement("span", { className: "s-text-sm s-text-element-800" }, children),