rune-lab 0.1.2 → 0.2.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 (305) hide show
  1. package/dist/core/index.d.ts +3 -0
  2. package/dist/core/index.d.ts.map +1 -0
  3. package/dist/core/index.js +2 -0
  4. package/dist/{internal → core/internal}/message-resolver.d.ts +1 -0
  5. package/dist/core/internal/message-resolver.d.ts.map +1 -0
  6. package/dist/{persistence → core/persistence}/types.d.ts +1 -0
  7. package/dist/core/persistence/types.d.ts.map +1 -0
  8. package/dist/index.d.ts +2 -30
  9. package/dist/index.js +2 -40
  10. package/dist/state/api.svelte.js +3 -2
  11. package/dist/state/app.svelte.js +3 -2
  12. package/dist/state/commands.svelte.js +2 -2
  13. package/dist/{composables → state/composables}/usePersistence.d.ts +1 -1
  14. package/dist/{composables → state/composables}/useRuneLab.d.ts +1 -1
  15. package/dist/{composables → state/composables}/useRuneLab.js +1 -1
  16. package/dist/state/createConfigStore.svelte.d.ts +1 -1
  17. package/dist/state/createConfigStore.svelte.js +3 -3
  18. package/dist/state/currency.svelte.d.ts +1 -1
  19. package/dist/state/currency.svelte.js +1 -1
  20. package/dist/state/daisyui.d.ts +4 -0
  21. package/dist/state/index.d.ts +5 -0
  22. package/dist/state/index.js +9 -2
  23. package/dist/state/language.svelte.d.ts +1 -1
  24. package/dist/state/language.svelte.js +2 -2
  25. package/dist/state/layout.svelte.d.ts +1 -1
  26. package/dist/state/layout.svelte.js +1 -1
  27. package/dist/{persistence → state/persistence}/drivers.d.ts +1 -1
  28. package/dist/{persistence → state/persistence}/drivers.js +1 -1
  29. package/dist/state/shortcuts.svelte.js +4 -3
  30. package/dist/state/theme.svelte.d.ts +1 -1
  31. package/dist/state/theme.svelte.js +2 -2
  32. package/dist/state/toast.svelte.js +1 -1
  33. package/dist/{actions → ui/actions}/portal.js +2 -1
  34. package/dist/{components → ui/components}/ApiMonitor.svelte +2 -2
  35. package/dist/ui/components/ApiMonitor.svelte.d.ts +3 -0
  36. package/dist/{components → ui/components}/Icon.svelte +3 -2
  37. package/dist/ui/components/Icon.svelte.d.ts +9 -0
  38. package/dist/{components → ui/components}/RuneProvider.svelte +6 -11
  39. package/dist/ui/components/RuneProvider.svelte.d.ts +22 -0
  40. package/dist/{components → ui/components}/Toaster.svelte +1 -1
  41. package/dist/ui/components/Toaster.svelte.d.ts +18 -0
  42. package/dist/{features → ui/features}/command-palette/CommandPalette.svelte +3 -3
  43. package/dist/ui/features/command-palette/CommandPalette.svelte.d.ts +6 -0
  44. package/dist/ui/features/config/AppSettingSelector.svelte.d.ts +13 -0
  45. package/dist/{features → ui/features}/config/CurrencySelector.svelte +1 -1
  46. package/dist/ui/features/config/CurrencySelector.svelte.d.ts +8 -0
  47. package/dist/{features → ui/features}/config/LanguageSelector.svelte +1 -4
  48. package/dist/ui/features/config/LanguageSelector.svelte.d.ts +8 -0
  49. package/dist/{features → ui/features}/config/ThemeSelector.svelte +1 -1
  50. package/dist/ui/features/config/ThemeSelector.svelte.d.ts +8 -0
  51. package/dist/{features → ui/features}/shortcuts/ShortcutPalette.svelte +3 -3
  52. package/dist/ui/features/shortcuts/ShortcutPalette.svelte.d.ts +6 -0
  53. package/dist/ui/index.d.ts +21 -0
  54. package/dist/ui/index.js +31 -0
  55. package/dist/{features/layout/smart → ui/layout}/ConnectedNavigationPanel.svelte +2 -5
  56. package/dist/ui/layout/ConnectedNavigationPanel.svelte.d.ts +10 -0
  57. package/dist/{features/layout/smart → ui/layout}/ConnectedWorkspaceStrip.svelte +2 -5
  58. package/dist/ui/layout/ConnectedWorkspaceStrip.svelte.d.ts +9 -0
  59. package/dist/ui/layout/ContentArea.svelte.d.ts +8 -0
  60. package/dist/ui/layout/DetailPanel.svelte.d.ts +7 -0
  61. package/dist/{layout → ui/layout}/NavigationPanel.svelte +1 -1
  62. package/dist/ui/layout/NavigationPanel.svelte.d.ts +14 -0
  63. package/dist/{layout → ui/layout}/WorkspaceLayout.svelte +2 -2
  64. package/dist/{layout → ui/layout}/WorkspaceLayout.svelte.d.ts +3 -14
  65. package/dist/{layout → ui/layout}/WorkspaceStrip.svelte +1 -1
  66. package/dist/ui/layout/WorkspaceStrip.svelte.d.ts +11 -0
  67. package/dist/{layout → ui/layout}/index.d.ts +2 -2
  68. package/dist/{layout → ui/layout}/index.js +1 -1
  69. package/dist/{paraglide → ui/paraglide}/README.md +3 -2
  70. package/dist/{paraglide → ui/paraglide}/runtime.d.ts +15 -0
  71. package/dist/{paraglide → ui/paraglide}/runtime.js +45 -0
  72. package/package.json +40 -41
  73. package/dist/components/ApiMonitor.svelte.d.ts +0 -14
  74. package/dist/components/Icon.svelte.d.ts +0 -14
  75. package/dist/components/RuneProvider.svelte.d.ts +0 -28
  76. package/dist/components/Toaster.svelte.d.ts +0 -14
  77. package/dist/features/command-palette/CommandPalette.svelte.d.ts +0 -14
  78. package/dist/features/config/AppSettingSelector.svelte.d.ts +0 -14
  79. package/dist/features/config/CurrencySelector.svelte.d.ts +0 -14
  80. package/dist/features/config/LanguageSelector.svelte.d.ts +0 -14
  81. package/dist/features/config/ThemeSelector.svelte.d.ts +0 -14
  82. package/dist/features/detail-panels/DashboardPanel.svelte +0 -171
  83. package/dist/features/detail-panels/DashboardPanel.svelte.d.ts +0 -14
  84. package/dist/features/detail-panels/ShortcutsPanel.svelte +0 -233
  85. package/dist/features/detail-panels/ShortcutsPanel.svelte.d.ts +0 -14
  86. package/dist/features/detail-panels/ShowcasePanel.svelte +0 -114
  87. package/dist/features/detail-panels/ShowcasePanel.svelte.d.ts +0 -14
  88. package/dist/features/detail-panels/showcase-components.d.ts +0 -6
  89. package/dist/features/detail-panels/showcase-components.js +0 -65
  90. package/dist/features/layout/smart/ConnectedNavigationPanel.svelte.d.ts +0 -14
  91. package/dist/features/layout/smart/ConnectedWorkspaceStrip.svelte.d.ts +0 -14
  92. package/dist/features/shortcuts/ShortcutPalette.svelte.d.ts +0 -19
  93. package/dist/layout/ContentArea.svelte.d.ts +0 -14
  94. package/dist/layout/DetailPanel.svelte.d.ts +0 -14
  95. package/dist/layout/NavigationPanel.svelte.d.ts +0 -14
  96. package/dist/layout/WorkspaceStrip.svelte.d.ts +0 -14
  97. package/dist/paraglide/messages/_index.d.ts +0 -83
  98. package/dist/paraglide/messages/_index.js +0 -84
  99. package/dist/paraglide/messages/abyss.d.ts +0 -16
  100. package/dist/paraglide/messages/abyss.js +0 -84
  101. package/dist/paraglide/messages/acid.d.ts +0 -16
  102. package/dist/paraglide/messages/acid.js +0 -84
  103. package/dist/paraglide/messages/active_toasts.d.ts +0 -16
  104. package/dist/paraglide/messages/active_toasts.js +0 -84
  105. package/dist/paraglide/messages/aed3.d.ts +0 -17
  106. package/dist/paraglide/messages/aed3.js +0 -85
  107. package/dist/paraglide/messages/all_currencies.d.ts +0 -16
  108. package/dist/paraglide/messages/all_currencies.js +0 -84
  109. package/dist/paraglide/messages/all_languages.d.ts +0 -16
  110. package/dist/paraglide/messages/all_languages.js +0 -84
  111. package/dist/paraglide/messages/all_themes.d.ts +0 -16
  112. package/dist/paraglide/messages/all_themes.js +0 -84
  113. package/dist/paraglide/messages/api_status.d.ts +0 -16
  114. package/dist/paraglide/messages/api_status.js +0 -84
  115. package/dist/paraglide/messages/app_info.d.ts +0 -16
  116. package/dist/paraglide/messages/app_info.js +0 -84
  117. package/dist/paraglide/messages/appearance.d.ts +0 -16
  118. package/dist/paraglide/messages/appearance.js +0 -84
  119. package/dist/paraglide/messages/aqua.d.ts +0 -16
  120. package/dist/paraglide/messages/aqua.js +0 -84
  121. package/dist/paraglide/messages/ar.d.ts +0 -16
  122. package/dist/paraglide/messages/ar.js +0 -84
  123. package/dist/paraglide/messages/autumn.d.ts +0 -16
  124. package/dist/paraglide/messages/autumn.js +0 -84
  125. package/dist/paraglide/messages/black.d.ts +0 -16
  126. package/dist/paraglide/messages/black.js +0 -84
  127. package/dist/paraglide/messages/bumblebee.d.ts +0 -16
  128. package/dist/paraglide/messages/bumblebee.js +0 -84
  129. package/dist/paraglide/messages/business.d.ts +0 -16
  130. package/dist/paraglide/messages/business.js +0 -84
  131. package/dist/paraglide/messages/caramellatte.d.ts +0 -16
  132. package/dist/paraglide/messages/caramellatte.js +0 -84
  133. package/dist/paraglide/messages/cmyk.d.ts +0 -16
  134. package/dist/paraglide/messages/cmyk.js +0 -84
  135. package/dist/paraglide/messages/cny3.d.ts +0 -17
  136. package/dist/paraglide/messages/cny3.js +0 -85
  137. package/dist/paraglide/messages/coffee.d.ts +0 -16
  138. package/dist/paraglide/messages/coffee.js +0 -84
  139. package/dist/paraglide/messages/commands_label.d.ts +0 -16
  140. package/dist/paraglide/messages/commands_label.js +0 -84
  141. package/dist/paraglide/messages/corporate.d.ts +0 -16
  142. package/dist/paraglide/messages/corporate.js +0 -84
  143. package/dist/paraglide/messages/cupcake.d.ts +0 -16
  144. package/dist/paraglide/messages/cupcake.js +0 -84
  145. package/dist/paraglide/messages/currency.d.ts +0 -16
  146. package/dist/paraglide/messages/currency.js +0 -84
  147. package/dist/paraglide/messages/current_currency.d.ts +0 -16
  148. package/dist/paraglide/messages/current_currency.js +0 -84
  149. package/dist/paraglide/messages/current_language.d.ts +0 -16
  150. package/dist/paraglide/messages/current_language.js +0 -84
  151. package/dist/paraglide/messages/current_theme.d.ts +0 -16
  152. package/dist/paraglide/messages/current_theme.js +0 -84
  153. package/dist/paraglide/messages/currently_in_queue.d.ts +0 -16
  154. package/dist/paraglide/messages/currently_in_queue.js +0 -84
  155. package/dist/paraglide/messages/cyberpunk.d.ts +0 -16
  156. package/dist/paraglide/messages/cyberpunk.js +0 -84
  157. package/dist/paraglide/messages/dark.d.ts +0 -16
  158. package/dist/paraglide/messages/dark.js +0 -84
  159. package/dist/paraglide/messages/de.d.ts +0 -16
  160. package/dist/paraglide/messages/de.js +0 -84
  161. package/dist/paraglide/messages/dim.d.ts +0 -16
  162. package/dist/paraglide/messages/dim.js +0 -84
  163. package/dist/paraglide/messages/dracula.d.ts +0 -16
  164. package/dist/paraglide/messages/dracula.js +0 -84
  165. package/dist/paraglide/messages/emerald.d.ts +0 -16
  166. package/dist/paraglide/messages/emerald.js +0 -84
  167. package/dist/paraglide/messages/en.d.ts +0 -16
  168. package/dist/paraglide/messages/en.js +0 -84
  169. package/dist/paraglide/messages/es.d.ts +0 -16
  170. package/dist/paraglide/messages/es.js +0 -84
  171. package/dist/paraglide/messages/eur3.d.ts +0 -17
  172. package/dist/paraglide/messages/eur3.js +0 -85
  173. package/dist/paraglide/messages/extended_controls.d.ts +0 -16
  174. package/dist/paraglide/messages/extended_controls.js +0 -84
  175. package/dist/paraglide/messages/fantasy.d.ts +0 -16
  176. package/dist/paraglide/messages/fantasy.js +0 -84
  177. package/dist/paraglide/messages/forest.d.ts +0 -16
  178. package/dist/paraglide/messages/forest.js +0 -84
  179. package/dist/paraglide/messages/fr.d.ts +0 -16
  180. package/dist/paraglide/messages/fr.js +0 -84
  181. package/dist/paraglide/messages/garden.d.ts +0 -16
  182. package/dist/paraglide/messages/garden.js +0 -84
  183. package/dist/paraglide/messages/halloween.d.ts +0 -16
  184. package/dist/paraglide/messages/halloween.js +0 -84
  185. package/dist/paraglide/messages/hello_world.d.ts +0 -18
  186. package/dist/paraglide/messages/hello_world.js +0 -84
  187. package/dist/paraglide/messages/hi.d.ts +0 -16
  188. package/dist/paraglide/messages/hi.js +0 -84
  189. package/dist/paraglide/messages/it.d.ts +0 -16
  190. package/dist/paraglide/messages/it.js +0 -84
  191. package/dist/paraglide/messages/ja.d.ts +0 -16
  192. package/dist/paraglide/messages/ja.js +0 -84
  193. package/dist/paraglide/messages/jpy3.d.ts +0 -17
  194. package/dist/paraglide/messages/jpy3.js +0 -85
  195. package/dist/paraglide/messages/ko.d.ts +0 -16
  196. package/dist/paraglide/messages/ko.js +0 -84
  197. package/dist/paraglide/messages/krw3.d.ts +0 -17
  198. package/dist/paraglide/messages/krw3.js +0 -85
  199. package/dist/paraglide/messages/languages.d.ts +0 -16
  200. package/dist/paraglide/messages/languages.js +0 -84
  201. package/dist/paraglide/messages/lemonade.d.ts +0 -16
  202. package/dist/paraglide/messages/lemonade.js +0 -84
  203. package/dist/paraglide/messages/light.d.ts +0 -16
  204. package/dist/paraglide/messages/light.js +0 -84
  205. package/dist/paraglide/messages/live_store_dashboard.d.ts +0 -16
  206. package/dist/paraglide/messages/live_store_dashboard.js +0 -84
  207. package/dist/paraglide/messages/localization.d.ts +0 -16
  208. package/dist/paraglide/messages/localization.js +0 -84
  209. package/dist/paraglide/messages/lofi.d.ts +0 -16
  210. package/dist/paraglide/messages/lofi.js +0 -84
  211. package/dist/paraglide/messages/luxury.d.ts +0 -16
  212. package/dist/paraglide/messages/luxury.js +0 -84
  213. package/dist/paraglide/messages/mxn3.d.ts +0 -17
  214. package/dist/paraglide/messages/mxn3.js +0 -85
  215. package/dist/paraglide/messages/name_label.d.ts +0 -16
  216. package/dist/paraglide/messages/name_label.js +0 -84
  217. package/dist/paraglide/messages/night.d.ts +0 -16
  218. package/dist/paraglide/messages/night.js +0 -84
  219. package/dist/paraglide/messages/nord.d.ts +0 -16
  220. package/dist/paraglide/messages/nord.js +0 -84
  221. package/dist/paraglide/messages/pastel.d.ts +0 -16
  222. package/dist/paraglide/messages/pastel.js +0 -84
  223. package/dist/paraglide/messages/pt.d.ts +0 -16
  224. package/dist/paraglide/messages/pt.js +0 -84
  225. package/dist/paraglide/messages/real_time_monitor_desc.d.ts +0 -16
  226. package/dist/paraglide/messages/real_time_monitor_desc.js +0 -84
  227. package/dist/paraglide/messages/registered_in_registry.d.ts +0 -16
  228. package/dist/paraglide/messages/registered_in_registry.js +0 -84
  229. package/dist/paraglide/messages/retro.d.ts +0 -16
  230. package/dist/paraglide/messages/retro.js +0 -84
  231. package/dist/paraglide/messages/ru.d.ts +0 -16
  232. package/dist/paraglide/messages/ru.js +0 -84
  233. package/dist/paraglide/messages/silk.d.ts +0 -16
  234. package/dist/paraglide/messages/silk.js +0 -84
  235. package/dist/paraglide/messages/state_label.d.ts +0 -16
  236. package/dist/paraglide/messages/state_label.js +0 -84
  237. package/dist/paraglide/messages/sunset.d.ts +0 -16
  238. package/dist/paraglide/messages/sunset.js +0 -84
  239. package/dist/paraglide/messages/synthwave.d.ts +0 -16
  240. package/dist/paraglide/messages/synthwave.js +0 -84
  241. package/dist/paraglide/messages/system.d.ts +0 -16
  242. package/dist/paraglide/messages/system.js +0 -84
  243. package/dist/paraglide/messages/theme.d.ts +0 -16
  244. package/dist/paraglide/messages/theme.js +0 -84
  245. package/dist/paraglide/messages/themes.d.ts +0 -16
  246. package/dist/paraglide/messages/themes.js +0 -84
  247. package/dist/paraglide/messages/url_label.d.ts +0 -16
  248. package/dist/paraglide/messages/url_label.js +0 -84
  249. package/dist/paraglide/messages/usd3.d.ts +0 -17
  250. package/dist/paraglide/messages/usd3.js +0 -85
  251. package/dist/paraglide/messages/valentine.d.ts +0 -16
  252. package/dist/paraglide/messages/valentine.js +0 -84
  253. package/dist/paraglide/messages/version_label.d.ts +0 -16
  254. package/dist/paraglide/messages/version_label.js +0 -84
  255. package/dist/paraglide/messages/vi.d.ts +0 -16
  256. package/dist/paraglide/messages/vi.js +0 -84
  257. package/dist/paraglide/messages/winter.d.ts +0 -16
  258. package/dist/paraglide/messages/winter.js +0 -84
  259. package/dist/paraglide/messages/wireframe.d.ts +0 -16
  260. package/dist/paraglide/messages/wireframe.js +0 -84
  261. package/dist/paraglide/messages/zh.d.ts +0 -16
  262. package/dist/paraglide/messages/zh.js +0 -84
  263. package/dist/server/index.d.ts +0 -15
  264. package/dist/server/index.js +0 -20
  265. package/dist/showcase/AppStateInspector.svelte +0 -184
  266. package/dist/showcase/AppStateInspector.svelte.d.ts +0 -14
  267. package/dist/showcase/Showcase.svelte +0 -115
  268. package/dist/showcase/Showcase.svelte.d.ts +0 -14
  269. package/dist/showcase/ShowcaseCard.svelte +0 -18
  270. package/dist/showcase/ShowcaseCard.svelte.d.ts +0 -14
  271. package/dist/showcase/StoreDetailCard.svelte +0 -68
  272. package/dist/showcase/StoreDetailCard.svelte.d.ts +0 -14
  273. package/dist/showcase/shared.d.ts +0 -7
  274. package/dist/showcase/shared.js +0 -34
  275. package/dist/showcase/state.svelte.d.ts +0 -3
  276. package/dist/showcase/state.svelte.js +0 -3
  277. package/dist/showcase/tabs/Actions.svelte +0 -150
  278. package/dist/showcase/tabs/Actions.svelte.d.ts +0 -14
  279. package/dist/showcase/tabs/DataInput.svelte +0 -164
  280. package/dist/showcase/tabs/DataInput.svelte.d.ts +0 -14
  281. package/dist/showcase/tabs/Display.svelte +0 -159
  282. package/dist/showcase/tabs/Display.svelte.d.ts +0 -14
  283. package/dist/showcase/tabs/Feedback.svelte +0 -180
  284. package/dist/showcase/tabs/Feedback.svelte.d.ts +0 -14
  285. package/dist/showcase/tabs/Navigation.svelte +0 -170
  286. package/dist/showcase/tabs/Navigation.svelte.d.ts +0 -14
  287. package/dist/showcase/tabs/Visual.svelte +0 -133
  288. package/dist/showcase/tabs/Visual.svelte.d.ts +0 -14
  289. /package/dist/{internal → core/internal}/message-resolver.js +0 -0
  290. /package/dist/{persistence → core/persistence}/types.js +0 -0
  291. /package/dist/{composables → state/composables}/usePersistence.js +0 -0
  292. /package/dist/{config.d.ts → state/config.d.ts} +0 -0
  293. /package/dist/{config.js → state/config.js} +0 -0
  294. /package/dist/{context.d.ts → state/context.d.ts} +0 -0
  295. /package/dist/{context.js → state/context.js} +0 -0
  296. /package/dist/{actions → ui/actions}/portal.d.ts +0 -0
  297. /package/dist/{features → ui/features}/config/AppSettingSelector.svelte +0 -0
  298. /package/dist/{layout → ui/layout}/ContentArea.svelte +0 -0
  299. /package/dist/{layout → ui/layout}/DetailPanel.svelte +0 -0
  300. /package/dist/{paraglide → ui/paraglide}/messages.d.ts +0 -0
  301. /package/dist/{paraglide → ui/paraglide}/messages.js +0 -0
  302. /package/dist/{paraglide → ui/paraglide}/registry.d.ts +0 -0
  303. /package/dist/{paraglide → ui/paraglide}/registry.js +0 -0
  304. /package/dist/{paraglide → ui/paraglide}/server.d.ts +0 -0
  305. /package/dist/{paraglide → ui/paraglide}/server.js +0 -0
