@dust-tt/sparkle 0.2.624 → 0.2.625

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 (32) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/DataTable.d.ts +3 -2
  3. package/dist/esm/components/DataTable.d.ts.map +1 -1
  4. package/dist/esm/components/DataTable.js +59 -33
  5. package/dist/esm/components/DataTable.js.map +1 -1
  6. package/dist/esm/components/FaviconIcon.d.ts +15 -0
  7. package/dist/esm/components/FaviconIcon.d.ts.map +1 -0
  8. package/dist/esm/components/FaviconIcon.js +56 -0
  9. package/dist/esm/components/FaviconIcon.js.map +1 -0
  10. package/dist/esm/components/MultiPageSheet.js +1 -1
  11. package/dist/esm/components/MultiPageSheet.js.map +1 -1
  12. package/dist/esm/components/Sheet.d.ts.map +1 -1
  13. package/dist/esm/components/Sheet.js +13 -3
  14. package/dist/esm/components/Sheet.js.map +1 -1
  15. package/dist/esm/components/index.d.ts +1 -0
  16. package/dist/esm/components/index.d.ts.map +1 -1
  17. package/dist/esm/components/index.js +1 -0
  18. package/dist/esm/components/index.js.map +1 -1
  19. package/dist/esm/stories/Citation.stories.d.ts.map +1 -1
  20. package/dist/esm/stories/Citation.stories.js +13 -4
  21. package/dist/esm/stories/Citation.stories.js.map +1 -1
  22. package/dist/esm/stories/Sheet.stories.d.ts.map +1 -1
  23. package/dist/esm/stories/Sheet.stories.js +13 -3
  24. package/dist/esm/stories/Sheet.stories.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/components/DataTable.tsx +132 -66
  27. package/src/components/FaviconIcon.tsx +95 -0
  28. package/src/components/MultiPageSheet.tsx +1 -1
  29. package/src/components/Sheet.tsx +55 -36
  30. package/src/components/index.ts +1 -0
  31. package/src/stories/Citation.stories.tsx +18 -3
  32. package/src/stories/Sheet.stories.tsx +14 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Citation.stories.js","sourceRoot":"","sources":["../../../src/stories/Citation.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Citation.stories.js","sourceRoot":"","sources":["../../../src/stories/Citation.stories.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Sheet.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkC1B,QAAA,MAAM,IAAI;;CAEM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,wBAAgB,IAAI,sBAQnB;AAED,wBAAgB,SAAS,sBA0BxB;AAED,wBAAgB,WAAW,sBAqB1B;AAED,wBAAgB,WAAW,sBA+D1B;AAgPD,wBAAgB,qBAAqB,sBAiCpC;AAED,wBAAgB,oBAAoB,sBA0BnC"}
1
+ {"version":3,"file":"Sheet.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Sheet.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkC1B,QAAA,MAAM,IAAI;;CAEM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,wBAAgB,IAAI,sBAQnB;AAED,wBAAgB,SAAS,sBAsCxB;AAED,wBAAgB,WAAW,sBAqB1B;AAED,wBAAgB,WAAW,sBA+D1B;AAgPD,wBAAgB,qBAAqB,sBAiCpC;AAED,wBAAgB,oBAAoB,sBA0BnC"}
@@ -1,3 +1,4 @@
1
+ import { __read } from "tslib";
1
2
  import React from "react";
2
3
  import { Avatar, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Icon, Input, Page, Separator, Sheet, SheetContainer, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, TextArea, } from "../components";
3
4
  import { CloudArrowLeftRightIcon, FolderIcon, GlobeAltIcon, MoreIcon, PencilSquareIcon, RocketIcon, StarIcon, TrashIcon, } from "../icons/app";
@@ -12,7 +13,8 @@ export function Demo() {
12
13
  React.createElement(SheetCustom, null)));
13
14
  }
