sveltekit-ui 1.1.17 → 1.1.18

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 (199) hide show
  1. package/dist/Components/Alert/index.svelte +88 -0
  2. package/dist/Components/Alert/index.svelte.js +101 -0
  3. package/dist/Components/ArrowToggle/index.svelte +62 -0
  4. package/dist/Components/Attachment/index.svelte +77 -0
  5. package/dist/Components/Attachment/index.svelte.js +119 -0
  6. package/dist/Components/Audio/index.svelte +193 -0
  7. package/dist/Components/Audio/index.svelte.js +463 -0
  8. package/dist/Components/AudioEditor/index.svelte +252 -0
  9. package/dist/Components/AudioEditor/index.svelte.js +977 -0
  10. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  11. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  12. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  13. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  14. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  15. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  16. package/dist/Components/AuthCodeInput/index.svelte +85 -0
  17. package/dist/Components/AuthCodeInput/index.svelte.js +95 -0
  18. package/dist/Components/Breadcrumbs/index.svelte +27 -0
  19. package/dist/Components/Breadcrumbs/index.svelte.js +88 -0
  20. package/dist/Components/Button/index.svelte +721 -0
  21. package/dist/Components/Button/index.svelte.js +375 -0
  22. package/dist/Components/Chart/Klines/index.svelte +87 -0
  23. package/dist/Components/Chart/index.svelte +226 -0
  24. package/dist/Components/Chart/index.svelte.js +1090 -0
  25. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +150 -0
  26. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +45 -0
  27. package/dist/Components/ChartInput/DisplayNav/index.svelte +297 -0
  28. package/dist/Components/ChartInput/EditPanel/index.svelte +155 -0
  29. package/dist/Components/ChartInput/index.svelte +21 -0
  30. package/dist/Components/ChartInput/index.svelte.js +671 -0
  31. package/dist/Components/Checkbox/index.svelte +411 -0
  32. package/dist/Components/Checkbox/index.svelte.js +178 -0
  33. package/dist/Components/Code/index.svelte +23 -0
  34. package/dist/Components/Code/index.svelte.js +33 -0
  35. package/dist/Components/Color/index.svelte +51 -0
  36. package/dist/Components/Color/index.svelte.js +31 -0
  37. package/dist/Components/ColorInput/ChromaPicker/index.svelte +50 -0
  38. package/dist/Components/ColorInput/ColorPalette/index.svelte +62 -0
  39. package/dist/Components/ColorInput/OpacityPicker/index.svelte +68 -0
  40. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +136 -0
  41. package/dist/Components/ColorInput/index.svelte +70 -0
  42. package/dist/Components/ColorInput/index.svelte.js +386 -0
  43. package/dist/Components/ConditionsInput/index.svelte +46 -0
  44. package/dist/Components/ConditionsInput/index.svelte.js +201 -0
  45. package/dist/Components/Confetti/index.svelte +98 -0
  46. package/dist/Components/Confetti/index.svelte.js +94 -0
  47. package/dist/Components/Content/index.svelte +500 -0
  48. package/dist/Components/Content/index.svelte.js +910 -0
  49. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +31 -0
  50. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +258 -0
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +31 -0
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +258 -0
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +58 -0
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +206 -0
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +28 -0
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +224 -0
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +44 -0
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +272 -0
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +41 -0
  60. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +202 -0
  61. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +19 -0
  62. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +117 -0
  63. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +60 -0
  64. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +542 -0
  65. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +47 -0
  66. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +185 -0
  67. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +35 -0
  68. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +222 -0
  69. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +20 -0
  70. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +84 -0
  71. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +25 -0
  72. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +91 -0
  73. package/dist/Components/ContentInput/AttributesInput/index.svelte +352 -0
  74. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +1436 -0
  75. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +64 -0
  76. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +97 -0
  77. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +184 -0
  78. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +41 -0
  79. package/dist/Components/ContentInput/index.svelte +78 -0
  80. package/dist/Components/ContentInput/index.svelte.js +1197 -0
  81. package/dist/Components/CronInput/index.svelte +78 -0
  82. package/dist/Components/CronInput/index.svelte.js +198 -0
  83. package/dist/Components/DataTypeInput/index.svelte +174 -0
  84. package/dist/Components/DataTypeInput/index.svelte.js +565 -0
  85. package/dist/Components/Dropdown/index.svelte +116 -0
  86. package/dist/Components/Dropdown/index.svelte.js +403 -0
  87. package/dist/Components/EmailAddress/index.svelte +22 -0
  88. package/dist/Components/EmailAddress/index.svelte.js +45 -0
  89. package/dist/Components/ErrorX/index.svelte +58 -0
  90. package/dist/Components/Eye/index.svelte +57 -0
  91. package/dist/Components/FileInput/index.svelte +146 -0
  92. package/dist/Components/FileInput/index.svelte.js +225 -0
  93. package/dist/Components/Hamburger/index.svelte +99 -0
  94. package/dist/Components/HorizScrollBox/index.svelte +145 -0
  95. package/dist/Components/Icon/index.svelte +412 -0
  96. package/dist/Components/Icon/index.svelte.js +116 -0
  97. package/dist/Components/IconInput/index.svelte +77 -0
  98. package/dist/Components/IconInput/index.svelte.js +259 -0
  99. package/dist/Components/Image/index.svelte +126 -0
  100. package/dist/Components/Image/index.svelte.js +116 -0
  101. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +165 -0
  102. package/dist/Components/ImageEditor/Image/index.svelte +104 -0
  103. package/dist/Components/ImageEditor/Panels/AI/index.svelte +44 -0
  104. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +96 -0
  105. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +124 -0
  106. package/dist/Components/ImageEditor/Panels/File/index.svelte +74 -0
  107. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +46 -0
  108. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +58 -0
  109. package/dist/Components/ImageEditor/index.svelte +93 -0
  110. package/dist/Components/ImageEditor/index.svelte.js +1961 -0
  111. package/dist/Components/ImageSlider/index.svelte +124 -0
  112. package/dist/Components/ImageSlider/index.svelte.js +99 -0
  113. package/dist/Components/InfoBox/index.svelte +89 -0
  114. package/dist/Components/Json/Nested/index.svelte +157 -0
  115. package/dist/Components/Json/index.svelte +60 -0
  116. package/dist/Components/Json/index.svelte.js +594 -0
  117. package/dist/Components/LabeledItem/index.svelte +102 -0
  118. package/dist/Components/Layout/NavBar/FullNav/index.svelte +52 -0
  119. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +87 -0
  120. package/dist/Components/Layout/NavBar/index.svelte +72 -0
  121. package/dist/Components/Layout/index.svelte +149 -0
  122. package/dist/Components/Layout/index.svelte.js +360 -0
  123. package/dist/Components/Link/index.svelte +47 -0
  124. package/dist/Components/Link/index.svelte.js +136 -0
  125. package/dist/Components/LoadingSuccessDiv/index.svelte +51 -0
  126. package/dist/Components/LoadingWheel/index.svelte +38 -0
  127. package/dist/Components/Location/index.svelte +79 -0
  128. package/dist/Components/Location/index.svelte.js +288 -0
  129. package/dist/Components/LocationInput/index.svelte +197 -0
  130. package/dist/Components/LocationInput/index.svelte.js +965 -0
  131. package/dist/Components/Number/index.svelte +47 -0
  132. package/dist/Components/Number/index.svelte.js +151 -0
  133. package/dist/Components/PhoneCountryCode/index.svelte +7 -0
  134. package/dist/Components/PhoneCountryCode/index.svelte.js +260 -0
  135. package/dist/Components/PhoneNumber/index.svelte +22 -0
  136. package/dist/Components/PhoneNumber/index.svelte.js +41 -0
  137. package/dist/Components/Popover/index.svelte +396 -0
  138. package/dist/Components/Popover/index.svelte.js +319 -0
  139. package/dist/Components/Qr/index.svelte +85 -0
  140. package/dist/Components/Qr/index.svelte.js +301 -0
  141. package/dist/Components/QrInput/index.svelte +47 -0
  142. package/dist/Components/QrInput/index.svelte.js +218 -0
  143. package/dist/Components/Slider/index.svelte +239 -0
  144. package/dist/Components/Slider/index.svelte.js +469 -0
  145. package/dist/Components/Spacer/index.svelte +41 -0
  146. package/dist/Components/StoragePicker/DisplayFile/index.svelte +15 -0
  147. package/dist/Components/StoragePicker/index.svelte +187 -0
  148. package/dist/Components/StoragePicker/index.svelte.js +592 -0
  149. package/dist/Components/SuccessCheck/index.svelte +56 -0
  150. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +117 -0
  151. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +456 -0
  152. package/dist/Components/TableAdvanced/FilterInput/index.svelte +54 -0
  153. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +247 -0
  154. package/dist/Components/TableAdvanced/Pagination/index.svelte +43 -0
  155. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +97 -0
  156. package/dist/Components/TableAdvanced/SortByInput/index.svelte +72 -0
  157. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +176 -0
  158. package/dist/Components/TableAdvanced/index.svelte +275 -0
  159. package/dist/Components/TableAdvanced/index.svelte.js +1565 -0
  160. package/dist/Components/Tag/index.svelte +45 -0
  161. package/dist/Components/Tag/index.svelte.js +76 -0
  162. package/dist/Components/TextArrayInput/index.svelte +108 -0
  163. package/dist/Components/TextArrayInput/index.svelte.js +239 -0
  164. package/dist/Components/TextInput/PasswordTooltip/index.svelte +89 -0
  165. package/dist/Components/TextInput/index.svelte +223 -0
  166. package/dist/Components/TextInput/index.svelte.js +447 -0
  167. package/dist/Components/Time/index.svelte +7 -0
  168. package/dist/Components/Time/index.svelte.js +38 -0
  169. package/dist/Components/TimeInput/NumberToggler/index.svelte +34 -0
  170. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +79 -0
  171. package/dist/Components/TimeInput/index.js +702 -0
  172. package/dist/Components/TimeInput/index.svelte +211 -0
  173. package/dist/Components/TimeInput/index.svelte.js +638 -0
  174. package/dist/Components/Tooltip/index.svelte +143 -0
  175. package/dist/Components/TransparentBackground/index.svelte +153 -0
  176. package/dist/Components/TypingDots/index.svelte +84 -0
  177. package/dist/Components/VariablePathInput/index.svelte +63 -0
  178. package/dist/Components/VariablePathInput/index.svelte.js +273 -0
  179. package/dist/Components/VideoTBD/index.svelte +100 -0
  180. package/dist/Components/XFollow/index.svelte +42 -0
  181. package/dist/Components/XPost/index.svelte +52 -0
  182. package/dist/Components/XPost/index.svelte.js +64 -0
  183. package/dist/Components/YoutubeChannelButton/index.svelte +82 -0
  184. package/dist/Components/YoutubeVideo/index.svelte +73 -0
  185. package/dist/Components/YoutubeVideo/index.svelte.js +54 -0
  186. package/dist/actions/draggable.js +49 -0
  187. package/dist/actions/index.js +24 -0
  188. package/dist/actions/no_spaces.js +33 -0
  189. package/dist/actions/numbers_only.js +26 -0
  190. package/dist/actions/scroll_y.js +28 -0
  191. package/dist/actions/stop_scroll_propagation_y.js +42 -0
  192. package/dist/actions/swipe_handler.js +295 -0
  193. package/dist/client/astc_formatting/index.js +1128 -0
  194. package/dist/client/docs/index.js +7622 -0
  195. package/dist/client/index.js +735 -0
  196. package/dist/client/types/index.js +2812 -0
  197. package/dist/index.js +180 -0
  198. package/dist/style.css +682 -0
  199. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ <script>
