sveltekit-ui 1.0.0

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 (487) hide show
  1. package/README.md +23 -0
  2. package/dist/Components/Alert/index.svelte +88 -0
  3. package/dist/Components/Alert/index.svelte.js +101 -0
  4. package/dist/Components/ArrowToggle/index.svelte +62 -0
  5. package/dist/Components/Attachment/index.svelte +69 -0
  6. package/dist/Components/Attachment/index.svelte.js +119 -0
  7. package/dist/Components/Audio/index.svelte +193 -0
  8. package/dist/Components/Audio/index.svelte.js +463 -0
  9. package/dist/Components/AudioEditor/index.svelte +253 -0
  10. package/dist/Components/AudioEditor/index.svelte.js +973 -0
  11. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  12. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  13. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  14. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  15. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  16. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  17. package/dist/Components/AuthCodeInput/index.svelte +85 -0
  18. package/dist/Components/AuthCodeInput/index.svelte.js +95 -0
  19. package/dist/Components/Breadcrumbs/index.svelte +27 -0
  20. package/dist/Components/Breadcrumbs/index.svelte.js +88 -0
  21. package/dist/Components/Button/index.svelte +721 -0
  22. package/dist/Components/Button/index.svelte.js +375 -0
  23. package/dist/Components/Chart/Klines/index.svelte +87 -0
  24. package/dist/Components/Chart/index.svelte +226 -0
  25. package/dist/Components/Chart/index.svelte.js +1084 -0
  26. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +150 -0
  27. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +45 -0
  28. package/dist/Components/ChartInput/DisplayNav/index.svelte +297 -0
  29. package/dist/Components/ChartInput/EditPanel/index.svelte +155 -0
  30. package/dist/Components/ChartInput/index.svelte +21 -0
  31. package/dist/Components/ChartInput/index.svelte.js +671 -0
  32. package/dist/Components/Checkbox/index.svelte +411 -0
  33. package/dist/Components/Checkbox/index.svelte.js +178 -0
  34. package/dist/Components/Code/index.svelte +23 -0
  35. package/dist/Components/Code/index.svelte.js +34 -0
  36. package/dist/Components/Color/index.svelte +51 -0
  37. package/dist/Components/Color/index.svelte.js +31 -0
  38. package/dist/Components/ColorInput/ChromaPicker/index.svelte +50 -0
  39. package/dist/Components/ColorInput/ColorPalette/index.svelte +62 -0
  40. package/dist/Components/ColorInput/OpacityPicker/index.svelte +68 -0
  41. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +136 -0
  42. package/dist/Components/ColorInput/index.svelte +70 -0
  43. package/dist/Components/ColorInput/index.svelte.js +383 -0
  44. package/dist/Components/ConditionsInput/index.svelte +46 -0
  45. package/dist/Components/ConditionsInput/index.svelte.js +201 -0
  46. package/dist/Components/Confetti/index.svelte +98 -0
  47. package/dist/Components/Confetti/index.svelte.js +94 -0
  48. package/dist/Components/Content/index.svelte +471 -0
  49. package/dist/Components/Content/index.svelte.js +903 -0
  50. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +31 -0
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +258 -0
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +31 -0
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +258 -0
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +58 -0
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +210 -0
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +28 -0
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +224 -0
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +44 -0
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +273 -0
  60. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +41 -0
  61. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +203 -0
  62. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +19 -0
  63. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +119 -0
  64. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +60 -0
  65. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +546 -0
  66. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +47 -0
  67. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +185 -0
  68. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +35 -0
  69. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +224 -0
  70. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +20 -0
  71. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +87 -0
  72. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +25 -0
  73. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +101 -0
  74. package/dist/Components/ContentInput/AttributesInput/index.svelte +338 -0
  75. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +1446 -0
  76. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +64 -0
  77. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +97 -0
  78. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +122 -0
  79. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +41 -0
  80. package/dist/Components/ContentInput/index.svelte +50 -0
  81. package/dist/Components/ContentInput/index.svelte.js +1066 -0
  82. package/dist/Components/CronInput/index.svelte +78 -0
  83. package/dist/Components/CronInput/index.svelte.js +199 -0
  84. package/dist/Components/DataTypeInput/index.svelte +174 -0
  85. package/dist/Components/DataTypeInput/index.svelte.js +568 -0
  86. package/dist/Components/Dropdown/index.svelte +116 -0
  87. package/dist/Components/Dropdown/index.svelte.js +403 -0
  88. package/dist/Components/EmailAddress/index.svelte +22 -0
  89. package/dist/Components/EmailAddress/index.svelte.js +45 -0
  90. package/dist/Components/ErrorX/index.svelte +58 -0
  91. package/dist/Components/Eye/index.svelte +57 -0
  92. package/dist/Components/FileInput/index.svelte +146 -0
  93. package/dist/Components/FileInput/index.svelte.js +226 -0
  94. package/dist/Components/FunctionInput/Node/helpers/DefinedTargetInput/index.svelte +110 -0
  95. package/dist/Components/FunctionInput/Node/helpers/Field/index.svelte +109 -0
  96. package/dist/Components/FunctionInput/Node/helpers/Field/index.svelte.js +208 -0
  97. package/dist/Components/FunctionInput/Node/helpers/InlineDropArea/index.svelte +97 -0
  98. package/dist/Components/FunctionInput/Node/helpers/InlineDropArea/index.svelte.js +105 -0
  99. package/dist/Components/FunctionInput/Node/helpers/ObjectInput/index.svelte +198 -0
  100. package/dist/Components/FunctionInput/Node/helpers/StackArea/index.svelte +169 -0
  101. package/dist/Components/FunctionInput/Node/helpers/StackArea/index.svelte.js +152 -0
  102. package/dist/Components/FunctionInput/Node/index.svelte +144 -0
  103. package/dist/Components/FunctionInput/Node/index.svelte.js +130 -0
  104. package/dist/Components/FunctionInput/index.svelte +356 -0
  105. package/dist/Components/FunctionInput/index.svelte.js +1215 -0
  106. package/dist/Components/Hamburger/index.svelte +99 -0
  107. package/dist/Components/HorizScrollBox/index.svelte +145 -0
  108. package/dist/Components/Icon/index.svelte +412 -0
  109. package/dist/Components/Icon/index.svelte.js +117 -0
  110. package/dist/Components/IconInput/index.svelte +77 -0
  111. package/dist/Components/IconInput/index.svelte.js +260 -0
  112. package/dist/Components/Image/index.svelte +121 -0
  113. package/dist/Components/Image/index.svelte.js +114 -0
  114. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +165 -0
  115. package/dist/Components/ImageEditor/Image/index.svelte +104 -0
  116. package/dist/Components/ImageEditor/Panels/AI/index.svelte +36 -0
  117. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +96 -0
  118. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +124 -0
  119. package/dist/Components/ImageEditor/Panels/File/index.svelte +74 -0
  120. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +46 -0
  121. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +58 -0
  122. package/dist/Components/ImageEditor/index.svelte +91 -0
  123. package/dist/Components/ImageEditor/index.svelte.js +1907 -0
  124. package/dist/Components/ImageSlider/index.svelte +124 -0
  125. package/dist/Components/ImageSlider/index.svelte.js +99 -0
  126. package/dist/Components/InfoBox/index.svelte +89 -0
  127. package/dist/Components/Json/Nested/index.svelte +157 -0
  128. package/dist/Components/Json/index.svelte +60 -0
  129. package/dist/Components/Json/index.svelte.js +594 -0
  130. package/dist/Components/LabeledItem/index.svelte +102 -0
  131. package/dist/Components/Layout/NavBar/FullNav/index.svelte +53 -0
  132. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +87 -0
  133. package/dist/Components/Layout/NavBar/index.svelte +72 -0
  134. package/dist/Components/Layout/index.svelte +149 -0
  135. package/dist/Components/Layout/index.svelte.js +362 -0
  136. package/dist/Components/Link/index.svelte +46 -0
  137. package/dist/Components/Link/index.svelte.js +126 -0
  138. package/dist/Components/LoadingSuccessDiv/index.svelte +51 -0
  139. package/dist/Components/LoadingWheel/index.svelte +38 -0
  140. package/dist/Components/Location/index.svelte +85 -0
  141. package/dist/Components/Location/index.svelte.js +292 -0
  142. package/dist/Components/LocationInput/index.svelte +200 -0
  143. package/dist/Components/LocationInput/index.svelte.js +950 -0
  144. package/dist/Components/Number/index.svelte +47 -0
  145. package/dist/Components/Number/index.svelte.js +151 -0
  146. package/dist/Components/PhoneCountryCode/index.svelte +7 -0
  147. package/dist/Components/PhoneCountryCode/index.svelte.js +260 -0
  148. package/dist/Components/PhoneNumber/index.svelte +22 -0
  149. package/dist/Components/PhoneNumber/index.svelte.js +41 -0
  150. package/dist/Components/Popover/index.svelte +396 -0
  151. package/dist/Components/Popover/index.svelte.js +319 -0
  152. package/dist/Components/Qr/index.svelte +60 -0
  153. package/dist/Components/Qr/index.svelte.js +295 -0
  154. package/dist/Components/Slider/index.svelte +231 -0
  155. package/dist/Components/Slider/index.svelte.js +468 -0
  156. package/dist/Components/Spacer/index.svelte +41 -0
  157. package/dist/Components/StoragePicker/DisplayFile/index.svelte +15 -0
  158. package/dist/Components/StoragePicker/index.svelte +192 -0
  159. package/dist/Components/StoragePicker/index.svelte.js +593 -0
  160. package/dist/Components/SuccessCheck/index.svelte +56 -0
  161. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +110 -0
  162. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +494 -0
  163. package/dist/Components/TableAdvanced/FilterInput/index.svelte +54 -0
  164. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +247 -0
  165. package/dist/Components/TableAdvanced/Pagination/index.svelte +43 -0
  166. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +97 -0
  167. package/dist/Components/TableAdvanced/SortByInput/index.svelte +79 -0
  168. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +191 -0
  169. package/dist/Components/TableAdvanced/index.svelte +268 -0
  170. package/dist/Components/TableAdvanced/index.svelte.js +1422 -0
  171. package/dist/Components/Tag/index.svelte +45 -0
  172. package/dist/Components/Tag/index.svelte.js +76 -0
  173. package/dist/Components/TextArrayInput/index.svelte +108 -0
  174. package/dist/Components/TextArrayInput/index.svelte.js +239 -0
  175. package/dist/Components/TextInput/PasswordTooltip/index.svelte +89 -0
  176. package/dist/Components/TextInput/index.svelte +223 -0
  177. package/dist/Components/TextInput/index.svelte.js +434 -0
  178. package/dist/Components/Time/index.svelte +7 -0
  179. package/dist/Components/Time/index.svelte.js +38 -0
  180. package/dist/Components/TimeInput/NumberToggler/index.svelte +34 -0
  181. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +79 -0
  182. package/dist/Components/TimeInput/index.js +699 -0
  183. package/dist/Components/TimeInput/index.svelte +211 -0
  184. package/dist/Components/TimeInput/index.svelte.js +638 -0
  185. package/dist/Components/Tooltip/index.svelte +143 -0
  186. package/dist/Components/TransparentBackground/index.svelte +153 -0
  187. package/dist/Components/TypingDots/index.svelte +84 -0
  188. package/dist/Components/VariablePathInput/index.svelte +109 -0
  189. package/dist/Components/VariablePathInput/index.svelte.js +250 -0
  190. package/dist/Components/VideoTBD/index.svelte +100 -0
  191. package/dist/Components/XFollow/index.svelte +42 -0
  192. package/dist/Components/XPost/index.svelte +52 -0
  193. package/dist/Components/XPost/index.svelte.js +64 -0
  194. package/dist/Components/YoutubeVideo/index.svelte +73 -0
  195. package/dist/Components/YoutubeVideo/index.svelte.js +54 -0
  196. package/dist/actions/draggable.js +49 -0
  197. package/dist/actions/intersection_observer.js +24 -0
  198. package/dist/actions/no_spaces.js +33 -0
  199. package/dist/actions/numbers_only.js +26 -0
  200. package/dist/actions/scroll_y.js +28 -0
  201. package/dist/actions/stop_scroll_propagation_y.js +42 -0
  202. package/dist/actions/swipe_handler.js +295 -0
  203. package/dist/client/astc_formatting/index.js +1167 -0
  204. package/dist/client/docs/index.js +7612 -0
  205. package/dist/client/index.js +729 -0
  206. package/dist/client/types/index.js +4681 -0
  207. package/dist/index.js +161 -0
  208. package/dist/style.css +682 -0
  209. package/package.json +44 -0
  210. package/src/app.html +17 -0
  211. package/src/hooks.server.js +7 -0
  212. package/src/lib/Components/Alert/index.svelte +88 -0
  213. package/src/lib/Components/Alert/index.svelte.js +101 -0
  214. package/src/lib/Components/ArrowToggle/index.svelte +62 -0
  215. package/src/lib/Components/Attachment/index.svelte +69 -0
  216. package/src/lib/Components/Attachment/index.svelte.js +119 -0
  217. package/src/lib/Components/Audio/index.svelte +193 -0
  218. package/src/lib/Components/Audio/index.svelte.js +463 -0
  219. package/src/lib/Components/AudioEditor/index.svelte +253 -0
  220. package/src/lib/Components/AudioEditor/index.svelte.js +973 -0
  221. package/src/lib/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  222. package/src/lib/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  223. package/src/lib/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  224. package/src/lib/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  225. package/src/lib/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  226. package/src/lib/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  227. package/src/lib/Components/AuthCodeInput/index.svelte +85 -0
  228. package/src/lib/Components/AuthCodeInput/index.svelte.js +95 -0
  229. package/src/lib/Components/Breadcrumbs/index.svelte +27 -0
  230. package/src/lib/Components/Breadcrumbs/index.svelte.js +88 -0
  231. package/src/lib/Components/Button/index.svelte +721 -0
  232. package/src/lib/Components/Button/index.svelte.js +375 -0
  233. package/src/lib/Components/Chart/Klines/index.svelte +87 -0
  234. package/src/lib/Components/Chart/index.svelte +226 -0
  235. package/src/lib/Components/Chart/index.svelte.js +1084 -0
  236. package/src/lib/Components/ChartInput/DisplayNav/Klines/index.svelte +150 -0
  237. package/src/lib/Components/ChartInput/DisplayNav/Lines/index.svelte +45 -0
  238. package/src/lib/Components/ChartInput/DisplayNav/index.svelte +297 -0
  239. package/src/lib/Components/ChartInput/EditPanel/index.svelte +155 -0
  240. package/src/lib/Components/ChartInput/index.svelte +21 -0
  241. package/src/lib/Components/ChartInput/index.svelte.js +671 -0
  242. package/src/lib/Components/Checkbox/index.svelte +411 -0
  243. package/src/lib/Components/Checkbox/index.svelte.js +178 -0
  244. package/src/lib/Components/Code/index.svelte +23 -0
  245. package/src/lib/Components/Code/index.svelte.js +34 -0
  246. package/src/lib/Components/Color/index.svelte +51 -0
  247. package/src/lib/Components/Color/index.svelte.js +31 -0
  248. package/src/lib/Components/ColorInput/ChromaPicker/index.svelte +50 -0
  249. package/src/lib/Components/ColorInput/ColorPalette/index.svelte +62 -0
  250. package/src/lib/Components/ColorInput/OpacityPicker/index.svelte +68 -0
  251. package/src/lib/Components/ColorInput/ShowcasePicker/index.svelte +136 -0
  252. package/src/lib/Components/ColorInput/index.svelte +70 -0
  253. package/src/lib/Components/ColorInput/index.svelte.js +383 -0
  254. package/src/lib/Components/ConditionsInput/index.svelte +46 -0
  255. package/src/lib/Components/ConditionsInput/index.svelte.js +201 -0
  256. package/src/lib/Components/Confetti/index.svelte +98 -0
  257. package/src/lib/Components/Confetti/index.svelte.js +94 -0
  258. package/src/lib/Components/Content/index.svelte +471 -0
  259. package/src/lib/Components/Content/index.svelte.js +903 -0
  260. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +31 -0
  261. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +258 -0
  262. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +31 -0
  263. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +258 -0
  264. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +58 -0
  265. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +210 -0
  266. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +28 -0
  267. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +224 -0
  268. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +44 -0
  269. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +273 -0
  270. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +41 -0
  271. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +203 -0
  272. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +19 -0
  273. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +119 -0
  274. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +60 -0
  275. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +546 -0
  276. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +47 -0
  277. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +185 -0
  278. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +35 -0
  279. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +224 -0
  280. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +20 -0
  281. package/src/lib/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +87 -0
  282. package/src/lib/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +25 -0
  283. package/src/lib/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +101 -0
  284. package/src/lib/Components/ContentInput/AttributesInput/index.svelte +338 -0
  285. package/src/lib/Components/ContentInput/AttributesInput/index.svelte.js +1446 -0
  286. package/src/lib/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +64 -0
  287. package/src/lib/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +97 -0
  288. package/src/lib/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +122 -0
  289. package/src/lib/Components/ContentInput/ContentPanelBuilder/index.svelte +41 -0
  290. package/src/lib/Components/ContentInput/index.svelte +50 -0
  291. package/src/lib/Components/ContentInput/index.svelte.js +1066 -0
  292. package/src/lib/Components/CronInput/index.svelte +78 -0
  293. package/src/lib/Components/CronInput/index.svelte.js +199 -0
  294. package/src/lib/Components/DataTypeInput/index.svelte +174 -0
  295. package/src/lib/Components/DataTypeInput/index.svelte.js +568 -0
  296. package/src/lib/Components/Dropdown/index.svelte +116 -0
  297. package/src/lib/Components/Dropdown/index.svelte.js +403 -0
  298. package/src/lib/Components/EmailAddress/index.svelte +22 -0
  299. package/src/lib/Components/EmailAddress/index.svelte.js +45 -0
  300. package/src/lib/Components/ErrorX/index.svelte +58 -0
  301. package/src/lib/Components/Eye/index.svelte +57 -0
  302. package/src/lib/Components/FileInput/index.svelte +146 -0
  303. package/src/lib/Components/FileInput/index.svelte.js +226 -0
  304. package/src/lib/Components/FunctionInput/Node/helpers/DefinedTargetInput/index.svelte +110 -0
  305. package/src/lib/Components/FunctionInput/Node/helpers/Field/index.svelte +109 -0
  306. package/src/lib/Components/FunctionInput/Node/helpers/Field/index.svelte.js +208 -0
  307. package/src/lib/Components/FunctionInput/Node/helpers/InlineDropArea/index.svelte +97 -0
  308. package/src/lib/Components/FunctionInput/Node/helpers/InlineDropArea/index.svelte.js +105 -0
  309. package/src/lib/Components/FunctionInput/Node/helpers/ObjectInput/index.svelte +198 -0
  310. package/src/lib/Components/FunctionInput/Node/helpers/StackArea/index.svelte +169 -0
  311. package/src/lib/Components/FunctionInput/Node/helpers/StackArea/index.svelte.js +152 -0
  312. package/src/lib/Components/FunctionInput/Node/index.svelte +144 -0
  313. package/src/lib/Components/FunctionInput/Node/index.svelte.js +130 -0
  314. package/src/lib/Components/FunctionInput/index.svelte +356 -0
  315. package/src/lib/Components/FunctionInput/index.svelte.js +1215 -0
  316. package/src/lib/Components/Hamburger/index.svelte +99 -0
  317. package/src/lib/Components/HorizScrollBox/index.svelte +145 -0
  318. package/src/lib/Components/Icon/index.svelte +412 -0
  319. package/src/lib/Components/Icon/index.svelte.js +117 -0
  320. package/src/lib/Components/IconInput/index.svelte +77 -0
  321. package/src/lib/Components/IconInput/index.svelte.js +260 -0
  322. package/src/lib/Components/Image/index.svelte +121 -0
  323. package/src/lib/Components/Image/index.svelte.js +114 -0
  324. package/src/lib/Components/ImageEditor/Image/CropBox/index.svelte +165 -0
  325. package/src/lib/Components/ImageEditor/Image/index.svelte +104 -0
  326. package/src/lib/Components/ImageEditor/Panels/AI/index.svelte +36 -0
  327. package/src/lib/Components/ImageEditor/Panels/Crop/index.svelte +96 -0
  328. package/src/lib/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +124 -0
  329. package/src/lib/Components/ImageEditor/Panels/File/index.svelte +74 -0
  330. package/src/lib/Components/ImageEditor/Panels/Filters/index.svelte +46 -0
  331. package/src/lib/Components/ImageEditor/Panels/Resize/index.svelte +58 -0
  332. package/src/lib/Components/ImageEditor/index.svelte +91 -0
  333. package/src/lib/Components/ImageEditor/index.svelte.js +1907 -0
  334. package/src/lib/Components/ImageSlider/index.svelte +124 -0
  335. package/src/lib/Components/ImageSlider/index.svelte.js +99 -0
  336. package/src/lib/Components/InfoBox/index.svelte +89 -0
  337. package/src/lib/Components/Json/Nested/index.svelte +157 -0
  338. package/src/lib/Components/Json/index.svelte +60 -0
  339. package/src/lib/Components/Json/index.svelte.js +594 -0
  340. package/src/lib/Components/LabeledItem/index.svelte +102 -0
  341. package/src/lib/Components/Layout/NavBar/FullNav/index.svelte +53 -0
  342. package/src/lib/Components/Layout/NavBar/NavGuts/index.svelte +87 -0
  343. package/src/lib/Components/Layout/NavBar/index.svelte +72 -0
  344. package/src/lib/Components/Layout/index.svelte +149 -0
  345. package/src/lib/Components/Layout/index.svelte.js +362 -0
  346. package/src/lib/Components/Link/index.svelte +46 -0
  347. package/src/lib/Components/Link/index.svelte.js +126 -0
  348. package/src/lib/Components/LoadingSuccessDiv/index.svelte +51 -0
  349. package/src/lib/Components/LoadingWheel/index.svelte +38 -0
  350. package/src/lib/Components/Location/index.svelte +85 -0
  351. package/src/lib/Components/Location/index.svelte.js +292 -0
  352. package/src/lib/Components/LocationInput/index.svelte +200 -0
  353. package/src/lib/Components/LocationInput/index.svelte.js +950 -0
  354. package/src/lib/Components/Number/index.svelte +47 -0
  355. package/src/lib/Components/Number/index.svelte.js +151 -0
  356. package/src/lib/Components/PhoneCountryCode/index.svelte +7 -0
  357. package/src/lib/Components/PhoneCountryCode/index.svelte.js +260 -0
  358. package/src/lib/Components/PhoneNumber/index.svelte +22 -0
  359. package/src/lib/Components/PhoneNumber/index.svelte.js +41 -0
  360. package/src/lib/Components/Popover/index.svelte +396 -0
  361. package/src/lib/Components/Popover/index.svelte.js +319 -0
  362. package/src/lib/Components/Qr/index.svelte +60 -0
  363. package/src/lib/Components/Qr/index.svelte.js +295 -0
  364. package/src/lib/Components/Slider/index.svelte +231 -0
  365. package/src/lib/Components/Slider/index.svelte.js +468 -0
  366. package/src/lib/Components/Spacer/index.svelte +41 -0
  367. package/src/lib/Components/StoragePicker/DisplayFile/index.svelte +15 -0
  368. package/src/lib/Components/StoragePicker/index.svelte +192 -0
  369. package/src/lib/Components/StoragePicker/index.svelte.js +593 -0
  370. package/src/lib/Components/SuccessCheck/index.svelte +56 -0
  371. package/src/lib/Components/TableAdvanced/ColumnInput/index.svelte +110 -0
  372. package/src/lib/Components/TableAdvanced/ColumnInput/index.svelte.js +494 -0
  373. package/src/lib/Components/TableAdvanced/FilterInput/index.svelte +54 -0
  374. package/src/lib/Components/TableAdvanced/FilterInput/index.svelte.js +247 -0
  375. package/src/lib/Components/TableAdvanced/Pagination/index.svelte +43 -0
  376. package/src/lib/Components/TableAdvanced/Pagination/index.svelte.js +97 -0
  377. package/src/lib/Components/TableAdvanced/SortByInput/index.svelte +79 -0
  378. package/src/lib/Components/TableAdvanced/SortByInput/index.svelte.js +191 -0
  379. package/src/lib/Components/TableAdvanced/index.svelte +268 -0
  380. package/src/lib/Components/TableAdvanced/index.svelte.js +1422 -0
  381. package/src/lib/Components/Tag/index.svelte +45 -0
  382. package/src/lib/Components/Tag/index.svelte.js +76 -0
  383. package/src/lib/Components/TextArrayInput/index.svelte +108 -0
  384. package/src/lib/Components/TextArrayInput/index.svelte.js +239 -0
  385. package/src/lib/Components/TextInput/PasswordTooltip/index.svelte +89 -0
  386. package/src/lib/Components/TextInput/index.svelte +223 -0
  387. package/src/lib/Components/TextInput/index.svelte.js +434 -0
  388. package/src/lib/Components/Time/index.svelte +7 -0
  389. package/src/lib/Components/Time/index.svelte.js +38 -0
  390. package/src/lib/Components/TimeInput/NumberToggler/index.svelte +34 -0
  391. package/src/lib/Components/TimeInput/NumberToggler/index.svelte.js +79 -0
  392. package/src/lib/Components/TimeInput/index.js +699 -0
  393. package/src/lib/Components/TimeInput/index.svelte +211 -0
  394. package/src/lib/Components/TimeInput/index.svelte.js +638 -0
  395. package/src/lib/Components/Tooltip/index.svelte +143 -0
  396. package/src/lib/Components/TransparentBackground/index.svelte +153 -0
  397. package/src/lib/Components/TypingDots/index.svelte +84 -0
  398. package/src/lib/Components/VariablePathInput/index.svelte +109 -0
  399. package/src/lib/Components/VariablePathInput/index.svelte.js +250 -0
  400. package/src/lib/Components/VideoTBD/index.svelte +100 -0
  401. package/src/lib/Components/XFollow/index.svelte +42 -0
  402. package/src/lib/Components/XPost/index.svelte +52 -0
  403. package/src/lib/Components/XPost/index.svelte.js +64 -0
  404. package/src/lib/Components/YoutubeVideo/index.svelte +73 -0
  405. package/src/lib/Components/YoutubeVideo/index.svelte.js +54 -0
  406. package/src/lib/actions/draggable.js +49 -0
  407. package/src/lib/actions/intersection_observer.js +24 -0
  408. package/src/lib/actions/no_spaces.js +33 -0
  409. package/src/lib/actions/numbers_only.js +26 -0
  410. package/src/lib/actions/scroll_y.js +28 -0
  411. package/src/lib/actions/stop_scroll_propagation_y.js +42 -0
  412. package/src/lib/actions/swipe_handler.js +295 -0
  413. package/src/lib/client/astc_formatting/index.js +1167 -0
  414. package/src/lib/client/docs/index.js +7612 -0
  415. package/src/lib/client/index.js +729 -0
  416. package/src/lib/client/types/index.js +4681 -0
  417. package/src/lib/index.js +161 -0
  418. package/src/lib/style.css +682 -0
  419. package/src/notlib/assets/static/Logo/index.svelte +27 -0
  420. package/src/routes/+layout.js +8 -0
  421. package/src/routes/+layout.svelte +176 -0
  422. package/src/routes/+page.svelte +83 -0
  423. package/src/routes/[component]/+page.svelte +167 -0
  424. package/src/routes/[component]/Showcase/Alert/index.svelte +26 -0
  425. package/src/routes/[component]/Showcase/Audio/index.svelte +86 -0
  426. package/src/routes/[component]/Showcase/AudioEditor/index.svelte +93 -0
  427. package/src/routes/[component]/Showcase/AuthCodeInput/index.svelte +13 -0
  428. package/src/routes/[component]/Showcase/Breadcrumbs/index.svelte +44 -0
  429. package/src/routes/[component]/Showcase/Button/index.svelte +350 -0
  430. package/src/routes/[component]/Showcase/Chart/index.svelte +11117 -0
  431. package/src/routes/[component]/Showcase/Checkbox/index.svelte +52 -0
  432. package/src/routes/[component]/Showcase/Code/index.svelte +13 -0
  433. package/src/routes/[component]/Showcase/Color/index.svelte +28 -0
  434. package/src/routes/[component]/Showcase/ColorInput/index.svelte +35 -0
  435. package/src/routes/[component]/Showcase/ConditionsInput/index.svelte +18 -0
  436. package/src/routes/[component]/Showcase/Confetti/index.svelte +22 -0
  437. package/src/routes/[component]/Showcase/Content/index.svelte +144 -0
  438. package/src/routes/[component]/Showcase/ContentInput/index.svelte +358 -0
  439. package/src/routes/[component]/Showcase/CronInput/index.svelte +30 -0
  440. package/src/routes/[component]/Showcase/DocsDefinition/index.svelte +155 -0
  441. package/src/routes/[component]/Showcase/Dropdown/index.svelte +88 -0
  442. package/src/routes/[component]/Showcase/FileInput/index.svelte +40 -0
  443. package/src/routes/[component]/Showcase/FunctionInput/index.svelte +77 -0
  444. package/src/routes/[component]/Showcase/Icon/index.svelte +120 -0
  445. package/src/routes/[component]/Showcase/IconInput/index.svelte +15 -0
  446. package/src/routes/[component]/Showcase/Image/index.svelte +119 -0
  447. package/src/routes/[component]/Showcase/ImageEditor/index.svelte +89 -0
  448. package/src/routes/[component]/Showcase/ImageSlider/index.svelte +26 -0
  449. package/src/routes/[component]/Showcase/InfoBox/index.svelte +44 -0
  450. package/src/routes/[component]/Showcase/Json/index.svelte +80 -0
  451. package/src/routes/[component]/Showcase/LabeledItem/index.svelte +18 -0
  452. package/src/routes/[component]/Showcase/Link/index.svelte +15 -0
  453. package/src/routes/[component]/Showcase/LoadingWheel/index.svelte +10 -0
  454. package/src/routes/[component]/Showcase/Location/index.svelte +422 -0
  455. package/src/routes/[component]/Showcase/LocationInput/index.svelte +121 -0
  456. package/src/routes/[component]/Showcase/Number/index.svelte +55 -0
  457. package/src/routes/[component]/Showcase/Popover/index.svelte +225 -0
  458. package/src/routes/[component]/Showcase/Qr/index.svelte +77 -0
  459. package/src/routes/[component]/Showcase/Slider/index.svelte +92 -0
  460. package/src/routes/[component]/Showcase/Spacer/index.svelte +27 -0
  461. package/src/routes/[component]/Showcase/StoragePicker/index.svelte +139 -0
  462. package/src/routes/[component]/Showcase/TableAdvanced/index.svelte +888 -0
  463. package/src/routes/[component]/Showcase/Tag/index.svelte +27 -0
  464. package/src/routes/[component]/Showcase/TextArrayInput/index.svelte +23 -0
  465. package/src/routes/[component]/Showcase/TextInput/index.svelte +95 -0
  466. package/src/routes/[component]/Showcase/Time/index.svelte +43 -0
  467. package/src/routes/[component]/Showcase/TimeInput/index.svelte +100 -0
  468. package/src/routes/[component]/Showcase/Tooltip/index.svelte +37 -0
  469. package/src/routes/[component]/Showcase/TransparentBackground/index.svelte +26 -0
  470. package/src/routes/[component]/Showcase/XFollow/index.svelte +7 -0
  471. package/src/routes/[component]/Showcase/XPost/index.svelte +24 -0
  472. package/src/routes/[component]/Showcase/YoutubeVideo/index.svelte +17 -0
  473. package/src/routes/test/+page.svelte +53 -0
  474. package/static/apple-touch-icon.png +0 -0
  475. package/static/browserconfig.xml +9 -0
  476. package/static/favicon-96x96.png +0 -0
  477. package/static/favicon-inactive.svg +4 -0
  478. package/static/favicon.svg +14 -0
  479. package/static/fonts/ProximaVara.woff2 +0 -0
  480. package/static/fonts/Quicksand-VariableFont.woff2 +0 -0
  481. package/static/fonts/RobotoSerif-VariableFont.woff2 +0 -0
  482. package/static/icon.png +0 -0
  483. package/static/site.webmanifest +21 -0
  484. package/static/web-app-manifest-192x192.png +0 -0
  485. package/static/web-app-manifest-512x512.png +0 -0
  486. package/svelte.config.js +12 -0
  487. package/vite.config.js +6 -0
