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.
Files changed (30) hide show
  1. package/dist/Components/Content/index.svelte.js +1 -1
  2. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -1
  3. package/dist/Components/ContentInput/AttributesInput/index.svelte +8 -0
  4. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +7 -0
  5. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +1 -1
  6. package/dist/Components/ContentInput/index.svelte +26 -2
  7. package/dist/Components/ContentInput/index.svelte.js +31 -1
  8. package/dist/Components/Qr/index.svelte +5 -2
  9. package/dist/Components/Qr/index.svelte.js +30 -30
  10. package/dist/Components/QrInput/index.svelte +45 -0
  11. package/dist/Components/QrInput/index.svelte.js +212 -0
  12. package/dist/index.js +2 -0
  13. package/package.json +5 -5
  14. package/src/lib/Components/Content/index.svelte.js +1 -1
  15. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -1
  16. package/src/lib/Components/ContentInput/AttributesInput/index.svelte +8 -0
  17. package/src/lib/Components/ContentInput/AttributesInput/index.svelte.js +7 -0
  18. package/src/lib/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +1 -1
  19. package/src/lib/Components/ContentInput/index.svelte +26 -2
  20. package/src/lib/Components/ContentInput/index.svelte.js +31 -1
  21. package/src/lib/Components/Qr/index.svelte +5 -2
  22. package/src/lib/Components/Qr/index.svelte.js +30 -30
  23. package/src/lib/Components/QrInput/index.svelte +45 -0
  24. package/src/lib/Components/QrInput/index.svelte.js +212 -0
  25. package/src/lib/index.js +2 -0
  26. package/src/routes/+layout.svelte +1 -0
  27. package/src/routes/[component]/+page.svelte +3 -1
  28. package/src/routes/[component]/Showcase/ContentInput/index.svelte +892 -107
  29. package/src/routes/[component]/Showcase/QrInput/index.svelte +38 -0
  30. package/static/favicon.svg +0 -1
@@ -13,9 +13,13 @@
13
13
  <div class="container">
14
14
  <div class="panel_builder">
15
15
  {#if panel_header}
16
- {@render panel_header()}
16
+ <div class="panel_header">
17
+ {@render panel_header()}
18
+ </div>
17
19
  {/if}
18
- <ContentPanelBuilder {manager} />
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 set_focused_selector_id(selector_id) {
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; border: {manager?.border_width}px solid {manager?.border_color};"
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
- <TextInput manager={manager?.text_manager} />
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 "$lib/Components/Button/index.svelte.js"
2
- import { create_text_input_manager } from "$lib/Components/TextInput/index.svelte.js"
3
2
  import { create_dropdown_manager } from "$lib/Components/Dropdown/index.svelte.js"
4
3
  import { copy_to_clipboard, create_unique_id, deep_copy, set_closurable, color_to_css } from "$lib/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 update() {
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(config) {
165
- config = deep_copy(config)
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 "$lib/Components/Popover/index.svelte"
3
+ import Button from "$lib/Components/Button/index.svelte"
4
+ import Checkbox from "$lib/Components/Checkbox/index.svelte"
5
+ import Slider from "$lib/Components/Slider/index.svelte"
6
+ import TextInput from "$lib/Components/TextInput/index.svelte"
7
+ import ColorInput from "$lib/Components/ColorInput/index.svelte"
8
+ import Dropdown from "$lib/Components/Dropdown/index.svelte"
9
+ import Qr from "$lib/Components/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 "$lib/Components/ColorInput/index.svelte.js"
2
+ import { create_slider_manager } from "$lib/Components/Slider/index.svelte.js"
3
+ import { create_checkbox_manager } from "$lib/Components/Checkbox/index.svelte.js"
4
+ import { create_text_input_manager } from "$lib/Components/TextInput/index.svelte.js"
5
+ import { create_dropdown_manager } from "$lib/Components/Dropdown/index.svelte.js"
6
+ import { create_button_manager } from "$lib/Components/Button/index.svelte.js"
7
+ import { create_qr_manager } from "$lib/Components/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/src/lib/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"
@@ -63,6 +63,7 @@
63
63
  { name: "Number", key: "number" },
64
64
  { name: "Popover", key: "popover" },
65
65
  { name: "Qr", key: "qr" },
66
+ { name: "QrInput", key: "qr_input" },
66
67
  { name: "Slider", key: "slider" },
67
68
  { name: "Spacer", key: "spacer" },
68
69
  { name: "StoragePicker", key: "storage_picker" },
@@ -18,7 +18,6 @@
18
18
  import CronInputShowcase from "./Showcase/CronInput/index.svelte"
19
19
  import DropdownShowcase from "./Showcase/Dropdown/index.svelte"
20
20
  import FileInputShowcase from "./Showcase/FileInput/index.svelte"
21
- // import FunctionInputShowcase from "./Showcase/FunctionInput/index.svelte"
22
21
  import IconInputShowcase from "./Showcase/IconInput/index.svelte"
23
22
  import IconShowcase from "./Showcase/Icon/index.svelte"
24
23
  import ImageShowcase from "./Showcase/Image/index.svelte"
@@ -34,6 +33,7 @@
34
33
  import NumberShowcase from "./Showcase/Number/index.svelte"
35
34
  import PopoverShowcase from "./Showcase/Popover/index.svelte"
36
35
  import QrShowcase from "./Showcase/Qr/index.svelte"
36
+ import QrInputShowcase from "./Showcase/QrInput/index.svelte"
37
37
  import SliderShowcase from "./Showcase/Slider/index.svelte"
38
38
  import SpacerShowcase from "./Showcase/Spacer/index.svelte"
39
39
  import StoragePickerShowcase from "./Showcase/StoragePicker/index.svelte"
@@ -133,6 +133,8 @@
133
133
  <PopoverShowcase />
134
134
  {:else if page?.params?.component == "qr"}
135
135
  <QrShowcase />
136
+ {:else if page?.params?.component == "qr_input"}
137
+ <QrInputShowcase />
136
138
  {:else if page?.params?.component == "slider"}
137
139
  <SliderShowcase />
138
140
  {:else if page?.params?.component == "spacer"}