@gradio/tabitem 0.3.5 → 0.4.1

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,5 +1,40 @@
1
1
  # @gradio/tabitem
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Fixes
6
+
7
+ - [#10372](https://github.com/gradio-app/gradio/pull/10372) [`96bbde2`](https://github.com/gradio-app/gradio/commit/96bbde277e059f79bb2c9898576050e84dab147a) - Allow propogation of fill_height through Rows and Tabs, via scale. Thanks @aliabid94!
8
+
9
+ ### Dependency updates
10
+
11
+ - @gradio/tabs@0.4.1
12
+ - @gradio/column@0.2.0
13
+
14
+ ## 0.4.0
15
+
16
+ ### Dependency updates
17
+
18
+ - @gradio/column@0.2.0
19
+
20
+ ## 0.4.0
21
+
22
+ ### Features
23
+
24
+ - [#10192](https://github.com/gradio-app/gradio/pull/10192) [`4fc7fb7`](https://github.com/gradio-app/gradio/commit/4fc7fb777c42af537e4af612423fa44029657d41) - Ensure components can be remounted with their previous data. Thanks @pngwn!
25
+
26
+ ### Dependency updates
27
+
28
+ - @gradio/utils@0.10.0
29
+ - @gradio/tabs@0.4.0
30
+ - @gradio/column@0.2.0
31
+
32
+ ## 0.3.5
33
+
34
+ ### Dependency updates
35
+
36
+ - @gradio/column@0.2.0
37
+
3
38
  ## 0.3.5
4
39
 
5
40
  ### Dependency updates
package/Index.svelte CHANGED
@@ -17,6 +17,8 @@
17
17
  | undefined;
18
18
  export let visible = true;
19
19
  export let interactive = true;
20
+ export let order: number;
21
+ export let scale: number;
20
22
  </script>
21
23
 
22
24
  <TabItem
@@ -26,6 +28,8 @@
26
28
  {visible}
27
29
  {interactive}
28
30
  {id}
31
+ {order}
32
+ {scale}
29
33
  on:select={({ detail }) => gradio?.dispatch("select", detail)}
30
34
  >
31
35
  <slot />
package/dist/Index.svelte CHANGED
@@ -9,6 +9,8 @@ export let id;
9
9
  export let gradio;
10
10
  export let visible = true;
11
11
  export let interactive = true;
12
+ export let order;
13
+ export let scale;
12
14
  </script>
13
15
 
14
16
  <TabItem
@@ -18,6 +20,8 @@ export let interactive = true;
18
20
  {visible}
19
21
  {interactive}
20
22
  {id}
23
+ {order}
24
+ {scale}
21
25
  on:select={({ detail }) => gradio?.dispatch("select", detail)}
22
26
  >
23
27
  <slot />
@@ -12,6 +12,8 @@ declare const __propDef: {
12
12
  }> | undefined;
13
13
  visible?: boolean | undefined;
14
14
  interactive?: boolean | undefined;
15
+ order: number;
16
+ scale: number;
15
17
  };
16
18
  events: {
17
19
  [evt: string]: CustomEvent<any>;
@@ -7,32 +7,43 @@ export let label;
7
7
  export let id = {};
8
8
  export let visible;
9
9
  export let interactive;
10
+ export let order;
11
+ export let scale;
10
12
  const dispatch = createEventDispatcher();
11
13
  const { register_tab, unregister_tab, selected_tab, selected_tab_index } = getContext(TABS);
12
14
  let tab_index;
13
15
  $:
14
- tab_index = register_tab({ label, id, elem_id, visible, interactive });
16
+ tab_index = register_tab(
17
+ { label, id, elem_id, visible, interactive, scale },
18
+ order
19
+ );
15
20
  onMount(() => {
16
- return () => unregister_tab({ label, id, elem_id });
21
+ return () => unregister_tab({ label, id, elem_id }, order);
17
22
  });
18
23
  $:
19
24
  $selected_tab_index === tab_index && tick().then(() => dispatch("select", { value: label, index: tab_index }));
20
25
  </script>
21
26
 
27
+ <!-- {#if $selected_tab === id && visible} -->
22
28
  <div
23
29
  id={elem_id}
24
30
  class="tabitem {elem_classes.join(' ')}"
25
- style:display={$selected_tab === id && visible ? "block" : "none"}
31
+ class:grow-children={scale >= 1}
32
+ style:display={$selected_tab === id && visible ? "flex" : "none"}
33
+ style:flex-grow={scale}
26
34
  role="tabpanel"
27
35
  >
28
- <Column>
36
+ <Column scale={scale >= 1 ? scale : null}>
29
37
  <slot />
30
38
  </Column>
31
39
  </div>
32
40
 
41
+ <!-- {/if} -->
42
+
33
43
  <style>
34
44
  div {
35
45
  display: flex;
46
+ flex-direction: column;
36
47
  position: relative;
37
48
  border: none;
38
49
  border-radius: var(--radius-sm);
@@ -40,4 +51,7 @@ $:
40
51
  width: 100%;
41
52
  box-sizing: border-box;
42
53
  }
54
+ .grow-children > :global(.column > .column) {
55
+ flex-grow: 1;
56
+ }
43
57
  </style>
@@ -8,6 +8,8 @@ declare const __propDef: {
8
8
  id?: (string | number | object) | undefined;
9
9
  visible: boolean;
10
10
  interactive: boolean;
11
+ order: number;
12
+ scale: number;
11
13
  };
12
14
  events: {
13
15
  select: CustomEvent<SelectData>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/tabitem",
3
- "version": "0.3.5",
3
+ "version": "0.4.1",
4
4
  "description": "Gradio UI packages",
5
5
  "type": "module",
6
6
  "author": "",
@@ -17,8 +17,8 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@gradio/column": "^0.2.0",
20
- "@gradio/tabs": "^0.3.5",
21
- "@gradio/utils": "^0.9.0"
20
+ "@gradio/tabs": "^0.4.1",
21
+ "@gradio/utils": "^0.10.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@gradio/preview": "^0.13.0"
@@ -10,6 +10,8 @@
10
10
  export let id: string | number | object = {};
11
11
  export let visible: boolean;
12
12
  export let interactive: boolean;
13
+ export let order: number;
14
+ export let scale: number;
13
15
 
14
16
  const dispatch = createEventDispatcher<{ select: SelectData }>();
15
17
 
@@ -18,30 +20,39 @@
18
20
 
19
21
  let tab_index: number;
20
22
 
21
- $: tab_index = register_tab({ label, id, elem_id, visible, interactive });
23
+ $: tab_index = register_tab(
24
+ { label, id, elem_id, visible, interactive, scale },
25
+ order
26
+ );
22
27
 
23
28
  onMount(() => {
24
- return (): void => unregister_tab({ label, id, elem_id });
29
+ return (): void => unregister_tab({ label, id, elem_id }, order);
25
30
  });
26
31
 
27
32
  $: $selected_tab_index === tab_index &&
28
33
  tick().then(() => dispatch("select", { value: label, index: tab_index }));
29
34
  </script>
30
35
 
36
+ <!-- {#if $selected_tab === id && visible} -->
31
37
  <div
32
38
  id={elem_id}
33
39
  class="tabitem {elem_classes.join(' ')}"
34
- style:display={$selected_tab === id && visible ? "block" : "none"}
40
+ class:grow-children={scale >= 1}
41
+ style:display={$selected_tab === id && visible ? "flex" : "none"}
42
+ style:flex-grow={scale}
35
43
  role="tabpanel"
36
44
  >
37
- <Column>
45
+ <Column scale={scale >= 1 ? scale : null}>
38
46
  <slot />
39
47
  </Column>
40
48
  </div>
41
49
 
50
+ <!-- {/if} -->
51
+
42
52
  <style>
43
53
  div {
44
54
  display: flex;
55
+ flex-direction: column;
45
56
  position: relative;
46
57
  border: none;
47
58
  border-radius: var(--radius-sm);
@@ -49,4 +60,7 @@
49
60
  width: 100%;
50
61
  box-sizing: border-box;
51
62
  }
63
+ .grow-children > :global(.column > .column) {
64
+ flex-grow: 1;
65
+ }
52
66
  </style>