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,671 +0,0 @@
1
- import { create_button_manager } from "../Button/index.svelte.js"
2
- import { create_popover_manager } from "../Popover/index.svelte.js"
3
- import { create_dropdown_manager } from "../Dropdown/index.svelte.js"
4
- import { create_slider_manager } from "../Slider/index.svelte.js"
5
- import { create_text_input_manager } from "../TextInput/index.svelte.js"
6
- import { create_color_input_manager } from "../ColorInput/index.svelte.js"
7
- import { create_breadcrumbs_manager } from "../Breadcrumbs/index.svelte.js"
8
- import { create_unique_id, deep_copy } from "../../client/index.js"
9
-
10
- export function create_chart_input_manager(config) {
11
- let chart_builder_popover_manager = $state(null)
12
- let chart_builder_popover_button_manager = $state(null)
13
- let chart_prepped = $state(null)
14
- let path_breadcrumbs_manager = $state(null)
15
- let datasets = $state(null)
16
- let finish_button_manager = $state(null)
17
-
18
- const dataset_base = {
19
- type: null,
20
- name: null,
21
- dataset_id: null,
22
- keys: [],
23
- period_x: null,
24
- colors: [],
25
- }
26
-
27
- const shared_y_axis_base = {
28
- y_axis_type: null,
29
- y_axis_title: null,
30
- bottom_padding_pd: 0.2,
31
- top_padding_pd: 0.2,
32
- datasets: [JSON.parse(JSON.stringify(dataset_base))],
33
- }
34
-
35
- const frame_base = {
36
- aspect_ratio: 1.25,
37
- shown_y_axis_index: 0,
38
- shared_y_axiss: [JSON.parse(JSON.stringify(shared_y_axis_base))],
39
- }
40
-
41
- const chart_base = {
42
- id: "abcdefgh",
43
- x_axis_type: "time",
44
- x_axis_title: null,
45
- frames: [JSON.parse(JSON.stringify(frame_base))],
46
- }
47
-
48
- const x_axis_type_options = [
49
- { key: "time", name: "Time" },
50
- { key: "number", name: "Number" },
51
- ]
52
-
53
- function move(array, from, to, on = 1) {
54
- const copy = array.slice()
55
- const removed = copy.splice(from, on)
56
- copy.splice(to, 0, ...removed)
57
- return copy
58
- }
59
-
60
- function shift_frame_to_back(i) {
61
- const to = chart_prepped.frames.length - 1
62
- chart_prepped = get_chart_prepped({
63
- ...chart_prepped,
64
- frames: move(chart_prepped.frames, i, to),
65
- })
66
- }
67
-
68
- function remove_frame(i) {
69
- console.log("remove_frame", i)
70
- chart_prepped = get_chart_prepped({ ...chart_prepped, frames: chart_prepped.frames.filter((_, idx) => idx !== i) })
71
- }
72
-
73
- function add_frame() {
74
- console.log("add_frame", chart_prepped?.frames, frame_base)
75
- chart_prepped = get_chart_prepped({ ...chart_prepped, frames: [...chart_prepped?.frames, frame_base] })
76
- }
77
-
78
- let val = $derived.by(() => {
79
- let frames = []
80
- if (Array.isArray(chart_prepped?.frames)) {
81
- for (let frame of chart_prepped?.frames) {
82
- let shared_y_axiss = []
83
- if (Array.isArray(frame?.shared_y_axiss)) {
84
- for (let shared_y_axis of frame?.shared_y_axiss) {
85
- let datasets = []
86
- if (Array.isArray(shared_y_axis?.datasets)) {
87
- for (let dataset of shared_y_axis?.datasets) {
88
- datasets.push({
89
- colors: dataset?.colors,
90
- dataset_id: dataset?.dataset_id,
91
- keys: dataset?.keys,
92
- name: dataset?.name,
93
- period_x: dataset?.period_x,
94
- type: dataset?.type,
95
- })
96
- }
97
- }
98
- shared_y_axiss.push({
99
- y_axis_title: shared_y_axis?.y_axis_title,
100
- y_axis_type: shared_y_axis?.y_axis_type,
101
- bottom_padding_pd: shared_y_axis?.bottom_padding_pd,
102
- top_padding_pd: shared_y_axis?.top_padding_pd,
103
- datasets: datasets,
104
- })
105
- }
106
- }
107
- frames.push({
108
- shown_y_axis_index: frame?.shown_y_axis_index,
109
- aspect_ratio: frame?.aspect_ratio,
110
- shared_y_axiss: shared_y_axiss,
111
- })
112
- }
113
- }
114
- return {
115
- id: chart_prepped?.id,
116
- x_axis_type: chart_prepped?.x_axis_type,
117
- x_axis_title: chart_prepped?.x_axis_title,
118
- shown_start_x: chart_prepped?.shown_start_x,
119
- shown_end_x: chart_prepped?.shown_end_x,
120
- min_x_scrollable: chart_prepped?.min_x_scrollable,
121
- max_x_scrollable: chart_prepped?.max_x_scrollable,
122
- frames: frames,
123
- }
124
- })
125
-
126
- function shift_shared_y_axis_to_back(i) {
127
- let chart_copy = deep_copy(chart_prepped)
128
- const to = chart_copy.frames[path_breadcrumbs_manager?.val?.[0]].shared_y_axiss.length - 1
129
- chart_copy.frames[path_breadcrumbs_manager?.val?.[0]].shared_y_axiss = move(
130
- chart_copy.frames[path_breadcrumbs_manager?.val?.[0]].shared_y_axiss,
131
- i,
132
- to
133
- )
134
- chart_prepped = get_chart_prepped(chart_copy)
135
- }
136
-
137
- function remove_shared_y_axis(i) {
138
- console.log("remove_frame", i)
139
- let chart_copy = deep_copy(chart_prepped)
140
- chart_copy.frames[path_breadcrumbs_manager?.val?.[0]].shared_y_axiss.splice(i, 1)
141
- chart_prepped = get_chart_prepped(chart_copy)
142
- }
143
-
144
- function add_shared_y_axis() {
145
- console.log("add_shared_y_axis")
146
- let chart_copy = deep_copy(chart_prepped)
147
- chart_copy.frames[path_breadcrumbs_manager?.val?.[0]].shared_y_axiss = [
148
- ...chart_copy.frames[path_breadcrumbs_manager?.val?.[0]].shared_y_axiss,
149
- shared_y_axis_base,
150
- ]
151
- chart_prepped = get_chart_prepped(chart_copy)
152
- }
153
-
154
- const y_axis_type_options = [
155
- { key: "price", name: "Price" },
156
- { key: "pd", name: "Percent Decimal" },
157
- { key: "number", name: "Number" },
158
- ]
159
-
160
- function shift_dataset_to_back(path) {
161
- let chart_copy = deep_copy(chart_prepped)
162
- const to = chart_copy.frames[path[0]].shared_y_axiss[path[1]].datasets.length - 1
163
- chart_copy.frames[path[0]].shared_y_axiss[path[1]].datasets = move(
164
- chart_copy.frames[path[0]].shared_y_axiss[path[1]].datasets,
165
- path?.[2],
166
- to
167
- )
168
- chart_prepped = get_chart_prepped(chart_copy)
169
- }
170
-
171
- function remove_dataset(path) {
172
- console.log("remove_dataset", path)
173
- let chart_copy = deep_copy(chart_prepped)
174
- chart_copy.frames[path[0]].shared_y_axiss[path[1]].datasets.splice(path?.[2], 1)
175
- chart_prepped = get_chart_prepped(chart_copy)
176
- }
177
-
178
- function add_dataset(path) {
179
- console.log("add_dataset")
180
- let chart_copy = deep_copy(chart_prepped)
181
- chart_copy.frames[path[0]].shared_y_axiss[path[1]].datasets = [
182
- ...chart_copy.frames[path[0]].shared_y_axiss[path[1]].datasets,
183
- dataset_base,
184
- ]
185
- chart_prepped = get_chart_prepped(chart_copy)
186
- }
187
-
188
- const dataset_type_options = [
189
- { key: "klines", name: "Klines", keys: ["x", "o", "l", "h", "c"] },
190
- { key: "points", name: "Points", keys: ["x", "y"] },
191
- { key: "path", name: "Path", keys: ["x", "y"] },
192
- { key: "lines", name: "Lines", keys: ["m", "b", "s"] },
193
- ]
194
-
195
- const period_options = [
196
- { key: 60, name: "1m" },
197
- { key: 300, name: "5m" },
198
- { key: 900, name: "15m" },
199
- { key: 1800, name: "30m" },
200
- { key: 3600, name: "1h" },
201
- { key: 7200, name: "2h" },
202
- { key: 14400, name: "4h" },
203
- { key: 28800, name: "8h" },
204
- { key: 43200, name: "12h" },
205
- { key: 86400, name: "1d" },
206
- { key: 604800, name: "1w" },
207
- ]
208
-
209
- function get_chart_prepped(input) {
210
- const id = create_unique_id(null, 8)
211
- let x_axis_type_dropdown_manager = $state(null)
212
- let x_axis_title_text_input_manager = $state(null)
213
- let frame_add_button_manager = $state(null)
214
- x_axis_type_dropdown_manager = create_dropdown_manager({
215
- label: "X Axis Type",
216
- options: x_axis_type_options,
217
- is_button_compressed: true,
218
- val: input?.x_axis_type ?? x_axis_type_options?.[0]?.key,
219
- })
220
- x_axis_title_text_input_manager = create_text_input_manager({
221
- label: "X Axis Title",
222
- val: input?.x_axis_title,
223
- })
224
- frame_add_button_manager = create_button_manager({
225
- type: "outlined",
226
- is_compressed: true,
227
- text: "Add Frame",
228
- on_click: () => add_frame(),
229
- })
230
- let frames = []
231
- if (Array.isArray(input?.frames)) {
232
- for (let i = 0; i < input?.frames.length; i++) {
233
- let frame_shift_to_back_button_manager = $state(null)
234
- let frame_remove_button_manager = $state(null)
235
- let frame_select_path_button_manager = $state(null)
236
- let aspect_ratio_slider_manager = $state(null)
237
- let add_shared_y_axis_button_manager = $state(null)
238
- let shown_y_axis_index = $state(input.frames[i].shown_y_axis_index)
239
- aspect_ratio_slider_manager = create_slider_manager({
240
- label: "Aspect Ratio",
241
- val: input.frames[i].aspect_ratio,
242
- min: 0.75,
243
- max: 5,
244
- step: 0.05,
245
- is_instant: true,
246
- })
247
- add_shared_y_axis_button_manager = create_button_manager({
248
- type: "outlined",
249
- is_compressed: true,
250
- text: "Add Shared Y Axis",
251
- on_click: () => add_shared_y_axis(),
252
- })
253
- frame_shift_to_back_button_manager = create_button_manager({
254
- type: "outlined",
255
- is_compressed: true,
256
- text: "Shift To Bottom",
257
- on_click: () => shift_frame_to_back(i),
258
- })
259
- frame_remove_button_manager = create_button_manager({
260
- type: "outlined",
261
- is_compressed: true,
262
- text: "Remove Frame",
263
- on_click: () => remove_frame(i),
264
- })
265
- frame_select_path_button_manager = create_button_manager({
266
- type: "outlined",
267
- is_compressed: true,
268
- text: "Goto Frame",
269
- on_click: () => path_breadcrumbs_manager.set_val([i]),
270
- })
271
- let shared_y_axiss = []
272
- if (Array.isArray(input?.frames?.[i]?.shared_y_axiss)) {
273
- for (let j = 0; j < input?.frames?.[i]?.shared_y_axiss.length; j++) {
274
- let shift_to_back_button_manager = $state(null)
275
- let remove_button_manager = $state(null)
276
- let select_path_button_manager = $state(null)
277
- let top_padding_pd_slider_manager = $state(null)
278
- let bottom_padding_pd_slider_manager = $state(null)
279
- let y_axis_type_dropdown_manager = $state(null)
280
- let y_axis_title_text_input_manager = $state(null)
281
- let add_dataset_button_manager = $state(null)
282
- shift_to_back_button_manager = create_button_manager({
283
- type: "outlined",
284
- is_compressed: true,
285
- text: "Shift To Back",
286
- on_click: () => shift_shared_y_axis_to_back(i, j),
287
- })
288
- remove_button_manager = create_button_manager({
289
- type: "outlined",
290
- is_compressed: true,
291
- text: "Remove Shared Y Axis",
292
- on_click: () => remove_shared_y_axis(i, j),
293
- })
294
- select_path_button_manager = create_button_manager({
295
- type: "outlined",
296
- is_compressed: true,
297
- text: "Goto Shared Y Axis",
298
- on_click: () => path_breadcrumbs_manager?.set_val([i, j]),
299
- })
300
- top_padding_pd_slider_manager = create_slider_manager({
301
- label: "Top Padding Percent Decimal",
302
- val: input?.frames?.[i]?.shared_y_axiss?.[j].top_padding_pd,
303
- min: -1,
304
- max: 1,
305
- step: 0.01,
306
- is_instant: true,
307
- })
308
- bottom_padding_pd_slider_manager = create_slider_manager({
309
- label: "Bottom Padding Percent Decimal",
310
- val: input?.frames?.[i]?.shared_y_axiss?.[j].bottom_padding_pd,
311
- min: -1,
312
- max: 1,
313
- step: 0.01,
314
- is_instant: true,
315
- })
316
- y_axis_type_dropdown_manager = create_dropdown_manager({
317
- label: "Y Axis Type",
318
- is_button_compressed: true,
319
- options: y_axis_type_options,
320
- val: input?.frames?.[i]?.shared_y_axiss?.[j].y_axis_type,
321
- })
322
- y_axis_title_text_input_manager = create_text_input_manager({
323
- label: "Y Axis Title",
324
- val: input?.frames?.[i]?.shared_y_axiss?.[j].y_axis_title,
325
- })
326
- add_dataset_button_manager = create_button_manager({
327
- type: "outlined",
328
- is_compressed: true,
329
- text: "Add Dataset",
330
- on_click: () => add_dataset([i, j]),
331
- })
332
- let datasets_loc = []
333
- if (Array.isArray(input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets)) {
334
- for (let g = 0; g < input?.frames?.[i]?.shared_y_axiss?.[j].datasets.length; g++) {
335
- let name_text_input_manager = $state(null)
336
- let dataset_type_dropdown_manager = $state(null)
337
- let dataset_id_dropdown_manager = $state(null)
338
- let dataset_period_dropdown_manager = $state(null)
339
- let add_dataset_color_button_manager = $state(null)
340
- name_text_input_manager = create_text_input_manager({
341
- label: "Data Title",
342
- val: input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.name,
343
- })
344
- dataset_type_dropdown_manager = create_dropdown_manager({
345
- label: "Dataset Type",
346
- is_button_compressed: true,
347
- options: dataset_type_options,
348
- val: input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.type,
349
- })
350
- dataset_id_dropdown_manager = create_dropdown_manager({
351
- label: "Dataset ID",
352
- is_button_compressed: true,
353
- options: Object.keys(datasets).map((h) => {
354
- return { key: h, name: h }
355
- }),
356
- val:
357
- input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.dataset_id ||
358
- (Object.keys(datasets).length > 0 ? Object.keys(datasets)?.[0] : null),
359
- })
360
- dataset_period_dropdown_manager = create_dropdown_manager({
361
- label: "Dataset Period",
362
- is_button_compressed: true,
363
- options: period_options,
364
- val: input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.period_x,
365
- })
366
- let colors_input = $state([])
367
- if (Array.isArray(input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.colors)) {
368
- for (let color of input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.colors) {
369
- const id = create_unique_id(null, 20)
370
- let remove_button_manager = create_button_manager({
371
- type: "outlined",
372
- support_icon: "x",
373
- is_uniform: true,
374
- on_click: () => {
375
- colors_input = colors_input.filter((h) => h.id !== id)
376
- },
377
- })
378
- let color_input_manager = create_color_input_manager({ val: color })
379
- colors_input.push({
380
- id,
381
- get color_input_manager() {
382
- return color_input_manager
383
- },
384
- get remove_button_manager() {
385
- return remove_button_manager
386
- },
387
- })
388
- }
389
- }
390
- add_dataset_color_button_manager = create_button_manager({
391
- type: "outlined",
392
- support_icon: "plus",
393
- is_compressed: true,
394
- text: "Add Color",
395
- on_click: () => {
396
- const id = create_unique_id(null, 20)
397
- let remove_button_manager = create_button_manager({
398
- type: "outlined",
399
- support_icon: "x",
400
- is_uniform: true,
401
- on_click: () => {
402
- colors_input = colors_input.filter((h) => h.id !== id)
403
- },
404
- })
405
- let color_input_manager = create_color_input_manager({
406
- val: {
407
- l: 9,
408
- c: 9,
409
- h: 1,
410
- o: 5,
411
- is_theme_based: 1,
412
- },
413
- })
414
- colors_input.push({
415
- get color_input_manager() {
416
- return color_input_manager
417
- },
418
- get remove_button_manager() {
419
- return remove_button_manager
420
- },
421
- })
422
- },
423
- })
424
- let dataset_options_key_options = datasets?.[dataset_id_dropdown_manager?.val]?.data?.[0]
425
- ? Object.entries(datasets?.[dataset_id_dropdown_manager?.val]?.data?.[0]).map(([key, value]) => {
426
- return { key: key, name: key + ": (" + value + ")" }
427
- })
428
- : null
429
- let dataset_keys_to_add = dataset_type_dropdown_manager?.val
430
- ? dataset_type_options.find((h) => h?.key === dataset_type_dropdown_manager?.val)?.keys
431
- : null
432
- let keys_input = []
433
- if (Array.isArray(dataset_keys_to_add)) {
434
- for (let key_i = 0; key_i < dataset_keys_to_add.length; key_i++) {
435
- let key_dropdown_manager = create_dropdown_manager({
436
- label: dataset_keys_to_add?.[key_i],
437
- is_button_compressed: true,
438
- options: dataset_options_key_options,
439
- val: input?.frames?.[i]?.shared_y_axiss?.[j]?.datasets?.[g]?.keys?.[key_i],
440
- })
441
- keys_input.push({
442
- get key_dropdown_manager() {
443
- return key_dropdown_manager
444
- },
445
- })
446
- }
447
- }
448
- let shift_to_back_button_manager = create_button_manager({
449
- type: "outlined",
450
- is_compressed: true,
451
- text: "Shift To Back",
452
- on_click: () => shift_dataset_to_back([i, j, g]),
453
- })
454
- let remove_button_manager = create_button_manager({
455
- type: "outlined",
456
- is_compressed: true,
457
- text: "Remove Dataset",
458
- on_click: () => remove_dataset([i, j, g]),
459
- })
460
- let select_path_button_manager = create_button_manager({
461
- type: "outlined",
462
- is_compressed: true,
463
- text: "Goto Dataset",
464
- on_click: () => path_breadcrumbs_manager.set_val([i, j, g]),
465
- })
466
- datasets_loc.push({
467
- get name() {
468
- return name_text_input_manager?.val
469
- },
470
- get type() {
471
- return dataset_type_dropdown_manager?.val
472
- },
473
- get dataset_id() {
474
- return dataset_id_dropdown_manager?.val
475
- },
476
- get period_x() {
477
- return dataset_period_dropdown_manager?.val
478
- },
479
- get colors() {
480
- return colors_input.map((h) => h?.color_input_manager?.val)
481
- },
482
- get colors_input() {
483
- return colors_input
484
- },
485
- get keys() {
486
- return keys_input.map((h) => h?.key_dropdown_manager?.val)
487
- },
488
- get keys_input() {
489
- return keys_input
490
- },
491
- get name_text_input_manager() {
492
- return name_text_input_manager
493
- },
494
- get dataset_type_dropdown_manager() {
495
- return dataset_type_dropdown_manager
496
- },
497
- get dataset_id_dropdown_manager() {
498
- return dataset_id_dropdown_manager
499
- },
500
- get dataset_period_dropdown_manager() {
501
- return dataset_period_dropdown_manager
502
- },
503
- get add_dataset_color_button_manager() {
504
- return add_dataset_color_button_manager
505
- },
506
- get shift_to_back_button_manager() {
507
- return shift_to_back_button_manager
508
- },
509
- get remove_button_manager() {
510
- return remove_button_manager
511
- },
512
- get select_path_button_manager() {
513
- return select_path_button_manager
514
- },
515
- })
516
- }
517
- }
518
- shared_y_axiss.push({
519
- get top_padding_pd_slider_manager() {
520
- return top_padding_pd_slider_manager
521
- },
522
- get bottom_padding_pd_slider_manager() {
523
- return bottom_padding_pd_slider_manager
524
- },
525
- get y_axis_type_dropdown_manager() {
526
- return y_axis_type_dropdown_manager
527
- },
528
- get y_axis_title_text_input_manager() {
529
- return y_axis_title_text_input_manager
530
- },
531
- get add_dataset_button_manager() {
532
- return add_dataset_button_manager
533
- },
534
- get top_padding_pd() {
535
- return top_padding_pd_slider_manager?.val
536
- },
537
- get bottom_padding_pd() {
538
- return bottom_padding_pd_slider_manager?.val
539
- },
540
- get y_axis_title() {
541
- return y_axis_title_text_input_manager?.val
542
- },
543
- get y_axis_type() {
544
- return y_axis_type_dropdown_manager?.val
545
- },
546
- get datasets() {
547
- return datasets_loc
548
- },
549
- get shift_to_back_button_manager() {
550
- return shift_to_back_button_manager
551
- },
552
- get remove_button_manager() {
553
- return remove_button_manager
554
- },
555
- get select_path_button_manager() {
556
- return select_path_button_manager
557
- },
558
- })
559
- }
560
- }
561
- frames.push({
562
- get frame_shift_to_back_button_manager() {
563
- return frame_shift_to_back_button_manager
564
- },
565
- get frame_remove_button_manager() {
566
- return frame_remove_button_manager
567
- },
568
- get frame_select_path_button_manager() {
569
- return frame_select_path_button_manager
570
- },
571
- get add_shared_y_axis_button_manager() {
572
- return add_shared_y_axis_button_manager
573
- },
574
- get aspect_ratio_slider_manager() {
575
- return aspect_ratio_slider_manager
576
- },
577
- get aspect_ratio() {
578
- return aspect_ratio_slider_manager?.val
579
- },
580
- get shared_y_axiss() {
581
- return shared_y_axiss
582
- },
583
- get shown_y_axis_index() {
584
- return shown_y_axis_index
585
- },
586
- })
587
- }
588
- }
589
- return {
590
- get id() {
591
- return id
592
- },
593
- get x_axis_type() {
594
- return x_axis_type_dropdown_manager?.val
595
- },
596
- get x_axis_title() {
597
- return x_axis_title_text_input_manager?.val
598
- },
599
- get x_axis_type_dropdown_manager() {
600
- return x_axis_type_dropdown_manager
601
- },
602
- get x_axis_title_text_input_manager() {
603
- return x_axis_title_text_input_manager
604
- },
605
- get frame_add_button_manager() {
606
- return frame_add_button_manager
607
- },
608
- get frames() {
609
- return frames
610
- },
611
- }
612
- }
613
-
614
- function init(config) {
615
- datasets = config?.datasets
616
- chart_builder_popover_manager = create_popover_manager({
617
- type: "center",
618
- min_width: 280,
619
- target_width: 600,
620
- min_height: 280,
621
- target_height: 500,
622
- })
623
- chart_builder_popover_button_manager = create_button_manager({
624
- type: "primary",
625
- text: "Chart Builder",
626
- is_compressed: true,
627
- popover_target: () => `popover_${chart_builder_popover_manager?.id}`,
628
- })
629
- path_breadcrumbs_manager = create_breadcrumbs_manager()
630
- finish_button_manager = create_button_manager({
631
- text: "Finish",
632
- h: 10,
633
- l: 1,
634
- c: 1,
635
- on_click: () => {
636
- console.log("finish", val)
637
- if (typeof config?.on_finish == "function") {
638
- config?.on_finish(val)
639
- }
640
- chart_builder_popover_manager.close()
641
- },
642
- })
643
- chart_prepped = get_chart_prepped(config?.chart)
644
- setTimeout(() => {
645
- console.log("chart_prepped_init", deep_copy(chart_prepped))
646
- })
647
- }
648
-
649
- init(config)
650
-
651
- return {
652
- get val() {
653
- return val
654
- },
655
- get chart_builder_popover_manager() {
656
- return chart_builder_popover_manager
657
- },
658
- get chart_builder_popover_button_manager() {
659
- return chart_builder_popover_button_manager
660
- },
661
- get path_breadcrumbs_manager() {
662
- return path_breadcrumbs_manager
663
- },
664
- get chart_prepped() {
665
- return chart_prepped
666
- },
667
- get finish_button_manager() {
668
- return finish_button_manager
669
- },
670
- }
671
- }