@gradio/core 1.0.0-dev.0 → 1.0.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 (106) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/src/Blocks.svelte +518 -1001
  5. package/dist/src/Blocks.svelte.d.ts +31 -45
  6. package/dist/src/Embed.svelte +82 -55
  7. package/dist/src/Embed.svelte.d.ts +39 -30
  8. package/dist/src/Login.svelte +33 -29
  9. package/dist/src/Login.svelte.d.ts +21 -19
  10. package/dist/src/MountComponents.svelte +19 -25
  11. package/dist/src/MountComponents.svelte.d.ts +5 -28
  12. package/dist/src/{init.d.ts → _init.d.ts} +5 -4
  13. package/dist/src/{init.js → _init.js} +31 -108
  14. package/dist/src/api_docs/ApiBanner.svelte +12 -8
  15. package/dist/src/api_docs/ApiBanner.svelte.d.ts +22 -20
  16. package/dist/src/api_docs/ApiDocs.svelte +337 -245
  17. package/dist/src/api_docs/ApiDocs.svelte.d.ts +26 -24
  18. package/dist/src/api_docs/ApiRecorder.svelte +9 -3
  19. package/dist/src/api_docs/ApiRecorder.svelte.d.ts +19 -17
  20. package/dist/src/api_docs/CodeSnippet.svelte +60 -30
  21. package/dist/src/api_docs/CodeSnippet.svelte.d.ts +27 -24
  22. package/dist/src/api_docs/CopyButton.svelte +69 -13
  23. package/dist/src/api_docs/CopyButton.svelte.d.ts +18 -16
  24. package/dist/src/api_docs/CopyMarkdown.svelte +734 -0
  25. package/dist/src/api_docs/CopyMarkdown.svelte.d.ts +37 -0
  26. package/dist/src/api_docs/EndpointDetail.svelte +8 -6
  27. package/dist/src/api_docs/EndpointDetail.svelte.d.ts +20 -18
  28. package/dist/src/api_docs/IconArrowUpRight.svelte +34 -0
  29. package/dist/src/api_docs/IconArrowUpRight.svelte.d.ts +20 -0
  30. package/dist/src/api_docs/IconCaret.svelte +39 -0
  31. package/dist/src/api_docs/IconCaret.svelte.d.ts +20 -0
  32. package/dist/src/api_docs/IconHuggingChat.svelte +62 -0
  33. package/dist/src/api_docs/IconHuggingChat.svelte.d.ts +20 -0
  34. package/dist/src/api_docs/InputPayload.svelte +17 -11
  35. package/dist/src/api_docs/InputPayload.svelte.d.ts +25 -23
  36. package/dist/src/api_docs/InstallSnippet.svelte +9 -6
  37. package/dist/src/api_docs/InstallSnippet.svelte.d.ts +18 -16
  38. package/dist/src/api_docs/MCPSnippet.svelte +119 -99
  39. package/dist/src/api_docs/MCPSnippet.svelte.d.ts +59 -58
  40. package/dist/src/api_docs/NoApi.svelte +7 -4
  41. package/dist/src/api_docs/NoApi.svelte.d.ts +20 -18
  42. package/dist/src/api_docs/ParametersSnippet.svelte +8 -6
  43. package/dist/src/api_docs/ParametersSnippet.svelte.d.ts +21 -19
  44. package/dist/src/api_docs/RecordingSnippet.svelte +124 -110
  45. package/dist/src/api_docs/RecordingSnippet.svelte.d.ts +24 -22
  46. package/dist/src/api_docs/ResponseSnippet.svelte +7 -5
  47. package/dist/src/api_docs/ResponseSnippet.svelte.d.ts +21 -19
  48. package/dist/src/api_docs/Settings.svelte +73 -62
  49. package/dist/src/api_docs/Settings.svelte.d.ts +25 -23
  50. package/dist/src/api_docs/SettingsBanner.svelte +11 -8
  51. package/dist/src/api_docs/SettingsBanner.svelte.d.ts +20 -18
  52. package/dist/src/api_docs/TryButton.svelte +5 -3
  53. package/dist/src/api_docs/TryButton.svelte.d.ts +19 -17
  54. package/dist/src/api_docs/img/IconCheck.svelte +33 -0
  55. package/dist/src/api_docs/img/IconCheck.svelte.d.ts +26 -0
  56. package/dist/src/api_docs/img/IconCopy.svelte +40 -0
  57. package/dist/src/api_docs/img/IconCopy.svelte.d.ts +26 -0
  58. package/dist/src/api_docs/img/clear.svelte.d.ts +22 -21
  59. package/dist/src/dependency.d.ts +142 -0
  60. package/dist/src/dependency.js +653 -0
  61. package/dist/src/init.svelte.d.ts +78 -0
  62. package/dist/src/init.svelte.js +469 -0
  63. package/dist/src/init_utils.d.ts +32 -0
  64. package/dist/src/init_utils.js +73 -0
  65. package/dist/src/lang/en.json +10 -1
  66. package/dist/src/lang/get_lang_names.js +0 -3
  67. package/dist/src/lang/ru.json +10 -1
  68. package/dist/src/stores.d.ts +0 -21
  69. package/dist/src/stories/I18nMultiLanguageTestComponent.svelte +5 -3
  70. package/dist/src/stories/I18nMultiLanguageTestComponent.svelte.d.ts +16 -14
  71. package/dist/src/stories/I18nTestSetup.svelte +14 -10
  72. package/dist/src/stories/I18nTestSetup.svelte.d.ts +18 -16
  73. package/dist/src/types.d.ts +30 -26
  74. package/index.ts +1 -1
  75. package/package.json +59 -59
  76. package/src/Blocks.svelte +344 -1063
  77. package/src/MountComponents.svelte +17 -27
  78. package/src/{init.ts → _init.ts} +49 -126
  79. package/src/api_docs/ApiDocs.svelte +65 -60
  80. package/src/api_docs/ApiRecorder.svelte +3 -0
  81. package/src/api_docs/CodeSnippet.svelte +20 -5
  82. package/src/api_docs/CopyButton.svelte +61 -7
  83. package/src/api_docs/CopyMarkdown.svelte +734 -0
  84. package/src/api_docs/IconArrowUpRight.svelte +34 -0
  85. package/src/api_docs/IconCaret.svelte +39 -0
  86. package/src/api_docs/IconHuggingChat.svelte +62 -0
  87. package/src/api_docs/MCPSnippet.svelte +24 -46
  88. package/src/api_docs/ParametersSnippet.svelte +1 -1
  89. package/src/api_docs/ResponseSnippet.svelte +1 -1
  90. package/src/api_docs/Settings.svelte +11 -11
  91. package/src/api_docs/img/IconCheck.svelte +33 -0
  92. package/src/api_docs/img/IconCopy.svelte +40 -0
  93. package/src/dependency.ts +880 -0
  94. package/src/init.svelte.ts +717 -0
  95. package/src/init_utils.ts +99 -0
  96. package/src/lang/en.json +10 -1
  97. package/src/lang/get_lang_names.js +0 -3
  98. package/src/lang/ru.json +10 -1
  99. package/src/stores.ts +22 -22
  100. package/src/types.ts +54 -43
  101. package/dist/src/Render.svelte +0 -105
  102. package/dist/src/Render.svelte.d.ts +0 -31
  103. package/dist/src/RenderComponent.svelte +0 -72
  104. package/dist/src/RenderComponent.svelte.d.ts +0 -33
  105. package/src/Render.svelte +0 -126
  106. package/src/RenderComponent.svelte +0 -91
