@gradio/imageslider 0.2.13 → 0.3.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 CHANGED
@@ -1,5 +1,45 @@
1
1
  # @gradio/imageslider
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Features
6
+
7
+ - [#11858](https://github.com/gradio-app/gradio/pull/11858) [`3f8ea13`](https://github.com/gradio-app/gradio/commit/3f8ea13a8ca92abf0ad34392e403a449fda3c6c2) - remove lite. Thanks @pngwn!
8
+
9
+ ### Fixes
10
+
11
+ - [#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!
12
+
13
+ ### Dependency updates
14
+
15
+ - @gradio/statustracker@0.11.1
16
+ - @gradio/atoms@0.18.0
17
+ - @gradio/client@1.19.0
18
+ - @gradio/upload@0.17.0
19
+
20
+ ## 0.2.14
21
+
22
+ ### Dependency updates
23
+
24
+ - @gradio/client@1.18.0
25
+ - @gradio/icons@0.14.0
26
+ - @gradio/atoms@0.17.0
27
+ - @gradio/statustracker@0.11.0
28
+ - @gradio/upload@0.16.17
29
+
30
+ ## 0.2.13
31
+
32
+ ### Dependency updates
33
+
34
+ - @gradio/statustracker@0.10.18
35
+
36
+ ## 0.2.13
37
+
38
+ ### Dependency updates
39
+
40
+ - @gradio/icons@0.13.1
41
+ - @gradio/upload@0.16.16
42
+
3
43
  ## 0.2.13
4
44
 
5
45
  ### Dependency updates
package/Index.svelte CHANGED
@@ -17,7 +17,7 @@
17
17
  export let value_is_output = false;
18
18
  export let elem_id = "";
19
19
  export let elem_classes: string[] = [];
20
- export let visible = true;
20
+ export let visible: boolean | "hidden" = true;
21
21
  export let value: [FileData | null, FileData | null] = [null, null];
22
22
  let old_value: [FileData | null, FileData | null] = [null, null];
23
23
  export let label: string;
@@ -4,12 +4,14 @@ declare const __propDef: {
4
4
  value: [string, string];
5
5
  samples_dir: string;
6
6
  type: "gallery" | "table";
7
- selected?: boolean | undefined;
7
+ selected?: boolean;
8
8
  };
9
9
  events: {
10
10
  [evt: string]: CustomEvent<any>;
11
11
  };
12
12
  slots: {};
13
+ exports?: {} | undefined;
14
+ bindings?: string | undefined;
13
15
  };
14
16
  export type ExampleProps = typeof __propDef.props;
15
17
  export type ExampleEvents = typeof __propDef.events;
package/dist/Index.svelte CHANGED
@@ -33,10 +33,8 @@ export let upload_count = 1;
33
33
  export let slider_color = "var(--border-color-primary)";
34
34
  export let max_height;
35
35
  let uploading = false;
36
- $:
37
- normalised_slider_position = Math.max(0, Math.min(100, slider_position)) / 100;
38
- $:
39
- input_ready = !uploading;
36
+ $: normalised_slider_position = Math.max(0, Math.min(100, slider_position)) / 100;
37
+ $: input_ready = !uploading;
40
38
  export let gradio;
41
39
  $: {
42
40
  if (JSON.stringify(value) !== JSON.stringify(old_value)) {
@@ -4,19 +4,19 @@ import { type FileData } from "@gradio/client";
4
4
  import type { LoadingStatus } from "@gradio/statustracker";
5
5
  declare const __propDef: {
6
6
  props: {
7
- value_is_output?: boolean | undefined;
8
- elem_id?: string | undefined;
9
- elem_classes?: string[] | undefined;
10
- visible?: boolean | undefined;
11
- value?: [FileData | null, FileData | null] | undefined;
7
+ value_is_output?: boolean;
8
+ elem_id?: string;
9
+ elem_classes?: string[];
10
+ visible?: boolean | "hidden";
11
+ value?: [FileData | null, FileData | null];
12
12
  label: string;
13
13
  show_label: boolean;
14
14
  show_download_button: boolean;
15
15
  root: string;
16
16
  height: number | undefined;
17
17
  width: number | undefined;
18
- container?: boolean | undefined;
19
- scale?: (number | null) | undefined;
18
+ container?: boolean;
19
+ scale?: number | null;
20
20
  min_width?: number | undefined;
21
21
  loading_status: LoadingStatus;
22
22
  interactive: boolean;
@@ -24,8 +24,8 @@ declare const __propDef: {
24
24
  show_fullscreen_button: boolean;
25
25
  input_ready: boolean;
26
26
  slider_position: number;
27
- upload_count?: number | undefined;
28
- slider_color?: string | undefined;
27
+ upload_count?: number;
28
+ slider_color?: string;
29
29
  max_height: number;
30
30
  gradio: Gradio<{
31
31
  input: never;
@@ -46,6 +46,8 @@ declare const __propDef: {
46
46
  [evt: string]: CustomEvent<any>;
47
47
  };
48
48
  slots: {};
49
+ exports?: {} | undefined;
50
+ bindings?: string | undefined;
49
51
  };
50
52
  export type IndexProps = typeof __propDef.props;
51
53
  export type IndexEvents = typeof __propDef.events;
@@ -60,12 +62,12 @@ export default class Index extends SvelteComponent<IndexProps, IndexEvents, Inde
60
62
  get elem_classes(): string[] | undefined;
61
63
  /**accessor*/
62
64
  set elem_classes(_: string[] | undefined);
63
- get visible(): boolean | undefined;
65
+ get visible(): boolean | "hidden" | undefined;
64
66
  /**accessor*/
65
- set visible(_: boolean | undefined);
66
- get value(): [FileData | null, FileData | null] | undefined;
67
+ set visible(_: boolean | "hidden" | undefined);
68
+ get value(): [any, any] | undefined;
67
69
  /**accessor*/
68
- set value(_: [FileData | null, FileData | null] | undefined);
70
+ set value(_: [any, any] | undefined);
69
71
  get label(): string;
70
72
  /**accessor*/
71
73
  set label(_: string);
@@ -1,14 +1,14 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
- props: {
4
- [x: string]: never;
5
- };
3
+ props: Record<string, never>;
6
4
  events: {
7
5
  remove_image: CustomEvent<any>;
8
6
  } & {
9
7
  [evt: string]: CustomEvent<any>;
10
8
  };
11
9
  slots: {};
10
+ exports?: {} | undefined;
11
+ bindings?: string | undefined;
12
12
  };
13
13
  export type ClearImageProps = typeof __propDef.props;
14
14
  export type ClearImageEvents = typeof __propDef.events;
@@ -1,13 +1,12 @@
1
1
  <script>import Slider from "./Slider.svelte";
2
2
  import { createEventDispatcher, tick } from "svelte";
3
- import { BlockLabel, Empty, IconButton } from "@gradio/atoms";
3
+ import { BlockLabel, Empty, IconButton, DownloadLink } from "@gradio/atoms";
4
4
  import { Download } from "@gradio/icons";
5
5
  import { Image } from "@gradio/icons";
6
6
  import {} from "@gradio/utils";
7
7
  import ClearImage from "./ClearImage.svelte";
8
8
  import ImageEl from "./ImageEl.svelte";
9
9
  import { Upload } from "@gradio/upload";
10
- import { DownloadLink } from "@gradio/wasm/svelte";
11
10
  import {} from "@gradio/client";
12
11
  export let value;
13
12
  export let label = void 0;
@@ -38,15 +37,13 @@ async function handle_upload({ detail }, n) {
38
37
  dispatch("upload", new_value);
39
38
  }
40
39
  let old_value = "";
41
- $:
42
- if (JSON.stringify(value) !== old_value) {
43
- old_value = JSON.stringify(value);
44
- value_ = value;
45
- }
40
+ $: if (JSON.stringify(value) !== old_value) {
41
+ old_value = JSON.stringify(value);
42
+ value_ = value;
43
+ }
46
44
  const dispatch = createEventDispatcher();
47
45
  export let dragging = false;
48
- $:
49
- dispatch("drag", dragging);
46
+ $: dispatch("drag", dragging);
50
47
  </script>
51
48
 
52
49
  <BlockLabel {show_label} Icon={Image} label={label || i18n("image.image")} />
@@ -8,15 +8,15 @@ declare const __propDef: {
8
8
  show_label: boolean;
9
9
  root: string;
10
10
  position: number;
11
- upload_count?: number | undefined;
12
- show_download_button?: boolean | undefined;
11
+ upload_count?: number;
12
+ show_download_button?: boolean;
13
13
  slider_color: string;
14
14
  upload: Client["upload"];
15
15
  stream_handler: Client["stream"];
16
- max_file_size?: (number | null) | undefined;
16
+ max_file_size?: number | null;
17
17
  i18n: I18nFormatter;
18
18
  max_height: number;
19
- dragging?: boolean | undefined;
19
+ dragging?: boolean;
20
20
  };
21
21
  events: {
22
22
  change: CustomEvent<string | null>;
@@ -24,7 +24,7 @@ declare const __propDef: {
24
24
  edit: CustomEvent<undefined>;
25
25
  clear: CustomEvent<undefined>;
26
26
  drag: CustomEvent<boolean>;
27
- upload: CustomEvent<[FileData | null, FileData | null]>;
27
+ upload: CustomEvent<[any, any]>;
28
28
  select: CustomEvent<SelectData>;
29
29
  } & {
30
30
  [evt: string]: CustomEvent<any>;
@@ -32,6 +32,8 @@ declare const __propDef: {
32
32
  slots: {
33
33
  default: {};
34
34
  };
35
+ exports?: {} | undefined;
36
+ bindings?: string | undefined;
35
37
  };
36
38
  export type ImageProps = typeof __propDef.props;
37
39
  export type ImageEvents = typeof __propDef.events;
@@ -1,32 +1,17 @@
1
1
  <script>import { createEventDispatcher, onMount, tick } from "svelte";
2
- import { resolve_wasm_src } from "@gradio/wasm/svelte";
3
2
  export let src = void 0;
4
3
  export let fullscreen = false;
5
- let resolved_src;
6
4
  export let fixed = false;
7
5
  export let transform = "translate(0px, 0px) scale(1)";
8
6
  export let img_el = null;
9
7
  export let hidden = false;
10
8
  export let variant = "upload";
11
9
  export let max_height = 500;
12
- let latest_src;
13
- $: {
14
- resolved_src = src;
15
- latest_src = src;
16
- const resolving_src = src;
17
- resolve_wasm_src(resolving_src).then((s) => {
18
- if (latest_src === resolving_src) {
19
- resolved_src = s;
20
- }
21
- });
22
- }
23
10
  const dispatch = createEventDispatcher();
24
11
  function get_image_size(img) {
25
- if (!img)
26
- return { top: 0, left: 0, width: 0, height: 0 };
12
+ if (!img) return { top: 0, left: 0, width: 0, height: 0 };
27
13
  const container = img.parentElement?.getBoundingClientRect();
28
- if (!container)
29
- return { top: 0, left: 0, width: 0, height: 0 };
14
+ if (!container) return { top: 0, left: 0, width: 0, height: 0 };
30
15
  const naturalAspect = img.naturalWidth / img.naturalHeight;
31
16
  const containerAspect = container.width / container.height;
32
17
  let displayedWidth, displayedHeight;
@@ -62,7 +47,7 @@ onMount(() => {
62
47
 
63
48
  <!-- svelte-ignore a11y-missing-attribute -->
64
49
  <img
65
- src={resolved_src}
50
+ {src}
66
51
  {...$$restProps}
67
52
  class:fixed
68
53
  style:transform
@@ -1,242 +1,15 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { HTMLImgAttributes } from "svelte/elements";
2
3
  declare const __propDef: {
3
- props: {
4
- [x: `data-${string}`]: any;
5
- alt?: string | undefined | null;
6
- crossorigin?: "anonymous" | "use-credentials" | "" | undefined | null;
7
- decoding?: "async" | "auto" | "sync" | undefined | null;
8
- fetchpriority?: "auto" | "high" | "low" | undefined | null;
9
- height?: number | string | undefined | null;
10
- ismap?: boolean | undefined | null;
11
- loading?: "eager" | "lazy" | undefined | null;
12
- referrerpolicy?: ReferrerPolicy | undefined | null;
13
- sizes?: string | undefined | null;
14
- src?: string | undefined | null;
15
- srcset?: string | undefined | null;
16
- usemap?: string | undefined | null;
17
- width?: number | string | undefined | null;
18
- readonly 'bind:naturalWidth'?: number | undefined | null;
19
- readonly 'bind:naturalHeight'?: number | undefined | null;
20
- accesskey?: string | undefined | null;
21
- autofocus?: boolean | undefined | null;
22
- class?: string | undefined | null;
23
- contenteditable?: import("svelte/elements").Booleanish | "inherit" | "plaintext-only" | undefined | null;
24
- contextmenu?: string | undefined | null;
25
- dir?: string | undefined | null;
26
- draggable?: import("svelte/elements").Booleanish | undefined | null;
27
- enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | null;
28
- hidden?: boolean | undefined;
29
- id?: string | undefined | null;
30
- lang?: string | undefined | null;
31
- part?: string | undefined | null;
32
- placeholder?: string | undefined | null;
33
- slot?: string | undefined | null;
34
- spellcheck?: import("svelte/elements").Booleanish | undefined | null;
35
- style?: string | undefined | null;
36
- tabindex?: number | undefined | null;
37
- title?: string | undefined | null;
38
- translate?: "yes" | "no" | "" | undefined | null;
39
- inert?: boolean | undefined | null;
40
- popover?: "auto" | "manual" | "" | undefined | null;
41
- radiogroup?: string | undefined | null;
42
- role?: import("svelte/elements").AriaRole | undefined | null;
43
- about?: string | undefined | null;
44
- datatype?: string | undefined | null;
45
- inlist?: any;
46
- prefix?: string | undefined | null;
47
- property?: string | undefined | null;
48
- resource?: string | undefined | null;
49
- typeof?: string | undefined | null;
50
- vocab?: string | undefined | null;
51
- autocapitalize?: string | undefined | null;
52
- autocorrect?: string | undefined | null;
53
- autosave?: string | undefined | null;
54
- color?: string | undefined | null;
55
- itemprop?: string | undefined | null;
56
- itemscope?: boolean | undefined | null;
57
- itemtype?: string | undefined | null;
58
- itemid?: string | undefined | null;
59
- itemref?: string | undefined | null;
60
- results?: number | undefined | null;
61
- security?: string | undefined | null;
62
- unselectable?: "on" | "off" | undefined | null;
63
- inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | null;
64
- is?: string | undefined | null;
65
- 'bind:innerHTML'?: string | undefined | null;
66
- 'bind:textContent'?: string | undefined | null;
67
- 'bind:innerText'?: string | undefined | null;
68
- readonly 'bind:contentRect'?: DOMRectReadOnly | undefined | null;
69
- readonly 'bind:contentBoxSize'?: ResizeObserverSize[] | undefined | null;
70
- readonly 'bind:borderBoxSize'?: ResizeObserverSize[] | undefined | null;
71
- readonly 'bind:devicePixelContentBoxSize'?: ResizeObserverSize[] | undefined | null;
72
- 'data-sveltekit-keepfocus'?: true | "" | "off" | undefined | null;
73
- 'data-sveltekit-noscroll'?: true | "" | "off" | undefined | null;
74
- 'data-sveltekit-preload-code'?: true | "" | "eager" | "viewport" | "hover" | "tap" | "off" | undefined | null;
75
- 'data-sveltekit-preload-data'?: true | "" | "hover" | "tap" | "off" | undefined | null;
76
- 'data-sveltekit-reload'?: true | "" | "off" | undefined | null;
77
- 'data-sveltekit-replacestate'?: true | "" | "off" | undefined | null;
78
- 'aria-activedescendant'?: string | undefined | null;
79
- 'aria-atomic'?: import("svelte/elements").Booleanish | undefined | null;
80
- 'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined | null;
81
- 'aria-busy'?: import("svelte/elements").Booleanish | undefined | null;
82
- 'aria-checked'?: boolean | "false" | "mixed" | "true" | undefined | null;
83
- 'aria-colcount'?: number | undefined | null;
84
- 'aria-colindex'?: number | undefined | null;
85
- 'aria-colspan'?: number | undefined | null;
86
- 'aria-controls'?: string | undefined | null;
87
- 'aria-current'?: import("svelte/elements").Booleanish | "page" | "step" | "location" | "date" | "time" | undefined | null;
88
- 'aria-describedby'?: string | undefined | null;
89
- 'aria-details'?: string | undefined | null;
90
- 'aria-disabled'?: import("svelte/elements").Booleanish | undefined | null;
91
- 'aria-dropeffect'?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | null;
92
- 'aria-errormessage'?: string | undefined | null;
93
- 'aria-expanded'?: import("svelte/elements").Booleanish | undefined | null;
94
- 'aria-flowto'?: string | undefined | null;
95
- 'aria-grabbed'?: import("svelte/elements").Booleanish | undefined | null;
96
- 'aria-haspopup'?: import("svelte/elements").Booleanish | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | null;
97
- 'aria-hidden'?: import("svelte/elements").Booleanish | undefined | null;
98
- 'aria-invalid'?: import("svelte/elements").Booleanish | "grammar" | "spelling" | undefined | null;
99
- 'aria-keyshortcuts'?: string | undefined | null;
100
- 'aria-label'?: string | undefined | null;
101
- 'aria-labelledby'?: string | undefined | null;
102
- 'aria-level'?: number | undefined | null;
103
- 'aria-live'?: "off" | "assertive" | "polite" | undefined | null;
104
- 'aria-modal'?: import("svelte/elements").Booleanish | undefined | null;
105
- 'aria-multiline'?: import("svelte/elements").Booleanish | undefined | null;
106
- 'aria-multiselectable'?: import("svelte/elements").Booleanish | undefined | null;
107
- 'aria-orientation'?: "horizontal" | "vertical" | undefined | null;
108
- 'aria-owns'?: string | undefined | null;
109
- 'aria-placeholder'?: string | undefined | null;
110
- 'aria-posinset'?: number | undefined | null;
111
- 'aria-pressed'?: boolean | "false" | "mixed" | "true" | undefined | null;
112
- 'aria-readonly'?: import("svelte/elements").Booleanish | undefined | null;
113
- 'aria-relevant'?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | null;
114
- 'aria-required'?: import("svelte/elements").Booleanish | undefined | null;
115
- 'aria-roledescription'?: string | undefined | null;
116
- 'aria-rowcount'?: number | undefined | null;
117
- 'aria-rowindex'?: number | undefined | null;
118
- 'aria-rowspan'?: number | undefined | null;
119
- 'aria-selected'?: import("svelte/elements").Booleanish | undefined | null;
120
- 'aria-setsize'?: number | undefined | null;
121
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined | null;
122
- 'aria-valuemax'?: number | undefined | null;
123
- 'aria-valuemin'?: number | undefined | null;
124
- 'aria-valuenow'?: number | undefined | null;
125
- 'aria-valuetext'?: string | undefined | null;
126
- 'on:copy'?: import("svelte/elements").ClipboardEventHandler<HTMLImageElement> | null | undefined;
127
- 'on:cut'?: import("svelte/elements").ClipboardEventHandler<HTMLImageElement> | null | undefined;
128
- 'on:paste'?: import("svelte/elements").ClipboardEventHandler<HTMLImageElement> | null | undefined;
129
- 'on:compositionend'?: import("svelte/elements").CompositionEventHandler<HTMLImageElement> | null | undefined;
130
- 'on:compositionstart'?: import("svelte/elements").CompositionEventHandler<HTMLImageElement> | null | undefined;
131
- 'on:compositionupdate'?: import("svelte/elements").CompositionEventHandler<HTMLImageElement> | null | undefined;
132
- 'on:focus'?: import("svelte/elements").FocusEventHandler<HTMLImageElement> | null | undefined;
133
- 'on:focusin'?: import("svelte/elements").FocusEventHandler<HTMLImageElement> | null | undefined;
134
- 'on:focusout'?: import("svelte/elements").FocusEventHandler<HTMLImageElement> | null | undefined;
135
- 'on:blur'?: import("svelte/elements").FocusEventHandler<HTMLImageElement> | null | undefined;
136
- 'on:change'?: import("svelte/elements").FormEventHandler<HTMLImageElement> | null | undefined;
137
- 'on:beforeinput'?: import("svelte/elements").EventHandler<InputEvent, HTMLImageElement> | null | undefined;
138
- 'on:input'?: import("svelte/elements").FormEventHandler<HTMLImageElement> | null | undefined;
139
- 'on:reset'?: import("svelte/elements").FormEventHandler<HTMLImageElement> | null | undefined;
140
- 'on:submit'?: import("svelte/elements").EventHandler<SubmitEvent, HTMLImageElement> | null | undefined;
141
- 'on:invalid'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
142
- 'on:formdata'?: import("svelte/elements").EventHandler<FormDataEvent, HTMLImageElement> | null | undefined;
143
- 'on:load'?: import("svelte/elements").EventHandler | undefined | null;
144
- 'on:error'?: import("svelte/elements").EventHandler | undefined | null;
145
- 'on:beforetoggle'?: import("svelte/elements").ToggleEventHandler<HTMLImageElement> | null | undefined;
146
- 'on:toggle'?: import("svelte/elements").ToggleEventHandler<HTMLImageElement> | null | undefined;
147
- 'on:keydown'?: import("svelte/elements").KeyboardEventHandler<HTMLImageElement> | null | undefined;
148
- 'on:keypress'?: import("svelte/elements").KeyboardEventHandler<HTMLImageElement> | null | undefined;
149
- 'on:keyup'?: import("svelte/elements").KeyboardEventHandler<HTMLImageElement> | null | undefined;
150
- 'on:abort'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
151
- 'on:canplay'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
152
- 'on:canplaythrough'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
153
- 'on:cuechange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
154
- 'on:durationchange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
155
- 'on:emptied'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
156
- 'on:encrypted'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
157
- 'on:ended'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
158
- 'on:loadeddata'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
159
- 'on:loadedmetadata'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
160
- 'on:loadstart'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
161
- 'on:pause'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
162
- 'on:play'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
163
- 'on:playing'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
164
- 'on:progress'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
165
- 'on:ratechange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
166
- 'on:seeked'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
167
- 'on:seeking'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
168
- 'on:stalled'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
169
- 'on:suspend'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
170
- 'on:timeupdate'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
171
- 'on:volumechange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
172
- 'on:waiting'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
173
- 'on:auxclick'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
174
- 'on:click'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
175
- 'on:contextmenu'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
176
- 'on:dblclick'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
177
- 'on:drag'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
178
- 'on:dragend'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
179
- 'on:dragenter'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
180
- 'on:dragexit'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
181
- 'on:dragleave'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
182
- 'on:dragover'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
183
- 'on:dragstart'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
184
- 'on:drop'?: import("svelte/elements").DragEventHandler<HTMLImageElement> | null | undefined;
185
- 'on:mousedown'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
186
- 'on:mouseenter'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
187
- 'on:mouseleave'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
188
- 'on:mousemove'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
189
- 'on:mouseout'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
190
- 'on:mouseover'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
191
- 'on:mouseup'?: import("svelte/elements").MouseEventHandler<HTMLImageElement> | null | undefined;
192
- 'on:select'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
193
- 'on:selectionchange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
194
- 'on:selectstart'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
195
- 'on:touchcancel'?: import("svelte/elements").TouchEventHandler<HTMLImageElement> | null | undefined;
196
- 'on:touchend'?: import("svelte/elements").TouchEventHandler<HTMLImageElement> | null | undefined;
197
- 'on:touchmove'?: import("svelte/elements").TouchEventHandler<HTMLImageElement> | null | undefined;
198
- 'on:touchstart'?: import("svelte/elements").TouchEventHandler<HTMLImageElement> | null | undefined;
199
- 'on:gotpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
200
- 'on:pointercancel'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
201
- 'on:pointerdown'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
202
- 'on:pointerenter'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
203
- 'on:pointerleave'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
204
- 'on:pointermove'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
205
- 'on:pointerout'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
206
- 'on:pointerover'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
207
- 'on:pointerup'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
208
- 'on:lostpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLImageElement> | null | undefined;
209
- 'on:gamepadconnected'?: import("svelte/elements").GamepadEventHandler<HTMLImageElement> | null | undefined;
210
- 'on:gamepaddisconnected'?: import("svelte/elements").GamepadEventHandler<HTMLImageElement> | null | undefined;
211
- 'on:scroll'?: import("svelte/elements").UIEventHandler<HTMLImageElement> | null | undefined;
212
- 'on:scrollend'?: import("svelte/elements").UIEventHandler<HTMLImageElement> | null | undefined;
213
- 'on:resize'?: import("svelte/elements").UIEventHandler<HTMLImageElement> | null | undefined;
214
- 'on:wheel'?: import("svelte/elements").WheelEventHandler<HTMLImageElement> | null | undefined;
215
- 'on:animationstart'?: import("svelte/elements").AnimationEventHandler<HTMLImageElement> | null | undefined;
216
- 'on:animationend'?: import("svelte/elements").AnimationEventHandler<HTMLImageElement> | null | undefined;
217
- 'on:animationiteration'?: import("svelte/elements").AnimationEventHandler<HTMLImageElement> | null | undefined;
218
- 'on:transitionstart'?: import("svelte/elements").TransitionEventHandler<HTMLImageElement> | null | undefined;
219
- 'on:transitionrun'?: import("svelte/elements").TransitionEventHandler<HTMLImageElement> | null | undefined;
220
- 'on:transitionend'?: import("svelte/elements").TransitionEventHandler<HTMLImageElement> | null | undefined;
221
- 'on:transitioncancel'?: import("svelte/elements").TransitionEventHandler<HTMLImageElement> | null | undefined;
222
- 'on:outrostart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLImageElement> | null | undefined;
223
- 'on:outroend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLImageElement> | null | undefined;
224
- 'on:introstart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLImageElement> | null | undefined;
225
- 'on:introend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLImageElement> | null | undefined;
226
- 'on:message'?: import("svelte/elements").MessageEventHandler<HTMLImageElement> | null | undefined;
227
- 'on:messageerror'?: import("svelte/elements").MessageEventHandler<HTMLImageElement> | null | undefined;
228
- 'on:visibilitychange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
229
- 'on:cancel'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
230
- 'on:close'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
231
- 'on:fullscreenchange'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
232
- 'on:fullscreenerror'?: import("svelte/elements").EventHandler<Event, HTMLImageElement> | null | undefined;
233
- "data-testid"?: string | undefined;
234
- fixed?: boolean | undefined;
235
- transform?: string | undefined;
236
- img_el?: HTMLImageElement | undefined;
237
- variant?: ("preview" | "upload") | undefined;
238
- max_height?: number | undefined;
239
- fullscreen?: boolean | undefined;
4
+ props: HTMLImgAttributes & {
5
+ "data-testid"?: string;
6
+ fixed?: boolean;
7
+ transform?: string;
8
+ img_el?: HTMLImageElement;
9
+ hidden?: boolean;
10
+ variant?: "preview" | "upload";
11
+ max_height?: number;
12
+ fullscreen?: boolean;
240
13
  };
241
14
  events: {
242
15
  load: CustomEvent<{
@@ -249,6 +22,8 @@ declare const __propDef: {
249
22
  [evt: string]: CustomEvent<any>;
250
23
  };
251
24
  slots: {};
25
+ exports?: {} | undefined;
26
+ bindings?: string | undefined;
252
27
  };
253
28
  export type ImageElProps = typeof __propDef.props;
254
29
  export type ImageElEvents = typeof __propDef.events;
@@ -34,28 +34,23 @@ function update_position(x) {
34
34
  position = round((x - image_size.left) / image_size.width, 5);
35
35
  }
36
36
  function drag_start(event) {
37
- if (disabled)
38
- return;
37
+ if (disabled) return;
39
38
  active = true;
40
39
  update_position(event.x);
41
40
  }
42
41
  function drag_move(event) {
43
- if (disabled)
44
- return;
42
+ if (disabled) return;
45
43
  update_position(event.x);
46
44
  }
47
45
  function drag_end() {
48
- if (disabled)
49
- return;
46
+ if (disabled) return;
50
47
  active = false;
51
48
  }
52
49
  function update_position_from_pc(pc) {
53
50
  px = clamp(image_size.width * pc + image_size.left, 0, container_width);
54
51
  }
55
- $:
56
- set_position(image_size.width);
57
- $:
58
- update_position_from_pc(position);
52
+ $: set_position(image_size.width);
53
+ $: update_position_from_pc(position);
59
54
  onMount(() => {
60
55
  set_position(image_size.width);
61
56
  const drag_handler = drag().on("start", drag_start).on("drag", drag_move).on("end", drag_end);
@@ -1,15 +1,15 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- position?: number | undefined;
5
- disabled?: boolean | undefined;
6
- slider_color?: string | undefined;
4
+ position?: number;
5
+ disabled?: boolean;
6
+ slider_color?: string;
7
7
  image_size?: {
8
8
  top: number;
9
9
  left: number;
10
10
  width: number;
11
11
  height: number;
12
- } | undefined;
12
+ };
13
13
  el?: HTMLDivElement | undefined;
14
14
  parent_el?: HTMLDivElement | undefined;
15
15
  };
@@ -19,6 +19,8 @@ declare const __propDef: {
19
19
  slots: {
20
20
  default: {};
21
21
  };
22
+ exports?: {} | undefined;
23
+ bindings?: string | undefined;
22
24
  };
23
25
  export type SliderProps = typeof __propDef.props;
24
26
  export type SliderEvents = typeof __propDef.events;
@@ -5,11 +5,11 @@ import {
5
5
  Empty,
6
6
  IconButton,
7
7
  IconButtonWrapper,
8
- FullscreenButton
8
+ FullscreenButton,
9
+ DownloadLink
9
10
  } from "@gradio/atoms";
10
11
  import { Image, Download, Undo, Clear } from "@gradio/icons";
11
12
  import {} from "@gradio/client";
12
- import { DownloadLink } from "@gradio/wasm/svelte";
13
13
  import { ZoomableImage } from "./zoom";
14
14
  import { onMount } from "svelte";
15
15
  import { tweened } from "svelte/motion";
@@ -39,17 +39,15 @@ let transform = tweened(
39
39
  }
40
40
  );
41
41
  let parent_el;
42
- $:
43
- coords_at_viewport = get_coords_at_viewport(
44
- position,
45
- viewport_width,
46
- image_size.width,
47
- image_size.left,
48
- $transform.x,
49
- $transform.z
50
- );
51
- $:
52
- style = layer_images ? `clip-path: inset(0 0 0 ${coords_at_viewport * 100}%)` : "";
42
+ $: coords_at_viewport = get_coords_at_viewport(
43
+ position,
44
+ viewport_width,
45
+ image_size.width,
46
+ image_size.left,
47
+ $transform.x,
48
+ $transform.z
49
+ );
50
+ $: style = layer_images ? `clip-path: inset(0 0 0 ${coords_at_viewport * 100}%)` : "";
53
51
  function get_coords_at_viewport(viewport_percent_x, viewportWidth, image_width, img_offset_x, tx, scale) {
54
52
  const px_relative_to_image = viewport_percent_x * image_width;
55
53
  const pixel_position = px_relative_to_image + img_offset_x;
@@ -62,8 +60,7 @@ let viewport_width = 0;
62
60
  let zoomable_image = null;
63
61
  let observer = null;
64
62
  function init_image(img2, slider_wrap2) {
65
- if (!img2 || !slider_wrap2)
66
- return;
63
+ if (!img2 || !slider_wrap2) return;
67
64
  zoomable_image?.destroy();
68
65
  observer?.disconnect();
69
66
  img_width = img2?.getBoundingClientRect().width || 0;
@@ -85,8 +82,7 @@ function init_image(img2, slider_wrap2) {
85
82
  observer.observe(slider_wrap2);
86
83
  observer.observe(img2);
87
84
  }
88
- $:
89
- init_image(img, slider_wrap);
85
+ $: init_image(img, slider_wrap);
90
86
  onMount(() => {
91
87
  return () => {
92
88
  zoomable_image?.destroy();
@@ -3,20 +3,20 @@ import { type FileData } from "@gradio/client";
3
3
  import type { I18nFormatter } from "@gradio/utils";
4
4
  declare const __propDef: {
5
5
  props: {
6
- value?: [null | FileData, null | FileData] | undefined;
6
+ value?: [null | FileData, null | FileData];
7
7
  label?: string | undefined;
8
- show_download_button?: boolean | undefined;
8
+ show_download_button?: boolean;
9
9
  show_label: boolean;
10
10
  i18n: I18nFormatter;
11
11
  position: number;
12
- layer_images?: boolean | undefined;
13
- show_single?: boolean | undefined;
12
+ layer_images?: boolean;
13
+ show_single?: boolean;
14
14
  slider_color: string;
15
- show_fullscreen_button?: boolean | undefined;
16
- fullscreen?: boolean | undefined;
17
- el_width?: number | undefined;
15
+ show_fullscreen_button?: boolean;
16
+ fullscreen?: boolean;
17
+ el_width?: number;
18
18
  max_height: number;
19
- interactive?: boolean | undefined;
19
+ interactive?: boolean;
20
20
  };
21
21
  events: {
22
22
  fullscreen: CustomEvent<boolean>;
@@ -25,6 +25,8 @@ declare const __propDef: {
25
25
  [evt: string]: CustomEvent<any>;
26
26
  };
27
27
  slots: {};
28
+ exports?: {} | undefined;
29
+ bindings?: string | undefined;
28
30
  };
29
31
  export type SliderPreviewProps = typeof __propDef.props;
30
32
  export type SliderPreviewEvents = typeof __propDef.events;
@@ -4,23 +4,23 @@ import { type Client } from "@gradio/client";
4
4
  import type { FileData } from "@gradio/client";
5
5
  declare const __propDef: {
6
6
  props: {
7
- value?: [FileData | null, FileData | null] | undefined;
7
+ value?: [FileData | null, FileData | null];
8
8
  upload: Client["upload"];
9
9
  stream_handler: Client["stream"];
10
10
  label: string;
11
11
  show_label: boolean;
12
12
  i18n: I18nFormatter;
13
13
  root: string;
14
- upload_count?: number | undefined;
14
+ upload_count?: number;
15
15
  dragging: boolean;
16
16
  max_height: number;
17
- max_file_size?: (number | null) | undefined;
17
+ max_file_size?: number | null;
18
18
  };
19
19
  events: {
20
20
  edit: CustomEvent<undefined>;
21
21
  clear: CustomEvent<undefined>;
22
22
  stream: CustomEvent<string | null>;
23
- upload: CustomEvent<[FileData | null, FileData | null]>;
23
+ upload: CustomEvent<[any, any]>;
24
24
  select: CustomEvent<import("@gradio/utils").SelectData>;
25
25
  share: CustomEvent<any>;
26
26
  } & {
@@ -29,20 +29,22 @@ declare const __propDef: {
29
29
  slots: {
30
30
  default: {};
31
31
  };
32
+ exports?: {} | undefined;
33
+ bindings?: string | undefined;
32
34
  };
33
35
  export type SliderUploadProps = typeof __propDef.props;
34
36
  export type SliderUploadEvents = typeof __propDef.events;
35
37
  export type SliderUploadSlots = typeof __propDef.slots;
36
38
  export default class SliderUpload extends SvelteComponent<SliderUploadProps, SliderUploadEvents, SliderUploadSlots> {
37
- get value(): [FileData | null, FileData | null] | undefined;
39
+ get value(): [any, any] | undefined;
38
40
  /**accessor*/
39
- set value(_: [FileData | null, FileData | null] | undefined);
40
- get upload(): (file_data: FileData[], root_url: string, upload_id?: string, max_file_size?: number) => Promise<(FileData | null)[] | null>;
41
+ set value(_: [any, any] | undefined);
42
+ get upload(): Client;
41
43
  /**accessor*/
42
- set upload(_: (file_data: FileData[], root_url: string, upload_id?: string, max_file_size?: number) => Promise<(FileData | null)[] | null>);
43
- get stream_handler(): (url: URL) => EventSource;
44
+ set upload(_: Client);
45
+ get stream_handler(): Client;
44
46
  /**accessor*/
45
- set stream_handler(_: (url: URL) => EventSource);
47
+ set stream_handler(_: Client);
46
48
  get label(): string;
47
49
  /**accessor*/
48
50
  set label(_: string);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/imageslider",
3
- "version": "0.2.13",
3
+ "version": "0.3.0",
4
4
  "description": "Gradio UI packages",
5
5
  "type": "module",
6
6
  "author": "",
@@ -11,13 +11,12 @@
11
11
  "@types/d3-selection": "^3.0.11",
12
12
  "d3-drag": "^3.0.0",
13
13
  "d3-selection": "^3.0.0",
14
- "@gradio/atoms": "^0.16.5",
15
- "@gradio/icons": "^0.13.0",
16
- "@gradio/statustracker": "^0.10.17",
17
- "@gradio/client": "^1.17.1",
18
- "@gradio/upload": "^0.16.15",
19
- "@gradio/utils": "^0.10.2",
20
- "@gradio/wasm": "^0.18.1"
14
+ "@gradio/atoms": "^0.18.0",
15
+ "@gradio/client": "^1.19.0",
16
+ "@gradio/statustracker": "^0.11.1",
17
+ "@gradio/icons": "^0.14.0",
18
+ "@gradio/upload": "^0.17.0",
19
+ "@gradio/utils": "^0.10.2"
21
20
  },
22
21
  "exports": {
23
22
  ".": {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import Slider from "./Slider.svelte";
3
3
  import { createEventDispatcher, tick } from "svelte";
4
- import { BlockLabel, Empty, IconButton } from "@gradio/atoms";
4
+ import { BlockLabel, Empty, IconButton, DownloadLink } from "@gradio/atoms";
5
5
  import { Download } from "@gradio/icons";
6
6
  import { Image } from "@gradio/icons";
7
7
  import { type SelectData, type I18nFormatter } from "@gradio/utils";
@@ -9,7 +9,6 @@
9
9
  import ImageEl from "./ImageEl.svelte";
10
10
 
11
11
  import { Upload } from "@gradio/upload";
12
- import { DownloadLink } from "@gradio/wasm/svelte";
13
12
 
14
13
  import { type FileData, type Client } from "@gradio/client";
15
14
 
@@ -13,39 +13,15 @@
13
13
  }
14
14
  type $$Props = Props;
15
15
 
16
- import { resolve_wasm_src } from "@gradio/wasm/svelte";
17
-
18
16
  export let src: HTMLImgAttributes["src"] = undefined;
19
17
  export let fullscreen = false;
20
18
 
21
- let resolved_src: typeof src;
22
-
23
19
  export let fixed = false;
24
20
  export let transform = "translate(0px, 0px) scale(1)";
25
21
  export let img_el: HTMLImageElement | null = null;
26
22
  export let hidden = false;
27
23
  export let variant = "upload";
28
24
  export let max_height = 500;
29
- // The `src` prop can be updated before the Promise from `resolve_wasm_src` is resolved.
30
- // In such a case, the resolved value for the old `src` has to be discarded,
31
- // This variable `latest_src` is used to pick up only the value resolved for the latest `src` prop.
32
- let latest_src: typeof src;
33
- $: {
34
- // In normal (non-Wasm) Gradio, the `<img>` element should be rendered with the passed `src` props immediately
35
- // without waiting for `resolve_wasm_src()` to resolve.
36
- // If it waits, a blank image is displayed until the async task finishes
37
- // and it leads to undesirable flickering.
38
- // So set `src` to `resolved_src` here.
39
- resolved_src = src;
40
-
41
- latest_src = src;
42
- const resolving_src = src;
43
- resolve_wasm_src(resolving_src).then((s) => {
44
- if (latest_src === resolving_src) {
45
- resolved_src = s;
46
- }
47
- });
48
- }
49
25
 
50
26
  const dispatch = createEventDispatcher<{
51
27
  load: {
@@ -108,7 +84,7 @@
108
84
 
109
85
  <!-- svelte-ignore a11y-missing-attribute -->
110
86
  <img
111
- src={resolved_src}
87
+ {src}
112
88
  {...$$restProps}
113
89
  class:fixed
114
90
  style:transform
@@ -6,12 +6,12 @@
6
6
  Empty,
7
7
  IconButton,
8
8
  IconButtonWrapper,
9
- FullscreenButton
9
+ FullscreenButton,
10
+ DownloadLink
10
11
  } from "@gradio/atoms";
11
12
  import { Image, Download, Undo, Clear } from "@gradio/icons";
12
13
  import { type FileData } from "@gradio/client";
13
14
  import type { I18nFormatter } from "@gradio/utils";
14
- import { DownloadLink } from "@gradio/wasm/svelte";
15
15
  import { ZoomableImage } from "./zoom";
16
16
  import { onMount } from "svelte";
17
17
  import { tweened, type Tweened } from "svelte/motion";