sveltekit-ui 1.1.17 → 1.1.19

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 (200) 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/ArrowToggle/index.svelte +62 -0
  4. package/dist/Components/Attachment/index.svelte +77 -0
  5. package/dist/Components/Attachment/index.svelte.js +119 -0
  6. package/dist/Components/Audio/index.svelte +193 -0
  7. package/dist/Components/Audio/index.svelte.js +463 -0
  8. package/dist/Components/AudioEditor/index.svelte +252 -0
  9. package/dist/Components/AudioEditor/index.svelte.js +977 -0
  10. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  11. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  12. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  13. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  14. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  15. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  16. package/dist/Components/AuthCodeInput/index.svelte +85 -0
  17. package/dist/Components/AuthCodeInput/index.svelte.js +95 -0
  18. package/dist/Components/Breadcrumbs/index.svelte +27 -0
  19. package/dist/Components/Breadcrumbs/index.svelte.js +88 -0
  20. package/dist/Components/Button/index.svelte +721 -0
  21. package/dist/Components/Button/index.svelte.js +375 -0
  22. package/dist/Components/Chart/Klines/index.svelte +87 -0
  23. package/dist/Components/Chart/index.svelte +226 -0
  24. package/dist/Components/Chart/index.svelte.js +1099 -0
  25. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +150 -0
  26. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +45 -0
  27. package/dist/Components/ChartInput/DisplayNav/index.svelte +297 -0
  28. package/dist/Components/ChartInput/EditPanel/index.svelte +155 -0
  29. package/dist/Components/ChartInput/index.svelte +21 -0
  30. package/dist/Components/ChartInput/index.svelte.js +671 -0
  31. package/dist/Components/Checkbox/index.svelte +411 -0
  32. package/dist/Components/Checkbox/index.svelte.js +178 -0
  33. package/dist/Components/Code/index.svelte +23 -0
  34. package/dist/Components/Code/index.svelte.js +33 -0
  35. package/dist/Components/Color/index.svelte +51 -0
  36. package/dist/Components/Color/index.svelte.js +31 -0
  37. package/dist/Components/ColorInput/ChromaPicker/index.svelte +50 -0
  38. package/dist/Components/ColorInput/ColorPalette/index.svelte +62 -0
  39. package/dist/Components/ColorInput/OpacityPicker/index.svelte +68 -0
  40. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +136 -0
  41. package/dist/Components/ColorInput/index.svelte +70 -0
  42. package/dist/Components/ColorInput/index.svelte.js +386 -0
  43. package/dist/Components/ConditionsInput/index.svelte +46 -0
  44. package/dist/Components/ConditionsInput/index.svelte.js +201 -0
  45. package/dist/Components/Confetti/index.svelte +98 -0
  46. package/dist/Components/Confetti/index.svelte.js +94 -0
  47. package/dist/Components/Content/index.svelte +500 -0
  48. package/dist/Components/Content/index.svelte.js +910 -0
  49. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +31 -0
  50. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +258 -0
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +31 -0
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +258 -0
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +58 -0
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +206 -0
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +28 -0
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +224 -0
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +44 -0
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +272 -0
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +41 -0
  60. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +202 -0
  61. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +19 -0
  62. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +117 -0
  63. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +60 -0
  64. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +542 -0
  65. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +47 -0
  66. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +185 -0
  67. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +35 -0
  68. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +222 -0
  69. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +20 -0
  70. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +84 -0
  71. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +25 -0
  72. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +91 -0
  73. package/dist/Components/ContentInput/AttributesInput/index.svelte +352 -0
  74. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +1436 -0
  75. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +64 -0
  76. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +97 -0
  77. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +184 -0
  78. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +41 -0
  79. package/dist/Components/ContentInput/index.svelte +78 -0
  80. package/dist/Components/ContentInput/index.svelte.js +1197 -0
  81. package/dist/Components/CronInput/index.svelte +78 -0
  82. package/dist/Components/CronInput/index.svelte.js +198 -0
  83. package/dist/Components/DataTypeInput/index.svelte +174 -0
  84. package/dist/Components/DataTypeInput/index.svelte.js +565 -0
  85. package/dist/Components/Dropdown/index.svelte +116 -0
  86. package/dist/Components/Dropdown/index.svelte.js +403 -0
  87. package/dist/Components/EmailAddress/index.svelte +22 -0
  88. package/dist/Components/EmailAddress/index.svelte.js +45 -0
  89. package/dist/Components/ErrorX/index.svelte +58 -0
  90. package/dist/Components/Eye/index.svelte +57 -0
  91. package/dist/Components/FileInput/index.svelte +146 -0
  92. package/dist/Components/FileInput/index.svelte.js +225 -0
  93. package/dist/Components/Hamburger/index.svelte +99 -0
  94. package/dist/Components/HorizScrollBox/index.svelte +145 -0
  95. package/dist/Components/Icon/index.svelte +412 -0
  96. package/dist/Components/Icon/index.svelte.js +116 -0
  97. package/dist/Components/IconInput/index.svelte +77 -0
  98. package/dist/Components/IconInput/index.svelte.js +259 -0
  99. package/dist/Components/Image/index.svelte +126 -0
  100. package/dist/Components/Image/index.svelte.js +116 -0
  101. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +165 -0
  102. package/dist/Components/ImageEditor/Image/index.svelte +104 -0
  103. package/dist/Components/ImageEditor/Panels/AI/index.svelte +44 -0
  104. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +96 -0
  105. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +124 -0
  106. package/dist/Components/ImageEditor/Panels/File/index.svelte +74 -0
  107. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +46 -0
  108. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +58 -0
  109. package/dist/Components/ImageEditor/index.svelte +93 -0
  110. package/dist/Components/ImageEditor/index.svelte.js +1961 -0
  111. package/dist/Components/ImageSlider/index.svelte +124 -0
  112. package/dist/Components/ImageSlider/index.svelte.js +99 -0
  113. package/dist/Components/InfoBox/index.svelte +89 -0
  114. package/dist/Components/Json/Nested/index.svelte +157 -0
  115. package/dist/Components/Json/index.svelte +60 -0
  116. package/dist/Components/Json/index.svelte.js +594 -0
  117. package/dist/Components/LabeledItem/index.svelte +102 -0
  118. package/dist/Components/Layout/NavBar/FullNav/index.svelte +52 -0
  119. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +87 -0
  120. package/dist/Components/Layout/NavBar/index.svelte +72 -0
  121. package/dist/Components/Layout/index.svelte +149 -0
  122. package/dist/Components/Layout/index.svelte.js +360 -0
  123. package/dist/Components/Link/index.svelte +47 -0
  124. package/dist/Components/Link/index.svelte.js +136 -0
  125. package/dist/Components/LoadingSuccessDiv/index.svelte +51 -0
  126. package/dist/Components/LoadingWheel/index.svelte +38 -0
  127. package/dist/Components/Location/index.svelte +79 -0
  128. package/dist/Components/Location/index.svelte.js +288 -0
  129. package/dist/Components/LocationInput/index.svelte +197 -0
  130. package/dist/Components/LocationInput/index.svelte.js +965 -0
  131. package/dist/Components/Number/index.svelte +47 -0
  132. package/dist/Components/Number/index.svelte.js +151 -0
  133. package/dist/Components/PhoneCountryCode/index.svelte +7 -0
  134. package/dist/Components/PhoneCountryCode/index.svelte.js +260 -0
  135. package/dist/Components/PhoneNumber/index.svelte +22 -0
  136. package/dist/Components/PhoneNumber/index.svelte.js +41 -0
  137. package/dist/Components/Popover/index.svelte +396 -0
  138. package/dist/Components/Popover/index.svelte.js +319 -0
  139. package/dist/Components/Qr/index.svelte +85 -0
  140. package/dist/Components/Qr/index.svelte.js +301 -0
  141. package/dist/Components/QrInput/index.svelte +47 -0
  142. package/dist/Components/QrInput/index.svelte.js +218 -0
  143. package/dist/Components/Slider/index.svelte +239 -0
  144. package/dist/Components/Slider/index.svelte.js +469 -0
  145. package/dist/Components/Spacer/index.svelte +41 -0
  146. package/dist/Components/StoragePicker/DisplayFile/index.svelte +15 -0
  147. package/dist/Components/StoragePicker/index.svelte +187 -0
  148. package/dist/Components/StoragePicker/index.svelte.js +592 -0
  149. package/dist/Components/SuccessCheck/index.svelte +56 -0
  150. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +117 -0
  151. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +456 -0
  152. package/dist/Components/TableAdvanced/FilterInput/index.svelte +54 -0
  153. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +247 -0
  154. package/dist/Components/TableAdvanced/Pagination/index.svelte +43 -0
  155. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +97 -0
  156. package/dist/Components/TableAdvanced/SortByInput/index.svelte +72 -0
  157. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +176 -0
  158. package/dist/Components/TableAdvanced/index.svelte +275 -0
  159. package/dist/Components/TableAdvanced/index.svelte.js +1565 -0
  160. package/dist/Components/Tag/index.svelte +45 -0
  161. package/dist/Components/Tag/index.svelte.js +76 -0
  162. package/dist/Components/TextArrayInput/index.svelte +108 -0
  163. package/dist/Components/TextArrayInput/index.svelte.js +239 -0
  164. package/dist/Components/TextInput/PasswordTooltip/index.svelte +89 -0
  165. package/dist/Components/TextInput/index.svelte +223 -0
  166. package/dist/Components/TextInput/index.svelte.js +447 -0
  167. package/dist/Components/Time/index.svelte +7 -0
  168. package/dist/Components/Time/index.svelte.js +38 -0
  169. package/dist/Components/TimeInput/NumberToggler/index.svelte +34 -0
  170. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +79 -0
  171. package/dist/Components/TimeInput/index.js +702 -0
  172. package/dist/Components/TimeInput/index.svelte +211 -0
  173. package/dist/Components/TimeInput/index.svelte.js +638 -0
  174. package/dist/Components/Tooltip/index.svelte +143 -0
  175. package/dist/Components/TransparentBackground/index.svelte +153 -0
  176. package/dist/Components/TypingDots/index.svelte +84 -0
  177. package/dist/Components/VariablePathInput/index.svelte +63 -0
  178. package/dist/Components/VariablePathInput/index.svelte.js +273 -0
  179. package/dist/Components/VideoTBD/index.svelte +100 -0
  180. package/dist/Components/XFollow/index.svelte +42 -0
  181. package/dist/Components/XPost/index.svelte +52 -0
  182. package/dist/Components/XPost/index.svelte.js +64 -0
  183. package/dist/Components/YoutubeChannelButton/index.svelte +82 -0
  184. package/dist/Components/YoutubeVideo/index.svelte +73 -0
  185. package/dist/Components/YoutubeVideo/index.svelte.js +54 -0
  186. package/dist/actions/draggable.js +49 -0
  187. package/dist/actions/index.js +24 -0
  188. package/dist/actions/no_spaces.js +33 -0
  189. package/dist/actions/numbers_only.js +26 -0
  190. package/dist/actions/scroll_y.js +28 -0
  191. package/dist/actions/stop_scroll_propagation_y.js +42 -0
  192. package/dist/actions/swipe_handler.js +295 -0
  193. package/dist/client/astc_formatting/index.js +1128 -0
  194. package/dist/client/docs/index.js +7622 -0
  195. package/dist/client/index.js +735 -0
  196. package/dist/client/types/index.js +2812 -0
  197. package/dist/index.js +180 -0
  198. package/dist/style.css +682 -0
  199. package/package.json +2 -2
  200. package/src/lib/Components/Chart/index.svelte.js +11 -2
