@gradio/multimodaltextbox 0.9.14 → 0.10.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,35 @@
1
1
  # @gradio/multimodaltextbox
2
2
 
3
+ ## 0.10.1
4
+
5
+ ### Dependency updates
6
+
7
+ - @gradio/upload@0.16.1
8
+ - @gradio/atoms@0.15.1
9
+ - @gradio/statustracker@0.10.8
10
+ - @gradio/icons@0.12.0
11
+ - @gradio/image@0.22.1
12
+ - @gradio/video@0.14.9
13
+
14
+ ## 0.10.0
15
+
16
+ ### Features
17
+
18
+ - [#10635](https://github.com/gradio-app/gradio/pull/10635) [`2f68c9d`](https://github.com/gradio-app/gradio/commit/2f68c9d988dcbc53a0b8e53bdb1de49c9c8c65d8) - Refactor and redesign `ImageEditor` component. Thanks @pngwn!
19
+
20
+ ### Fixes
21
+
22
+ - [#10925](https://github.com/gradio-app/gradio/pull/10925) [`c37de0f`](https://github.com/gradio-app/gradio/commit/c37de0f9081f30ac963b0c837e8f1985461afbb1) - Tweak `rtl` UI in `gr.MultimodalTextbox`. Thanks @hannahblair!
23
+
24
+ ### Dependency updates
25
+
26
+ - @gradio/statustracker@0.10.7
27
+ - @gradio/video@0.14.8
28
+ - @gradio/atoms@0.15.0
29
+ - @gradio/icons@0.11.0
30
+ - @gradio/upload@0.16.0
31
+ - @gradio/image@0.22.0
32
+
3
33
  ## 0.9.14
4
34
 
5
35
  ### Dependency updates
@@ -78,11 +78,11 @@
78
78
  args={{ lines: 5, max_lines: 5 }}
79
79
  />
80
80
  <Story name="Right aligned textbox" args={{ text_align: "right" }} />
81
- <Story name="RTL textbox" args={{ rtl: true }} />
82
81
  <Story
83
82
  name="Single file upload"
84
83
  args={{
85
84
  file_count: "single",
85
+ submit_btn: true,
86
86
  value: {
87
87
  text: "sample text",
88
88
  files: [
@@ -94,6 +94,12 @@
94
94
  }}
95
95
  />
96
96
  <Story
97
- name="MultimodalTextbox with microphone input"
98
- args={{ sources: ["microphone"] }}
97
+ name="MultimodalTextbox with microphone input and right to left text"
98
+ args={{
99
+ label: "مرحبًا",
100
+ sources: ["microphone"],
101
+ rtl: true,
102
+ submit_btn: true,
103
+ value: { text: "مرحبًا", files: [] }
104
+ }}
99
105
  />
@@ -53,7 +53,6 @@ export let waveform_options = {
53
53
  export let sources = ["upload"];
54
54
  export let active_source = null;
55
55
  let upload_component;
56
- let hidden_upload;
57
56
  let el;
58
57
  let can_scroll;
59
58
  let previous_scroll_top = 0;
@@ -164,10 +163,7 @@ function remove_thumbnail(event, index) {
164
163
  value = value;
165
164
  }
166
165
  function handle_upload_click() {
167
- if (hidden_upload) {
168
- hidden_upload.value = "";
169
- hidden_upload.click();
170
- }
166
+ upload_component.open_upload();
171
167
  }
172
168
  function handle_stop() {
173
169
  dispatch("stop");
@@ -260,7 +256,7 @@ function handle_drop(event) {
260
256
  role="group"
261
257
  aria-label="Multimedia input field"
262
258
  >
263
- <BlockTitle {root} {show_label} {info}>{label}</BlockTitle>
259
+ <BlockTitle {root} {show_label} {info} {rtl}>{label}</BlockTitle>
264
260
  {#if value.files.length > 0 || uploading}
265
261
  <div
266
262
  class="thumbnails scroll-hide"
@@ -345,7 +341,6 @@ function handle_drop(event) {
345
341
  bind:uploading
346
342
  show_progress={false}
347
343
  disable_click={true}
348
- bind:hidden_upload
349
344
  on:error
350
345
  hidden={true}
351
346
  {upload}
@@ -474,7 +469,22 @@ function handle_drop(event) {
474
469
  resize: none;
475
470
  position: relative;
476
471
  z-index: 1;
472
+ text-align: left;
473
+ }
474
+ textarea[dir="rtl"] {
475
+ text-align: right;
476
+ }
477
+
478
+ textarea[dir="rtl"] ~ .submit-button {
479
+ order: -1;
480
+ margin-left: 0;
481
+ margin-right: var(--spacing-sm);
477
482
  }
483
+
484
+ textarea[dir="rtl"] ~ .submit-button :global(svg) {
485
+ transform: scaleX(-1);
486
+ }
487
+
478
488
  textarea.no-label {
479
489
  padding-top: 5px;
480
490
  padding-bottom: 5px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/multimodaltextbox",
3
- "version": "0.9.14",
3
+ "version": "0.10.1",
4
4
  "description": "Gradio UI packages",
5
5
  "type": "module",
6
6
  "author": "",
@@ -22,13 +22,13 @@
22
22
  "./package.json": "./package.json"
23
23
  },
24
24
  "dependencies": {
25
- "@gradio/atoms": "^0.14.1",
26
- "@gradio/icons": "^0.10.0",
27
- "@gradio/statustracker": "^0.10.6",
28
- "@gradio/upload": "^0.15.7",
29
- "@gradio/image": "^0.21.7",
25
+ "@gradio/atoms": "^0.15.1",
26
+ "@gradio/icons": "^0.12.0",
27
+ "@gradio/statustracker": "^0.10.8",
30
28
  "@gradio/utils": "^0.10.1",
31
- "@gradio/video": "^0.14.7",
29
+ "@gradio/image": "^0.22.1",
30
+ "@gradio/video": "^0.14.9",
31
+ "@gradio/upload": "^0.16.1",
32
32
  "@gradio/client": "^1.14.1"
33
33
  },
34
34
  "devDependencies": {
@@ -60,7 +60,6 @@
60
60
  export let sources: ["microphone" | "upload"] = ["upload"];
61
61
  export let active_source: "microphone" | null = null;
62
62
  let upload_component: Upload;
63
- let hidden_upload: HTMLInputElement;
64
63
  let el: HTMLTextAreaElement | HTMLInputElement;
65
64
  let can_scroll: boolean;
66
65
  let previous_scroll_top = 0;
@@ -205,10 +204,7 @@
205
204
  }
206
205
 
207
206
  function handle_upload_click(): void {
208
- if (hidden_upload) {
209
- hidden_upload.value = "";
210
- hidden_upload.click();
211
- }
207
+ upload_component.open_upload();
212
208
  }
213
209
 
214
210
  function handle_stop(): void {
@@ -315,7 +311,7 @@
315
311
  role="group"
316
312
  aria-label="Multimedia input field"
317
313
  >
318
- <BlockTitle {root} {show_label} {info}>{label}</BlockTitle>
314
+ <BlockTitle {root} {show_label} {info} {rtl}>{label}</BlockTitle>
319
315
  {#if value.files.length > 0 || uploading}
320
316
  <div
321
317
  class="thumbnails scroll-hide"
@@ -400,7 +396,6 @@
400
396
  bind:uploading
401
397
  show_progress={false}
402
398
  disable_click={true}
403
- bind:hidden_upload
404
399
  on:error
405
400
  hidden={true}
406
401
  {upload}
@@ -529,7 +524,22 @@
529
524
  resize: none;
530
525
  position: relative;
531
526
  z-index: 1;
527
+ text-align: left;
528
+ }
529
+ textarea[dir="rtl"] {
530
+ text-align: right;
531
+ }
532
+
533
+ textarea[dir="rtl"] ~ .submit-button {
534
+ order: -1;
535
+ margin-left: 0;
536
+ margin-right: var(--spacing-sm);
532
537
  }
538
+
539
+ textarea[dir="rtl"] ~ .submit-button :global(svg) {
540
+ transform: scaleX(-1);
541
+ }
542
+
533
543
  textarea.no-label {
534
544
  padding-top: 5px;
535
545
  padding-bottom: 5px;