sveltekit-ui 1.1.15 → 1.1.17

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/package.json +3 -3
  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/ArrowToggle/index.svelte +0 -62
  6. package/dist/Components/Attachment/index.svelte +0 -77
  7. package/dist/Components/Attachment/index.svelte.js +0 -119
  8. package/dist/Components/Audio/index.svelte +0 -193
  9. package/dist/Components/Audio/index.svelte.js +0 -463
  10. package/dist/Components/AudioEditor/index.svelte +0 -252
  11. package/dist/Components/AudioEditor/index.svelte.js +0 -977
  12. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  13. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  14. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  15. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  16. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  17. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  18. package/dist/Components/AuthCodeInput/index.svelte +0 -85
  19. package/dist/Components/AuthCodeInput/index.svelte.js +0 -95
  20. package/dist/Components/Breadcrumbs/index.svelte +0 -27
  21. package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
  22. package/dist/Components/Button/index.svelte +0 -721
  23. package/dist/Components/Button/index.svelte.js +0 -375
  24. package/dist/Components/Chart/Klines/index.svelte +0 -87
  25. package/dist/Components/Chart/index.svelte +0 -226
  26. package/dist/Components/Chart/index.svelte.js +0 -1090
  27. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
  28. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
  29. package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
  30. package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
  31. package/dist/Components/ChartInput/index.svelte +0 -21
  32. package/dist/Components/ChartInput/index.svelte.js +0 -671
  33. package/dist/Components/Checkbox/index.svelte +0 -411
  34. package/dist/Components/Checkbox/index.svelte.js +0 -178
  35. package/dist/Components/Code/index.svelte +0 -23
  36. package/dist/Components/Code/index.svelte.js +0 -33
  37. package/dist/Components/Color/index.svelte +0 -51
  38. package/dist/Components/Color/index.svelte.js +0 -31
  39. package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
  40. package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
  41. package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
  42. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
  43. package/dist/Components/ColorInput/index.svelte +0 -70
  44. package/dist/Components/ColorInput/index.svelte.js +0 -386
  45. package/dist/Components/ConditionsInput/index.svelte +0 -46
  46. package/dist/Components/ConditionsInput/index.svelte.js +0 -201
  47. package/dist/Components/Confetti/index.svelte +0 -98
  48. package/dist/Components/Confetti/index.svelte.js +0 -94
  49. package/dist/Components/Content/index.svelte +0 -500
  50. package/dist/Components/Content/index.svelte.js +0 -910
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
  60. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
  61. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
  62. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
  63. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
  64. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
  65. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
  66. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
  67. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
  68. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
  69. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
  70. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
  71. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
  72. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
  73. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
  74. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
  75. package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
  76. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
  77. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
  78. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
  79. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
  80. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
  81. package/dist/Components/ContentInput/index.svelte +0 -78
  82. package/dist/Components/ContentInput/index.svelte.js +0 -1197
  83. package/dist/Components/CronInput/index.svelte +0 -78
  84. package/dist/Components/CronInput/index.svelte.js +0 -198
  85. package/dist/Components/DataTypeInput/index.svelte +0 -174
  86. package/dist/Components/DataTypeInput/index.svelte.js +0 -565
  87. package/dist/Components/Dropdown/index.svelte +0 -116
  88. package/dist/Components/Dropdown/index.svelte.js +0 -403
  89. package/dist/Components/EmailAddress/index.svelte +0 -22
  90. package/dist/Components/EmailAddress/index.svelte.js +0 -45
  91. package/dist/Components/ErrorX/index.svelte +0 -58
  92. package/dist/Components/Eye/index.svelte +0 -57
  93. package/dist/Components/FileInput/index.svelte +0 -146
  94. package/dist/Components/FileInput/index.svelte.js +0 -225
  95. package/dist/Components/Hamburger/index.svelte +0 -99
  96. package/dist/Components/HorizScrollBox/index.svelte +0 -145
  97. package/dist/Components/Icon/index.svelte +0 -412
  98. package/dist/Components/Icon/index.svelte.js +0 -116
  99. package/dist/Components/IconInput/index.svelte +0 -77
  100. package/dist/Components/IconInput/index.svelte.js +0 -259
  101. package/dist/Components/Image/index.svelte +0 -126
  102. package/dist/Components/Image/index.svelte.js +0 -116
  103. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
  104. package/dist/Components/ImageEditor/Image/index.svelte +0 -104
  105. package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
  106. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
  107. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
  108. package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
  109. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
  110. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
  111. package/dist/Components/ImageEditor/index.svelte +0 -93
  112. package/dist/Components/ImageEditor/index.svelte.js +0 -1961
  113. package/dist/Components/ImageSlider/index.svelte +0 -124
  114. package/dist/Components/ImageSlider/index.svelte.js +0 -99
  115. package/dist/Components/InfoBox/index.svelte +0 -89
  116. package/dist/Components/Json/Nested/index.svelte +0 -157
  117. package/dist/Components/Json/index.svelte +0 -60
  118. package/dist/Components/Json/index.svelte.js +0 -594
  119. package/dist/Components/LabeledItem/index.svelte +0 -102
  120. package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
  121. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
  122. package/dist/Components/Layout/NavBar/index.svelte +0 -72
  123. package/dist/Components/Layout/index.svelte +0 -149
  124. package/dist/Components/Layout/index.svelte.js +0 -360
  125. package/dist/Components/Link/index.svelte +0 -47
  126. package/dist/Components/Link/index.svelte.js +0 -136
  127. package/dist/Components/LoadingSuccessDiv/index.svelte +0 -51
  128. package/dist/Components/LoadingWheel/index.svelte +0 -38
  129. package/dist/Components/Location/index.svelte +0 -79
  130. package/dist/Components/Location/index.svelte.js +0 -288
  131. package/dist/Components/LocationInput/index.svelte +0 -197
  132. package/dist/Components/LocationInput/index.svelte.js +0 -965
  133. package/dist/Components/Number/index.svelte +0 -47
  134. package/dist/Components/Number/index.svelte.js +0 -151
  135. package/dist/Components/PhoneCountryCode/index.svelte +0 -7
  136. package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
  137. package/dist/Components/PhoneNumber/index.svelte +0 -22
  138. package/dist/Components/PhoneNumber/index.svelte.js +0 -41
  139. package/dist/Components/Popover/index.svelte +0 -396
  140. package/dist/Components/Popover/index.svelte.js +0 -319
  141. package/dist/Components/Qr/index.svelte +0 -85
  142. package/dist/Components/Qr/index.svelte.js +0 -301
  143. package/dist/Components/QrInput/index.svelte +0 -47
  144. package/dist/Components/QrInput/index.svelte.js +0 -218
  145. package/dist/Components/Slider/index.svelte +0 -239
  146. package/dist/Components/Slider/index.svelte.js +0 -469
  147. package/dist/Components/Spacer/index.svelte +0 -41
  148. package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
  149. package/dist/Components/StoragePicker/index.svelte +0 -187
  150. package/dist/Components/StoragePicker/index.svelte.js +0 -592
  151. package/dist/Components/SuccessCheck/index.svelte +0 -56
  152. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
  153. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
  154. package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
  155. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
  156. package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
  157. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
  158. package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
  159. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
  160. package/dist/Components/TableAdvanced/index.svelte +0 -275
  161. package/dist/Components/TableAdvanced/index.svelte.js +0 -1565
  162. package/dist/Components/Tag/index.svelte +0 -45
  163. package/dist/Components/Tag/index.svelte.js +0 -76
  164. package/dist/Components/TextArrayInput/index.svelte +0 -108
  165. package/dist/Components/TextArrayInput/index.svelte.js +0 -239
  166. package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
  167. package/dist/Components/TextInput/index.svelte +0 -223
  168. package/dist/Components/TextInput/index.svelte.js +0 -447
  169. package/dist/Components/Time/index.svelte +0 -7
  170. package/dist/Components/Time/index.svelte.js +0 -38
  171. package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
  172. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
  173. package/dist/Components/TimeInput/index.js +0 -702
  174. package/dist/Components/TimeInput/index.svelte +0 -211
  175. package/dist/Components/TimeInput/index.svelte.js +0 -638
  176. package/dist/Components/Tooltip/index.svelte +0 -143
  177. package/dist/Components/TransparentBackground/index.svelte +0 -153
  178. package/dist/Components/TypingDots/index.svelte +0 -84
  179. package/dist/Components/VariablePathInput/index.svelte +0 -63
  180. package/dist/Components/VariablePathInput/index.svelte.js +0 -273
  181. package/dist/Components/VideoTBD/index.svelte +0 -100
  182. package/dist/Components/XFollow/index.svelte +0 -42
  183. package/dist/Components/XPost/index.svelte +0 -52
  184. package/dist/Components/XPost/index.svelte.js +0 -64
  185. package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
  186. package/dist/Components/YoutubeVideo/index.svelte +0 -73
  187. package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
  188. package/dist/actions/draggable.js +0 -49
  189. package/dist/actions/index.js +0 -24
  190. package/dist/actions/no_spaces.js +0 -33
  191. package/dist/actions/numbers_only.js +0 -26
  192. package/dist/actions/scroll_y.js +0 -28
  193. package/dist/actions/stop_scroll_propagation_y.js +0 -42
  194. package/dist/actions/swipe_handler.js +0 -295
  195. package/dist/client/astc_formatting/index.js +0 -1128
  196. package/dist/client/docs/index.js +0 -7622
  197. package/dist/client/index.js +0 -735
  198. package/dist/client/types/index.js +0 -2812
  199. package/dist/index.js +0 -180
  200. package/dist/style.css +0 -682
