@dust-tt/sparkle 0.2.259 → 0.2.260-rc-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/cjs/index.js +2432 -303
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Popover.d.ts +15 -0
- package/dist/esm/components/Popover.d.ts.map +1 -0
- package/dist/esm/components/Popover.js +20 -0
- package/dist/esm/components/Popover.js.map +1 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/stories/Popover.stories.d.ts +11 -0
- package/dist/esm/stories/Popover.stories.d.ts.map +1 -0
- package/dist/esm/stories/Popover.stories.js +33 -0
- package/dist/esm/stories/Popover.stories.js.map +1 -0
- package/dist/sparkle.css +33 -0
- package/package.json +2 -1
- package/src/components/Popover.tsx +67 -0
- package/src/components/index.ts +2 -1
- package/src/stories/Popover.stories.tsx +102 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
declare const PopoverRoot: React.FC<PopoverPrimitive.PopoverProps>;
|
|
4
|
+
declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
|
|
6
|
+
fullWidth?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
interface PopoverProps extends Omit<PopoverContentProps, "content"> {
|
|
10
|
+
trigger: React.ReactNode;
|
|
11
|
+
content: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
declare function Popover({ trigger, content, ...props }: PopoverProps): React.JSX.Element;
|
|
14
|
+
export { Popover, PopoverContent, PopoverRoot, PopoverTrigger };
|
|
15
|
+
//# sourceMappingURL=Popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,WAAW,yCAAwB,CAAC;AAE1C,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAEhD,UAAU,mBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,4FAkCnB,CAAC;AAEF,UAAU,YAAa,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;IACjE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,qBAO5D;AAID,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { classNames } from "../lib/utils";
|
|
5
|
+
var PopoverRoot = PopoverPrimitive.Root;
|
|
6
|
+
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
7
|
+
var PopoverContent = React.forwardRef(function (_a, ref) {
|
|
8
|
+
var className = _a.className, _b = _a.align, align = _b === void 0 ? "center" : _b, _c = _a.sideOffset, sideOffset = _c === void 0 ? 4 : _c, _d = _a.fullWidth, fullWidth = _d === void 0 ? false : _d, props = __rest(_a, ["className", "align", "sideOffset", "fullWidth"]);
|
|
9
|
+
return (React.createElement(PopoverPrimitive.Portal, null,
|
|
10
|
+
React.createElement(PopoverPrimitive.Content, __assign({ ref: ref, align: align, sideOffset: sideOffset, className: classNames("data-[state=open]:s-animate-in data-[state=open]:s-fade-in-0 data-[state=open]:s-zoom-in-95", "data-[state=closed]:s-animate-out data-[state=closed]:s-fade-out-0 data-[state=closed]:s-zoom-out-95", "data-[side=bottom]:s-slide-in-from-top-2", "data-[side=left]:s-slide-in-from-right-2", "data-[side=right]:s-slide-in-from-left-2", "data-[side=top]:s-slide-in-from-bottom-2", "s-border-border s-text-primary-950 s-z-50 s-grow s-rounded-lg s-border s-bg-background s-shadow-md s-outline-none", fullWidth ? "" : "s-p-4", className !== null && className !== void 0 ? className : "") }, props))));
|
|
11
|
+
});
|
|
12
|
+
function Popover(_a) {
|
|
13
|
+
var trigger = _a.trigger, content = _a.content, props = __rest(_a, ["trigger", "content"]);
|
|
14
|
+
return (React.createElement(PopoverRoot, null,
|
|
15
|
+
React.createElement(PopoverTrigger, null, trigger),
|
|
16
|
+
React.createElement(PopoverContent, __assign({}, props), content)));
|
|
17
|
+
}
|
|
18
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
19
|
+
export { Popover, PopoverContent, PopoverRoot, PopoverTrigger };
|
|
20
|
+
//# sourceMappingURL=Popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/components/Popover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,IAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAE1C,IAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAOhD,IAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAIrC,UACE,EAMC,EACD,GAAG;IAND,IAAA,SAAS,eAAA,EACT,aAAgB,EAAhB,KAAK,mBAAG,QAAQ,KAAA,EAChB,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACd,KAAK,cALV,iDAMC,CADS;IAGP,OAAA,CACH,oBAAC,gBAAgB,CAAC,MAAM;QACtB,oBAAC,gBAAgB,CAAC,OAAO,aACvB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,CACnB,6FAA6F,EAC7F,sGAAsG,EACtG,0CAA0C,EAC1C,0CAA0C,EAC1C,0CAA0C,EAC1C,0CAA0C,EAC1C,mHAAmH,EACnH,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EACxB,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAChB,IACG,KAAK,EACT,CACsB,CAC3B,CAAA;CAAA,CACF,CAAC;AAOF,SAAS,OAAO,CAAC,EAA4C;IAA1C,IAAA,OAAO,aAAA,EAAE,OAAO,aAAA,EAAK,KAAK,cAA5B,sBAA8B,CAAF;IAC3C,OAAO,CACL,oBAAC,WAAW;QACV,oBAAC,cAAc,QAAE,OAAO,CAAkB;QAC1C,oBAAC,cAAc,eAAK,KAAK,GAAG,OAAO,CAAkB,CACzC,CACf,CAAC;AACJ,CAAC;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -35,6 +35,7 @@ export { Notification } from "./Notification";
|
|
|
35
35
|
export { Page } from "./Page";
|
|
36
36
|
export { PaginatedCitationsGrid } from "./PaginatedCitationsGrid";
|
|
37
37
|
export { Pagination } from "./Pagination";
|
|
38
|
+
export { Popover, PopoverContent, PopoverRoot, PopoverTrigger } from "./Popover";
|
|
38
39
|
export { Popup } from "./Popup";
|
|
39
40
|
export { PriceTable } from "./PriceTable";
|
|
40
41
|
export { RadioButton } from "./RadioButton";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,OAAO,EACP,cAAc,EACd,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export { Notification } from "./Notification";
|
|
|
35
35
|
export { Page } from "./Page";
|
|
36
36
|
export { PaginatedCitationsGrid } from "./PaginatedCitationsGrid";
|
|
37
37
|
export { Pagination } from "./Pagination";
|
|
38
|
+
export { Popover, PopoverContent, PopoverRoot, PopoverTrigger } from "./Popover";
|
|
38
39
|
export { Popup } from "./Popup";
|
|
39
40
|
export { PriceTable } from "./PriceTable";
|
|
40
41
|
export { RadioButton } from "./RadioButton";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Popover } from "../index_with_tw_base";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof Popover;
|
|
6
|
+
};
|
|
7
|
+
export default meta;
|
|
8
|
+
export declare function SimplePopoverExample(): React.JSX.Element;
|
|
9
|
+
export declare function PopoverExample(): React.JSX.Element;
|
|
10
|
+
export declare function PopoverGrowingExample(): React.JSX.Element;
|
|
11
|
+
//# sourceMappingURL=Popover.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Popover.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAGL,OAAO,EAIR,MAAM,uBAAuB,CAAC;AAE/B,QAAA,MAAM,IAAI;;;CAGsB,CAAC;AAEjC,eAAe,IAAI,CAAC;AAEpB,wBAAgB,oBAAoB,sBAkBnC;AAED,wBAAgB,cAAc,sBA4C7B;AAED,wBAAgB,qBAAqB,sBAgBpC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button, EmojiPicker, Input, Popover, PopoverContent, PopoverRoot, PopoverTrigger, } from "../index_with_tw_base";
|
|
3
|
+
var meta = {
|
|
4
|
+
title: "Primitives/Popover",
|
|
5
|
+
component: Popover,
|
|
6
|
+
};
|
|
7
|
+
export default meta;
|
|
8
|
+
export function SimplePopoverExample() {
|
|
9
|
+
return (React.createElement(Popover, { trigger: React.createElement(Button, { label: "Popover", variant: "secondary" }), content: React.createElement("div", { className: "s-grid s-gap-2 s-p-2" },
|
|
10
|
+
React.createElement("p", null, "Lorem"),
|
|
11
|
+
React.createElement("p", null, "Ipsum"),
|
|
12
|
+
React.createElement("p", null, "Lorem"),
|
|
13
|
+
React.createElement("p", null, "Ipsum")), side: "right", sideOffset: 100 }));
|
|
14
|
+
}
|
|
15
|
+
export function PopoverExample() {
|
|
16
|
+
return (React.createElement(PopoverRoot, null,
|
|
17
|
+
React.createElement(PopoverTrigger, null,
|
|
18
|
+
React.createElement(Button, { label: "Popover", variant: "primary" })),
|
|
19
|
+
React.createElement(PopoverContent, { className: "s-p-4" },
|
|
20
|
+
React.createElement("div", { className: "s-grid s-gap-4" },
|
|
21
|
+
React.createElement("div", { className: "s-space-y-2" },
|
|
22
|
+
React.createElement("h4", { className: "s-font-medium s-leading-none s-pb-2" }, "Dimensions"),
|
|
23
|
+
React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Set the dimensions for the layer.")),
|
|
24
|
+
React.createElement("div", { className: "s-grid s-gap-4" },
|
|
25
|
+
React.createElement(Input, { name: "width", value: "200px", placeholder: "Width", className: "s-col-span-2 s-h-8" }),
|
|
26
|
+
React.createElement(Input, { name: "max-width", value: "300px", placeholder: "Max. width", className: "s-col-span-2 s-h-8" }),
|
|
27
|
+
React.createElement(Input, { name: "height", value: "30px", placeholder: "Height", className: "s-col-span-2 s-h-8" }),
|
|
28
|
+
React.createElement(Input, { name: "max-height", value: "100px", placeholder: "Max. height", className: "s-col-span-2 s-h-8" }))))));
|
|
29
|
+
}
|
|
30
|
+
export function PopoverGrowingExample() {
|
|
31
|
+
return (React.createElement(Popover, { fullWidth: true, trigger: React.createElement(Button, { label: "Emoji Picker Popover", variant: "primary" }), content: React.createElement(EmojiPicker, { theme: "light", previewPosition: "none", onEmojiSelect: function (emoji) { return console.log(emoji); } }) }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Popover.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.stories.js","sourceRoot":"","sources":["../../../src/stories/Popover.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,EAAE,WAAW,EACnB,KAAK,EACL,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,OAAO;CACY,CAAC;AAEjC,eAAe,IAAI,CAAC;AAEpB,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,oBAAC,OAAO,IACN,OAAO,EACL,oBAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,WAAW,GAAE,EAE/C,OAAO,EACL,6BAAK,SAAS,EAAC,sBAAsB;YACnC,uCAAY;YACZ,uCAAY;YACZ,uCAAY;YACZ,uCAAY,CACR,EAER,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,GAAG,GACf,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,oBAAC,WAAW;QACV,oBAAC,cAAc;YACb,oBAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,GAAG,CAC7B;QACjB,oBAAC,cAAc,IAAC,SAAS,EAAC,OAAO;YAC/B,6BAAK,SAAS,EAAC,gBAAgB;gBAC7B,6BAAK,SAAS,EAAC,aAAa;oBAC1B,4BAAI,SAAS,EAAC,qCAAqC,iBAAgB;oBACnE,2BAAG,SAAS,EAAC,mCAAmC,wCAE5C,CACA;gBACN,6BAAK,SAAS,EAAC,gBAAgB;oBAC3B,oBAAC,KAAK,IACJ,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,OAAO,EACb,WAAW,EAAC,OAAO,EACnB,SAAS,EAAC,oBAAoB,GAC9B;oBACF,oBAAC,KAAK,IACJ,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,OAAO,EACb,WAAW,EAAC,YAAY,EACxB,SAAS,EAAC,oBAAoB,GAC9B;oBACF,oBAAC,KAAK,IACJ,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,MAAM,EACZ,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAC,oBAAoB,GAC9B;oBACF,oBAAC,KAAK,IACJ,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,OAAO,EACb,WAAW,EAAC,aAAa,EACzB,SAAS,EAAC,oBAAoB,GAC9B,CACA,CACF,CACS,CACL,CACf,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CACL,oBAAC,OAAO,IACN,SAAS,EAAE,IAAI,EACf,OAAO,EACL,oBAAC,MAAM,IAAC,KAAK,EAAC,sBAAsB,EAAC,OAAO,EAAC,SAAS,GAAU,EAElE,OAAO,EACL,oBAAC,WAAW,IACV,KAAK,EAAC,OAAO,EACb,eAAe,EAAC,MAAM,EACtB,aAAa,EAAE,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAlB,CAAkB,GAC5C,GAEJ,CACH,CAAA;AACH,CAAC"}
|
package/dist/sparkle.css
CHANGED
|
@@ -837,6 +837,10 @@ select {
|
|
|
837
837
|
z-index: 50;
|
|
838
838
|
}
|
|
839
839
|
|
|
840
|
+
.s-col-span-2 {
|
|
841
|
+
grid-column: span 2 / span 2;
|
|
842
|
+
}
|
|
843
|
+
|
|
840
844
|
.s-m-0 {
|
|
841
845
|
margin: 0px;
|
|
842
846
|
}
|
|
@@ -1628,6 +1632,12 @@ select {
|
|
|
1628
1632
|
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
|
|
1629
1633
|
}
|
|
1630
1634
|
|
|
1635
|
+
.s-space-y-2 > :not([hidden]) ~ :not([hidden]) {
|
|
1636
|
+
--tw-space-y-reverse: 0;
|
|
1637
|
+
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
|
|
1638
|
+
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1631
1641
|
.s-space-y-4 > :not([hidden]) ~ :not([hidden]) {
|
|
1632
1642
|
--tw-space-y-reverse: 0;
|
|
1633
1643
|
margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
|
|
@@ -2025,6 +2035,11 @@ select {
|
|
|
2025
2035
|
background-color: rgb(146 64 14 / var(--tw-bg-opacity));
|
|
2026
2036
|
}
|
|
2027
2037
|
|
|
2038
|
+
.s-bg-background {
|
|
2039
|
+
--tw-bg-opacity: 1;
|
|
2040
|
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2028
2043
|
.s-bg-black\/70 {
|
|
2029
2044
|
background-color: rgb(0 0 0 / 0.7);
|
|
2030
2045
|
}
|
|
@@ -4597,6 +4612,16 @@ select {
|
|
|
4597
4612
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
4598
4613
|
}
|
|
4599
4614
|
|
|
4615
|
+
.data-\[state\=open\]\:s-animate-in[data-state=open] {
|
|
4616
|
+
animation-name: enter;
|
|
4617
|
+
animation-duration: 150ms;
|
|
4618
|
+
--tw-enter-opacity: initial;
|
|
4619
|
+
--tw-enter-scale: initial;
|
|
4620
|
+
--tw-enter-rotate: initial;
|
|
4621
|
+
--tw-enter-translate-x: initial;
|
|
4622
|
+
--tw-enter-translate-y: initial;
|
|
4623
|
+
}
|
|
4624
|
+
|
|
4600
4625
|
.data-\[state\=closed\]\:s-animate-out[data-state=closed] {
|
|
4601
4626
|
animation-name: exit;
|
|
4602
4627
|
animation-duration: 150ms;
|
|
@@ -4611,10 +4636,18 @@ select {
|
|
|
4611
4636
|
--tw-exit-opacity: 0;
|
|
4612
4637
|
}
|
|
4613
4638
|
|
|
4639
|
+
.data-\[state\=open\]\:s-fade-in-0[data-state=open] {
|
|
4640
|
+
--tw-enter-opacity: 0;
|
|
4641
|
+
}
|
|
4642
|
+
|
|
4614
4643
|
.data-\[state\=closed\]\:s-zoom-out-95[data-state=closed] {
|
|
4615
4644
|
--tw-exit-scale: .95;
|
|
4616
4645
|
}
|
|
4617
4646
|
|
|
4647
|
+
.data-\[state\=open\]\:s-zoom-in-95[data-state=open] {
|
|
4648
|
+
--tw-enter-scale: .95;
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4618
4651
|
.data-\[side\=bottom\]\:s-slide-in-from-top-2[data-side=bottom] {
|
|
4619
4652
|
--tw-enter-translate-y: -0.5rem;
|
|
4620
4653
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dust-tt/sparkle",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.260-rc-1",
|
|
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",
|
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
"@emoji-mart/react": "^1.1.1",
|
|
95
95
|
"@headlessui/react": "^1.7.19",
|
|
96
96
|
"@radix-ui/react-separator": "^1.1.0",
|
|
97
|
+
"@radix-ui/react-popover": "^1.1.2",
|
|
97
98
|
"@radix-ui/react-slot": "^1.1.0",
|
|
98
99
|
"@radix-ui/react-tooltip": "^1.1.3",
|
|
99
100
|
"@tanstack/react-table": "^8.13.0",
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import { classNames } from "@sparkle/lib/utils";
|
|
5
|
+
|
|
6
|
+
const PopoverRoot = PopoverPrimitive.Root;
|
|
7
|
+
|
|
8
|
+
const PopoverTrigger = PopoverPrimitive.Trigger;
|
|
9
|
+
|
|
10
|
+
interface PopoverContentProps
|
|
11
|
+
extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
|
|
12
|
+
fullWidth?: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const PopoverContent = React.forwardRef<
|
|
16
|
+
React.ElementRef<typeof PopoverPrimitive.Content>,
|
|
17
|
+
PopoverContentProps
|
|
18
|
+
>(
|
|
19
|
+
(
|
|
20
|
+
{
|
|
21
|
+
className,
|
|
22
|
+
align = "center",
|
|
23
|
+
sideOffset = 4,
|
|
24
|
+
fullWidth = false,
|
|
25
|
+
...props
|
|
26
|
+
},
|
|
27
|
+
ref
|
|
28
|
+
) => (
|
|
29
|
+
<PopoverPrimitive.Portal>
|
|
30
|
+
<PopoverPrimitive.Content
|
|
31
|
+
ref={ref}
|
|
32
|
+
align={align}
|
|
33
|
+
sideOffset={sideOffset}
|
|
34
|
+
className={classNames(
|
|
35
|
+
"data-[state=open]:s-animate-in data-[state=open]:s-fade-in-0 data-[state=open]:s-zoom-in-95",
|
|
36
|
+
"data-[state=closed]:s-animate-out data-[state=closed]:s-fade-out-0 data-[state=closed]:s-zoom-out-95",
|
|
37
|
+
"data-[side=bottom]:s-slide-in-from-top-2",
|
|
38
|
+
"data-[side=left]:s-slide-in-from-right-2",
|
|
39
|
+
"data-[side=right]:s-slide-in-from-left-2",
|
|
40
|
+
"data-[side=top]:s-slide-in-from-bottom-2",
|
|
41
|
+
"s-border-border s-text-primary-950 s-z-50 s-grow s-rounded-lg s-border s-bg-background s-shadow-md s-outline-none",
|
|
42
|
+
fullWidth ? "" : "s-p-4",
|
|
43
|
+
className ?? ""
|
|
44
|
+
)}
|
|
45
|
+
{...props}
|
|
46
|
+
/>
|
|
47
|
+
</PopoverPrimitive.Portal>
|
|
48
|
+
)
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
interface PopoverProps extends Omit<PopoverContentProps, "content"> {
|
|
52
|
+
trigger: React.ReactNode;
|
|
53
|
+
content: React.ReactNode;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function Popover({ trigger, content, ...props }: PopoverProps) {
|
|
57
|
+
return (
|
|
58
|
+
<PopoverRoot>
|
|
59
|
+
<PopoverTrigger>{trigger}</PopoverTrigger>
|
|
60
|
+
<PopoverContent {...props}>{content}</PopoverContent>
|
|
61
|
+
</PopoverRoot>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
66
|
+
|
|
67
|
+
export { Popover, PopoverContent, PopoverRoot, PopoverTrigger };
|
package/src/components/index.ts
CHANGED
|
@@ -35,6 +35,7 @@ export { Notification } from "./Notification";
|
|
|
35
35
|
export { Page } from "./Page";
|
|
36
36
|
export { PaginatedCitationsGrid } from "./PaginatedCitationsGrid";
|
|
37
37
|
export { Pagination } from "./Pagination";
|
|
38
|
+
export { Popover, PopoverContent, PopoverRoot, PopoverTrigger } from "./Popover";
|
|
38
39
|
export { Popup } from "./Popup";
|
|
39
40
|
export { PriceTable } from "./PriceTable";
|
|
40
41
|
export { RadioButton } from "./RadioButton";
|
|
@@ -52,4 +53,4 @@ export {
|
|
|
52
53
|
TooltipTrigger,
|
|
53
54
|
} from "./Tooltip";
|
|
54
55
|
export { Tree } from "./Tree";
|
|
55
|
-
export { ZoomableImageCitationWrapper } from "./ZoomableImageCitationWrapper";
|
|
56
|
+
export { ZoomableImageCitationWrapper } from "./ZoomableImageCitationWrapper";
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { Meta } from "@storybook/react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
Button, EmojiPicker,
|
|
6
|
+
Input,
|
|
7
|
+
Popover,
|
|
8
|
+
PopoverContent,
|
|
9
|
+
PopoverRoot,
|
|
10
|
+
PopoverTrigger,
|
|
11
|
+
} from "../index_with_tw_base";
|
|
12
|
+
|
|
13
|
+
const meta = {
|
|
14
|
+
title: "Primitives/Popover",
|
|
15
|
+
component: Popover,
|
|
16
|
+
} satisfies Meta<typeof Popover>;
|
|
17
|
+
|
|
18
|
+
export default meta;
|
|
19
|
+
|
|
20
|
+
export function SimplePopoverExample () {
|
|
21
|
+
return (
|
|
22
|
+
<Popover
|
|
23
|
+
trigger={
|
|
24
|
+
<Button label="Popover" variant="secondary"/>
|
|
25
|
+
}
|
|
26
|
+
content={
|
|
27
|
+
<div className="s-grid s-gap-2 s-p-2">
|
|
28
|
+
<p>Lorem</p>
|
|
29
|
+
<p>Ipsum</p>
|
|
30
|
+
<p>Lorem</p>
|
|
31
|
+
<p>Ipsum</p>
|
|
32
|
+
</div>
|
|
33
|
+
}
|
|
34
|
+
side="right"
|
|
35
|
+
sideOffset={100}
|
|
36
|
+
/>
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function PopoverExample() {
|
|
41
|
+
return (
|
|
42
|
+
<PopoverRoot>
|
|
43
|
+
<PopoverTrigger>
|
|
44
|
+
<Button label="Popover" variant="primary" />
|
|
45
|
+
</PopoverTrigger>
|
|
46
|
+
<PopoverContent className="s-p-4">
|
|
47
|
+
<div className="s-grid s-gap-4">
|
|
48
|
+
<div className="s-space-y-2">
|
|
49
|
+
<h4 className="s-font-medium s-leading-none s-pb-2">Dimensions</h4>
|
|
50
|
+
<p className="s-text-sm s-text-muted-foreground">
|
|
51
|
+
Set the dimensions for the layer.
|
|
52
|
+
</p>
|
|
53
|
+
</div>
|
|
54
|
+
<div className="s-grid s-gap-4">
|
|
55
|
+
<Input
|
|
56
|
+
name="width"
|
|
57
|
+
value="200px"
|
|
58
|
+
placeholder="Width"
|
|
59
|
+
className="s-col-span-2 s-h-8"
|
|
60
|
+
/>
|
|
61
|
+
<Input
|
|
62
|
+
name="max-width"
|
|
63
|
+
value="300px"
|
|
64
|
+
placeholder="Max. width"
|
|
65
|
+
className="s-col-span-2 s-h-8"
|
|
66
|
+
/>
|
|
67
|
+
<Input
|
|
68
|
+
name="height"
|
|
69
|
+
value="30px"
|
|
70
|
+
placeholder="Height"
|
|
71
|
+
className="s-col-span-2 s-h-8"
|
|
72
|
+
/>
|
|
73
|
+
<Input
|
|
74
|
+
name="max-height"
|
|
75
|
+
value="100px"
|
|
76
|
+
placeholder="Max. height"
|
|
77
|
+
className="s-col-span-2 s-h-8"
|
|
78
|
+
/>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</PopoverContent>
|
|
82
|
+
</PopoverRoot>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function PopoverGrowingExample() {
|
|
87
|
+
return (
|
|
88
|
+
<Popover
|
|
89
|
+
fullWidth={true}
|
|
90
|
+
trigger={
|
|
91
|
+
<Button label="Emoji Picker Popover" variant="primary"></Button>
|
|
92
|
+
}
|
|
93
|
+
content={
|
|
94
|
+
<EmojiPicker
|
|
95
|
+
theme="light"
|
|
96
|
+
previewPosition="none"
|
|
97
|
+
onEmojiSelect={(emoji) => console.log(emoji)}
|
|
98
|
+
/>
|
|
99
|
+
}
|
|
100
|
+
/>
|
|
101
|
+
)
|
|
102
|
+
}
|