@gradio/dataframe 0.20.1 → 0.21.0-dev.3

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 (58) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/Dataframe.stories.svelte +0 -25
  3. package/Example.svelte +17 -13
  4. package/Index.svelte +114 -110
  5. package/dist/Example.svelte +26 -20
  6. package/dist/Example.svelte.d.ts +21 -19
  7. package/dist/Index.svelte +121 -99
  8. package/dist/Index.svelte.d.ts +4 -168
  9. package/dist/shared/BooleanCell.svelte +12 -9
  10. package/dist/shared/BooleanCell.svelte.d.ts +20 -18
  11. package/dist/shared/CellMenu.svelte +82 -64
  12. package/dist/shared/CellMenu.svelte.d.ts +39 -37
  13. package/dist/shared/CellMenuButton.svelte +2 -1
  14. package/dist/shared/CellMenuButton.svelte.d.ts +18 -16
  15. package/dist/shared/CellMenuIcons.svelte +2 -1
  16. package/dist/shared/CellMenuIcons.svelte.d.ts +18 -16
  17. package/dist/shared/EditableCell.svelte +97 -56
  18. package/dist/shared/EditableCell.svelte.d.ts +50 -48
  19. package/dist/shared/EmptyRowButton.svelte +2 -1
  20. package/dist/shared/EmptyRowButton.svelte.d.ts +18 -16
  21. package/dist/shared/Example.svelte +2 -1
  22. package/dist/shared/Example.svelte.d.ts +18 -16
  23. package/dist/shared/FilterMenu.svelte +53 -39
  24. package/dist/shared/FilterMenu.svelte.d.ts +20 -18
  25. package/dist/shared/RowNumber.svelte +3 -2
  26. package/dist/shared/RowNumber.svelte.d.ts +19 -17
  27. package/dist/shared/Table.svelte +826 -624
  28. package/dist/shared/Table.svelte.d.ts +59 -57
  29. package/dist/shared/TableCell.svelte +95 -50
  30. package/dist/shared/TableCell.svelte.d.ts +61 -59
  31. package/dist/shared/TableHeader.svelte +86 -58
  32. package/dist/shared/TableHeader.svelte.d.ts +55 -53
  33. package/dist/shared/Toolbar.svelte +49 -39
  34. package/dist/shared/Toolbar.svelte.d.ts +27 -25
  35. package/dist/shared/VirtualTable.svelte +207 -154
  36. package/dist/shared/VirtualTable.svelte.d.ts +40 -37
  37. package/dist/shared/icons/FilterIcon.svelte +2 -1
  38. package/dist/shared/icons/FilterIcon.svelte.d.ts +16 -14
  39. package/dist/shared/icons/Padlock.svelte.d.ts +22 -21
  40. package/dist/shared/icons/SelectionButtons.svelte +15 -5
  41. package/dist/shared/icons/SelectionButtons.svelte.d.ts +20 -18
  42. package/dist/shared/icons/SortArrowDown.svelte +2 -1
  43. package/dist/shared/icons/SortArrowDown.svelte.d.ts +18 -16
  44. package/dist/shared/icons/SortArrowUp.svelte +2 -1
  45. package/dist/shared/icons/SortArrowUp.svelte.d.ts +18 -16
  46. package/dist/shared/icons/SortButtonDown.svelte.d.ts +22 -21
  47. package/dist/shared/icons/SortButtonUp.svelte.d.ts +22 -21
  48. package/dist/shared/icons/SortIcon.svelte +12 -8
  49. package/dist/shared/icons/SortIcon.svelte.d.ts +22 -20
  50. package/dist/shared/utils/data_processing.d.ts +1 -1
  51. package/dist/standalone/Index.svelte +104 -78
  52. package/dist/standalone/Index.svelte.d.ts +41 -41
  53. package/dist/standalone/stubs/Upload.svelte +5 -4
  54. package/dist/standalone/stubs/Upload.svelte.d.ts +35 -25
  55. package/package.json +15 -14
  56. package/shared/Table.svelte +13 -11
  57. package/shared/VirtualTable.svelte +1 -1
  58. package/standalone/Index.svelte +17 -19
