sveltekit-ui 1.1.14 → 1.1.16

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 (45) hide show
  1. package/package.json +4 -4
  2. package/src/routes/+page.svelte +24 -0
  3. package/dist/Components/Alert/index.svelte +0 -88
  4. package/dist/Components/Alert/index.svelte.js +0 -101
  5. package/dist/Components/Audio/index.svelte +0 -193
  6. package/dist/Components/Audio/index.svelte.js +0 -463
  7. package/dist/Components/AuthCodeInput/index.svelte +0 -85
  8. package/dist/Components/AuthCodeInput/index.svelte.js +0 -95
  9. package/dist/Components/Button/index.svelte +0 -721
  10. package/dist/Components/Button/index.svelte.js +0 -375
  11. package/dist/Components/Checkbox/index.svelte +0 -411
  12. package/dist/Components/Checkbox/index.svelte.js +0 -178
  13. package/dist/Components/Code/index.svelte +0 -23
  14. package/dist/Components/Code/index.svelte.js +0 -33
  15. package/dist/Components/EmailAddress/index.svelte +0 -22
  16. package/dist/Components/EmailAddress/index.svelte.js +0 -45
  17. package/dist/Components/Eye/index.svelte +0 -57
  18. package/dist/Components/Icon/index.svelte +0 -412
  19. package/dist/Components/Icon/index.svelte.js +0 -116
  20. package/dist/Components/InfoBox/index.svelte +0 -89
  21. package/dist/Components/Json/index.svelte +0 -60
  22. package/dist/Components/Json/index.svelte.js +0 -594
  23. package/dist/Components/Link/index.svelte +0 -47
  24. package/dist/Components/Link/index.svelte.js +0 -136
  25. package/dist/Components/LoadingSuccessDiv/index.svelte +0 -51
  26. package/dist/Components/Location/index.svelte +0 -79
  27. package/dist/Components/Location/index.svelte.js +0 -288
  28. package/dist/Components/PhoneNumber/index.svelte +0 -22
  29. package/dist/Components/PhoneNumber/index.svelte.js +0 -41
  30. package/dist/Components/Qr/index.svelte +0 -85
  31. package/dist/Components/Qr/index.svelte.js +0 -301
  32. package/dist/Components/QrInput/index.svelte +0 -47
  33. package/dist/Components/QrInput/index.svelte.js +0 -218
  34. package/dist/Components/Slider/index.svelte +0 -239
  35. package/dist/Components/Slider/index.svelte.js +0 -469
  36. package/dist/Components/SuccessCheck/index.svelte +0 -56
  37. package/dist/Components/TableAdvanced/index.svelte +0 -275
  38. package/dist/Components/TableAdvanced/index.svelte.js +0 -1565
  39. package/dist/Components/TextInput/index.svelte +0 -223
  40. package/dist/Components/TextInput/index.svelte.js +0 -447
  41. package/dist/Components/Time/index.svelte +0 -7
  42. package/dist/Components/Time/index.svelte.js +0 -38
  43. package/dist/Components/VideoTBD/index.svelte +0 -100
  44. package/dist/Components/XPost/index.svelte +0 -52
  45. package/dist/Components/XPost/index.svelte.js +0 -64
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveltekit-ui",
3
- "version": "1.1.14",
3
+ "version": "1.1.16",
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.45.6"
22
+ "svelte": "^5.45.8"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@sveltejs/kit": "^2.22.2"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@sveltejs/adapter-vercel": "^6.2.0",
29
- "@sveltejs/kit": "^2.49.1",
29
+ "@sveltejs/kit": "^2.49.2",
30
30
  "@sveltejs/package": "^2.5.7",
31
31
  "@sveltejs/vite-plugin-svelte": "^6.2.1",
32
32
  "@vercel/analytics": "^1.6.1",
33
33
  "typescript": "^5.9.3",
34
- "vite": "^7.2.6"
34
+ "vite": "^7.2.7"
35
35
  },
36
36
  "homepage": "https://www.sveltekit-ui.com",
37
37
  "keywords": [
@@ -132,6 +132,30 @@
132
132
  attributes: { content: "For easier building, check out the ", text_color: null },
133
133
  selector_id: "upxajwlo",
134
134
  },
