sveltekit-ui 1.1.16 → 1.1.18

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 (44) hide show
  1. package/dist/Components/Alert/index.svelte +88 -0
  2. package/dist/Components/Alert/index.svelte.js +101 -0
  3. package/dist/Components/Audio/index.svelte +193 -0
  4. package/dist/Components/Audio/index.svelte.js +463 -0
  5. package/dist/Components/AuthCodeInput/index.svelte +85 -0
  6. package/dist/Components/AuthCodeInput/index.svelte.js +95 -0
  7. package/dist/Components/Button/index.svelte +721 -0
  8. package/dist/Components/Button/index.svelte.js +375 -0
  9. package/dist/Components/Checkbox/index.svelte +411 -0
  10. package/dist/Components/Checkbox/index.svelte.js +178 -0
  11. package/dist/Components/Code/index.svelte +23 -0
  12. package/dist/Components/Code/index.svelte.js +33 -0
  13. package/dist/Components/EmailAddress/index.svelte +22 -0
  14. package/dist/Components/EmailAddress/index.svelte.js +45 -0
  15. package/dist/Components/Eye/index.svelte +57 -0
  16. package/dist/Components/Icon/index.svelte +412 -0
  17. package/dist/Components/Icon/index.svelte.js +116 -0
  18. package/dist/Components/InfoBox/index.svelte +89 -0
  19. package/dist/Components/Json/index.svelte +60 -0
  20. package/dist/Components/Json/index.svelte.js +594 -0
  21. package/dist/Components/Link/index.svelte +47 -0
  22. package/dist/Components/Link/index.svelte.js +136 -0
  23. package/dist/Components/LoadingSuccessDiv/index.svelte +51 -0
  24. package/dist/Components/Location/index.svelte +79 -0
  25. package/dist/Components/Location/index.svelte.js +288 -0
  26. package/dist/Components/PhoneNumber/index.svelte +22 -0
  27. package/dist/Components/PhoneNumber/index.svelte.js +41 -0
  28. package/dist/Components/Qr/index.svelte +85 -0
  29. package/dist/Components/Qr/index.svelte.js +301 -0
  30. package/dist/Components/QrInput/index.svelte +47 -0
  31. package/dist/Components/QrInput/index.svelte.js +218 -0
  32. package/dist/Components/Slider/index.svelte +239 -0
  33. package/dist/Components/Slider/index.svelte.js +469 -0
  34. package/dist/Components/SuccessCheck/index.svelte +56 -0
  35. package/dist/Components/TableAdvanced/index.svelte +275 -0
  36. package/dist/Components/TableAdvanced/index.svelte.js +1565 -0
  37. package/dist/Components/TextInput/index.svelte +223 -0
  38. package/dist/Components/TextInput/index.svelte.js +447 -0
  39. package/dist/Components/Time/index.svelte +7 -0
  40. package/dist/Components/Time/index.svelte.js +38 -0
  41. package/dist/Components/VideoTBD/index.svelte +100 -0
  42. package/dist/Components/XPost/index.svelte +52 -0
  43. package/dist/Components/XPost/index.svelte.js +64 -0
  44. package/package.json +1 -1
