rune-lab 0.1.1 → 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.
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +2 -0
- package/dist/{internal → core/internal}/message-resolver.d.ts +1 -0
- package/dist/core/internal/message-resolver.d.ts.map +1 -0
- package/dist/{persistence → core/persistence}/types.d.ts +1 -0
- package/dist/core/persistence/types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -30
- package/dist/index.js +2 -40
- package/dist/state/api.svelte.js +3 -2
- package/dist/state/app.svelte.js +3 -2
- package/dist/state/commands.svelte.js +2 -2
- package/dist/{composables → state/composables}/usePersistence.d.ts +1 -1
- package/dist/{composables → state/composables}/useRuneLab.d.ts +1 -1
- package/dist/{composables → state/composables}/useRuneLab.js +1 -1
- package/dist/state/createConfigStore.svelte.d.ts +1 -1
- package/dist/state/createConfigStore.svelte.js +3 -3
- package/dist/state/currency.svelte.d.ts +1 -1
- package/dist/state/currency.svelte.js +1 -1
- package/dist/state/daisyui.d.ts +4 -0
- package/dist/state/index.d.ts +5 -0
- package/dist/state/index.js +9 -2
- package/dist/state/language.svelte.d.ts +2 -1
- package/dist/state/language.svelte.js +6 -18
- package/dist/state/layout.svelte.d.ts +1 -1
- package/dist/state/layout.svelte.js +1 -1
- package/dist/{persistence → state/persistence}/drivers.d.ts +1 -1
- package/dist/{persistence → state/persistence}/drivers.js +1 -1
- package/dist/state/shortcuts.svelte.js +4 -3
- package/dist/state/theme.svelte.d.ts +1 -1
- package/dist/state/theme.svelte.js +2 -2
- package/dist/state/toast.svelte.js +1 -1
- package/dist/{actions → ui/actions}/portal.js +2 -1
- package/dist/{components → ui/components}/ApiMonitor.svelte +2 -2
- package/dist/{components → ui/components}/Icon.svelte +3 -2
- package/dist/{components → ui/components}/RuneProvider.svelte +31 -12
- package/dist/{components → ui/components}/RuneProvider.svelte.d.ts +5 -2
- package/dist/{components → ui/components}/Toaster.svelte +1 -1
- package/dist/{features → ui/features}/command-palette/CommandPalette.svelte +3 -3
- package/dist/ui/features/config/AppSettingSelector.svelte +177 -0
- package/dist/{features → ui/features}/config/AppSettingSelector.svelte.d.ts +1 -1
- package/dist/{features → ui/features}/config/CurrencySelector.svelte +15 -10
- package/dist/{features → ui/features}/config/LanguageSelector.svelte +17 -13
- package/dist/{features → ui/features}/config/ThemeSelector.svelte +16 -11
- package/dist/{features → ui/features}/shortcuts/ShortcutPalette.svelte +3 -3
- package/dist/ui/index.d.ts +21 -0
- package/dist/ui/index.js +31 -0
- package/dist/{features/layout/smart → ui/layout}/ConnectedNavigationPanel.svelte +2 -5
- package/dist/{features/layout/smart → ui/layout}/ConnectedNavigationPanel.svelte.d.ts +1 -1
- package/dist/{features/layout/smart → ui/layout}/ConnectedWorkspaceStrip.svelte +2 -5
- package/dist/{features/layout/smart → ui/layout}/ConnectedWorkspaceStrip.svelte.d.ts +1 -1
- package/dist/{layout → ui/layout}/NavigationPanel.svelte +1 -1
- package/dist/{layout → ui/layout}/NavigationPanel.svelte.d.ts +1 -1
- package/dist/{layout → ui/layout}/WorkspaceLayout.svelte +2 -2
- package/dist/{layout → ui/layout}/WorkspaceStrip.svelte +1 -1
- package/dist/{layout → ui/layout}/WorkspaceStrip.svelte.d.ts +1 -1
- package/dist/{layout → ui/layout}/index.d.ts +2 -2
- package/dist/{layout → ui/layout}/index.js +1 -1
- package/dist/{paraglide → ui/paraglide}/README.md +3 -2
- package/dist/{paraglide → ui/paraglide}/runtime.d.ts +17 -2
- package/dist/{paraglide → ui/paraglide}/runtime.js +45 -0
- package/package.json +41 -44
- package/dist/features/config/AppSettingSelector.svelte +0 -124
- package/dist/features/detail-panels/DashboardPanel.svelte +0 -171
- package/dist/features/detail-panels/DashboardPanel.svelte.d.ts +0 -3
- package/dist/features/detail-panels/ShortcutsPanel.svelte +0 -233
- package/dist/features/detail-panels/ShortcutsPanel.svelte.d.ts +0 -3
- package/dist/features/detail-panels/ShowcasePanel.svelte +0 -114
- package/dist/features/detail-panels/ShowcasePanel.svelte.d.ts +0 -3
- package/dist/features/detail-panels/showcase-components.d.ts +0 -6
- package/dist/features/detail-panels/showcase-components.js +0 -65
- package/dist/paraglide/messages/_index.d.ts +0 -83
- package/dist/paraglide/messages/_index.js +0 -84
- package/dist/paraglide/messages/abyss.d.ts +0 -16
- package/dist/paraglide/messages/abyss.js +0 -84
- package/dist/paraglide/messages/acid.d.ts +0 -16
- package/dist/paraglide/messages/acid.js +0 -84
- package/dist/paraglide/messages/active_toasts.d.ts +0 -16
- package/dist/paraglide/messages/active_toasts.js +0 -84
- package/dist/paraglide/messages/aed3.d.ts +0 -17
- package/dist/paraglide/messages/aed3.js +0 -85
- package/dist/paraglide/messages/all_currencies.d.ts +0 -16
- package/dist/paraglide/messages/all_currencies.js +0 -84
- package/dist/paraglide/messages/all_languages.d.ts +0 -16
- package/dist/paraglide/messages/all_languages.js +0 -84
- package/dist/paraglide/messages/all_themes.d.ts +0 -16
- package/dist/paraglide/messages/all_themes.js +0 -84
- package/dist/paraglide/messages/api_status.d.ts +0 -16
- package/dist/paraglide/messages/api_status.js +0 -84
- package/dist/paraglide/messages/app_info.d.ts +0 -16
- package/dist/paraglide/messages/app_info.js +0 -84
- package/dist/paraglide/messages/appearance.d.ts +0 -16
- package/dist/paraglide/messages/appearance.js +0 -84
- package/dist/paraglide/messages/aqua.d.ts +0 -16
- package/dist/paraglide/messages/aqua.js +0 -84
- package/dist/paraglide/messages/ar.d.ts +0 -16
- package/dist/paraglide/messages/ar.js +0 -84
- package/dist/paraglide/messages/autumn.d.ts +0 -16
- package/dist/paraglide/messages/autumn.js +0 -84
- package/dist/paraglide/messages/black.d.ts +0 -16
- package/dist/paraglide/messages/black.js +0 -84
- package/dist/paraglide/messages/bumblebee.d.ts +0 -16
- package/dist/paraglide/messages/bumblebee.js +0 -84
- package/dist/paraglide/messages/business.d.ts +0 -16
- package/dist/paraglide/messages/business.js +0 -84
- package/dist/paraglide/messages/caramellatte.d.ts +0 -16
- package/dist/paraglide/messages/caramellatte.js +0 -84
- package/dist/paraglide/messages/cmyk.d.ts +0 -16
- package/dist/paraglide/messages/cmyk.js +0 -84
- package/dist/paraglide/messages/cny3.d.ts +0 -17
- package/dist/paraglide/messages/cny3.js +0 -85
- package/dist/paraglide/messages/coffee.d.ts +0 -16
- package/dist/paraglide/messages/coffee.js +0 -84
- package/dist/paraglide/messages/commands_label.d.ts +0 -16
- package/dist/paraglide/messages/commands_label.js +0 -84
- package/dist/paraglide/messages/corporate.d.ts +0 -16
- package/dist/paraglide/messages/corporate.js +0 -84
- package/dist/paraglide/messages/cupcake.d.ts +0 -16
- package/dist/paraglide/messages/cupcake.js +0 -84
- package/dist/paraglide/messages/currency.d.ts +0 -16
- package/dist/paraglide/messages/currency.js +0 -84
- package/dist/paraglide/messages/current_currency.d.ts +0 -16
- package/dist/paraglide/messages/current_currency.js +0 -84
- package/dist/paraglide/messages/current_language.d.ts +0 -16
- package/dist/paraglide/messages/current_language.js +0 -84
- package/dist/paraglide/messages/current_theme.d.ts +0 -16
- package/dist/paraglide/messages/current_theme.js +0 -84
- package/dist/paraglide/messages/currently_in_queue.d.ts +0 -16
- package/dist/paraglide/messages/currently_in_queue.js +0 -84
- package/dist/paraglide/messages/cyberpunk.d.ts +0 -16
- package/dist/paraglide/messages/cyberpunk.js +0 -84
- package/dist/paraglide/messages/dark.d.ts +0 -16
- package/dist/paraglide/messages/dark.js +0 -84
- package/dist/paraglide/messages/de.d.ts +0 -16
- package/dist/paraglide/messages/de.js +0 -84
- package/dist/paraglide/messages/dim.d.ts +0 -16
- package/dist/paraglide/messages/dim.js +0 -84
- package/dist/paraglide/messages/dracula.d.ts +0 -16
- package/dist/paraglide/messages/dracula.js +0 -84
- package/dist/paraglide/messages/emerald.d.ts +0 -16
- package/dist/paraglide/messages/emerald.js +0 -84
- package/dist/paraglide/messages/en.d.ts +0 -16
- package/dist/paraglide/messages/en.js +0 -84
- package/dist/paraglide/messages/es.d.ts +0 -16
- package/dist/paraglide/messages/es.js +0 -84
- package/dist/paraglide/messages/eur3.d.ts +0 -17
- package/dist/paraglide/messages/eur3.js +0 -85
- package/dist/paraglide/messages/extended_controls.d.ts +0 -16
- package/dist/paraglide/messages/extended_controls.js +0 -84
- package/dist/paraglide/messages/fantasy.d.ts +0 -16
- package/dist/paraglide/messages/fantasy.js +0 -84
- package/dist/paraglide/messages/forest.d.ts +0 -16
- package/dist/paraglide/messages/forest.js +0 -84
- package/dist/paraglide/messages/fr.d.ts +0 -16
- package/dist/paraglide/messages/fr.js +0 -84
- package/dist/paraglide/messages/garden.d.ts +0 -16
- package/dist/paraglide/messages/garden.js +0 -84
- package/dist/paraglide/messages/halloween.d.ts +0 -16
- package/dist/paraglide/messages/halloween.js +0 -84
- package/dist/paraglide/messages/hello_world.d.ts +0 -18
- package/dist/paraglide/messages/hello_world.js +0 -84
- package/dist/paraglide/messages/hi.d.ts +0 -16
- package/dist/paraglide/messages/hi.js +0 -84
- package/dist/paraglide/messages/it.d.ts +0 -16
- package/dist/paraglide/messages/it.js +0 -84
- package/dist/paraglide/messages/ja.d.ts +0 -16
- package/dist/paraglide/messages/ja.js +0 -84
- package/dist/paraglide/messages/jpy3.d.ts +0 -17
- package/dist/paraglide/messages/jpy3.js +0 -85
- package/dist/paraglide/messages/ko.d.ts +0 -16
- package/dist/paraglide/messages/ko.js +0 -84
- package/dist/paraglide/messages/krw3.d.ts +0 -17
- package/dist/paraglide/messages/krw3.js +0 -85
- package/dist/paraglide/messages/languages.d.ts +0 -16
- package/dist/paraglide/messages/languages.js +0 -84
- package/dist/paraglide/messages/lemonade.d.ts +0 -16
- package/dist/paraglide/messages/lemonade.js +0 -84
- package/dist/paraglide/messages/light.d.ts +0 -16
- package/dist/paraglide/messages/light.js +0 -84
- package/dist/paraglide/messages/live_store_dashboard.d.ts +0 -16
- package/dist/paraglide/messages/live_store_dashboard.js +0 -84
- package/dist/paraglide/messages/localization.d.ts +0 -16
- package/dist/paraglide/messages/localization.js +0 -84
- package/dist/paraglide/messages/lofi.d.ts +0 -16
- package/dist/paraglide/messages/lofi.js +0 -84
- package/dist/paraglide/messages/luxury.d.ts +0 -16
- package/dist/paraglide/messages/luxury.js +0 -84
- package/dist/paraglide/messages/mxn3.d.ts +0 -17
- package/dist/paraglide/messages/mxn3.js +0 -85
- package/dist/paraglide/messages/name_label.d.ts +0 -16
- package/dist/paraglide/messages/name_label.js +0 -84
- package/dist/paraglide/messages/night.d.ts +0 -16
- package/dist/paraglide/messages/night.js +0 -84
- package/dist/paraglide/messages/nord.d.ts +0 -16
- package/dist/paraglide/messages/nord.js +0 -84
- package/dist/paraglide/messages/pastel.d.ts +0 -16
- package/dist/paraglide/messages/pastel.js +0 -84
- package/dist/paraglide/messages/pt.d.ts +0 -16
- package/dist/paraglide/messages/pt.js +0 -84
- package/dist/paraglide/messages/real_time_monitor_desc.d.ts +0 -16
- package/dist/paraglide/messages/real_time_monitor_desc.js +0 -84
- package/dist/paraglide/messages/registered_in_registry.d.ts +0 -16
- package/dist/paraglide/messages/registered_in_registry.js +0 -84
- package/dist/paraglide/messages/retro.d.ts +0 -16
- package/dist/paraglide/messages/retro.js +0 -84
- package/dist/paraglide/messages/ru.d.ts +0 -16
- package/dist/paraglide/messages/ru.js +0 -84
- package/dist/paraglide/messages/silk.d.ts +0 -16
- package/dist/paraglide/messages/silk.js +0 -84
- package/dist/paraglide/messages/state_label.d.ts +0 -16
- package/dist/paraglide/messages/state_label.js +0 -84
- package/dist/paraglide/messages/sunset.d.ts +0 -16
- package/dist/paraglide/messages/sunset.js +0 -84
- package/dist/paraglide/messages/synthwave.d.ts +0 -16
- package/dist/paraglide/messages/synthwave.js +0 -84
- package/dist/paraglide/messages/system.d.ts +0 -16
- package/dist/paraglide/messages/system.js +0 -84
- package/dist/paraglide/messages/theme.d.ts +0 -16
- package/dist/paraglide/messages/theme.js +0 -84
- package/dist/paraglide/messages/themes.d.ts +0 -16
- package/dist/paraglide/messages/themes.js +0 -84
- package/dist/paraglide/messages/url_label.d.ts +0 -16
- package/dist/paraglide/messages/url_label.js +0 -84
- package/dist/paraglide/messages/usd3.d.ts +0 -17
- package/dist/paraglide/messages/usd3.js +0 -85
- package/dist/paraglide/messages/valentine.d.ts +0 -16
- package/dist/paraglide/messages/valentine.js +0 -84
- package/dist/paraglide/messages/version_label.d.ts +0 -16
- package/dist/paraglide/messages/version_label.js +0 -84
- package/dist/paraglide/messages/vi.d.ts +0 -16
- package/dist/paraglide/messages/vi.js +0 -84
- package/dist/paraglide/messages/winter.d.ts +0 -16
- package/dist/paraglide/messages/winter.js +0 -84
- package/dist/paraglide/messages/wireframe.d.ts +0 -16
- package/dist/paraglide/messages/wireframe.js +0 -84
- package/dist/paraglide/messages/zh.d.ts +0 -16
- package/dist/paraglide/messages/zh.js +0 -84
- package/dist/server/index.d.ts +0 -15
- package/dist/server/index.js +0 -20
- package/dist/showcase/AppStateInspector.svelte +0 -184
- package/dist/showcase/AppStateInspector.svelte.d.ts +0 -3
- package/dist/showcase/Showcase.svelte +0 -115
- package/dist/showcase/Showcase.svelte.d.ts +0 -18
- package/dist/showcase/ShowcaseCard.svelte +0 -18
- package/dist/showcase/ShowcaseCard.svelte.d.ts +0 -9
- package/dist/showcase/StoreDetailCard.svelte +0 -68
- package/dist/showcase/StoreDetailCard.svelte.d.ts +0 -19
- package/dist/showcase/shared.d.ts +0 -7
- package/dist/showcase/shared.js +0 -34
- package/dist/showcase/state.svelte.d.ts +0 -3
- package/dist/showcase/state.svelte.js +0 -3
- package/dist/showcase/tabs/Actions.svelte +0 -150
- package/dist/showcase/tabs/Actions.svelte.d.ts +0 -18
- package/dist/showcase/tabs/DataInput.svelte +0 -164
- package/dist/showcase/tabs/DataInput.svelte.d.ts +0 -3
- package/dist/showcase/tabs/Display.svelte +0 -159
- package/dist/showcase/tabs/Display.svelte.d.ts +0 -18
- package/dist/showcase/tabs/Feedback.svelte +0 -180
- package/dist/showcase/tabs/Feedback.svelte.d.ts +0 -3
- package/dist/showcase/tabs/Navigation.svelte +0 -170
- package/dist/showcase/tabs/Navigation.svelte.d.ts +0 -18
- package/dist/showcase/tabs/Visual.svelte +0 -133
- package/dist/showcase/tabs/Visual.svelte.d.ts +0 -18
- /package/dist/{internal → core/internal}/message-resolver.js +0 -0
- /package/dist/{persistence → core/persistence}/types.js +0 -0
- /package/dist/{composables → state/composables}/usePersistence.js +0 -0
- /package/dist/{config.d.ts → state/config.d.ts} +0 -0
- /package/dist/{config.js → state/config.js} +0 -0
- /package/dist/{context.d.ts → state/context.d.ts} +0 -0
- /package/dist/{context.js → state/context.js} +0 -0
- /package/dist/{actions → ui/actions}/portal.d.ts +0 -0
- /package/dist/{components → ui/components}/ApiMonitor.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/Icon.svelte.d.ts +0 -0
- /package/dist/{components → ui/components}/Toaster.svelte.d.ts +0 -0
- /package/dist/{features → ui/features}/command-palette/CommandPalette.svelte.d.ts +0 -0
- /package/dist/{features → ui/features}/config/CurrencySelector.svelte.d.ts +0 -0
- /package/dist/{features → ui/features}/config/LanguageSelector.svelte.d.ts +0 -0
- /package/dist/{features → ui/features}/config/ThemeSelector.svelte.d.ts +0 -0
- /package/dist/{features → ui/features}/shortcuts/ShortcutPalette.svelte.d.ts +0 -0
- /package/dist/{layout → ui/layout}/ContentArea.svelte +0 -0
- /package/dist/{layout → ui/layout}/ContentArea.svelte.d.ts +0 -0
- /package/dist/{layout → ui/layout}/DetailPanel.svelte +0 -0
- /package/dist/{layout → ui/layout}/DetailPanel.svelte.d.ts +0 -0
- /package/dist/{layout → ui/layout}/WorkspaceLayout.svelte.d.ts +0 -0
- /package/dist/{paraglide → ui/paraglide}/messages.d.ts +0 -0
- /package/dist/{paraglide → ui/paraglide}/messages.js +0 -0
- /package/dist/{paraglide → ui/paraglide}/registry.d.ts +0 -0
- /package/dist/{paraglide → ui/paraglide}/registry.js +0 -0
- /package/dist/{paraglide → ui/paraglide}/server.d.ts +0 -0
- /package/dist/{paraglide → ui/paraglide}/server.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAE5C,cAAc,qBAAqB,CAAC"}
|
|
@@ -39,3 +39,4 @@ export declare function hasMessage(messages: MessageBundle, key: string): boolea
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function batchResolveMessages<T>(messages: MessageBundle, options: T[], config: MessageResolverConfig<T>): Record<string, string>;
|
|
41
41
|
export {};
|
|
42
|
+
//# sourceMappingURL=message-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-resolver.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/internal/message-resolver.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC;AAEhE,UAAU,qBAAqB,CAAC,CAAC;IAC/B;;;OAGG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IAEpC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CAC1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAExB,QAAQ,CAAC,KAAG,MAAM,CAmB3B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,30 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export {
|
|
3
|
-
export { RUNE_LAB_CONTEXT } from "./context";
|
|
4
|
-
export type { PersistenceDriver } from "./persistence/types";
|
|
5
|
-
export { cookieDriver, inMemoryDriver, localStorageDriver, sessionStorageDriver, } from "./persistence/drivers";
|
|
6
|
-
export { type RuneLabContext, useRuneLab } from "./composables/useRuneLab.js";
|
|
7
|
-
export { usePersistence } from "./composables/usePersistence.js";
|
|
8
|
-
export { portal } from "./actions/portal";
|
|
9
|
-
export { default as RuneProvider } from "./components/RuneProvider.svelte";
|
|
10
|
-
export { default as Icon } from "./components/Icon.svelte";
|
|
11
|
-
export { default as Toaster } from "./components/Toaster.svelte";
|
|
12
|
-
export { default as ApiMonitor } from "./components/ApiMonitor.svelte";
|
|
13
|
-
export { default as CommandPalette } from "./features/command-palette/CommandPalette.svelte";
|
|
14
|
-
export { default as ShortcutPalette } from "./features/shortcuts/ShortcutPalette.svelte";
|
|
15
|
-
export { default as WorkspaceLayout, type WorkspaceLayoutProps, } from "./layout/WorkspaceLayout.svelte";
|
|
16
|
-
export { default as WorkspaceStrip } from "./layout/WorkspaceStrip.svelte";
|
|
17
|
-
export { default as NavigationPanel } from "./layout/NavigationPanel.svelte";
|
|
18
|
-
export { default as ContentArea } from "./layout/ContentArea.svelte";
|
|
19
|
-
export { default as DetailPanel } from "./layout/DetailPanel.svelte";
|
|
20
|
-
export { default as ConnectedNavigationPanel } from "./features/layout/smart/ConnectedNavigationPanel.svelte";
|
|
21
|
-
export { default as ConnectedWorkspaceStrip } from "./features/layout/smart/ConnectedWorkspaceStrip.svelte";
|
|
22
|
-
export { default as AppSettingSelector } from "./features/config/AppSettingSelector.svelte";
|
|
23
|
-
export { default as ThemeSelector } from "./features/config/ThemeSelector.svelte";
|
|
24
|
-
export { default as LanguageSelector } from "./features/config/LanguageSelector.svelte";
|
|
25
|
-
export { default as CurrencySelector } from "./features/config/CurrencySelector.svelte";
|
|
26
|
-
export { createApiStore, createAppStore, createCommandStore, createCurrencyStore, createLanguageStore, createLayoutStore, createShortcutStore, createThemeStore, createToastBridge, createToastStore, getApiStore, getAppStore, getCommandStore, getCurrencyStore, getLanguageStore, getLayoutStore, getShortcutStore, getThemeStore, getToastStore, notify, } from "./state/index";
|
|
27
|
-
export { default as AppStateInspector } from "./showcase/AppStateInspector.svelte";
|
|
28
|
-
export type { AppData, Command, ConfigStore, Currency, Language, NavigationItem, NavigationSection, ShortcutEntry, Theme, WorkspaceItem, } from "./state/index";
|
|
29
|
-
export type { ConnectionState } from "./state/api.svelte";
|
|
30
|
-
export * as sdkMessages from "./paraglide/messages.js";
|
|
1
|
+
export * from "./ui/index.js";
|
|
2
|
+
export { cookieDriver, localStorageDriver, sessionStorageDriver } from "./state/index.js";
|
package/dist/index.js
CHANGED
|
@@ -1,40 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// ── Devtools utilities ────────────────────────────────────────────────────────
|
|
4
|
-
export { createConfigStore } from "./state/createConfigStore.svelte";
|
|
5
|
-
export { createMessageResolver } from "./internal/message-resolver";
|
|
6
|
-
export { RUNE_LAB_CONTEXT } from "./context";
|
|
7
|
-
export { cookieDriver, inMemoryDriver, localStorageDriver, sessionStorageDriver, } from "./persistence/drivers";
|
|
8
|
-
// ── Composables ───────────────────────────────────────────────────────────────
|
|
9
|
-
export { useRuneLab } from "./composables/useRuneLab.js";
|
|
10
|
-
export { usePersistence } from "./composables/usePersistence.js";
|
|
11
|
-
// ── Actions ───────────────────────────────────────────────────────────────────
|
|
12
|
-
export { portal } from "./actions/portal";
|
|
13
|
-
// ── UI Components ─────────────────────────────────────────────────────────────
|
|
14
|
-
// Core primitives
|
|
15
|
-
export { default as RuneProvider } from "./components/RuneProvider.svelte";
|
|
16
|
-
export { default as Icon } from "./components/Icon.svelte";
|
|
17
|
-
// Core overlays
|
|
18
|
-
export { default as Toaster } from "./components/Toaster.svelte";
|
|
19
|
-
export { default as ApiMonitor } from "./components/ApiMonitor.svelte";
|
|
20
|
-
export { default as CommandPalette } from "./features/command-palette/CommandPalette.svelte";
|
|
21
|
-
export { default as ShortcutPalette } from "./features/shortcuts/ShortcutPalette.svelte";
|
|
22
|
-
// Layout - Dumb Primitives
|
|
23
|
-
export { default as WorkspaceLayout, } from "./layout/WorkspaceLayout.svelte";
|
|
24
|
-
export { default as WorkspaceStrip } from "./layout/WorkspaceStrip.svelte";
|
|
25
|
-
export { default as NavigationPanel } from "./layout/NavigationPanel.svelte";
|
|
26
|
-
export { default as ContentArea } from "./layout/ContentArea.svelte";
|
|
27
|
-
export { default as DetailPanel } from "./layout/DetailPanel.svelte";
|
|
28
|
-
// Layout - Smart Connected Components
|
|
29
|
-
export { default as ConnectedNavigationPanel } from "./features/layout/smart/ConnectedNavigationPanel.svelte";
|
|
30
|
-
export { default as ConnectedWorkspaceStrip } from "./features/layout/smart/ConnectedWorkspaceStrip.svelte";
|
|
31
|
-
// Setting selectors
|
|
32
|
-
export { default as AppSettingSelector } from "./features/config/AppSettingSelector.svelte";
|
|
33
|
-
export { default as ThemeSelector } from "./features/config/ThemeSelector.svelte";
|
|
34
|
-
export { default as LanguageSelector } from "./features/config/LanguageSelector.svelte";
|
|
35
|
-
export { default as CurrencySelector } from "./features/config/CurrencySelector.svelte";
|
|
36
|
-
// ── Stores ────────────────────────────────────────────────────────────────────
|
|
37
|
-
export { createApiStore, createAppStore, createCommandStore, createCurrencyStore, createLanguageStore, createLayoutStore, createShortcutStore, createThemeStore, createToastBridge, createToastStore, getApiStore, getAppStore, getCommandStore, getCurrencyStore, getLanguageStore, getLayoutStore, getShortcutStore, getThemeStore, getToastStore, notify, } from "./state/index";
|
|
38
|
-
export { default as AppStateInspector } from "./showcase/AppStateInspector.svelte";
|
|
39
|
-
// ── Paraglide compiled messages ───────────────────────────────────────────────
|
|
40
|
-
export * as sdkMessages from "./paraglide/messages.js";
|
|
1
|
+
export * from "./ui/index.js";
|
|
2
|
+
export { cookieDriver, localStorageDriver, sessionStorageDriver } from "./state/index.js";
|
package/dist/state/api.svelte.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getContext } from "svelte";
|
|
2
|
-
import { RUNE_LAB_CONTEXT } from "
|
|
2
|
+
import { RUNE_LAB_CONTEXT } from "./context";
|
|
3
|
+
import { DEV } from 'esm-env';
|
|
3
4
|
export class ApiStore {
|
|
4
5
|
// State
|
|
5
6
|
url = $state("http://localhost:8000");
|
|
@@ -34,7 +35,7 @@ export class ApiStore {
|
|
|
34
35
|
}
|
|
35
36
|
else {
|
|
36
37
|
// Simulate connection if no health check provided
|
|
37
|
-
if (
|
|
38
|
+
if (DEV) {
|
|
38
39
|
console.warn("[rune-lab] ApiStore: No healthCheck provided to init(). Using simulated connection delay.");
|
|
39
40
|
}
|
|
40
41
|
await new Promise((resolve) => setTimeout(resolve, 1500));
|
package/dist/state/app.svelte.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/lib/stores/app-config.svelte.ts
|
|
2
2
|
import { getContext } from "svelte";
|
|
3
|
-
import { RUNE_LAB_CONTEXT } from "
|
|
3
|
+
import { RUNE_LAB_CONTEXT } from "./context";
|
|
4
|
+
import { DEV } from 'esm-env';
|
|
4
5
|
/**
|
|
5
6
|
* App Store
|
|
6
7
|
* Manages application metadata and identity
|
|
@@ -21,7 +22,7 @@ export class AppStore {
|
|
|
21
22
|
*/
|
|
22
23
|
init(data) {
|
|
23
24
|
if (this.#initialized) {
|
|
24
|
-
if (
|
|
25
|
+
if (DEV) {
|
|
25
26
|
console.warn("AppStore.init() called multiple times. Ignoring subsequent calls.", "Overwritten properties would have been:", data);
|
|
26
27
|
}
|
|
27
28
|
return;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { PersistenceDriver } from "
|
|
1
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
2
2
|
export declare function usePersistence(): PersistenceDriver | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getApiStore, getAppStore, getCommandStore, getCurrencyStore, getLanguageStore, getLayoutStore, getShortcutStore, getThemeStore, getToastStore } from "../
|
|
1
|
+
import { getApiStore, getAppStore, getCommandStore, getCurrencyStore, getLanguageStore, getLayoutStore, getShortcutStore, getThemeStore, getToastStore } from "../index";
|
|
2
2
|
export interface RuneLabContext {
|
|
3
3
|
app: ReturnType<typeof getAppStore>;
|
|
4
4
|
api: ReturnType<typeof getApiStore>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/lib/composables/useRuneLab.ts
|
|
2
|
-
import { getApiStore, getAppStore, getCommandStore, getCurrencyStore, getLanguageStore, getLayoutStore, getShortcutStore, getThemeStore, getToastStore, } from "../
|
|
2
|
+
import { getApiStore, getAppStore, getCommandStore, getCurrencyStore, getLanguageStore, getLayoutStore, getShortcutStore, getThemeStore, getToastStore, } from "../index";
|
|
3
3
|
/**
|
|
4
4
|
* Retrieves all Rune Lab stores from the Svelte context tree.
|
|
5
5
|
* Must be called during component initialization (in the `<script>` block).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// client/sdk/devtools/src/patterns/createConfigStore.svelte.ts
|
|
2
|
-
import {} from "
|
|
3
|
-
import {
|
|
2
|
+
import { createInMemoryDriver } from "./persistence/drivers";
|
|
3
|
+
import { DEV } from 'esm-env';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a reactive configuration store with persistence
|
|
6
6
|
*/
|
|
@@ -15,7 +15,7 @@ export function createConfigStore(options) {
|
|
|
15
15
|
if (saved && this.get(saved)) {
|
|
16
16
|
this.current = saved;
|
|
17
17
|
}
|
|
18
|
-
if (
|
|
18
|
+
if (DEV) {
|
|
19
19
|
console.log(`${icon} ${displayName} configured:`, {
|
|
20
20
|
current: this.current,
|
|
21
21
|
});
|
|
@@ -8,7 +8,7 @@ export interface Currency {
|
|
|
8
8
|
symbol: string;
|
|
9
9
|
decimals: number;
|
|
10
10
|
}
|
|
11
|
-
import type { PersistenceDriver } from "
|
|
11
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
12
12
|
export declare function createCurrencyStore(driver?: PersistenceDriver | (() => PersistenceDriver | undefined)): {
|
|
13
13
|
current: string | number;
|
|
14
14
|
available: Currency[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createConfigStore, } from "./createConfigStore.svelte";
|
|
2
2
|
import { getContext } from "svelte";
|
|
3
|
-
import { RUNE_LAB_CONTEXT } from "
|
|
3
|
+
import { RUNE_LAB_CONTEXT } from "./context";
|
|
4
4
|
const CURRENCIES = [
|
|
5
5
|
{ code: "USD", symbol: "$", decimals: 2 },
|
|
6
6
|
{ code: "EUR", symbol: "€", decimals: 2 },
|
package/dist/state/index.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export { RUNE_LAB_CONTEXT } from "./context";
|
|
2
|
+
export { useRuneLab } from "./composables/useRuneLab";
|
|
3
|
+
export type { RuneLabContext } from "./composables/useRuneLab";
|
|
4
|
+
export { usePersistence } from "./composables/usePersistence";
|
|
5
|
+
export { cookieDriver, createInMemoryDriver, inMemoryDriver, localStorageDriver, sessionStorageDriver, } from "./persistence/drivers";
|
|
1
6
|
export { type AppData, AppStore, createAppStore, getAppStore, } from "./app.svelte";
|
|
2
7
|
export { createLayoutStore, getLayoutStore, LayoutStore, type NavigationItem, type NavigationSection, type WorkspaceItem, } from "./layout.svelte";
|
|
3
8
|
export { ApiStore, type ConnectionState, createApiStore, getApiStore, } from "./api.svelte";
|
package/dist/state/index.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Unified public barrel for
|
|
1
|
+
// sdk/state/src/index.ts
|
|
2
|
+
// Unified public barrel for @internal/state
|
|
3
|
+
// ── Context ───────────────────────────────────────────────────────────────────
|
|
4
|
+
export { RUNE_LAB_CONTEXT } from "./context";
|
|
5
|
+
// ── Composables ───────────────────────────────────────────────────────────────
|
|
6
|
+
export { useRuneLab } from "./composables/useRuneLab";
|
|
7
|
+
export { usePersistence } from "./composables/usePersistence";
|
|
8
|
+
// ── Persistence Drivers ───────────────────────────────────────────────────────
|
|
9
|
+
export { cookieDriver, createInMemoryDriver, inMemoryDriver, localStorageDriver, sessionStorageDriver, } from "./persistence/drivers";
|
|
3
10
|
// Stores
|
|
4
11
|
export { AppStore, createAppStore, getAppStore, } from "./app.svelte";
|
|
5
12
|
export { createLayoutStore, getLayoutStore, LayoutStore, } from "./layout.svelte";
|
|
@@ -47,10 +47,11 @@ export declare const LANGUAGES: readonly [{
|
|
|
47
47
|
readonly code: "vi";
|
|
48
48
|
readonly flag: "🇻🇳";
|
|
49
49
|
}];
|
|
50
|
-
import type { PersistenceDriver } from "
|
|
50
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
51
51
|
export interface LanguageStoreOptions {
|
|
52
52
|
driver?: PersistenceDriver | (() => PersistenceDriver | undefined);
|
|
53
53
|
onLocaleChange?: (code: string) => void;
|
|
54
|
+
locales?: readonly string[];
|
|
54
55
|
}
|
|
55
56
|
export declare function createLanguageStore(options?: LanguageStoreOptions): {
|
|
56
57
|
current: string | undefined;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
//
|
|
1
|
+
// sdk/state/src/language.svelte.ts
|
|
2
2
|
import { createConfigStore, } from "./createConfigStore.svelte";
|
|
3
|
-
import { setLocale } from "../paraglide/runtime.js";
|
|
4
3
|
import { getContext } from "svelte";
|
|
5
|
-
import { RUNE_LAB_CONTEXT } from "
|
|
4
|
+
import { RUNE_LAB_CONTEXT } from "./context";
|
|
6
5
|
export const LANGUAGES = [
|
|
7
6
|
// --- INDOEUROPEAS (Rama Romance / Latín) ---
|
|
8
7
|
{ code: "es", flag: "🇲🇽" },
|
|
@@ -27,28 +26,17 @@ export function createLanguageStore(options) {
|
|
|
27
26
|
const driver = typeof options?.driver === "function"
|
|
28
27
|
? options.driver()
|
|
29
28
|
: options?.driver;
|
|
29
|
+
const items = options?.locales
|
|
30
|
+
? LANGUAGES.filter((l) => options.locales.includes(l.code))
|
|
31
|
+
: LANGUAGES;
|
|
30
32
|
const store = createConfigStore({
|
|
31
|
-
items
|
|
33
|
+
items,
|
|
32
34
|
storageKey: "language",
|
|
33
35
|
displayName: "Language",
|
|
34
36
|
idKey: "code",
|
|
35
37
|
icon: "🌍",
|
|
36
38
|
driver,
|
|
37
39
|
});
|
|
38
|
-
// Sync Paraglide locale with languageStore
|
|
39
|
-
if (typeof window !== "undefined") {
|
|
40
|
-
$effect.root(() => {
|
|
41
|
-
$effect(() => {
|
|
42
|
-
const currentCode = store.current;
|
|
43
|
-
if (options?.onLocaleChange) {
|
|
44
|
-
options.onLocaleChange(currentCode);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
setLocale(currentCode);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
40
|
return store;
|
|
53
41
|
}
|
|
54
42
|
export function getLanguageStore() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PersistenceDriver } from "
|
|
1
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
2
2
|
export declare function createInMemoryDriver(): PersistenceDriver;
|
|
3
3
|
export declare const inMemoryDriver: PersistenceDriver;
|
|
4
4
|
export declare const localStorageDriver: PersistenceDriver;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import hotkeys from "hotkeys-js";
|
|
2
2
|
import { getContext, untrack } from "svelte";
|
|
3
|
-
import { RUNE_LAB_CONTEXT } from "
|
|
3
|
+
import { RUNE_LAB_CONTEXT } from "./context";
|
|
4
|
+
import { DEV } from 'esm-env';
|
|
4
5
|
/**
|
|
5
6
|
* Built-in layout shortcuts
|
|
6
7
|
*/
|
|
@@ -97,7 +98,7 @@ export class ShortcutStore {
|
|
|
97
98
|
untrack(() => {
|
|
98
99
|
const existingIndex = this.entries.findIndex((e) => e.id === entry.id);
|
|
99
100
|
if (existingIndex !== -1) {
|
|
100
|
-
if (
|
|
101
|
+
if (DEV) {
|
|
101
102
|
console.warn(`[ShortcutStore] Overwriting shortcut ID "${entry.id}"`, {
|
|
102
103
|
old: this.entries[existingIndex],
|
|
103
104
|
new: entry,
|
|
@@ -108,7 +109,7 @@ export class ShortcutStore {
|
|
|
108
109
|
}
|
|
109
110
|
// Check for collisions (keys + scope)
|
|
110
111
|
const collision = this.entries.find((e) => e.keys === entry.keys && e.scope === entry.scope);
|
|
111
|
-
if (collision &&
|
|
112
|
+
if (collision && DEV) {
|
|
112
113
|
console.warn(`[ShortcutStore] Collision detected for keys "${entry.keys}" in scope "${entry.scope}". ` +
|
|
113
114
|
`ID "${entry.id}" will displace "${collision.id}".`);
|
|
114
115
|
}
|
|
@@ -3,7 +3,7 @@ export interface Theme {
|
|
|
3
3
|
name: string;
|
|
4
4
|
icon: string;
|
|
5
5
|
}
|
|
6
|
-
import type { PersistenceDriver } from "
|
|
6
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
7
7
|
export declare function createThemeStore(driver?: PersistenceDriver | (() => PersistenceDriver | undefined)): {
|
|
8
8
|
current: string;
|
|
9
9
|
available: Theme[];
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// client/packages/ui/src/state/theme-config.svelte.ts
|
|
2
2
|
import { createConfigStore, } from "./createConfigStore.svelte";
|
|
3
3
|
import { getContext } from "svelte";
|
|
4
|
-
import { RUNE_LAB_CONTEXT } from "
|
|
5
|
-
import themeOrder from "daisyui/functions/themeOrder.js"; // has its own .d.ts
|
|
4
|
+
import { RUNE_LAB_CONTEXT } from "./context";
|
|
6
5
|
// Icon map for known themes - unknown ones fall back to 🎨
|
|
7
6
|
const THEME_ICONS = {
|
|
8
7
|
light: "🌞",
|
|
@@ -46,6 +45,7 @@ const THEMES = themeOrder.map((name) => ({
|
|
|
46
45
|
name,
|
|
47
46
|
icon: THEME_ICONS[name] ?? "🎨",
|
|
48
47
|
}));
|
|
48
|
+
import themeOrder from "daisyui/functions/themeOrder.js";
|
|
49
49
|
export function createThemeStore(driver) {
|
|
50
50
|
return createConfigStore({
|
|
51
51
|
items: THEMES,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEV } from 'esm-env';
|
|
1
2
|
/**
|
|
2
3
|
* Svelte action to teleport a DOM element to a different target (e.g. body)
|
|
3
4
|
*/
|
|
@@ -7,7 +8,7 @@ export function portal(node, target = "body") {
|
|
|
7
8
|
function update(newTarget) {
|
|
8
9
|
if (typeof newTarget === "string") {
|
|
9
10
|
targetNode = document.querySelector(newTarget);
|
|
10
|
-
if (!targetNode &&
|
|
11
|
+
if (!targetNode && DEV) {
|
|
11
12
|
console.warn(`portal target selector "${newTarget}" not found in document.`);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { getApiStore } from "
|
|
3
|
-
import { getToastStore } from "
|
|
2
|
+
import { getApiStore } from "@internal/state";
|
|
3
|
+
import { getToastStore } from "@internal/state";
|
|
4
4
|
|
|
5
5
|
const apiStore = getApiStore();
|
|
6
6
|
const toastStore = getToastStore();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { getAppStore } from "
|
|
2
|
+
import { getAppStore } from "@internal/state";
|
|
3
|
+
import { DEV } from "esm-env";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Simple Icon component for Rune Lab
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
if (appStore?.customIcons?.[name]) return appStore.customIcons[name];
|
|
64
65
|
if (paths[name]) return paths[name];
|
|
65
66
|
|
|
66
|
-
if (
|
|
67
|
+
if (DEV) {
|
|
67
68
|
console.warn(`[Icon] Unknown icon name: "${name}"`);
|
|
68
69
|
}
|
|
69
70
|
return paths.unknown;
|
|
@@ -10,13 +10,12 @@
|
|
|
10
10
|
createLanguageStore,
|
|
11
11
|
createCurrencyStore,
|
|
12
12
|
createShortcutStore,
|
|
13
|
-
} from "
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
import type {
|
|
18
|
-
import {
|
|
19
|
-
import type { AppData } from "../state/app.svelte";
|
|
13
|
+
} from "@internal/state";
|
|
14
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
15
|
+
import { localStorageDriver } from "@internal/state";
|
|
16
|
+
import { RUNE_LAB_CONTEXT } from "@internal/state";
|
|
17
|
+
import type { AppData } from "@internal/state";
|
|
18
|
+
import { CommandPalette, ShortcutPalette, Toaster } from "@internal/ui";
|
|
20
19
|
|
|
21
20
|
export interface RuneLabConfig {
|
|
22
21
|
persistence?: PersistenceDriver;
|
|
@@ -26,6 +25,9 @@
|
|
|
26
25
|
favicon?: string;
|
|
27
26
|
manageHead?: boolean;
|
|
28
27
|
dictionary?: Record<string, any>;
|
|
28
|
+
locales?: readonly string[];
|
|
29
|
+
onLanguageChange?: (code: string) => void;
|
|
30
|
+
onThemeChange?: (name: string) => void;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
let { children, config = {} } = $props<{
|
|
@@ -38,15 +40,17 @@
|
|
|
38
40
|
const apiStore = createApiStore();
|
|
39
41
|
const toastStore = createToastStore();
|
|
40
42
|
|
|
41
|
-
// Wire global toast bridge
|
|
42
|
-
wire(toastStore);
|
|
43
|
-
|
|
44
43
|
// Capture the initial persistence prop to avoid Svelte 5 reactive capture warnings
|
|
45
|
-
|
|
44
|
+
// Default to localStorageDriver to ensure UI selectors persist across browser page reloads
|
|
45
|
+
const initialPersistence = untrack(
|
|
46
|
+
() => config.persistence ?? localStorageDriver,
|
|
47
|
+
);
|
|
48
|
+
const initialLocales = untrack(() => config.locales);
|
|
46
49
|
|
|
47
50
|
const themeStore = createThemeStore(initialPersistence);
|
|
48
51
|
const languageStore = createLanguageStore({
|
|
49
52
|
driver: initialPersistence,
|
|
53
|
+
locales: initialLocales,
|
|
50
54
|
});
|
|
51
55
|
const currencyStore = createCurrencyStore(initialPersistence);
|
|
52
56
|
const shortcutStore = createShortcutStore();
|
|
@@ -85,7 +89,22 @@
|
|
|
85
89
|
});
|
|
86
90
|
|
|
87
91
|
$effect(() => {
|
|
88
|
-
if (config.apiUrl)
|
|
92
|
+
if (config.apiUrl)
|
|
93
|
+
apiStore.init(config.apiUrl, "v1", config.apiHealthCheck);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
$effect(() => {
|
|
97
|
+
const code = languageStore.current as string;
|
|
98
|
+
if (config.onLanguageChange) {
|
|
99
|
+
config.onLanguageChange(code);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
$effect(() => {
|
|
104
|
+
const name = themeStore.current as string;
|
|
105
|
+
if (config.onThemeChange) {
|
|
106
|
+
config.onThemeChange(name);
|
|
107
|
+
}
|
|
89
108
|
});
|
|
90
109
|
|
|
91
110
|
onMount(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Snippet } from "svelte";
|
|
2
|
-
import type { PersistenceDriver } from "
|
|
3
|
-
import type { AppData } from "
|
|
2
|
+
import type { PersistenceDriver } from "@internal/core";
|
|
3
|
+
import type { AppData } from "@internal/state";
|
|
4
4
|
export interface RuneLabConfig {
|
|
5
5
|
persistence?: PersistenceDriver;
|
|
6
6
|
app?: Partial<AppData>;
|
|
@@ -9,6 +9,9 @@ export interface RuneLabConfig {
|
|
|
9
9
|
favicon?: string;
|
|
10
10
|
manageHead?: boolean;
|
|
11
11
|
dictionary?: Record<string, any>;
|
|
12
|
+
locales?: readonly string[];
|
|
13
|
+
onLanguageChange?: (code: string) => void;
|
|
14
|
+
onThemeChange?: (name: string) => void;
|
|
12
15
|
}
|
|
13
16
|
type $$ComponentProps = {
|
|
14
17
|
children: Snippet;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!-- src/client/sdk/ui/src/features/config/CommandPalette.svelte -->
|
|
2
2
|
<script lang="ts">
|
|
3
3
|
import { onMount, tick } from "svelte";
|
|
4
|
-
import { getCommandStore, type Command } from "
|
|
5
|
-
import { getShortcutStore } from "
|
|
6
|
-
import { Icon } from "
|
|
4
|
+
import { getCommandStore, type Command } from "@internal/state";
|
|
5
|
+
import { getShortcutStore } from "@internal/state";
|
|
6
|
+
import { Icon } from "@internal/ui";
|
|
7
7
|
|
|
8
8
|
let { shortcutKey = "shift+k" } = $props<{ shortcutKey?: string }>();
|
|
9
9
|
|