135
+ {
136
+ type_id: "link",
137
+ children: [
138
+ {
139
+ type_id: "base_text",
140
+ children: [],
141
+ attributes: { content: "contibase quick-start guide", text_color: null },
142
+ selector_id: "dwwoaka",
143
+ },
144
+ ],
145
+ attributes: {
146
+ href: "https://www.contibase.com/blog/quick-start-guide",
147
+ display_text: "contibase quick-start guide",
148
+ text_color: null,
149
+ is_show_preview: null,
150
+ },
151
+ selector_id: "cbmddeuw",
152
+ },
153
+ {
154
+ type_id: "base_text",
155
+ children: [],
156
+ attributes: { content: "or the ", text_color: null },
157
+ selector_id: "upxaddo",
158
+ },
135
159
  {
136
160
  type_id: "link",
137
161
  children: [
@@ -1,88 +0,0 @@
1
- <script>
2
- import SuccessCheck from "../SuccessCheck/index.svelte"
3
- import ErrorX from "../ErrorX/index.svelte"
4
- import Icon from "../Icon/index.svelte"
5
- import Button from "../Button/index.svelte"
6
- import { fly } from "svelte/transition"
7
-
8
- let { manager = null, options = null, on_alert_added } = $props()
9
- </script>
10
-
11
- <div class="alerts_container">
12
- {#if Array.isArray(manager?.alerts) && manager?.alerts.length > 0}
13
- {#each manager?.alerts as alert, i (alert)}
14
- <div
15
- class="card alert_box"
16
- class:alert_container={!manager?.is_small_screen}
17
- class:small_alert_container={manager?.is_small_screen}
18
- style="--br: {manager?.border_radius}rem;"
19
- transition:fly={{ x: 300, duration: 400 }}
20
- >
21
- <div class="icon">
22
- {#if alert.icon === "check"}
23
- <SuccessCheck color={manager?.success_icon_color} />
24
- {:else if alert.icon === "x"}
25
- <ErrorX color={manager?.error_icon_color} />
26
- {/if}
27
- </div>
28
- <div class="text_container">
29
- <h3>{alert.header}</h3>
30
- <p>{alert.message}</p>
31
- </div>
32
- <div class="x">
33
- <Button manager={alert?.x_button_manager} />
34
- </div>
35
- </div>
36
- {/each}
37
- {/if}
38
- </div>
39
-
40
- <style>
41
- .alerts_container {
42
- position: absolute;
43
- right: 0;
44
- overflow: scroll;
45
- max-height: 100vh;
46
- z-index: 10;
47
- }
48
- .alerts_container h3 {
49
- font-size: clamp(2.2rem, 4.2vw, 2.4rem);
50
- line-height: clamp(2.4rem, 4.5vw, 2.7rem);
51
- }
52
- .alert_container {
53
- position: relative;
54
- width: 30rem;
55
- height: 7rem;
56
- display: flex;
57
- align-items: center;
58
- }
59
- .small_alert_container {
60
- position: relative;
61
- height: 8rem;
62
- display: flex;
63
- align-items: center;
64
- }
65
- .alert_box {
66
- border-radius: var(--br);
67
- border: 1px solid var(--g15-t);
68
- box-shadow: 0 0.2rem 1rem var(--shadow3);
69
- }
70
- .icon {
71
- min-height: 4rem;
72
- min-width: 4rem;
73
- margin: auto 0.5rem auto 0;
74
- flex: 0;
75
- }
76
- .text_container {
77
- flex: 1;
78
- text-align: left;
79
- max-height: 100%;
80
- overflow: scroll;
81
- }
82
- .x {
83
- position: absolute;
84
- top: 0;
85
- right: 0;
86
- margin: 0.1rem;
87
- }
88
- </style>
@@ -1,101 +0,0 @@
1
- import { create_unique_id } from "../../client/index.js"
2
- import { create_button_manager } from "../Button/index.svelte.js"
3
-
4
- export function create_alert_manager(config) {
5
- let alerts = $state([])
6
- let is_small_screen = $state(false)
7
- let x_color = $state("var(--g7-t)")
8
- let border_radius = $state(1)
9
- let success_icon_color = $state("var(--success-t)")
10
- let error_icon_color = $state("var(--error-t)")
11
- let interval = $state(null)
12
-
13
- function run_auto_delete() {
14
- if (interval) {
15
- clearInterval(interval)
16
- interval = null
17
- }
18
- if (Array.isArray(alerts) && alerts.length > 0) {
19
- interval = setInterval(function () {
20
- if (Array.isArray(alerts) && alerts.length > 0) {
21
- alerts.sort((a, b) => a?.epoch - b?.epoch)
22
- const id = alerts[0]?.id
23
- if (id) {
24
- delete_alert(id)
25
- }
26
- }
27
- }, 3800)
28
- }
29
- }
30
-
31
- function delete_alert(id) {
32
- if (Array.isArray(alerts)) {
33
- alerts = alerts.filter((h) => h?.id != id)
34
- if (alerts.length < 1 && interval) {
35
- clearInterval(interval)
36
- interval = null
37
- }
38
- }
39
- }
40
-
41
- function add_alert(header, message, icon) {
42
- const id = create_unique_id(null, 20)
43
- const alert_to_add = {
44
- id: id,
45
- header: header,
46
- message: message,
47
- icon: icon,
48
- epoch: Math.floor(Date.now() / 1000),
49
- x_button_manager: create_button_manager({
50
- type: "soft",
51
- support_icon: "x",
52
- is_uniform: true,
53
- on_click: () => delete_alert(id),
54
- }),
55
- }
56
- alerts.push(alert_to_add)
57
- if (!interval) {
58
- run_auto_delete()
59
- }
60
- if (config?.on_alert_added) {
61
- config?.on_alert_added(alert_to_add)
62
- }
63
- }
64
-
65
- function init(config) {
66
- alerts = config?.alerts ?? []
67
- is_small_screen = config?.is_small_screen ?? false
68
- x_color = config?.x_color ?? "var(--g7-t)"
69
- border_radius = config?.border_radius ?? 1
70
- success_icon_color = config?.success_icon_color ?? "var(--success-t)"
71
- error_icon_color = config?.alerts ?? "var(--error-t)"
72
- run_auto_delete()
73
- }
74
- init(config)
75
-
76
- return {
77
- get interval() {
78
- return interval
79
- },
80
- get alerts() {
81
- return alerts
82
- },
83
- get is_small_screen() {
84
- return is_small_screen
85
- },
86
- get x_color() {
87
- return x_color
88
- },
89
- get border_radius() {
90
- return border_radius
91
- },
92
- get success_icon_color() {
93
- return success_icon_color
94
- },
95
- get error_icon_color() {
96
- return error_icon_color
97
- },
98
- add_alert,
99
- delete_alert,
100
- }
101
- }
@@ -1,193 +0,0 @@
1
- <script>
2
- import Button from "../Button/index.svelte"
3
- import Popover from "../Popover/index.svelte"
4
- import LoadingWheel from "../LoadingWheel/index.svelte"
5
- import Slider from "../Slider/index.svelte"
6
- import { onMount } from "svelte"
7
-
8
- let { manager } = $props()
9
-
10
- onMount(() => {
11
- if(typeof manager?.handle_mount == "function"){
12
- manager?.handle_mount()
13
- }
14
- })
15
-
16
-
17
- </script>
18
-
19
- {#snippet settings()}
20
- <Button manager={manager?.settings_button_manager} />
21
- <Popover manager={manager?.settings_popover_manager}>
22
- {#snippet content()}
23
- <div>
24
- <Slider manager={manager?.volume_slider_manager} />
25
- <Slider manager={manager?.rate_slider_manager} />
26
- </div>
27
- {/snippet}
28
- </Popover>
29
- {/snippet}
30
-
31
- <!-- onloadstart={() => console.log('Load start')}
32
- onwaiting={() => console.log('Waiting')}
33
- onstalled={() => console.log('Stalled')}
34
- onseeked={() => console.log('seeked')}
35
- onseeking={() => console.log('seeking')}
36
- ondurationchange={(e) => console.log('durationchange',e)}
37
- onloadeddata={(e) => console.log('onloadeddata',e)}
38
- oncanplaythrough={() => console.log('can_play_through')}
39
- onerror={(e) => console.log('error',e)}
40
- onabort={(e) => console.log('abort',e)} -->
41
- <div class="container">
42
- <audio
43
- id={`audio_${manager?.id}`}
44
- onplaying={() => manager?.play_audio()}
45
- onended={() => manager?.pause_audio()}
46
- ontimeupdate={() => manager?.handle_time_update()}
47
- oncanplay={() => manager?.handle_can_play()}
48
- onloadedmetadata={(e) => manager?.handle_loaded_metadata(e)}
49
- onprogress={() => manager?.handle_progress()}
50
- preload="metadata"
51
- style="display: none;"
52
- controls
53
- src={manager?.src}
54
- type={manager?.type}
55
- ></audio>
56
- {#if manager?.ui_type == 'square'}
57
- <div
58
- class="container_square"
59
- style="margin-left: {manager?.ml}rem; margin-right: {manager?.mr}rem; margin-top: {manager?.mt}rem; margin-bottom: {manager?.mb}rem;"
60
- >
61
- {#if manager?.image_src && !manager?.is_hide_image}
62
- <img
63
- src={manager?.image_src}
64
- type={manager?.image_type}
65
- alt={manager?.title || "Audio"}
66
- height="auto"
67
- width="100%"
68
- style="margin-right: 1rem;"
69
- />
70
- {/if}
71
- {#if !manager?.src}
72
- <p style="display: flex; flex: 1;">Missing Audio Source</p>
73
- {:else if manager?.is_loading && !manager?.time_slider_manager?.max}
74
- <div style="display: flex; flex: 1; gap: 1rem; margin: 2.5rem 0;">
75
- <LoadingWheel size={2} />
76
- <p>Loading...</p>
77
- </div>
78
- {:else}
79
- <div style="width: 100%; margin: .5rem 0;">
80
- <Slider manager={manager?.time_slider_manager} />
81
- </div>
82
- <div style="display: flex;">
83
- <Button manager={manager?.play_pause_button_manager} />
84
- <div class="slider_box" class:is_short={manager?.ui_type == 'short'} >
85
- <span>{manager?.formatted_current_time}{manager?.time_slider_manager?.max && manager?.time_slider_manager?.max != Infinity ? ` / ${manager?.formatted_duration}` : ""}</span>
86
- </div>
87
- {@render settings()}
88
- </div>
89
- {/if}
90
- </div>
91
- {:else}
92
- <div
93
- class="container_line"
94
- class:is_short={manager?.ui_type == 'short'}
95
- style="margin-left: {manager?.ml}rem; margin-right: {manager?.mr}rem; margin-top: {manager?.mt}rem; margin-bottom: {manager?.mb}rem;"
96
- >
97
- {#if manager?.image_src && !manager?.is_hide_image}
98
- <img
99
- src={manager?.image_src}
100
- type={manager?.image_type}
101
- alt={manager?.title || "Audio"}
102
- height="40"
103
- width="auto"
104
- style="margin-right: 1rem;"
105
- />
106
- {/if}
107
- {#if !manager?.src}
108
- <p style="display: flex; flex: 1;" class:is_short={manager?.ui_type == 'short'}>Missing Audio Source</p>
109
- {:else if manager?.is_loading && !manager?.time_slider_manager?.max}
110
- <div style="display: flex; flex: 1; margin-left: 1rem;" class:is_short={manager?.ui_type == 'short'}>
111
- <LoadingWheel size={2} />
112
- {#if manager?.ui_type != 'standard'}
113
- <p style="margin-left: 1rem;" class:is_short={manager?.ui_type == 'short'}>Loading...</p>
114
- {/if}
115
- </div>
116
- {:else}
117
- <Button manager={manager?.play_pause_button_manager} />
118
- <div class="slider_box" class:is_short={manager?.ui_type == 'short'}>
119
- <span>{manager?.formatted_current_time}</span>
120
- {#if manager?.ui_type == 'standard'}
121
- <div style="display: flex; flex: 1; flex-direction: column;" class:is_short={manager?.ui_type == 'short'}>
122
- <Slider manager={manager?.time_slider_manager} />
123
- </div>
124
- {:else}
125
- <span>/</span>
126
- {/if}
127
- {#if manager?.time_slider_manager?.max && manager?.time_slider_manager?.max != Infinity}
128
- <span>{manager?.formatted_duration}</span>
129
- {/if}
130
- </div>
131
- {#if manager?.ui_type == 'standard'}
132
- {@render settings()}
133
- {/if}
134
- {/if}
135
- </div>
136
- {/if}
137
- </div>
138
-
139
- <style>
140
- .container {
141
- display: flex;
142
- flex: 0;
143
- }
144
- .container_line {
145
- display: flex;
146
- flex: 1;
147
- align-items: center;
148
- justify-content: space-between;
149
- max-width: 50rem;
150
- margin: 0;
151
- border-radius: 2rem;
152
- padding: 1rem;
153
- box-shadow:
154
- 0 0.2rem 1rem var(--shadow2),
155
- inset 0 0 0 1px var(--shadow7-t);
156
- -webkit-box-shadow:
157
- 0 0.2rem 1rem var(--shadow2),
158
- inset 0 0 0 1px var(--shadow7-t);
159
- }
160
- .container_square{
161
- display: flex;
162
- flex-direction: column;
163
- flex: 0;
164
- align-items: center;
165
- justify-content: space-between;
166
- min-width: 20rem;
167
- width: 100%;
168
- max-width: 50rem;
169
- margin: 0;
170
- border-radius: 2rem;
171
- padding: 1rem;
172
- box-shadow:
173
- 0 0.2rem 1rem var(--shadow2),
174
- inset 0 0 0 1px var(--shadow7-t);
175
- -webkit-box-shadow:
176
- 0 0.2rem 1rem var(--shadow2),
177
- inset 0 0 0 1px var(--shadow7-t);
178
- }
179
- .slider_box {
180
- display: flex;
181
- flex: 1;
182
- align-items: center;
183
- }
184
- .slider_box span {
185
- margin: 0;
186
- line-height: 1;
187
- font-size: 1.6rem;
188
- margin: 0 0.5rem;
189
- }
190
- .is_short {
191
- flex: 0;
192
- }
193
- </style>