@dust-tt/sparkle 0.2.528 → 0.2.529-rc-2

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 (63) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/AssistantCard.d.ts +2 -2
  3. package/dist/esm/components/AssistantCard.d.ts.map +1 -1
  4. package/dist/esm/components/Button.d.ts +24 -8
  5. package/dist/esm/components/Button.d.ts.map +1 -1
  6. package/dist/esm/components/Button.js +29 -33
  7. package/dist/esm/components/Button.js.map +1 -1
  8. package/dist/esm/components/Card.d.ts +12 -1
  9. package/dist/esm/components/Card.d.ts.map +1 -1
  10. package/dist/esm/components/Card.js.map +1 -1
  11. package/dist/esm/components/Dialog.d.ts +3 -3
  12. package/dist/esm/components/Dialog.d.ts.map +1 -1
  13. package/dist/esm/components/Dialog.js +1 -1
  14. package/dist/esm/components/Dialog.js.map +1 -1
  15. package/dist/esm/components/EmptyCTA.d.ts +3 -3
  16. package/dist/esm/components/EmptyCTA.d.ts.map +1 -1
  17. package/dist/esm/components/EmptyCTA.js +1 -1
  18. package/dist/esm/components/EmptyCTA.js.map +1 -1
  19. package/dist/esm/components/IconButton.d.ts.map +1 -1
  20. package/dist/esm/components/IconButton.js +1 -1
  21. package/dist/esm/components/IconButton.js.map +1 -1
  22. package/dist/esm/components/LinkWrapper.d.ts +1 -0
  23. package/dist/esm/components/LinkWrapper.d.ts.map +1 -1
  24. package/dist/esm/components/LinkWrapper.js +2 -2
  25. package/dist/esm/components/LinkWrapper.js.map +1 -1
  26. package/dist/esm/components/SplitButton.d.ts +5 -5
  27. package/dist/esm/components/SplitButton.d.ts.map +1 -1
  28. package/dist/esm/components/SplitButton.js +1 -1
  29. package/dist/esm/components/SplitButton.js.map +1 -1
  30. package/dist/esm/components/Tabs.d.ts +2 -1
  31. package/dist/esm/components/Tabs.d.ts.map +1 -1
  32. package/dist/esm/components/Tabs.js +1 -1
  33. package/dist/esm/components/Tabs.js.map +1 -1
  34. package/dist/esm/components/index.d.ts +1 -1
  35. package/dist/esm/components/index.d.ts.map +1 -1
  36. package/dist/esm/context.d.ts +1 -0
  37. package/dist/esm/context.d.ts.map +1 -1
  38. package/dist/esm/context.js +7 -4
  39. package/dist/esm/context.js.map +1 -1
  40. package/dist/esm/stories/Button.stories.d.ts +2 -2
  41. package/dist/esm/stories/Button.stories.d.ts.map +1 -1
  42. package/dist/esm/stories/Button.stories.js +12 -5
  43. package/dist/esm/stories/Button.stories.js.map +1 -1
  44. package/dist/esm/stories/Chip.stories.d.ts +1 -0
  45. package/dist/esm/stories/Chip.stories.d.ts.map +1 -1
  46. package/dist/esm/stories/EmptyCTA.stories.d.ts.map +1 -1
  47. package/dist/esm/stories/EmptyCTA.stories.js +4 -6
  48. package/dist/esm/stories/EmptyCTA.stories.js.map +1 -1
  49. package/dist/esm/stories/IconButton.stories.d.ts +1 -1
  50. package/package.json +1 -1
  51. package/src/components/AssistantCard.tsx +2 -2
  52. package/src/components/Button.tsx +148 -91
  53. package/src/components/Card.tsx +2 -2
  54. package/src/components/Dialog.tsx +8 -3
  55. package/src/components/EmptyCTA.tsx +11 -13
  56. package/src/components/IconButton.tsx +0 -1
  57. package/src/components/LinkWrapper.tsx +26 -19
  58. package/src/components/SplitButton.tsx +10 -6
  59. package/src/components/Tabs.tsx +3 -3
  60. package/src/components/index.ts +2 -2
  61. package/src/context.tsx +18 -4
  62. package/src/stories/Button.stories.tsx +24 -4
  63. package/src/stories/EmptyCTA.stories.tsx +3 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ type SparkleLinkProps = {
13
13
  target?: string;
14
14
  rel?: string;
15
15
  prefetch?: boolean;
16
+ disabled?: boolean;
16
17
  };