@@ -1,45 +1,45 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { Datatype, DataframeValue } from "../shared/utils/utils";
3
2
  import type { I18nFormatter } from "@gradio/utils";
4
- declare const __propDef: {
5
- props: {
6
- i18n?: I18nFormatter | undefined;
7
- value?: DataframeValue;
8
- datatype?: Datatype | Datatype[];
9
- interactive?: boolean;
10
- show_row_numbers?: boolean;
11
- max_height?: number;
12
- show_search?: "none" | "search" | "filter";
13
- show_copy_button?: boolean;
14
- show_fullscreen_button?: boolean;
15
- wrap?: boolean;
16
- line_breaks?: boolean;
17
- column_widths?: string[];
18
- max_chars?: number | undefined;
19
- pinned_columns?: number;
20
- static_columns?: (string | number)[];
21
- fullscreen?: boolean;
22
- label?: string | null;
23
- show_label?: boolean;
24
- latex_delimiters?: any[];
25
- col_count?: [number, "fixed" | "dynamic"] | undefined;
26
- row_count?: [number, "fixed" | "dynamic"] | undefined;
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
27
13
  };
28
- events: {
29
- blur: CustomEvent<any>;
30
- keydown: CustomEvent<any>;
31
- input: CustomEvent<undefined>;
32
- select: CustomEvent<import("@gradio/utils").SelectData>;
33
- } & {
34
- [evt: string]: CustomEvent<any>;
35
- };
36
- slots: {};
37
- exports?: {} | undefined;
38
- bindings?: string | undefined;
39
- };
40
- export type IndexProps = typeof __propDef.props;
41
- export type IndexEvents = typeof __propDef.events;
42
- export type IndexSlots = typeof __propDef.slots;
43
- export default class Index extends SvelteComponent<IndexProps, IndexEvents, IndexSlots> {
14
+ z_$$bindings?: Bindings;
44
15
  }
45
- export {};
16
+ declare const Index: $$__sveltets_2_IsomorphicComponent<{
17
+ i18n?: I18nFormatter | undefined;
18
+ value?: DataframeValue;
19
+ datatype?: Datatype | Datatype[];
20
+ interactive?: boolean;
21
+ show_row_numbers?: boolean;
22
+ max_height?: number;
23
+ show_search?: "none" | "search" | "filter";
24
+ wrap?: boolean;
25
+ line_breaks?: boolean;
26
+ column_widths?: string[];
27
+ max_chars?: number | undefined;
28
+ pinned_columns?: number;
29
+ static_columns?: (string | number)[];
30
+ fullscreen?: boolean;
31
+ label?: string | null;
32
+ show_label?: boolean;
33
+ latex_delimiters?: any[];
34
+ col_count?: [number, "fixed" | "dynamic"] | undefined;
35
+ row_count?: [number, "fixed" | "dynamic"] | undefined;
36
+ }, {
37
+ blur: CustomEvent<any>;
38
+ keydown: CustomEvent<any>;
39
+ input: CustomEvent<undefined>;
40
+ select: CustomEvent<import("@gradio/utils").SelectData>;
41
+ } & {
42
+ [evt: string]: CustomEvent<any>;
43
+ }, {}, {}, string>;
44
+ type Index = InstanceType<typeof Index>;
45
+ export default Index;
@@ -1,7 +1,8 @@
1
- <script>export const aria_label = "";
2
- export const root = "";
3
- export const upload = null;
4
- export const stream_handler = null;
1
+ <script lang="ts">
2
+ export const aria_label = "";
3
+ export const root = "";
4
+ export const upload: any = null;
5
+ export const stream_handler: any = null;
5
6
  </script>
6
7
 
7
8
  <div>
