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,206 @@
1
+ import { create_button_manager } from "../../../../Button/index.svelte.js"
2
+ import { create_checkbox_manager } from "../../../../Checkbox/index.svelte.js"
3
+ import { create_slider_manager } from "../../../../Slider/index.svelte.js"
4
+ import { create_text_input_manager } from "../../../../TextInput/index.svelte.js"
5
+ import { create_defined_type_input_manager } from "../../DefinedTypeInput/index.svelte.js"
6
+ import { deep_copy, set_closurable } from "../../../../../client/index.js"
7
+
8
+ export function create_dropdown_config_manager(config) {
9
+ let header_text_input_manager = $state(null)
10
+ let placeholder_text_input_manager = $state(null)
11
+ let is_multiselect_checkbox_manager = $state(null)
12
+ let is_set_null_button_checkbox_manager = $state(null)
13
+ let is_show_arrow_checkbox_manager = $state(null)
14
+ let is_button_compressed_checkbox_manager = $state(null)
15
+ let is_searchable_checkbox_manager = $state(null)
16
+ let target_width_slider_manager = $state(null)
17
+ let target_height_slider_manager = $state(null)
18
+ let val_text_input_manager = $state(null)
19
+ let val_defined_type_input_manager = $state(null)
20
+ let options = $state([])
21
+ let options_prepped = $state([])
22
+ let key_to_add_text_input_manager = $state(null)
23
+ let name_to_add_text_input_manager = $state(null)
24
+ let add_option_button_manager = $state(null)
25
+
26
+ function set_options_prepped() {
27
+ let options_prepped_loc = []
28
+ if (Array.isArray(options) && options.length > 0) {
29
+ for (let i = 0; i < options.length; i++) {
30
+ options_prepped_loc.push({
31
+ i: i,
32
+ option: options?.[i],
33
+ delete_button_manager: create_button_manager({
34
+ type: "soft",
35
+ color: "var(--error-t)",
36
+ is_uniform: true,
37
+ support_icon: "x",
38
+ on_click: () => {
39
+ options = (Array.isArray(options) ? options : []).filter((_, index) => index !== i)
40
+ set_options_prepped()
41
+ },
42
+ }),
43
+ })
44
+ }
45
+ }
46
+ options_prepped = options_prepped_loc
47
+ }
48
+
49
+ function init(config) {
50
+ val_text_input_manager = create_text_input_manager({
51
+ val: config?.val?.val ?? null,
52
+ })
53
+ val_defined_type_input_manager = create_defined_type_input_manager({
54
+ get_defined_options: config?.get_defined_options,
55
+ label: "Val",
56
+ attribute_root_key: "val",
57
+ attribute_const_val: () => val_text_input_manager?.val,
58
+ attributes: config?.val,
59
+ })
60
+ options = config?.val?.options ?? []
61
+ set_options_prepped()
62
+ header_text_input_manager = create_text_input_manager({ label: "Header Text", placeholder: "Some Header" })
63
+ placeholder_text_input_manager = create_text_input_manager({
64
+ label: "Button Placeholder",
65
+ placeholder: "Select",
66
+ val: config?.val?.placeholder ?? "Select",
67
+ })
68
+ is_multiselect_checkbox_manager = create_checkbox_manager({
69
+ type: "toggle",
70
+ label: "Is Multiselect",
71
+ val: config?.val?.is_multiselect ?? false,
72
+ })
73
+ is_set_null_button_checkbox_manager = create_checkbox_manager({
74
+ type: "toggle",
75
+ label: "Is Clear Button",
76
+ val: config?.val?.is_set_null_button ?? true,
77
+ })
78
+ is_show_arrow_checkbox_manager = create_checkbox_manager({
79
+ type: "toggle",
80
+ label: "Is Show Arrow",
81
+ val: config?.val?.is_show_arrow ?? true,
82
+ })
83
+ is_button_compressed_checkbox_manager = create_checkbox_manager({
84
+ type: "toggle",
85
+ label: "Is Button Compressed",
86
+ val: config?.val?.is_button_compressed ?? true,
87
+ })
88
+ is_searchable_checkbox_manager = create_checkbox_manager({
89
+ type: "toggle",
90
+ label: "Is Searchable",
91
+ val: config?.val?.is_searchable ?? false,
92
+ })
93
+ target_width_slider_manager = create_slider_manager({
94
+ label: "Target Width",
95
+ min: 20,
96
+ max: 1000,
97
+ step: 5,
98
+ val: config?.val?.target_width ?? 250,
99
+ })
100
+ target_height_slider_manager = create_slider_manager({
101
+ label: "Target Height",
102
+ min: 20,
103
+ max: 1000,
104
+ step: 5,
105
+ val: config?.val?.target_height ?? 250,
106
+ })
107
+ key_to_add_text_input_manager = create_text_input_manager({
108
+ label: "Key",
109
+ placeholder: "some_key",
110
+ })
111
+ name_to_add_text_input_manager = create_text_input_manager({
112
+ label: "Name",
113
+ placeholder: "Some Name",
114
+ })
115
+ add_option_button_manager = create_button_manager({
116
+ type: "outlined",
117
+ text: "Add Option",
118
+ support_icon: "plus",
119
+ is_compressed: true,
120
+ is_disabled: () =>
121
+ key_to_add_text_input_manager?.val == null ||
122
+ key_to_add_text_input_manager?.val?.length < 1 ||
123
+ name_to_add_text_input_manager?.val == null ||
124
+ name_to_add_text_input_manager?.val?.length < 1,
125
+ mt: 1,
126
+ on_click: () => {
127
+ options = [
128
+ ...(Array.isArray(options) ? options : []),
129
+ { key: key_to_add_text_input_manager?.val, name: name_to_add_text_input_manager?.val },
130
+ ]
131
+ set_options_prepped()
132
+ key_to_add_text_input_manager.set_val(null)
133
+ name_to_add_text_input_manager.set_val(null)
134
+ },
135
+ })
136
+ }
137
+ init(config)
138
+
139
+ let val = $derived({
140
+ ...val_defined_type_input_manager?.val,
141
+ options: options,
142
+ is_multiselect: is_multiselect_checkbox_manager?.val,
143
+ is_set_null_button: is_set_null_button_checkbox_manager?.val,
144
+ is_show_arrow: is_show_arrow_checkbox_manager?.val,
145
+ is_button_compressed: is_button_compressed_checkbox_manager?.val,
146
+ is_searchable: is_searchable_checkbox_manager?.val,
147
+ header: header_text_input_manager?.val,
148
+ placeholder: placeholder_text_input_manager?.val,
149
+ target_width: target_width_slider_manager?.val,
150
+ target_height: target_height_slider_manager?.val,
151
+ })
152
+
153
+ return {
154
+ get val() {
155
+ return val
156
+ },
157
+ get val_text_input_manager() {
158
+ return val_text_input_manager
159
+ },
160
+ get val_defined_type_input_manager() {
161
+ return val_defined_type_input_manager
162
+ },
163
+ get options() {
164
+ return options
165
+ },
166
+ get header_text_input_manager() {
167
+ return header_text_input_manager
168
+ },
169
+ get placeholder_text_input_manager() {
170
+ return placeholder_text_input_manager
171
+ },
172
+ get is_multiselect_checkbox_manager() {
173
+ return is_multiselect_checkbox_manager
174
+ },
175
+ get is_set_null_button_checkbox_manager() {
176
+ return is_set_null_button_checkbox_manager
177
+ },
178
+ get is_show_arrow_checkbox_manager() {
179
+ return is_show_arrow_checkbox_manager
180
+ },
181
+ get is_button_compressed_checkbox_manager() {
182
+ return is_button_compressed_checkbox_manager
183
+ },
184
+ get is_searchable_checkbox_manager() {
185
+ return is_searchable_checkbox_manager
186
+ },
187
+ get target_width_slider_manager() {
188
+ return target_width_slider_manager
189
+ },
190
+ get target_height_slider_manager() {
191
+ return target_height_slider_manager
192
+ },
193
+ get key_to_add_text_input_manager() {
194
+ return key_to_add_text_input_manager
195
+ },
196
+ get name_to_add_text_input_manager() {
197
+ return name_to_add_text_input_manager
198
+ },
199
+ get add_option_button_manager() {
200
+ return add_option_button_manager
201
+ },
202
+ get options_prepped() {
203
+ return options_prepped
204
+ },
205
+ }
206
+ }
@@ -0,0 +1,28 @@
1
+ <script>
2
+ import StoragePicker from "../../../../StoragePicker/index.svelte"
3
+ import TextInput from "../../../../TextInput/index.svelte"
4
+ import Checkbox from "../../../../Checkbox/index.svelte"
5
+ import Slider from "../../../../Slider/index.svelte"
6
+
7
+ let { manager } = $props()
8
+ </script>
9
+
10
+ <StoragePicker manager={manager?.storage_picker_manager} />
11
+ <TextInput manager={manager?.storage_id_text_input_manager} />
12
+ <p style="font-size: 1.2rem;">
13
+ if only storage_id is provided the src values can be autogenerated at time of page load. Also, if the images are not
14
+ public urls a signed url can be generated and used for src values on page load
15
+ </p>
16
+ <TextInput manager={manager?.src_text_input_manager} />
17
+ <TextInput manager={manager?.src_quick_text_input_manager} />
18
+ <Checkbox manager={manager?.is_storage_id_public_checkbox_manager} />
19
+ <TextInput manager={manager?.alt_text_input_manager} />
20
+ <TextInput manager={manager?.image_width_text_input_manager} />
21
+ <TextInput manager={manager?.image_height_text_input_manager} />
22
+ <TextInput manager={manager?.image_aspect_ratio_text_input_manager} />
23
+ <TextInput manager={manager?.mime_type_text_input_manager} />
24
+ <Slider manager={manager?.display_max_height_slider_manager} />
25
+ <Slider manager={manager?.display_max_width_slider_manager} />
26
+ <Slider manager={manager?.border_radius_slider_manager} />
27
+ <Slider manager={manager?.bg_img_blur_slider_manager} />
28
+ <Slider manager={manager?.bg_img_opacity_slider_manager} />
@@ -0,0 +1,224 @@
1
+ import { create_storage_picker_manager } from "../../../../StoragePicker/index.svelte.js"
2
+ import { create_text_input_manager } from "../../../../TextInput/index.svelte.js"
3
+ import { create_checkbox_manager } from "../../../../Checkbox/index.svelte.js"
4
+ import { create_slider_manager } from "../../../../Slider/index.svelte.js"
5
+ import { set_closurable, get_image_dimensions_from_src } from "../../../../../client/index.js"
6
+
7
+ export function create_image_config_manager(config) {
8
+ let storage_picker_manager = $state(null)
9
+ let storage_id_text_input_manager = $state(null)
10
+ let alt_text_input_manager = $state(null)
11
+ let image_width_text_input_manager = $state(null)
12
+ let image_height_text_input_manager = $state(null)
13
+ let image_aspect_ratio_text_input_manager = $state(null)
14
+ let mime_type_text_input_manager = $state(null)
15
+ let is_storage_id_public_checkbox_manager = $state(null)
16
+ let src_text_input_manager = $state(null)
17
+ let src_quick_text_input_manager = $state(null)
18
+ let display_max_height_slider_manager = $state(null)
19
+ let display_max_width_slider_manager = $state(null)
20
+ let border_radius_slider_manager = $state(null)
21
+ let bg_img_blur_slider_manager = $state(null)
22
+ let bg_img_opacity_slider_manager = $state(null)
23
+
24
+ let storage_src = $derived(
25
+ set_closurable(config?.storage_src, "https://www.contibase.com/api/v1/storage/{storage_id}")
26
+ )
27
+
28
+ let val = $derived({
29
+ storage_id: storage_id_text_input_manager?.val,
30
+ alt: alt_text_input_manager?.val,
31
+ image_width: image_width_text_input_manager?.val,
32
+ image_height: image_height_text_input_manager?.val,
33
+ image_aspect_ratio: image_aspect_ratio_text_input_manager?.val,
34
+ mime_type: mime_type_text_input_manager?.val,
35
+ is_storage_id_public: is_storage_id_public_checkbox_manager?.val,
36
+ src: src_text_input_manager?.val,
37
+ src_quick: src_quick_text_input_manager?.val,
38
+ display_max_height: display_max_height_slider_manager?.val,
39
+ display_max_width: display_max_width_slider_manager?.val,
40
+ border_radius: border_radius_slider_manager?.val,
41
+ bg_img_blur: bg_img_blur_slider_manager?.val,
42
+ bg_img_opacity: bg_img_opacity_slider_manager?.val,
43
+ })
44
+
45
+ function set_val(input) {
46
+ storage_id_text_input_manager.set_val(input?.storage_id ?? null)
47
+ alt_text_input_manager.set_val(input?.alt ?? null)
48
+ image_width_text_input_manager.set_val(input?.image_width ?? null)
49
+ image_height_text_input_manager.set_val(input?.image_height ?? null)
50
+ image_aspect_ratio_text_input_manager.set_val(input?.image_aspect_ratio ?? null)
51
+ mime_type_text_input_manager.set_val(input?.mime_type ?? null)
52
+ is_storage_id_public_checkbox_manager.set_val(input?.is_storage_id_public ?? null)
53
+ src_text_input_manager.set_val(input?.src ?? null)
54
+ src_quick_text_input_manager.set_val(input?.src_quick ?? null)
55
+ display_max_height_slider_manager.set_val(input?.display_max_height ?? null)
56
+ display_max_width_slider_manager.set_val(input?.display_max_width ?? null)
57
+ border_radius_slider_manager.set_val(input?.border_radius ?? null)
58
+ bg_img_blur_slider_manager.set_val(input?.bg_img_blur ?? null)
59
+ bg_img_opacity_slider_manager.set_val(input?.bg_img_opacity ?? null)
60
+ }
61
+
62
+ function init(config) {
63
+ console.log("init_image_conf", config)
64
+ storage_picker_manager = create_storage_picker_manager({
65
+ storage: config?.storage,
66
+ default_folder_path: config?.storage_default_folder_path,
67
+ storage_path: config?.storage_path,
68
+ storage_origins: ["storage"],
69
+ is_drop_zone: false,
70
+ accept: ["image/png", "image/jpeg", "image/webp", "image/gif"],
71
+ is_multiselect: false,
72
+ on_finish: async (input) => {
73
+ const src = storage_src.replace("{storage_id}", input?.id)
74
+ const dimensions = await get_image_dimensions_from_src(src)
75
+ storage_id_text_input_manager.set_val(input?.id ?? null)
76
+ alt_text_input_manager.set_val(input?.alt ?? null)
77
+ mime_type_text_input_manager.set_val(input?.mime_type ?? null)
78
+ is_storage_id_public_checkbox_manager.set_val(input?.is_public ?? null)
79
+ image_width_text_input_manager.set_val(dimensions?.width ?? null)
80
+ image_height_text_input_manager.set_val(dimensions?.height ?? null)
81
+ image_aspect_ratio_text_input_manager.set_val(dimensions?.aspect_ratio ?? null)
82
+ },
83
+ })
84
+ storage_id_text_input_manager = create_text_input_manager({
85
+ label: "Storage ID",
86
+ placeholder: "storage_id",
87
+ val: config?.val?.storage_id,
88
+ })
89
+ alt_text_input_manager = create_text_input_manager({
90
+ label: "Alt",
91
+ placeholder: "alt",
92
+ val: config?.val?.alt,
93
+ })
94
+ image_width_text_input_manager = create_text_input_manager({
95
+ type: "number",
96
+ label: "Width",
97
+ placeholder: "width",
98
+ val: config?.val?.image_width,
99
+ })
100
+ image_height_text_input_manager = create_text_input_manager({
101
+ type: "number",
102
+ label: "Height",
103
+ placeholder: "height",
104
+ val: config?.val?.image_height,
105
+ })
106
+ image_aspect_ratio_text_input_manager = create_text_input_manager({
107
+ type: "number",
108
+ label: "Aspect Ratio",
109
+ placeholder: "aspect ratio",
110
+ val: config?.val?.image_aspect_ratio,
111
+ })
112
+ mime_type_text_input_manager = create_text_input_manager({
113
+ label: "Mime Type",
114
+ placeholder: "mime_type",
115
+ val: config?.val?.mime_type,
116
+ })
117
+ is_storage_id_public_checkbox_manager = create_checkbox_manager({
118
+ type: "toggle",
119
+ label: "Is Storage ID Public",
120
+ val: config?.val?.is_storage_id_public,
121
+ })
122
+ src_text_input_manager = create_text_input_manager({
123
+ label: "src",
124
+ placeholder: "src",
125
+ val: config?.val?.src,
126
+ })
127
+ src_quick_text_input_manager = create_text_input_manager({
128
+ label: "src quick (low quality placeholder image)",
129
+ placeholder: "src_quick",
130
+ val: config?.val?.src_quick,
131
+ })
132
+ display_max_height_slider_manager = create_slider_manager({
133
+ label: "Display Max Height",
134
+ val: config?.val?.display_max_height,
135
+ is_nullable: true,
136
+ min: 0,
137
+ max: 2000,
138
+ step: 1,
139
+ })
140
+ display_max_width_slider_manager = create_slider_manager({
141
+ label: "Display Max Width",
142
+ val: config?.val?.display_max_width,
143
+ is_nullable: true,
144
+ min: 0,
145
+ max: 2000,
146
+ step: 1,
147
+ })
148
+ border_radius_slider_manager = create_slider_manager({
149
+ label: "Border Radius",
150
+ val: config?.val?.border_radius,
151
+ min: 0,
152
+ max: 5,
153
+ step: 0.1,
154
+ })
155
+ bg_img_blur_slider_manager = create_slider_manager({
156
+ label: "Bg Image Blur",
157
+ val: config?.val?.bg_img_blur,
158
+ min: 0,
159
+ max: 25,
160
+ step: 1,
161
+ })
162
+ bg_img_opacity_slider_manager = create_slider_manager({
163
+ label: "Bg Image Opacity",
164
+ val: config?.val?.bg_img_opacity,
165
+ min: 0,
166
+ max: 1,
167
+ step: 0.1,
168
+ })
169
+ }
170
+
171
+ init(config)
172
+
173
+ return {
174
+ get val() {
175
+ return val
176
+ },
177
+ get storage_picker_manager() {
178
+ return storage_picker_manager
179
+ },
180
+ get storage_id_text_input_manager() {
181
+ return storage_id_text_input_manager
182
+ },
183
+ get alt_text_input_manager() {
184
+ return alt_text_input_manager
185
+ },
186
+ get image_width_text_input_manager() {
187
+ return image_width_text_input_manager
188
+ },
189
+ get image_height_text_input_manager() {
190
+ return image_height_text_input_manager
191
+ },
192
+ get image_aspect_ratio_text_input_manager() {
193
+ return image_aspect_ratio_text_input_manager
194
+ },
195
+ get mime_type_text_input_manager() {
196
+ return mime_type_text_input_manager
197
+ },
198
+ get is_storage_id_public_checkbox_manager() {
199
+ return is_storage_id_public_checkbox_manager
200
+ },
201
+ get src_text_input_manager() {
202
+ return src_text_input_manager
203
+ },
204
+ get src_quick_text_input_manager() {
205
+ return src_quick_text_input_manager
206
+ },
207
+ get display_max_height_slider_manager() {
208
+ return display_max_height_slider_manager
209
+ },
210
+ get display_max_width_slider_manager() {
211
+ return display_max_width_slider_manager
212
+ },
213
+ get border_radius_slider_manager() {
214
+ return border_radius_slider_manager
215
+ },
216
+ get bg_img_blur_slider_manager() {
217
+ return bg_img_blur_slider_manager
218
+ },
219
+ get bg_img_opacity_slider_manager() {
220
+ return bg_img_opacity_slider_manager
221
+ },
222
+ set_val,
223
+ }
224
+ }
@@ -0,0 +1,44 @@
1
+ <script>
2
+ import Button from "../../../../Button/index.svelte"
3
+ import Checkbox from "../../../../Checkbox/index.svelte"
4
+ import TextInput from "../../../../TextInput/index.svelte"
5
+ import ColorInput from "../../../../ColorInput/index.svelte"
6
+ import Dropdown from "../../../../Dropdown/index.svelte"
7
+ import VariablePathInput from "../../../../VariablePathInput/index.svelte"
8
+ import Color from "../../../../Color/index.svelte"
9
+ import DefinedTypeInput from "../../DefinedTypeInput/index.svelte"
10
+
11
+ let { manager } = $props()
12
+ </script>
13
+
14
+ <VariablePathInput manager={manager?.val_from_variable_path_input_manager} />
15
+ <DefinedTypeInput manager={manager?.val_defined_type_input_manager} >
16
+ {#snippet content()}
17
+ <TextInput manager={manager?.val_text_input_manager} />
18
+ {/snippet}
19
+ </DefinedTypeInput>
20
+ <Dropdown manager={manager?.round_dropdown_manager} />
21
+ {#if manager?.val?.round}
22
+ <TextInput manager={manager?.round_text_input_manager} />
23
+ {/if}
24
+ <Dropdown manager={manager?.shorthand_dropdown_manager} />
25
+ <p class="label">Base Color</p>
26
+ <ColorInput manager={manager?.base_color_manager} />
27
+ <Checkbox manager={manager?.is_percentage_checkbox_manager} />
28
+ <Checkbox manager={manager?.is_progress_bar_checkbox_manager} />
29
+ {#if manager?.val?.is_progress_bar}
30
+ <Checkbox manager={manager?.is_hide_number_checkbox_manager} />
31
+ {/if}
32
+ <Checkbox manager={manager?.is_dynamic_color_checkbox_manager} />
33
+ {#if manager?.val?.is_dynamic_color}
34
+ <p class="label">Start Color</p>
35
+ <ColorInput manager={manager?.start_color_manager} />
36
+ <p class="label">End Color</p>
37
+ <ColorInput manager={manager?.end_color_manager} />
38
+ {/if}
39
+ {#if manager?.val?.is_progress_bar || manager?.val?.is_dynamic_color}
40
+ <TextInput manager={manager?.progress_bar_start_text_input_manager} />
41
+ <TextInput manager={manager?.progress_bar_end_text_input_manager} />
42
+ {/if}
43
+ <Dropdown manager={manager?.separators_dropdown_manager} />
44
+ <Checkbox manager={manager?.is_tooltip_checkbox_manager} />