sveltekit-ui 1.0.44 → 1.0.45
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/dist/Components/ImageEditor/Panels/AI/index.svelte +6 -1
- package/dist/Components/ImageEditor/index.svelte +3 -1
- package/dist/Components/ImageEditor/index.svelte.js +39 -9
- package/dist/client/docs/index.js +6 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/lib/Components/ImageEditor/Panels/AI/index.svelte +6 -1
- package/src/lib/Components/ImageEditor/index.svelte +3 -1
- package/src/lib/Components/ImageEditor/index.svelte.js +39 -9
- package/src/lib/client/docs/index.js +6 -1
- package/src/lib/style.css +1 -1
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
{#if manager?.ai_tab_dropdown_manager?.val == "image_generator"}
|
|
14
14
|
<div style="padding-top: .5rem;">
|
|
15
15
|
<TextInput manager={manager?.ai_generate_image_from_text_text_input_manager} />
|
|
16
|
-
<
|
|
16
|
+
<div style="display: flex; gap: 1rem;">
|
|
17
|
+
<FileInput manager={manager?.ai_generate_image_images_prompt_file_input_manager} />
|
|
18
|
+
{#if manager?.selected_image_source}
|
|
19
|
+
<Checkbox manager={manager?.ai_generate_image_include_workspace_in_images_prompt_checkbox_manager} />
|
|
20
|
+
{/if}
|
|
21
|
+
</div>
|
|
17
22
|
<Button manager={manager?.ai_generate_image_from_text_button_manager} />
|
|
18
23
|
</div>
|
|
19
24
|
{:else if manager?.ai_tab_dropdown_manager?.val == "remove_background"}
|
|
@@ -35,7 +35,9 @@
|
|
|
35
35
|
<Button manager={manager?.undo_button_manager} />
|
|
36
36
|
<Button manager={manager?.redo_button_manager} />
|
|
37
37
|
<Button manager={manager?.clear_button_manager} />
|
|
38
|
-
|
|
38
|
+
{#if manager?.is_popover}
|
|
39
|
+
<Button manager={manager?.finish_button_manager} />
|
|
40
|
+
{/if}
|
|
39
41
|
</HorizScrollBox>
|
|
40
42
|
</div>
|
|
41
43
|
</div>
|
|
@@ -11,6 +11,7 @@ import { create_text_input_manager } from "../TextInput/index.svelte.js"
|
|
|
11
11
|
import { create_dropdown_manager } from "../Dropdown/index.svelte.js"
|
|
12
12
|
import { create_slider_manager } from "../Slider/index.svelte.js"
|
|
13
13
|
import { create_file_input_manager } from "../FileInput/index.svelte.js"
|
|
14
|
+
import { create_checkbox_manager } from "../Checkbox/index.svelte.js"
|
|
14
15
|
import "context-filter-polyfill" // ctx.filter doesnt work on safari and this should fix
|
|
15
16
|
|
|
16
17
|
export function create_image_editor_manager(config) {
|
|
@@ -49,12 +50,7 @@ export function create_image_editor_manager(config) {
|
|
|
49
50
|
let start_y = $state(null)
|
|
50
51
|
let last_known_x = $state(null)
|
|
51
52
|
let last_known_y = $state(null)
|
|
52
|
-
let is_loading = $state(false)
|
|
53
53
|
let is_disabled = $state(false)
|
|
54
|
-
let error_message = $state(null)
|
|
55
|
-
let success_message = $state(null)
|
|
56
|
-
let is_show_finish_button = $state(true)
|
|
57
|
-
let is_show_img_slider = $state(true)
|
|
58
54
|
let ai_error_message = $state(null)
|
|
59
55
|
let file_size_kb = $state(null)
|
|
60
56
|
|
|
@@ -109,6 +105,7 @@ export function create_image_editor_manager(config) {
|
|
|
109
105
|
let ai_image_generator_is_loading = $state(null)
|
|
110
106
|
let ai_generate_image_from_text_text_input_manager = $state(null)
|
|
111
107
|
let ai_generate_image_images_prompt_file_input_manager = $state(null)
|
|
108
|
+
let ai_generate_image_include_workspace_in_images_prompt_checkbox_manager = $state(null)
|
|
112
109
|
let ai_generate_image_from_text_button_manager = $state(null)
|
|
113
110
|
let ai_remove_background_is_loading = $state(false)
|
|
114
111
|
let ai_restore_resolution_is_loading = $state(false)
|
|
@@ -1517,17 +1514,47 @@ export function create_image_editor_manager(config) {
|
|
|
1517
1514
|
is_drop_zone: false,
|
|
1518
1515
|
accept: ["image/png", "image/jpeg", "image/webp"],
|
|
1519
1516
|
})
|
|
1517
|
+
ai_generate_image_include_workspace_in_images_prompt_checkbox_manager = create_checkbox_manager({
|
|
1518
|
+
label: "Include Workspace Image in Images Prompt",
|
|
1519
|
+
val: true,
|
|
1520
|
+
})
|
|
1520
1521
|
ai_generate_image_from_text_button_manager = create_button_manager({
|
|
1521
1522
|
text: "Generate Image",
|
|
1522
1523
|
is_compressed: true,
|
|
1523
1524
|
mt: 1,
|
|
1524
1525
|
is_loading: () => ai_image_generator_is_loading,
|
|
1525
1526
|
is_disabled: () => is_disabled,
|
|
1526
|
-
on_click: () =>
|
|
1527
|
-
|
|
1527
|
+
on_click: async () => {
|
|
1528
|
+
const files = Array.isArray(ai_generate_image_images_prompt_file_input_manager?.val)
|
|
1529
|
+
? [...ai_generate_image_images_prompt_file_input_manager.val]
|
|
1530
|
+
: []
|
|
1531
|
+
if (selected_image_source && ai_generate_image_include_workspace_in_images_prompt_checkbox_manager?.val) {
|
|
1532
|
+
try {
|
|
1533
|
+
const target_mime = mime_type_input ?? "image/webp"
|
|
1534
|
+
const quality = file_quality_slider_manager?.val ?? 75
|
|
1535
|
+
const data_url = await get_image_data_url(selected_image_source, target_mime, quality)
|
|
1536
|
+
const m = data_url.match(/^data:(.*?);base64,(.*)$/)
|
|
1537
|
+
if (m) {
|
|
1538
|
+
const mime = m[1] || target_mime
|
|
1539
|
+
const bin = atob(m[2])
|
|
1540
|
+
const bytes = new Uint8Array(bin.length)
|
|
1541
|
+
for (let i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i)
|
|
1542
|
+
const ext = mime_type_extensions?.[mime] || "bin"
|
|
1543
|
+
const base =
|
|
1544
|
+
file_name_text_input_manager?.val ||
|
|
1545
|
+
(typeof create_unique_id === "function" ? create_unique_id("image", 6) : "workspace-image")
|
|
1546
|
+
const file = new File([bytes], `${base}.${ext}`, { type: mime })
|
|
1547
|
+
files.push(file)
|
|
1548
|
+
}
|
|
1549
|
+
} catch (e) {
|
|
1550
|
+
console.error("failed to include workspace image", e)
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1553
|
+
await ai_image_generator({
|
|
1528
1554
|
text_prompt: ai_generate_image_from_text_text_input_manager?.val,
|
|
1529
|
-
images_prompt:
|
|
1530
|
-
})
|
|
1555
|
+
images_prompt: files,
|
|
1556
|
+
})
|
|
1557
|
+
},
|
|
1531
1558
|
})
|
|
1532
1559
|
ai_remove_bg_button_manager = create_button_manager({
|
|
1533
1560
|
text: "Remove Background",
|
|
@@ -1861,6 +1888,9 @@ export function create_image_editor_manager(config) {
|
|
|
1861
1888
|
get ai_generate_image_images_prompt_file_input_manager() {
|
|
1862
1889
|
return ai_generate_image_images_prompt_file_input_manager
|
|
1863
1890
|
},
|
|
1891
|
+
get ai_generate_image_include_workspace_in_images_prompt_checkbox_manager() {
|
|
1892
|
+
return ai_generate_image_include_workspace_in_images_prompt_checkbox_manager
|
|
1893
|
+
},
|
|
1864
1894
|
get ai_generate_image_from_text_button_manager() {
|
|
1865
1895
|
return ai_generate_image_from_text_button_manager
|
|
1866
1896
|
},
|
|
@@ -4537,7 +4537,12 @@ export const definitions = {
|
|
|
4537
4537
|
},
|
|
4538
4538
|
ai_generate_image_images_prompt_file_input_manager: {
|
|
4539
4539
|
type: "object",
|
|
4540
|
-
description: "
|
|
4540
|
+
description: "file input manager containing the user’s image prompt for AI image generation",
|
|
4541
|
+
},
|
|
4542
|
+
ai_generate_image_include_workspace_in_images_prompt_checkbox_manager: {
|
|
4543
|
+
type: "object",
|
|
4544
|
+
description:
|
|
4545
|
+
"checkbox input manager containing if include workspace image in image prompt for AI image generation",
|
|
4541
4546
|
},
|
|
4542
4547
|
ai_generate_image_from_text_button_manager: {
|
|
4543
4548
|
type: "object",
|
package/dist/style.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sveltekit-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.45",
|
|
4
4
|
"description": "A SvelteKit UI component library for building modern web applications",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@sveltejs/adapter-vercel": "^5.10.2",
|
|
29
29
|
"@sveltejs/kit": "^2.37.0",
|
|
30
30
|
"@sveltejs/package": "^2.5.0",
|
|
31
|
-
"@sveltejs/vite-plugin-svelte": "^6.1.
|
|
31
|
+
"@sveltejs/vite-plugin-svelte": "^6.1.4",
|
|
32
32
|
"@vercel/analytics": "^1.5.0",
|
|
33
33
|
"typescript": "^5.9.2",
|
|
34
34
|
"vite": "^7.1.4"
|
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
{#if manager?.ai_tab_dropdown_manager?.val == "image_generator"}
|
|
14
14
|
<div style="padding-top: .5rem;">
|
|
15
15
|
<TextInput manager={manager?.ai_generate_image_from_text_text_input_manager} />
|
|
16
|
-
<
|
|
16
|
+
<div style="display: flex; gap: 1rem;">
|
|
17
|
+
<FileInput manager={manager?.ai_generate_image_images_prompt_file_input_manager} />
|
|
18
|
+
{#if manager?.selected_image_source}
|
|
19
|
+
<Checkbox manager={manager?.ai_generate_image_include_workspace_in_images_prompt_checkbox_manager} />
|
|
20
|
+
{/if}
|
|
21
|
+
</div>
|
|
17
22
|
<Button manager={manager?.ai_generate_image_from_text_button_manager} />
|
|
18
23
|
</div>
|
|
19
24
|
{:else if manager?.ai_tab_dropdown_manager?.val == "remove_background"}
|
|
@@ -35,7 +35,9 @@
|
|
|
35
35
|
<Button manager={manager?.undo_button_manager} />
|
|
36
36
|
<Button manager={manager?.redo_button_manager} />
|
|
37
37
|
<Button manager={manager?.clear_button_manager} />
|
|
38
|
-
|
|
38
|
+
{#if manager?.is_popover}
|
|
39
|
+
<Button manager={manager?.finish_button_manager} />
|
|
40
|
+
{/if}
|
|
39
41
|
</HorizScrollBox>
|
|
40
42
|
</div>
|
|
41
43
|
</div>
|
|
@@ -11,6 +11,7 @@ import { create_text_input_manager } from "$lib/Components/TextInput/index.svelt
|
|
|
11
11
|
import { create_dropdown_manager } from "$lib/Components/Dropdown/index.svelte.js"
|
|
12
12
|
import { create_slider_manager } from "$lib/Components/Slider/index.svelte.js"
|
|
13
13
|
import { create_file_input_manager } from "$lib/Components/FileInput/index.svelte.js"
|
|
14
|
+
import { create_checkbox_manager } from "$lib/Components/Checkbox/index.svelte.js"
|
|
14
15
|
import "context-filter-polyfill" // ctx.filter doesnt work on safari and this should fix
|
|
15
16
|
|
|
16
17
|
export function create_image_editor_manager(config) {
|
|
@@ -49,12 +50,7 @@ export function create_image_editor_manager(config) {
|
|
|
49
50
|
let start_y = $state(null)
|
|
50
51
|
let last_known_x = $state(null)
|
|
51
52
|
let last_known_y = $state(null)
|
|
52
|
-
let is_loading = $state(false)
|
|
53
53
|
let is_disabled = $state(false)
|
|
54
|
-
let error_message = $state(null)
|
|
55
|
-
let success_message = $state(null)
|
|
56
|
-
let is_show_finish_button = $state(true)
|
|
57
|
-
let is_show_img_slider = $state(true)
|
|
58
54
|
let ai_error_message = $state(null)
|
|
59
55
|
let file_size_kb = $state(null)
|
|
60
56
|
|
|
@@ -109,6 +105,7 @@ export function create_image_editor_manager(config) {
|
|
|
109
105
|
let ai_image_generator_is_loading = $state(null)
|
|
110
106
|
let ai_generate_image_from_text_text_input_manager = $state(null)
|
|
111
107
|
let ai_generate_image_images_prompt_file_input_manager = $state(null)
|
|
108
|
+
let ai_generate_image_include_workspace_in_images_prompt_checkbox_manager = $state(null)
|
|
112
109
|
let ai_generate_image_from_text_button_manager = $state(null)
|
|
113
110
|
let ai_remove_background_is_loading = $state(false)
|
|
114
111
|
let ai_restore_resolution_is_loading = $state(false)
|
|
@@ -1517,17 +1514,47 @@ export function create_image_editor_manager(config) {
|
|
|
1517
1514
|
is_drop_zone: false,
|
|
1518
1515
|
accept: ["image/png", "image/jpeg", "image/webp"],
|
|
1519
1516
|
})
|
|
1517
|
+
ai_generate_image_include_workspace_in_images_prompt_checkbox_manager = create_checkbox_manager({
|
|
1518
|
+
label: "Include Workspace Image in Images Prompt",
|
|
1519
|
+
val: true,
|
|
1520
|
+
})
|
|
1520
1521
|
ai_generate_image_from_text_button_manager = create_button_manager({
|
|
1521
1522
|
text: "Generate Image",
|
|
1522
1523
|
is_compressed: true,
|
|
1523
1524
|
mt: 1,
|
|
1524
1525
|
is_loading: () => ai_image_generator_is_loading,
|
|
1525
1526
|
is_disabled: () => is_disabled,
|
|
1526
|
-
on_click: () =>
|
|
1527
|
-
|
|
1527
|
+
on_click: async () => {
|
|
1528
|
+
const files = Array.isArray(ai_generate_image_images_prompt_file_input_manager?.val)
|
|
1529
|
+
? [...ai_generate_image_images_prompt_file_input_manager.val]
|
|
1530
|
+
: []
|
|
1531
|
+
if (selected_image_source && ai_generate_image_include_workspace_in_images_prompt_checkbox_manager?.val) {
|
|
1532
|
+
try {
|
|
1533
|
+
const target_mime = mime_type_input ?? "image/webp"
|
|
1534
|
+
const quality = file_quality_slider_manager?.val ?? 75
|
|
1535
|
+
const data_url = await get_image_data_url(selected_image_source, target_mime, quality)
|
|
1536
|
+
const m = data_url.match(/^data:(.*?);base64,(.*)$/)
|
|
1537
|
+
if (m) {
|
|
1538
|
+
const mime = m[1] || target_mime
|
|
1539
|
+
const bin = atob(m[2])
|
|
1540
|
+
const bytes = new Uint8Array(bin.length)
|
|
1541
|
+
for (let i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i)
|
|
1542
|
+
const ext = mime_type_extensions?.[mime] || "bin"
|
|
1543
|
+
const base =
|
|
1544
|
+
file_name_text_input_manager?.val ||
|
|
1545
|
+
(typeof create_unique_id === "function" ? create_unique_id("image", 6) : "workspace-image")
|
|
1546
|
+
const file = new File([bytes], `${base}.${ext}`, { type: mime })
|
|
1547
|
+
files.push(file)
|
|
1548
|
+
}
|
|
1549
|
+
} catch (e) {
|
|
1550
|
+
console.error("failed to include workspace image", e)
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1553
|
+
await ai_image_generator({
|
|
1528
1554
|
text_prompt: ai_generate_image_from_text_text_input_manager?.val,
|
|
1529
|
-
images_prompt:
|
|
1530
|
-
})
|
|
1555
|
+
images_prompt: files,
|
|
1556
|
+
})
|
|
1557
|
+
},
|
|
1531
1558
|
})
|
|
1532
1559
|
ai_remove_bg_button_manager = create_button_manager({
|
|
1533
1560
|
text: "Remove Background",
|
|
@@ -1861,6 +1888,9 @@ export function create_image_editor_manager(config) {
|
|
|
1861
1888
|
get ai_generate_image_images_prompt_file_input_manager() {
|
|
1862
1889
|
return ai_generate_image_images_prompt_file_input_manager
|
|
1863
1890
|
},
|
|
1891
|
+
get ai_generate_image_include_workspace_in_images_prompt_checkbox_manager() {
|
|
1892
|
+
return ai_generate_image_include_workspace_in_images_prompt_checkbox_manager
|
|
1893
|
+
},
|
|
1864
1894
|
get ai_generate_image_from_text_button_manager() {
|
|
1865
1895
|
return ai_generate_image_from_text_button_manager
|
|
1866
1896
|
},
|
|
@@ -4537,7 +4537,12 @@ export const definitions = {
|
|
|
4537
4537
|
},
|
|
4538
4538
|
ai_generate_image_images_prompt_file_input_manager: {
|
|
4539
4539
|
type: "object",
|
|
4540
|
-
description: "
|
|
4540
|
+
description: "file input manager containing the user’s image prompt for AI image generation",
|
|
4541
|
+
},
|
|
4542
|
+
ai_generate_image_include_workspace_in_images_prompt_checkbox_manager: {
|
|
4543
|
+
type: "object",
|
|
4544
|
+
description:
|
|
4545
|
+
"checkbox input manager containing if include workspace image in image prompt for AI image generation",
|
|
4541
4546
|
},
|
|
4542
4547
|
ai_generate_image_from_text_button_manager: {
|
|
4543
4548
|
type: "object",
|