17
18
  export type SparkleContextLinkType = ComponentType<SparkleLinkProps & React.RefAttributes<HTMLAnchorElement>>;
18
19
  export type SparkleContextType = {
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAGrC,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EACR,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAChD,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC1D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,sBAyBnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,sBAavB,CAAC;AAEH,eAAO,MAAM,cAAc,mCAIzB,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAKrC,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EACR,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAChD,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC1D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB,CAAC;KAC9B,CAAC;CACH,CAAC;AAIF,eAAO,MAAM,KAAK,EAAE,sBAmCnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,sBAYvB,CAAC;AAEH,eAAO,MAAM,cAAc,mCAIzB,CAAC"}
@@ -1,13 +1,16 @@
1
1
  import React from "react";
2
2
  import url from "url";
3
+ import { cn } from "./lib/utils";
4
+ // To mimic disabled button behavior, we disable pointer events
5
+ // if disabled is true.
3
6
  export var aLink = React.forwardRef(function (_a, ref) {
4
- var href = _a.href, className = _a.className, ariaCurrent = _a.ariaCurrent, ariaLabel = _a.ariaLabel, onClick = _a.onClick, children = _a.children, target = _a.target, rel = _a.rel;
7
+ var href = _a.href, className = _a.className, ariaCurrent = _a.ariaCurrent, ariaLabel = _a.ariaLabel, onClick = _a.onClick, children = _a.children, target = _a.target, rel = _a.rel, disabled = _a.disabled;
5
8
  var hrefAsString = typeof href !== "string" ? url.format(href) : href;
6
- return (React.createElement("a", { ref: ref, href: hrefAsString, className: className, "aria-current": ariaCurrent, "aria-label": ariaLabel, onClick: onClick, target: target, rel: rel }, children));
9
+ return (React.createElement("a", { ref: ref, href: hrefAsString, className: cn(className, disabled && "s-pointer-events-none"), "aria-current": ariaCurrent, "aria-label": ariaLabel, onClick: onClick, target: target, rel: rel }, children));
7
10
  });
8
11
  export var noHrefLink = React.forwardRef(function (_a, ref) {
9
- var className = _a.className, ariaCurrent = _a.ariaCurrent, ariaLabel = _a.ariaLabel, onClick = _a.onClick, children = _a.children;
10
- return (React.createElement("a", { ref: ref, className: className, "aria-current": ariaCurrent, "aria-label": ariaLabel, onClick: onClick }, children));
12
+ var ariaCurrent = _a.ariaCurrent, ariaLabel = _a.ariaLabel, onClick = _a.onClick, children = _a.children;
13
+ return (React.createElement("a", { ref: ref, "aria-current": ariaCurrent, "aria-label": ariaLabel, onClick: onClick }, children));
11
14
  });
12
15
  export var SparkleContext = React.createContext({
13
16
  components: {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,OAAO,GAAG,MAAM,KAAK,CAAC;AAkCtB,MAAM,CAAC,IAAM,KAAK,GAA2B,KAAK,CAAC,UAAU,CAI3D,UACE,EAA2E,EAC3E,GAAG;QADD,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,GAAG,SAAA;IAGzE,IAAM,YAAY,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,OAAO,CACL,2BACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,kBACN,WAAW,gBACb,SAAS,EACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,IAEP,QAAQ,CACP,CACL,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAM,UAAU,GAA2B,KAAK,CAAC,UAAU,CAGhE,UAAC,EAAwD,EAAE,GAAG;QAA3D,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA;IAAY,OAAA,CACnE,2BACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,kBACN,WAAW,gBACb,SAAS,EACrB,OAAO,EAAE,OAAO,IAEf,QAAQ,CACP,CACL;AAVoE,CAUpE,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAqB;IACpE,UAAU,EAAE;QACV,IAAI,EAAE,KAAK;KACZ;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAmCjC,+DAA+D;AAC/D,uBAAuB;AACvB,MAAM,CAAC,IAAM,KAAK,GAA2B,KAAK,CAAC,UAAU,CAI3D,UACE,EAUC,EACD,GAAG;QAVD,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,GAAG,SAAA,EACH,QAAQ,cAAA;IAIV,IAAM,YAAY,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,OAAO,CACL,2BACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,IAAI,uBAAuB,CAAC,kBAC/C,WAAW,gBACb,SAAS,EACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,IAEP,QAAQ,CACP,CACL,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAM,UAAU,GAA2B,KAAK,CAAC,UAAU,CAGhE,UAAC,EAA6C,EAAE,GAAG;QAAhD,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA;IAAY,OAAA,CACxD,2BACE,GAAG,EAAE,GAAG,kBACM,WAAW,gBACb,SAAS,EACrB,OAAO,EAAE,OAAO,IAEf,QAAQ,CACP,CACL;AATyD,CASzD,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAqB;IACpE,UAAU,EAAE;QACV,IAAI,EAAE,KAAK;KACZ;CACF,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import type { StoryObj } from "@storybook/react";
2
2
  import React from "react";
3
3
  declare const meta: {
4
4
  title: string;
5
- component: React.ForwardRefExoticComponent<import("../components/Button").ButtonProps & React.RefAttributes<HTMLButtonElement>>;
5
+ component: React.ForwardRefExoticComponent<import("../components/Button").ButtonProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
6
6
  argTypes: {
7
7
  variant: {
8
8
  description: string;
@@ -78,7 +78,7 @@ declare const meta: {
78
78
  control: "text";
79
79
  };
80
80
  };
81
- render: (args: import("../components/Button").ButtonProps & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element;
81
+ render: (args: import("../components/Button").ButtonProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>) => React.JSX.Element;
82
82
  };
83
83
  export default meta;
84
84
  type Story = StoryObj<typeof meta>;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,KAY3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AA0CF,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
1
+ {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,KAY3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAiDF,eAAO,MAAM,OAAO,EAAE,KAqBrB,CAAC"}
@@ -99,7 +99,8 @@ var ButtonBySize = function (_a) {
99
99
  React.createElement(Button, { size: size, variant: "highlight", label: "Button" }),
100
100
  React.createElement(Button, { size: size, variant: "warning", label: "Button" }),
101
101
  React.createElement(Button, { size: size, variant: "ghost", label: "Button" }),
102
- React.createElement(Button, { size: size, variant: "primary", label: "Button with href", href: "hello" })),
102
+ React.createElement(Button, { size: size, variant: "primary", label: "Button with href", href: "hello" }),
103
+ React.createElement(Button, { size: size, variant: "primary", label: "Button with href and disabled", href: "hello", disabled: true })),
103
104
  React.createElement("div", { className: "s-flex s-items-center s-gap-4" },
104
105
  React.createElement(Button, { size: size, label: "Button", isLoading: true }),
105
106
  React.createElement(Button, { size: size, variant: "outline", label: "Button", isLoading: true }),
@@ -114,9 +115,15 @@ var ButtonBySize = function (_a) {
114
115
  React.createElement(Button, { size: size, variant: "ghost", icon: PlusIcon, label: "Button" }))));
115
116
  };
116
117
  export var Gallery = {
117
- render: function () { return (React.createElement("div", { className: "s-flex s-flex-col s-gap-4" },
118
- React.createElement(ButtonBySize, { size: "xs" }),
119
- React.createElement(ButtonBySize, { size: "sm" }),
120
- React.createElement(ButtonBySize, { size: "md" }))); },
118
+ render: function () { return (React.createElement("div", { className: "s-flex s-flex-col s-gap-6" },
119
+ React.createElement("div", { className: "s-flex s-flex-col s-gap-4" },
120
+ React.createElement(ButtonBySize, { size: "xs" }),
121
+ React.createElement(ButtonBySize, { size: "sm" }),
122
+ React.createElement(ButtonBySize, { size: "md" })),
123
+ React.createElement(Separator, null),
124
+ React.createElement("h3", { className: "s-text-primary dark:s-text-primary-50" }, "With tooltip"),
125
+ React.createElement("div", { className: "s-flex s-gap-4" },
126
+ React.createElement(Button, { label: "Button with tooltip", tooltip: "Hello" }),
127
+ React.createElement(Button, { label: "Button as link with tooltip", href: "https://dust.tt", target: "_blank", tooltip: "Hello" })))); },
121
128
  };
122
129
  //# sourceMappingURL=Button.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.js","sourceRoot":"","sources":["../../../src/stories/Button.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.stories.js","sourceRoot":"","sources":["../../../src/stories/Button.stories.tsx"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ declare const meta: {
15
15
  onClick?: (() => void) | undefined;
16
16
  } & {
17
17
  replace?: undefined;
18
+ disabled?: undefined;
18
19
  href?: undefined;
19
20
  target?: undefined;
20
21
  rel?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Chip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCmB,CAAC;AAE9B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAGnC,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,YAAY,yBAOxB,CAAC;AAEF,eAAO,MAAM,aAAa,yBAezB,CAAC;AAEF,eAAO,MAAM,SAAS,yBA+ErB,CAAC"}
1
+ {"version":3,"file":"Chip.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Chip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCmB,CAAC;AAE9B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAGnC,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,YAAY,yBAOxB,CAAC;AAEF,eAAO,MAAM,aAAa,yBAezB,CAAC;AAEF,eAAO,MAAM,SAAS,yBA+ErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyCTA.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/EmptyCTA.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,QAAA,MAAM,IAAI;;CAEM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,IAAI,yBAmBhB,CAAC"}
1
+ {"version":3,"file":"EmptyCTA.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/EmptyCTA.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,QAAA,MAAM,IAAI;;CAEM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,IAAI,yBAgBhB,CAAC"}
@@ -1,15 +1,13 @@
1
1
  import React from "react";
2
- import { Button, EmptyCTA, EmptyCTAButton } from "../components";
3
- import { CloudArrowDownIcon, PlusIcon } from "../icons/app";
2
+ import { EmptyCTA, EmptyCTAButton } from "../components";
3
+ import { CloudArrowDownIcon } from "../icons/app";
4
4
  var meta = {
5
5
  title: "Components/EmptyCTA",
6
6
  };
7
7
  export default meta;
8
8
  export var Demo = function () {
9
- return (React.createElement("div", { className: "s-flex s-flex-col s-gap-4" },
9
+ return (React.createElement("div", null,
10
10
  React.createElement("div", { className: "s-flex s-items-center s-space-x-2" },
11
- React.createElement(EmptyCTA, { action: React.createElement(EmptyCTAButton, { icon: CloudArrowDownIcon, label: "Create a new space" }), message: "You don't have any spaces yet." })),
12
- React.createElement("div", { className: "s-flex s-items-center s-space-x-2" },
13
- React.createElement(EmptyCTA, { action: React.createElement(Button, { icon: PlusIcon, label: "Add domain" }) }))));
11
+ React.createElement(EmptyCTA, { action: React.createElement(EmptyCTAButton, { icon: CloudArrowDownIcon, label: "Create a new space" }), message: "You don't have any spaces yet." }))));
14
12
  };
15
13
  //# sourceMappingURL=EmptyCTA.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyCTA.stories.js","sourceRoot":"","sources":["../../../src/stories/EmptyCTA.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAElE,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,qBAAqB;CACd,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,MAAM,CAAC,IAAM,IAAI,GAAG;IAClB,OAAO,CACL,6BAAK,SAAS,EAAC,2BAA2B;QACxC,6BAAK,SAAS,EAAC,mCAAmC;YAChD,oBAAC,QAAQ,IACP,MAAM,EACJ,oBAAC,cAAc,IACb,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAC,oBAAoB,GAC1B,EAEJ,OAAO,EAAC,gCAAgC,GACxC,CACE;QACN,6BAAK,SAAS,EAAC,mCAAmC;YAChD,oBAAC,QAAQ,IAAC,MAAM,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,YAAY,GAAG,GAAI,CAC/D,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"EmptyCTA.stories.js","sourceRoot":"","sources":["../../../src/stories/EmptyCTA.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,qBAAqB;CACd,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,MAAM,CAAC,IAAM,IAAI,GAAG;IAClB,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,mCAAmC;YAChD,oBAAC,QAAQ,IACP,MAAM,EACJ,oBAAC,cAAc,IACb,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAC,oBAAoB,GAC1B,EAEJ,OAAO,EAAC,gCAAgC,GACxC,CACE,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import type { StoryObj } from "@storybook/react";
3
3
  declare const meta: {
4
4
  title: string;
5
5
  component: import("react").ForwardRefExoticComponent<{
6
- variant?: "primary" | "highlight" | "warning" | "outline" | "ghost" | "ghost-secondary" | null | undefined;
6
+ variant?: "primary" | "highlight" | "warning" | "outline" | "ghost" | "ghost-secondary" | undefined;
7
7
  onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
8
8
  size?: "xs" | "sm" | "md" | "xmini" | "mini" | undefined;
9
9
  tooltip?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.2.528",
3
+ "version": "0.2.529-rc-2",
4
4
  "scripts": {
5
5
  "build": "rm -rf dist && npm run tailwind && npm run build:esm && npm run build:cjs",
6
6
  "tailwind": "tailwindcss -i ./src/styles/tailwind.css -o dist/sparkle.css",
@@ -4,7 +4,7 @@ import {
4
4
  Avatar,
5
5
  Card,
6
6
  CardActionButton,
7
- MiniButtonProps,
7
+ MiniButtonAsButtonProps,
8
8
  } from "@sparkle/components/";
9
9
  import { CardVariantType } from "@sparkle/components/Card";
10
10
  import { MoreIcon } from "@sparkle/icons/app/";
@@ -20,7 +20,7 @@ interface BaseAssistantCardProps {
20
20
  variant?: CardVariantType;
21
21
  }
22
22
 
23
- type AssistantCardMore = Omit<MiniButtonProps, "icon" | "size">;
23
+ type AssistantCardMore = Omit<MiniButtonAsButtonProps, "icon" | "size">;
24
24
 
25
25
  export const AssistantCardMore = React.forwardRef<
26
26
  HTMLButtonElement,
@@ -1,7 +1,6 @@
1
1
  import { Slot } from "@radix-ui/react-slot";
2
2
  import { cva, type VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
- import { useMemo } from "react";
5
4
 
6
5
  import {
7
6
  Counter,
@@ -188,31 +187,78 @@ const COUNTER_SIZE_MAP: Record<ButtonSizeType, CounterSizeType> = {
188
187
  md: "md",
189
188
  };
190
189
 
191
- type CommonButtonProps = Omit<MetaButtonProps, "children"> &
192
- Omit<LinkWrapperProps, "children"> & {
193
- isSelect?: boolean;
194
- isLoading?: boolean;
195
- isPulsing?: boolean;
196
- tooltip?: string;
197
- isCounter?: boolean;
198
- counterValue?: string;
190
+ type ButtonBaseProps = {
191
+ label?: string;
192
+ icon?: React.ComponentType;
193
+ isSelect?: boolean;
194
+ isLoading?: boolean;
195
+ isPulsing?: boolean;
196
+ tooltip?: string;
197
+ isCounter?: boolean;
198
+ counterValue?: string;
199
+ variant?: ButtonVariantType;
200
+ size?: ButtonSizeType;
201
+ className?: string;
202
+ "aria-label"?: string;
203
+ };
204
+
205
+ export type ButtonAsButtonProps = ButtonBaseProps &
206
+ React.ButtonHTMLAttributes<HTMLButtonElement> & {
207
+ href?: never;
208
+ target?: never;
209
+ replace?: never;
210
+ shallow?: never;
199
211
  };
200
212
 
201
- export type MiniButtonProps = CommonButtonProps & {
213
+ export type MiniButtonAsButtonProps = ButtonAsButtonProps & {
202
214
  size: "mini";
203
215
  icon: React.ComponentType;
204
216
  label?: never;
205
217
  };
206
218
 
207
- export type RegularButtonProps = CommonButtonProps & {
208
- size?: Exclude<ButtonSizeType, "mini">;
209
- icon?: React.ComponentType;
210
- label?: string;
211
- };
219
+ type ButtonAsAnchorLinkProps = ButtonBaseProps &
220
+ Omit<LinkWrapperProps, "children"> & {
221
+ href: string;
222
+ disabled?: boolean;
223
+ type?: never;
224
+ onClick?: never;
225
+ form?: never;
226
+ autoFocus?: never;
227
+ tabIndex?: never;
228
+ };
229
+
230
+ export type ButtonProps =
231
+ | ButtonAsButtonProps
232
+ | ButtonAsAnchorLinkProps
233
+ | MiniButtonAsButtonProps;
212
234
 
213
- export type ButtonProps = MiniButtonProps | RegularButtonProps;
235
+ function isAnchorProps(props: ButtonProps): props is ButtonAsAnchorLinkProps {
236
+ return typeof props.href === "string" && props.href.length > 0;
237
+ }
238
+
239
+ const ContentWithTooltip = ({
240
+ children,
241
+ tooltip,
242
+ }: {
243
+ children: React.ReactNode;
244
+ tooltip: string;
245
+ }) => {
246
+ return (
247
+ <TooltipProvider>
248
+ <TooltipRoot>
249
+ <TooltipTrigger asChild>{children}</TooltipTrigger>
250
+ <TooltipPortal>
251
+ <TooltipContent>{tooltip}</TooltipContent>
252
+ </TooltipPortal>
253
+ </TooltipRoot>
254
+ </TooltipProvider>
255
+ );
256
+ };
214
257
 
215
- const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
258
+ const Button = React.forwardRef<
259
+ HTMLButtonElement | HTMLAnchorElement,
260
+ ButtonProps
261
+ >(
216
262
  (
217
263
  {
218
264
  label,
@@ -226,11 +272,6 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
226
272
  isCounter = false,
227
273
  counterValue,
228
274
  size = "sm",
229
- href,
230
- target,
231
- rel,
232
- replace,
233
- shallow,
234
275
  "aria-label": ariaLabel,
235
276
  ...props
236
277
  },
@@ -239,17 +280,6 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
239
280
  const iconSize = ICON_SIZE_MAP[size];
240
281
  const counterSize = COUNTER_SIZE_MAP[size];
241
282
 
242
- const renderIcon = (visual: React.ComponentType, extraClass = "") => (
243
- <Icon visual={visual} size={iconSize} className={cn(extraClass)} />
244
- );
245
- const renderChevron = (visual: React.ComponentType, extraClass = "") => (
246
- <Icon
247
- visual={visual}
248
- size={iconSize}
249
- className={cn(variant ? chevronVariantMap[variant] : "", extraClass)}
250
- />
251
- );
252
-
253
283
  const showCounter = isCounter && counterValue != null;
254
284
  const showContainer = label || showCounter;
255
285
 
@@ -269,7 +299,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
269
299
  />
270
300
  </div>
271
301
  ) : (
272
- icon && renderIcon(icon, "-s-mx-0.5")
302
+ icon && <Icon visual={icon} size={iconSize} className="-s-mx-0.5" />
273
303
  )}
274
304
 
275
305
  {showContainer && (
@@ -290,69 +320,96 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
290
320
  )}
291
321
  </div>
292
322
  )}
293
- {isSelect && renderChevron(ChevronDownIcon, isLoading ? "" : "-s-mr-1")}
323
+ {isSelect && (
324
+ <Icon
325
+ visual={ChevronDownIcon}
326
+ size={iconSize}
327
+ className={cn(
328
+ variant ? chevronVariantMap[variant] : "",
329
+ isLoading ? "" : "-s-mr-1"
330
+ )}
331
+ />
332
+ )}
294
333
  </>
295
334
  );
296
335
 
297
- const pointerEventProps = useMemo(() => {
298
- if (isLoading || props.disabled) {
299
- return {
300
- onPointerDown: (e: React.PointerEvent<HTMLButtonElement>) => {
301
- e.preventDefault();
302
- e.stopPropagation();
303
- },
304
- };
305
- }
306
- return {};
307
- }, [isLoading, props.disabled]);
336
+ if (isAnchorProps(props)) {
337
+ const {
338
+ href,
339
+ target,
340
+ rel,
341
+ replace,
342
+ shallow,
343
+ prefetch,
344
+ tabIndex,
345
+ disabled,
346
+ } = props;
308
347
 
309
- const innerButton = (
310
- <MetaButton
311
- ref={ref}
312
- size={size}
313
- variant={variant}
314
- disabled={isLoading || props.disabled}
315
- className={cn(isPulsing && "s-animate-pulse", className)}
316
- aria-label={ariaLabel || tooltip || label}
317
- style={
318
- {
319
- "--pulse-color": "#93C5FD",
320
- "--duration": "1.5s",
321
- } as React.CSSProperties
322
- }
323
- {...props}
324
- {...pointerEventProps}
325
- >
326
- {content}
327
- </MetaButton>
328
- );
348
+ const innerContent = (
349
+ <span
350
+ className={cn(
351
+ buttonVariants({ variant, size, className }),
352
+ isPulsing && "s-animate-pulse"
353
+ )}
354
+ tabIndex={tabIndex}
355
+ style={
356
+ {
357
+ "--pulse-color": "#93C5FD",
358
+ "--duration": "1.5s",
359
+ } as React.CSSProperties
360
+ }
361
+ >
362
+ {content}
363
+ </span>
364
+ );
329
365
 
330
- const wrappedContent = tooltip ? (
331
- <TooltipProvider>
332
- <TooltipRoot>
333
- <TooltipTrigger asChild>{innerButton}</TooltipTrigger>
334
- <TooltipPortal>
335
- <TooltipContent>{tooltip}</TooltipContent>
336
- </TooltipPortal>
337
- </TooltipRoot>
338
- </TooltipProvider>
339
- ) : (
340
- innerButton
341
- );
366
+ return (
367
+ <LinkWrapper
368
+ ref={ref as React.Ref<HTMLAnchorElement>}
369
+ href={href}
370
+ target={target}
371
+ rel={rel}
372
+ replace={replace}
373
+ shallow={shallow}
374
+ prefetch={prefetch}
375
+ disabled={disabled}
376
+ >
377
+ {tooltip ? (
378
+ <ContentWithTooltip tooltip={tooltip}>
379
+ {innerContent}
380
+ </ContentWithTooltip>
381
+ ) : (
382
+ innerContent
383
+ )}
384
+ </LinkWrapper>
385
+ );
386
+ } else {
387
+ const innerButton = (
388
+ <MetaButton
389
+ ref={ref as React.Ref<HTMLButtonElement>}
390
+ size={size}
391
+ variant={variant}
392
+ disabled={isLoading || props.disabled}
393
+ className={cn(isPulsing && "s-animate-pulse", className)}
394
+ aria-label={ariaLabel || tooltip || label}
395
+ style={
396
+ {
397
+ "--pulse-color": "#93C5FD",
398
+ "--duration": "1.5s",
399
+ } as React.CSSProperties
400
+ }
401
+ {...props}
402
+ >
403
+ {content}
404
+ </MetaButton>
405
+ );
342
406
 
343
- return href ? (
344
- <LinkWrapper
345
- href={href}
346
- target={target}
347
- rel={rel}
348
- replace={replace}
349
- shallow={shallow}
350
- >
351
- {wrappedContent}
352
- </LinkWrapper>
353
- ) : (
354
- wrappedContent
355
- );
407
+ return tooltip ? (
408
+ <ContentWithTooltip tooltip={tooltip}>{innerButton}</ContentWithTooltip>
409
+ ) : (
410
+ innerButton
411
+ );
412
+ }
356
413
  }
357
414
  );
358
415
 
@@ -1,7 +1,7 @@
1
1
  import { cva } from "class-variance-authority";
2
2
  import React from "react";
3
3
 
4
- import { Button, MiniButtonProps } from "@sparkle/components/Button";
4
+ import { Button, MiniButtonAsButtonProps } from "@sparkle/components/Button";
5
5
  import { LinkWrapperProps } from "@sparkle/components/LinkWrapper";
6
6
  import {
7
7
  noHrefLink,
@@ -216,7 +216,7 @@ CardActions.displayName = "CardActions";
216
216
 
217
217
  export const CardActionButton = React.forwardRef<
218
218
  HTMLButtonElement,
219
- MiniButtonProps
219
+ MiniButtonAsButtonProps
220
220
  >(({ className, variant = "outline", icon = XMarkIcon, ...props }, ref) => {
221
221
  return (
222
222
  <Button
@@ -3,7 +3,12 @@ import { FocusScope } from "@radix-ui/react-focus-scope";
3
3
  import { cva } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
 
6
- import { Button, ButtonProps, ScrollArea } from "@sparkle/components";
6
+ import {
7
+ Button,
8
+ ButtonAsButtonProps,
9
+ ButtonProps,
10
+ ScrollArea,
11
+ } from "@sparkle/components";
7
12
  import { XMarkIcon } from "@sparkle/icons/app";
8
13
  import { cn } from "@sparkle/lib/utils";
9
14
 
@@ -137,8 +142,8 @@ const DialogContainer = ({
137
142
  DialogContainer.displayName = "DialogContainer";
138
143
 
139
144
  interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {
140
- leftButtonProps?: React.ComponentProps<typeof Button>;
141
- rightButtonProps?: React.ComponentProps<typeof Button>;
145
+ leftButtonProps?: ButtonAsButtonProps;
146
+ rightButtonProps?: ButtonAsButtonProps;
142
147
  dialogCloseClassName?: string;
143
148
  }
144
149
 
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
2
 
3
- import { Button, RegularButtonProps } from "@sparkle/components/";
3
+ import { Button, ButtonAsButtonProps } from "@sparkle/components/";
4
4
  import { cn } from "@sparkle/lib/utils";
5
5
 
6
6
  interface EmptyCTAProps extends React.HTMLAttributes<HTMLDivElement> {
7
7
  action: React.ReactNode;
8
- message?: string;
8
+ message: string;
9
9
  }
10
10
 
11
11
  const EmptyCTA = React.forwardRef<HTMLDivElement, EmptyCTAProps>(
@@ -20,16 +20,14 @@ const EmptyCTA = React.forwardRef<HTMLDivElement, EmptyCTAProps>(
20
20
  )}
21
21
  {...props}
22
22
  >
23
- {message && (
24
- <div
25
- className={cn(
26
- "s-text-center s-text-sm",
27
- "s-text-muted-foreground dark:s-text-muted-foreground-night"
28
- )}
29
- >
30
- {message}
31
- </div>
32
- )}
23
+ <div
24
+ className={cn(
25
+ "s-text-center s-text-sm",
26
+ "s-text-muted-foreground dark:s-text-muted-foreground-night"
27
+ )}
28
+ >
29
+ {message}
30
+ </div>
33
31
  <div>{action}</div>
34
32
  </div>
35
33
  )
@@ -37,7 +35,7 @@ const EmptyCTA = React.forwardRef<HTMLDivElement, EmptyCTAProps>(
37
35
 
38
36
  EmptyCTA.displayName = "EmptyCTA";
39
37
 
40
- interface EmptyCTAButtonProps extends RegularButtonProps {
38
+ interface EmptyCTAButtonProps extends ButtonAsButtonProps {
41
39
  icon: React.ComponentType;
42
40
  label: string;
43
41
  }
@@ -96,7 +96,6 @@ const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(
96
96
  ref={ref}
97
97
  size={size}
98
98
  icon={icon}
99
- variant={null}
100
99
  {...props}
101
100
  />
102
101
  )