rune-lab 0.4.0 → 0.4.1

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 (433) hide show
  1. package/.gitignore +12 -0
  2. package/README.md +3 -3
  3. package/deno.json +50 -0
  4. package/justfile +5 -0
  5. package/package.json +2 -79
  6. package/scripts/build_pkg.ts +51 -0
  7. package/scripts/ci.just +26 -0
  8. package/scripts/deploy.just +21 -0
  9. package/scripts/dev.just +4 -0
  10. package/scripts/inject.just +72 -0
  11. package/src/RuneProvider.svelte +105 -0
  12. package/src/i18n/message-resolver.test.ts +103 -0
  13. package/src/i18n/message-resolver.ts +89 -0
  14. package/src/i18n/project.inlang/settings.json +26 -0
  15. package/src/i18n/translations/ar.json +89 -0
  16. package/src/i18n/translations/de.json +89 -0
  17. package/src/i18n/translations/en.json +89 -0
  18. package/src/i18n/translations/es.json +89 -0
  19. package/src/i18n/translations/fr.json +89 -0
  20. package/src/i18n/translations/hi.json +89 -0
  21. package/src/i18n/translations/it.json +89 -0
  22. package/src/i18n/translations/ja.json +89 -0
  23. package/src/i18n/translations/ko.json +89 -0
  24. package/src/i18n/translations/pt.json +89 -0
  25. package/src/i18n/translations/ru.json +89 -0
  26. package/src/i18n/translations/vi.json +89 -0
  27. package/src/i18n/translations/zh.json +89 -0
  28. package/src/kernel/deno.json +5 -0
  29. package/src/kernel/src/actions/portal.ts +41 -0
  30. package/src/kernel/src/actions/shortcut-listener.ts +50 -0
  31. package/src/kernel/src/context/app.svelte.ts +98 -0
  32. package/src/kernel/src/context/context.ts +31 -0
  33. package/src/kernel/src/context/stores.svelte.ts +96 -0
  34. package/src/kernel/src/context/types.ts +110 -0
  35. package/src/kernel/src/context/useRuneLab.ts +38 -0
  36. package/src/kernel/src/mod.ts +13 -0
  37. package/src/kernel/src/persistence/createConfigStore.svelte.ts +120 -0
  38. package/src/kernel/src/persistence/drivers.test.ts +95 -0
  39. package/src/kernel/src/persistence/drivers.ts +77 -0
  40. package/src/kernel/src/persistence/provider.test.ts +58 -0
  41. package/{dist/state/persistence/provider.js → src/kernel/src/persistence/provider.ts} +29 -14
  42. package/src/kernel/src/persistence/types.ts +19 -0
  43. package/src/kernel/src/persistence/usePersistence.ts +9 -0
  44. package/src/kernel/src/registry/mod.ts +221 -0
  45. package/src/kernel/src/registry/registry.test.ts +162 -0
  46. package/src/kernel/src/tokens/props.ts +94 -0
  47. package/src/mod.ts +10 -0
  48. package/src/runes/layout/deno.json +5 -0
  49. package/src/runes/layout/src/APP_CONFIGURATIONS.ts +56 -0
  50. package/{dist/ui/features/config → src/runes/layout/src}/AppSettingSelector.svelte +1 -1
  51. package/{dist/ui/layout → src/runes/layout/src}/ConnectedNavigationPanel.svelte +1 -1
  52. package/{dist/ui/layout → src/runes/layout/src}/ConnectedWorkspaceStrip.svelte +1 -1
  53. package/src/runes/layout/src/Icon.svelte +7 -0
  54. package/{dist/ui/features/config → src/runes/layout/src}/LanguageSelector.svelte +7 -5
  55. package/{dist/ui/layout → src/runes/layout/src}/NavigationPanel.svelte +1 -4
  56. package/{dist/ui/features/config → src/runes/layout/src}/ResourceSelector.svelte +3 -5
  57. package/{dist/ui/features/config → src/runes/layout/src}/ThemeSelector.svelte +2 -2
  58. package/{dist/ui/layout → src/runes/layout/src}/WorkspaceLayout.svelte +6 -4
  59. package/{dist/ui/layout → src/runes/layout/src}/WorkspaceStrip.svelte +1 -1
  60. package/src/runes/layout/src/connection-factory.ts +95 -0
  61. package/src/runes/layout/src/language.svelte.ts +44 -0
  62. package/src/runes/layout/src/mod.ts +71 -0
  63. package/src/runes/layout/src/store.svelte.ts +142 -0
  64. package/src/runes/layout/src/theme.svelte.ts +73 -0
  65. package/src/runes/layout/src/types.ts +11 -0
  66. package/src/runes/palettes/deno.json +8 -0
  67. package/{dist/ui/features/command-palette → src/runes/palettes/src/commands}/CommandPalette.svelte +4 -4
  68. package/src/runes/palettes/src/commands/mod.ts +2 -0
  69. package/src/runes/palettes/src/commands/store.svelte.ts +80 -0
  70. package/src/runes/palettes/src/mod.ts +51 -0
  71. package/{dist/ui/components → src/runes/palettes/src/notifications}/Toaster.svelte +1 -2
  72. package/src/runes/palettes/src/notifications/bridge.ts +56 -0
  73. package/src/runes/palettes/src/notifications/mod.ts +4 -0
  74. package/src/runes/palettes/src/notifications/store.svelte.ts +58 -0
  75. package/{dist/ui/features → src/runes/palettes/src}/shortcuts/ShortcutPalette.svelte +4 -4
  76. package/src/runes/palettes/src/shortcuts/mod.ts +4 -0
  77. package/src/runes/palettes/src/shortcuts/store.svelte.ts +85 -0
  78. package/src/runes/palettes/src/shortcuts/types.ts +4 -0
  79. package/src/runes/palettes/src/shortcuts/useShortcuts.ts +85 -0
  80. package/src/runes/plugins/money/deno.json +8 -0
  81. package/{dist/ui/features/config → src/runes/plugins/money/src}/CurrencySelector.svelte +2 -2
  82. package/{dist/ui/components/money → src/runes/plugins/money/src}/MoneyDisplay.svelte +2 -2
  83. package/{dist/ui/components/money → src/runes/plugins/money/src}/MoneyInput.svelte +4 -8
  84. package/src/runes/plugins/money/src/currency.svelte.ts +95 -0
  85. package/src/runes/plugins/money/src/currency.test.ts +40 -0
  86. package/src/runes/plugins/money/src/exchange-rate.svelte.ts +176 -0
  87. package/src/runes/plugins/money/src/exchange-rate.test.ts +95 -0
  88. package/src/runes/plugins/money/src/mod.ts +79 -0
  89. package/src/runes/plugins/money/src/money-primitive.test.ts +217 -0
  90. package/src/runes/plugins/money/src/money-primitive.ts +220 -0
  91. package/src/runes/plugins/money/src/money.test.ts +183 -0
  92. package/src/runes/plugins/money/src/money.ts +382 -0
  93. package/src/runes/plugins/money/src/strategies.test.ts +143 -0
  94. package/{dist/core/exchange-rate/strategies.js → src/runes/plugins/money/src/strategies.ts} +45 -22
  95. package/src/runes/plugins/money/src/types.ts +27 -0
  96. package/src/runes/plugins/money/src/useMoney.ts +261 -0
  97. package/src/runes/plugins/money/src/useMoneyFilter.ts +132 -0
  98. package/tsconfig.json +41 -0
  99. package/vite.config.ts +44 -0
  100. package/dist/core/design-tokens/props.d.ts +0 -52
  101. package/dist/core/design-tokens/props.d.ts.map +0 -1
  102. package/dist/core/design-tokens/props.js +0 -34
  103. package/dist/core/exchange-rate/strategies.d.ts +0 -52
  104. package/dist/core/exchange-rate/strategies.d.ts.map +0 -1
  105. package/dist/core/index.d.ts +0 -9
  106. package/dist/core/index.d.ts.map +0 -1
  107. package/dist/core/index.js +0 -8
  108. package/dist/core/internal/message-resolver.d.ts +0 -42
  109. package/dist/core/internal/message-resolver.d.ts.map +0 -1
  110. package/dist/core/internal/message-resolver.js +0 -47
  111. package/dist/core/layout/types.d.ts +0 -60
  112. package/dist/core/layout/types.d.ts.map +0 -1
  113. package/dist/core/layout/types.js +0 -4
  114. package/dist/core/money/index.d.ts +0 -2
  115. package/dist/core/money/index.d.ts.map +0 -1
  116. package/dist/core/money/index.js +0 -2
  117. package/dist/core/money/money-primitive.d.ts +0 -101
  118. package/dist/core/money/money-primitive.d.ts.map +0 -1
  119. package/dist/core/money/money-primitive.js +0 -161
  120. package/dist/core/money/money.d.ts +0 -129
  121. package/dist/core/money/money.d.ts.map +0 -1
  122. package/dist/core/money/money.js +0 -250
  123. package/dist/core/persistence/types.d.ts +0 -18
  124. package/dist/core/persistence/types.d.ts.map +0 -1
  125. package/dist/core/persistence/types.js +0 -2
  126. package/dist/core/shortcuts/types.d.ts +0 -60
  127. package/dist/core/shortcuts/types.d.ts.map +0 -1
  128. package/dist/core/shortcuts/types.js +0 -4
  129. package/dist/index.d.ts +0 -6
  130. package/dist/index.js +0 -7
  131. package/dist/state/api.svelte.d.ts +0 -26
  132. package/dist/state/api.svelte.js +0 -65
  133. package/dist/state/app.svelte.d.ts +0 -48
  134. package/dist/state/app.svelte.js +0 -82
  135. package/dist/state/auth/index.d.ts +0 -2
  136. package/dist/state/auth/index.js +0 -2
  137. package/dist/state/auth/session.svelte.d.ts +0 -40
  138. package/dist/state/auth/session.svelte.js +0 -59
  139. package/dist/state/auth/types.d.ts +0 -30
  140. package/dist/state/auth/types.js +0 -3
  141. package/dist/state/cart.svelte.d.ts +0 -64
  142. package/dist/state/cart.svelte.js +0 -122
  143. package/dist/state/commands.svelte.d.ts +0 -46
  144. package/dist/state/commands.svelte.js +0 -62
  145. package/dist/state/composables/useMoney.d.ts +0 -31
  146. package/dist/state/composables/useMoney.js +0 -126
  147. package/dist/state/composables/useMoneyFilter.d.ts +0 -20
  148. package/dist/state/composables/useMoneyFilter.js +0 -81
  149. package/dist/state/composables/usePersistence.d.ts +0 -2
  150. package/dist/state/composables/usePersistence.js +0 -5
  151. package/dist/state/composables/useRuneLab.d.ts +0 -19
  152. package/dist/state/composables/useRuneLab.js +0 -30
  153. package/dist/state/composables/useShortcuts.d.ts +0 -33
  154. package/dist/state/composables/useShortcuts.js +0 -75
  155. package/dist/state/context.d.ts +0 -15
  156. package/dist/state/context.js +0 -16
  157. package/dist/state/createConfigStore.svelte.d.ts +0 -28
  158. package/dist/state/createConfigStore.svelte.js +0 -72
  159. package/dist/state/currency.svelte.d.ts +0 -32
  160. package/dist/state/currency.svelte.js +0 -96
  161. package/dist/state/currency.test.d.ts +0 -1
  162. package/dist/state/currency.test.js +0 -35
  163. package/dist/state/exchange-rate.svelte.d.ts +0 -43
  164. package/dist/state/exchange-rate.svelte.js +0 -145
  165. package/dist/state/exchange-rate.test.d.ts +0 -1
  166. package/dist/state/exchange-rate.test.js +0 -75
  167. package/dist/state/index.d.ts +0 -26
  168. package/dist/state/index.js +0 -32
  169. package/dist/state/language.svelte.d.ts +0 -57
  170. package/dist/state/language.svelte.js +0 -43
  171. package/dist/state/layout.svelte.d.ts +0 -49
  172. package/dist/state/layout.svelte.js +0 -108
  173. package/dist/state/persistence/drivers.d.ts +0 -12
  174. package/dist/state/persistence/drivers.js +0 -75
  175. package/dist/state/persistence/drivers.test.d.ts +0 -1
  176. package/dist/state/persistence/drivers.test.js +0 -79
  177. package/dist/state/persistence/provider.d.ts +0 -23
  178. package/dist/state/persistence/provider.test.d.ts +0 -1
  179. package/dist/state/persistence/provider.test.js +0 -51
  180. package/dist/state/registry/index.d.ts +0 -44
  181. package/dist/state/registry/index.js +0 -58
  182. package/dist/state/registry/registry.test.d.ts +0 -1
  183. package/dist/state/registry/registry.test.js +0 -112
  184. package/dist/state/registry/types.d.ts +0 -20
  185. package/dist/state/registry/types.js +0 -3
  186. package/dist/state/shortcuts.svelte.d.ts +0 -121
  187. package/dist/state/shortcuts.svelte.js +0 -222
  188. package/dist/state/theme.svelte.d.ts +0 -15
  189. package/dist/state/theme.svelte.js +0 -92
  190. package/dist/state/toast-bridge.d.ts +0 -29
  191. package/dist/state/toast-bridge.js +0 -43
  192. package/dist/state/toast.svelte.d.ts +0 -27
  193. package/dist/state/toast.svelte.js +0 -43
  194. package/dist/ui/actions/portal.d.ts +0 -7
  195. package/dist/ui/actions/portal.js +0 -32
  196. package/dist/ui/components/ApiMonitor.svelte +0 -162
  197. package/dist/ui/components/ApiMonitor.svelte.d.ts +0 -3
  198. package/dist/ui/components/Icon.svelte +0 -108
  199. package/dist/ui/components/Icon.svelte.d.ts +0 -14
  200. package/dist/ui/components/Kyntharil.svelte +0 -48
  201. package/dist/ui/components/Kyntharil.svelte.d.ts +0 -6
  202. package/dist/ui/components/RuneProvider.svelte +0 -218
  203. package/dist/ui/components/RuneProvider.svelte.d.ts +0 -49
  204. package/dist/ui/components/Toaster.svelte.d.ts +0 -18
  205. package/dist/ui/components/money/MoneyDisplay.svelte.d.ts +0 -33
  206. package/dist/ui/components/money/MoneyDisplay.svelte.test.d.ts +0 -1
  207. package/dist/ui/components/money/MoneyDisplay.svelte.test.js +0 -117
  208. package/dist/ui/components/money/MoneyInput.svelte.d.ts +0 -34
  209. package/dist/ui/components/money/index.d.ts +0 -2
  210. package/dist/ui/components/money/index.js +0 -3
  211. package/dist/ui/components/user/UserAvatar.svelte +0 -66
  212. package/dist/ui/components/user/UserAvatar.svelte.d.ts +0 -13
  213. package/dist/ui/components/user/UserProfile.svelte +0 -79
  214. package/dist/ui/components/user/UserProfile.svelte.d.ts +0 -17
  215. package/dist/ui/components/user/index.d.ts +0 -2
  216. package/dist/ui/components/user/index.js +0 -3
  217. package/dist/ui/features/command-palette/CommandPalette.svelte.d.ts +0 -6
  218. package/dist/ui/features/config/APP_CONFIGURATIONS.d.ts +0 -29
  219. package/dist/ui/features/config/APP_CONFIGURATIONS.js +0 -38
  220. package/dist/ui/features/config/AppSettingSelector.svelte.d.ts +0 -13
  221. package/dist/ui/features/config/CurrencySelector.svelte.d.ts +0 -8
  222. package/dist/ui/features/config/LanguageSelector.svelte.d.ts +0 -8
  223. package/dist/ui/features/config/ResourceSelector.svelte.d.ts +0 -25
  224. package/dist/ui/features/config/ThemeSelector.svelte.d.ts +0 -8
  225. package/dist/ui/features/notifications/NotificationBell.svelte.d.ts +0 -11
  226. package/dist/ui/features/notifications/index.d.ts +0 -1
  227. package/dist/ui/features/notifications/index.js +0 -2
  228. package/dist/ui/features/shortcuts/ShortcutBinder.svelte +0 -17
  229. package/dist/ui/features/shortcuts/ShortcutBinder.svelte.d.ts +0 -7
  230. package/dist/ui/features/shortcuts/ShortcutPalette.svelte.d.ts +0 -6
  231. package/dist/ui/index.d.ts +0 -30
  232. package/dist/ui/index.js +0 -46
  233. package/dist/ui/layout/ConnectedNavigationPanel.svelte.d.ts +0 -10
  234. package/dist/ui/layout/ConnectedWorkspaceStrip.svelte.d.ts +0 -9
  235. package/dist/ui/layout/ContentArea.svelte.d.ts +0 -8
  236. package/dist/ui/layout/DetailPanel.svelte.d.ts +0 -7
  237. package/dist/ui/layout/NavigationPanel.svelte.d.ts +0 -14
  238. package/dist/ui/layout/WorkspaceLayout.svelte.d.ts +0 -32
  239. package/dist/ui/layout/WorkspaceStrip.svelte.d.ts +0 -11
  240. package/dist/ui/layout/connection-factory.d.ts +0 -50
  241. package/dist/ui/layout/connection-factory.js +0 -58
  242. package/dist/ui/layout/index.d.ts +0 -7
  243. package/dist/ui/layout/index.js +0 -7
  244. package/dist/ui/paraglide/README.md +0 -147
  245. package/dist/ui/paraglide/messages/_index.d.ts +0 -87
  246. package/dist/ui/paraglide/messages/_index.js +0 -88
  247. package/dist/ui/paraglide/messages/abyss.d.ts +0 -16
  248. package/dist/ui/paraglide/messages/abyss.js +0 -84
  249. package/dist/ui/paraglide/messages/acid.d.ts +0 -16
  250. package/dist/ui/paraglide/messages/acid.js +0 -84
  251. package/dist/ui/paraglide/messages/active_toasts.d.ts +0 -16
  252. package/dist/ui/paraglide/messages/active_toasts.js +0 -84
  253. package/dist/ui/paraglide/messages/aed3.d.ts +0 -17
  254. package/dist/ui/paraglide/messages/aed3.js +0 -85
  255. package/dist/ui/paraglide/messages/all_currencies.d.ts +0 -16
  256. package/dist/ui/paraglide/messages/all_currencies.js +0 -84
  257. package/dist/ui/paraglide/messages/all_languages.d.ts +0 -16
  258. package/dist/ui/paraglide/messages/all_languages.js +0 -84
  259. package/dist/ui/paraglide/messages/all_themes.d.ts +0 -16
  260. package/dist/ui/paraglide/messages/all_themes.js +0 -84
  261. package/dist/ui/paraglide/messages/api_status.d.ts +0 -16
  262. package/dist/ui/paraglide/messages/api_status.js +0 -84
  263. package/dist/ui/paraglide/messages/app_info.d.ts +0 -16
  264. package/dist/ui/paraglide/messages/app_info.js +0 -84
  265. package/dist/ui/paraglide/messages/appearance.d.ts +0 -16
  266. package/dist/ui/paraglide/messages/appearance.js +0 -84
  267. package/dist/ui/paraglide/messages/aqua.d.ts +0 -16
  268. package/dist/ui/paraglide/messages/aqua.js +0 -84
  269. package/dist/ui/paraglide/messages/ar.d.ts +0 -16
  270. package/dist/ui/paraglide/messages/ar.js +0 -84
  271. package/dist/ui/paraglide/messages/autumn.d.ts +0 -16
  272. package/dist/ui/paraglide/messages/autumn.js +0 -84
  273. package/dist/ui/paraglide/messages/black.d.ts +0 -16
  274. package/dist/ui/paraglide/messages/black.js +0 -84
  275. package/dist/ui/paraglide/messages/brl3.d.ts +0 -17
  276. package/dist/ui/paraglide/messages/brl3.js +0 -85
  277. package/dist/ui/paraglide/messages/bumblebee.d.ts +0 -16
  278. package/dist/ui/paraglide/messages/bumblebee.js +0 -84
  279. package/dist/ui/paraglide/messages/business.d.ts +0 -16
  280. package/dist/ui/paraglide/messages/business.js +0 -84
  281. package/dist/ui/paraglide/messages/cad3.d.ts +0 -17
  282. package/dist/ui/paraglide/messages/cad3.js +0 -85
  283. package/dist/ui/paraglide/messages/caramellatte.d.ts +0 -16
  284. package/dist/ui/paraglide/messages/caramellatte.js +0 -84
  285. package/dist/ui/paraglide/messages/cmyk.d.ts +0 -16
  286. package/dist/ui/paraglide/messages/cmyk.js +0 -84
  287. package/dist/ui/paraglide/messages/cny3.d.ts +0 -17
  288. package/dist/ui/paraglide/messages/cny3.js +0 -85
  289. package/dist/ui/paraglide/messages/coffee.d.ts +0 -16
  290. package/dist/ui/paraglide/messages/coffee.js +0 -84
  291. package/dist/ui/paraglide/messages/commands_label.d.ts +0 -16
  292. package/dist/ui/paraglide/messages/commands_label.js +0 -84
  293. package/dist/ui/paraglide/messages/corporate.d.ts +0 -16
  294. package/dist/ui/paraglide/messages/corporate.js +0 -84
  295. package/dist/ui/paraglide/messages/cupcake.d.ts +0 -16
  296. package/dist/ui/paraglide/messages/cupcake.js +0 -84
  297. package/dist/ui/paraglide/messages/currency.d.ts +0 -16
  298. package/dist/ui/paraglide/messages/currency.js +0 -84
  299. package/dist/ui/paraglide/messages/current_currency.d.ts +0 -16
  300. package/dist/ui/paraglide/messages/current_currency.js +0 -84
  301. package/dist/ui/paraglide/messages/current_language.d.ts +0 -16
  302. package/dist/ui/paraglide/messages/current_language.js +0 -84
  303. package/dist/ui/paraglide/messages/current_theme.d.ts +0 -16
  304. package/dist/ui/paraglide/messages/current_theme.js +0 -84
  305. package/dist/ui/paraglide/messages/currently_in_queue.d.ts +0 -16
  306. package/dist/ui/paraglide/messages/currently_in_queue.js +0 -84
  307. package/dist/ui/paraglide/messages/cyberpunk.d.ts +0 -16
  308. package/dist/ui/paraglide/messages/cyberpunk.js +0 -84
  309. package/dist/ui/paraglide/messages/dark.d.ts +0 -16
  310. package/dist/ui/paraglide/messages/dark.js +0 -84
  311. package/dist/ui/paraglide/messages/de.d.ts +0 -16
  312. package/dist/ui/paraglide/messages/de.js +0 -84
  313. package/dist/ui/paraglide/messages/dim.d.ts +0 -16
  314. package/dist/ui/paraglide/messages/dim.js +0 -84
  315. package/dist/ui/paraglide/messages/dracula.d.ts +0 -16
  316. package/dist/ui/paraglide/messages/dracula.js +0 -84
  317. package/dist/ui/paraglide/messages/emerald.d.ts +0 -16
  318. package/dist/ui/paraglide/messages/emerald.js +0 -84
  319. package/dist/ui/paraglide/messages/en.d.ts +0 -16
  320. package/dist/ui/paraglide/messages/en.js +0 -84
  321. package/dist/ui/paraglide/messages/es.d.ts +0 -16
  322. package/dist/ui/paraglide/messages/es.js +0 -84
  323. package/dist/ui/paraglide/messages/eur3.d.ts +0 -17
  324. package/dist/ui/paraglide/messages/eur3.js +0 -85
  325. package/dist/ui/paraglide/messages/extended_controls.d.ts +0 -16
  326. package/dist/ui/paraglide/messages/extended_controls.js +0 -84
  327. package/dist/ui/paraglide/messages/fantasy.d.ts +0 -16
  328. package/dist/ui/paraglide/messages/fantasy.js +0 -84
  329. package/dist/ui/paraglide/messages/forest.d.ts +0 -16
  330. package/dist/ui/paraglide/messages/forest.js +0 -84
  331. package/dist/ui/paraglide/messages/fr.d.ts +0 -16
  332. package/dist/ui/paraglide/messages/fr.js +0 -84
  333. package/dist/ui/paraglide/messages/garden.d.ts +0 -16
  334. package/dist/ui/paraglide/messages/garden.js +0 -84
  335. package/dist/ui/paraglide/messages/gbp3.d.ts +0 -17
  336. package/dist/ui/paraglide/messages/gbp3.js +0 -85
  337. package/dist/ui/paraglide/messages/halloween.d.ts +0 -16
  338. package/dist/ui/paraglide/messages/halloween.js +0 -84
  339. package/dist/ui/paraglide/messages/hello_world.d.ts +0 -18
  340. package/dist/ui/paraglide/messages/hello_world.js +0 -84
  341. package/dist/ui/paraglide/messages/hi.d.ts +0 -16
  342. package/dist/ui/paraglide/messages/hi.js +0 -84
  343. package/dist/ui/paraglide/messages/inr3.d.ts +0 -17
  344. package/dist/ui/paraglide/messages/inr3.js +0 -85
  345. package/dist/ui/paraglide/messages/it.d.ts +0 -16
  346. package/dist/ui/paraglide/messages/it.js +0 -84
  347. package/dist/ui/paraglide/messages/ja.d.ts +0 -16
  348. package/dist/ui/paraglide/messages/ja.js +0 -84
  349. package/dist/ui/paraglide/messages/jpy3.d.ts +0 -17
  350. package/dist/ui/paraglide/messages/jpy3.js +0 -85
  351. package/dist/ui/paraglide/messages/ko.d.ts +0 -16
  352. package/dist/ui/paraglide/messages/ko.js +0 -84
  353. package/dist/ui/paraglide/messages/krw3.d.ts +0 -17
  354. package/dist/ui/paraglide/messages/krw3.js +0 -85
  355. package/dist/ui/paraglide/messages/languages.d.ts +0 -16
  356. package/dist/ui/paraglide/messages/languages.js +0 -84
  357. package/dist/ui/paraglide/messages/lemonade.d.ts +0 -16
  358. package/dist/ui/paraglide/messages/lemonade.js +0 -84
  359. package/dist/ui/paraglide/messages/light.d.ts +0 -16
  360. package/dist/ui/paraglide/messages/light.js +0 -84
  361. package/dist/ui/paraglide/messages/live_store_dashboard.d.ts +0 -16
  362. package/dist/ui/paraglide/messages/live_store_dashboard.js +0 -84
  363. package/dist/ui/paraglide/messages/localization.d.ts +0 -16
  364. package/dist/ui/paraglide/messages/localization.js +0 -84
  365. package/dist/ui/paraglide/messages/lofi.d.ts +0 -16
  366. package/dist/ui/paraglide/messages/lofi.js +0 -84
  367. package/dist/ui/paraglide/messages/luxury.d.ts +0 -16
  368. package/dist/ui/paraglide/messages/luxury.js +0 -84
  369. package/dist/ui/paraglide/messages/mxn3.d.ts +0 -17
  370. package/dist/ui/paraglide/messages/mxn3.js +0 -85
  371. package/dist/ui/paraglide/messages/name_label.d.ts +0 -16
  372. package/dist/ui/paraglide/messages/name_label.js +0 -84
  373. package/dist/ui/paraglide/messages/night.d.ts +0 -16
  374. package/dist/ui/paraglide/messages/night.js +0 -84
  375. package/dist/ui/paraglide/messages/nord.d.ts +0 -16
  376. package/dist/ui/paraglide/messages/nord.js +0 -84
  377. package/dist/ui/paraglide/messages/pastel.d.ts +0 -16
  378. package/dist/ui/paraglide/messages/pastel.js +0 -84
  379. package/dist/ui/paraglide/messages/pt.d.ts +0 -16
  380. package/dist/ui/paraglide/messages/pt.js +0 -84
  381. package/dist/ui/paraglide/messages/real_time_monitor_desc.d.ts +0 -16
  382. package/dist/ui/paraglide/messages/real_time_monitor_desc.js +0 -84
  383. package/dist/ui/paraglide/messages/registered_in_registry.d.ts +0 -16
  384. package/dist/ui/paraglide/messages/registered_in_registry.js +0 -84
  385. package/dist/ui/paraglide/messages/retro.d.ts +0 -16
  386. package/dist/ui/paraglide/messages/retro.js +0 -84
  387. package/dist/ui/paraglide/messages/ru.d.ts +0 -16
  388. package/dist/ui/paraglide/messages/ru.js +0 -84
  389. package/dist/ui/paraglide/messages/silk.d.ts +0 -16
  390. package/dist/ui/paraglide/messages/silk.js +0 -84
  391. package/dist/ui/paraglide/messages/state_label.d.ts +0 -16
  392. package/dist/ui/paraglide/messages/state_label.js +0 -84
  393. package/dist/ui/paraglide/messages/sunset.d.ts +0 -16
  394. package/dist/ui/paraglide/messages/sunset.js +0 -84
  395. package/dist/ui/paraglide/messages/synthwave.d.ts +0 -16
  396. package/dist/ui/paraglide/messages/synthwave.js +0 -84
  397. package/dist/ui/paraglide/messages/system.d.ts +0 -16
  398. package/dist/ui/paraglide/messages/system.js +0 -84
  399. package/dist/ui/paraglide/messages/theme.d.ts +0 -16
  400. package/dist/ui/paraglide/messages/theme.js +0 -84
  401. package/dist/ui/paraglide/messages/themes.d.ts +0 -16
  402. package/dist/ui/paraglide/messages/themes.js +0 -84
  403. package/dist/ui/paraglide/messages/url_label.d.ts +0 -16
  404. package/dist/ui/paraglide/messages/url_label.js +0 -84
  405. package/dist/ui/paraglide/messages/usd3.d.ts +0 -17
  406. package/dist/ui/paraglide/messages/usd3.js +0 -85
  407. package/dist/ui/paraglide/messages/valentine.d.ts +0 -16
  408. package/dist/ui/paraglide/messages/valentine.js +0 -84
  409. package/dist/ui/paraglide/messages/version_label.d.ts +0 -16
  410. package/dist/ui/paraglide/messages/version_label.js +0 -84
  411. package/dist/ui/paraglide/messages/vi.d.ts +0 -16
  412. package/dist/ui/paraglide/messages/vi.js +0 -84
  413. package/dist/ui/paraglide/messages/winter.d.ts +0 -16
  414. package/dist/ui/paraglide/messages/winter.js +0 -84
  415. package/dist/ui/paraglide/messages/wireframe.d.ts +0 -16
  416. package/dist/ui/paraglide/messages/wireframe.js +0 -84
  417. package/dist/ui/paraglide/messages/zh.d.ts +0 -16
  418. package/dist/ui/paraglide/messages/zh.js +0 -84
  419. package/dist/ui/paraglide/messages.d.ts +0 -2
  420. package/dist/ui/paraglide/messages.js +0 -4
  421. package/dist/ui/paraglide/registry.d.ts +0 -21
  422. package/dist/ui/paraglide/registry.js +0 -31
  423. package/dist/ui/paraglide/runtime.d.ts +0 -730
  424. package/dist/ui/paraglide/runtime.js +0 -1812
  425. package/dist/ui/paraglide/server.d.ts +0 -92
  426. package/dist/ui/paraglide/server.js +0 -239
  427. package/dist/ui/primitives/DatePicker.svelte +0 -257
  428. package/dist/ui/primitives/DatePicker.svelte.d.ts +0 -17
  429. package/dist/ui/primitives/index.d.ts +0 -1
  430. package/dist/ui/primitives/index.js +0 -3
  431. /package/{dist/ui/layout → src/runes/layout/src}/ContentArea.svelte +0 -0
  432. /package/{dist/ui/layout → src/runes/layout/src}/DetailPanel.svelte +0 -0
  433. /package/{dist/ui/features → src/runes/palettes/src}/notifications/NotificationBell.svelte +0 -0
