sveltekit-ui 1.0.51 → 1.0.53
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/Content/index.svelte.js +1 -1
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -1
- package/dist/Components/ContentInput/AttributesInput/index.svelte +8 -0
- package/dist/Components/ContentInput/AttributesInput/index.svelte.js +7 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +1 -1
- package/dist/Components/ContentInput/index.svelte +26 -2
- package/dist/Components/ContentInput/index.svelte.js +31 -1
- package/dist/Components/Qr/index.svelte +5 -2
- package/dist/Components/Qr/index.svelte.js +30 -30
- package/dist/Components/QrInput/index.svelte +45 -0
- package/dist/Components/QrInput/index.svelte.js +212 -0
- package/dist/index.js +2 -0
- package/package.json +5 -5
- package/src/lib/Components/Content/index.svelte.js +1 -1
- package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -1
- package/src/lib/Components/ContentInput/AttributesInput/index.svelte +8 -0
- package/src/lib/Components/ContentInput/AttributesInput/index.svelte.js +7 -0
- package/src/lib/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +1 -1
- package/src/lib/Components/ContentInput/index.svelte +26 -2
- package/src/lib/Components/ContentInput/index.svelte.js +31 -1
- package/src/lib/Components/Qr/index.svelte +5 -2
- package/src/lib/Components/Qr/index.svelte.js +30 -30
- package/src/lib/Components/QrInput/index.svelte +45 -0
- package/src/lib/Components/QrInput/index.svelte.js +212 -0
- package/src/lib/index.js +2 -0
- package/src/routes/+layout.svelte +1 -0
- package/src/routes/[component]/+page.svelte +3 -1
- package/src/routes/[component]/Showcase/ContentInput/index.svelte +892 -107
- package/src/routes/[component]/Showcase/QrInput/index.svelte +38 -0
- package/static/favicon.svg +0 -1
|
@@ -885,7 +885,7 @@ export function create_content_manager(config) {
|
|
|
885
885
|
}
|
|
886
886
|
function set_focused_selector_id(input) {
|
|
887
887
|
if (typeof config?.set_focused_selector_id == "function") {
|
|
888
|
-
config?.set_focused_selector_id(input)
|
|
888
|
+
config?.set_focused_selector_id(input, !!input)
|
|
889
889
|
}
|
|
890
890
|
}
|
|
891
891
|
|
|
@@ -4,7 +4,6 @@ import { create_checkbox_manager } from "../../../../Checkbox/index.svelte.js"
|
|
|
4
4
|
import { create_text_input_manager } from "../../../../TextInput/index.svelte.js"
|
|
5
5
|
import { create_dropdown_manager } from "../../../../Dropdown/index.svelte.js"
|
|
6
6
|
import { create_defined_type_input_manager } from "../../DefinedTypeInput/index.svelte.js"
|
|
7
|
-
import { deep_copy, set_closurable } from "../../../../../client/index.js"
|
|
8
7
|
|
|
9
8
|
export function create_qr_config_manager(config) {
|
|
10
9
|
let margin_slider_manager = $state(null)
|
|
@@ -27,6 +27,14 @@
|
|
|
27
27
|
|
|
28
28
|
<Popover manager={manager?.popover_manager}>
|
|
29
29
|
{#snippet content()}
|
|
30
|
+
<div
|
|
31
|
+
onpointerenter={() => manager?.set_focused_selector_id(manager?.selector_id, true)}
|
|
32
|
+
onpointercancel={() => manager?.set_focused_selector_id(null)}
|
|
33
|
+
onpointerleave={() => manager?.set_focused_selector_id(null)}
|
|
34
|
+
>
|
|
35
|
+
<p class="label">Element ID</p>
|
|
36
|
+
<p>{manager?.selector_id}</p>
|
|
37
|
+
</div>
|
|
30
38
|
{#if manager?.content_type == "number"}
|
|
31
39
|
<NumberConfig manager={manager?.attributes_manager} />
|
|
32
40
|
{:else if manager?.content_type == "dropdown"}
|
|
@@ -48,6 +48,12 @@ export function create_attributes_input_manager(config) {
|
|
|
48
48
|
{ key: "space-evenly", name: "Space Evenly" },
|
|
49
49
|
]
|
|
50
50
|
|
|
51
|
+
function set_focused_selector_id(input) {
|
|
52
|
+
if (typeof config?.set_focused_selector_id == "function") {
|
|
53
|
+
config?.set_focused_selector_id(input)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
51
57
|
function init(config) {
|
|
52
58
|
val_original = set_closurable(config?.val, null)
|
|
53
59
|
content_type = config?.content_type
|
|
@@ -1423,5 +1429,6 @@ export function create_attributes_input_manager(config) {
|
|
|
1423
1429
|
return finish_button_manager
|
|
1424
1430
|
},
|
|
1425
1431
|
init,
|
|
1432
|
+
set_focused_selector_id,
|
|
1426
1433
|
}
|
|
1427
1434
|
}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
onpointercancel={() => manager?.set_focused_selector_id(null)}
|
|
29
29
|
onpointerleave={() => manager?.set_focused_selector_id(null)}
|
|
30
30
|
>
|
|
31
|
-
<div class="el_row">
|
|
31
|
+
<div class="el_row" id={`selector_id_${element_manager?.element?.selector_id}`}>
|
|
32
32
|
{#if element_manager?.element}
|
|
33
33
|
{#if manager?.dragged_over_element_child?.selector_id == element_manager?.element?.selector_id && element_manager?.element?.selector_id != manager?.dragging_selector_id && !manager?.dragged_over_element_child?.is_children}
|
|
34
34
|
<div class="drop_area" style="left: 0; top: 0;">Move Before Element</div>
|
|
@@ -13,9 +13,13 @@
|
|
|
13
13
|
<div class="container">
|
|
14
14
|
<div class="panel_builder">
|
|
15
15
|
{#if panel_header}
|
|
16
|
-
|
|
16
|
+
<div class="panel_header">
|
|
17
|
+
{@render panel_header()}
|
|
18
|
+
</div>
|
|
17
19
|
{/if}
|
|
18
|
-
<
|
|
20
|
+
<div class="panel_scroll" id={`panel_scroll_${manager?.id}`}>
|
|
21
|
+
<ContentPanelBuilder {manager} />
|
|
22
|
+
</div>
|
|
19
23
|
</div>
|
|
20
24
|
<div class="rich_editor">
|
|
21
25
|
<Content manager={manager?.content_manager} overall_manager={manager?.content_overall_manager} />
|
|
@@ -44,12 +48,32 @@
|
|
|
44
48
|
<style>
|
|
45
49
|
.container {
|
|
46
50
|
display: flex;
|
|
51
|
+
max-height: 100dvh;
|
|
52
|
+
min-height: 0;
|
|
47
53
|
}
|
|
48
54
|
.panel_builder {
|
|
49
55
|
width: 35rem;
|
|
56
|
+
display: flex;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
min-height: 0;
|
|
59
|
+
border-right: 1px solid var(--shadow7-t);
|
|
60
|
+
}
|
|
61
|
+
.panel_header {
|
|
62
|
+
position: sticky;
|
|
63
|
+
top: 0;
|
|
64
|
+
z-index: 1;
|
|
65
|
+
background: var(--bg1, #fff);
|
|
66
|
+
}
|
|
67
|
+
.panel_scroll {
|
|
68
|
+
overflow: auto;
|
|
69
|
+
min-height: 0;
|
|
70
|
+
-webkit-overflow-scrolling: touch;
|
|
50
71
|
}
|
|
51
72
|
.rich_editor {
|
|
52
73
|
flex: 1;
|
|
53
74
|
padding: 0 0.5rem;
|
|
75
|
+
overflow: auto;
|
|
76
|
+
min-height: 0;
|
|
77
|
+
-webkit-overflow-scrolling: touch;
|
|
54
78
|
}
|
|
55
79
|
</style>
|
|
@@ -550,8 +550,37 @@ export function create_content_input_manager(config) {
|
|
|
550
550
|
paste_astc_markdown_popover_manager.close()
|
|
551
551
|
}
|
|
552
552
|
|
|
553
|
-
function
|
|
553
|
+
function scroll_to_selector_id(selector_id) {
|
|
554
|
+
const container = document.getElementById(`panel_scroll_${id}`)
|
|
555
|
+
if (!container || !selector_id) return
|
|
556
|
+
const el = container.querySelector(`#selector_id_${selector_id}`)
|
|
557
|
+
if (!el) return
|
|
558
|
+
const el_rect = el.getBoundingClientRect()
|
|
559
|
+
const c_rect = container.getBoundingClientRect()
|
|
560
|
+
const is_visible = el_rect.top >= c_rect.top && el_rect.bottom <= c_rect.bottom
|
|
561
|
+
if (!is_visible) {
|
|
562
|
+
el.scrollIntoView({
|
|
563
|
+
behavior: "smooth",
|
|
564
|
+
block: "center",
|
|
565
|
+
inline: "nearest",
|
|
566
|
+
})
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
function pulse_focus(selector_id) {
|
|
571
|
+
const container = document.getElementById(`panel_scroll_${id}`)
|
|
572
|
+
const el = container?.querySelector(`#selector_id_${selector_id}`)
|
|
573
|
+
if (!el) return
|
|
574
|
+
el.classList.add("focus_pulse")
|
|
575
|
+
setTimeout(() => el.classList.remove("focus_pulse"), 1000)
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
function set_focused_selector_id(selector_id, is_scroll_to = false) {
|
|
554
579
|
focused_selector_id = selector_id
|
|
580
|
+
if (selector_id && is_scroll_to) {
|
|
581
|
+
scroll_to_selector_id(selector_id)
|
|
582
|
+
pulse_focus(selector_id)
|
|
583
|
+
}
|
|
555
584
|
}
|
|
556
585
|
|
|
557
586
|
function add_sibling_el(selector_id, el_type_id, element_to_add = null) {
|
|
@@ -1053,6 +1082,7 @@ export function create_content_input_manager(config) {
|
|
|
1053
1082
|
storage_default_folder_path: storage_default_folder_path,
|
|
1054
1083
|
storage_path: storage_path,
|
|
1055
1084
|
get_defined_options: get_defined_options,
|
|
1085
|
+
set_focused_selector_id: set_focused_selector_id,
|
|
1056
1086
|
})
|
|
1057
1087
|
set_selected_version(0)
|
|
1058
1088
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<div style="display: flex; flex: 0;">
|
|
20
20
|
<div
|
|
21
21
|
class="qr_container"
|
|
22
|
-
style="height: {manager?.size}px; background-color: {manager?.background_color}; border-radius: {manager?.border_radius}rem;
|
|
22
|
+
style="height: {manager?.size}px; background-color: {manager?.background_color}; border-radius: {manager?.border_radius}rem; box-shadow: 0 0 0 {manager?.border_width}px {manager?.border_color};"
|
|
23
23
|
>
|
|
24
24
|
<div style="grid-area: stack;" id={`qr_${manager?.id}`}></div>
|
|
25
25
|
{#if !manager?.is_loaded}
|
|
@@ -31,7 +31,10 @@
|
|
|
31
31
|
</div>
|
|
32
32
|
{#if manager?.is_show_copy}
|
|
33
33
|
<div style="display: flex; flex-wrap: wrap; gap: .5rem; max-width: 30rem;">
|
|
34
|
-
<
|
|
34
|
+
<span
|
|
35
|
+
style="margin: 0; padding: 0 1rem; display: grid; place-content: center; border-radius: 1rem; border: 1px solid var(--shadow4-t);"
|
|
36
|
+
>{manager?.data}</span
|
|
37
|
+
>
|
|
35
38
|
<Button manager={manager?.copy_button_manager} />
|
|
36
39
|
</div>
|
|
37
40
|
{/if}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { create_button_manager } from "../Button/index.svelte.js"
|
|
2
|
-
import { create_text_input_manager } from "../TextInput/index.svelte.js"
|
|
3
2
|
import { create_dropdown_manager } from "../Dropdown/index.svelte.js"
|
|
4
3
|
import { copy_to_clipboard, create_unique_id, deep_copy, set_closurable, color_to_css } from "../../client/index.js"
|
|
5
4
|
import QRCodeStyling from "qr-code-styling"
|
|
@@ -22,10 +21,6 @@ export function create_qr_manager(config) {
|
|
|
22
21
|
let extension = $state(null)
|
|
23
22
|
let quality = $state(null)
|
|
24
23
|
|
|
25
|
-
let is_show_copy = $derived(set_closurable(config?.is_show_copy, false))
|
|
26
|
-
let is_show_download = $derived(set_closurable(config?.is_show_download, false))
|
|
27
|
-
|
|
28
|
-
let text_manager = $state(null)
|
|
29
24
|
let copy_button_manager = $state(null)
|
|
30
25
|
let download_button_manager = $state(null)
|
|
31
26
|
let extention_dropdown_input_manager = $state(null)
|
|
@@ -33,6 +28,9 @@ export function create_qr_manager(config) {
|
|
|
33
28
|
let is_loaded = $state(false)
|
|
34
29
|
let error_message = $state(null)
|
|
35
30
|
|
|
31
|
+
let is_show_copy = $derived(set_closurable(config?.is_show_copy, false))
|
|
32
|
+
let is_show_download = $derived(set_closurable(config?.is_show_download, false))
|
|
33
|
+
|
|
36
34
|
function get_options() {
|
|
37
35
|
// convert "var(--primary-t)" to css the works for qr_ download like oklch(0.67 0.26 203)
|
|
38
36
|
const color_css = get_css_variable_value(color)
|
|
@@ -136,7 +134,31 @@ export function create_qr_manager(config) {
|
|
|
136
134
|
}
|
|
137
135
|
}
|
|
138
136
|
|
|
139
|
-
function
|
|
137
|
+
function set_options(input) {
|
|
138
|
+
margin = input?.margin ?? 10
|
|
139
|
+
size = input?.size ?? 200
|
|
140
|
+
image_size = input?.image_size ?? 0.5
|
|
141
|
+
type_number = input?.type_number ?? 0
|
|
142
|
+
error_correction_level = input?.error_correction_level ?? "Q"
|
|
143
|
+
color = color_to_css(input?.color ?? "var(--primary-t)")
|
|
144
|
+
corner_color = color_to_css(input?.corner_color ?? "color-mix(in oklab, var(--primary-t), var(--bg) 20%)")
|
|
145
|
+
background_color = color_to_css(input?.background_color ?? "var(--shadow1-t)")
|
|
146
|
+
border_color = color_to_css(input?.border_color ?? "var(--shadow7-t)")
|
|
147
|
+
border_radius = input?.border_radius ?? (size + 2 * margin) / 100
|
|
148
|
+
border_width = input?.border_width ?? 1
|
|
149
|
+
data = input?.data ?? null
|
|
150
|
+
image =
|
|
151
|
+
input?.image && input?.image.startsWith("<svg")
|
|
152
|
+
? `data:image/svg+xml;utf8,${encodeURIComponent(input?.image)}`
|
|
153
|
+
: input?.image ?? null
|
|
154
|
+
extension = input?.extension ?? "svg"
|
|
155
|
+
quality = input?.quality ?? 0.8
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function update(input = null) {
|
|
159
|
+
if (input) {
|
|
160
|
+
set_options(input)
|
|
161
|
+
}
|
|
140
162
|
try {
|
|
141
163
|
error_message = null
|
|
142
164
|
const options = get_options()
|
|
@@ -161,27 +183,8 @@ export function create_qr_manager(config) {
|
|
|
161
183
|
// console.log("data_url", data_url)
|
|
162
184
|
// }
|
|
163
185
|
|
|
164
|
-
function init(
|
|
165
|
-
|
|
166
|
-
margin = config?.margin ?? 10
|
|
167
|
-
size = config?.size ?? 200
|
|
168
|
-
image_size = config?.image_size ?? 0.5
|
|
169
|
-
type_number = config?.type_number ?? 0
|
|
170
|
-
error_correction_level = config?.error_correction_level ?? "Q"
|
|
171
|
-
color = color_to_css(config?.color ?? "var(--primary-t)")
|
|
172
|
-
corner_color = color_to_css(config?.corner_color ?? "color-mix(in oklab, var(--primary-t), var(--bg) 20%)")
|
|
173
|
-
background_color = color_to_css(config?.background_color ?? "var(--shadow1-t)")
|
|
174
|
-
border_color = color_to_css(config?.border_color ?? "var(--shadow7-t)")
|
|
175
|
-
border_radius = config?.border_radius ?? (size + 2 * margin) / 100
|
|
176
|
-
border_width = config?.border_width ?? 1
|
|
177
|
-
data = config?.data ?? null
|
|
178
|
-
image = config?.image ?? null
|
|
179
|
-
extension = config?.extension ?? "svg"
|
|
180
|
-
quality = config?.quality ?? 0.8
|
|
181
|
-
text_manager = create_text_input_manager({
|
|
182
|
-
val: data,
|
|
183
|
-
on_change: (input) => (data = input),
|
|
184
|
-
})
|
|
186
|
+
function init(input) {
|
|
187
|
+
set_options(input)
|
|
185
188
|
copy_button_manager = create_button_manager({
|
|
186
189
|
type: "outlined",
|
|
187
190
|
is_uniform: true,
|
|
@@ -269,9 +272,6 @@ export function create_qr_manager(config) {
|
|
|
269
272
|
get is_show_download() {
|
|
270
273
|
return is_show_download
|
|
271
274
|
},
|
|
272
|
-
get text_manager() {
|
|
273
|
-
return text_manager
|
|
274
|
-
},
|
|
275
275
|
get copy_button_manager() {
|
|
276
276
|
return copy_button_manager
|
|
277
277
|
},
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Popover from "../Popover/index.svelte"
|
|
3
|
+
import Button from "../Button/index.svelte"
|
|
4
|
+
import Checkbox from "../Checkbox/index.svelte"
|
|
5
|
+
import Slider from "../Slider/index.svelte"
|
|
6
|
+
import TextInput from "../TextInput/index.svelte"
|
|
7
|
+
import ColorInput from "../ColorInput/index.svelte"
|
|
8
|
+
import Dropdown from "../Dropdown/index.svelte"
|
|
9
|
+
import Qr from "../Qr/index.svelte"
|
|
10
|
+
|
|
11
|
+
let { manager } = $props()
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr)); gap: 1rem;">
|
|
15
|
+
<div>
|
|
16
|
+
<Slider manager={manager?.margin_slider_manager} />
|
|
17
|
+
<Slider manager={manager?.size_slider_manager} />
|
|
18
|
+
<Slider manager={manager?.image_size_slider_manager} />
|
|
19
|
+
<h3 class="label" style="margin: 0;">Type Number</h3>
|
|
20
|
+
<p style="font-size: 1.2rem;">The amount of squares used. 0 is auto.</p>
|
|
21
|
+
<Slider manager={manager?.type_number_slider_manager} />
|
|
22
|
+
<Slider manager={manager?.border_radius_slider_manager} />
|
|
23
|
+
<Slider manager={manager?.border_width_slider_manager} />
|
|
24
|
+
<h3 class="label" style="margin: 0;">Error Correction Level</h3>
|
|
25
|
+
<p style="font-size: 1.2rem;">Amount of data repetition in case part of Qr is not visable.</p>
|
|
26
|
+
<Dropdown manager={manager?.error_correction_level_dropdown_manager} />
|
|
27
|
+
<h3 class="label" style="margin: 0;">Color</h3>
|
|
28
|
+
<ColorInput manager={manager?.color_manager} />
|
|
29
|
+
<h3 class="label" style="margin: 0;">Corner Color</h3>
|
|
30
|
+
<ColorInput manager={manager?.corner_color_manager} />
|
|
31
|
+
<h3 class="label" style="margin: 0;">Background Color</h3>
|
|
32
|
+
<ColorInput manager={manager?.background_color_manager} />
|
|
33
|
+
<h3 class="label" style="margin: 0;">Border Color</h3>
|
|
34
|
+
<ColorInput manager={manager?.border_color_manager} />
|
|
35
|
+
<Checkbox manager={manager?.is_show_copy_checkbox_manager} />
|
|
36
|
+
<Checkbox manager={manager?.is_show_download_checkbox_manager} />
|
|
37
|
+
<TextInput manager={manager?.data_text_input_manager} />
|
|
38
|
+
<TextInput manager={manager?.image_text_input_manager} />
|
|
39
|
+
</div>
|
|
40
|
+
<div style="border: 1px solid var(--shadow4-t); border-radius: 1rem; padding: 1rem;">
|
|
41
|
+
<h2>Result</h2>
|
|
42
|
+
<Button manager={manager?.set_changes_button_manager} />
|
|
43
|
+
<Qr manager={manager?.qr_manager} />
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { create_color_input_manager } from "../ColorInput/index.svelte.js"
|
|
2
|
+
import { create_slider_manager } from "../Slider/index.svelte.js"
|
|
3
|
+
import { create_checkbox_manager } from "../Checkbox/index.svelte.js"
|
|
4
|
+
import { create_text_input_manager } from "../TextInput/index.svelte.js"
|
|
5
|
+
import { create_dropdown_manager } from "../Dropdown/index.svelte.js"
|
|
6
|
+
import { create_button_manager } from "../Button/index.svelte.js"
|
|
7
|
+
import { create_qr_manager } from "../Qr/index.svelte.js"
|
|
8
|
+
|
|
9
|
+
export function create_qr_input_manager(config) {
|
|
10
|
+
let margin_slider_manager = $state(null)
|
|
11
|
+
let size_slider_manager = $state(null)
|
|
12
|
+
let image_size_slider_manager = $state(null)
|
|
13
|
+
let type_number_slider_manager = $state(null)
|
|
14
|
+
let border_radius_slider_manager = $state(null)
|
|
15
|
+
let border_width_slider_manager = $state(null)
|
|
16
|
+
let error_correction_level_dropdown_manager = $state(null)
|
|
17
|
+
let color_manager = $state(null)
|
|
18
|
+
let corner_color_manager = $state(null)
|
|
19
|
+
let background_color_manager = $state(null)
|
|
20
|
+
let border_color_manager = $state(null)
|
|
21
|
+
let data_text_input_manager = $state(null)
|
|
22
|
+
let image_text_input_manager = $state(null)
|
|
23
|
+
let is_show_copy_checkbox_manager = $state(null)
|
|
24
|
+
let is_show_download_checkbox_manager = $state(null)
|
|
25
|
+
let set_changes_button_manager = $state(null)
|
|
26
|
+
let qr_manager = $state(null)
|
|
27
|
+
|
|
28
|
+
let val = $derived({
|
|
29
|
+
margin: margin_slider_manager?.val,
|
|
30
|
+
size: size_slider_manager?.val,
|
|
31
|
+
image_size: image_size_slider_manager?.val,
|
|
32
|
+
type_number: type_number_slider_manager?.val,
|
|
33
|
+
border_radius: border_radius_slider_manager?.val,
|
|
34
|
+
border_width: border_width_slider_manager?.val,
|
|
35
|
+
error_correction_level: error_correction_level_dropdown_manager?.val,
|
|
36
|
+
color: color_manager?.val,
|
|
37
|
+
corner_color: corner_color_manager?.val,
|
|
38
|
+
background_color: background_color_manager?.val,
|
|
39
|
+
border_color: border_color_manager?.val,
|
|
40
|
+
is_show_copy: is_show_copy_checkbox_manager?.val,
|
|
41
|
+
is_show_download: is_show_download_checkbox_manager?.val,
|
|
42
|
+
data: data_text_input_manager?.val,
|
|
43
|
+
image: image_text_input_manager?.val,
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
function set_changes() {
|
|
47
|
+
qr_manager.update(val)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function init(config) {
|
|
51
|
+
margin_slider_manager = create_slider_manager({
|
|
52
|
+
label: "Margin",
|
|
53
|
+
min: 0,
|
|
54
|
+
max: 20,
|
|
55
|
+
step: 1,
|
|
56
|
+
val: config?.val?.margin ?? 10,
|
|
57
|
+
})
|
|
58
|
+
size_slider_manager = create_slider_manager({
|
|
59
|
+
label: "Size",
|
|
60
|
+
min: 50,
|
|
61
|
+
max: 1000,
|
|
62
|
+
step: 1,
|
|
63
|
+
val: config?.val?.size ?? 200,
|
|
64
|
+
})
|
|
65
|
+
image_size_slider_manager = create_slider_manager({
|
|
66
|
+
label: "Image Size",
|
|
67
|
+
min: 0,
|
|
68
|
+
max: 1,
|
|
69
|
+
step: 0.05,
|
|
70
|
+
val: config?.val?.image_size ?? 0.5,
|
|
71
|
+
})
|
|
72
|
+
type_number_slider_manager = create_slider_manager({
|
|
73
|
+
min: 0,
|
|
74
|
+
max: 40,
|
|
75
|
+
step: 1,
|
|
76
|
+
val: config?.val?.type_number ?? 0,
|
|
77
|
+
})
|
|
78
|
+
border_radius_slider_manager = create_slider_manager({
|
|
79
|
+
label: "Border Radius",
|
|
80
|
+
min: 0,
|
|
81
|
+
max: 5,
|
|
82
|
+
step: 0.5,
|
|
83
|
+
val: config?.val?.border_radius ?? 2,
|
|
84
|
+
})
|
|
85
|
+
border_width_slider_manager = create_slider_manager({
|
|
86
|
+
label: "Border Width",
|
|
87
|
+
min: 0,
|
|
88
|
+
max: 5,
|
|
89
|
+
step: 1,
|
|
90
|
+
val: config?.val?.border_width ?? 1,
|
|
91
|
+
})
|
|
92
|
+
error_correction_level_dropdown_manager = create_dropdown_manager({
|
|
93
|
+
is_button_compressed: true,
|
|
94
|
+
options: [
|
|
95
|
+
{ key: "L", name: "L" },
|
|
96
|
+
{ key: "M", name: "M" },
|
|
97
|
+
{ key: "Q", name: "Q" },
|
|
98
|
+
{ key: "H", name: "H" },
|
|
99
|
+
],
|
|
100
|
+
val: config?.val?.error_correction_level ?? "Q",
|
|
101
|
+
})
|
|
102
|
+
color_manager = create_color_input_manager({
|
|
103
|
+
is_show_opacity: false,
|
|
104
|
+
l_options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
105
|
+
val: config?.val?.color ?? null,
|
|
106
|
+
})
|
|
107
|
+
corner_color_manager = create_color_input_manager({
|
|
108
|
+
is_show_opacity: false,
|
|
109
|
+
l_options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
110
|
+
val: config?.val?.corner_color ?? null,
|
|
111
|
+
})
|
|
112
|
+
background_color_manager = create_color_input_manager({
|
|
113
|
+
is_show_opacity: false,
|
|
114
|
+
l_options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
115
|
+
val: config?.val?.background_color ?? null,
|
|
116
|
+
})
|
|
117
|
+
border_color_manager = create_color_input_manager({
|
|
118
|
+
is_show_opacity: false,
|
|
119
|
+
l_options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
120
|
+
val: config?.val?.border_color ?? null,
|
|
121
|
+
})
|
|
122
|
+
is_show_copy_checkbox_manager = create_checkbox_manager({
|
|
123
|
+
type: "toggle",
|
|
124
|
+
label: "Is Show Copy",
|
|
125
|
+
val: config?.val?.is_show_copy ?? true,
|
|
126
|
+
})
|
|
127
|
+
is_show_download_checkbox_manager = create_checkbox_manager({
|
|
128
|
+
type: "toggle",
|
|
129
|
+
label: "Is Show Download",
|
|
130
|
+
val: config?.val?.is_show_download ?? true,
|
|
131
|
+
})
|
|
132
|
+
data_text_input_manager = create_text_input_manager({
|
|
133
|
+
label: "Data",
|
|
134
|
+
val: config?.val?.data ?? "https://www.sveltekit-ui.com",
|
|
135
|
+
})
|
|
136
|
+
image_text_input_manager = create_text_input_manager({
|
|
137
|
+
type: "text",
|
|
138
|
+
label: "Image Url / SVG",
|
|
139
|
+
val:
|
|
140
|
+
config?.val?.image_url ??
|
|
141
|
+
"https://firmcmccxfdethzdexal.supabase.co/storage/v1/object/public/site/test/icon.png",
|
|
142
|
+
})
|
|
143
|
+
qr_manager = create_qr_manager(val)
|
|
144
|
+
set_changes_button_manager = create_button_manager({
|
|
145
|
+
c: 1,
|
|
146
|
+
l: 0,
|
|
147
|
+
mb: 2,
|
|
148
|
+
text: "Set Changes",
|
|
149
|
+
is_compressed: true,
|
|
150
|
+
on_click: () => set_changes(),
|
|
151
|
+
})
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
init(config)
|
|
155
|
+
|
|
156
|
+
return {
|
|
157
|
+
get val() {
|
|
158
|
+
return val
|
|
159
|
+
},
|
|
160
|
+
get margin_slider_manager() {
|
|
161
|
+
return margin_slider_manager
|
|
162
|
+
},
|
|
163
|
+
get size_slider_manager() {
|
|
164
|
+
return size_slider_manager
|
|
165
|
+
},
|
|
166
|
+
get image_size_slider_manager() {
|
|
167
|
+
return image_size_slider_manager
|
|
168
|
+
},
|
|
169
|
+
get type_number_slider_manager() {
|
|
170
|
+
return type_number_slider_manager
|
|
171
|
+
},
|
|
172
|
+
get border_radius_slider_manager() {
|
|
173
|
+
return border_radius_slider_manager
|
|
174
|
+
},
|
|
175
|
+
get border_width_slider_manager() {
|
|
176
|
+
return border_width_slider_manager
|
|
177
|
+
},
|
|
178
|
+
get error_correction_level_dropdown_manager() {
|
|
179
|
+
return error_correction_level_dropdown_manager
|
|
180
|
+
},
|
|
181
|
+
get color_manager() {
|
|
182
|
+
return color_manager
|
|
183
|
+
},
|
|
184
|
+
get corner_color_manager() {
|
|
185
|
+
return corner_color_manager
|
|
186
|
+
},
|
|
187
|
+
get background_color_manager() {
|
|
188
|
+
return background_color_manager
|
|
189
|
+
},
|
|
190
|
+
get border_color_manager() {
|
|
191
|
+
return border_color_manager
|
|
192
|
+
},
|
|
193
|
+
get data_text_input_manager() {
|
|
194
|
+
return data_text_input_manager
|
|
195
|
+
},
|
|
196
|
+
get image_text_input_manager() {
|
|
197
|
+
return image_text_input_manager
|
|
198
|
+
},
|
|
199
|
+
get is_show_copy_checkbox_manager() {
|
|
200
|
+
return is_show_copy_checkbox_manager
|
|
201
|
+
},
|
|
202
|
+
get is_show_download_checkbox_manager() {
|
|
203
|
+
return is_show_download_checkbox_manager
|
|
204
|
+
},
|
|
205
|
+
get set_changes_button_manager() {
|
|
206
|
+
return set_changes_button_manager
|
|
207
|
+
},
|
|
208
|
+
get qr_manager() {
|
|
209
|
+
return qr_manager
|
|
210
|
+
},
|
|
211
|
+
}
|
|
212
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,8 @@ export { default as Tag } from "./Components/Tag/index.svelte"
|
|
|
20
20
|
export { create_tag_manager } from "./Components/Tag/index.svelte.js"
|
|
21
21
|
export { default as Qr } from "./Components/Qr/index.svelte"
|
|
22
22
|
export { create_qr_manager } from "./Components/Qr/index.svelte.js"
|
|
23
|
+
export { default as QrInput } from "./Components/QrInput/index.svelte"
|
|
24
|
+
export { create_qr_input_manager } from "./Components/QrInput/index.svelte.js"
|
|
23
25
|
export { default as Json } from "./Components/Json/index.svelte"
|
|
24
26
|
export { create_json_manager } from "./Components/Json/index.svelte.js"
|
|
25
27
|
export { default as Image } from "./Components/Image/index.svelte"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sveltekit-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.53",
|
|
4
4
|
"description": "A SvelteKit UI component library for building modern web applications",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -19,19 +19,19 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"context-filter-polyfill": "^0.3.23",
|
|
21
21
|
"qr-code-styling": "^1.9.2",
|
|
22
|
-
"svelte": "^5.38.
|
|
22
|
+
"svelte": "^5.38.8"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@sveltejs/kit": "^2.22.2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@sveltejs/adapter-vercel": "^5.10.2",
|
|
29
|
-
"@sveltejs/kit": "^2.
|
|
29
|
+
"@sveltejs/kit": "^2.38.0",
|
|
30
30
|
"@sveltejs/package": "^2.5.0",
|
|
31
|
-
"@sveltejs/vite-plugin-svelte": "^6.
|
|
31
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.0",
|
|
32
32
|
"@vercel/analytics": "^1.5.0",
|
|
33
33
|
"typescript": "^5.9.2",
|
|
34
|
-
"vite": "^7.1.
|
|
34
|
+
"vite": "^7.1.5"
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://www.sveltekit-ui.com",
|
|
37
37
|
"keywords": [
|
|
@@ -885,7 +885,7 @@ export function create_content_manager(config) {
|
|
|
885
885
|
}
|
|
886
886
|
function set_focused_selector_id(input) {
|
|
887
887
|
if (typeof config?.set_focused_selector_id == "function") {
|
|
888
|
-
config?.set_focused_selector_id(input)
|
|
888
|
+
config?.set_focused_selector_id(input, !!input)
|
|
889
889
|
}
|
|
890
890
|
}
|
|
891
891
|
|
|
@@ -4,7 +4,6 @@ import { create_checkbox_manager } from "$lib/Components/Checkbox/index.svelte.j
|
|
|
4
4
|
import { create_text_input_manager } from "$lib/Components/TextInput/index.svelte.js"
|
|
5
5
|
import { create_dropdown_manager } from "$lib/Components/Dropdown/index.svelte.js"
|
|
6
6
|
import { create_defined_type_input_manager } from "$lib/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js"
|
|
7
|
-
import { deep_copy, set_closurable } from "$lib/client/index.js"
|
|
8
7
|
|
|
9
8
|
export function create_qr_config_manager(config) {
|
|
10
9
|
let margin_slider_manager = $state(null)
|
|
@@ -27,6 +27,14 @@
|
|
|
27
27
|
|
|
28
28
|
<Popover manager={manager?.popover_manager}>
|
|
29
29
|
{#snippet content()}
|
|
30
|
+
<div
|
|
31
|
+
onpointerenter={() => manager?.set_focused_selector_id(manager?.selector_id, true)}
|
|
32
|
+
onpointercancel={() => manager?.set_focused_selector_id(null)}
|
|
33
|
+
onpointerleave={() => manager?.set_focused_selector_id(null)}
|
|
34
|
+
>
|
|
35
|
+
<p class="label">Element ID</p>
|
|
36
|
+
<p>{manager?.selector_id}</p>
|
|
37
|
+
</div>
|
|
30
38
|
{#if manager?.content_type == "number"}
|
|
31
39
|
<NumberConfig manager={manager?.attributes_manager} />
|
|
32
40
|
{:else if manager?.content_type == "dropdown"}
|
|
@@ -48,6 +48,12 @@ export function create_attributes_input_manager(config) {
|
|
|
48
48
|
{ key: "space-evenly", name: "Space Evenly" },
|
|
49
49
|
]
|
|
50
50
|
|
|
51
|
+
function set_focused_selector_id(input) {
|
|
52
|
+
if (typeof config?.set_focused_selector_id == "function") {
|
|
53
|
+
config?.set_focused_selector_id(input)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
51
57
|
function init(config) {
|
|
52
58
|
val_original = set_closurable(config?.val, null)
|
|
53
59
|
content_type = config?.content_type
|
|
@@ -1423,5 +1429,6 @@ export function create_attributes_input_manager(config) {
|
|
|
1423
1429
|
return finish_button_manager
|
|
1424
1430
|
},
|
|
1425
1431
|
init,
|
|
1432
|
+
set_focused_selector_id,
|
|
1426
1433
|
}
|
|
1427
1434
|
}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
onpointercancel={() => manager?.set_focused_selector_id(null)}
|
|
29
29
|
onpointerleave={() => manager?.set_focused_selector_id(null)}
|
|
30
30
|
>
|
|
31
|
-
<div class="el_row">
|
|
31
|
+
<div class="el_row" id={`selector_id_${element_manager?.element?.selector_id}`}>
|
|
32
32
|
{#if element_manager?.element}
|
|
33
33
|
{#if manager?.dragged_over_element_child?.selector_id == element_manager?.element?.selector_id && element_manager?.element?.selector_id != manager?.dragging_selector_id && !manager?.dragged_over_element_child?.is_children}
|
|
34
34
|
<div class="drop_area" style="left: 0; top: 0;">Move Before Element</div>
|