@@ -1,259 +0,0 @@
1
- import { create_text_input_manager } from "../TextInput/index.svelte.js"
2
- import { create_color_input_manager } from "../ColorInput/index.svelte.js"
3
- import { create_popover_manager } from "../Popover/index.svelte.js"
4
- import { create_button_manager } from "../Button/index.svelte.js"
5
- import { create_icon_manager } from "../Icon/index.svelte.js"
6
- import { deep_copy } from "../../client/index.js"
7
-
8
- export function create_icon_input_manager(config) {
9
- let val = $state(null)
10
- let is_icon_only = $state(false)
11
- let popover_manager = $state(null)
12
- let popover_toggle_button_manager = $state(null)
13
- let clear_button_manager = $state(null)
14
- let finish_button_manager = $state(null)
15
- let color_input_manager = $state(null)
16
- let search_icons_text_input_manager = $state(null)
17
- let icon_options = $state([])
18
- let selected_icon_manager = $state(null)
19
-
20
- const icon_options_default = [
21
- // i cut some out. tbd which to include / add
22
- { key: "calendar", name: "Calendar" },
23
- { key: "chart", name: "Chart" },
24
- { key: "check", name: "Check" },
25
- { key: "copy", name: "Copy" },
26
- { key: "edit", name: "Edit" },
27
- { key: "link", name: "Link" },
28
- { key: "list", name: "List" },
29
- { key: "minus", name: "Minus" },
30
- { key: "plus", name: "Plus" },
31
- { key: "table", name: "Table" },
32
- { key: "trashcan", name: "Trashcan" },
33
- { key: "x", name: "X" },
34
- { key: "three_dots", name: "three_dots" },
35
- { key: "clock", name: "Clock" },
36
- { key: "sun", name: "Sun" },
37
- { key: "moon", name: "Moon" },
38
- { key: "magnifying_glass", name: "Magnifying Glass" },
39
- { key: "smile_face", name: "Smile Face" },
40
- { key: "nuetral_face", name: "Nuetral Face" },
41
- { key: "frown_face", name: "Frown Face" },
42
- { key: "pointer_hand", name: "Pointer Hand" },
43
- { key: "touch_circle", name: "Touch Circle" },
44
- { key: "profile", name: "Profile" },
45
- { key: "share", name: "Share" },
46
- { key: "invite", name: "Invite" },
47
- { key: "feedback", name: "Feedback" },
48
- { key: "idea", name: "Idea" },
49
- { key: "resize", name: "Resize" },
50
- { key: "crop", name: "Crop" },
51
- { key: "folder", name: "Folder" },
52
- { key: "file", name: "File" },
53
- { key: "file_drop", name: "File Drop" },
54
- { key: "linked", name: "Linked" },
55
- { key: "unlinked", name: "Unlinked" },
56
- { key: "sliders", name: "Sliders" },
57
- { key: "brain", name: "Brain" },
58
- { key: "brush", name: "Brush" },
59
- { key: "arrow", name: "Arrow" },
60
- { key: "arrow_tailed", name: "Arrow Tailed" },
61
- { key: "curved_arrow", name: "Curved Arrow" },
62
- { key: "redo_arrow", name: "Redo Arrow" },
63
- { key: "undo_arrow", name: "Undo Arrow" },
64
- { key: "rotate", name: "Rotate" },
65
- { key: "refresh", name: "Refresh" },
66
- { key: "opposing_arrows", name: "Opposing Arrows" },
67
- ]
68
-
69
- let icons_prepped = $state(null)
70
- let icon_options_filtered = $derived(
71
- Array.isArray(icons_prepped)
72
- ? icons_prepped.filter(
73
- (h) =>
74
- search_icons_text_input_manager?.val === null ||
75
- search_icons_text_input_manager?.val === "" ||
76
- h?.key?.includes(search_icons_text_input_manager?.val) ||
77
- h?.name?.includes(search_icons_text_input_manager?.val)
78
- )
79
- : null
80
- )
81
- let icon_color = $derived(
82
- !is_icon_only && !!val?.color
83
- ? `oklch(var(--l${val?.color?.l}${val?.color?.is_dark_theme_invert ? "-t" : ""}) var(--c${
84
- val?.color?.c
85
- }) var(--h${val?.color?.h}) / var(--o${val?.color?.o}))`
86
- : "var(--g6-t)"
87
- )
88
-
89
- function set_icons_prepped() {
90
- let icons_prepped_loc = []
91
- for (let icon_option of icon_options) {
92
- let icon_manager = create_icon_manager({
93
- icon_id: icon_option?.key,
94
- sw: 50,
95
- size: 1.8,
96
- color: icon_color,
97
- })
98
- icons_prepped_loc.push({
99
- ...icon_option,
100
- icon_manager,
101
- button_manager: create_button_manager({
102
- type: "outlined",
103
- min_height: 8,
104
- mt: 0.5,
105
- mb: 0.5,
106
- ml: 0.5,
107
- mr: 0.5,
108
- color: icon_color,
109
- selected_type: () => (val?.icon == icon_option?.key ? "half_selected" : null),
110
- on_click: () => set_icon(icon_option?.key),
111
- }),
112
- })
113
- }
114
- icons_prepped = icons_prepped_loc
115
- }
116
-
117
- function finish() {
118
- popover_manager.close()
119
- if (typeof config?.on_finish == "function") {
120
- config?.on_finish(val)
121
- }
122
- }
123
-
124
- function set_icon(input) {
125
- if (is_icon_only) {
126
- val = input
127
- } else {
128
- val = {
129
- ...val,
130
- icon: input,
131
- }
132
- }
133
- }
134
-
135
- function set_color(input) {
136
- val = {
137
- ...val,
138
- color: input,
139
- }
140
- set_icons_prepped()
141
- }
142
-
143
- function set_null() {
144
- val = null
145
- }
146
-
147
- function set_is_icon_only(input) {
148
- is_icon_only = input
149
- val = is_icon_only
150
- ? typeof val == "object" && val && val.hasOwnProperty("icon")
151
- ? val?.icon
152
- : val
153
- : typeof val == "object" && val && val.hasOwnProperty("icon")
154
- ? val
155
- : { icon: val, color: null }
156
- }
157
-
158
- function init(config) {
159
- icon_options = Array.isArray(config?.icon_options) ? config?.icon_options : icon_options_default
160
- is_icon_only = !!config?.is_icon_only
161
- val = is_icon_only
162
- ? config?.val
163
- : config?.val
164
- ? {
165
- color: val?.color,
166
- icon: val?.icon,
167
- }
168
- : null
169
- popover_manager = create_popover_manager({
170
- type: "dropdown",
171
- min_width: 320,
172
- target_width: 400,
173
- min_height: 320,
174
- target_height: 400,
175
- header: "Icon Picker",
176
- anchor_id: () => `button_${popover_toggle_button_manager?.id}`,
177
- })
178
- popover_toggle_button_manager = create_button_manager({
179
- type: "outlined",
180
- text: "Icon Input",
181
- is_compressed: () => config?.is_button_compressed ?? true,
182
- popover_target: () => `popover_${popover_manager?.id}`,
183
- })
184
- clear_button_manager = create_button_manager({
185
- type: "outlined",
186
- is_compressed: true,
187
- text: "Set Null",
188
- on_click: () => set_null(),
189
- })
190
- color_input_manager = create_color_input_manager({
191
- is_show_opacity: false,
192
- l_options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
193
- val: val?.color,
194
- on_finish: (input) => set_color(input),
195
- })
196
- search_icons_text_input_manager = create_text_input_manager({
197
- type: "search",
198
- autocomplete: "off",
199
- placeholder: "search",
200
- ml: 0.5,
201
- mr: 0.5,
202
- mb: 0.5,
203
- })
204
- selected_icon_manager = create_icon_manager({
205
- icon_id: () => (is_icon_only ? val : val?.icon),
206
- sw: 50,
207
- size: 1.8,
208
- color: () => icon_color,
209
- })
210
- finish_button_manager = create_button_manager({
211
- text: "Finish",
212
- on_click: () => finish(),
213
- })
214
- set_icons_prepped()
215
- }
216
- init(config)
217
-
218
- return {
219
- get icon_color() {
220
- return icon_color
221
- },
222
- get val() {
223
- return val
224
- },
225
- get is_icon_only() {
226
- return is_icon_only
227
- },
228
- get popover_manager() {
229
- return popover_manager
230
- },
231
- get popover_toggle_button_manager() {
232
- return popover_toggle_button_manager
233
- },
234
- get finish_button_manager() {
235
- return finish_button_manager
236
- },
237
- get icon_options_filtered() {
238
- return icon_options_filtered
239
- },
240
- get search_icons_text_input_manager() {
241
- return search_icons_text_input_manager
242
- },
243
- get color_input_manager() {
244
- return color_input_manager
245
- },
246
- get clear_button_manager() {
247
- return clear_button_manager
248
- },
249
- get icon_options() {
250
- return icon_options
251
- },
252
- get selected_icon_manager() {
253
- return selected_icon_manager
254
- },
255
- init,
256
- set_icon,
257
- set_is_icon_only,
258
- }
259
- }
@@ -1,126 +0,0 @@
1
- <script>
2
- import { onMount } from "svelte"
3
- import LoadingWheel from "../LoadingWheel/index.svelte"
4
-
5
- let { manager } = $props()
6
-
7
- onMount(() => {
8
- // doesnt seam to run until all items on page finish loading
9
- if (typeof manager?.handle_mount == "function") {
10
- manager.handle_mount()
11
- }
12
- })
13
- </script>
14
-
15
- {#if manager?.src}
16
- <figure
17
- id={manager?.id}
18
- class="container"
19
- style="
20
- --border_radius: {manager?.border_radius}rem;
21
- aspect-ratio: {manager?.image_aspect_ratio};
22
- max-width: {manager?.display_max_width}px;
23
- max-height: {manager?.display_max_height}px;
24
- height: auto;"
25
- >
26
- <div
27
- class="img_background_blur"
28
- style="background: {manager?.bg_img_style}; filter: blur({manager?.bg_img_blur}px) opacity({manager?.bg_img_opacity}); border-radius: {manager?.border_radius}rem"
29
- ></div>
30
- <div class="main_border_container">
31
- {#if manager?.src_quick}
32
- <div class="main_border_child">
33
- <img
34
- id={`quick_img_${manager?.id}`}
35
- class="placeholder_image"
36
- src={manager?.src_quick}
37
- alt={manager?.alt}
38
- width={manager?.image_width}
39
- height={manager?.image_height}
40
- style="grid-area: stack; height: auto; max-height: {manager?.display_max_height}px; aspect-ratio: {manager?.image_aspect_ratio}; border-radius: {manager?.border_radius}rem;"
41
- />
42
- <div class="placeholder_image_bg"></div>
43
- </div>
44
- {/if}
45
- <picture class="main_border_child" style="z-index: 1;">
46
- <img
47
- id={`img_${manager?.id}`}
48
- src={manager?.src}
49
- alt={manager?.alt}
50
- width={manager?.image_width}
51
- height={manager?.image_height}
52
- style="height: auto; max-height: {manager?.display_max_height}px; aspect-ratio: {manager?.image_aspect_ratio}; border-radius: {manager?.border_radius}rem;"
53
- />
54
- </picture>
55
- {#if manager?.is_loading_main_image}
56
- <div class="main_border_child" style="display: grid; place-items: center; z-index: 2;">
57
- <div class="loading_spinner">
58
- <LoadingWheel />
59
- </div>
60
- </div>
61
- {/if}
62
- </div>
63
- </figure>
64
- {:else}
65
- <p style="font-style: italic;">{manager?.alt ?? "No Image Src"}</p>
66
- {/if}
67
-
68
- <style>
69
- .container {
70
- margin: 0;
71
- padding: 0;
72
- position: relative;
73
- transition: filter 0.3s ease;
74
- box-shadow: 0 0 0 1px oklch(var(--l10-t) var(--c3) var(--primary-h) / var(--o5));
75
- border-radius: var(--border_radius);
76
- width: fit-content;
77
- min-width: 100%;
78
- max-width: 100%;
79
- }
80
- .img_background_blur {
81
- position: absolute;
82
- top: 50%;
83
- left: 50%;
84
- transform: translate(-50%, -50%);
85
- width: clamp(1rem, 130%, 100vw);
86
- height: clamp(1rem, 130%, 100vh);
87
- overflow: hidden;
88
- z-index: -1;
89
- }
90
- .main_border_container {
91
- display: grid;
92
- grid-template-areas: "stack";
93
- height: 100%;
94
- }
95
- .main_border_child {
96
- grid-area: stack;
97
- display: grid;
98
- grid-template-areas: "stack";
99
- }
100
- .placeholder_image_bg {
101
- border-radius: var(--border_radius);
102
- border: 4px solid var(--g17-t);
103
- grid-area: stack;
104
- }
105
- .placeholder_image {
106
- filter: blur(4px);
107
- width: 100%;
108
- height: auto;
109
- }
110
- img {
111
- width: fit-content;
112
- max-width: 100%;
113
- height: auto;
114
- vertical-align: middle;
115
- font-style: italic;
116
- background-repeat: no-repeat;
117
- background-size: cover;
118
- shape-margin: 1rem;
119
- object-fit: contain;
120
- transition: opacity 0.5s ease-out;
121
- }
122
- .loading_spinner {
123
- width: clamp(1rem, 60%, 80rem);
124
- height: clamp(1rem, 60%, 80rem);
125
- }
126
- </style>
@@ -1,116 +0,0 @@
1
- import { create_unique_id, set_closurable } from "../../client/index.js"
2
-
3
- export function create_image_manager(config) {
4
- const id = create_unique_id(null, 20)
5
- let storage_path = $derived(set_closurable(config?.storage_path, null))
6
- let selector_id = $derived(set_closurable(config?.selector_id, null))
7
- let bg_img_blur = $derived(set_closurable(config?.bg_img_blur, 0))
8
- let bg_img_opacity = $derived(set_closurable(config?.bg_img_opacity ?? (bg_img_blur ? 0.3 : 0)))
9
- let alt = $derived(set_closurable(config?.alt, null))
10
- let storage_id = $derived(set_closurable(config?.storage_id, null))
11
- let src = $derived(set_closurable(get_src(config?.src, storage_id), null))
12
- let storage_id_quick = $derived(set_closurable(config?.storage_id_quick, null))
13
- let src_quick = $derived(set_closurable(get_src(config?.src_quick, storage_id_quick), null))
14
- let image_width = $state(config?.image_width ?? null)
15
- let image_height = $state(config?.image_height ?? null)
16
- let image_aspect_ratio = $state(
17
- config?.image_aspect_ratio ?? (image_width > 0 && image_height > 0) ? image_width / image_height : null
18
- )
19
-
20
- let is_loading_main_image = $state(false)
21
- let display_max_height = $derived(set_closurable(config?.display_max_height, 600))
22
- let display_max_width = $derived(set_closurable(config?.display_max_width, 800))
23
- let border_radius = $derived(set_closurable(config?.border_radius, 1))
24
- let bg_img_style = $derived(src_quick || src ? `url(${src_quick ?? src}) no-repeat center/cover` : "none")
25
-
26
- function get_src(src, storage_id) {
27
- if (src) {
28
- return src
29
- } else if (storage_id && storage_path) {
30
- return storage_path.replace("{storage_id}", storage_id)
31
- } else {
32
- return null
33
- }
34
- }
35
-
36
- function handle_mount() {
37
- is_loading_main_image = true
38
- let quick_image_el = document?.querySelector(`#quick_img_${id}`)
39
- if (quick_image_el) {
40
- if (quick_image_el?.complete) {
41
- set_image_dimensions(quick_image_el)
42
- } else {
43
- quick_image_el.onload = () => {
44
- set_image_dimensions(quick_image_el)
45
- }
46
- }
47
- }
48
- setTimeout(() => {
49
- let image_el = document?.querySelector(`#img_${id}`)
50
- if (image_el) {
51
- if (image_el?.complete) {
52
- set_image_dimensions(image_el)
53
- is_loading_main_image = false
54
- } else {
55
- image_el.onload = () => {
56
- set_image_dimensions(image_el)
57
- is_loading_main_image = false
58
- }
59
- }
60
- }
61
- })
62
- }
63
-
64
- function set_image_dimensions(el) {
65
- image_width = el.naturalWidth
66
- image_height = el.naturalHeight
67
- image_aspect_ratio = el.naturalWidth / el.naturalHeight
68
- }
69
-
70
- return {
71
- id,
72
- get is_loading_main_image() {
73
- return is_loading_main_image
74
- },
75
- get selector_id() {
76
- return selector_id
77
- },
78
- get src() {
79
- return src
80
- },
81
- get src_quick() {
82
- return src_quick
83
- },
84
- get alt() {
85
- return alt
86
- },
87
- get display_max_width() {
88
- return display_max_width
89
- },
90
- get display_max_height() {
91
- return display_max_height
92
- },
93
- get image_width() {
94
- return image_width
95
- },
96
- get image_height() {
97
- return image_height
98
- },
99
- get image_aspect_ratio() {
100
- return image_aspect_ratio
101
- },
102
- get bg_img_blur() {
103
- return bg_img_blur
104
- },
105
- get bg_img_opacity() {
106
- return bg_img_opacity
107
- },
108
- get bg_img_style() {
109
- return bg_img_style
110
- },
111
- get border_radius() {
112
- return border_radius
113
- },
114
- handle_mount,
115
- }
116
- }
@@ -1,165 +0,0 @@
1
- <script>
2
- let { manager } = $props()
3
- </script>
4
-
5
- <svelte:window
6
- onmouseup={(e) => manager?.crop_on_up(e)}
7
- onlostpointercapture={(e) => manager?.crop_on_up(e)}
8
- ontouchend={(e) => manager?.crop_on_up(e)}
9
- onmousemove={(e) => manager?.crop_on_move(e)}
10
- ontouchmove={(e) => manager?.crop_on_move(e)}
11
- />
12
-
13
- <div
14
- class="crop_square"
15
- style="left: {manager?.crop_left}px; top: {manager?.crop_top}px; width: {manager?.crop_width}px; height: {manager?.crop_height}px"
16
- >
17
- <div class="vert_lines" style="z-index: 0;"></div>
18
- <div class="horiz_lines" style="z-index: 0;"></div>
19
- <div
20
- class="crop_area"
21
- style="cursor: move;"
22
- role="button"
23
- tabindex="0"
24
- onmousedown={(e) => manager?.crop_on_down(e, "main")}
25
- ontouchstart={(e) => manager?.crop_on_down(e, "main")}
26
- ></div>
27
- <div
28
- class="drag_dot"
29
- style="left: 0; top: 0; cursor: nwse-resize;"
30
- role="button"
31
- tabindex="0"
32
- onmousedown={(e) => manager?.crop_on_down(e, "tl")}
33
- ontouchstart={(e) => manager?.crop_on_down(e, "tl")}
34
- ></div>
35
- <div
36
- class="drag_dot"
37
- style="left: 50%; top: 0; cursor: ns-resize;"
38
- role="button"
39
- tabindex="0"
40
- onmousedown={(e) => manager?.crop_on_down(e, "t")}
41
- ontouchstart={(e) => manager?.crop_on_down(e, "t")}
42
- ></div>
43
- <div
44
- class="drag_dot"
45
- style="left: 100%; top: 0; cursor: nesw-resize;"
46
- role="button"
47
- tabindex="0"
48
- onmousedown={(e) => manager?.crop_on_down(e, "tr")}
49
- ontouchstart={(e) => manager?.crop_on_down(e, "tr")}
50
- ></div>
51
- <div
52
- class="drag_dot"
53
- style="left: 0; top: 100%; cursor: nesw-resize;"
54
- role="button"
55
- tabindex="0"
56
- onmousedown={(e) => manager?.crop_on_down(e, "bl")}
57
- ontouchstart={(e) => manager?.crop_on_down(e, "bl")}
58
- ></div>
59
- <div
60
- class="drag_dot"
61
- style="left: 50%; top: 100%; cursor: ns-resize;"
62
- role="button"
63
- tabindex="0"
64
- onmousedown={(e) => manager?.crop_on_down(e, "b")}
65
- ontouchstart={(e) => manager?.crop_on_down(e, "b")}
66
- ></div>
67
- <div
68
- class="drag_dot"
69
- style="left: 100%; top: 100%; cursor: nwse-resize;"
70
- role="button"
71
- tabindex="0"
72
- onmousedown={(e) => manager?.crop_on_down(e, "br")}
73
- ontouchstart={(e) => manager?.crop_on_down(e, "br")}
74
- ></div>
75
- <div
76
- class="drag_dot"
77
- style="left: 0; top: 50%; cursor: ew-resize;"
78
- role="button"
79
- tabindex="0"
80
- onmousedown={(e) => manager?.crop_on_down(e, "l")}
81
- ontouchstart={(e) => manager?.crop_on_down(e, "l")}
82
- ></div>
83
- <div
84
- class="drag_dot"
85
- style="left: 100%; top: 50%; cursor: ew-resize;"
86
- role="button"
87
- tabindex="0"
88
- onmousedown={(e) => manager?.crop_on_down(e, "r")}
89
- ontouchstart={(e) => manager?.crop_on_down(e, "r")}
90
- ></div>
91
- </div>
92
-
93
- <style>
94
- .crop_square {
95
- position: absolute;
96
- cursor: pointer;
97
- }
98
- .crop_area {
99
- position: absolute;
100
- top: -2px;
101
- bottom: -2px;
102
- left: -2px;
103
- right: -2px;
104
- background: linear-gradient(90deg, #eef 50%, #445 50%), linear-gradient(90deg, #eef 50%, #445 50%),
105
- linear-gradient(0deg, #eef 50%, #445 50%), linear-gradient(0deg, #eef 50%, #445 50%);
106
- background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
107
- background-size:
108
- 10px 2px,
109
- 10px 2px,
110
- 2px 10px,
111
- 2px 10px;
112
- animation: border-dance 20s infinite linear;
113
- }
114
- @keyframes border-dance {
115
- 0% {
116
- background-position:
117
- 0 0,
118
- 100% 100%,
119
- 0 100%,
120
- 100% 0;
121
- }
122
- 100% {
123
- background-position:
124
- 100% 0,
125
- 0 100%,
126
- 0 0,
127
- 100% 100%;
128
- }
129
- }
130
- .vert_lines {
131
- position: absolute;
132
- left: 33%;
133
- right: 33%;
134
- top: 0;
135
- bottom: 0;
136
- border-left: 2px dotted #eef;
137
- border-right: 2px dotted #eef;
138
- }
139
- .horiz_lines {
140
- position: absolute;
141
- top: 33%;
142
- bottom: 33%;
143
- left: 0;
144
- right: 0;
145
- border-top: 2px dotted #eef;
146
- border-bottom: 2px dotted #eef;
147
- }
148
- .drag_dot {
149
- position: absolute;
150
- z-index: 3;
151
- height: 20px;
152
- width: 20px;
153
- border-radius: 50%;
154
- background: linear-gradient(-45deg, var(--g24), var(--g20));
155
- box-shadow:
156
- 0.1rem 0.1rem 0.2rem var(--shadow3),
157
- -0.1rem -0.1rem 0.2rem var(--shadow2),
158
- inset 0.2rem 0.2rem 0.4rem var(--shadow2),
159
- inset -0.2rem -0.2rem 0.4rem var(--shadow2);
160
- transform: translate(-50%, -50%);
161
- }
162
- .drag_dot:hover {
163
- background-color: #556;
164
- }
165
- </style>