@@ -0,0 +1,1066 @@
1
+ import {
2
+ create_unique_id,
3
+ copy_to_clipboard,
4
+ astc_to_markdown,
5
+ astc_to_embedding_text,
6
+ markdown_to_astc,
7
+ json_to_data_type,
8
+ node_types,
9
+ deep_copy,
10
+ set_closurable,
11
+ } from "$lib/client/index.js"
12
+ import { create_button_manager } from "$lib/Components/Button/index.svelte.js"
13
+ import { create_popover_manager } from "$lib/Components/Popover/index.svelte.js"
14
+ import { create_dropdown_manager } from "$lib/Components/Dropdown/index.svelte.js"
15
+ import { create_text_input_manager } from "$lib/Components/TextInput/index.svelte.js"
16
+ import { create_attributes_input_manager } from "$lib/Components/ContentInput/AttributesInput/index.svelte.js"
17
+ import { create_content_manager } from "$lib/Components/Content/index.svelte.js"
18
+ import { create_add_element_manager } from "$lib/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js"
19
+
20
+ export function create_content_input_manager(config) {
21
+ const id = create_unique_id(null, 20)
22
+
23
+ let versions = $state([])
24
+ let selected_version_index = $state(0)
25
+ let versions_len = $derived(Array.isArray(versions) ? versions.length : 0)
26
+ let storage = $state(null)
27
+ let storage_default_folder_path = $state(null)
28
+ let storage_path = $state(null)
29
+ let preempt_add_first_element_button_manager = $state(null)
30
+ let first_el_add_element_manager = $state(null)
31
+ let selected_version_prepped = $state(null)
32
+ let paste_astc_markdown_popover_manager = $state(null)
33
+ let paste_astc_markdown_location_to_add_element = $state(null)
34
+ let paste_astc_markdown_dropdown_manager = $state(null)
35
+ let paste_astc_markdown_text_input_manager = $state(null)
36
+ let paste_astc_markdown_finish_button_manager = $state(null)
37
+ let location_to_add_element = $state(null)
38
+ let content_manager = $state(null)
39
+ let content_overall_manager = $state(null)
40
+ let attributes_input = $state(null)
41
+ let focused_selector_id = $state(null)
42
+
43
+ let loops = $derived(set_closurable(config?.loops, null))
44
+ let variables = $derived(set_closurable(config?.variables, null))
45
+ let variables_data_type = $derived(set_closurable(config?.variables_data_type, null) ?? json_to_data_type(variables))
46
+ let mapkit_js_token = $derived(set_closurable(config?.mapkit_js_token, null))
47
+
48
+ function increase_loops_on_path(path) {
49
+ let cleaned_path = null
50
+ if (Array.isArray(path)) {
51
+ cleaned_path = []
52
+ for (let path_item of path) {
53
+ if (Array.isArray(path_item)) {
54
+ if (path_item?.[0] == "loops" && typeof path_item?.[1] == "number") {
55
+ cleaned_path.push(["loops", path_item?.[1] + 1])
56
+ } else {
57
+ cleaned_path.push(increase_loops_on_path(path_item))
58
+ }
59
+ } else {
60
+ cleaned_path.push(path_item)
61
+ }
62
+ }
63
+ }
64
+ return cleaned_path
65
+ }
66
+
67
+ function pass_event_down(input) {
68
+ if (typeof content_manager?.pass_event_down == "function") {
69
+ content_manager?.pass_event_down(input)
70
+ }
71
+ }
72
+
73
+ function set_selected_version(version_index) {
74
+ selected_version_index = version_index
75
+ let selected_version = versions?.[selected_version_index]
76
+ selected_version_prepped = prep_element(selected_version)
77
+ content_manager = create_content_manager({
78
+ val: selected_version,
79
+ on_event: config?.on_event,
80
+ storage_path: storage_path,
81
+ mapkit_js_token: mapkit_js_token,
82
+ variables: () => variables,
83
+ loops: () => loops,
84
+ })
85
+ content_overall_manager = create_content_overall_manager()
86
+ }
87
+
88
+ function create_content_overall_manager() {
89
+ return {
90
+ get focused_selector_id() {
91
+ return focused_selector_id
92
+ },
93
+ set_focused_selector_id,
94
+ open_edit_element_attributes_popover,
95
+ }
96
+ }
97
+
98
+ function prep_element(element) {
99
+ let extra_popover_manager = $state(null)
100
+ let extra_popover_button_manager = $state(null)
101
+ let edit_attributes_popover_button_manager = $state(null)
102
+ let preempt_add_child_element_button_manager = $state(null)
103
+ let small_preempt_add_child_element_button_manager = $state(null)
104
+ let preempt_add_sibling_element_below_button_manager = $state(null)
105
+ let copy_markdown_button_manager = $state(null)
106
+ let copy_astc_button_manager = $state(null)
107
+ let shift_element_up_5_button_manager = $state(null)
108
+ let shift_element_up_button_manager = $state(null)
109
+ let shift_element_down_button_manager = $state(null)
110
+ let shift_element_down_5_button_manager = $state(null)
111
+ let delete_button_manager = $state(null)
112
+ let add_element_manager = $state(null)
113
+ edit_attributes_popover_button_manager = create_button_manager({
114
+ type: "soft",
115
+ is_uniform: true,
116
+ support_icon: "edit",
117
+ icon_size: 1.6,
118
+ icon_sw: 40,
119
+ min_height: 2,
120
+ border_radius: 0.5,
121
+ popover_target: () => `popover_${attributes_input?.popover_manager?.id}`,
122
+ on_click: () => open_edit_attributes_popover(),
123
+ })
124
+ function open_edit_attributes_popover() {
125
+ attributes_input.init({
126
+ variables_data_type: () => variables_data_type,
127
+ storage: storage,
128
+ storage_default_folder_path: storage_default_folder_path,
129
+ storage_path: storage_path,
130
+ header: `Edit ${node_types?.[element?.type_id]?.name ? `${node_types?.[element?.type_id]?.name} ` : ""} (${
131
+ element?.selector_id
132
+ }) Attributes`,
133
+ content_type: element?.type_id,
134
+ selector_id: element?.selector_id,
135
+ val: element?.attributes,
136
+ on_finish: (input) => {
137
+ attributes_input.popover_manager.close()
138
+ set_element_attributes(element?.selector_id, input)
139
+ },
140
+ })
141
+ setTimeout(() => {
142
+ attributes_input.popover_manager.open()
143
+ }, 200)
144
+ }
145
+ extra_popover_manager = create_popover_manager({
146
+ type: "dropdown",
147
+ min_width: 100,
148
+ target_width: 200,
149
+ min_height: 100,
150
+ target_height: 200,
151
+ anchor_id: () => `button_${extra_popover_button_manager?.id}`,
152
+ })
153
+ extra_popover_button_manager = create_button_manager({
154
+ type: "soft",
155
+ is_uniform: true,
156
+ support_icon: "three_dots",
157
+ icon_sw: 80,
158
+ icon_size: 1.6,
159
+ min_height: 2,
160
+ border_radius: 0.5,
161
+ popover_target: `popover_${extra_popover_manager?.id}`,
162
+ })
163
+ small_preempt_add_child_element_button_manager = create_button_manager({
164
+ type: "soft",
165
+ support_icon: "plus",
166
+ is_uniform: true,
167
+ icon_size: 1.6,
168
+ icon_sw: 40,
169
+ min_height: 2,
170
+ border_radius: 0.5,
171
+ on_click: () => initiate_add_child_el_to_selector(element?.selector_id),
172
+ })
173
+ copy_markdown_button_manager = create_button_manager({
174
+ type: "soft",
175
+ support_icon: "clipboard",
176
+ text_align: "left",
177
+ text: "Copy Markdown",
178
+ is_success_animation: true,
179
+ on_click: () => copy_element_markdown(element?.selector_id),
180
+ })
181
+ copy_astc_button_manager = create_button_manager({
182
+ type: "soft",
183
+ support_icon: "clipboard",
184
+ text: "Copy astc",
185
+ text_align: "left",
186
+ is_success_animation: true,
187
+ on_click: () => copy_element_astc(element?.selector_id),
188
+ })
189
+ preempt_add_child_element_button_manager = create_button_manager({
190
+ type: "soft",
191
+ support_icon: "plus",
192
+ text_align: "left",
193
+ text: "Add Child Element",
194
+ on_click: () => initiate_add_child_el_to_selector(element?.selector_id),
195
+ })
196
+ preempt_add_sibling_element_below_button_manager = create_button_manager({
197
+ type: "soft",
198
+ support_icon: "plus",
199
+ text_align: "left",
200
+ text: "Add Element Below",
201
+ on_click: () => initiate_add_sibling_el_to_selector(element?.selector_id),
202
+ })
203
+ shift_element_up_5_button_manager = create_button_manager({
204
+ type: "soft",
205
+ support_icon: "arrow_tailed",
206
+ icon_deg: 270,
207
+ text_align: "left",
208
+ text: "Shift Element Up 5",
209
+ on_click: () => {
210
+ extra_popover_manager.close()
211
+ setTimeout(() => {
212
+ shift_el(element?.selector_id, -5)
213
+ }, 500)
214
+ },
215
+ })
216
+ shift_element_up_button_manager = create_button_manager({
217
+ type: "soft",
218
+ support_icon: "arrow_tailed",
219
+ icon_deg: 270,
220
+ text_align: "left",
221
+ text: "Shift Element Up",
222
+ on_click: () => {
223
+ extra_popover_manager.close()
224
+ setTimeout(() => {
225
+ shift_el(element?.selector_id, -1)
226
+ }, 500)
227
+ },
228
+ })
229
+ shift_element_down_button_manager = create_button_manager({
230
+ type: "soft",
231
+ support_icon: "arrow_tailed",
232
+ icon_deg: 90,
233
+ text_align: "left",
234
+ text: "Shift Element Down",
235
+ on_click: () => {
236
+ extra_popover_manager.close()
237
+ setTimeout(() => {
238
+ shift_el(element?.selector_id, 1)
239
+ }, 500)
240
+ },
241
+ })
242
+ shift_element_down_5_button_manager = create_button_manager({
243
+ type: "soft",
244
+ support_icon: "arrow_tailed",
245
+ icon_deg: 90,
246
+ text_align: "left",
247
+ text: "Shift Element Down 5",
248
+ on_click: () => {
249
+ extra_popover_manager.close()
250
+ setTimeout(() => {
251
+ shift_el(element?.selector_id, 5)
252
+ }, 500)
253
+ },
254
+ })
255
+ delete_button_manager = create_button_manager({
256
+ type: "outlined",
257
+ support_icon: "trashcan",
258
+ color: "var(--error-t)",
259
+ icon_sw: 20,
260
+ text_align: "left",
261
+ text: "Delete",
262
+ on_click: () => {
263
+ extra_popover_manager.close()
264
+ setTimeout(() => {
265
+ delete_el(element?.selector_id)
266
+ }, 500)
267
+ },
268
+ })
269
+ const avail_child_element_ids = calc_child_element_options(element)
270
+ const parent_el = get_parent_el(element?.selector_id)
271
+ const avail_sibling_element_ids = calc_child_element_options(parent_el)
272
+ const total_siblings = Array.isArray(parent_el?.children) ? parent_el?.children.length : 0
273
+ const element_index_of_siblings = Array.isArray(parent_el?.children)
274
+ ? parent_el.children.findIndex((h) => h?.selector_id == element?.selector_id)
275
+ : null
276
+ add_element_manager = create_add_element_manager({
277
+ header: () => (location_to_add_element == "sibling" ? "Add Element below" : "Add Child Element"),
278
+ avail_element_ids: () =>
279
+ location_to_add_element == "sibling" ? avail_sibling_element_ids : avail_child_element_ids,
280
+ on_item_click: (input) => {
281
+ if (input == "paste") {
282
+ paste_astc_markdown_location_to_add_element = {
283
+ selector_id: element?.selector_id,
284
+ location_to_add_element: location_to_add_element == "sibling" ? "sibling" : "child",
285
+ }
286
+ paste_astc_markdown_popover_manager.open()
287
+ return
288
+ }
289
+ setTimeout(() => {
290
+ add_child_el(element?.selector_id, input)
291
+ }, 500)
292
+ },
293
+ })
294
+ let children = $state([])
295
+ if (Array.isArray(element?.children)) {
296
+ for (let child of element?.children) {
297
+ children.push(prep_element(child))
298
+ }
299
+ }
300
+ return {
301
+ get element() {
302
+ return element
303
+ },
304
+ get children() {
305
+ return children
306
+ },
307
+ get edit_attributes_popover_button_manager() {
308
+ return edit_attributes_popover_button_manager
309
+ },
310
+ get extra_popover_manager() {
311
+ return extra_popover_manager
312
+ },
313
+ get extra_popover_button_manager() {
314
+ return extra_popover_button_manager
315
+ },
316
+ get add_element_manager() {
317
+ return add_element_manager
318
+ },
319
+ get preempt_add_child_element_button_manager() {
320
+ return preempt_add_child_element_button_manager
321
+ },
322
+ get small_preempt_add_child_element_button_manager() {
323
+ return small_preempt_add_child_element_button_manager
324
+ },
325
+ get preempt_add_sibling_element_below_button_manager() {
326
+ return preempt_add_sibling_element_below_button_manager
327
+ },
328
+ get copy_markdown_button_manager() {
329
+ return copy_markdown_button_manager
330
+ },
331
+ get copy_astc_button_manager() {
332
+ return copy_astc_button_manager
333
+ },
334
+ get shift_element_up_5_button_manager() {
335
+ return shift_element_up_5_button_manager
336
+ },
337
+ get shift_element_up_button_manager() {
338
+ return shift_element_up_button_manager
339
+ },
340
+ get shift_element_down_button_manager() {
341
+ return shift_element_down_button_manager
342
+ },
343
+ get shift_element_down_5_button_manager() {
344
+ return shift_element_down_5_button_manager
345
+ },
346
+ get delete_button_manager() {
347
+ return delete_button_manager
348
+ },
349
+ get avail_child_element_ids() {
350
+ return avail_child_element_ids
351
+ },
352
+ get avail_sibling_element_ids() {
353
+ return avail_sibling_element_ids
354
+ },
355
+ get parent_el() {
356
+ return parent_el
357
+ },
358
+ get total_siblings() {
359
+ return total_siblings
360
+ },
361
+ get element_index_of_siblings() {
362
+ return element_index_of_siblings
363
+ },
364
+ open_edit_attributes_popover,
365
+ }
366
+ }
367
+
368
+ function get_parent_el(selector_id) {
369
+ function get_parent_el_recursive(selector_id, element) {
370
+ if (selector_id && element && Array.isArray(element?.children)) {
371
+ for (let child of element.children) {
372
+ if (child?.selector_id == selector_id) {
373
+ return element
374
+ }
375
+ }
376
+ for (let child of element.children) {
377
+ const res = get_parent_el_recursive(selector_id, child)
378
+ if (res) {
379
+ return res
380
+ }
381
+ }
382
+ }
383
+ return null
384
+ }
385
+ return get_parent_el_recursive(selector_id, versions?.[selected_version_index])
386
+ }
387
+
388
+ function add_version(version) {
389
+ // let new_version = version ? version : convert_prepped_to_version(selected_version_prepped)
390
+ versions = [deep_copy(version), ...versions.slice(selected_version_index)]
391
+ selected_version_index = 0
392
+ set_selected_version(0)
393
+ if (config?.on_change) {
394
+ config?.on_change(deep_copy(version))
395
+ }
396
+ }
397
+
398
+ // function convert_prepped_to_version(version_prepped) {
399
+ // let element = version_prepped?.element
400
+ // let cleaned_children = []
401
+ // if (Array.isArray(element?.children)) {
402
+ // for (let child of element?.children) {
403
+ // if (Array.isArray(child)) {
404
+ // let sub_children = []
405
+ // for (let sub_child of child) {
406
+ // sub_children.push(convert_prepped_to_version(sub_child))
407
+ // }
408
+ // cleaned_children.push(convert_prepped_to_version(sub_children))
409
+ // } else {
410
+ // cleaned_children.push(convert_prepped_to_version(child))
411
+ // }
412
+ // }
413
+ // }
414
+ // return { ...element, children: cleaned_children }
415
+ // }
416
+
417
+ function copy_markdown() {
418
+ copy_to_clipboard(astc_to_markdown(selected_version_prepped?.element))
419
+ }
420
+
421
+ function copy_astc() {
422
+ copy_to_clipboard(JSON.stringify(selected_version_prepped?.element))
423
+ }
424
+
425
+ function copy_text() {
426
+ copy_to_clipboard(astc_to_embedding_text(selected_version_prepped?.element))
427
+ }
428
+
429
+ function finish() {
430
+ if (typeof config?.on_finish == "function") {
431
+ config?.on_finish(selected_version_prepped?.element)
432
+ }
433
+ }
434
+
435
+ function open_edit_markdown_modal() {
436
+ paste_astc_markdown_text_input_manager.set_val(astc_to_markdown(selected_version_prepped?.element))
437
+ paste_astc_markdown_popover_manager.open()
438
+ }
439
+
440
+ function set_astc_from_markdown() {
441
+ add_version(markdown_to_astc(paste_astc_markdown_text_input_manager?.val))
442
+ paste_astc_markdown_popover_manager.close()
443
+ }
444
+
445
+ let astc_element_string = $state(null)
446
+ function add_astc_to_element_children(element) {
447
+ if (Array.isArray(element?.children) && astc_element_string) {
448
+ element.children.push(JSON.parse(astc_element_string))
449
+ } else if (astc_element_string) {
450
+ element.children = [JSON.parse(astc_element_string)]
451
+ }
452
+ astc_element_string = null
453
+ paste_astc_markdown_popover_manager.close()
454
+ }
455
+
456
+ function set_focused_selector_id(selector_id) {
457
+ focused_selector_id = selector_id
458
+ }
459
+
460
+ function add_sibling_el(selector_id, el_type_id, element_to_add = null) {
461
+ let dom_el_parent = get_parent_el(selector_id)
462
+ const element_index_of_siblings = Array.isArray(dom_el_parent?.children)
463
+ ? dom_el_parent.children.findIndex((h) => h.selector_id == selector_id)
464
+ : null
465
+ if (!element_to_add) {
466
+ element_to_add = get_new_element_to_add(el_type_id)
467
+ }
468
+ if (dom_el_parent && element_to_add) {
469
+ if (Array.isArray(dom_el_parent.children)) {
470
+ dom_el_parent.children.splice(element_index_of_siblings + 1, 0, element_to_add)
471
+ } else {
472
+ dom_el_parent.children = [element_to_add]
473
+ }
474
+ replace_el(dom_el_parent?.selector_id, dom_el_parent)
475
+ }
476
+ location_to_add_element = "child"
477
+ }
478
+
479
+ function initiate_add_sibling_el_to_selector(selector_id) {
480
+ const dom_el_parent = get_parent_el(selector_id)
481
+ const avail_element_ids = calc_child_element_options(dom_el_parent)
482
+ if (avail_element_ids.length > 1) {
483
+ location_to_add_element = "sibling"
484
+ find_and_open_add_element_popover_selector_id(selected_version_prepped, selector_id ?? "root")
485
+ } else if (avail_element_ids.length == 1) {
486
+ add_sibling_el(selector_id, avail_element_ids?.[0])
487
+ }
488
+ }
489
+
490
+ function initiate_add_child_el_to_selector(selector_id) {
491
+ const found_element = traverse_els_for_match(selector_id)
492
+ const avail_child_element_ids = calc_child_element_options(found_element)
493
+ location_to_add_element = "child"
494
+ if (avail_child_element_ids.length > 1) {
495
+ find_and_open_add_element_popover_selector_id(selected_version_prepped, selector_id ?? "root")
496
+ } else if (avail_child_element_ids.length == 1) {
497
+ add_child_el(selector_id, avail_child_element_ids[0])
498
+ }
499
+ }
500
+
501
+ function find_and_open_add_element_popover_selector_id(element_prepped, selector_id) {
502
+ if (element_prepped?.element?.selector_id == selector_id) {
503
+ if (typeof element_prepped?.add_element_manager?.popover_manager?.open == "function") {
504
+ element_prepped.add_element_manager.popover_manager.open()
505
+ return
506
+ }
507
+ } else if (Array.isArray(element_prepped?.children)) {
508
+ for (let child of element_prepped?.children) {
509
+ find_and_open_add_element_popover_selector_id(child, selector_id)
510
+ }
511
+ }
512
+ return
513
+ }
514
+
515
+ function add_child_el(selector_id, type_id) {
516
+ const found_element = traverse_els_for_match(selector_id)
517
+ const element_to_add = get_new_element_to_add(type_id)
518
+ if (!found_element) {
519
+ replace_el(selector_id, element_to_add)
520
+ } else {
521
+ add_el_to_el_children(selector_id, element_to_add)
522
+ }
523
+ location_to_add_element = "child"
524
+ }
525
+
526
+ function add_el_to_el_children(selector_id, new_element) {
527
+ add_version(add_child_to_el_recursive(selected_version_prepped?.element, selector_id, new_element))
528
+ }
529
+
530
+ function add_child_to_el_recursive(element, selector_id, new_element) {
531
+ if (element?.selector_id == selector_id) {
532
+ const existing_children = Array.isArray(element?.children) ? element?.children : []
533
+ element.children = [...existing_children, new_element]
534
+ return element
535
+ }
536
+ let new_children = []
537
+ if (Array.isArray(element?.children)) {
538
+ for (let child of element?.children) {
539
+ new_children = [...new_children, add_child_to_el_recursive(child, selector_id, new_element)]
540
+ }
541
+ }
542
+ element.children = new_children
543
+ return element
544
+ }
545
+
546
+ function replace_el(selector_id, new_element) {
547
+ add_version(replace_el_recursive(selected_version_prepped?.element, selector_id, new_element))
548
+ }
549
+
550
+ function replace_el_recursive(element, selector_id, new_element) {
551
+ if (!element?.selector_id || element?.selector_id == selector_id) {
552
+ return new_element
553
+ }
554
+ let new_children = []
555
+ if (Array.isArray(element?.children)) {
556
+ for (let child of element?.children) {
557
+ new_children = [...new_children, replace_el_recursive(child, selector_id, new_element)]
558
+ }
559
+ }
560
+ element.children = new_children
561
+ return element
562
+ }
563
+
564
+ function delete_el(selector_id) {
565
+ add_version(remove_el_recursive(selected_version_prepped?.element, selector_id))
566
+ }
567
+
568
+ function remove_el_recursive(element, selector_id) {
569
+ if (!element?.selector_id || element?.selector_id == selector_id) {
570
+ return null
571
+ }
572
+ let new_children = []
573
+ if (Array.isArray(element?.children)) {
574
+ for (let child of element?.children) {
575
+ const child_without_removed_el = remove_el_recursive(child, selector_id)
576
+ if (child_without_removed_el) {
577
+ new_children = [...new_children, child_without_removed_el]
578
+ }
579
+ }
580
+ }
581
+ element.children = new_children
582
+ return element
583
+ }
584
+
585
+ function traverse_els_for_match(selector_id) {
586
+ return traverse_els_for_match_recursive(selected_version_prepped?.element, selector_id)
587
+ }
588
+
589
+ function traverse_els_for_match_recursive(element, selector_id) {
590
+ if (element?.selector_id == selector_id) {
591
+ return element
592
+ }
593
+ if (Array.isArray(element?.children)) {
594
+ for (let child of element?.children) {
595
+ const matched_element_from_children = traverse_els_for_match_recursive(child, selector_id)
596
+ if (matched_element_from_children) {
597
+ return matched_element_from_children
598
+ }
599
+ }
600
+ }
601
+ return null
602
+ }
603
+
604
+ function shift_el(selector_id, i_shift) {
605
+ let dom_el_parent = get_parent_el(selector_id)
606
+ if (!dom_el_parent) {
607
+ return
608
+ }
609
+ const selector_index = dom_el_parent.children.findIndex((h) => h.selector_id == selector_id)
610
+ function move_element(array, from, to) {
611
+ const copy = [...array]
612
+ const element_to_move = copy.splice(from, 1)[0]
613
+ copy.splice(to, 0, element_to_move)
614
+ return copy
615
+ }
616
+ dom_el_parent.children = move_element(deep_copy(dom_el_parent.children), selector_index, selector_index + i_shift)
617
+ replace_el(selected_version_prepped?.element, dom_el_parent?.selector_id, dom_el_parent)
618
+ }
619
+
620
+ function set_el_from_astc_el_string(selector_id, astc_string) {
621
+ add_version(replace_el(selected_version_prepped?.element, selector_id, JSON.parse(astc_string)))
622
+ }
623
+
624
+ function copy_element_astc(selector_id) {
625
+ copy_to_clipboard(JSON.stringify(traverse_els_for_match(selector_id)))
626
+ }
627
+
628
+ function copy_element_markdown(selector_id) {
629
+ copy_to_clipboard(astc_to_markdown(traverse_els_for_match(selector_id)))
630
+ }
631
+
632
+ function open_edit_element_attributes_popover(selector_id) {
633
+ const found_element = traverse_els_for_match(selector_id)
634
+ if (!node_types?.hasOwnProperty(found_element?.type_id) || !node_types?.[found_element?.type_id]?.attributes) {
635
+ return
636
+ }
637
+ find_and_open_edit_element_attributes(selected_version_prepped, selector_id)
638
+ }
639
+
640
+ function find_and_open_edit_element_attributes(element_prepped, selector_id) {
641
+ if (element_prepped?.element?.selector_id == selector_id) {
642
+ if (typeof element_prepped?.open_edit_attributes_popover == "function") {
643
+ element_prepped?.open_edit_attributes_popover()
644
+ return
645
+ }
646
+ } else if (Array.isArray(element_prepped?.children)) {
647
+ for (let child of element_prepped?.children) {
648
+ find_and_open_edit_element_attributes(child, selector_id)
649
+ }
650
+ }
651
+ return
652
+ }
653
+
654
+ function get_new_element_to_add(type_id) {
655
+ let new_dom_el = {
656
+ type_id: type_id,
657
+ selector_id: create_unique_id(null, 8),
658
+ children: [],
659
+ attributes: {},
660
+ }
661
+ function add_base_attributes_to_element(element, node_types) {
662
+ if (!node_types || !element) {
663
+ return element
664
+ } else if (!node_types?.[element.type_id] || !node_types[element.type_id]?.attributes) {
665
+ element.attributes = null
666
+ return element
667
+ }
668
+ let attribute_obj = {}
669
+ for (let key of Object.keys(node_types[element.type_id].attributes)) {
670
+ attribute_obj[key] = null
671
+ }
672
+ element.attributes = attribute_obj
673
+ return element
674
+ }
675
+ function add_base_children_to_element(element) {
676
+ if (!element || !element.type_id) {
677
+ return element
678
+ }
679
+ let children = Array.isArray(element?.children) ? element.children : []
680
+ if (node_types[element.type_id] && node_types[element.type_id]?.child_elements) {
681
+ for (let childElementId of Object.keys(node_types[element.type_id].child_elements)) {
682
+ if (
683
+ node_types[element.type_id].child_elements[childElementId].child_min_limit > 0 &&
684
+ children.length < node_types[element.type_id].child_elements[childElementId].child_min_limit
685
+ ) {
686
+ children.push(get_new_element_to_add(childElementId))
687
+ }
688
+ }
689
+ }
690
+ element.children = children
691
+ return element
692
+ }
693
+ new_dom_el = add_base_attributes_to_element(new_dom_el)
694
+ new_dom_el = add_base_children_to_element(new_dom_el)
695
+ return new_dom_el
696
+ }
697
+
698
+ function calc_child_element_options(element, is_sibling = false) {
699
+ if (!node_types) {
700
+ return []
701
+ }
702
+ let parent_el = element
703
+ if (is_sibling) {
704
+ parent_el = get_parent_el(element?.selector_id)
705
+ }
706
+ if (!parent_el?.type_id) {
707
+ return Object.keys(node_types)
708
+ }
709
+ let allowed_to_add_child_element_ids = []
710
+ for (let [key, val] of Object.entries(node_types?.[parent_el?.type_id]?.child_elements || {})) {
711
+ let cur_el_children_of_type = Array.isArray(parent_el?.children)
712
+ ? parent_el.children.filter((h) => h?.type_id === key)
713
+ : []
714
+ if (!val?.child_max_limit || cur_el_children_of_type.length < val?.child_max_limit) {
715
+ allowed_to_add_child_element_ids.push(key)
716
+ }
717
+ }
718
+ allowed_to_add_child_element_ids.sort((a, b) => {
719
+ const display_order_a = node_types[a]?.display_order
720
+ const display_order_b = node_types[b]?.display_order
721
+ if (display_order_a === null) return 1
722
+ if (display_order_b === null) return -1
723
+ return display_order_a - display_order_b
724
+ })
725
+ return allowed_to_add_child_element_ids
726
+ }
727
+
728
+ const all_selector_ids = $derived(collect_all_selector_ids(selected_version_prepped?.element))
729
+
730
+ function collect_all_selector_ids(element) {
731
+ let acc = []
732
+ if (element?.selector_id) {
733
+ acc = [element.selector_id]
734
+ }
735
+ if (Array.isArray(element?.children)) {
736
+ for (let element_child of element.children) {
737
+ const acc_child = collect_all_selector_ids(element_child)
738
+ acc = [...acc, ...acc_child]
739
+ }
740
+ }
741
+ return acc
742
+ }
743
+
744
+ function set_element_attributes(selector_id, new_attributes) {
745
+ add_version(change_el_attrs(selected_version_prepped?.element, selector_id, new_attributes))
746
+ }
747
+
748
+ function change_el_attrs(content_el, selector_id, attributes) {
749
+ let children = []
750
+ if (Array.isArray(content_el?.children) && content_el?.children.length > 0) {
751
+ for (let child of content_el.children) {
752
+ children = [...children, change_el_attrs(child, selector_id, attributes)]
753
+ }
754
+ }
755
+ content_el.children = children
756
+ if (content_el?.selector_id == selector_id) {
757
+ content_el.attributes = attributes
758
+ }
759
+ return content_el
760
+ }
761
+
762
+ function set_element_attribute(selector_id, attribute, val) {
763
+ add_version(change_el_attr(selected_version_prepped?.element, selector_id, attribute, val))
764
+ }
765
+
766
+ function change_el_attr(content_el, selector_id, attribute, val) {
767
+ let children = []
768
+ if (Array.isArray(content_el?.children) && content_el?.children.length > 0) {
769
+ for (let child of content_el.children) {
770
+ children = [...children, change_el_attr(child, selector_id, attribute, val)]
771
+ }
772
+ }
773
+ content_el.children = children
774
+ if (content_el?.selector_id == selector_id) {
775
+ content_el.attributes[attribute] = val
776
+ }
777
+ return content_el
778
+ }
779
+
780
+ function clean_content(val) {
781
+ let word_count = 0
782
+ let character_count = 0
783
+ let embedding_text_items = []
784
+ let cleaned_attributes = {}
785
+ let cleaned_children = []
786
+ let total_elements = 1
787
+ let total_nests = 1
788
+ let warnings = []
789
+ if (!val?.type_id || !node_types.hasOwnProperty(val?.type_id)) {
790
+ warnings.push({ type: "error", message: `type_id of ${val?.type_id} is not allowed` })
791
+ return {
792
+ warnings,
793
+ word_count,
794
+ character_count,
795
+ embedding_text: "",
796
+ total_elements,
797
+ total_nests,
798
+ val: null,
799
+ }
800
+ }
801
+ for (let [attribute_key, attribute_value] of Object.entries(node_types[val?.type_id]?.attributes)) {
802
+ if (val?.attributes && typeof val.attributes == "object" && !Array.isArray(val?.attributes)) {
803
+ // attribute_value?.type example color_literal and i should call a clean function for that
804
+ const from_variable_path_key = `${attribute_key}_from_variable_path`
805
+ if (val?.attributes.hasOwnProperty(attribute_key)) {
806
+ cleaned_attributes[attribute_key] = val?.attributes[attribute_key]
807
+ } else if (
808
+ val?.attributes.hasOwnProperty(from_variable_path_key) &&
809
+ Array.isArray(val?.attributes?.[from_variable_path_key])
810
+ ) {
811
+ cleaned_attributes[from_variable_path_key] = val?.attributes[from_variable_path_key]
812
+ }
813
+ if (attribute_key == "content" && val?.attributes?.content) {
814
+ embedding_text_items.push(val?.attributes.content)
815
+ word_count += val.attributes.content.split(/\s+/).filter(Boolean).length
816
+ character_count += val.attributes.content.length
817
+ }
818
+ }
819
+ }
820
+ if (Array.isArray(val?.children) && val?.children.length > 0) {
821
+ for (let child of val?.children) {
822
+ const res = clean_content(child)
823
+ word_count += res.word_count
824
+ character_count += res.character_count
825
+ total_elements += res.total_elements
826
+ total_nests += res.total_nests
827
+ embedding_text_items.push(res.embedding_text)
828
+ warnings = warnings.concat(res.warnings)
829
+ cleaned_children.push(res?.val)
830
+ }
831
+ }
832
+ let embedding_text = embedding_text_items
833
+ .join(" ")
834
+ .replace(/\s{2,}/g, " ")
835
+ .replace(/[^\x00-\x7F]/g, "")
836
+ .replace(/"/g, "")
837
+ .trim()
838
+ const sentence_endings = [".", "?", "!"]
839
+ if (["h1", "h2", "h3", "h4", "h5", "h6", "td", "th", "li", "p", "div"].includes(val?.type_id)) {
840
+ let last_char = embedding_text.slice(-1)
841
+ if (!sentence_endings.includes(last_char)) {
842
+ embedding_text += "."
843
+ }
844
+ }
845
+ embedding_text = embedding_text.replace(/\n/g, "")
846
+ return {
847
+ warnings,
848
+ word_count,
849
+ character_count,
850
+ embedding_text,
851
+ total_elements,
852
+ total_nests,
853
+ val: {
854
+ type_id: val?.type_id,
855
+ selector_id: val?.selector_id,
856
+ attributes: cleaned_attributes,
857
+ children: cleaned_children,
858
+ },
859
+ }
860
+ }
861
+
862
+ function init(config) {
863
+ versions = [config?.val]
864
+ storage = config?.storage
865
+ storage_default_folder_path = config?.storage_default_folder_path
866
+ storage_path = config?.storage_path
867
+ preempt_add_first_element_button_manager = create_button_manager({
868
+ type: "outlined",
869
+ support_icon: "edit",
870
+ is_compressed: true,
871
+ text: "Add First Element",
872
+ on_click: () => first_el_add_element_manager?.popover_manager?.open(),
873
+ })
874
+ let allowed_to_add_element_ids = []
875
+ for (let [key, val] of Object.entries(node_types || {})) {
876
+ if (val?.kind == "content") {
877
+ allowed_to_add_element_ids.push(key)
878
+ }
879
+ }
880
+ first_el_add_element_manager = create_add_element_manager({
881
+ header: "Add First Element",
882
+ avail_element_ids: () => allowed_to_add_element_ids,
883
+ on_item_click: (input) => {
884
+ if (input == "paste") {
885
+ paste_astc_markdown_location_to_add_element = null
886
+ paste_astc_markdown_popover_manager.open()
887
+ return
888
+ }
889
+ setTimeout(() => {
890
+ const element_to_add = get_new_element_to_add(input)
891
+ add_version(element_to_add)
892
+ }, 500)
893
+ },
894
+ })
895
+ paste_astc_markdown_popover_manager = create_popover_manager({
896
+ type: "panel",
897
+ header: "Markdown to astc",
898
+ target_width: 600,
899
+ target_height: 600,
900
+ })
901
+ paste_astc_markdown_dropdown_manager = create_dropdown_manager({
902
+ val: "astc",
903
+ options: ["astc", "markdown"],
904
+ label: "Input Type",
905
+ is_button_compressed: true,
906
+ mb: 1,
907
+ })
908
+ paste_astc_markdown_text_input_manager = create_text_input_manager({
909
+ type: "text_area",
910
+ rows: 15,
911
+ placeholder: () =>
912
+ paste_astc_markdown_dropdown_manager?.val == "markdown"
913
+ ? "## Some Markdown"
914
+ : `{
915
+ type_id: "p",
916
+ selector_id: "p_dxeox",
917
+ attributes: {},
918
+ children: [
919
+ {
920
+ type_id: "base_text",
921
+ selector_id: "base_text_ylzrw",
922
+ children: [],
923
+ attributes: {
924
+ content: "Example",
925
+ },
926
+ },
927
+ ],
928
+ }`,
929
+ })
930
+ paste_astc_markdown_finish_button_manager = create_button_manager({
931
+ mt: 0.5,
932
+ text: "Set from astc/Markdown",
933
+ on_click: () => {
934
+ let astc_to_add = null
935
+ if (paste_astc_markdown_dropdown_manager?.val == "markdown") {
936
+ astc_to_add = markdown_to_astc(paste_astc_markdown_text_input_manager?.val)
937
+ } else if (paste_astc_markdown_dropdown_manager?.val == "astc") {
938
+ astc_to_add = JSON.parse(paste_astc_markdown_text_input_manager?.val)
939
+ }
940
+ setTimeout(() => {
941
+ if (paste_astc_markdown_location_to_add_element?.location_to_add_element == "sibling") {
942
+ add_sibling_el(paste_astc_markdown_location_to_add_element?.selector_id, null, astc_to_add)
943
+ } else if (paste_astc_markdown_location_to_add_element?.location_to_add_element == "child") {
944
+ add_el_to_el_children(paste_astc_markdown_location_to_add_element?.selector_id, astc_to_add)
945
+ } else {
946
+ add_version(astc_to_add)
947
+ }
948
+ paste_astc_markdown_popover_manager.close()
949
+ paste_astc_markdown_text_input_manager.set_val(null)
950
+ }, 500)
951
+ },
952
+ })
953
+ attributes_input = create_attributes_input_manager({
954
+ variables_data_type: () => variables_data_type,
955
+ storage: storage,
956
+ storage_default_folder_path: storage_default_folder_path,
957
+ storage_path: storage_path,
958
+ })
959
+ set_selected_version(0)
960
+ }
961
+
962
+ init(config)
963
+
964
+ return {
965
+ id,
966
+ get val() {
967
+ return versions?.[selected_version_index]
968
+ },
969
+ get variables_data_type() {
970
+ return variables_data_type
971
+ },
972
+ get variables() {
973
+ return variables
974
+ },
975
+ get versions_len() {
976
+ return versions_len
977
+ },
978
+ get selected_version_prepped() {
979
+ return selected_version_prepped
980
+ },
981
+ get storage() {
982
+ return storage
983
+ },
984
+ get storage_default_folder_path() {
985
+ return storage_default_folder_path
986
+ },
987
+ get focused_selector_id() {
988
+ return focused_selector_id
989
+ },
990
+ get paste_astc_markdown_popover_manager() {
991
+ return paste_astc_markdown_popover_manager
992
+ },
993
+ get paste_astc_markdown_location_to_add_element() {
994
+ return paste_astc_markdown_location_to_add_element
995
+ },
996
+ get paste_astc_markdown_dropdown_manager() {
997
+ return paste_astc_markdown_dropdown_manager
998
+ },
999
+ get paste_astc_markdown_text_input_manager() {
1000
+ return paste_astc_markdown_text_input_manager
1001
+ },
1002
+ get paste_astc_markdown_finish_button_manager() {
1003
+ return paste_astc_markdown_finish_button_manager
1004
+ },
1005
+ get location_to_add_element() {
1006
+ return location_to_add_element
1007
+ },
1008
+ get astc_element_string() {
1009
+ return astc_element_string
1010
+ },
1011
+ get all_selector_ids() {
1012
+ return all_selector_ids
1013
+ },
1014
+ get preempt_add_first_element_button_manager() {
1015
+ return preempt_add_first_element_button_manager
1016
+ },
1017
+ get first_el_add_element_manager() {
1018
+ return first_el_add_element_manager
1019
+ },
1020
+ get content_manager() {
1021
+ return content_manager
1022
+ },
1023
+ get content_overall_manager() {
1024
+ return content_overall_manager
1025
+ },
1026
+ get attributes_input() {
1027
+ return attributes_input
1028
+ },
1029
+
1030
+ init,
1031
+ clean_content,
1032
+ add_version,
1033
+ finish,
1034
+ copy_markdown,
1035
+ copy_astc,
1036
+ copy_text,
1037
+ set_focused_selector_id,
1038
+ get_new_element_to_add,
1039
+ calc_child_element_options,
1040
+
1041
+ // content overview
1042
+ open_edit_markdown_modal,
1043
+ set_astc_from_markdown,
1044
+
1045
+ // add element
1046
+ initiate_add_sibling_el_to_selector,
1047
+ add_sibling_el,
1048
+ initiate_add_child_el_to_selector,
1049
+ add_child_el,
1050
+ add_astc_to_element_children,
1051
+
1052
+ // element more
1053
+ copy_element_astc,
1054
+ copy_element_markdown,
1055
+ shift_el,
1056
+ set_el_from_astc_el_string,
1057
+ delete_el,
1058
+
1059
+ // element attributes
1060
+ open_edit_element_attributes_popover,
1061
+ set_element_attribute,
1062
+ set_element_attributes,
1063
+
1064
+ pass_event_down,
1065
+ }
1066
+ }