Skip to content

Commit dfc0e03

Browse files
pngwnhannahblairgradio-pr-botaliabd
authored
Add JS Dataframe documentation to docs (#11766)
* implement standalone dataframe * tweak * clean up * fix npm previews * refactor * tweak * refactor * tweak deps * tweaks * format * lint * tweak * fix build errors * export fix * fix styling api * fix deps * tweak * optional props * test exports * fix previews * fix test * Revert "test exports" This reverts commit ff17b94. * temp utils types * rm i18n from utils * fix * bottom border fix * fonts * Revert "temp utils types" This reverts commit 43b8641. * height tweak * font fix * readme * font tweak * mirror full screen behaviour * filter tweak * sr-only * add mono/sans font vars * css tweaks * css fixes * pin wikidata-lang dep * readme fix * readme tweak * amend readme example * improve types * remove auto * fix i18n race condition * docs * add changeset * tweak * add changeset * update root website script * format * script tweak * fix script * tweak highlighting * fix * fix * add changeset * remove prev and next obj * formatting * remove logs and improve readme * format --------- Co-authored-by: Hannah <[email protected]> Co-authored-by: hannahblair <[email protected]> Co-authored-by: gradio-pr-bot <[email protected]> Co-authored-by: aliabd <[email protected]>
1 parent 5a4ae49 commit dfc0e03

File tree

15 files changed

+370
-289
lines changed

15 files changed

+370
-289
lines changed

.changeset/brown-beds-fail.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
"@gradio/code": minor
3+
"@gradio/dataframe": minor
4+
"gradio": minor
5+
"website": minor
6+
---
7+
8+
feat:Add JS Dataframe documentation to docs
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export { Gradio } from "@gradio/utils";
2+
export type I18nFormatter = typeof formatter;
3+
export declare function formatter(value: string | null | undefined): string;
4+
export declare const reactive_formatter: import("svelte/store").Readable<typeof formatter>;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
export interface I18nData {
2+
__type__: "translation_metadata";
3+
key: string;
4+
}
5+
export type Lang = {
6+
[key: string]: Record<string, string> | string;
7+
};
8+
export interface LangsRecord {
9+
[lang: string]: {
10+
type: "lazy";
11+
data: () => Promise<Lang>;
12+
} | {
13+
type: "static";
14+
data: Lang;
15+
};
16+
}
17+
export declare function is_translation_metadata(obj: any): obj is I18nData;
18+
export declare function translate_if_needed(value: any): string;
19+
export declare function process_langs(): LangsRecord;
20+
export declare const language_choices: [string, string][];
21+
export declare let all_common_keys: Set<string>;
22+
export declare function setupi18n(custom_translations?: Record<string, Record<string, string>>): Promise<void>;
23+
export declare function changeLocale(new_locale: string): void;
24+
export declare function get_initial_locale(browser_locale: string | null, available_locales: string[], fallback_locale?: string): string;
25+
export declare function load_translations(translations: {
26+
processed_langs: LangsRecord;
27+
custom_translations: Record<string, Record<string, string>>;
28+
}): void;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
export declare const loading: {
2+
ar: string;
3+
ca: string;
4+
ckb: string;
5+
de: string;
6+
en: string;
7+
es: string;
8+
eu: string;
9+
fa: string;
10+
fi: string;
11+
fr: string;
12+
he: string;
13+
hi: string;
14+
ja: string;
15+
ko: string;
16+
lt: string;
17+
nb: string;
18+
nl: string;
19+
pl: string;
20+
"pt-BR": string;
21+
pt: string;
22+
ro: string;
23+
ru: string;
24+
sv: string;
25+
ta: string;
26+
th: string;
27+
tr: string;
28+
uk: string;
29+
ur: string;
30+
uz: string;
31+
"zh-CN": string;
32+
"zh-TW": string;
33+
};

js/_website/src/routes/[[version]]/docs/+layout.server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ const VERSION = version.version;
99

1010
let cache = new Map();
1111

12+
const components_to_document = ["dataframe", "js-client"];
13+
1214
async function load_release_docs(
1315
version: string
1416
): Promise<typeof import("$lib/json/docs.json")> {
@@ -39,7 +41,10 @@ export async function load({ params, url }) {
3941

4042
let docs: { [key: string]: any } = docs_json.docs;
4143
let js = docs_json.js || {};
42-
let js_pages = docs_json.js_pages || [];
44+
let js_pages =
45+
docs_json.js_pages.filter((p: string) =>
46+
components_to_document.includes(p)
47+
) || [];
4348
let js_client = docs_json.js_client;
4449
let on_main = params.version === "main";
4550
let pages: any = docs_json.pages;

js/_website/src/routes/[[version]]/docs/js-client/+page.server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import "prismjs/components/prism-typescript";
1010
import "prismjs/components/prism-javascript";
1111
import "prismjs/components/prism-csv";
1212
import "prismjs/components/prism-markup";
13+
import "prism-svelte";
1314

1415
function plugin() {
1516
return function transform(tree: any) {
@@ -32,7 +33,11 @@ const langs = {
3233
ts: "typescript",
3334
javascript: "javascript",
3435
js: "javascript",
35-
directory: "json"
36+
directory: "json",
37+
svelte: "svelte",
38+
sv: "svelte",
39+
md: "markdown",
40+
css: "css"
3641
};
3742

3843
function highlight(code: string, lang: string | undefined) {

js/_website/src/routes/[[version]]/docs/js/+page.server.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,27 @@ import { redirect } from "@sveltejs/kit";
22

33
export const prerender = true;
44

5-
export function load({ params }) {
6-
if (params?.version) throw redirect(302, `/${params?.version}/docs/js/atoms`);
5+
async function urlExists(fetch: any, url: string): Promise<boolean> {
6+
try {
7+
const res = await fetch(url, { method: "HEAD" });
8+
return res.ok;
9+
} catch (e) {
10+
return false;
11+
}
12+
}
13+
14+
export async function load({ params, fetch }) {
15+
const url = params.version
16+
? `/${params.version}/docs/js/dataframe`
17+
: `/docs/js/dataframe`;
18+
const fallback_url = params.version
19+
? `/${params.version}/docs/js/js-client`
20+
: `/docs/js/js-client`;
21+
const exists = await urlExists(fetch, url);
22+
23+
if (exists) {
24+
throw redirect(302, url);
25+
}
726

8-
throw redirect(302, `/docs/js/atoms`);
27+
throw redirect(302, fallback_url);
928
}

js/_website/src/routes/[[version]]/docs/js/[jsdoc]/+page.server.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import "prismjs/components/prism-typescript";
1010
import "prismjs/components/prism-javascript";
1111
import "prismjs/components/prism-csv";
1212
import "prismjs/components/prism-markup";
13+
import "prism-svelte";
1314
import { error } from "@sveltejs/kit";
1415

1516
export const prerender = true;
@@ -32,8 +33,14 @@ const langs = {
3233
shell: "bash",
3334
json: "json",
3435
typescript: "typescript",
36+
ts: "typescript",
3537
javascript: "javascript",
36-
directory: "json"
38+
js: "javascript",
39+
directory: "json",
40+
svelte: "svelte",
41+
sv: "svelte",
42+
md: "markdown",
43+
css: "css"
3744
};
3845

3946
function highlight(code: string, lang: string | undefined) {
@@ -61,6 +68,7 @@ export async function load({ params, parent }) {
6168
if (!js_pages.some((p: string) => p === params.jsdoc)) {
6269
throw error(404);
6370
}
71+
6472
function plugin() {
6573
return function transform(tree: any) {
6674
tree.children.forEach((n: any) => {

js/_website/src/routes/[[version]]/docs/js/[jsdoc]/+page.svelte

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -53,77 +53,13 @@
5353
See the <a class="link" href="/changelog">Release History</a>
5454
</p>
5555
</div>
56-
<div class="w-full flex flex-wrap justify-between my-4">
57-
{#if prev_obj}
58-
<a
59-
href="./{prev_obj}"
60-
class="lg:ml-10 text-left px-4 py-1 bg-gray-50 rounded-full hover:underline max-w-[48%]"
61-
>
62-
<div class="flex text-lg">
63-
<span class="text-orange-500 mr-1">&#8592;</span>
64-
<p class="whitespace-nowrap overflow-hidden text-ellipsis">
65-
{prev_obj}
66-
</p>
67-
</div>
68-
</a>
69-
{:else}
70-
<div />
71-
{/if}
72-
{#if next_obj}
73-
<a
74-
href="./{next_obj}"
75-
class="text-right px-4 py-1 bg-gray-50 rounded-full hover:underline max-w-[48%]"
76-
>
77-
<div class="flex text-lg">
78-
<p class="whitespace-nowrap overflow-hidden text-ellipsis">
79-
{next_obj}
80-
</p>
81-
<span class="text-orange-500 ml-1">&#8594;</span>
82-
</div>
83-
</a>
84-
{:else}
85-
<div />
86-
{/if}
87-
</div>
8856
<div class="js_readme">
8957
<div class="lg:ml-10 mt-5">
9058
<div class="prose text-lg max-w-full">
9159
{@html readme_html}
9260
</div>
9361
</div>
9462
</div>
95-
<div class="w-full flex flex-wrap justify-between my-4">
96-
{#if prev_obj}
97-
<a
98-
href="./{prev_obj}"
99-
class="lg:ml-10 text-left px-4 py-1 bg-gray-50 rounded-full hover:underline max-w-[48%]"
100-
>
101-
<div class="flex text-lg">
102-
<span class="text-orange-500 mr-1">&#8592;</span>
103-
<p class="whitespace-nowrap overflow-hidden text-ellipsis">
104-
{prev_obj}
105-
</p>
106-
</div>
107-
</a>
108-
{:else}
109-
<div />
110-
{/if}
111-
{#if next_obj}
112-
<a
113-
href="./{next_obj}"
114-
class="text-right px-4 py-1 bg-gray-50 rounded-full hover:underline max-w-[48%]"
115-
>
116-
<div class="flex text-lg">
117-
<p class="whitespace-nowrap overflow-hidden text-ellipsis">
118-
{next_obj}
119-
</p>
120-
<span class="text-orange-500 ml-1">&#8594;</span>
121-
</div>
122-
</a>
123-
{:else}
124-
<div />
125-
{/if}
126-
</div>
12763
</div>
12864
</div>
12965
</main>

js/_website/src/routes/[[version]]/docs/js/storybook/+page.server.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import "prismjs/components/prism-json";
99
import "prismjs/components/prism-typescript";
1010
import "prismjs/components/prism-csv";
1111
import "prismjs/components/prism-markup";
12-
import { error } from "@sveltejs/kit";
12+
import "prism-svelte";
1313

1414
export const prerender = true;
1515

@@ -31,7 +31,14 @@ const langs = {
3131
shell: "bash",
3232
json: "json",
3333
typescript: "typescript",
34-
directory: "json"
34+
ts: "typescript",
35+
js: "javascript",
36+
javascript: "javascript",
37+
directory: "json",
38+
svelte: "svelte",
39+
sv: "svelte",
40+
md: "markdown",
41+
css: "css"
3542
};
3643

3744
function highlight(code: string, lang: string | undefined) {

0 commit comments

Comments
 (0)