@@ -0,0 +1,375 @@
1
+ import { create_unique_id, set_closurable } from "../../client/index.js"
2
+ import { create_icon_manager } from "../Icon/index.svelte.js"
3
+
4
+ export function create_button_manager(config) {
5
+ const id = create_unique_id(null, 20)
6
+
7
+ let type = $derived(set_closurable(config?.type, "primary")) // primary, outlined, soft, plain
8
+ let support_icon = $derived(set_closurable(config?.support_icon, null))
9
+ let is_icon_bg_tint = $derived(set_closurable(config?.is_icon_bg_tint, false))
10
+ let icon_deg = $derived(set_closurable(config?.icon_deg, 0))
11
+ let icon_sw = $derived(set_closurable(config?.icon_sw, 0))
12
+ let icon_size = $derived(set_closurable(config?.icon_size, 1.8))
13
+ let icon_ml = $derived(set_closurable(config?.icon_ml, 0))
14
+ let icon_mr = $derived(set_closurable(config?.icon_mr, 0))
15
+ let icon_pos = $derived(set_closurable(config?.icon_pos, "right"))
16
+ let is_icon_shimmyable = $derived(set_closurable(config?.is_icon_shimmyable, false))
17
+ let icon_movement_stiffness = $derived(set_closurable(config?.icon_movement_stiffness, 0.1))
18
+ let icon_movement_damping = $derived(set_closurable(config?.icon_movement_damping, 0.1))
19
+ let aria_label = $derived(set_closurable(config?.aria_label, null))
20
+ let popover_target = $derived(set_closurable(config?.popover_target, null))
21
+ let is_no_wrap = $derived(set_closurable(config?.is_no_wrap, false))
22
+ let is_word_break_all = $derived(set_closurable(config?.is_word_break_all, false))
23
+ let is_success_animation = $derived(set_closurable(config?.is_success_animation, false))
24
+ let ml = $derived(set_closurable(config?.ml, 0))
25
+ let mr = $derived(set_closurable(config?.mr, 0))
26
+ let mt = $derived(set_closurable(config?.mt, 0))
27
+ let mb = $derived(set_closurable(config?.mb, 0))
28
+ let pl = $derived(set_closurable(config?.pl, 1.1))
29
+ let pr = $derived(set_closurable(config?.pr, 1.1))
30
+ let pt = $derived(set_closurable(config?.pt, 0.3))
31
+ let pb = $derived(set_closurable(config?.pb, 0.3))
32
+ let border_radius = $derived(set_closurable(config?.border_radius, 1))
33
+ let tabindex = $derived(set_closurable(config?.tabindex, 0))
34
+ let is_prevent_default = $derived(set_closurable(config?.is_prevent_default, false))
35
+ let is_stop_propagation = $derived(set_closurable(config?.is_stop_propagation, false))
36
+ let min_height = $derived(set_closurable(config?.min_height, 3.4))
37
+ let fixed_width = $derived(set_closurable(config?.fixed_width, null))
38
+ let min_width = $derived(set_closurable(config?.min_width, null))
39
+ let is_compressed = $derived(set_closurable(config?.is_compressed, false))
40
+ let is_pill = $derived(set_closurable(config?.is_pill, false))
41
+ let is_uniform = $derived(set_closurable(config?.is_uniform, false))
42
+ let cursor = $derived(set_closurable(config?.cursor, "pointer"))
43
+ let text_align = $derived(set_closurable(config?.text_align, "center"))
44
+ let font_size = $derived(set_closurable(config?.font_size, 1.6))
45
+ let line_height = $derived(set_closurable(config?.line_height, 1.2))
46
+ let font_weight = $derived(set_closurable(config?.font_weight, 400))
47
+ let h = $derived(set_closurable(config?.h, null))
48
+ let c = $derived(set_closurable(config?.c, null))
49
+ let l = $derived(set_closurable(config?.l, null))
50
+ let color = $derived(
51
+ set_closurable(config?.color, null) ??
52
+ `oklch(var(--l${Math.min(Math.max(l != null ? l : type == "primary" ? 8 : 2, 0), 24)}-t) ${
53
+ Number.isInteger(c)
54
+ ? `var(--c${Math.min(Math.max(c, 0), 24)})`
55
+ : type == "primary"
56
+ ? "var(--primary-c)"
57
+ : "var(--c3)"
58
+ } ${h != null ? `var(--h${Math.min(Math.max(h, 0), 24)})` : "var(--primary-h)"})`
59
+ )
60
+ let gradient_to_color = $derived(set_closurable(config?.gradient_to_color, color))
61
+ let gradient_turn = $derived(set_closurable(config?.gradient_turn, 0.3))
62
+ let contrast_color = $derived(
63
+ set_closurable(
64
+ config?.contrast_color,
65
+ `oklch(var(--l${Math.min(Math.max(l != null ? l : 4, 1), 24) > 12 ? 3 : 22}-t) var(--c${Math.min(
66
+ Math.max(c != null ? c : 2, 1),
67
+ 3
68
+ )}) ${h ? `var(--h${Math.min(Math.max(h, 0), 24)})` : "var(--primary-h)"})`
69
+ )
70
+ )
71
+ let border_color = $derived(set_closurable(config?.border_color, null))
72
+ let hover_shadow_color = $derived(set_closurable(config?.hover_shadow_color, "transparent"))
73
+ let hover_shadow_size = $derived(set_closurable(config?.hover_shadow_size, 1))
74
+ let text = $derived(set_closurable(config?.text, null))
75
+ let is_loading = $derived(set_closurable(config?.is_loading, false))
76
+ let is_disabled = $derived(set_closurable(config?.is_disabled, false))
77
+ let selected_type = $derived(set_closurable(config?.selected_type, null))
78
+
79
+ let is_error = $state(false)
80
+ let is_success = $state(false)
81
+ let icon_manager = $state(null)
82
+
83
+ let is_hovered = $state(false)
84
+ let is_pointer_down = $state(false)
85
+ let is_simulated_active = $state(config?.is_simulated_active || false)
86
+
87
+ function success_trigger() {
88
+ is_error = false
89
+ is_success = true
90
+ setTimeout(() => {
91
+ is_success = false
92
+ }, 1400)
93
+ }
94
+
95
+ function error_trigger() {
96
+ is_success = false
97
+ is_error = true
98
+ setTimeout(() => {
99
+ is_error = false
100
+ }, 1400)
101
+ }
102
+
103
+ function icon_shimmy_trigger() {
104
+ if (typeof icon_manager?.trigger_shimmy == "function") {
105
+ icon_manager.trigger_shimmy()
106
+ }
107
+ }
108
+
109
+ function handle_click(e) {
110
+ if (is_prevent_default) {
111
+ e.preventDefault()
112
+ }
113
+ if (is_stop_propagation) {
114
+ e.stopPropagation()
115
+ }
116
+ if (is_success_animation) {
117
+ success_trigger()
118
+ }
119
+ if (config?.on_click) {
120
+ config?.on_click()
121
+ }
122
+ }
123
+
124
+ function pointer_down() {
125
+ is_pointer_down = true
126
+ }
127
+
128
+ function pointer_up() {
129
+ is_pointer_down = false
130
+ }
131
+
132
+ function pointer_enter() {
133
+ is_hovered = true
134
+ if (config?.on_hover) {
135
+ config?.on_hover(true)
136
+ }
137
+ icon_shimmy_trigger()
138
+ }
139
+
140
+ function pointer_leave() {
141
+ is_hovered = false
142
+ if (config?.on_hover) {
143
+ config?.on_hover(false)
144
+ }
145
+ }
146
+
147
+ function simulate_click() {
148
+ is_simulated_active = true
149
+ setTimeout(() => {
150
+ is_simulated_active = false
151
+ }, 800)
152
+ }
153
+
154
+ function focus() {
155
+ let button_el = document?.querySelector(`#button_${id}`)
156
+ if (button_el) {
157
+ button_el.focus()
158
+ }
159
+ }
160
+
161
+ function init(config) {
162
+ if (support_icon) {
163
+ icon_manager = create_icon_manager({
164
+ icon_id: () => support_icon,
165
+ size: () => icon_size,
166
+ sw: () => (icon_sw ? icon_sw : min_height > 0 ? min_height * 12 : 40),
167
+ color: () =>
168
+ is_disabled
169
+ ? "var(--g6-t)"
170
+ : type == "primary" || (type == "outlined" && selected_type)
171
+ ? is_pointer_down
172
+ ? "oklch(from var(--contrast_color) calc(l - var(--l-shift-t)) calc(c + 0.01) h)"
173
+ : is_hovered
174
+ ? "oklch(from var(--contrast_color) calc(l + var(--l-shift-t)) calc(c + 0.01) h)"
175
+ : contrast_color
176
+ : is_pointer_down
177
+ ? "oklch(from var(--color) calc(l - var(--l-shift-t)) calc(c + 0.01) h)"
178
+ : is_hovered
179
+ ? "oklch(from var(--color) calc(l + var(--l-shift-t)) calc(c + 0.01) h)"
180
+ : color,
181
+ deg: () => icon_deg,
182
+ is_shimmyable: () => is_icon_shimmyable && !is_loading && !is_disabled,
183
+ movement_stiffness: () => icon_movement_stiffness,
184
+ movement_damping: () => icon_movement_damping,
185
+ })
186
+ }
187
+ }
188
+
189
+ init(config)
190
+
191
+ return {
192
+ id,
193
+ get type() {
194
+ return type
195
+ },
196
+ get ml() {
197
+ return ml
198
+ },
199
+ get mr() {
200
+ return mr
201
+ },
202
+ get mt() {
203
+ return mt
204
+ },
205
+ get mb() {
206
+ return mb
207
+ },
208
+ get pl() {
209
+ return pl
210
+ },
211
+ get pr() {
212
+ return pr
213
+ },
214
+ get pt() {
215
+ return pt
216
+ },
217
+ get pb() {
218
+ return pb
219
+ },
220
+ get border_radius() {
221
+ return border_radius
222
+ },
223
+ get is_loading() {
224
+ return is_loading
225
+ },
226
+ get is_pointer_down() {
227
+ return is_pointer_down
228
+ },
229
+ get is_prevent_default() {
230
+ return is_prevent_default
231
+ },
232
+ get is_stop_propagation() {
233
+ return is_stop_propagation
234
+ },
235
+ get tabindex() {
236
+ return tabindex
237
+ },
238
+ get is_disabled() {
239
+ return is_disabled
240
+ },
241
+ get selected_type() {
242
+ return selected_type
243
+ },
244
+ get is_hovered() {
245
+ return is_hovered
246
+ },
247
+ get min_height() {
248
+ return min_height
249
+ },
250
+ get fixed_width() {
251
+ return fixed_width
252
+ },
253
+ get min_width() {
254
+ return min_width
255
+ },
256
+ get is_compressed() {
257
+ return is_compressed
258
+ },
259
+ get is_pill() {
260
+ return is_pill
261
+ },
262
+ get is_uniform() {
263
+ return is_uniform
264
+ },
265
+ get cursor() {
266
+ return cursor
267
+ },
268
+ get text_align() {
269
+ return text_align
270
+ },
271
+ get text() {
272
+ return text
273
+ },
274
+ get is_success_animation() {
275
+ return is_success_animation
276
+ },
277
+ get font_size() {
278
+ return font_size
279
+ },
280
+ get line_height() {
281
+ return line_height
282
+ },
283
+ get font_weight() {
284
+ return font_weight
285
+ },
286
+ get color() {
287
+ return color
288
+ },
289
+ get gradient_to_color() {
290
+ return gradient_to_color
291
+ },
292
+ get gradient_turn() {
293
+ return gradient_turn
294
+ },
295
+ get contrast_color() {
296
+ return contrast_color
297
+ },
298
+ get border_color() {
299
+ return border_color
300
+ },
301
+ get hover_shadow_color() {
302
+ return hover_shadow_color
303
+ },
304
+ get hover_shadow_size() {
305
+ return hover_shadow_size
306
+ },
307
+ get support_icon() {
308
+ return support_icon
309
+ },
310
+ get is_icon_bg_tint() {
311
+ return is_icon_bg_tint
312
+ },
313
+ get icon_deg() {
314
+ return icon_deg
315
+ },
316
+ get icon_sw() {
317
+ return icon_sw
318
+ },
319
+ get icon_size() {
320
+ return icon_size
321
+ },
322
+ get icon_ml() {
323
+ return icon_ml
324
+ },
325
+ get icon_mr() {
326
+ return icon_mr
327
+ },
328
+ get icon_pos() {
329
+ return icon_pos
330
+ },
331
+ get is_icon_shimmyable() {
332
+ return is_icon_shimmyable
333
+ },
334
+ get icon_movement_stiffness() {
335
+ return icon_movement_stiffness
336
+ },
337
+ get icon_movement_damping() {
338
+ return icon_movement_damping
339
+ },
340
+ get aria_label() {
341
+ return aria_label
342
+ },
343
+ get popover_target() {
344
+ return popover_target
345
+ },
346
+ get is_no_wrap() {
347
+ return is_no_wrap
348
+ },
349
+ get is_word_break_all() {
350
+ return is_word_break_all
351
+ },
352
+ get is_simulated_active() {
353
+ return is_simulated_active
354
+ },
355
+ get is_success() {
356
+ return is_success
357
+ },
358
+ get is_error() {
359
+ return is_error
360
+ },
361
+ get icon_manager() {
362
+ return icon_manager
363
+ },
364
+ success_trigger,
365
+ error_trigger,
366
+ icon_shimmy_trigger,
367
+ handle_click,
368
+ pointer_down,
369
+ pointer_up,
370
+ pointer_enter,
371
+ pointer_leave,
372
+ simulate_click,
373
+ focus,
374
+ }
375
+ }