sveltekit-ui 1.1.16 → 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 (156) hide show
  1. package/package.json +1 -1
  2. package/dist/Components/ArrowToggle/index.svelte +0 -62
  3. package/dist/Components/Attachment/index.svelte +0 -77
  4. package/dist/Components/Attachment/index.svelte.js +0 -119
  5. package/dist/Components/AudioEditor/index.svelte +0 -252
  6. package/dist/Components/AudioEditor/index.svelte.js +0 -977
  7. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  8. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  9. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  10. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  11. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  12. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  13. package/dist/Components/Breadcrumbs/index.svelte +0 -27
  14. package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
  15. package/dist/Components/Chart/Klines/index.svelte +0 -87
  16. package/dist/Components/Chart/index.svelte +0 -226
  17. package/dist/Components/Chart/index.svelte.js +0 -1090
  18. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
  19. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
  20. package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
  21. package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
  22. package/dist/Components/ChartInput/index.svelte +0 -21
  23. package/dist/Components/ChartInput/index.svelte.js +0 -671
  24. package/dist/Components/Color/index.svelte +0 -51
  25. package/dist/Components/Color/index.svelte.js +0 -31
  26. package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
  27. package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
  28. package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
  29. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
  30. package/dist/Components/ColorInput/index.svelte +0 -70
  31. package/dist/Components/ColorInput/index.svelte.js +0 -386
  32. package/dist/Components/ConditionsInput/index.svelte +0 -46
  33. package/dist/Components/ConditionsInput/index.svelte.js +0 -201
  34. package/dist/Components/Confetti/index.svelte +0 -98
  35. package/dist/Components/Confetti/index.svelte.js +0 -94
  36. package/dist/Components/Content/index.svelte +0 -500
  37. package/dist/Components/Content/index.svelte.js +0 -910
  38. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
  39. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
  40. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
  41. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
  42. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
  43. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
  44. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
  45. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
  46. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
  47. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
  48. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
  49. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
  50. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
  60. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
  61. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
  62. package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
  63. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
  64. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
  65. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
  66. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
  67. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
  68. package/dist/Components/ContentInput/index.svelte +0 -78
  69. package/dist/Components/ContentInput/index.svelte.js +0 -1197
  70. package/dist/Components/CronInput/index.svelte +0 -78
  71. package/dist/Components/CronInput/index.svelte.js +0 -198
  72. package/dist/Components/DataTypeInput/index.svelte +0 -174
  73. package/dist/Components/DataTypeInput/index.svelte.js +0 -565
  74. package/dist/Components/Dropdown/index.svelte +0 -116
  75. package/dist/Components/Dropdown/index.svelte.js +0 -403
  76. package/dist/Components/ErrorX/index.svelte +0 -58
  77. package/dist/Components/FileInput/index.svelte +0 -146
  78. package/dist/Components/FileInput/index.svelte.js +0 -225
  79. package/dist/Components/Hamburger/index.svelte +0 -99
  80. package/dist/Components/HorizScrollBox/index.svelte +0 -145
  81. package/dist/Components/IconInput/index.svelte +0 -77
  82. package/dist/Components/IconInput/index.svelte.js +0 -259
  83. package/dist/Components/Image/index.svelte +0 -126
  84. package/dist/Components/Image/index.svelte.js +0 -116
  85. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
  86. package/dist/Components/ImageEditor/Image/index.svelte +0 -104
  87. package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
  88. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
  89. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
  90. package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
  91. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
  92. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
  93. package/dist/Components/ImageEditor/index.svelte +0 -93
  94. package/dist/Components/ImageEditor/index.svelte.js +0 -1961
  95. package/dist/Components/ImageSlider/index.svelte +0 -124
  96. package/dist/Components/ImageSlider/index.svelte.js +0 -99
  97. package/dist/Components/Json/Nested/index.svelte +0 -157
  98. package/dist/Components/LabeledItem/index.svelte +0 -102
  99. package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
  100. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
  101. package/dist/Components/Layout/NavBar/index.svelte +0 -72
  102. package/dist/Components/Layout/index.svelte +0 -149
  103. package/dist/Components/Layout/index.svelte.js +0 -360
  104. package/dist/Components/LoadingWheel/index.svelte +0 -38
  105. package/dist/Components/LocationInput/index.svelte +0 -197
  106. package/dist/Components/LocationInput/index.svelte.js +0 -965
  107. package/dist/Components/Number/index.svelte +0 -47
  108. package/dist/Components/Number/index.svelte.js +0 -151
  109. package/dist/Components/PhoneCountryCode/index.svelte +0 -7
  110. package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
  111. package/dist/Components/Popover/index.svelte +0 -396
  112. package/dist/Components/Popover/index.svelte.js +0 -319
  113. package/dist/Components/Spacer/index.svelte +0 -41
  114. package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
  115. package/dist/Components/StoragePicker/index.svelte +0 -187
  116. package/dist/Components/StoragePicker/index.svelte.js +0 -592
  117. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
  118. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
  119. package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
  120. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
  121. package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
  122. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
  123. package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
  124. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
  125. package/dist/Components/Tag/index.svelte +0 -45
  126. package/dist/Components/Tag/index.svelte.js +0 -76
  127. package/dist/Components/TextArrayInput/index.svelte +0 -108
  128. package/dist/Components/TextArrayInput/index.svelte.js +0 -239
  129. package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
  130. package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
  131. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
  132. package/dist/Components/TimeInput/index.js +0 -702
  133. package/dist/Components/TimeInput/index.svelte +0 -211
  134. package/dist/Components/TimeInput/index.svelte.js +0 -638
  135. package/dist/Components/Tooltip/index.svelte +0 -143
  136. package/dist/Components/TransparentBackground/index.svelte +0 -153
  137. package/dist/Components/TypingDots/index.svelte +0 -84
  138. package/dist/Components/VariablePathInput/index.svelte +0 -63
  139. package/dist/Components/VariablePathInput/index.svelte.js +0 -273
  140. package/dist/Components/XFollow/index.svelte +0 -42
  141. package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
  142. package/dist/Components/YoutubeVideo/index.svelte +0 -73
  143. package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
  144. package/dist/actions/draggable.js +0 -49
  145. package/dist/actions/index.js +0 -24
  146. package/dist/actions/no_spaces.js +0 -33
  147. package/dist/actions/numbers_only.js +0 -26
  148. package/dist/actions/scroll_y.js +0 -28
  149. package/dist/actions/stop_scroll_propagation_y.js +0 -42
  150. package/dist/actions/swipe_handler.js +0 -295
  151. package/dist/client/astc_formatting/index.js +0 -1128
  152. package/dist/client/docs/index.js +0 -7622
  153. package/dist/client/index.js +0 -735
  154. package/dist/client/types/index.js +0 -2812
  155. package/dist/index.js +0 -180
  156. package/dist/style.css +0 -682