@@ -1,27 +1,37 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- aria_label?: "";
5
- root?: "";
6
- upload?: any;
7
- stream_handler?: any;
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
8
11
  };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {
13
- default: {};
14
- };
15
- exports?: {} | undefined;
16
- bindings?: string | undefined;
17
- };
18
- export type UploadProps = typeof __propDef.props;
19
- export type UploadEvents = typeof __propDef.events;
20
- export type UploadSlots = typeof __propDef.slots;
21
- export default class Upload extends SvelteComponent<UploadProps, UploadEvents, UploadSlots> {
22
- get aria_label(): "";
23
- get root(): "";
24
- get upload(): any;
25
- get stream_handler(): any;
12
+ z_$$bindings?: Bindings;
26
13
  }
27
- export {};
14
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
15
+ default: any;
16
+ } ? Props extends Record<string, never> ? any : {
17
+ children?: any;
18
+ } : {});
19
+ declare const Upload: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
+ aria_label?: "";
21
+ root?: "";
22
+ upload?: any;
23
+ stream_handler?: any;
24
+ }, {
25
+ default: {};
26
+ }>, {
27
+ [evt: string]: CustomEvent<any>;
28
+ }, {
29
+ default: {};
30
+ }, {
31
+ aria_label: "";
32
+ root: "";
33
+ upload: any;
34
+ stream_handler: any;
35
+ }, string>;
36
+ type Upload = InstanceType<typeof Upload>;
37
+ export default Upload;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/dataframe",
3
- "version": "0.20.1",
3
+ "version": "0.21.0-dev.3",
4
4
  "description": "Gradio UI packages",
5
5
  "type": "module",
6
6
  "author": "",
@@ -9,19 +9,20 @@
9
9
  "main_changeset": true,
10
10
  "main": "./Index.svelte",
11
11
  "dependencies": {
12
- "@types/d3-dsv": "^3.0.0",
13
- "@types/katex": "^0.16.0",
12
+ "@types/d3-dsv": "^3.0.7",
13
+ "@types/katex": "^0.16.7",
14
14
  "d3-dsv": "^3.0.1",
15
- "dequal": "^2.0.2",
16
- "@gradio/atoms": "^0.18.1",
17
- "@gradio/button": "^0.5.13",
18
- "@gradio/checkbox": "^0.4.30",
15
+ "dequal": "^2.0.3",
16
+ "@gradio/atoms": "^0.19.0-dev.1",
17
+ "@gradio/checkbox": "^0.5.0-dev.1",
18
+ "@gradio/button": "^0.5.14-dev.2",
19
+ "@gradio/icons": "^0.15.0-dev.0",
20
+ "@gradio/client": "^2.0.0-dev.2",
19
21
  "@gradio/markdown-code": "^0.5.2",
20
- "@gradio/icons": "^0.14.0",
21
- "@gradio/client": "^1.19.0",
22
- "@gradio/statustracker": "^0.11.1",
23
- "@gradio/upload": "^0.17.1",
24
- "@gradio/utils": "^0.10.2"
22
+ "@gradio/statustracker": "^0.12.0-dev.1",
23
+ "@gradio/upload": "^0.17.2-dev.2",
24
+ "@gradio/utils": "^0.10.3-dev.0",
25
+ "@gradio/dataframe-interim": "^0.21.0-dev.3"
25
26
  },