14
15
  export function SheetDemo() {
15
- return (React.createElement("div", null,
16
+ var _a = __read(React.useState(0), 2), saveCount = _a[0], setSaveCount = _a[1];
17
+ return (React.createElement("div", { className: "s-flex s-items-center s-gap-3" },
16
18
  React.createElement(Sheet, null,
17
19
  React.createElement(SheetTrigger, { asChild: true },
18
20
  React.createElement(Button, { variant: "outline", label: "Edit demo" })),
@@ -22,8 +24,16 @@ export function SheetDemo() {
22
24
  React.createElement(SheetContainer, null,
23
25
  React.createElement("div", { className: "s-flex s-flex-col s-gap-6" },
24
26
  React.createElement(Input, { label: "Firstname", placeholder: "John" }),
25
- React.createElement(Input, { label: "Lastname", placeholder: "Doe" }))),
26
- React.createElement(SheetFooter, { sheetCloseClassName: "s-flex s-gap-2", leftButtonProps: { label: "Cancel", variant: "warning" }, rightButtonProps: { label: "Save", disabled: true } })))));
27
+ React.createElement(Input, { label: "Lastname", placeholder: "Doe" }),
28
+ React.createElement("div", { className: "s-text-xs s-text-muted-foreground dark:s-text-muted-foreground-night" }, "Tip: Press Cmd/Ctrl + Enter to Save"))),
29
+ React.createElement(SheetFooter, { sheetCloseClassName: "s-flex s-gap-2", leftButtonProps: { label: "Cancel", variant: "warning" }, rightButtonProps: {
30
+ label: "Save",
31
+ variant: "primary",
32
+ onClick: function () { return setSaveCount(function (c) { return c + 1; }); },
33
+ } }))),
34
+ React.createElement("span", { className: "s-text-xs s-text-muted-foreground dark:s-text-muted-foreground-night" },
35
+ "Saved: ",
36
+ saveCount)));
27
37
  }
