@gradio/tabitem 0.6.0 → 0.6.2-dev.0
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/CHANGELOG.md +26 -0
- package/Index.svelte +15 -26
- package/dist/Index.svelte +20 -23
- package/dist/Index.svelte.d.ts +18 -28
- package/dist/shared/TabItem.svelte +56 -36
- package/dist/shared/TabItem.svelte.d.ts +36 -27
- package/dist/types.d.ts +14 -0
- package/dist/types.js +1 -0
- package/package.json +6 -6
- package/shared/TabItem.svelte +29 -20
- package/types.ts +16 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @gradio/tabitem
|
|
2
2
|
|
|
3
|
+
## 0.6.2-dev.0
|
|
4
|
+
|
|
5
|
+
### Dependency updates
|
|
6
|
+
|
|
7
|
+
- @gradio/tabs@0.5.2-dev.0
|
|
8
|
+
- @gradio/column@0.2.2
|
|
9
|
+
|
|
10
|
+
## 0.6.2-dev.0
|
|
11
|
+
|
|
12
|
+
### Dependency updates
|
|
13
|
+
|
|
14
|
+
- @gradio/utils@0.10.3-dev.0
|
|
15
|
+
- @gradio/column@0.2.2
|
|
16
|
+
- @gradio/tabs@0.5.2-dev.0
|
|
17
|
+
|
|
18
|
+
## 0.6.1
|
|
19
|
+
|
|
20
|
+
### Fixes
|
|
21
|
+
|
|
22
|
+
- [#11784](https://github.com/gradio-app/gradio/pull/11784) [`d9dd3f5`](https://github.com/gradio-app/gradio/commit/d9dd3f54b7fb34cf7118e549d39fc63937ca3489) - Add "hidden" option to component's `visible` kwarg to render but visually hide the component. Thanks @pngwn!
|
|
23
|
+
|
|
24
|
+
### Dependency updates
|
|
25
|
+
|
|
26
|
+
- @gradio/tabs@0.5.1
|
|
27
|
+
- @gradio/column@0.2.2
|
|
28
|
+
|
|
3
29
|
## 0.6.0
|
|
4
30
|
|
|
5
31
|
### Features
|
package/Index.svelte
CHANGED
|
@@ -3,36 +3,25 @@
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script lang="ts">
|
|
6
|
-
import
|
|
6
|
+
import { Gradio } from "@gradio/utils";
|
|
7
7
|
import TabItem from "./shared/TabItem.svelte";
|
|
8
|
+
import type { TabItemProps, TabItemEvents } from "./types";
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export let id: string | number;
|
|
13
|
-
export let gradio:
|
|
14
|
-
| Gradio<{
|
|
15
|
-
select: SelectData;
|
|
16
|
-
}>
|
|
17
|
-
| undefined;
|
|
18
|
-
export let visible = true;
|
|
19
|
-
export let interactive = true;
|
|
20
|
-
export let order: number;
|
|
21
|
-
export let scale: number;
|
|
10
|
+
let props = $props();
|
|
11
|
+
|
|
12
|
+
const gradio = new Gradio<TabItemEvents, TabItemProps>(props);
|
|
22
13
|
</script>
|
|
23
14
|
|
|
24
15
|
<TabItem
|
|
25
|
-
{elem_id}
|
|
26
|
-
{elem_classes}
|
|
27
|
-
{label}
|
|
28
|
-
{visible}
|
|
29
|
-
{interactive}
|
|
30
|
-
{id}
|
|
31
|
-
{order}
|
|
32
|
-
{scale}
|
|
33
|
-
on:select={({ detail }) => gradio
|
|
16
|
+
elem_id={gradio.shared.elem_id}
|
|
17
|
+
elem_classes={gradio.shared.elem_classes}
|
|
18
|
+
label={gradio.shared.label}
|
|
19
|
+
visible={gradio.shared.visible}
|
|
20
|
+
interactive={gradio.shared.interactive}
|
|
21
|
+
id={gradio.props.id}
|
|
22
|
+
order={gradio.props.order}
|
|
23
|
+
scale={gradio.props.scale}
|
|
24
|
+
on:select={({ detail }) => gradio.dispatch("select", detail)}
|
|
34
25
|
>
|
|
35
|
-
|
|
36
|
-
<slot />
|
|
37
|
-
{/if}
|
|
26
|
+
<slot />
|
|
38
27
|
</TabItem>
|
package/dist/Index.svelte
CHANGED
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
<script context="module"
|
|
1
|
+
<script context="module" lang="ts">
|
|
2
|
+
export { default as BaseTabItem } from "./shared/TabItem.svelte";
|
|
2
3
|
</script>
|
|
3
4
|
|
|
4
|
-
<script
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export let order;
|
|
13
|
-
export let scale;
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Gradio } from "@gradio/utils";
|
|
7
|
+
import TabItem from "./shared/TabItem.svelte";
|
|
8
|
+
import type { TabItemProps, TabItemEvents } from "./types";
|
|
9
|
+
|
|
10
|
+
let props = $props();
|
|
11
|
+
|
|
12
|
+
const gradio = new Gradio<TabItemEvents, TabItemProps>(props);
|
|
14
13
|
</script>
|
|
15
14
|
|
|
16
15
|
<TabItem
|
|
17
|
-
{elem_id}
|
|
18
|
-
{elem_classes}
|
|
19
|
-
{label}
|
|
20
|
-
{visible}
|
|
21
|
-
{interactive}
|
|
22
|
-
{id}
|
|
23
|
-
{order}
|
|
24
|
-
{scale}
|
|
25
|
-
on:select={({ detail }) => gradio
|
|
16
|
+
elem_id={gradio.shared.elem_id}
|
|
17
|
+
elem_classes={gradio.shared.elem_classes}
|
|
18
|
+
label={gradio.shared.label}
|
|
19
|
+
visible={gradio.shared.visible}
|
|
20
|
+
interactive={gradio.shared.interactive}
|
|
21
|
+
id={gradio.props.id}
|
|
22
|
+
order={gradio.props.order}
|
|
23
|
+
scale={gradio.props.scale}
|
|
24
|
+
on:select={({ detail }) => gradio.dispatch("select", detail)}
|
|
26
25
|
>
|
|
27
|
-
|
|
28
|
-
<slot />
|
|
29
|
-
{/if}
|
|
26
|
+
<slot />
|
|
30
27
|
</TabItem>
|
package/dist/Index.svelte.d.ts
CHANGED
|
@@ -1,31 +1,21 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
export { default as BaseTabItem } from "./shared/TabItem.svelte";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
visible?: boolean;
|
|
14
|
-
interactive?: boolean;
|
|
15
|
-
order: number;
|
|
16
|
-
scale: number;
|
|
2
|
+
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> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
17
12
|
};
|
|
18
|
-
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {
|
|
22
|
-
default: {};
|
|
23
|
-
};
|
|
24
|
-
exports?: {} | undefined;
|
|
25
|
-
bindings?: string | undefined;
|
|
26
|
-
};
|
|
27
|
-
export type IndexProps = typeof __propDef.props;
|
|
28
|
-
export type IndexEvents = typeof __propDef.events;
|
|
29
|
-
export type IndexSlots = typeof __propDef.slots;
|
|
30
|
-
export default class Index extends SvelteComponent<IndexProps, IndexEvents, IndexSlots> {
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
31
14
|
}
|
|
15
|
+
declare const Index: $$__sveltets_2_IsomorphicComponent<any, {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
}, {
|
|
18
|
+
default: {};
|
|
19
|
+
}, {}, "">;
|
|
20
|
+
type Index = InstanceType<typeof Index>;
|
|
21
|
+
export default Index;
|
|
@@ -1,41 +1,61 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export let
|
|
8
|
-
export let
|
|
9
|
-
export let
|
|
10
|
-
export let
|
|
11
|
-
export let
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { getContext, onMount, createEventDispatcher, tick } from "svelte";
|
|
3
|
+
import { TABS } from "@gradio/tabs";
|
|
4
|
+
import { BaseColumn } from "@gradio/column";
|
|
5
|
+
import type { SelectData } from "@gradio/utils";
|
|
6
|
+
|
|
7
|
+
export let elem_id = "";
|
|
8
|
+
export let elem_classes: string[] = [];
|
|
9
|
+
export let label: string;
|
|
10
|
+
export let id: string | number | object = {};
|
|
11
|
+
export let visible: boolean | "hidden";
|
|
12
|
+
export let interactive: boolean;
|
|
13
|
+
export let order: number;
|
|
14
|
+
export let scale: number;
|
|
15
|
+
|
|
16
|
+
const dispatch = createEventDispatcher<{ select: SelectData }>();
|
|
17
|
+
|
|
18
|
+
const { register_tab, unregister_tab, selected_tab, selected_tab_index } =
|
|
19
|
+
getContext(TABS) as any;
|
|
20
|
+
|
|
21
|
+
let tab_index: number;
|
|
22
|
+
|
|
23
|
+
function _register_tab(obj: string, order: number): number {
|
|
24
|
+
obj = JSON.parse(obj);
|
|
25
|
+
return register_tab(obj, order);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
$: props_json = JSON.stringify({
|
|
29
|
+
label,
|
|
30
|
+
id,
|
|
31
|
+
elem_id,
|
|
32
|
+
visible,
|
|
33
|
+
interactive,
|
|
34
|
+
scale
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
$: tab_index = _register_tab(props_json, order);
|
|
38
|
+
|
|
39
|
+
onMount(() => {
|
|
40
|
+
return (): void => unregister_tab({ label, id, elem_id }, order);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
$: $selected_tab_index === tab_index &&
|
|
44
|
+
tick().then(() => dispatch("select", { value: label, index: tab_index }));
|
|
23
45
|
</script>
|
|
24
46
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
>
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
</div>
|
|
38
|
-
{/if}
|
|
47
|
+
<div
|
|
48
|
+
id={elem_id}
|
|
49
|
+
class="tabitem {elem_classes.join(' ')}"
|
|
50
|
+
class:grow-children={scale >= 1}
|
|
51
|
+
style:display={$selected_tab === id && visible !== false ? "flex" : "none"}
|
|
52
|
+
style:flex-grow={scale}
|
|
53
|
+
role="tabpanel"
|
|
54
|
+
>
|
|
55
|
+
<BaseColumn scale={scale >= 1 ? scale : null}>
|
|
56
|
+
<slot />
|
|
57
|
+
</BaseColumn>
|
|
58
|
+
</div>
|
|
39
59
|
|
|
40
60
|
<style>
|
|
41
61
|
div {
|
|
@@ -1,30 +1,39 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { SelectData } from "@gradio/utils";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
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> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
13
12
|
};
|
|
14
|
-
|
|
15
|
-
select: CustomEvent<SelectData>;
|
|
16
|
-
} & {
|
|
17
|
-
[evt: string]: CustomEvent<any>;
|
|
18
|
-
};
|
|
19
|
-
slots: {
|
|
20
|
-
default: {};
|
|
21
|
-
};
|
|
22
|
-
exports?: {} | undefined;
|
|
23
|
-
bindings?: string | undefined;
|
|
24
|
-
};
|
|
25
|
-
export type TabItemProps = typeof __propDef.props;
|
|
26
|
-
export type TabItemEvents = typeof __propDef.events;
|
|
27
|
-
export type TabItemSlots = typeof __propDef.slots;
|
|
28
|
-
export default class TabItem extends SvelteComponent<TabItemProps, TabItemEvents, TabItemSlots> {
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
29
14
|
}
|
|
30
|
-
|
|
15
|
+
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
16
|
+
default: any;
|
|
17
|
+
} ? Props extends Record<string, never> ? any : {
|
|
18
|
+
children?: any;
|
|
19
|
+
} : {});
|
|
20
|
+
declare const TabItem: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
21
|
+
elem_id?: string;
|
|
22
|
+
elem_classes?: string[];
|
|
23
|
+
label: string;
|
|
24
|
+
id?: string | number | object;
|
|
25
|
+
visible: boolean | "hidden";
|
|
26
|
+
interactive: boolean;
|
|
27
|
+
order: number;
|
|
28
|
+
scale: number;
|
|
29
|
+
}, {
|
|
30
|
+
default: {};
|
|
31
|
+
}>, {
|
|
32
|
+
select: CustomEvent<SelectData>;
|
|
33
|
+
} & {
|
|
34
|
+
[evt: string]: CustomEvent<any>;
|
|
35
|
+
}, {
|
|
36
|
+
default: {};
|
|
37
|
+
}, {}, string>;
|
|
38
|
+
type TabItem = InstanceType<typeof TabItem>;
|
|
39
|
+
export default TabItem;
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SelectData } from "@gradio/utils";
|
|
2
|
+
export interface TabItemProps {
|
|
3
|
+
elem_id: string;
|
|
4
|
+
elem_classes: string[];
|
|
5
|
+
label: string;
|
|
6
|
+
id: string | number;
|
|
7
|
+
visible: boolean | "hidden";
|
|
8
|
+
interactive: boolean;
|
|
9
|
+
order: number;
|
|
10
|
+
scale: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TabItemEvents {
|
|
13
|
+
select: SelectData;
|
|
14
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gradio/tabitem",
|
|
3
|
-
"version": "0.6.0",
|
|
3
|
+
"version": "0.6.2-dev.0",
|
|
4
4
|
"description": "Gradio UI packages",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "",
|
|
@@ -16,15 +16,15 @@
|
|
|
16
16
|
"./package.json": "./package.json"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@gradio/column": "^0.2.
|
|
20
|
-
"@gradio/
|
|
21
|
-
"@gradio/
|
|
19
|
+
"@gradio/column": "^0.2.2",
|
|
20
|
+
"@gradio/utils": "^0.10.3-dev.0",
|
|
21
|
+
"@gradio/tabs": "^0.5.2-dev.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@gradio/preview": "^0.
|
|
24
|
+
"@gradio/preview": "^0.15.0-dev.0"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"svelte": "^
|
|
27
|
+
"svelte": "^5.43.4"
|
|
28
28
|
},
|
|
29
29
|
"repository": {
|
|
30
30
|
"type": "git",
|
package/shared/TabItem.svelte
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { getContext, onMount, createEventDispatcher, tick } from "svelte";
|
|
3
3
|
import { TABS } from "@gradio/tabs";
|
|
4
|
-
import
|
|
4
|
+
import { BaseColumn } from "@gradio/column";
|
|
5
5
|
import type { SelectData } from "@gradio/utils";
|
|
6
6
|
|
|
7
7
|
export let elem_id = "";
|
|
8
8
|
export let elem_classes: string[] = [];
|
|
9
9
|
export let label: string;
|
|
10
10
|
export let id: string | number | object = {};
|
|
11
|
-
export let visible: boolean;
|
|
11
|
+
export let visible: boolean | "hidden";
|
|
12
12
|
export let interactive: boolean;
|
|
13
13
|
export let order: number;
|
|
14
14
|
export let scale: number;
|
|
@@ -20,10 +20,21 @@
|
|
|
20
20
|
|
|
21
21
|
let tab_index: number;
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
order
|
|
26
|
-
|
|
23
|
+
function _register_tab(obj: string, order: number): number {
|
|
24
|
+
obj = JSON.parse(obj);
|
|
25
|
+
return register_tab(obj, order);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
$: props_json = JSON.stringify({
|
|
29
|
+
label,
|
|
30
|
+
id,
|
|
31
|
+
elem_id,
|
|
32
|
+
visible,
|
|
33
|
+
interactive,
|
|
34
|
+
scale
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
$: tab_index = _register_tab(props_json, order);
|
|
27
38
|
|
|
28
39
|
onMount(() => {
|
|
29
40
|
return (): void => unregister_tab({ label, id, elem_id }, order);
|
|
@@ -33,20 +44,18 @@
|
|
|
33
44
|
tick().then(() => dispatch("select", { value: label, index: tab_index }));
|
|
34
45
|
</script>
|
|
35
46
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
>
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
</div>
|
|
49
|
-
{/if}
|
|
47
|
+
<div
|
|
48
|
+
id={elem_id}
|
|
49
|
+
class="tabitem {elem_classes.join(' ')}"
|
|
50
|
+
class:grow-children={scale >= 1}
|
|
51
|
+
style:display={$selected_tab === id && visible !== false ? "flex" : "none"}
|
|
52
|
+
style:flex-grow={scale}
|
|
53
|
+
role="tabpanel"
|
|
54
|
+
>
|
|
55
|
+
<BaseColumn scale={scale >= 1 ? scale : null}>
|
|
56
|
+
<slot />
|
|
57
|
+
</BaseColumn>
|
|
58
|
+
</div>
|
|
50
59
|
|
|
51
60
|
<style>
|
|
52
61
|
div {
|
package/types.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SelectData } from "@gradio/utils";
|
|
2
|
+
|
|
3
|
+
export interface TabItemProps {
|
|
4
|
+
elem_id: string;
|
|
5
|
+
elem_classes: string[];
|
|
6
|
+
label: string;
|
|
7
|
+
id: string | number;
|
|
8
|
+
visible: boolean | "hidden";
|
|
9
|
+
interactive: boolean;
|
|
10
|
+
order: number;
|
|
11
|
+
scale: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface TabItemEvents {
|
|
15
|
+
select: SelectData;
|
|
16
|
+
}
|