2
+ import Button from "../../../../Button/index.svelte"
3
+ import Checkbox from "../../../../Checkbox/index.svelte"
4
+ import Dropdown from "../../../../Dropdown/index.svelte"
5
+ import DataTypeInput from "../../../../DataTypeInput/index.svelte"
6
+ import VariablePathInput from "../../../../VariablePathInput/index.svelte"
7
+ import ContentInput from "../../../index.svelte"
8
+ import Slider from "../../../../Slider/index.svelte"
9
+ import Spacer from "../../../../Spacer/index.svelte"
10
+ import SortByInput from "../../../../TableAdvanced/SortByInput/index.svelte"
11
+ import ColumnInput from "../../../../TableAdvanced/ColumnInput/index.svelte"
12
+ // import FilterInput from "../../../../TableAdvanced/FilterInput/index.svelte"
13
+
14
+ let { manager } = $props()
15
+ </script>
16
+
17
+ <div>
18
+ <div>
19
+ <Button manager={manager?.guess_all_button_manager} />
20
+ <div style="display: flex; align-items: center; gap: .2rem;">
21
+ <p class="label">Variables Data Type</p>
22
+ <Button manager={manager?.data_type_input_edit_button_manager} />
23
+ </div>
24
+ {#if manager?.variables_data_type}
25
+ <p style="font-size: 1.4rem; color: var(--g8-t);">{manager?.data_type_input_manager?.type_display_name}</p>
26
+ {:else}
27
+ <p style="color: var(--warning-t);">None</p>
28
+ {/if}
29
+ <DataTypeInput manager={manager?.data_type_input_manager} />
30
+ </div>
31
+ <p class="label">Rows Loop</p>
32
+ <VariablePathInput manager={manager?.rows_data_from_variable_path_input_manager} />
33
+ <Dropdown manager={manager?.nav_items_dropdown_manager} />
34
+ <Dropdown manager={manager?.rows_per_page_dropdown_manager} />
35
+ <Checkbox manager={manager?.is_data_editable_checkbox_manager} />
36
+ <Checkbox manager={manager?.is_paginate_checkbox_manager} />
37
+ <p class="label">Initial Sort By</p>
38
+ <SortByInput manager={manager?.initial_sort_by_input_manager} />
39
+ <p class="label">Initial Filter</p>
40
+ filter_tbd
41
+ <!-- <FilterInput manager={manager?.initial_filter_input_manager} /> -->
42
+ <Slider manager={manager?.table_header_max_height_slider_manager} />
43
+ <Slider manager={manager?.table_row_max_height_slider_manager} />
44
+ <h4 class="label" style="margin-top: 0.5rem;">Row Searchable Input</h4>
45
+ <ContentInput manager={manager?.row_searchable_content_input_manager} />
46
+ <h4 class="label" style="margin-top: 0.5rem;">Row Input</h4>
47
+ <Button manager={manager?.guess_row_input_button_manager} />
48
+ <ContentInput manager={manager?.row_input_content_input_manager} />
49
+ {#if Array.isArray(manager?.column_ids_display_order) && manager?.column_ids_display_order.length > 0}
50
+ <Spacer mt={1} />
51
+ {#each manager?.column_ids_display_order as column_id}
52
+ <ColumnInput manager={manager?.columns_prepped[column_id]?.column_input_manager} />
53
+ <Spacer mt={1} />
54
+ {/each}
55
+ {/if}
56
+ <div style="display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem;">
57
+ <Button manager={manager?.add_column_button_manager} />
58
+ <Button manager={manager?.guess_columns_button_manager} />
59
+ </div>
60
+ </div>
@@ -0,0 +1,542 @@
1
+ import { create_button_manager } from "../../../../Button/index.svelte.js"
2
+ import { create_checkbox_manager } from "../../../../Checkbox/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_content_input_manager } from "../../../index.svelte.js"
6
+ import { create_data_type_input_manager } from "../../../../DataTypeInput/index.svelte.js"
7
+ import { create_sort_by_input_manager } from "../../../../TableAdvanced/SortByInput/index.svelte.js"
8
+ import { create_filter_input_manager } from "../../../../TableAdvanced/FilterInput/index.svelte.js"
9
+ import { create_variable_path_input_manager } from "../../../../VariablePathInput/index.svelte.js"
10
+ import { create_column_input_manager } from "../../../../TableAdvanced/ColumnInput/index.svelte.js"
11
+ import {
12
+ deep_copy,
13
+ create_unique_id,
14
+ set_closurable,
15
+ variables_data_type_remaining_to_astc,
16
+ node_types,
17
+ } from "../../../../../client/index.js"
18
+
19
+ export function create_table_advanced_config_manager(config) {
20
+ let variables_data_type = $state(null)
21
+ let definition_stack = $state(null)
22
+ let defined_data_type = $state(null)
23
+ let data_type_input_manager = $state(null)
24
+ let data_type_input_edit_button_manager = $state(null)
25
+ let rows_data_from_variable_path_input_manager = $state(null)
26
+ let nav_items_dropdown_manager = $state(null)
27
+ let is_data_editable_checkbox_manager = $state(null)
28
+ let is_paginate_checkbox_manager = $state(null)
29
+ let rows_per_page_dropdown_manager = $state(null)
30
+ let guess_columns_button_manager = $state(null)
31
+ let add_column_button_manager = $state(null)
32
+ let initial_sort_by_input_manager = $state(null)
33
+ let initial_filter_input_manager = $state(null)
34
+ let guess_row_input_button_manager = $state(null)
35
+ let row_input_content_input_manager = $state(null)
36
+ let row_searchable_content_input_manager = $state(null)
37
+ let row_default_data = $state(null)
38
+ let columns_prepped = $state(null)
39
+ let guess_all_button_manager = $state(null)
40
+ let table_header_max_height_slider_manager = $state(null)
41
+ let table_row_max_height_slider_manager = $state(null)
42
+
43
+ let column_ids_display_order = $derived(
44
+ Object.entries(columns_prepped || {})
45
+ .sort((a, b) => a[1]?.display_order - b[1]?.display_order)
46
+ .map((entry) => entry[0])
47
+ )
48
+
49
+ let row_data_type = $derived(rows_data_from_variable_path_input_manager?.data_type_at_path?.items)
50
+
51
+ const column_base = {
52
+ id: null,
53
+ header_content: null,
54
+ body_content: null,
55
+ description: null,
56
+ is_shown: true,
57
+ is_fixed: false,
58
+ display_order: 0,
59
+ min_width: 2,
60
+ max_width: 50,
61
+ alignment: "left",
62
+ is_use_in_short_display: false,
63
+ is_autogenerated: false,
64
+ is_updatable: false,
65
+ is_db_column: false,
66
+ db_data_type: null,
67
+ postgres_type: null,
68
+ is_primary_key: false,
69
+ is_nullable: false,
70
+ is_force_uniqueness: true,
71
+ default_value: null,
72
+ foreign_table_id: null,
73
+ is_cascade: false,
74
+ }
75
+
76
+ let val = $derived({
77
+ columns: get_cleaned_columns(),
78
+ rows_data_from_variable_path: rows_data_from_variable_path_input_manager?.val,
79
+ is_data_editable: is_data_editable_checkbox_manager?.val,
80
+ is_paginate: is_paginate_checkbox_manager?.val,
81
+ nav_items: nav_items_dropdown_manager?.val,
82
+ sort_by: initial_sort_by_input_manager?.val,
83
+ filter: initial_filter_input_manager?.val,
84
+ row_searchable_content: row_searchable_content_input_manager?.val,
85
+ row_input_content: row_input_content_input_manager?.val,
86
+ table_header_max_height: table_header_max_height_slider_manager?.val,
87
+ table_row_max_height: table_row_max_height_slider_manager?.val,
88
+ })
89
+
90
+ function get_cleaned_columns() {
91
+ let cleaned_columns = {}
92
+ for (let column_id of Object.keys(columns_prepped || {})) {
93
+ let new_column_id = columns_prepped[column_id]?.column_input_manager?.val?.id
94
+ cleaned_columns[new_column_id] = {
95
+ id: new_column_id,
96
+ description: columns_prepped[column_id]?.column_input_manager?.val?.description,
97
+ header_content: columns_prepped[column_id]?.column_input_manager?.val?.header_content,
98
+ body_content: columns_prepped[column_id]?.column_input_manager?.val?.body_content,
99
+ is_shown: columns_prepped[column_id]?.column_input_manager?.val?.is_shown,
100
+ is_fixed: columns_prepped[column_id]?.column_input_manager?.val?.is_fixed,
101
+ alignment: columns_prepped[column_id]?.column_input_manager?.val?.alignment,
102
+ min_width: columns_prepped[column_id]?.column_input_manager?.val?.min_width,
103
+ max_width: columns_prepped[column_id]?.column_input_manager?.val?.max_width,
104
+ display_order: columns_prepped[column_id]?.column_input_manager?.val?.display_order,
105
+ is_use_in_short_display: columns_prepped[column_id]?.column_input_manager?.val?.is_use_in_short_display,
106
+ is_autogenerated: columns_prepped[column_id]?.column_input_manager?.val?.is_autogenerated,
107
+ is_updatable: columns_prepped[column_id]?.column_input_manager?.val?.is_updatable,
108
+ is_db_column: columns_prepped[column_id]?.column_input_manager?.val?.is_db_column,
109
+ db_data_type: columns_prepped[column_id]?.column_input_manager?.val?.db_data_type,
110
+ postgres_type: columns_prepped[column_id]?.column_input_manager?.val?.postgres_type,
111
+ default_value: columns_prepped[column_id]?.column_input_manager?.val?.default_value,
112
+ quick_sort_variable_path: columns_prepped[column_id]?.column_input_manager?.val?.quick_sort_variable_path,
113
+ is_primary_key: columns_prepped[column_id]?.column_input_manager?.val?.is_primary_key,
114
+ is_nullable: columns_prepped[column_id]?.column_input_manager?.val?.is_nullable,
115
+ is_force_uniqueness: columns_prepped[column_id]?.column_input_manager?.val?.is_force_uniqueness,
116
+ foreign_table_id: columns_prepped[column_id]?.column_input_manager?.val?.foreign_table_id,
117
+ is_cascade: columns_prepped[column_id]?.column_input_manager?.val?.is_cascade,
118
+ }
119
+ }
120
+ return cleaned_columns
121
+ }
122
+
123
+ function add_column(column_to_add_input = null) {
124
+ let column_id = create_unique_id(null, 8)
125
+ let column_to_add = column_to_add_input ?? deep_copy(column_base)
126
+ let columns_loc = get_cleaned_columns()
127
+ column_to_add.display_order = Object.keys(columns_loc || {}).length - 1
128
+ if (!columns_loc) {
129
+ columns_loc = {
130
+ [column_id]: column_to_add,
131
+ }
132
+ } else {
133
+ columns_loc[column_id] = column_to_add
134
+ }
135
+ set_columns_prepped(columns_loc)
136
+ }
137
+
138
+ function guess_row_input_content(row_data_type) {
139
+ let guessed_row_input_content = {
140
+ type_id: "div",
141
+ selector_id: `div_${create_unique_id(null, 8)}`,
142
+ children: [],
143
+ attributes: {},
144
+ }
145
+ let children = []
146
+ if (row_data_type?.type == "object_literal" && Object.keys(row_data_type?.properties || {}).length > 0) {
147
+ for (let [key, val] of Object.entries(row_data_type?.properties || {})) {
148
+ let guessed_column_input_content = variables_data_type_remaining_to_astc(
149
+ row_data_type?.properties?.[key],
150
+ "input",
151
+ [
152
+ ...(Array.isArray(rows_data_from_variable_path_input_manager?.val)
153
+ ? rows_data_from_variable_path_input_manager?.val
154
+ : []),
155
+ ["defs", "row_i"],
156
+ ...(key ? [key] : []),
157
+ ]
158
+ )
159
+ if (guessed_column_input_content?.hasOwnProperty("attributes")) {
160
+ if (!guessed_column_input_content?.attributes) {
161
+ guessed_column_input_content.attributes = {}
162
+ }
163
+ guessed_column_input_content.attributes.label = key
164
+ }
165
+ children.push(guessed_column_input_content)
166
+ }
167
+ } else if (row_data_type?.type) {
168
+ const guessed_column_input_content = variables_data_type_remaining_to_astc(row_data_type, "input", [
169
+ ...(Array.isArray(rows_data_from_variable_path_input_manager?.val)
170
+ ? rows_data_from_variable_path_input_manager?.val
171
+ : []),
172
+ ["defs", "row_i"],
173
+ ])
174
+ children.push(guessed_column_input_content)
175
+ }
176
+ guessed_row_input_content.children = children
177
+ return guessed_row_input_content
178
+ }
179
+
180
+ function guess_columns() {
181
+ let row_data_type = deep_copy({
182
+ // type: "object_literal",
183
+ // properties: {
184
+ // variables: variables_data_type,
185
+ // },
186
+ })
187
+ if (Array.isArray(rows_data_from_variable_path_input_manager?.val)) {
188
+ for (let path_item of rows_data_from_variable_path_input_manager?.val) {
189
+ if (row_data_type?.type == "loop") {
190
+ row_data_type = row_data_type.items
191
+ } else if (row_data_type?.type == "object_literal") {
192
+ row_data_type = row_data_type?.properties[path_item]
193
+ }
194
+ }
195
+ }
196
+
197
+ row_data_type = row_data_type?.items
198
+ let cleaned_columns = {}
199
+ if (row_data_type?.type == "object_literal") {
200
+ let display_order = 0
201
+ for (let [key, val] of Object.entries(row_data_type?.properties || {})) {
202
+ const guessed_column = guess_column(val, key, display_order)
203
+ cleaned_columns[guessed_column?.id] = guessed_column
204
+ display_order++
205
+ }
206
+ } else if (row_data_type?.type) {
207
+ const guessed_column = guess_column(row_data_type)
208
+ cleaned_columns[guessed_column?.id] = guessed_column
209
+ }
210
+ set_columns_prepped(cleaned_columns)
211
+ }
212
+
213
+ function guess_column(variables_data_type, key, display_order) {
214
+ let body_content = variables_data_type_remaining_to_astc(variables_data_type, "display", [
215
+ ...(Array.isArray(rows_data_from_variable_path_input_manager?.val)
216
+ ? rows_data_from_variable_path_input_manager?.val
217
+ : []),
218
+ ["defs", "row_i"],
219
+ ...(key ? [key] : []),
220
+ ])
221
+ const derived_column_name = key
222
+ ? key
223
+ .replace(/_/g, " ")
224
+ .split(" ")
225
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
226
+ .join(" ")
227
+ : node_types?.[variables_data_type?.type]?.name ?? "tbd"
228
+ return {
229
+ id: key ?? create_unique_id(null, 8),
230
+ header_content: {
231
+ type_id: "base_text",
232
+ selector_id: `base_text_${create_unique_id(null, 8)}`,
233
+ children: [],
234
+ attributes: {
235
+ content: derived_column_name,
236
+ },
237
+ },
238
+ body_content: body_content,
239
+ is_shown: true,
240
+ is_fixed: false,
241
+ alignment: "left",
242
+ min_width: 5,
243
+ max_width: 50,
244
+ display_order: display_order ?? 0,
245
+ }
246
+ }
247
+
248
+ function set_columns_prepped(columns) {
249
+ let columns_prepped_loc = {}
250
+ if (Object.keys(columns || {}).length) {
251
+ for (let column_id of Object.keys(columns || {})) {
252
+ let column_input_manager = $state(
253
+ create_column_input_manager({
254
+ is_column_update: false,
255
+ column_id: column_id,
256
+ val: {
257
+ description: columns?.[column_id]?.description ?? null,
258
+ header_content: columns?.[column_id]?.header_content ?? null,
259
+ body_content: columns?.[column_id]?.body_content ?? null,
260
+ is_shown: columns?.[column_id]?.is_shown ?? true,
261
+ is_fixed: columns?.[column_id]?.is_fixed ?? false,
262
+ is_autogenerated: columns?.[column_id]?.is_autogenerated ?? false,
263
+ alignment: columns?.[column_id]?.alignment ?? "left",
264
+ min_width: columns?.[column_id]?.min_width ?? 3,
265
+ max_width: columns?.[column_id]?.max_width ?? 20,
266
+ display_order: columns?.[column_id]?.display_order ?? 0,
267
+ is_db_column: columns?.[column_id]?.is_db_column ?? false,
268
+ db_data_type: columns?.[column_id]?.db_data_type ?? null,
269
+ postgres_type: columns?.[column_id]?.postgres_type ?? null,
270
+ default_value: columns?.[column_id]?.default_value ?? null,
271
+ quick_sort_variable_path: columns?.[column_id]?.quick_sort_variable_path ?? null,
272
+ is_primary_key: columns?.[column_id]?.is_primary_key ?? false,
273
+ is_nullable: columns?.[column_id]?.is_nullable ?? true,
274
+ is_force_uniqueness: columns?.[column_id]?.is_force_uniqueness ?? false,
275
+ foreign_table_id: columns?.[column_id]?.foreign_table_id ?? null,
276
+ is_cascade: columns?.[column_id]?.is_cascade ?? false,
277
+ },
278
+ defined_data_type: config?.defined_data_type,
279
+ variables: () => variables,
280
+ defs: () => defs,
281
+ columns: () => columns,
282
+ row_data_type: () => row_data_type,
283
+ on_delete: () => {
284
+ delete columns_prepped[column_id]
285
+ const columns_len = Object.keys(columns_prepped || {}).length ?? 0
286
+ if (columns_len > 0) {
287
+ for (let key of Object.keys(columns_prepped)) {
288
+ if (columns_prepped[key]?.column_display_order_slider_manager?.val >= columns_len) {
289
+ columns_prepped[key].column_input_manager.column_display_order_slider_manager.set_val(
290
+ columns_len - 1
291
+ )
292
+ }
293
+ if (column_id != key) {
294
+ columns_prepped[key].column_input_manager.column_display_order_slider_manager.set_max(
295
+ columns_len - 1
296
+ )
297
+ }
298
+ }
299
+ }
300
+ },
301
+ })
302
+ )
303
+ columns_prepped_loc[column_id] = {
304
+ column_input_manager: column_input_manager,
305
+ }
306
+ }
307
+ }
308
+ columns_prepped = columns_prepped_loc
309
+ }
310
+
311
+ function guess_rows_data_from_variable_path() {
312
+ let rows_data_from_variable_path_val = null
313
+ if (variables_data_type?.type == "loop") {
314
+ rows_data_from_variable_path_val = ["variables"]
315
+ } else if (variables_data_type?.type == "object_literal") {
316
+ for (let [key, val] of Object.entries(variables_data_type?.properties || {})) {
317
+ if (val?.type == "loop") {
318
+ rows_data_from_variable_path_val = ["variables", key]
319
+ } else if (val?.type == "object_literal") {
320
+ for (let [sub_key, sub_val] of Object.entries(variables_data_type?.properties?.[key]?.properties || {})) {
321
+ if (sub_val?.type == "loop") {
322
+ rows_data_from_variable_path_val = ["variables", key, sub_key]
323
+ }
324
+ }
325
+ }
326
+ }
327
+ }
328
+ rows_data_from_variable_path_input_manager.set_val(rows_data_from_variable_path_val)
329
+ }
330
+
331
+ function guess_all() {
332
+ if (!defined_data_type) {
333
+ data_type_input_manager.guess_from_variables()
334
+ defined_data_type = data_type_input_manager?.val
335
+ }
336
+ guess_rows_data_from_variable_path()
337
+ guess_columns()
338
+ const guessed_row_input_content = guess_row_input_content(row_data_type)
339
+ row_input_content_input_manager.add_version(guessed_row_input_content)
340
+ }
341
+
342
+ function init(config) {
343
+ defined_data_type = config?.defined_data_type
344
+ guess_all_button_manager = create_button_manager({
345
+ type: "outlined",
346
+ text: "Guess All",
347
+ is_compressed: true,
348
+ on_click: () => guess_all(),
349
+ })
350
+ rows_data_from_variable_path_input_manager = create_variable_path_input_manager({
351
+ is_popover: false,
352
+ get_defined_options: config?.get_defined_options,
353
+ val: config?.val?.rows_data_from_variable_path ?? null,
354
+ })
355
+ rows_per_page_dropdown_manager = create_dropdown_manager({
356
+ label: "Rows Per Page",
357
+ is_button_compressed: true,
358
+ val: 100,
359
+ options: [10, 25, 50, 100, 250, 500, 1000, 2500, 5000],
360
+ })
361
+ is_data_editable_checkbox_manager = create_checkbox_manager({
362
+ label: "Is Data Editable",
363
+ type: "toggle",
364
+ val: config?.val?.is_data_editable,
365
+ })
366
+ is_paginate_checkbox_manager = create_checkbox_manager({
367
+ label: "Is Paginate",
368
+ type: "toggle",
369
+ val: config?.val?.is_paginate ?? true,
370
+ })
371
+ nav_items_dropdown_manager = create_dropdown_manager({
372
+ label: "Navigation Items",
373
+ is_button_compressed: true,
374
+ is_multiselect: true,
375
+ is_set_null_button: true,
376
+ options: [
377
+ { key: "settings", name: "Settings" },
378
+ { key: "search", name: "Search" },
379
+ { key: "insert", name: "Insert" },
380
+ { key: "file", name: "File" },
381
+ { key: "bulk_select", name: "Bulk Select" },
382
+ { key: "sort_by", name: "Sort By" },
383
+ { key: "pagination", name: "Pagination" },
384
+ { key: "rows_per_page", name: "Rows Per Page" },
385
+ { key: "load_more", name: "Load More" },
386
+ ],
387
+ val: config?.val?.nav_items ?? null,
388
+ })
389
+ guess_columns_button_manager = create_button_manager({
390
+ type: "outlined",
391
+ text: "Guess All Columns",
392
+ is_compressed: true,
393
+ on_click: () => guess_columns(),
394
+ })
395
+ add_column_button_manager = create_button_manager({
396
+ is_compressed: true,
397
+ text: "Add Column",
398
+ on_click: () => add_column(),
399
+ })
400
+ initial_sort_by_input_manager = create_sort_by_input_manager({
401
+ val: config?.val?.sort_by,
402
+ row_data_type: rows_data_from_variable_path_input_manager?.data_type_at_path?.items,
403
+ })
404
+ initial_filter_input_manager = create_filter_input_manager({
405
+ val: config?.val?.filter,
406
+ row_data_type: rows_data_from_variable_path_input_manager?.data_type_at_path?.items,
407
+ })
408
+ row_input_content_input_manager = create_content_input_manager({
409
+ val: config?.val?.row_input_content ?? null,
410
+ storage: null,
411
+ storage_default_folder_path: null,
412
+ defined_data_type: defined_data_type,
413
+ definition_stack: () => definition_stack,
414
+ })
415
+ guess_row_input_button_manager = create_button_manager({
416
+ text: "Guess Row Input Content",
417
+ type: "outlined",
418
+ is_compressed: true,
419
+ on_click: () => {
420
+ const guessed_row_input_content = guess_row_input_content(row_data_type)
421
+ row_input_content_input_manager.add_version(guessed_row_input_content)
422
+ },
423
+ })
424
+ row_searchable_content_input_manager = create_content_input_manager({
425
+ val: config?.val?.row_searchable_content_input ?? null,
426
+ storage: null,
427
+ storage_default_folder_path: null,
428
+ defined_data_type: defined_data_type,
429
+ definition_stack: definition_stack,
430
+ })
431
+ data_type_input_manager = create_data_type_input_manager({
432
+ // data_sample: () => variables,
433
+ // val: variables_data_type,
434
+ // on_finish: (input) => {
435
+ // variables_data_type = input
436
+ // if (!rows_data_from_variable_path_input_manager?.val) {
437
+ // guess_rows_data_from_variable_path()
438
+ // }
439
+ // },
440
+ })
441
+ data_type_input_edit_button_manager = create_button_manager({
442
+ type: "plain",
443
+ is_uniform: true,
444
+ support_icon: "edit",
445
+ icon_sw: 40,
446
+ icon_size: 1.6,
447
+ font_size: 1.2,
448
+ min_height: 2,
449
+ border_radius: 0.5,
450
+ popover_target: () => `popover_${data_type_input_manager?.popover_manager?.id}`,
451
+ })
452
+ table_header_max_height_slider_manager = create_slider_manager({
453
+ label: "Table Header Max Height",
454
+ val: config?.val?.table_header_max_height ?? null,
455
+ is_nullable: true,
456
+ min: 2,
457
+ max: 20,
458
+ step: 1,
459
+ })
460
+ table_row_max_height_slider_manager = create_slider_manager({
461
+ label: "Table Row Max Height",
462
+ val: config?.val?.table_row_max_height ?? null,
463
+ is_nullable: true,
464
+ min: 2,
465
+ max: 20,
466
+ step: 1,
467
+ })
468
+ set_columns_prepped(config?.val?.columns)
469
+ }
470
+
471
+ init(config)
472
+
473
+ return {
474
+ get val() {
475
+ return val
476
+ },
477
+ get guess_all_button_manager() {
478
+ return guess_all_button_manager
479
+ },
480
+ get rows_data_from_variable_path_input_manager() {
481
+ return rows_data_from_variable_path_input_manager
482
+ },
483
+ get rows_per_page_dropdown_manager() {
484
+ return rows_per_page_dropdown_manager
485
+ },
486
+ get is_data_editable_checkbox_manager() {
487
+ return is_data_editable_checkbox_manager
488
+ },
489
+ get nav_items_dropdown_manager() {
490
+ return nav_items_dropdown_manager
491
+ },
492
+ get is_paginate_checkbox_manager() {
493
+ return is_paginate_checkbox_manager
494
+ },
495
+ get column_ids_display_order() {
496
+ return column_ids_display_order
497
+ },
498
+ get columns_prepped() {
499
+ return columns_prepped
500
+ },
501
+ get guess_columns_button_manager() {
502
+ return guess_columns_button_manager
503
+ },
504
+ get add_column_button_manager() {
505
+ return add_column_button_manager
506
+ },
507
+ get row_input_content_input_manager() {
508
+ return row_input_content_input_manager
509
+ },
510
+ get guess_row_input_button_manager() {
511
+ return guess_row_input_button_manager
512
+ },
513
+ get row_searchable_content_input_manager() {
514
+ return row_searchable_content_input_manager
515
+ },
516
+ get variables_data_type() {
517
+ return variables_data_type
518
+ },
519
+ get initial_sort_by_input_manager() {
520
+ return initial_sort_by_input_manager
521
+ },
522
+ get initial_filter_input_manager() {
523
+ return initial_filter_input_manager
524
+ },
525
+ get data_type_input_manager() {
526
+ return data_type_input_manager
527
+ },
528
+ get data_type_input_edit_button_manager() {
529
+ return data_type_input_edit_button_manager
530
+ },
531
+ get table_header_max_height_slider_manager() {
532
+ return table_header_max_height_slider_manager
533
+ },
534
+ get table_row_max_height_slider_manager() {
535
+ return table_row_max_height_slider_manager
536
+ },
537
+ init,
538
+ guess_all,
539
+ guess_columns,
540
+ guess_row_input_content,
541
+ }
542
+ }
@@ -0,0 +1,47 @@
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
+ import IconInput from "../../../../IconInput/index.svelte"
8
+ import Tag from "../../../../Tag/index.svelte"
9
+
10
+ let { manager } = $props()
11
+
12
+ </script>
13
+
14
+ <div>
15
+ <Button manager={manager?.tag_option_to_add_popover_toggle_button_manager} />
16
+ <Popover manager={manager?.tag_option_to_add_popover_manager} >
17
+ {#snippet content()}
18
+ <div class="popover_content_container">
19
+ <p class="label">Tag Preview</p>
20
+ <!-- <Tag manager={manager?.tag_option_to_add_manager} /> -->
21
+ <p class="label">Color</p>
22
+ <ColorInput manager={manager?.tag_option_to_add_color_input_manager} />
23
+ <TextInput manager={manager?.tag_option_to_add_text_text_input_manager} />
24
+ <p class="label">Icon</p>
25
+ <IconInput manager={manager?.tag_option_to_add_icon_input_manager} />
26
+ <p class="label">Conditions</p>
27
+ conditions_tbd
28
+ </div>
29
+ {/snippet}
30
+ {#snippet footer()}
31
+ <Button manager={manager?.tag_option_to_add_finish_button_manager} />
32
+ {/snippet}
33
+ </Popover>
34
+ {#if Array.isArray(manager?.derived_tag_options) && manager?.derived_tag_options.length > 0}
35
+ <div style="display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem;">
36
+ {#each manager?.derived_tag_options as tag_item, i}
37
+ <div style="display: flex; gap: 1rem">
38
+ <Button manager={tag_item?.remove_button_manager} />
39
+ <Button manager={tag_item?.edit_button_manager} />
40
+ <Tag manager={tag_item?.tag_manager} />
41
+ </div>
42
+ {/each}
43
+ </div>
44
+ {:else}
45
+ <p>No Tag Options</p>
46
+ {/if}
47
+ </div>