@@ -0,0 +1,411 @@
1
+ <script>
2
+ import LoadingWheel from "../LoadingWheel/index.svelte"
3
+ import ErrorX from "../ErrorX/index.svelte"
4
+ import Icon from "../Icon/index.svelte"
5
+ import Button from "../Button/index.svelte"
6
+
7
+ let { manager } = $props()
8
+ </script>
9
+
10
+ <div>
11
+ {#if manager?.label || manager?.error_message}
12
+ <div style="display: inline-flex;">
13
+ {#if manager?.label}
14
+ <p class="label">{manager?.label}:</p>
15
+ {/if}
16
+ {#if manager?.error_message}
17
+ <p class="error_text">{manager?.error_message}</p>
18
+ {/if}
19
+ </div>
20
+ {/if}
21
+ <div
22
+ class="container"
23
+ style="--ml: {manager?.ml}rem; --mr: {manager?.mr}rem; --mt: {manager?.mt}rem; --mb: {manager?.mb}rem; --size:{manager?.size}rem;"
24
+ >
25
+ {#if manager?.is_nullable}
26
+ <div style="min-width: 9rem;">
27
+ <Button manager={manager?.toggle_null_button_manager} />
28
+ </div>
29
+ {/if}
30
+ {#if manager?.is_nullable == false || manager?.val != null}
31
+ <label
32
+ class:checkbox_switch={manager?.type == "checkbox"}
33
+ class:toggle_switch={manager?.type == "toggle"}
34
+ class:dark_theme_switch={manager?.type == "dark_theme"}
35
+ for={manager?.id}
36
+ onpointerenter={() => manager?.handle_on_hover_change(true)}
37
+ onpointerleave={() => manager?.handle_on_hover_change(false)}
38
+ >
39
+ <input
40
+ id={manager?.id}
41
+ name={manager?.name}
42
+ required={manager?.is_required}
43
+ readonly={manager?.is_read_only}
44
+ style="min-height: {manager?.size}rem; min-width: {manager?.size}rem;"
45
+ class:dark_theme_input={manager?.type == "dark_theme"}
46
+ type="checkbox"
47
+ disabled={manager?.is_disabled}
48
+ checked={manager?.val_bool}
49
+ tabindex="0"
50
+ onkeydown={(e) => {
51
+ if (e.key === "Enter") {
52
+ manager.set_val_from_bool(!manager?.val_bool, true)
53
+ }
54
+ }}
55
+ onclick={(e) => manager?.set_val_from_bool(e?.target?.checked, true)}
56
+ />
57
+ {#if manager?.type == "checkbox"}
58
+ <span class="checkbox" style="--color: {manager?.color};" class:checkbox_is_disabled={manager?.is_disabled}>
59
+ {#if manager?.val_bool}
60
+ <Icon manager={manager?.check_icon_manager} />
61
+ {/if}
62
+ </span>
63
+ {#if manager?.is_loading}
64
+ <div class="checkbox_load">
65
+ <LoadingWheel color={manager?.val ? "var(--primary-contrast-t)" : "var(--g12-t)"} sw={0.2} />
66
+ </div>
67
+ {:else if manager?.error_message}
68
+ <div class="checkbox_icon">
69
+ <ErrorX color={manager?.val ? "var(--primary-contrast-t)" : "var(--g12-t)"} sw={50} />
70
+ </div>
71
+ {/if}
72
+ {:else if manager?.type == "toggle"}
73
+ <span
74
+ class="toggle"
75
+ style="--color: {manager?.color}; --border_color: {manager?.is_disabled
76
+ ? 'var(--g14-t)'
77
+ : manager?.val_bool
78
+ ? manager?.color
79
+ : 'var(--g11-t)'}"
80
+ class:toggle_is_disabled={manager?.is_disabled}
81
+ ></span>
82
+ {#if manager?.is_loading}
83
+ <div class="toggle_load" style="--left: {manager?.val_bool ? 1.8 : 0.4}rem;">
84
+ <LoadingWheel color="var(--g4)" sw={0.2} />
85
+ </div>
86
+ {:else if manager?.error_message}
87
+ <div class="toggle_icon" style="--left: {manager?.val_bool ? 1.6 : 0.2}rem;">
88
+ <ErrorX color="var(--g4)" sw={42} />
89
+ </div>
90
+ {/if}
91
+ {:else if manager?.type == "dark_theme"}
92
+ <span
93
+ class="dark_theme_toggle"
94
+ style="--color: {manager?.color};"
95
+ class:dark_theme_is_disabled={manager?.is_disabled}
96
+ ></span>
97
+ {#if manager?.is_loading}
98
+ <div class="dark_theme_load" style="--left: {manager?.val ? 1.8 : 0.4}rem;">
99
+ <LoadingWheel color="var(--g4)" sw={0.2} />
100
+ </div>
101
+ {:else if manager?.error_message}
102
+ <div class="dark_theme_icon" style="--left: {manager?.val ? 1.6 : 0.2}rem;">
103
+ <ErrorX color="var(--g4)" sw={42} />
104
+ </div>
105
+ {:else if manager?.val}
106
+ <div class="dark_theme_icon2" style="--left: 1.5rem;">
107
+ <Icon manager={manager?.moon_icon_manager} />
108
+ </div>
109
+ {:else}
110
+ <div class="dark_theme_icon2" style="--left: 0.5rem;">
111
+ <Icon manager={manager?.sun_icon_manager} />
112
+ </div>
113
+ {/if}
114
+ {/if}
115
+ </label>
116
+ {/if}
117
+ </div>
118
+ </div>
119
+
120
+ <style>
121
+ .label {
122
+ font-size: 1.2rem;
123
+ font-weight: 600;
124
+ color: var(--g12-t);
125
+ line-height: 1.6rem;
126
+ margin-right: 0.5rem;
127
+ }
128
+ input[type="checkbox"]:focus + .checkbox {
129
+ box-shadow:
130
+ inset 0.2rem 0.2rem 0.4rem var(--shadow2-t),
131
+ inset -0.2rem -0.2rem 0.4rem var(--shadow2-t),
132
+ inset 0 0 0 2px var(--color),
133
+ 0 0 0 1px var(--selected-t),
134
+ 0 0 0 2px var(--g1-t) !important;
135
+ }
136
+ input[type="checkbox"]:focus + .toggle {
137
+ box-shadow:
138
+ inset 0.2rem 0.2rem 0.4rem var(--shadow2-t),
139
+ inset -0.2rem -0.2rem 0.4rem var(--shadow2-t),
140
+ inset 0 0 0 1px var(--border_color),
141
+ 0 0 0 1px var(--selected-t),
142
+ 0 0 0 2px var(--g1-t) !important;
143
+ }
144
+ input[type="checkbox"]:focus + .dark_theme_toggle {
145
+ box-shadow:
146
+ inset 0.1rem 0.1rem 0.2rem var(--shadow7-t),
147
+ inset -0.1rem -0.1rem 0.2rem var(--shadow7-t),
148
+ inset 0 0 0 1px var(--g10-t),
149
+ 0 0 0 1px var(--selected-t),
150
+ 0 0 0 2px var(--g1-t) !important;
151
+ }
152
+ .error_text {
153
+ font-size: 1.2rem;
154
+ color: oklch(var(--l5-t) var(--c7) var(--h1));
155
+ line-height: 1.2rem;
156
+ line-height: 1.2rem;
157
+ }
158
+ .container {
159
+ margin-left: var(--ml);
160
+ margin-right: var(--mr);
161
+ margin-top: var(--mt);
162
+ margin-bottom: var(--mb);
163
+ display: flex;
164
+ /* padding: 0.1rem; */
165
+ }
166
+ .checkbox_switch {
167
+ position: relative;
168
+ min-width: var(--size);
169
+ max-width: var(--size);
170
+ min-height: var(--size);
171
+ max-height: var(--size);
172
+ }
173
+ .checkbox_switch input {
174
+ opacity: 0;
175
+ width: 0;
176
+ height: 0;
177
+ }
178
+ .checkbox {
179
+ position: absolute;
180
+ cursor: pointer;
181
+ top: 0;
182
+ left: 0;
183
+ right: 0;
184
+ bottom: 0;
185
+ min-width: var(--size);
186
+ max-width: var(--size);
187
+ min-height: var(--size);
188
+ max-height: var(--size);
189
+ border-radius: 0.5rem;
190
+ -webkit-transition: 0.4s;
191
+ transition: 0.4s;
192
+ background: var(--bg2);
193
+ box-shadow:
194
+ inset 0.2rem 0.2rem 0.4rem var(--shadow2-t),
195
+ inset -0.2rem -0.2rem 0.4rem var(--shadow2-t),
196
+ inset 0 0 0 2px var(--color);
197
+ display: grid;
198
+ place-items: center;
199
+ }
200
+ .checkbox:hover {
201
+ background: var(--shadow5-t);
202
+ }
203
+ input:checked + .checkbox {
204
+ background: var(--color);
205
+ }
206
+ input:checked + .checkbox_is_disabled {
207
+ background: var(--g12-t);
208
+ }
209
+ .checkbox_is_disabled {
210
+ background: var(--g12-t);
211
+ box-shadow:
212
+ inset 0.2rem 0.2rem 0.4rem var(--shadow2),
213
+ inset -0.2rem -0.2rem 0.4rem var(--shadow3),
214
+ inset 0 0 0 2px var(--g8-t) !important;
215
+ }
216
+ .checkbox_load {
217
+ position: absolute;
218
+ top: 0.5rem;
219
+ left: 0.5rem;
220
+ bottom: 0.5rem;
221
+ right: 0.5rem;
222
+ max-width: 1.5rem;
223
+ max-height: 1.5rem;
224
+ display: grid;
225
+ place-items: center;
226
+ }
227
+ .checkbox_icon {
228
+ position: absolute;
229
+ top: 0.3rem;
230
+ left: 0.3rem;
231
+ bottom: 0.3rem;
232
+ right: 0.3rem;
233
+ max-width: 2rem;
234
+ max-height: 2rem;
235
+ display: grid;
236
+ place-items: center;
237
+ }
238
+ .toggle_load {
239
+ position: absolute;
240
+ top: 0.4rem;
241
+ left: var(--left);
242
+ margin: auto;
243
+ width: 1.2rem;
244
+ height: 1.2rem;
245
+ }
246
+ .toggle_icon {
247
+ position: absolute;
248
+ top: 0.2rem;
249
+ left: var(--left);
250
+ margin: auto;
251
+ width: 1.6rem;
252
+ height: 1.6rem;
253
+ }
254
+ .toggle_switch {
255
+ position: relative;
256
+ min-width: 3.4rem;
257
+ max-width: 3.4rem;
258
+ min-height: 2rem;
259
+ max-height: 2rem;
260
+ margin-left: var(--ml);
261
+ margin-right: var(--mr);
262
+ margin-top: var(--mt);
263
+ margin-bottom: var(--mb);
264
+ }
265
+ .toggle_switch input {
266
+ opacity: 0;
267
+ }
268
+ .toggle {
269
+ position: absolute;
270
+ cursor: pointer;
271
+ top: 0;
272
+ left: 0;
273
+ right: 0;
274
+ bottom: 0;
275
+ min-width: 3.4rem;
276
+ max-width: 3.4rem;
277
+ min-height: 2rem;
278
+ max-height: 2rem;
279
+ border-radius: 1rem;
280
+ -webkit-transition: 0.4s;
281
+ transition: 0.4s;
282
+ background: var(--bg2);
283
+ box-shadow:
284
+ inset 0.2rem 0.2rem 0.4rem var(--shadow2-t),
285
+ inset -0.2rem -0.2rem 0.4rem var(--shadow2-t),
286
+ inset 0 0 0 1px var(--border_color);
287
+ }
288
+ .toggle:before {
289
+ position: absolute;
290
+ content: "";
291
+ height: 1.6rem;
292
+ width: 1.6rem;
293
+ left: 0.2rem;
294
+ bottom: 0.2rem;
295
+ border-radius: 50%;
296
+ background: linear-gradient(-45deg, var(--g24), var(--g20));
297
+ box-shadow:
298
+ 0.1rem 0.1rem 0.2rem var(--shadow3),
299
+ -0.1rem -0.1rem 0.2rem var(--shadow2);
300
+ -webkit-transition: 0.4s;
301
+ transition: 0.4s;
302
+ }
303
+ input:checked + .toggle {
304
+ background: var(--color);
305
+ }
306
+ input:checked + .toggle_is_disabled {
307
+ background: var(--g12-t);
308
+ }
309
+ input:checked + .toggle:before {
310
+ -webkit-transform: translateX(1.4rem);
311
+ -ms-transform: translateX(1.4rem);
312
+ transform: translateX(1.4rem);
313
+ }
314
+ .toggle_is_disabled:before {
315
+ background: linear-gradient(-45deg, var(--g16), var(--g16));
316
+ }
317
+
318
+ .dark_theme_input {
319
+ min-height: 2rem;
320
+ min-width: 3.4rem;
321
+ }
322
+
323
+ .dark_theme_switch {
324
+ position: relative;
325
+ min-width: 3.4rem;
326
+ max-width: 3.4rem;
327
+ min-height: 2.4rem;
328
+ max-height: 2.4rem;
329
+ margin-left: var(--ml);
330
+ margin-right: var(--mr);
331
+ margin-top: var(--mt);
332
+ margin-bottom: var(--mb);
333
+ }
334
+ .dark_theme_switch input {
335
+ opacity: 0;
336
+ width: 0;
337
+ height: 0;
338
+ }
339
+ .dark_theme_toggle {
340
+ position: absolute;
341
+ cursor: pointer;
342
+ top: 0;
343
+ left: 0;
344
+ right: 0;
345
+ bottom: 0;
346
+ min-width: 3.4rem;
347
+ max-width: 3.4rem;
348
+ min-height: 2.4rem;
349
+ max-height: 2.4rem;
350
+ border-radius: 1.2rem;
351
+ -webkit-transition: 0.4s;
352
+ transition: 0.4s;
353
+ background: var(--bg2);
354
+ overflow: hidden;
355
+ box-shadow:
356
+ inset 0.1rem 0.1rem 0.2rem var(--shadow7-t),
357
+ inset -0.1rem -0.1rem 0.2rem var(--shadow7-t),
358
+ inset 0 0 0 1px var(--g10-t);
359
+ }
360
+ .dark_theme_toggle:before {
361
+ position: absolute;
362
+ content: "";
363
+ height: 2rem;
364
+ width: 2rem;
365
+ left: 0.2rem;
366
+ bottom: 0.2rem;
367
+ border-radius: 50%;
368
+ background: linear-gradient(-45deg, var(--g24-t), var(--g22-t));
369
+ box-shadow:
370
+ 0 0 0.5rem var(--shadow8-t),
371
+ inset 0 0 0 1px var(--g16-t);
372
+ -webkit-transition: 0.4s;
373
+ transition: 0.4s;
374
+ }
375
+ input:checked + .dark_theme_is_disabled {
376
+ background: var(--g12-t);
377
+ }
378
+ input:checked + .dark_theme_toggle:before {
379
+ -webkit-transform: translateX(1rem);
380
+ -ms-transform: translateX(1rem);
381
+ transform: translateX(1rem);
382
+ }
383
+ .dark_theme_is_disabled:before {
384
+ background: linear-gradient(-45deg, var(--g16-t), var(--g16-t));
385
+ }
386
+ .dark_theme_load {
387
+ position: absolute;
388
+ top: 0.5rem;
389
+ left: var(--left);
390
+ margin: auto;
391
+ width: 1.4rem;
392
+ height: 1.4rem;
393
+ }
394
+ .dark_theme_icon {
395
+ position: absolute;
396
+ top: 0.5rem;
397
+ left: var(--left);
398
+ margin: auto;
399
+ width: 2rem;
400
+ height: 2rem;
401
+ }
402
+ .dark_theme_icon2 {
403
+ position: absolute;
404
+ top: 0.5rem;
405
+ left: var(--left);
406
+ margin: auto;
407
+ width: 1.8rem;
408
+ height: 1.8rem;
409
+ cursor: pointer;
410
+ }
411
+ </style>
@@ -0,0 +1,178 @@
1
+ import { create_unique_id, set_closurable, set_closurable_color } from "../../client/index.js"
2
+ import { create_icon_manager } from "../Icon/index.svelte.js"
3
+ import { create_button_manager } from "../Button/index.svelte.js"
4
+
5
+ export function create_checkbox_manager(config) {
6
+ let id = create_unique_id(null, 20)
7
+ let type = $derived(set_closurable(config?.type, "checkbox"))
8
+ let val_initial = $state(null)
9
+ let val = $state(null)
10
+ let val_bool = $state(false)
11
+ let label = $derived(set_closurable(config?.label, null))
12
+ let name = $derived(set_closurable(config?.name, "checkbox"))
13
+ let on_val = $derived(set_closurable(config?.on_val, true))
14
+ let off_val = $derived(set_closurable(config?.off_val, false))
15
+ let color = $derived(set_closurable_color(config?.color, "var(--primary-t)"))
16
+ let is_required = $derived(set_closurable(config?.is_required, false))
17
+ let is_read_only = $derived(set_closurable(config?.is_read_only, false))
18
+ let is_disabled = $derived(set_closurable(config?.is_disabled, false))
19
+ let is_loading = $derived(set_closurable(config?.is_loading, false))
20
+ let size = $derived(set_closurable(config?.size, 2.4))
21
+ let ml = $derived(set_closurable(config?.ml, 0))
22
+ let mr = $derived(set_closurable(config?.mr, 0))
23
+ let mt = $derived(set_closurable(config?.mt, 0))
24
+ let mb = $derived(set_closurable(config?.mb, 0))
25
+ let is_nullable = $derived(set_closurable(config?.is_nullable, false))
26
+ let error_message = $derived(set_closurable(config?.error_message, null))
27
+ let toggle_null_button_manager = $state(null)
28
+
29
+ let check_icon_manager = create_icon_manager({
30
+ icon_id: "check",
31
+ color: () => (is_disabled ? "var(--g17-t)" : "var(--primary-contrast-t)"),
32
+ size: 1.6,
33
+ sw: 75,
34
+ })
35
+
36
+ let moon_icon_manager = create_icon_manager({
37
+ icon_id: "moon",
38
+ size: 1.4,
39
+ color: "var(--g6-t)",
40
+ sw: 50,
41
+ })
42
+
43
+ let sun_icon_manager = create_icon_manager({
44
+ icon_id: "sun",
45
+ size: 1.4,
46
+ color: "var(--g6-t)",
47
+ sw: 50,
48
+ })
49
+
50
+ function set_val(val_input) {
51
+ const desired_val = val_input == on_val ? on_val : off_val
52
+ if (is_nullable && val_input == null) {
53
+ val = null
54
+ val_bool = false
55
+ } else if (val != desired_val) {
56
+ val = val_input
57
+ val_bool = val_input == on_val
58
+ }
59
+ }
60
+
61
+ function set_val_from_bool(val_bool_input, is_trigger_on_change = false) {
62
+ if (val_bool != !!val_bool_input) {
63
+ const desired_val = val_bool_input ? on_val : off_val
64
+ val = desired_val
65
+ val_bool = !!val_bool_input
66
+ if (is_trigger_on_change) {
67
+ if (config?.on_change) {
68
+ config?.on_change(desired_val)
69
+ }
70
+ }
71
+ }
72
+ }
73
+
74
+ function handle_on_hover_change(input) {
75
+ if (config?.on_hover_change) {
76
+ config?.on_hover_change(input)
77
+ }
78
+ }
79
+
80
+ function init(config) {
81
+ val_initial = set_closurable(config?.val) ?? null
82
+ val = set_closurable(config?.val) ?? null
83
+ val_bool = val == on_val
84
+ if (error_message) {
85
+ handle_error_trigger()
86
+ }
87
+ toggle_null_button_manager = create_button_manager({
88
+ type: "outlined",
89
+ font_size: 1.2,
90
+ min_height: 3,
91
+ is_no_wrap: true,
92
+ mr: 0.5,
93
+ text: () => (val == null ? "Select Value" : "Set Null"),
94
+ on_click: () => set_val(val == null ? true : null),
95
+ })
96
+ }
97
+
98
+ init(config)
99
+
100
+ return {
101
+ id,
102
+ get type() {
103
+ return type
104
+ },
105
+ get val_initial() {
106
+ return val_initial
107
+ },
108
+ get val() {
109
+ return val
110
+ },
111
+ get val_bool() {
112
+ return val_bool
113
+ },
114
+ get off_val() {
115
+ return off_val
116
+ },
117
+ get on_val() {
118
+ return on_val
119
+ },
120
+ get name() {
121
+ return name
122
+ },
123
+ get label() {
124
+ return label
125
+ },
126
+ get color() {
127
+ return color
128
+ },
129
+ get is_required() {
130
+ return is_required
131
+ },
132
+ get is_read_only() {
133
+ return is_read_only
134
+ },
135
+ get is_disabled() {
136
+ return is_disabled
137
+ },
138
+ get is_loading() {
139
+ return is_loading
140
+ },
141
+ get error_message() {
142
+ return error_message
143
+ },
144
+ get size() {
145
+ return size
146
+ },
147
+ get ml() {
148
+ return ml
149
+ },
150
+ get mr() {
151
+ return mr
152
+ },
153
+ get mt() {
154
+ return mt
155
+ },
156
+ get mb() {
157
+ return mb
158
+ },
159
+ get check_icon_manager() {
160
+ return check_icon_manager
161
+ },
162
+ get moon_icon_manager() {
163
+ return moon_icon_manager
164
+ },
165
+ get sun_icon_manager() {
166
+ return sun_icon_manager
167
+ },
168
+ get is_nullable() {
169
+ return is_nullable
170
+ },
171
+ get toggle_null_button_manager() {
172
+ return toggle_null_button_manager
173
+ },
174
+ set_val,
175
+ set_val_from_bool,
176
+ handle_on_hover_change,
177
+ }
178
+ }
@@ -0,0 +1,23 @@
1
+ <script>
2
+ import Button from "../Button/index.svelte"
3
+ import Audio from "../Audio/index.svelte"
4
+ import LoadingWheel from "../LoadingWheel/index.svelte"
5
+
6
+ let { manager } = $props()
7
+
8
+ // in future can figure out colors like maybe need to even call server like how images work
9
+ </script>
10
+
11
+ {#if manager?.content}
12
+ <div id={manager?.id} class="code_container">
13
+ <div class="code_top_bar">
14
+ <p>
15
+ {manager?.language ?? ""}
16
+ </p>
17
+ <Button manager={manager?.copy_button_manager} />
18
+ </div>
19
+ <pre><code id={manager?.selector_id} style="padding: .5rem 0;"
20
+ >{typeof manager?.content == "string" ? manager?.content : JSON.stringify(manager?.content, null, 2)}</code
21
+ ></pre>
22
+ </div>
23
+ {/if}
@@ -0,0 +1,33 @@
1
+ import { create_button_manager } from "../Button/index.svelte.js"
2
+ import { create_unique_id, copy_to_clipboard, set_closurable } from "../../client/index.js"
3
+
4
+ export function create_code_manager(config) {
5
+ const id = create_unique_id(null, 20)
6
+ let content = $derived(set_closurable(config?.content, null))
7
+ let copy_button_manager = $state(null)
8
+
9
+ function init() {
10
+ copy_button_manager = create_button_manager({
11
+ type: "soft",
12
+ is_uniform: true,
13
+ support_icon: "clipboard",
14
+ is_success_animation: true,
15
+ on_click: () => copy_to_clipboard(typeof content == "string" ? content : JSON.stringify(content)),
16
+ })
17
+ }
18
+
19
+ init(config)
20
+
21
+ return {
22
+ id,
23
+ get copy_button_manager() {
24
+ return copy_button_manager
25
+ },
26
+ get language() {
27
+ return config?.language
28
+ },
29
+ get content() {
30
+ return content
31
+ },
32
+ }
33
+ }
@@ -0,0 +1,51 @@
1
+ <script>
2
+ import TransparentBackground from "../TransparentBackground/index.svelte"
3
+
4
+ let { manager } = $props()
5
+ </script>
6
+
7
+ {#if manager?.val}
8
+ <div>
9
+ <TransparentBackground>
10
+ {#snippet content()}
11
+ <div
12
+ id={manager?.id}
13
+ class="color_overlay"
14
+ style="
15
+ background-color: {manager?.color};
16
+ width: {manager?.size}rem;
17
+ height: {manager?.size}rem;
18
+ border-radius: {manager?.border_radius}rem;
19
+ "
20
+ ></div>
21
+ {/snippet}
22
+ </TransparentBackground>
23
+ {#if manager?.is_show_details}
24
+ <div>
25
+ l: {manager?.val?.l ?? 24}, c: {manager?.val?.c ?? 24}, h: {manager?.val?.h ?? 24}, o: {manager?.val?.o ?? 24}, is_dark_theme_invert: {manager?.val?.is_dark_theme_invert}
26
+ </div>
27
+ {/if}
28
+ </div>
29
+ {:else}
30
+ <div
31
+ id={manager?.id}
32
+ class="color_overlay"
33
+ style="
34
+ width: {manager?.size}rem;
35
+ height: {manager?.size}rem;
36
+ border-radius: {manager?.border_radius}rem;
37
+ border: 1px solid var(--shadow2-t);
38
+ display: grid;
39
+ place-items: center;
40
+ "
41
+ >
42
+ <p style="font-size: 1.2rem;">null</p>
43
+ </div>
44
+ {/if}
45
+
46
+ <style>
47
+ .color_overlay {
48
+ box-shadow: inset 0 0 0 .1rem var(--g15-t);
49
+ overflow: hidden;
50
+ }
51
+ </style>