package/src/Render.svelte DELETED
@@ -1,126 +0,0 @@
1
- <script lang="ts">
2
- import { Gradio, reactive_formatter } from "./gradio_helper";
3
- import { onMount, createEventDispatcher, setContext } from "svelte";
4
- import type { ComponentMeta, ThemeMode } from "./types";
5
- import type { Client } from "@gradio/client";
6
- import RenderComponent from "./RenderComponent.svelte";
7
- import { load_component } from "virtual:component-loader";
8
-
9
- export let root: string;
10
-
11
- export let node: ComponentMeta;
12
- export let parent: string | null = null;
13
- export let target: HTMLElement;
14
- export let theme_mode: ThemeMode;
15
- export let version: string;
16
- export let autoscroll: boolean;
17
- export let max_file_size: number | null;
18
- export let client: Client;
19
-
20
- const dispatch = createEventDispatcher<{ mount: number; destroy: number }>();
21
- let filtered_children: ComponentMeta[] = [];
22
-
23
- onMount(() => {
24
- dispatch("mount", node.id);
25
-
26
- for (const child of filtered_children) {
27
- dispatch("mount", child.id);
28
- }
29
-
30
- return () => {
31
- dispatch("destroy", node.id);
32
-
33
- for (const child of filtered_children) {
34
- dispatch("mount", child.id);
35
- }
36
- };
37
- });
38
-
39
- $: {
40
- if (node) {
41
- node.children =
42
- node.children &&
43
- node.children.filter((v) => {
44
- const valid_node = node.type !== "statustracker";
45
- if (!valid_node) {
46
- filtered_children.push(v);
47
- }
48
- return valid_node;
49
- });
50
- }
51
- }
52
-
53
- setContext("BLOCK_KEY", parent);
54
-
55
- $: {
56
- if (node && node.type === "form") {
57
- // Check if all children are invisible (false or "hidden")
58
- const allChildrenInvisible = node.children?.every(
59
- (c) => c.props.visible === false || c.props.visible === "hidden"
60
- );
61
-
62
- if (allChildrenInvisible) {
63
- // Check if any child is "hidden" vs false
64
- const hasHiddenChild = node.children?.some(
65
- (c) => c.props.visible === "hidden"
66
- );
67
- // If any child is "hidden", form should be "hidden", otherwise false
68
- node.props.visible = hasHiddenChild ? "hidden" : false;
69
- } else {
70
- // If any child is visible, form should be visible
71
- node.props.visible = true;
72
- }
73
- }
74
- }
75
-
76
- $: node.props.gradio = new Gradio<Record<string, any>>(
77
- node.id,
78
- target,
79
- theme_mode,
80
- version,
81
- root,
82
- autoscroll,
83
- max_file_size,
84
- $reactive_formatter,
85
- client,
86
- load_component
87
- );
88
- </script>
89
-
90
- {#if node.component}
91
- <RenderComponent
92
- _id={node?.id}
93
- component={node.component}
94
- bind:instance={node.instance}
95
- bind:value={node.props.value}
96
- elem_id={("elem_id" in node.props && node.props.elem_id) ||
97
- `component-${node.id}`}
98
- elem_classes={("elem_classes" in node.props && node.props.elem_classes) ||
99
- []}
100
- {target}
101
- {...node.props}
102
- {theme_mode}
103
- {root}
104
- visible={typeof node.props.visible === "boolean" ||
105
- node.props.visible === "hidden"
106
- ? node.props.visible
107
- : true}
108
- >
109
- {#if node.children && node.children.length}
110
- {#each node.children as _node (_node.id)}
111
- <svelte:self
112
- node={_node}
113
- component={_node.component}
114
- {target}
115
- id={_node.id}
116
- {root}
117
- {theme_mode}
118
- on:destroy
119
- on:mount
120
- {max_file_size}
121
- {client}
122
- />
123
- {/each}
124
- {/if}
125
- </RenderComponent>
126
- {/if}
@@ -1,91 +0,0 @@
1
- <svelte:options immutable={true} />
2
-
3
- <script lang="ts">
4
- import type { ComponentMeta, ThemeMode } from "./types";
5
- import type { SvelteComponent, ComponentType } from "svelte";
6
- import { translate_if_needed } from "./i18n";
7
- // @ts-ignore
8
- import { bind, binding_callbacks } from "svelte/internal";
9
-
10
- export let root: string;
11
- export let component: ComponentMeta["component"];
12
- export let target: HTMLElement;
13
- export let theme_mode: ThemeMode;
14
- export let instance: ComponentMeta["instance"];
15
- export let value: any;
16
- // export let gradio: Gradio;
17
- export let elem_id: string;
18
- export let elem_classes: string[];
19
- export let _id: number;
20
- export let visible: boolean | "hidden";
21
-
22
- const s = (id: number, p: string, v: any): CustomEvent =>
23
- new CustomEvent("prop_change", { detail: { id, prop: p, value: v } });
24
-
25
- function wrap(
26
- component: ComponentType<SvelteComponent>
27
- ): ComponentType<SvelteComponent> {
28
- const ProxiedMyClass = new Proxy(component, {
29
- construct(_target, args: Record<string, any>[]) {
30
- //@ts-ignore
31
- const instance = new _target(...args);
32
- const props = Object.keys(instance.$$.props);
33
-
34
- function report(props: string) {
35
- return function (propargs: any) {
36
- if (!target) return;
37
- const ev = s(_id, props, propargs);
38
- target.dispatchEvent(ev);
39
- };
40
- }
41
- props.forEach((v) => {
42
- binding_callbacks.push(() => bind(instance, v, report(v)));
43
- });
44
-
45
- return instance;
46
- }
47
- });
48
-
49
- return ProxiedMyClass;
50
- }
51
-
52
- let _component = wrap(component);
53
-
54
- const supported_props = [
55
- "description",
56
- "info",
57
- "title",
58
- "placeholder",
59
- "value",
60
- "label"
61
- ];
62
-
63
- function translate_prop(obj: SvelteRestProps): void {
64
- for (const key in obj) {
65
- if (supported_props.includes(key as string)) {
66
- obj[key] = translate_if_needed(obj[key]);
67
- }
68
- }
69
- }
70
-
71
- $: translate_prop($$restProps);
72
- $: value = translate_if_needed(value);
73
- </script>
74
-
75
- {#if visible}
76
- <svelte:component
77
- this={_component}
78
- bind:this={instance}
79
- bind:value
80
- on:prop_change
81
- {elem_id}
82
- {elem_classes}
83
- {target}
84
- {visible}
85
- {...$$restProps}
86
- {theme_mode}
87
- {root}
88
- >
89
- <slot />
90
- </svelte:component>
91
- {/if}