@@ -1,171 +0,0 @@
1
- <script lang="ts">
2
- import { getToastStore } from "../../state/toast.svelte";
3
-
4
- import { getApiStore } from "../../state/api.svelte";
5
- import { getThemeStore } from "../../state/theme.svelte";
6
- import { getShortcutStore } from "../../state/shortcuts.svelte";
7
- // import { getCommandStore } from "../../state/commands.svelte";
8
- import { getAppStore } from "../../state/app.svelte";
9
- import { getLanguageStore } from "../../state/language.svelte";
10
- import { getCurrencyStore } from "../../state/currency.svelte";
11
-
12
- const appStore = getAppStore();
13
- const apiStore = getApiStore();
14
- const themeStore = getThemeStore();
15
- const shortcutStore = getShortcutStore();
16
- const toastStore = getToastStore();
17
- const languageStore = getLanguageStore();
18
- // const currencyStore = getCurrencyStore();
19
-
20
- let beat = $state(false);
21
- let logs = $state<{ time: string; what: string }[]>([]);
22
-
23
- // Section 1: Reactive pulse
24
- const stateHash = $derived(
25
- [
26
- appStore.name,
27
- apiStore.connectionState,
28
- themeStore.current,
29
- toastStore.toasts.length,
30
- shortcutStore.entries.length,
31
- ].join("|"),
32
- );
33
-
34
- $effect(() => {
35
- stateHash; // Subscribe
36
- beat = true;
37
- const timer = setTimeout(() => (beat = false), 300);
38
-
39
- // Section 4: Event log
40
- const now = new Date();
41
- const time = now.toTimeString().split(" ")[0];
42
- const lastLog = logs[0];
43
- const currentWhat = `State Update: ${stateHash.split("|").slice(0, 3).join(", ")}`;
44
-
45
- if (!lastLog || lastLog.what !== currentWhat) {
46
- logs = [{ time, what: currentWhat }, ...logs].slice(0, 5);
47
- }
48
-
49
- return () => clearTimeout(timer);
50
- });
51
-
52
- // Section 3: Quick-fire actions
53
- function cycleTheme() {
54
- const themes = themeStore.available;
55
- const currentIndex = themes.findIndex(
56
- (t) => t.name === themeStore.current,
57
- );
58
- const nextIndex = (currentIndex + 1) % themes.length;
59
- themeStore.set(themes[nextIndex].name);
60
- }
61
- </script>
62
-
63
- <div class="space-y-8 animate-in fade-in duration-500">
64
- <!-- Header with Pulse -->
65
- <header class="flex items-center justify-between">
66
- <div>
67
- <h3 class="text-lg font-bold">Store Inspector</h3>
68
- <p class="text-xs opacity-50">Live reactive debugging</p>
69
- </div>
70
- <div
71
- class="w-3 h-3 rounded-full transition-all duration-300 {beat
72
- ? 'bg-primary scale-150 shadow-[0_0_15px_rgba(var(--p),0.5)]'
73
- : 'bg-base-content/20 scale-100'}"
74
- ></div>
75
- </header>
76
-
77
- <!-- Section 2: Store Snapshot -->
78
- <section class="space-y-3">
79
- <h4 class="text-[10px] font-black uppercase tracking-widest opacity-40">
80
- Snapshot
81
- </h4>
82
- <div class="overflow-x-auto border border-base-content/5 rounded-lg">
83
- <table class="table table-xs">
84
- <tbody>
85
- <tr>
86
- <td class="opacity-50">API</td>
87
- <td class="font-mono text-primary"
88
- >{apiStore.connectionState}</td
89
- >
90
- </tr>
91
- <tr>
92
- <td class="opacity-50">Theme</td>
93
- <td class="font-mono">{themeStore.current}</td>
94
- </tr>
95
- <tr>
96
- <td class="opacity-50">Lang</td>
97
- <td class="font-mono">{languageStore.current}</td>
98
- </tr>
99
- <tr>
100
- <td class="opacity-50">Toasts</td>
101
- <td class="font-mono">{toastStore.toasts.length}</td>
102
- </tr>
103
- <tr>
104
- <td class="opacity-50">Shortcuts</td>
105
- <td class="font-mono">{shortcutStore.entries.length}</td
106
- >
107
- </tr>
108
- </tbody>
109
- </table>
110
- </div>
111
- </section>
112
-
113
- <!-- Section 3: Quick Actions -->
114
- <section class="space-y-3">
115
- <h4 class="text-[10px] font-black uppercase tracking-widest opacity-40">
116
- Control
117
- </h4>
118
- <div class="grid grid-cols-2 gap-2">
119
- <button
120
- onclick={() => toastStore.info("Pulse check!")}
121
- class="btn btn-xs btn-outline"
122
- >
123
- Toast Info
124
- </button>
125
- <button
126
- onclick={() => apiStore.reconnect()}
127
- class="btn btn-xs btn-outline"
128
- >
129
- Reconnect API
130
- </button>
131
- <button
132
- onclick={cycleTheme}
133
- class="btn btn-xs btn-outline col-span-2"
134
- >
135
- Cycle Theme
136
- </button>
137
- </div>
138
- </section>
139
-
140
- <!-- Section 4: Event Log -->
141
- <section class="space-y-3">
142
- <h4 class="text-[10px] font-black uppercase tracking-widest opacity-40">
143
- Activity
144
- </h4>
145
- <ul class="timeline timeline-vertical timeline-compact">
146
- {#each logs as log, i}
147
- <li>
148
- {#if i !== 0}<hr class="bg-base-content/10" />{/if}
149
- <div
150
- class="timeline-start font-mono text-[10px] opacity-40"
151
- >
152
- {log.time}
153
- </div>
154
- <div class="timeline-middle">
155
- <div
156
- class="w-1.5 h-1.5 rounded-full bg-primary/50"
157
- ></div>
158
- </div>
159
- <div
160
- class="timeline-end text-[10px] truncate max-w-[160px]"
161
- >
162
- {log.what}
163
- </div>
164
- {#if i !== logs.length - 1}<hr
165
- class="bg-base-content/10"
166
- />{/if}
167
- </li>
168
- {/each}
169
- </ul>
170
- </section>
171
- </div>
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type DashboardPanelProps = typeof __propDef.props;
10
- export type DashboardPanelEvents = typeof __propDef.events;
11
- export type DashboardPanelSlots = typeof __propDef.slots;
12
- export default class DashboardPanel extends SvelteComponentTyped<DashboardPanelProps, DashboardPanelEvents, DashboardPanelSlots> {
13
- }
14
- export {};
@@ -1,233 +0,0 @@
1
- <script lang="ts">
2
- import { getShortcutStore } from "../../state/shortcuts.svelte";
3
- import { Icon } from "../../index";
4
-
5
- const shortcutStore = getShortcutStore();
6
-
7
- // Section 2: Conflict detector
8
- const conflicts = $derived.by(() => {
9
- const keyMap = new Map<string, string[]>();
10
- const results: { keys: string; scope: string; ids: string[] }[] = [];
11
-
12
- for (const entry of shortcutStore.entries) {
13
- const key = `${entry.keys}|${entry.scope}`;
14
- if (!keyMap.has(key)) {
15
- keyMap.set(key, []);
16
- }
17
- keyMap.get(key)!.push(entry.id);
18
- }
19
-
20
- for (const [key, ids] of keyMap.entries()) {
21
- if (ids.length > 1) {
22
- const [keys, scope] = key.split("|");
23
- results.push({ keys, scope, ids });
24
- }
25
- }
26
- return results;
27
- });
28
-
29
- function formatKeys(keys: string) {
30
- return keys.split("+");
31
- }
32
- </script>
33
-
34
- <div class="space-y-4 animate-in fade-in duration-500">
35
- <header>
36
- <h3 class="text-lg font-bold">Shortcut Registry</h3>
37
- <p class="text-xs opacity-50">Live conflict detection and management</p>
38
- </header>
39
-
40
- <!-- Section 1: Stats -->
41
- <details
42
- class="collapse collapse-arrow border border-base-content/10 bg-base-100/50 rounded-lg"
43
- >
44
- <summary
45
- class="collapse-title text-sm font-medium flex items-center gap-2"
46
- >
47
- <Icon name="info" class="w-4 h-4 opacity-70" />
48
-
49
- Registry Stats
50
- <span class="badge badge-sm badge-neutral ml-auto"
51
- >{shortcutStore.entries.length} total</span
52
- >
53
- </summary>
54
- <div class="collapse-content">
55
- <div
56
- class="stats stats-vertical lg:stats-horizontal shadow-sm w-full bg-transparent"
57
- >
58
- <div class="stat p-4 border-none">
59
- <div
60
- class="stat-title text-[10px] uppercase font-bold tracking-tighter"
61
- >
62
- Total Entries
63
- </div>
64
- <div class="stat-value text-xl">
65
- {shortcutStore.entries.length}
66
- </div>
67
- </div>
68
- <div class="stat p-4 border-none">
69
- <div
70
- class="stat-title text-[10px] uppercase font-bold tracking-tighter"
71
- >
72
- Active
73
- </div>
74
- <div class="stat-value text-xl text-primary">
75
- {shortcutStore.active.length}
76
- </div>
77
- </div>
78
- </div>
79
- </div>
80
- </details>
81
-
82
- <!-- Section 2: Conflicts -->
83
- <details
84
- class="collapse collapse-arrow border border-base-content/10 bg-base-100/50 rounded-lg"
85
- open={conflicts.length > 0}
86
- >
87
- <summary
88
- class="collapse-title text-sm font-medium flex items-center gap-2"
89
- >
90
- <Icon name="info" class="w-4 h-4 opacity-70" />
91
-
92
- Health Check
93
- {#if conflicts.length > 0}
94
- <span class="badge badge-sm badge-warning ml-auto"
95
- >{conflicts.length} conflicts</span
96
- >
97
- {:else}
98
- <span class="badge badge-sm badge-success ml-auto">Healthy</span
99
- >
100
- {/if}
101
- </summary>
102
- <div class="collapse-content space-y-3 pt-2">
103
- {#if conflicts.length > 0}
104
- <div
105
- class="alert alert-warning p-3 rounded-lg text-xs gap-2 flex-col items-start shadow-none"
106
- >
107
- <div class="flex items-center gap-2 font-bold">
108
- ⚠️ Conflict Detected
109
- </div>
110
- <ul class="space-y-1 opacity-80 list-disc list-inside">
111
- {#each conflicts as conflict}
112
- <li>
113
- <code class="bg-white/20 px-1 rounded"
114
- >{conflict.keys}</code
115
- >
116
- in
117
- <span class="badge badge-xs badge-outline"
118
- >{conflict.scope}</span
119
- >
120
- </li>
121
- {/each}
122
- </ul>
123
- </div>
124
- {:else}
125
- <div
126
- class="alert alert-success p-3 rounded-lg text-xs gap-2 shadow-none bg-success/10 text-success-content border-none"
127
- >
128
- ✅ No conflicts detected across all scopes.
129
- </div>
130
- {/if}
131
- </div>
132
- </details>
133
-
134
- <!-- Section 3: Live Table -->
135
- <details
136
- class="collapse collapse-arrow border border-base-content/10 bg-base-100/50 rounded-lg"
137
- open
138
- >
139
- <summary
140
- class="collapse-title text-sm font-medium flex items-center gap-2"
141
- >
142
- <Icon name="shortcut" class="w-4 h-4 opacity-70" />
143
-
144
- Live Entries
145
- </summary>
146
- <div class="collapse-content pt-2">
147
- <div
148
- class="overflow-x-auto border border-base-content/5 rounded-lg max-h-[400px] overflow-y-auto bg-base-100"
149
- >
150
- <table class="table table-xs table-pin-rows">
151
- <thead>
152
- <tr class="bg-base-200/50">
153
- <th>Keys</th>
154
- <th>Scope</th>
155
- <th>Label</th>
156
- <th class="text-right">State</th>
157
- </tr>
158
- </thead>
159
- <tbody>
160
- {#each shortcutStore.entries as entry}
161
- <tr class="hover:bg-base-200/50 transition-colors">
162
- <td class="font-mono">
163
- <div class="flex flex-wrap gap-1">
164
- {#each formatKeys(entry.keys) as key}
165
- <kbd
166
- class="kbd kbd-xs text-[9px] font-bold opacity-80"
167
- >{key}</kbd
168
- >
169
- {/each}
170
- </div>
171
- </td>
172
- <td>
173
- <span
174
- class="badge badge-ghost badge-xs font-mono opacity-70"
175
- >
176
- {entry.scope === "global"
177
- ? "Global"
178
- : entry.scope.replace("panel:", "")}
179
- </span>
180
- </td>
181
- <td
182
- class="text-[10px] max-w-[120px] truncate"
183
- title={entry.label}>{entry.label}</td
184
- >
185
- <td class="text-right">
186
- <input
187
- type="checkbox"
188
- class="toggle toggle-xs toggle-primary"
189
- checked={entry.enabled !== false}
190
- onchange={(e) => {
191
- if (e.currentTarget.checked) {
192
- shortcutStore.enable(entry.id);
193
- } else {
194
- shortcutStore.disable(entry.id);
195
- }
196
- }}
197
- />
198
- </td>
199
- </tr>
200
- {/each}
201
- </tbody>
202
- </table>
203
- </div>
204
-
205
- <div class="mt-4">
206
- <h4
207
- class="text-[10px] font-black uppercase tracking-widest opacity-40 mb-2"
208
- >
209
- Scope Breakdown
210
- </h4>
211
- <div class="flex flex-wrap gap-2">
212
- {#each Object.entries(shortcutStore.byScopeAndCategory) as [scope, categories]}
213
- {@const count = Object.values(categories).flat().length}
214
- <div
215
- class="flex items-center gap-1.5 bg-base-200 px-2 py-1 rounded badge badge-ghost border border-base-content/5 h-auto"
216
- >
217
- <span
218
- class="text-[10px] font-mono opacity-60 capitalize"
219
- >{scope === "global"
220
- ? "Global"
221
- : scope.replace("panel:", "")}</span
222
- >
223
- <span
224
- class="badge badge-xs badge-primary font-bold border-none ml-1"
225
- >{count}</span
226
- >
227
- </div>
228
- {/each}
229
- </div>
230
- </div>
231
- </div>
232
- </details>
233
- </div>
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type ShortcutsPanelProps = typeof __propDef.props;
10
- export type ShortcutsPanelEvents = typeof __propDef.events;
11
- export type ShortcutsPanelSlots = typeof __propDef.slots;
12
- export default class ShortcutsPanel extends SvelteComponentTyped<ShortcutsPanelProps, ShortcutsPanelEvents, ShortcutsPanelSlots> {
13
- }
14
- export {};
@@ -1,114 +0,0 @@
1
- <script lang="ts">
2
- import { showcaseState } from "../../showcase/state.svelte";
3
-
4
- import { getToastStore } from "../../state/toast.svelte";
5
-
6
- import {
7
- SHOWCASE_COMPONENTS,
8
- SHOWCASE_SNIPPETS,
9
- } from "./showcase-components";
10
-
11
- const toastStore = getToastStore();
12
-
13
- const tabs = [
14
- "actions",
15
- "data-input",
16
- "display",
17
- "navigation",
18
- "feedback",
19
- "visual",
20
- ];
21
-
22
- const currentTabId = $derived(tabs[showcaseState.activeTab]);
23
- const components = $derived(SHOWCASE_COMPONENTS[currentTabId] || []);
24
- const snippet = $derived(SHOWCASE_SNIPPETS[currentTabId] || "");
25
-
26
- let copied = $state(false);
27
-
28
- function handleCopy() {
29
- navigator.clipboard.writeText(snippet);
30
- copied = true;
31
- toastStore.success("Snippet copied to clipboard");
32
- setTimeout(() => (copied = false), 2000);
33
- }
34
- </script>
35
-
36
- <div class="space-y-8 animate-in fade-in duration-500">
37
- <header>
38
- <h3 class="text-lg font-bold capitalize">
39
- {currentTabId.replace("-", " ")}
40
- </h3>
41
- <p class="text-xs opacity-50">Component reference</p>
42
- </header>
43
-
44
- <!-- Section 1: Quick Nav -->
45
- <section class="space-y-3">
46
- <h4 class="text-[10px] font-black uppercase tracking-widest opacity-40">
47
- Quick Nav
48
- </h4>
49
- <ul class="menu menu-xs bg-base-200/50 rounded-lg p-1">
50
- {#each tabs as tab, i}
51
- <li>
52
- <button
53
- class:active={showcaseState.activeTab === i}
54
- onclick={() => (showcaseState.activeTab = i)}
55
- class="capitalize"
56
- >
57
- {tab.replace("-", " ")}
58
- </button>
59
- </li>
60
- {/each}
61
- </ul>
62
- </section>
63
-
64
- <!-- Section 2: Reference Table -->
65
- <section class="space-y-3">
66
- <h4 class="text-[10px] font-black uppercase tracking-widest opacity-40">
67
- Primitives
68
- </h4>
69
- <div class="overflow-x-auto border border-base-content/5 rounded-lg">
70
- <table class="table table-xs">
71
- <thead>
72
- <tr>
73
- <th>Class</th>
74
- <th>Role</th>
75
- </tr>
76
- </thead>
77
- <tbody>
78
- {#each components as comp}
79
- <tr>
80
- <td class="font-mono text-primary"
81
- >.{comp.className}</td
82
- >
83
- <td class="text-[10px] opacity-70"
84
- >{comp.description}</td
85
- >
86
- </tr>
87
- {/each}
88
- </tbody>
89
- </table>
90
- </div>
91
- </section>
92
-
93
- <!-- Section 3: Snippet Generator -->
94
- <section class="space-y-3">
95
- <div class="flex items-center justify-between">
96
- <h4
97
- class="text-[10px] font-black uppercase tracking-widest opacity-40"
98
- >
99
- Markup
100
- </h4>
101
- <button
102
- onclick={handleCopy}
103
- class="btn btn-xs {copied ? 'btn-success' : 'btn-ghost'}"
104
- >
105
- {copied ? "Copied" : "Copy"}
106
- </button>
107
- </div>
108
- <textarea
109
- readonly
110
- class="textarea textarea-xs textarea-bordered w-full font-mono bg-base-300/50 h-24"
111
- value={snippet}
112
- ></textarea>
113
- </section>
114
- </div>
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type ShowcasePanelProps = typeof __propDef.props;
10
- export type ShowcasePanelEvents = typeof __propDef.events;
11
- export type ShowcasePanelSlots = typeof __propDef.slots;
12
- export default class ShowcasePanel extends SvelteComponentTyped<ShowcasePanelProps, ShowcasePanelEvents, ShowcasePanelSlots> {
13
- }
14
- export {};
@@ -1,6 +0,0 @@
1
- export interface ComponentRef {
2
- className: string;
3
- description: string;
4
- }
5
- export declare const SHOWCASE_COMPONENTS: Record<string, ComponentRef[]>;
6
- export declare const SHOWCASE_SNIPPETS: Record<string, string>;
@@ -1,65 +0,0 @@
1
- export const SHOWCASE_COMPONENTS = {
2
- actions: [
3
- { className: "btn", description: "Standard button primitive" },
4
- {
5
- className: "btn-soft",
6
- description: "Button with low-opacity background",
7
- },
8
- { className: "btn-outline", description: "Transparent with border" },
9
- { className: "btn-dash", description: "Dashed border variant" },
10
- { className: "btn-ghost", description: "No background until hover" },
11
- { className: "badge", description: "Inline label for counts or status" },
12
- { className: "swap", description: "Interactive toggle for icons/text" },
13
- ],
14
- "data-input": [
15
- { className: "input", description: "Standard text field" },
16
- { className: "select", description: "Standard dropdown picker" },
17
- { className: "checkbox", description: "Square selection box" },
18
- { className: "toggle", description: "Switch-style selection" },
19
- { className: "range", description: "Slider for numeric input" },
20
- { className: "rating", description: "Stars or icons for feedback" },
21
- { className: "file-input", description: "Stylized file picker" },
22
- ],
23
- display: [
24
- { className: "alert", description: "Critical or info messages" },
25
- { className: "card", description: "Containment for grouped content" },
26
- { className: "stat", description: "Data visualizations for numbers" },
27
- { className: "loading", description: "Animated status indicators" },
28
- { className: "progress", description: "Linear progress indicator" },
29
- {
30
- className: "radial-progress",
31
- description: "Circular progress indicator",
32
- },
33
- ],
34
- feedback: [
35
- { className: "toast", description: "Overlay notifications" },
36
- { className: "modal", description: "Dialog for focused tasks" },
37
- { className: "tooltip", description: "Small contextual popovers" },
38
- { className: "diff", description: "Side-by-side comparison" },
39
- { className: "skeleton", description: "Placeholder for loading content" },
40
- ],
41
- navigation: [
42
- { className: "menu", description: "Vertical or horizontal list nav" },
43
- { className: "tabs", description: "Switch between view panels" },
44
- { className: "breadcrumbs", description: "Hierarchical path display" },
45
- { className: "steps", description: "Multi-stage progress tracker" },
46
- { className: "navbar", description: "Top-level application header" },
47
- { className: "join", description: "Grouped navigation actions" },
48
- ],
49
- visual: [
50
- { className: "divider", description: "Thematic break or separator" },
51
- { className: "mask", description: "Image/shape framing" },
52
- { className: "stack", description: "Visual layering effect" },
53
- { className: "hero", description: "Large featured content area" },
54
- { className: "hover-3d", description: "Interactive perspective effect" },
55
- { className: "avatar", description: "User or entity profiles" },
56
- ],
57
- };
58
- export const SHOWCASE_SNIPPETS = {
59
- actions: '<button class="btn btn-primary">Button</button>',
60
- "data-input": '<input type="text" placeholder="Type here" class="input" />',
61
- display: '<div class="alert alert-info">Message</div>',
62
- feedback: '<span class="loading loading-spinner"></span>',
63
- navigation: '<ul class="menu bg-base-200 rounded-box"><li><a>Item</a></li></ul>',
64
- visual: '<div class="divider">OR</div>',
65
- };
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type ConnectedNavigationPanelProps = typeof __propDef.props;
10
- export type ConnectedNavigationPanelEvents = typeof __propDef.events;
11
- export type ConnectedNavigationPanelSlots = typeof __propDef.slots;
12
- export default class ConnectedNavigationPanel extends SvelteComponentTyped<ConnectedNavigationPanelProps, ConnectedNavigationPanelEvents, ConnectedNavigationPanelSlots> {
13
- }
14
- export {};
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type ConnectedWorkspaceStripProps = typeof __propDef.props;
10
- export type ConnectedWorkspaceStripEvents = typeof __propDef.events;
11
- export type ConnectedWorkspaceStripSlots = typeof __propDef.slots;
12
- export default class ConnectedWorkspaceStrip extends SvelteComponentTyped<ConnectedWorkspaceStripProps, ConnectedWorkspaceStripEvents, ConnectedWorkspaceStripSlots> {
13
- }
14
- export {};