@@ -1,225 +0,0 @@
1
- import { create_unique_id, set_closurable, set_closurable_color } from "../../client/index.js"
2
- import { create_button_manager } from "../Button/index.svelte.js"
3
- import { create_icon_manager } from "../Icon/index.svelte.js"
4
-
5
- export function create_file_input_manager(config) {
6
- const id = create_unique_id(null, 20)
7
- let val = $state(null)
8
- let label = $derived(set_closurable(config?.label, null))
9
- let name = $derived(set_closurable(config?.name, "file"))
10
- let is_required = $derived(set_closurable(config?.is_required, false))
11
- let is_read_only = $derived(set_closurable(config?.is_read_only, false))
12
- let accept = $derived(
13
- set_closurable(config?.accept, [
14
- "image/png",
15
- "image/jpeg",
16
- "image/webp",
17
- "image/gif",
18
- "image/avif",
19
- "image/svg+xml",
20
- "application/pdf",
21
- "video/mp4",
22
- "audio/mpeg",
23
- "audio/aac",
24
- "application/json",
25
- ])
26
- )
27
- let is_multiselect = $derived(set_closurable(config?.is_multiselect, false))
28
- let is_disabled = $derived(set_closurable(config?.is_disabled, false))
29
- let border_radius = $derived(set_closurable(config?.border_radius, 2))
30
- let height = $derived(set_closurable(config?.height, null))
31
- let icon_color = $derived(set_closurable_color(config?.icon_color, "var(--primary-t)"))
32
- let border_color = $derived(set_closurable_color(config?.border_color, "aabbccff"))
33
- let is_drop_zone = $derived(set_closurable(config?.is_drop_zone, true))
34
- let is_hide_drop_zone_if_file = $derived(set_closurable(config?.is_hide_drop_zone_if_file, true))
35
- let ml = $derived(set_closurable(config?.ml, 0))
36
- let mr = $derived(set_closurable(config?.mr, 0))
37
- let mt = $derived(set_closurable(config?.mt, 0))
38
- let mb = $derived(set_closurable(config?.mb, 0))
39
- let select_file_button_text = $derived(set_closurable(config?.select_file_button_text, null))
40
- let error_message = $state(null)
41
- let error_button_manager = $state(null)
42
- let clear_files_button_manager = $state(null)
43
- let file_drop_icon_manager = $state(null)
44
-
45
- let svg_bg = $derived(`url(
46
- "data:image/svg+xml,%3csvg width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'%3e%3crect stroke='%23${border_color}' x='.1rem' y='.1rem' width='calc(100% - .2rem)' height='calc(100% - .2rem)' fill='none' rx='${
47
- border_radius * 10
48
- }' ry='${
49
- border_radius * 10
50
- }' stroke-width='2' stroke-dasharray='8%2c 14' stroke-dashoffset='6' stroke-linecap='round'/%3e%3c/svg%3e"
51
- )`)
52
-
53
- function get_file(e) {
54
- error_message = null
55
- let val_loc = []
56
- for (let file of e.target.files) {
57
- val_loc = [...val_loc, file]
58
- }
59
- if (is_multiselect) {
60
- val = val_loc
61
- } else {
62
- val = val_loc[0]
63
- }
64
- if (typeof config?.on_get_file == "function") {
65
- config?.on_get_file(val)
66
- }
67
- }
68
-
69
- function drop_handler(ev) {
70
- console.log("File(s) dropped", ev)
71
- if (ev) {
72
- ev.preventDefault()
73
- }
74
- if (is_drop_zone) {
75
- error_message = null
76
- let val_loc = []
77
- if (ev.dataTransfer.items) {
78
- for (let i = 0; i < ev.dataTransfer.items.length; i++) {
79
- if (ev.dataTransfer.items[i].kind === "file") {
80
- const file = ev.dataTransfer.items[i].getAsFile()
81
- console.log(file?.type, accept, accept.includes(file?.type))
82
- if (accept.includes(file?.type)) {
83
- console.log("1 file[" + i + "].name = " + file.name)
84
- val_loc = [...val_loc, file]
85
- } else {
86
- error_message = error_message ?? "" + " " + file?.name + " of type " + file?.type + " not allowed"
87
- }
88
- }
89
- }
90
- } else {
91
- for (let i = 0; i < ev.dataTransfer.files.length; i++) {
92
- const file = ev.dataTransfer.files[i].getAsFile()
93
- val_loc = [...val_loc, file]
94
- }
95
- }
96
- if (is_multiselect) {
97
- val = val_loc
98
- } else {
99
- val = val_loc[0]
100
- }
101
- }
102
- if (config?.on_get_file) {
103
- config?.on_get_file(val)
104
- }
105
- }
106
-
107
- function clear_files() {
108
- val = []
109
- if (config?.on_clear_files) {
110
- config?.on_clear_files()
111
- }
112
- }
113
-
114
- function init(config) {
115
- val = config?.val ?? null
116
- file_drop_icon_manager = create_icon_manager({
117
- icon_id: () => (val && val.length > 0 ? "file_dropped" : "file_drop"),
118
- size: 8,
119
- sw: 12,
120
- color: () => icon_color,
121
- })
122
- error_button_manager = create_button_manager({
123
- type: "outlined",
124
- support_icon: "x",
125
- min_height: 2.4,
126
- color: "var(--error-t)",
127
- ml: 0.5,
128
- is_uniform: true,
129
- is_disabled: () => is_disabled,
130
- on_click: () => (error_message = null),
131
- })
132
- clear_files_button_manager = create_button_manager({
133
- ml: ml,
134
- mr: mr,
135
- mt: mt,
136
- mb: mb,
137
- support_icon: "x",
138
- is_compressed: true,
139
- is_disabled: () => is_disabled,
140
- text: () => (Array.isArray(val) ? `${val.length}Files Selected` : val?.name),
141
- on_click: () => clear_files(),
142
- })
143
- }
144
-
145
- init(config)
146
-
147
- return {
148
- id,
149
- get val() {
150
- return val
151
- },
152
- get name() {
153
- return name
154
- },
155
- get label() {
156
- return label
157
- },
158
- get is_required() {
159
- return is_required
160
- },
161
- get is_read_only() {
162
- return is_read_only
163
- },
164
- get accept() {
165
- return accept
166
- },
167
- get is_multiselect() {
168
- return is_multiselect
169
- },
170
- get is_disabled() {
171
- return is_disabled
172
- },
173
- get border_radius() {
174
- return border_radius
175
- },
176
- get height() {
177
- return height
178
- },
179
- get icon_color() {
180
- return icon_color
181
- },
182
- get border_color() {
183
- return border_color
184
- },
185
- get is_drop_zone() {
186
- return is_drop_zone
187
- },
188
- get is_hide_drop_zone_if_file() {
189
- return is_hide_drop_zone_if_file
190
- },
191
- get ml() {
192
- return ml
193
- },
194
- get mr() {
195
- return mr
196
- },
197
- get mt() {
198
- return mt
199
- },
200
- get mb() {
201
- return mb
202
- },
203
- get select_file_button_text() {
204
- return select_file_button_text
205
- },
206
- get error_message() {
207
- return error_message
208
- },
209
- get svg_bg() {
210
- return svg_bg
211
- },
212
- get error_button_manager() {
213
- return error_button_manager
214
- },
215
- get clear_files_button_manager() {
216
- return clear_files_button_manager
217
- },
218
- get file_drop_icon_manager() {
219
- return file_drop_icon_manager
220
- },
221
- get_file,
222
- drop_handler,
223
- clear_files,
224
- }
225
- }
@@ -1,99 +0,0 @@
1
- <script>
2
- let { val, is_bind_val = false, color_base = "var(--g14-t)", color_hover = "var(--primary-t)", on_change } = $props()
3
-
4
- let is_hovered = $state(false)
5
-
6
- function toggle() {
7
- if (on_change) {
8
- on_change(!val)
9
- }
10
- }
11
- </script>
12
-
13
- <button
14
- class="side_bar_toggle_button"
15
- style="--color_base: {color_base}; --color_hover: {color_hover};"
16
- onpointerenter={() => (is_hovered = true)}
17
- onpointerleave={() => (is_hovered = false)}
18
- class:is_hovered
19
- onclick={() => toggle()}
20
- aria-label="Hamburger Toggle"
21
- >
22
- <span class="bar_base top_line" class:top_line_x={val}></span>
23
- <span class="bar_base mid_line" class:mid_line_x={val}></span>
24
- <span class="bar_base bot_line" class:bot_line_x={val}></span>
25
- </button>
26
-
27
- <style>
28
- .side_bar_toggle_button {
29
- background-color: transparent;
30
- border: none;
31
- cursor: pointer;
32
- outline: none;
33
- padding: 0;
34
- pointer-events: initial;
35
- height: 2rem;
36
- width: 2.2rem;
37
- border-radius: 0.5rem;
38
- position: relative;
39
- }
40
- .is_hovered .bar_base {
41
- background-position: left;
42
- }
43
- .bar_base {
44
- background: linear-gradient(to left, var(--color_base) 50%, var(--color_hover) 50%) right;
45
- background-size: 200%;
46
- display: block;
47
- height: 0.3rem;
48
- position: absolute;
49
- width: 2.2rem;
50
- border-radius: 0.2rem;
51
- transform: translateY(-50%);
52
- border: none;
53
- }
54
- .top_line {
55
- top: 10%;
56
- transition:
57
- top 0.2s 0.2s ease-out,
58
- transform 0.2s linear,
59
- background-position 0.6s ease-out;
60
- }
61
- .top_line_x {
62
- transition:
63
- top 0.2s ease-out,
64
- transform 0.2s 0.2s ease-out,
65
- background-position 0.6s ease-out;
66
- top: 50%;
67
- transform: translateY(-50%) rotate3d(0, 0, 1, -45deg);
68
- }
69
- .mid_line {
70
- top: 50%;
71
- visibility: visible;
72
- transition:
73
- visibility 0s,
74
- background-position 0.3s ease-out;
75
- transition-delay: 0.2s;
76
- }
77
- .mid_line_x {
78
- visibility: hidden;
79
- transition:
80
- visibility 0s,
81
- background-position 0.3s ease-out;
82
- transition-delay: 0.2s;
83
- }
84
- .bot_line {
85
- top: 90%;
86
- transition:
87
- top 0.2s 0.2s ease-out,
88
- transform 0.2s linear,
89
- background-position 0.8s ease-out;
90
- }
91
- .bot_line_x {
92
- transition:
93
- top 0.2s ease-out,
94
- transform 0.2s 0.2s ease-out,
95
- background-position 0.8s ease-out;
96
- top: 50%;
97
- transform: translateY(-50%) rotate3d(0, 0, 1, 45deg);
98
- }
99
- </style>
@@ -1,145 +0,0 @@
1
- <script>
2
- import { create_icon_manager } from "../Icon/index.svelte.js"
3
- import Icon from "../Icon/index.svelte"
4
- import { fade } from "svelte/transition"
5
-
6
- let { children } = $props()
7
-
8
- let container_width = $state(null)
9
- let content_width = $state(null)
10
- let show_left_arrow = $state(false)
11
- let show_right_arrow = $derived(
12
- content_width && container_width && content_width > container_width && !hide_right_arrow
13
- )
14
- let hide_right_arrow = $state(false)
15
-
16
- function scrolled(e) {
17
- if (container_width < content_width) {
18
- show_left_arrow = e.target.scrollLeft > 0.5
19
- hide_right_arrow = e.target.scrollWidth - container_width - e.target.scrollLeft < 0.5
20
- } else {
21
- show_left_arrow = hide_right_arrow = false
22
- }
23
- }
24
-
25
- let scroll_box_el = $state(null)
26
-
27
- let in_left_arrow = $state(false)
28
- let in_right_arrow = $state(false)
29
- let hold_sub = $state(null)
30
-
31
- function start_hold(dir) {
32
- in_left_arrow = dir === "left"
33
- in_right_arrow = dir === "right"
34
- const starting_scroll_left = scroll_box_el ? scroll_box_el.scrollLeft : 0
35
- let cum = 0
36
- clearInterval(hold_sub)
37
- hold_sub = setInterval(() => {
38
- cum = in_left_arrow ? cum - 0.5 : cum + 0.5
39
- cum = in_right_arrow ? cum + 0.5 : cum - 0.5
40
- scroll_box_el.scrollLeft = starting_scroll_left + cum
41
- if ((in_left_arrow && !show_left_arrow) || (in_right_arrow && !show_right_arrow)) {
42
- stop_hold()
43
- }
44
- }, 10)
45
- }
46
-
47
- function stop_hold() {
48
- clearInterval(hold_sub)
49
- in_left_arrow = false
50
- in_right_arrow = false
51
- }
52
-
53
- let left_icon_manager = create_icon_manager({
54
- icon_id: "arrow",
55
- size: 1.2,
56
- sw: 50,
57
- deg: 270,
58
- color: () => in_left_arrow ? "var(--g4-t)" : "var(--g8-t)"
59
- })
60
-
61
- let right_icon_manager = create_icon_manager({
62
- icon_id: "arrow",
63
- size: 1.2,
64
- sw: 50,
65
- deg: 90,
66
- color: () => in_right_arrow ? "var(--g4-t)" : "var(--g8-t)"
67
- })
68
- </script>
69
-
70
- <div class="container" bind:offsetWidth={container_width} onwheel={e => e.stopPropagation()} ontouchmove={e => e.stopPropagation()} >
71
- <div class="scrollbox" onscroll={(e) => scrolled(e)} bind:this={scroll_box_el}>
72
- <div class="options" bind:clientWidth={content_width}>
73
- {#if children}
74
- {@render children()}
75
- {/if}
76
- </div>
77
- </div>
78
- {#if show_left_arrow}
79
- <div
80
- class="arrow_base left_arrow"
81
- transition:fade={{ duration: 150 }}
82
- onpointerenter={() => start_hold("left")}
83
- onpointerleave={stop_hold}
84
- ontouchstart={() => start_hold("left")}
85
- ontouchend={(e) => {
86
- e.preventDefault()
87
- stop_hold(e)}}
88
- >
89
- <Icon manager={left_icon_manager} />
90
- </div>
91
- {/if}
92
- {#if show_right_arrow}
93
- <div
94
- class="arrow_base right_arrow"
95
- transition:fade={{ duration: 150 }}
96
- onpointerenter={() => start_hold("right")}
97
- onpointerleave={stop_hold}
98
- ontouchstart={() => start_hold("right")}
99
- ontouchend={e => {
100
- e.preventDefault()
101
- stop_hold(e)}
102
- }
103
- >
104
- <Icon manager={right_icon_manager} />
105
- </div>
106
- {/if}
107
- </div>
108
-
109
- <style>
110
- .container {
111
- display: flex;
112
- flex: 1;
113
- position: relative;
114
- overflow: hidden;
115
- }
116
- .scrollbox {
117
- display: flex;
118
- overflow: scroll;
119
- }
120
- .scrollbox::-webkit-scrollbar {
121
- display: none;
122
- }
123
- .options {
124
- display: flex;
125
- }
126
- .arrow_base {
127
- position: absolute;
128
- width: 4rem;
129
- display: flex;
130
- align-items: center;
131
- }
132
- .left_arrow {
133
- background: linear-gradient(90deg, var(--bg), transparent);
134
- left: 0;
135
- top: 0;
136
- bottom: 0;
137
- }
138
- .right_arrow {
139
- background: linear-gradient(90deg, transparent, var(--bg));
140
- right: 0;
141
- top: 0;
142
- bottom: 0;
143
- flex-direction: row-reverse;
144
- }
145
- </style>
@@ -1,77 +0,0 @@
1
- <script>
2
- import Popover from "../Popover/index.svelte"
3
- import Button from "../Button/index.svelte"
4
- import Icon from "../Icon/index.svelte"
5
- import TextInput from "../TextInput/index.svelte"
6
- import ColorInput from "../ColorInput/index.svelte"
7
-
8
- let { manager } = $props()
9
- </script>
10
-
11
- {#snippet selected_icon()}
12
- <div style="display: flex; gap: 1rem; align-items: center; color: var(--g2-t);">
13
- {manager?.icon_options.find((h) => h.key == (manager?.is_icon_only ? manager?.val : manager?.val?.icon))?.name ??
14
- (manager?.is_icon_only ? manager?.val : manager?.val?.icon) ??
15
- "Select Icon"}
16
- {#if manager?.is_icon_only ? manager?.val : manager?.val?.icon}
17
- <Icon manager={manager?.selected_icon_manager} />
18
- {/if}
19
- </div>
20
- {/snippet}
21
-
22
- <Button manager={manager?.popover_toggle_button_manager}>
23
- {#snippet content()}
24
- {@render selected_icon()}
25
- {/snippet}
26
- </Button>
27
- <Popover manager={manager?.popover_manager}>
28
- {#snippet content()}
29
- <div class="popover_content_container">
30
- {#if manager?.val}
31
- <div style="display: flex; gap: 1rem;">
32
- <Button manager={manager?.clear_button_manager} />
33
- {@render selected_icon()}
34
- </div>
35
- {/if}
36
- {#if !manager?.is_icon_only}
37
- <p class="label">Color</p>
38
- <ColorInput manager={manager?.color_input_manager} />
39
- {/if}
40
- <p class="label">Icon</p>
41
- {#if manager?.icon_options.length > 6}
42
- <TextInput manager={manager?.search_icons_text_input_manager} />
43
- {/if}
44
- <div class="elements_container">
45
- {#each manager?.icon_options_filtered as icon_option}
46
- <Button manager={icon_option?.button_manager}>
47
- {#snippet content()}
48
- <div class="button_internal_container">
49
- <Icon manager={icon_option?.icon_manager} />
50
- <p style="font-size: 1.2rem;">{icon_option?.name}</p>
51
- </div>
52
- {/snippet}
53
- </Button>
54
- {/each}
55
- </div>
56
- </div>
57
- {/snippet}
58
- {#snippet footer()}
59
- <Button manager={manager?.finish_button_manager} />
60
- {/snippet}
61
- </Popover>
62
-
63
- <style>
64
- .elements_container {
65
- display: grid;
66
- grid-template-columns: repeat(auto-fit, minmax(clamp(20%, 8rem, 100%), 1fr));
67
- }
68
- .button_internal_container {
69
- line-height: 3rem;
70
- height: 5rem;
71
- display: flex;
72
- flex-direction: column;
73
- flex: 1;
74
- align-items: center;
75
- justify-content: space-between;
76
- }
77
- </style>