@gradio/tabitem 0.6.1 → 0.6.2

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 CHANGED
@@ -1,4 +1,30 @@
1
1
  # @gradio/tabitem
2
+ ## 0.6.2
3
+
4
+ ### Features
5
+
6
+ - [#12438](https://github.com/gradio-app/gradio/pull/12438) [`25ffc03`](https://github.com/gradio-app/gradio/commit/25ffc0398f8feb43d817c02b2ab970c16de6d797) - Svelte5 migration and bugfix
7
+
8
+ ### Dependencies
9
+
10
+ - @gradio/column@0.3.0
11
+ - @gradio/tabs@0.5.2
12
+ - @gradio/utils@0.10.3
13
+
14
+ ## 0.6.2-dev.0
15
+
16
+ ### Dependency updates
17
+
18
+ - @gradio/tabs@0.5.2-dev.0
19
+ - @gradio/column@0.2.2
20
+
21
+ ## 0.6.2-dev.0
22
+
23
+ ### Dependency updates
24
+
25
+ - @gradio/utils@0.10.3-dev.0
26
+ - @gradio/column@0.2.2
27
+ - @gradio/tabs@0.5.2-dev.0
2
28
 
3
29
  ## 0.6.1
4
30
 
package/Index.svelte CHANGED
@@ -3,34 +3,25 @@
3
3
  </script>
4
4
 
5
5
  <script lang="ts">
6
- import type { Gradio, SelectData } from "@gradio/utils";
6
+ import { Gradio } from "@gradio/utils";
7
7
  import TabItem from "./shared/TabItem.svelte";
8
+ import type { TabItemProps, TabItemEvents } from "./types";
8
9
 
9
- export let elem_id = "";
10
- export let elem_classes: string[] = [];
11
- export let label: string;
12
- export let id: string | number;
13
- export let gradio:
14
- | Gradio<{
15
- select: SelectData;
16
- }>
17
- | undefined;
18
- export let visible: boolean | "hidden" = 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?.dispatch("select", detail)}
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
26
  <slot />
36
27
  </TabItem>
package/dist/Index.svelte CHANGED
@@ -1,28 +1,27 @@
1
- <script context="module">export { default as BaseTabItem } from "./shared/TabItem.svelte";
1
+ <script context="module" lang="ts">
2
+ export { default as BaseTabItem } from "./shared/TabItem.svelte";
2
3
  </script>
3
4
 
4
- <script>import TabItem from "./shared/TabItem.svelte";
5
- export let elem_id = "";
6
- export let elem_classes = [];
7
- export let label;
8
- export let id;
9
- export let gradio;
10
- export let visible = true;
11
- export let interactive = true;
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?.dispatch("select", detail)}
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
26
  <slot />
28
27
  </TabItem>
@@ -1,31 +1,21 @@
1
- import { SvelteComponent } from "svelte";
2
1
  export { default as BaseTabItem } from "./shared/TabItem.svelte";
3
- import type { Gradio, SelectData } from "@gradio/utils";
4
- declare const __propDef: {
5
- props: {
6
- elem_id?: string;
7
- elem_classes?: string[];
8
- label: string;
9
- id: string | number;
10
- gradio: Gradio<{
11
- select: SelectData;
12
- }> | undefined;
13
- visible?: boolean | "hidden";
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
- events: {
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,25 +1,47 @@
1
- <script>import { getContext, onMount, createEventDispatcher, tick } from "svelte";
2
- import { TABS } from "@gradio/tabs";
3
- import Column from "@gradio/column";
4
- export let elem_id = "";
5
- export let elem_classes = [];
6
- export let label;
7
- export let id = {};
8
- export let visible;
9
- export let interactive;
10
- export let order;
11
- export let scale;
12
- const dispatch = createEventDispatcher();
13
- const { register_tab, unregister_tab, selected_tab, selected_tab_index } = getContext(TABS);
14
- let tab_index;
15
- $: tab_index = register_tab(
16
- { label, id, elem_id, visible, interactive, scale },
17
- order
18
- );
19
- onMount(() => {
20
- return () => unregister_tab({ label, id, elem_id }, order);
21
- });
22
- $: $selected_tab_index === tab_index && tick().then(() => dispatch("select", { value: label, index: tab_index }));
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
47
  <div
@@ -30,9 +52,9 @@ $: $selected_tab_index === tab_index && tick().then(() => dispatch("select", { v
30
52
  style:flex-grow={scale}
31
53
  role="tabpanel"
32
54
  >
33
- <Column scale={scale >= 1 ? scale : null}>
55
+ <BaseColumn scale={scale >= 1 ? scale : null}>
34
56
  <slot />
35
- </Column>
57
+ </BaseColumn>
36
58
  </div>
37
59
 
38
60
  <style>
@@ -1,30 +1,39 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { SelectData } from "@gradio/utils";
3
- declare const __propDef: {
4
- props: {
5
- elem_id?: string;
6
- elem_classes?: string[];
7
- label: string;
8
- id?: string | number | object;
9
- visible: boolean | "hidden";
10
- interactive: boolean;
11
- order: number;
12
- 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;
13
12
  };
14
- events: {
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
- export {};
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;
@@ -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.1",
3
+ "version": "0.6.2",
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.2",
20
- "@gradio/utils": "^0.10.2",
21
- "@gradio/tabs": "^0.5.1"
19
+ "@gradio/column": "^0.3.0",
20
+ "@gradio/utils": "^0.10.3",
21
+ "@gradio/tabs": "^0.5.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@gradio/preview": "^0.14.0"
24
+ "@gradio/preview": "^0.15.0"
25
25
  },
26
26
  "peerDependencies": {
27
- "svelte": "^4.0.0"
27
+ "svelte": "^5.43.4"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { getContext, onMount, createEventDispatcher, tick } from "svelte";
3
3
  import { TABS } from "@gradio/tabs";
4
- import Column from "@gradio/column";
4
+ import { BaseColumn } from "@gradio/column";
5
5
  import type { SelectData } from "@gradio/utils";
6
6
 
7
7
  export let elem_id = "";
@@ -20,10 +20,21 @@
20
20
 
21
21
  let tab_index: number;
22
22
 
23
- $: tab_index = register_tab(
24
- { label, id, elem_id, visible, interactive, scale },
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);
@@ -41,9 +52,9 @@
41
52
  style:flex-grow={scale}
42
53
  role="tabpanel"
43
54
  >
44
- <Column scale={scale >= 1 ? scale : null}>
55
+ <BaseColumn scale={scale >= 1 ? scale : null}>
45
56
  <slot />
46
- </Column>
57
+ </BaseColumn>
47
58
  </div>
48
59
 
49
60
  <style>
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
+ }