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,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
- }