28
38
  export function ContentDemo() {
29
39
  return (React.createElement("div", null,
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.stories.js","sourceRoot":"","sources":["../../../src/stories/Sheet.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sheet.stories.js","sourceRoot":"","sources":["../../../src/stories/Sheet.stories.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.2.624",
3
+ "version": "0.2.625",
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",
@@ -68,8 +68,8 @@ declare module "@tanstack/react-table" {
68
68
 
69
69
  interface TBaseData {
70
70
  onClick?: () => void;
71
- moreMenuItems?: DropdownMenuItemProps[];
72
71
  dropdownMenuProps?: React.ComponentPropsWithoutRef<typeof DropdownMenu>;
72
+ menuItems?: MenuItem[];
73
73
  }
74
74
 
75
75
  interface ColumnBreakpoint {
@@ -286,6 +286,7 @@ export function DataTable<TData extends TBaseData>({
286
286
  onClick={
287
287
  enableRowSelection ? handleRowClick : row.original.onClick
288
288
  }
289
+ rowData={row.original}
289
290
  {...(enableRowSelection && {
290
291
  "data-selected": row.getIsSelected(),
291
292
  })}
@@ -562,6 +563,7 @@ export function ScrollableDataTable<TData extends TBaseData>({
562
563
  onClick={
563
564
  enableRowSelection ? handleRowClick : row.original.onClick
564
565
  }
566
+ rowData={row.original}
565
567
  className="s-absolute s-w-full"
566
568
  {...(enableRowSelection && {
567
569
  "data-selected": row.getIsSelected(),
@@ -716,6 +718,7 @@ interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {
716
718
  onClick?: () => void;
717
719
  widthClassName: string;
718
720
  "data-selected"?: boolean;
721
+ rowData?: TBaseData;
719
722
  }
720
723
 
721
724
  DataTable.Row = function Row({
@@ -723,24 +726,70 @@ DataTable.Row = function Row({
723
726
  className,
724
727
  onClick,
725
728
  widthClassName,
729
+ rowData,
726
730
  ...props
727
731
  }: RowProps) {
732
+ const [contextMenuPosition, setContextMenuPosition] = useState<{
733
+ x: number;
734
+ y: number;
735
+ } | null>(null);
736
+
737
+ const handleContextMenu = (event: React.MouseEvent) => {
738
+ if (!rowData?.menuItems?.length) {
739
+ return;
740
+ }
741
+
742
+ event.preventDefault();
743
+ setContextMenuPosition({ x: event.clientX, y: event.clientY });
744
+ };
745
+
728
746
  return (
729
- <tr
730
- className={cn(
731
- "s-group/dt-row s-justify-center s-border-b s-transition-colors s-duration-300 s-ease-out",
732
- "s-border-separator dark:s-border-separator-night",
733
- onClick &&
734
- "s-cursor-pointer [&:hover:not(:has(input:hover)):not(:has(button:hover))]:s-bg-muted dark:[&:hover:not(:has(input:hover)):not(:has(button:hover))]:s-bg-muted-night",
735
- props["data-selected"] && "s-bg-muted/50 dark:s-bg-muted/50",
736
- widthClassName,
737
- className
747
+ <>
748
+ <tr
749
+ className={cn(
750
+ "s-group/dt-row s-justify-center s-border-b s-transition-colors s-duration-300 s-ease-out",
751
+ "s-border-separator dark:s-border-separator-night",
752
+ onClick &&
753
+ "s-cursor-pointer [&:hover:not(:has(input:hover)):not(:has(button:hover))]:s-bg-muted dark:[&:hover:not(:has(input:hover)):not(:has(button:hover))]:s-bg-muted-night",
754
+ props["data-selected"] && "s-bg-muted/50 dark:s-bg-muted/50",
755
+ widthClassName,
756
+ className
757
+ )}
758
+ onClick={onClick || undefined}
759
+ onContextMenu={handleContextMenu}
760
+ {...props}
761
+ >
762
+ {children}
763
+ </tr>
764
+
765
+ {contextMenuPosition && rowData?.menuItems?.length && (
766
+ <DropdownMenu
767
+ open={!!contextMenuPosition}
768
+ onOpenChange={(open) => !open && setContextMenuPosition(null)}
769
+ modal={false}
770
+ >
771
+ <DropdownMenuPortal>
772
+ <DropdownMenuContent
773
+ align="start"
774
+ className="s-whitespace-nowrap"
775
+ style={{
776
+ position: "fixed",
777
+ left: contextMenuPosition?.x || 0,
778
+ top: contextMenuPosition?.y || 0,
779
+ }}
780
+ >
781
+ <DropdownMenuGroup>
782
+ {rowData?.menuItems?.map((item, index) =>
783
+ renderMenuItem(item, index, () =>
784
+ setContextMenuPosition(null)
785
+ )
786
+ )}
787
+ </DropdownMenuGroup>
788
+ </DropdownMenuContent>
789
+ </DropdownMenuPortal>
790
+ </DropdownMenu>
738
791
  )}
739
- onClick={onClick || undefined}
740
- {...props}
741
- >
742
- {children}
743
- </tr>
792
+ </>
744
793
  );
745
794
  };
746
795
 
@@ -769,6 +818,71 @@ interface SubmenuMenuItem extends BaseMenuItem {
769
818
 
770
819
  export type MenuItem = RegularMenuItem | SubmenuMenuItem;
771
820
 
821
+ // Shared menu rendering functions
822
+ const renderSubmenuItem = (
823
+ item: SubmenuMenuItem,
824
+ index: number,
825
+ onItemClick?: () => void
826
+ ) => (
827
+ <DropdownMenuSub key={`${item.label}-${index}`}>
828
+ <DropdownMenuSubTrigger label={item.label} disabled={item.disabled} />
829
+ <DropdownMenuPortal>
830
+ <DropdownMenuSubContent>
831
+ <ScrollArea
832
+ className="s-min-w-24 s-flex s-max-h-72 s-flex-col"
833
+ hideScrollBar
834
+ >
835
+ {item.items.map((subItem) => (
836
+ <DropdownMenuItem
837
+ key={subItem.id}
838
+ label={subItem.name}
839
+ onClick={(event) => {
840
+ event.stopPropagation();
841
+ item.onSelect(subItem.id);
842
+ onItemClick?.();
843
+ }}
844
+ />
845
+ ))}
846
+ <ScrollBar className="s-py-0" />
847
+ </ScrollArea>
848
+ </DropdownMenuSubContent>
849
+ </DropdownMenuPortal>
850
+ </DropdownMenuSub>
851
+ );
852
+
853
+ const renderRegularItem = (
854
+ item: RegularMenuItem,
855
+ index: number,
856
+ onItemClick?: () => void
857
+ ) => {
858
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
859
+ const { kind, ...itemProps } = item;
860
+ return (
861
+ <DropdownMenuItem
862
+ key={`item-${index}`}
863
+ {...itemProps}
864
+ onClick={(event) => {
865
+ event.stopPropagation();
866
+ itemProps.onClick?.(event);
867
+ onItemClick?.();
868
+ }}
869
+ />
870
+ );
871
+ };
872
+
873
+ const renderMenuItem = (
874
+ item: MenuItem,
875
+ index: number,
876
+ onItemClick?: () => void
877
+ ) => {
878
+ switch (item.kind) {
879
+ case "submenu":
880
+ return renderSubmenuItem(item, index, onItemClick);
881
+ case "item":
882
+ return renderRegularItem(item, index, onItemClick);
883
+ }
884
+ };
885
+
772
886
  export interface DataTableMoreButtonProps {
773
887
  className?: string;
774
888
  menuItems?: MenuItem[];
@@ -787,56 +901,6 @@ DataTable.MoreButton = function MoreButton({
787
901
  return null;
788
902
  }
789
903
 
790
- const renderSubmenuItem = (item: SubmenuMenuItem, index: number) => (
791
- <DropdownMenuSub key={`${item.label}-${index}`}>
792
- <DropdownMenuSubTrigger label={item.label} disabled={item.disabled} />
793
- <DropdownMenuPortal>
794
- <DropdownMenuSubContent>
795
- <ScrollArea
796
- className="s-min-w-24 s-flex s-max-h-72 s-flex-col"
797
- hideScrollBar
798
- >
799
- {item.items.map((subItem) => (
800
- <DropdownMenuItem
801
- key={subItem.id}
802
- label={subItem.name}
803
- onClick={(event) => {
804
- event.stopPropagation();
805
- item.onSelect(subItem.id);
806
- }}
807
- />
808
- ))}
809
- <ScrollBar className="s-py-0" />
810
- </ScrollArea>
811
- </DropdownMenuSubContent>
812
- </DropdownMenuPortal>
813
- </DropdownMenuSub>
814
- );
815
-
816
- const renderRegularItem = (item: RegularMenuItem, index: number) => {
817
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
818
- const { kind, ...itemProps } = item;
819
- return (
820
- <DropdownMenuItem
821
- key={`item-${index}`}
822
- {...itemProps}
823
- onClick={(event) => {
824
- event.stopPropagation();
825
- itemProps.onClick?.(event);
826
- }}
827
- />
828
- );
829
- };
830
-
831
- const renderMenuItem = (item: MenuItem, index: number) => {
832
- switch (item.kind) {
833
- case "submenu":
834
- return renderSubmenuItem(item, index);
835
- case "item":
836
- return renderRegularItem(item, index);
837
- }
838
- };
839
-
840
904
  return (
841
905
  <DropdownMenu modal={false} {...dropdownMenuProps}>
842
906
  <DropdownMenuTrigger
@@ -854,7 +918,9 @@ DataTable.MoreButton = function MoreButton({
854
918
  </DropdownMenuTrigger>
855
919
 
856
920
  <DropdownMenuContent align="end">
857
- <DropdownMenuGroup>{menuItems.map(renderMenuItem)}</DropdownMenuGroup>
921
+ <DropdownMenuGroup>
922
+ {menuItems.map((item, index) => renderMenuItem(item, index))}
923
+ </DropdownMenuGroup>
858
924
  </DropdownMenuContent>
859
925
  </DropdownMenu>
860
926
  );
@@ -0,0 +1,95 @@
1
+ import { cva } from "class-variance-authority";
2
+ import React, { useCallback, useState } from "react";
3
+
4
+ import { GlobeAltIcon } from "@sparkle/icons";
5
+ import { cn } from "@sparkle/lib/utils";
6
+
7
+ const faviconVariants = cva("", {
8
+ variants: {
9
+ size: {
10
+ sm: "s-w-4 s-h-4",
11
+ md: "s-w-5 s-h-5",
12
+ lg: "s-w-6 s-h-6",
13
+ },
14
+ },
15
+ defaultVariants: {
16
+ size: "sm",
17
+ },
18
+ });
19
+
20
+ interface FaviconIconProps {
21
+ faviconUrl?: string;
22
+ websiteUrl?: string;
23
+ size?: "sm" | "md" | "lg";
24
+ className?: string;
25
+ }
26
+
27
+ /**
28
+ * Component that displays a website favicon with fallback to GlobeAltIcon
29
+ * If faviconUrl is provided, uses that. If websiteUrl is provided, generates favicon URL.
30
+ * Falls back to GlobeAltIcon if favicon fails to load.
31
+ */
32
+ export function FaviconIcon({
33
+ faviconUrl,
34
+ websiteUrl,
35
+ size = "sm",
36
+ className,
37
+ }: FaviconIconProps) {
38
+ const [hasError, setHasError] = useState(false);
39
+ const [isLoading, setIsLoading] = useState(true);
40
+
41
+ const handleError = useCallback(() => {
42
+ setHasError(true);
43
+ setIsLoading(false);
44
+ }, []);
45
+
46
+ const handleLoad = useCallback(() => {
47
+ setIsLoading(false);
48
+ }, []);
49
+
50
+ // Determine favicon URL
51
+ let finalFaviconUrl = faviconUrl;
52
+ if (!finalFaviconUrl && websiteUrl) {
53
+ try {
54
+ const domain = new URL(websiteUrl).hostname;
55
+ finalFaviconUrl = `https://www.google.com/s2/favicons?domain=${domain}&sz=16`;
56
+ } catch {
57
+ // Invalid URL, fallback to icon
58
+ }
59
+ }
60
+
61
+ // If no favicon URL or it failed to load, show fallback icon
62
+ if (!finalFaviconUrl || hasError) {
63
+ return <GlobeAltIcon className={className} />;
64
+ }
65
+
66
+ return (
67
+ <div
68
+ className={cn(
69
+ "s-flex s-items-center s-justify-center s-relative",
70
+ faviconVariants({ size }),
71
+ className
72
+ )}
73
+ >
74
+ <img
75
+ src={finalFaviconUrl}
76
+ alt="Website icon"
77
+ className={cn("s-object-contain", faviconVariants({ size }))}
78
+ onError={handleError}
79
+ onLoad={handleLoad}
80
+ style={{
81
+ opacity: isLoading ? 0 : 1,
82
+ transition: "opacity 0.2s ease-in-out",
83
+ }}
84
+ />
85
+ {(isLoading || hasError) && (
86
+ <GlobeAltIcon
87
+ className={cn(
88
+ faviconVariants({ size }),
89
+ isLoading ? "s-absolute s-inset-0" : "s-hidden"
90
+ )}
91
+ />
92
+ )}
93
+ </div>
94
+ );
95
+ }
@@ -84,7 +84,7 @@ const MultiPageSheetFooter = ({
84
84
  <div>{leftButton && <Button {...leftButton} />}</div>
85
85
  <div className="s-flex s-gap-2">
86
86
  {centerButton && <Button {...centerButton} />}
87
- {rightButton && <Button {...rightButton} />}
87
+ {rightButton && <Button data-sheet-save="true" {...rightButton} />}
88
88
  </div>
89
89
  </div>
90
90
  </div>
@@ -130,6 +130,22 @@ const SheetContent = React.forwardRef<
130
130
  [preventAutoFocusOnOpen, onOpenAutoFocus]
131
131
  );
132
132
 
133
+ const onKeyDownCapture = React.useCallback(
134
+ (e: React.KeyboardEvent<HTMLDivElement>) => {
135
+ if ((e.metaKey || e.ctrlKey) && e.key === "Enter") {
136
+ const root = e.currentTarget as HTMLElement;
137
+ const target = root.querySelector<HTMLButtonElement>(
138
+ '[data-sheet-save="true"]:not(:disabled)'
139
+ );
140
+ if (target) {
141
+ e.preventDefault();
142
+ target.click();
143
+ }
144
+ }
145
+ },
146
+ []
147
+ );
148
+
133
149
  return (
134
150
  <SheetPortal>
135
151
  <SheetOverlay />
@@ -143,6 +159,7 @@ const SheetContent = React.forwardRef<
143
159
  )}
144
160
  onCloseAutoFocus={handleCloseAutoFocus}
145
161
  onOpenAutoFocus={handleOpenAutoFocus}
162
+ onKeyDownCapture={onKeyDownCapture}
146
163
  {...props}
147
164
  >
148
165
  {children}
@@ -233,45 +250,47 @@ const SheetFooter = ({
233
250
  rightEndButtonProps,
234
251
  sheetCloseClassName,
235
252
  ...props
236
- }: SheetFooterProps) => (
237
- <div
238
- className={cn(
239
- "s-flex s-flex-none s-flex-col s-gap-2",
240
- "s-border-border dark:s-border-border-night",
241
- className
242
- )}
243
- {...props}
244
- >
245
- {children}
246
- <div className="s-flex s-flex-row s-gap-2 s-border-t s-border-border s-px-3 s-py-3 dark:s-border-border-night">
247
- {leftButtonProps &&
248
- (leftButtonProps.disabled ? (
249
- <Button {...leftButtonProps} />
250
- ) : (
251
- <SheetClose className={sheetCloseClassName} asChild>
253
+ }: SheetFooterProps) => {
254
+ return (
255
+ <div
256
+ className={cn(
257
+ "s-flex s-flex-none s-flex-col s-gap-2",
258
+ "s-border-border dark:s-border-border-night",
259
+ className
260
+ )}
261
+ {...props}
262
+ >
263
+ {children}
264
+ <div className="s-flex s-flex-row s-gap-2 s-border-t s-border-border s-px-3 s-py-3 dark:s-border-border-night">
265
+ {leftButtonProps &&
266
+ (leftButtonProps.disabled ? (
252
267
  <Button {...leftButtonProps} />
253
- </SheetClose>
254
- ))}
255
- <div className="s-flex-grow" />
256
- {rightButtonProps &&
257
- (rightButtonProps.disabled ? (
258
- <Button {...rightButtonProps} />
259
- ) : (
260
- <SheetClose className={sheetCloseClassName} asChild>
261
- <Button {...rightButtonProps} />
262
- </SheetClose>
263
- ))}
264
- {rightEndButtonProps &&
265
- (rightEndButtonProps.disabled ? (
266
- <Button {...rightEndButtonProps} />
267
- ) : (
268
- <SheetClose className={sheetCloseClassName} asChild>
268
+ ) : (
269
+ <SheetClose className={sheetCloseClassName} asChild>
270
+ <Button {...leftButtonProps} />
271
+ </SheetClose>
272
+ ))}
273
+ <div className="s-flex-grow" />
274
+ {rightButtonProps &&
275
+ (rightButtonProps.disabled ? (
276
+ <Button data-sheet-save="true" {...rightButtonProps} />
277
+ ) : (
278
+ <SheetClose className={sheetCloseClassName} asChild>
279
+ <Button data-sheet-save="true" {...rightButtonProps} />
280
+ </SheetClose>
281
+ ))}
282
+ {rightEndButtonProps &&
283
+ (rightEndButtonProps.disabled ? (
269
284
  <Button {...rightEndButtonProps} />
270
- </SheetClose>
271
- ))}
285
+ ) : (
286
+ <SheetClose className={sheetCloseClassName} asChild>
287
+ <Button {...rightEndButtonProps} />
288
+ </SheetClose>
289
+ ))}
290
+ </div>
272
291
  </div>
273
- </div>
274
- );
292
+ );
293
+ };
275
294
  SheetFooter.displayName = "SheetFooter";
276
295
 
277
296
  interface SheetTitleProps
@@ -93,6 +93,7 @@ export { default as DropzoneOverlay } from "./DropzoneOverlay";
93
93
  export type { EmojiMartData } from "./EmojiPicker";
94
94
  export { DataEmojiMart, EmojiPicker } from "./EmojiPicker";
95
95
  export { EmptyCTA, EmptyCTAButton } from "./EmptyCTA";
96
+ export { FaviconIcon } from "./FaviconIcon";
96
97
  export { FilterChips } from "./FilterChips";
97
98
  export { Div3D, Hover3D } from "./Hover3D";
98
99
  export { Hoverable } from "./Hoverable";
@@ -13,6 +13,7 @@ import {
13
13
  CitationTitle,
14
14
  DocumentIcon,
15
15
  ExternalLinkIcon,
16
+ FaviconIcon,
16
17
  GlobeAltIcon,
17
18
  Icon,
18
19
  ImageIcon,
@@ -69,10 +70,17 @@ export const CitationsExample = () => (
69
70
  </Citation>
70
71
  <Citation onClick={() => alert("Card clicked")} className="s-w-48">
71
72
  <CitationIcons>
72
- <Icon visual={GlobeAltIcon} size="sm" />
73
+ <FaviconIcon websiteUrl="https://www.linkedin.com" size="sm" />
73
74
  </CitationIcons>
74
75
  <CitationTitle>Linkedin, Edouard Wautier</CitationTitle>
75
76
  </Citation>
77
+
78
+ <Citation onClick={() => alert("Card clicked")} className="s-w-48">
79
+ <CitationIcons>
80
+ <FaviconIcon websiteUrl="https://github.com" size="sm" />
81
+ </CitationIcons>
82
+ <CitationTitle>GitHub Repository</CitationTitle>
83
+ </Citation>
76
84
 
77
85
  <Citation onClick={() => alert("Card clicked")} className="s-w-48">
78
86
  <CitationImage imgSrc="https://dust.tt/static/droidavatar/Droid_Lime_3.jpg" />
@@ -183,9 +191,16 @@ export const CitationsExample = () => (
183
191
  <Citation onClick={() => alert("Close action clicked")}>
184
192
  <CitationIcons>
185
193
  <CitationIndex>4</CitationIndex>
186
- <Icon visual={GlobeAltIcon} size="sm" />
194
+ <FaviconIcon websiteUrl="https://stackoverflow.com" size="sm" />
187
195
  </CitationIcons>
188
- <CitationTitle>Hello</CitationTitle>
196
+ <CitationTitle>Stack Overflow Answer</CitationTitle>
197
+ </Citation>
198
+ <Citation onClick={() => alert("Close action clicked")}>
199
+ <CitationIcons>
200
+ <CitationIndex>5</CitationIndex>
201
+ <FaviconIcon websiteUrl="https://www.wikipedia.org" size="sm" />
202
+ </CitationIcons>
203
+ <CitationTitle>Wikipedia Article</CitationTitle>
189
204
  </Citation>
190
205
  </CitationGrid>
191
206
  Example of interactive content (list variant)