26
27
  "exports": {
27
28
  ".": {
@@ -37,10 +38,10 @@
37
38
  "./package.json": "./package.json"
38
39
  },
39
40
  "peerDependencies": {
40
- "svelte": ">=4.0.0 <6.0.0"
41
+ "svelte": ">=5.0.0"
41
42
  },
42
43
  "devDependencies": {
43
- "@gradio/preview": "^0.14.0"
44
+ "@gradio/preview": "^0.15.0-dev.0"
44
45
  },
45
46
  "repository": {
46
47
  "type": "git",
@@ -76,8 +76,7 @@
76
76
  export let show_row_numbers = false;
77
77
  export let upload: Client["upload"];
78
78
  export let stream_handler: Client["stream"];
79
- export let show_fullscreen_button = false;
80
- export let show_copy_button = false;
79
+ export let buttons: string[] | null = null;
81
80
  export let value_is_output = false;
82
81
  export let max_chars: number | undefined = undefined;
83
82
  export let show_search: "none" | "search" | "filter" = "none";
@@ -86,8 +85,9 @@
86
85
  export let fullscreen = false;
87
86
 
88
87
  const df_ctx = create_dataframe_context({
89
- show_fullscreen_button,
90
- show_copy_button,
88
+ show_fullscreen_button:
89
+ buttons === null ? true : buttons.includes("fullscreen"),
90
+ show_copy_button: buttons === null ? true : buttons.includes("copy"),
91
91
  show_search,
92
92
  show_row_numbers,
93
93
  editable,
@@ -758,7 +758,7 @@
758
758
  if (new_row[col]) {
759
759
  new_row[col] = {
760
760
  ...new_row[col],
761
- value: checked.toString()
761
+ value: checked
762
762
  };
763
763
  }
764
764
  return new_row;
@@ -823,7 +823,7 @@
823
823
  <svelte:window on:resize={() => set_cell_widths()} />
824
824
 
825
825
  <div class="table-container">
826
- {#if (label && label.length !== 0 && show_label) || show_fullscreen_button || show_copy_button || show_search !== "none"}
826
+ {#if (label && label.length !== 0 && show_label) || (buttons === null ? true : buttons.includes("fullscreen")) || (buttons === null ? true : buttons.includes("copy")) || show_search !== "none"}
827
827
  <div class="header-row">
828
828
  {#if label && label.length !== 0 && show_label}
829
829
  <div class="label">
@@ -831,10 +831,12 @@
831
831
  </div>
832
832
  {/if}
833
833
  <Toolbar
834
- {show_fullscreen_button}
834
+ show_fullscreen_button={buttons === null
835
+ ? true
836
+ : buttons.includes("fullscreen")}
835
837
  {fullscreen}
836
838
  on_copy={async () => await copy_table_data(data, null)}
837
- {show_copy_button}
839
+ show_copy_button={buttons === null ? true : buttons.includes("copy")}
838
840
  {show_search}
839
841
  on:search={(e) => df_actions.handle_search(e.detail)}
840
842
  on:fullscreen
@@ -1058,7 +1060,7 @@
1058
1060
  <CellMenu
1059
1061
  x={active_cell_menu?.x ?? active_header_menu?.x ?? 0}
1060
1062
  y={active_cell_menu?.y ?? active_header_menu?.y ?? 0}
1061
- row={active_header_menu ? -1 : active_cell_menu?.row ?? 0}
1063
+ row={active_header_menu ? -1 : (active_cell_menu?.row ?? 0)}
1062
1064
  {col_count}
1063
1065
  {row_count}
1064
1066
  on_add_row_above={() => add_row_at(active_cell_menu?.row ?? -1, "above")}
@@ -1095,9 +1097,9 @@
1095
1097
  }
1096
1098
  : undefined}
1097
1099
  sort_direction={active_header_menu
1098
- ? $df_state.sort_state.sort_columns.find(
1100
+ ? ($df_state.sort_state.sort_columns.find(
1099
1101
  (item) => item.col === (active_header_menu?.col ?? -1)
1100
- )?.direction ?? null
1102
+ )?.direction ?? null)
1101
1103
  : null}
1102
1104
  sort_priority={active_header_menu
1103
1105
  ? $df_state.sort_state.sort_columns.findIndex(
@@ -42,7 +42,7 @@
42
42
 
43
43
  $: {
44
44
  if (mounted && viewport_height && viewport.offsetParent) {
45
- sortedItems, raf(refresh_height_map);
45
+ (sortedItems, raf(refresh_height_map));
46
46
  }
47
47
  }
48
48
 
@@ -24,8 +24,6 @@
24
24
  export let show_row_numbers = false;
25
25
  export let max_height = 500;
26
26
  export let show_search: "none" | "search" | "filter" = "none";
27
- export let show_copy_button = false;
28
- export let show_fullscreen_button = false;
29
27
  export let wrap = false;
30
28
  export let line_breaks = true;
31
29
  export let column_widths: string[] = [];
@@ -100,8 +98,7 @@
100
98
  {show_row_numbers}
101
99
  {max_height}
102
100
  {show_search}
103
- {show_copy_button}
104
- {show_fullscreen_button}
101
+ buttons={null}
105
102
  {wrap}
106
103
  {line_breaks}
107
104
  {column_widths}
@@ -304,8 +301,8 @@
304
301
  --df-body-text-color-subdued: var(--df-neutral-400, #9ca3af);
305
302
  --df-table-text-color: var(--df-body-text-color, #111827);
306
303
  --df-shadow-drop: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
307
- --df-shadow-drop-lg: 0 1px 3px 0 rgb(0 0 0 / 0.1),
308
- 0 1px 2px -1px rgb(0 0 0 / 0.1);
304
+ --df-shadow-drop-lg:
305
+ 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
309
306
  --df-shadow-inset: rgba(0, 0, 0, 0.05) 0px 2px 4px 0px inset;
310
307
  --df-shadow-spread: 3px;
311
308
 
@@ -313,8 +310,8 @@
313
310
  --df-bw-svt-p-bottom: 0px;
314
311
 
315
312
  --df-border-color-secondary: var(--df-border-color-accent, #fdba74);
316
- --df-shadow-md: 0 12px 16px -4px rgba(0, 0, 0, 0.1),
317
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
313
+ --df-shadow-md:
314
+ 0 12px 16px -4px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
318
315
 
319
316
  --df-checkbox-border-radius: var(--df-radius-sm, 4px);
320
317
  --df-checkbox-shadow: none;
@@ -356,8 +353,8 @@
356
353
  --df-input-placeholder-color: var(--neutral-400, #9ca3af);
357
354
  --df-input-radius: var(--df-radius-sm, 4px);
358
355
  --df-input-shadow: none;
359
- --df-input-shadow-focus: 0 0 0 var(--shadow-spread, 3px)
360
- var(--secondary-50, #eff6ff),
356
+ --df-input-shadow-focus:
357
+ 0 0 0 var(--shadow-spread, 3px) var(--secondary-50, #eff6ff),
361
358
  var(--shadow-inset, rgba(0, 0, 0, 0.05) 0px 2px 4px 0px inset);
362
359
 
363
360
  --table-radius: var(--gr-df-table-radius, var(--df-table-radius, 4px));
@@ -543,16 +540,17 @@
543
540
  --line-md: var(--df-line-md, 1.5);
544
541
  --line-lg: var(--df-line-lg, 1.75);
545
542
 
546
- --shadow-xs: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
547
- --shadow-sm: 0 4px 6px -2px rgba(0, 0, 0, 0.1),
548
- 0 2px 4px -2px rgba(0, 0, 0, 0.06);
549
- --shadow-md: 0 12px 16px -4px rgba(0, 0, 0, 0.1),
550
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
551
- --shadow-lg: 0 20px 24px -4px rgba(0, 0, 0, 0.1),
552
- 0 8px 8px -4px rgba(0, 0, 0, 0.04);
543
+ --shadow-xs:
544
+ 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
545
+ --shadow-sm:
546
+ 0 4px 6px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
547
+ --shadow-md:
548
+ 0 12px 16px -4px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
549
+ --shadow-lg:
550
+ 0 20px 24px -4px rgba(0, 0, 0, 0.1), 0 8px 8px -4px rgba(0, 0, 0, 0.04);
553
551
  --shadow-drop: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
554
- --shadow-drop-lg: 0 1px 3px 0 rgb(0 0 0 / 0.1),
555
- 0 1px 2px -1px rgb(0 0 0 / 0.1);
552
+ --shadow-drop-lg:
553
+ 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
556
554
  --shadow-inset: rgba(0, 0, 0, 0.05) 0px 2px 4px 0px inset;
557
555
  --shadow-spread: 3px;
558
556
  }