@@ -1,250 +0,0 @@
1
- // sdk/core/src/money/money.ts
2
- // Framework-agnostic money utilities using Dinero.js v2
3
- // Consumers should never import Dinero directly — these helpers encapsulate it.
4
- import { add as dineroAdd, AED, BRL, CAD, CNY, convert as dineroConvert, dinero, EUR, GBP, INR, JPY, KRW, multiply as dineroMultiply, MXN, subtract as dineroSubtract, toDecimal,
5
- // ISO 4217 currency definitions
6
- toSnapshot, transformScale as dineroTransformScale, USD, } from "dinero.js";
7
- /**
8
- * Map of ISO 4217 currency codes to Dinero currency objects
9
- */
10
- export const CURRENCY_MAP = {
11
- USD,
12
- EUR,
13
- MXN,
14
- JPY,
15
- KRW,
16
- CNY,
17
- AED,
18
- GBP,
19
- CAD,
20
- BRL,
21
- INR,
22
- };
23
- /**
24
- * Converts a human-readable float rate (e.g., 17.23) into a ScaledRate.
25
- * Defaults to 4 decimal places of precision if not specified.
26
- */
27
- export function scaledRate(float, precision = 4) {
28
- const factor = Math.pow(10, precision);
29
- return {
30
- amount: Math.round(float * factor),
31
- scale: precision,
32
- };
33
- }
34
- /**
35
- * Register a new currency in CURRENCY_MAP atomically.
36
- * Ensures the core registry and any store-level registries stay in sync.
37
- */
38
- export function registerCurrency(code, currency) {
39
- CURRENCY_MAP[code] = currency;
40
- }
41
- /**
42
- * Normalizes an unknown input into a valid finite number.
43
- * Handles null, undefined, bigints, and SurrealDB Decimal objects via toString().
44
- */
45
- function toNumber(amount) {
46
- if (amount === null || amount === undefined)
47
- return 0;
48
- if (typeof amount === "number")
49
- return Number.isFinite(amount) ? amount : 0;
50
- if (typeof amount === "bigint")
51
- return Number(amount);
52
- // Handle SurrealDB Decimal (which has a toString method) or other objects
53
- if (typeof amount === "object") {
54
- try {
55
- // SurrealDB Decimal.toString() returns a numeric string
56
- const str = String(amount);
57
- const parsed = parseFloat(str);
58
- return Number.isFinite(parsed) ? parsed : 0;
59
- }
60
- catch {
61
- return 0;
62
- }
63
- }
64
- const coerced = Number(amount);
65
- return Number.isFinite(coerced) ? coerced : 0;
66
- }
67
- /**
68
- * Normalizes an unknown input into a valid integer for Dinero.js.
69
- * Exported so consumers can apply the same defensive coercion.
70
- */
71
- export function safeAmount(amount) {
72
- return Math.round(toNumber(amount));
73
- }
74
- /**
75
- * Converts a major-unit amount (e.g., pesos) to a minor-unit integer (e.g., centavos).
76
- * Uses the currency's exponent from CURRENCY_MAP.
77
- */
78
- export function toMinorUnit(amount, currencyCode) {
79
- const currency = CURRENCY_MAP[currencyCode];
80
- if (!currency) {
81
- throw new Error(`Unknown currency code: ${currencyCode}. Register it first via registerCurrency().`);
82
- }
83
- const base = Array.isArray(currency.base) ? currency.base[0] : currency.base;
84
- const factor = Math.pow(Number(base), Number(currency.exponent));
85
- return Math.round(toNumber(amount) * factor);
86
- }
87
- /**
88
- * Create a Dinero monetary value from an amount.
89
- * @param amount - Amount (normalized internally via safeAmount)
90
- * @param currencyCode - ISO 4217 currency code (e.g., "USD")
91
- */
92
- export function createMoney(amount, currencyCode) {
93
- const currency = CURRENCY_MAP[currencyCode];
94
- if (!currency) {
95
- throw new Error(`Unknown currency code: ${currencyCode}. Register it first via registerCurrency().`);
96
- }
97
- return dinero({ amount: safeAmount(amount), currency });
98
- }
99
- /**
100
- * Format a Dinero value as a locale-aware string
101
- * @param money - Dinero monetary value
102
- * @param locale - BCP 47 locale string (e.g., "en-US", "es-MX")
103
- * @param currencyCode - ISO 4217 code for Intl.NumberFormat (e.g., "USD")
104
- */
105
- export function formatMoney(money, locale = "en-US", currencyCode) {
106
- return toDecimal(money, ({ value, currency }) => {
107
- const code = currencyCode ??
108
- Object.entries(CURRENCY_MAP).find(([, c]) => c.code === currency.code)?.[0] ??
109
- currency.code;
110
- return new Intl.NumberFormat(locale, {
111
- style: "currency",
112
- currency: code,
113
- minimumFractionDigits: currency.exponent,
114
- maximumFractionDigits: currency.exponent,
115
- }).format(Number(value));
116
- });
117
- }
118
- /**
119
- * Format a raw amount as a locale-aware currency string.
120
- * Convenience wrapper around createMoney + formatMoney.
121
- */
122
- export function formatAmount(amount, currencyCode, locale = "en-US") {
123
- const money = createMoney(amount, currencyCode);
124
- return formatMoney(money, locale, currencyCode);
125
- }
126
- /**
127
- * Add two monetary values (must be same currency)
128
- */
129
- export function addMoney(a, b) {
130
- return dineroAdd(a, b);
131
- }
132
- /**
133
- * Subtract two monetary values (must be same currency)
134
- */
135
- export function subtractMoney(a, b) {
136
- return dineroSubtract(a, b);
137
- }
138
- /**
139
- * Multiply a monetary value by a factor
140
- */
141
- export function multiplyMoney(money, factor) {
142
- return dineroMultiply(money, factor);
143
- }
144
- /**
145
- * Converts a Dinero object to another currency.
146
- * Both currencies must share the same base (base 10 for all standard ISO currencies).
147
- */
148
- export function convertMoney(money, toCurrencyCode, rates) {
149
- const targetCurrency = CURRENCY_MAP[toCurrencyCode];
150
- if (!targetCurrency) {
151
- throw new Error(`Unknown target currency: ${toCurrencyCode}. Register it first via registerCurrency().`);
152
- }
153
- const rate = rates[toCurrencyCode];
154
- if (rate === undefined) {
155
- throw new Error(`Missing exchange rate for currency: ${toCurrencyCode}`);
156
- }
157
- try {
158
- return dineroConvert(money, targetCurrency, { [toCurrencyCode]: rate });
159
- }
160
- catch (err) {
161
- if (err instanceof Error && err.message.includes("base")) {
162
- throw new Error(`Cannot convert between currencies with different bases. Ensure both are base 10.`);
163
- }
164
- throw err;
165
- }
166
- }
167
- /**
168
- * Converts a raw minor-unit amount between currencies.
169
- * Returns the original amount if from and to currencies are the same.
170
- */
171
- export function convertAmount(amount, fromCode, toCode, rates) {
172
- if (fromCode === toCode)
173
- return amount;
174
- const targetCurrency = CURRENCY_MAP[toCode];
175
- if (!targetCurrency) {
176
- throw new Error(`Unknown target currency: ${toCode}`);
177
- }
178
- const sourceMoney = createMoney(amount, fromCode);
179
- const convertedMoney = convertMoney(sourceMoney, toCode, rates);
180
- // Normalize back to the target currency's standard exponent
181
- const targetMoney = dineroTransformScale(convertedMoney, targetCurrency.exponent);
182
- const snapshot = toSnapshot(targetMoney);
183
- return snapshot.amount;
184
- }
185
- /**
186
- * Converts Dinero object to a Stripe-compatible payload.
187
- */
188
- export function toStripeMoney(money) {
189
- const snapshot = toSnapshot(money);
190
- return {
191
- amount: snapshot.amount,
192
- currency: snapshot.currency.code.toLowerCase(),
193
- };
194
- }
195
- /**
196
- * Converts Dinero object to a PayPal-compatible payload.
197
- */
198
- export function toPaypalMoney(money) {
199
- const value = toDecimal(money);
200
- const snapshot = toSnapshot(money);
201
- return {
202
- value,
203
- currency_code: snapshot.currency.code,
204
- };
205
- }
206
- /**
207
- * Converts Dinero object to an Adyen-compatible payload.
208
- */
209
- export function toAdyenMoney(money) {
210
- const snapshot = toSnapshot(money);
211
- return {
212
- value: snapshot.amount,
213
- currency: snapshot.currency.code.toUpperCase(),
214
- };
215
- }
216
- /**
217
- * Converts Dinero object to a Square-compatible payload (uses BigInt).
218
- */
219
- export function toSquareMoney(money) {
220
- const snapshot = toSnapshot(money);
221
- return {
222
- amount: BigInt(snapshot.amount),
223
- currency: snapshot.currency.code,
224
- };
225
- }
226
- /**
227
- * Serializes a Dinero object into a plain object snapshot.
228
- */
229
- export function toMoneySnapshot(money) {
230
- const snapshot = toSnapshot(money);
231
- return {
232
- amount: snapshot.amount,
233
- currency: snapshot.currency.code,
234
- scale: snapshot.scale,
235
- };
236
- }
237
- /**
238
- * Restores a Dinero object from a snapshot.
239
- */
240
- export function fromMoneySnapshot(snapshot) {
241
- const currency = CURRENCY_MAP[snapshot.currency];
242
- if (!currency) {
243
- throw new Error(`Unknown currency: ${snapshot.currency}. Register it first.`);
244
- }
245
- return dinero({
246
- amount: snapshot.amount,
247
- currency,
248
- scale: snapshot.scale ?? currency.exponent,
249
- });
250
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Synchronous persistence driver interface for Svelte stores
3
- */
4
- export interface PersistenceDriver {
5
- /**
6
- * Get a value by key. Should return null if not found.
7
- */
8
- get(key: string): string | null;
9
- /**
10
- * Set a value by key.
11
- */
12
- set(key: string, value: string): void;
13
- /**
14
- * Remove a value by key.
15
- */
16
- remove(key: string): void;
17
- }
18
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/persistence/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
@@ -1,2 +0,0 @@
1
- // src/lib/persistence/types.ts
2
- export {};
@@ -1,60 +0,0 @@
1
- /**
2
- * Declarative shortcut configuration.
3
- * Used by the `useShortcuts` composable to register shortcuts with automatic cleanup.
4
- *
5
- * @example
6
- * ```ts
7
- * const shortcuts: ShortcutConfig[] = [
8
- * {
9
- * id: "save:document",
10
- * keys: "ctrl+s",
11
- * handler: () => save(),
12
- * label: "Save document",
13
- * category: "Editing",
14
- * },
15
- * {
16
- * id: "palette:open",
17
- * keys: "ctrl+k",
18
- * handler: () => openPalette(),
19
- * when: () => !isModalOpen,
20
- * },
21
- * ];
22
- * ```
23
- */
24
- export interface ShortcutConfig {
25
- /**
26
- * Unique dot-namespaced identifier.
27
- * Must be namespaced by feature to prevent collisions in the global registry.
28
- * @example "save:document", "palette:open"
29
- */
30
- id: string;
31
- /**
32
- * Hotkeys.js-compatible key combination string.
33
- * @example "ctrl+s", "alt+shift+p", "escape"
34
- */
35
- keys: string;
36
- /**
37
- * Handler function invoked when the shortcut is triggered.
38
- */
39
- handler: (event: KeyboardEvent) => void;
40
- /**
41
- * Optional predicate — when provided, the shortcut only fires if this returns `true`.
42
- * Useful for context-dependent shortcuts (e.g., only when a modal is closed).
43
- */
44
- when?: () => boolean;
45
- /**
46
- * Human-readable label for display in the shortcut palette.
47
- * If omitted, the shortcut is registered but hidden from the palette.
48
- */
49
- label?: string;
50
- /**
51
- * Display category (e.g., "Navigation", "Editing") for grouping in the palette.
52
- */
53
- category?: string;
54
- /**
55
- * Scope in which the shortcut is active.
56
- * @default "global"
57
- */
58
- scope?: "global" | "layout" | `panel:${string}`;
59
- }
60
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/shortcuts/types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,MAAM,EAAE,CAAC;CACjD"}
@@ -1,4 +0,0 @@
1
- // sdk/core/src/shortcuts/types.ts
2
- // Framework-agnostic shortcut configuration types.
3
- // The composable layer (sdk/state) wraps these in Svelte 5 lifecycle management.
4
- export {};
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- // Auto-generated root barrel file
2
- export * from "./core/index.js";
3
- export * from "./state/index.js";
4
- export * from "./ui/index.js";
5
-
6
- export declare const version: () => string;
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- // Auto-generated root barrel file
2
- export * from "./core/index.js";
3
- export * from "./state/index.js";
4
- export * from "./ui/index.js";
5
-
6
- import pkg from "../package.json" with { type: "json" };
7
- export const version = () => pkg.version;
@@ -1,26 +0,0 @@
1
- /**
2
- * API connection state and configuration
3
- */
4
- export type ConnectionState = "connected" | "connecting" | "disconnected";
5
- export declare class ApiStore {
6
- #private;
7
- url: string;
8
- version: string;
9
- connectionState: ConnectionState;
10
- isConnected: boolean;
11
- isLoading: boolean;
12
- get URL(): string;
13
- get VERSION(): string;
14
- get IS_CONNECTED(): boolean;
15
- get IS_LOADING(): boolean;
16
- /**
17
- * Reconnect to the API
18
- */
19
- reconnect(): Promise<void>;
20
- /**
21
- * Initialize API settings
22
- */
23
- init(url: string, version?: string, healthCheck?: () => Promise<boolean>): void;
24
- }
25
- export declare function createApiStore(): ApiStore;
26
- export declare function getApiStore(): ApiStore;
@@ -1,65 +0,0 @@
1
- import { getContext } from "svelte";
2
- import { RUNE_LAB_CONTEXT } from "./context.ts";
3
- import { DEV } from "esm-env";
4
- export class ApiStore {
5
- // State
6
- url = $state("http://localhost:8000");
7
- version = $state("v1");
8
- connectionState = $state("disconnected");
9
- #healthCheck;
10
- // Derived
11
- isConnected = $derived(this.connectionState === "connected");
12
- isLoading = $derived(this.connectionState === "connecting");
13
- // Short aliases for compatibility with the user's snippet
14
- get URL() {
15
- return this.url;
16
- }
17
- get VERSION() {
18
- return this.version;
19
- }
20
- get IS_CONNECTED() {
21
- return this.isConnected;
22
- }
23
- get IS_LOADING() {
24
- return this.isLoading;
25
- }
26
- /**
27
- * Reconnect to the API
28
- */
29
- async reconnect() {
30
- this.connectionState = "connecting";
31
- try {
32
- if (this.#healthCheck) {
33
- const isHealthy = await this.#healthCheck();
34
- this.connectionState = isHealthy ? "connected" : "disconnected";
35
- }
36
- else {
37
- // Simulate connection if no health check provided
38
- if (DEV) {
39
- console.warn("[rune-lab] ApiStore: No healthCheck provided to init(). Using simulated connection delay.");
40
- }
41
- await new Promise((resolve) => setTimeout(resolve, 1500));
42
- this.connectionState = "connected";
43
- }
44
- }
45
- catch (_e) {
46
- this.connectionState = "disconnected";
47
- }
48
- }
49
- /**
50
- * Initialize API settings
51
- */
52
- init(url, version = "v1", healthCheck) {
53
- this.url = url;
54
- this.version = version;
55
- if (healthCheck)
56
- this.#healthCheck = healthCheck;
57
- this.reconnect();
58
- }
59
- }
60
- export function createApiStore() {
61
- return new ApiStore();
62
- }
63
- export function getApiStore() {
64
- return getContext(RUNE_LAB_CONTEXT.api);
65
- }
@@ -1,48 +0,0 @@
1
- /**
2
- * Application metadata interface
3
- */
4
- export interface AppData {
5
- name: string;
6
- version: string;
7
- description: string;
8
- author: string;
9
- repository?: string;
10
- license?: string;
11
- homepage?: string;
12
- }
13
- /**
14
- * App Store
15
- * Manages application metadata and identity
16
- */
17
- export declare class AppStore {
18
- #private;
19
- name: string;
20
- version: string;
21
- description: string;
22
- author: string;
23
- repository: string;
24
- license: string;
25
- homepage: string;
26
- customIcons: Record<string, string>;
27
- /**
28
- * Initialize app store with metadata.
29
- *
30
- * @contract init() is idempotent. Call it once at app startup via RuneProvider.
31
- * Subsequent calls are silently ignored to maintain stability across SSR/CSR cycles.
32
- */
33
- init(data: Partial<AppData>): void;
34
- /**
35
- * @internal Test-only. Resets initialization guard.
36
- */
37
- __reset(): void;
38
- /**
39
- * Get full app information object
40
- */
41
- get info(): AppData;
42
- /**
43
- * Registers custom SVG icons to be available globally in the Icon component
44
- */
45
- registerIcons(icons: Record<string, string>): void;
46
- }
47
- export declare function createAppStore(): AppStore;
48
- export declare function getAppStore(): AppStore;
@@ -1,82 +0,0 @@
1
- // src/lib/stores/app-config.svelte.ts
2
- import { getContext } from "svelte";
3
- import { RUNE_LAB_CONTEXT } from "./context.ts";
4
- import { DEV } from "esm-env";
5
- /**
6
- * App Store
7
- * Manages application metadata and identity
8
- */
9
- export class AppStore {
10
- // State
11
- name = $state("Rune Lab");
12
- version = $state("0.0.1");
13
- description = $state("Modern toolkit for Svelte 5 Runes");
14
- author = $state("Yrrrrrf");
15
- repository = $state("https://github.com/Yrrrrrf/rune-lab");
16
- license = $state("MIT");
17
- homepage = $state("https://jsr.io/@yrrrrrf/rune-lab");
18
- customIcons = $state({});
19
- #initialized = false;
20
- /**
21
- * Initialize app store with metadata.
22
- *
23
- * @contract init() is idempotent. Call it once at app startup via RuneProvider.
24
- * Subsequent calls are silently ignored to maintain stability across SSR/CSR cycles.
25
- */
26
- init(data) {
27
- if (this.#initialized) {
28
- if (DEV) {
29
- console.warn("AppStore.init() called multiple times. Ignoring subsequent calls.", "Overwritten properties would have been:", data);
30
- }
31
- return;
32
- }
33
- if (data.name)
34
- this.name = data.name;
35
- if (data.version)
36
- this.version = data.version;
37
- if (data.description)
38
- this.description = data.description;
39
- if (data.author)
40
- this.author = data.author;
41
- if (data.repository)
42
- this.repository = data.repository;
43
- if (data.license)
44
- this.license = data.license;
45
- if (data.homepage)
46
- this.homepage = data.homepage;
47
- this.#initialized = true;
48
- }
49
- /**
50
- * @internal Test-only. Resets initialization guard.
51
- */
52
- __reset() {
53
- this.#initialized = false;
54
- }
55
- /**
56
- * Get full app information object
57
- */
58
- get info() {
59
- return {
60
- name: this.name,
61
- version: this.version,
62
- description: this.description,
63
- author: this.author,
64
- repository: this.repository,
65
- license: this.license,
66
- homepage: this.homepage,
67
- };
68
- }
69
- /**
70
- * Registers custom SVG icons to be available globally in the Icon component
71
- */
72
- registerIcons(icons) {
73
- this.customIcons = { ...this.customIcons, ...icons };
74
- }
75
- }
76
- // Export singleton instance
77
- export function createAppStore() {
78
- return new AppStore();
79
- }
80
- export function getAppStore() {
81
- return getContext(RUNE_LAB_CONTEXT.app);
82
- }
@@ -1,2 +0,0 @@
1
- export type { AuthConfig, Session, User } from "./types.ts";
2
- export { createSessionStore, getSessionStore, SessionStore, } from "./session.svelte.ts";
@@ -1,2 +0,0 @@
1
- // sdk/state/src/auth/index.ts
2
- export { createSessionStore, getSessionStore, SessionStore, } from "./session.svelte.ts";
@@ -1,40 +0,0 @@
1
- import type { Session, User } from "./types.ts";
2
- /**
3
- * SessionStore — reactive authentication state.
4
- *
5
- * Once Better-Auth is fully integrated, this store will:
6
- * - Initialize from the Better-Auth client SDK
7
- * - Manage session lifecycle (login, logout, refresh)
8
- * - Expose the current user + session tokens
9
- * - Fire onSessionChange callbacks
10
- *
11
- * For now, it provides the interface contract that consuming apps
12
- * and other rune-lab components (UserAvatar, UserProfile) can code against.
13
- */
14
- export declare class SessionStore {
15
- /** Whether authentication has been checked (vs. loading) */
16
- isReady: boolean;
17
- /** Whether a user is currently authenticated */
18
- isAuthenticated: boolean;
19
- /** Current user (null when logged out) */
20
- user: User | null;
21
- /** Current session (null when logged out) */
22
- session: Session | null;
23
- /**
24
- * Initialize the session — placeholder for Better-Auth client setup
25
- */
26
- init(): Promise<void>;
27
- /**
28
- * Log in — placeholder
29
- */
30
- login(_credentials: {
31
- email: string;
32
- password: string;
33
- }): Promise<boolean>;
34
- /**
35
- * Log out — placeholder
36
- */
37
- logout(): Promise<void>;
38
- }
39
- export declare function createSessionStore(): SessionStore;
40
- export declare function getSessionStore(): SessionStore;