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.
- package/.gitignore +12 -0
- package/README.md +3 -3
- package/deno.json +50 -0
- package/justfile +5 -0
- package/package.json +2 -79
- package/scripts/build_pkg.ts +51 -0
- package/scripts/ci.just +26 -0
- package/scripts/deploy.just +21 -0
- package/scripts/dev.just +4 -0
- package/scripts/inject.just +72 -0
- package/src/RuneProvider.svelte +105 -0
- package/src/i18n/message-resolver.test.ts +103 -0
- package/src/i18n/message-resolver.ts +89 -0
- package/src/i18n/project.inlang/settings.json +26 -0
- package/src/i18n/translations/ar.json +89 -0
- package/src/i18n/translations/de.json +89 -0
- package/src/i18n/translations/en.json +89 -0
- package/src/i18n/translations/es.json +89 -0
- package/src/i18n/translations/fr.json +89 -0
- package/src/i18n/translations/hi.json +89 -0
- package/src/i18n/translations/it.json +89 -0
- package/src/i18n/translations/ja.json +89 -0
- package/src/i18n/translations/ko.json +89 -0
- package/src/i18n/translations/pt.json +89 -0
- package/src/i18n/translations/ru.json +89 -0
- package/src/i18n/translations/vi.json +89 -0
- package/src/i18n/translations/zh.json +89 -0
- package/src/kernel/deno.json +5 -0
- package/src/kernel/src/actions/portal.ts +41 -0
- package/src/kernel/src/actions/shortcut-listener.ts +50 -0
- package/src/kernel/src/context/app.svelte.ts +98 -0
- package/src/kernel/src/context/context.ts +31 -0
- package/src/kernel/src/context/stores.svelte.ts +96 -0
- package/src/kernel/src/context/types.ts +110 -0
- package/src/kernel/src/context/useRuneLab.ts +38 -0
- package/src/kernel/src/mod.ts +13 -0
- package/src/kernel/src/persistence/createConfigStore.svelte.ts +120 -0
- package/src/kernel/src/persistence/drivers.test.ts +95 -0
- package/src/kernel/src/persistence/drivers.ts +77 -0
- package/src/kernel/src/persistence/provider.test.ts +58 -0
- package/{dist/state/persistence/provider.js → src/kernel/src/persistence/provider.ts} +29 -14
- package/src/kernel/src/persistence/types.ts +19 -0
- package/src/kernel/src/persistence/usePersistence.ts +9 -0
- package/src/kernel/src/registry/mod.ts +221 -0
- package/src/kernel/src/registry/registry.test.ts +162 -0
- package/src/kernel/src/tokens/props.ts +94 -0
- package/src/mod.ts +10 -0
- package/src/runes/layout/deno.json +5 -0
- package/src/runes/layout/src/APP_CONFIGURATIONS.ts +56 -0
- package/{dist/ui/features/config → src/runes/layout/src}/AppSettingSelector.svelte +1 -1
- package/{dist/ui/layout → src/runes/layout/src}/ConnectedNavigationPanel.svelte +1 -1
- package/{dist/ui/layout → src/runes/layout/src}/ConnectedWorkspaceStrip.svelte +1 -1
- package/src/runes/layout/src/Icon.svelte +7 -0
- package/{dist/ui/features/config → src/runes/layout/src}/LanguageSelector.svelte +7 -5
- package/{dist/ui/layout → src/runes/layout/src}/NavigationPanel.svelte +1 -4
- package/{dist/ui/features/config → src/runes/layout/src}/ResourceSelector.svelte +3 -5
- package/{dist/ui/features/config → src/runes/layout/src}/ThemeSelector.svelte +2 -2
- package/{dist/ui/layout → src/runes/layout/src}/WorkspaceLayout.svelte +6 -4
- package/{dist/ui/layout → src/runes/layout/src}/WorkspaceStrip.svelte +1 -1
- package/src/runes/layout/src/connection-factory.ts +95 -0
- package/src/runes/layout/src/language.svelte.ts +44 -0
- package/src/runes/layout/src/mod.ts +71 -0
- package/src/runes/layout/src/store.svelte.ts +142 -0
- package/src/runes/layout/src/theme.svelte.ts +73 -0
- package/src/runes/layout/src/types.ts +11 -0
- package/src/runes/palettes/deno.json +8 -0
- package/{dist/ui/features/command-palette → src/runes/palettes/src/commands}/CommandPalette.svelte +4 -4
- package/src/runes/palettes/src/commands/mod.ts +2 -0
- package/src/runes/palettes/src/commands/store.svelte.ts +80 -0
- package/src/runes/palettes/src/mod.ts +51 -0
- package/{dist/ui/components → src/runes/palettes/src/notifications}/Toaster.svelte +1 -2
- package/src/runes/palettes/src/notifications/bridge.ts +56 -0
- package/src/runes/palettes/src/notifications/mod.ts +4 -0
- package/src/runes/palettes/src/notifications/store.svelte.ts +58 -0
- package/{dist/ui/features → src/runes/palettes/src}/shortcuts/ShortcutPalette.svelte +4 -4
- package/src/runes/palettes/src/shortcuts/mod.ts +4 -0
- package/src/runes/palettes/src/shortcuts/store.svelte.ts +85 -0
- package/src/runes/palettes/src/shortcuts/types.ts +4 -0
- package/src/runes/palettes/src/shortcuts/useShortcuts.ts +85 -0
- package/src/runes/plugins/money/deno.json +8 -0
- package/{dist/ui/features/config → src/runes/plugins/money/src}/CurrencySelector.svelte +2 -2
- package/{dist/ui/components/money → src/runes/plugins/money/src}/MoneyDisplay.svelte +2 -2
- package/{dist/ui/components/money → src/runes/plugins/money/src}/MoneyInput.svelte +4 -8
- package/src/runes/plugins/money/src/currency.svelte.ts +95 -0
- package/src/runes/plugins/money/src/currency.test.ts +40 -0
- package/src/runes/plugins/money/src/exchange-rate.svelte.ts +176 -0
- package/src/runes/plugins/money/src/exchange-rate.test.ts +95 -0
- package/src/runes/plugins/money/src/mod.ts +79 -0
- package/src/runes/plugins/money/src/money-primitive.test.ts +217 -0
- package/src/runes/plugins/money/src/money-primitive.ts +220 -0
- package/src/runes/plugins/money/src/money.test.ts +183 -0
- package/src/runes/plugins/money/src/money.ts +382 -0
- package/src/runes/plugins/money/src/strategies.test.ts +143 -0
- package/{dist/core/exchange-rate/strategies.js → src/runes/plugins/money/src/strategies.ts} +45 -22
- package/src/runes/plugins/money/src/types.ts +27 -0
- package/src/runes/plugins/money/src/useMoney.ts +261 -0
- package/src/runes/plugins/money/src/useMoneyFilter.ts +132 -0
- package/tsconfig.json +41 -0
- package/vite.config.ts +44 -0
- package/dist/core/design-tokens/props.d.ts +0 -52
- package/dist/core/design-tokens/props.d.ts.map +0 -1
- package/dist/core/design-tokens/props.js +0 -34
- package/dist/core/exchange-rate/strategies.d.ts +0 -52
- package/dist/core/exchange-rate/strategies.d.ts.map +0 -1
- package/dist/core/index.d.ts +0 -9
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -8
- package/dist/core/internal/message-resolver.d.ts +0 -42
- package/dist/core/internal/message-resolver.d.ts.map +0 -1
- package/dist/core/internal/message-resolver.js +0 -47
- package/dist/core/layout/types.d.ts +0 -60
- package/dist/core/layout/types.d.ts.map +0 -1
- package/dist/core/layout/types.js +0 -4
- package/dist/core/money/index.d.ts +0 -2
- package/dist/core/money/index.d.ts.map +0 -1
- package/dist/core/money/index.js +0 -2
- package/dist/core/money/money-primitive.d.ts +0 -101
- package/dist/core/money/money-primitive.d.ts.map +0 -1
- package/dist/core/money/money-primitive.js +0 -161
- package/dist/core/money/money.d.ts +0 -129
- package/dist/core/money/money.d.ts.map +0 -1
- package/dist/core/money/money.js +0 -250
- package/dist/core/persistence/types.d.ts +0 -18
- package/dist/core/persistence/types.d.ts.map +0 -1
- package/dist/core/persistence/types.js +0 -2
- package/dist/core/shortcuts/types.d.ts +0 -60
- package/dist/core/shortcuts/types.d.ts.map +0 -1
- package/dist/core/shortcuts/types.js +0 -4
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -7
- package/dist/state/api.svelte.d.ts +0 -26
- package/dist/state/api.svelte.js +0 -65
- package/dist/state/app.svelte.d.ts +0 -48
- package/dist/state/app.svelte.js +0 -82
- package/dist/state/auth/index.d.ts +0 -2
- package/dist/state/auth/index.js +0 -2
- package/dist/state/auth/session.svelte.d.ts +0 -40
- package/dist/state/auth/session.svelte.js +0 -59
- package/dist/state/auth/types.d.ts +0 -30
- package/dist/state/auth/types.js +0 -3
- package/dist/state/cart.svelte.d.ts +0 -64
- package/dist/state/cart.svelte.js +0 -122
- package/dist/state/commands.svelte.d.ts +0 -46
- package/dist/state/commands.svelte.js +0 -62
- package/dist/state/composables/useMoney.d.ts +0 -31
- package/dist/state/composables/useMoney.js +0 -126
- package/dist/state/composables/useMoneyFilter.d.ts +0 -20
- package/dist/state/composables/useMoneyFilter.js +0 -81
- package/dist/state/composables/usePersistence.d.ts +0 -2
- package/dist/state/composables/usePersistence.js +0 -5
- package/dist/state/composables/useRuneLab.d.ts +0 -19
- package/dist/state/composables/useRuneLab.js +0 -30
- package/dist/state/composables/useShortcuts.d.ts +0 -33
- package/dist/state/composables/useShortcuts.js +0 -75
- package/dist/state/context.d.ts +0 -15
- package/dist/state/context.js +0 -16
- package/dist/state/createConfigStore.svelte.d.ts +0 -28
- package/dist/state/createConfigStore.svelte.js +0 -72
- package/dist/state/currency.svelte.d.ts +0 -32
- package/dist/state/currency.svelte.js +0 -96
- package/dist/state/currency.test.d.ts +0 -1
- package/dist/state/currency.test.js +0 -35
- package/dist/state/exchange-rate.svelte.d.ts +0 -43
- package/dist/state/exchange-rate.svelte.js +0 -145
- package/dist/state/exchange-rate.test.d.ts +0 -1
- package/dist/state/exchange-rate.test.js +0 -75
- package/dist/state/index.d.ts +0 -26
- package/dist/state/index.js +0 -32
- package/dist/state/language.svelte.d.ts +0 -57
- package/dist/state/language.svelte.js +0 -43
- package/dist/state/layout.svelte.d.ts +0 -49
- package/dist/state/layout.svelte.js +0 -108
- package/dist/state/persistence/drivers.d.ts +0 -12
- package/dist/state/persistence/drivers.js +0 -75
- package/dist/state/persistence/drivers.test.d.ts +0 -1
- package/dist/state/persistence/drivers.test.js +0 -79
- package/dist/state/persistence/provider.d.ts +0 -23
- package/dist/state/persistence/provider.test.d.ts +0 -1
- package/dist/state/persistence/provider.test.js +0 -51
- package/dist/state/registry/index.d.ts +0 -44
- package/dist/state/registry/index.js +0 -58
- package/dist/state/registry/registry.test.d.ts +0 -1
- package/dist/state/registry/registry.test.js +0 -112
- package/dist/state/registry/types.d.ts +0 -20
- package/dist/state/registry/types.js +0 -3
- package/dist/state/shortcuts.svelte.d.ts +0 -121
- package/dist/state/shortcuts.svelte.js +0 -222
- package/dist/state/theme.svelte.d.ts +0 -15
- package/dist/state/theme.svelte.js +0 -92
- package/dist/state/toast-bridge.d.ts +0 -29
- package/dist/state/toast-bridge.js +0 -43
- package/dist/state/toast.svelte.d.ts +0 -27
- package/dist/state/toast.svelte.js +0 -43
- package/dist/ui/actions/portal.d.ts +0 -7
- package/dist/ui/actions/portal.js +0 -32
- package/dist/ui/components/ApiMonitor.svelte +0 -162
- package/dist/ui/components/ApiMonitor.svelte.d.ts +0 -3
- package/dist/ui/components/Icon.svelte +0 -108
- package/dist/ui/components/Icon.svelte.d.ts +0 -14
- package/dist/ui/components/Kyntharil.svelte +0 -48
- package/dist/ui/components/Kyntharil.svelte.d.ts +0 -6
- package/dist/ui/components/RuneProvider.svelte +0 -218
- package/dist/ui/components/RuneProvider.svelte.d.ts +0 -49
- package/dist/ui/components/Toaster.svelte.d.ts +0 -18
- package/dist/ui/components/money/MoneyDisplay.svelte.d.ts +0 -33
- package/dist/ui/components/money/MoneyDisplay.svelte.test.d.ts +0 -1
- package/dist/ui/components/money/MoneyDisplay.svelte.test.js +0 -117
- package/dist/ui/components/money/MoneyInput.svelte.d.ts +0 -34
- package/dist/ui/components/money/index.d.ts +0 -2
- package/dist/ui/components/money/index.js +0 -3
- package/dist/ui/components/user/UserAvatar.svelte +0 -66
- package/dist/ui/components/user/UserAvatar.svelte.d.ts +0 -13
- package/dist/ui/components/user/UserProfile.svelte +0 -79
- package/dist/ui/components/user/UserProfile.svelte.d.ts +0 -17
- package/dist/ui/components/user/index.d.ts +0 -2
- package/dist/ui/components/user/index.js +0 -3
- package/dist/ui/features/command-palette/CommandPalette.svelte.d.ts +0 -6
- package/dist/ui/features/config/APP_CONFIGURATIONS.d.ts +0 -29
- package/dist/ui/features/config/APP_CONFIGURATIONS.js +0 -38
- package/dist/ui/features/config/AppSettingSelector.svelte.d.ts +0 -13
- package/dist/ui/features/config/CurrencySelector.svelte.d.ts +0 -8
- package/dist/ui/features/config/LanguageSelector.svelte.d.ts +0 -8
- package/dist/ui/features/config/ResourceSelector.svelte.d.ts +0 -25
- package/dist/ui/features/config/ThemeSelector.svelte.d.ts +0 -8
- package/dist/ui/features/notifications/NotificationBell.svelte.d.ts +0 -11
- package/dist/ui/features/notifications/index.d.ts +0 -1
- package/dist/ui/features/notifications/index.js +0 -2
- package/dist/ui/features/shortcuts/ShortcutBinder.svelte +0 -17
- package/dist/ui/features/shortcuts/ShortcutBinder.svelte.d.ts +0 -7
- package/dist/ui/features/shortcuts/ShortcutPalette.svelte.d.ts +0 -6
- package/dist/ui/index.d.ts +0 -30
- package/dist/ui/index.js +0 -46
- package/dist/ui/layout/ConnectedNavigationPanel.svelte.d.ts +0 -10
- package/dist/ui/layout/ConnectedWorkspaceStrip.svelte.d.ts +0 -9
- package/dist/ui/layout/ContentArea.svelte.d.ts +0 -8
- package/dist/ui/layout/DetailPanel.svelte.d.ts +0 -7
- package/dist/ui/layout/NavigationPanel.svelte.d.ts +0 -14
- package/dist/ui/layout/WorkspaceLayout.svelte.d.ts +0 -32
- package/dist/ui/layout/WorkspaceStrip.svelte.d.ts +0 -11
- package/dist/ui/layout/connection-factory.d.ts +0 -50
- package/dist/ui/layout/connection-factory.js +0 -58
- package/dist/ui/layout/index.d.ts +0 -7
- package/dist/ui/layout/index.js +0 -7
- package/dist/ui/paraglide/README.md +0 -147
- package/dist/ui/paraglide/messages/_index.d.ts +0 -87
- package/dist/ui/paraglide/messages/_index.js +0 -88
- package/dist/ui/paraglide/messages/abyss.d.ts +0 -16
- package/dist/ui/paraglide/messages/abyss.js +0 -84
- package/dist/ui/paraglide/messages/acid.d.ts +0 -16
- package/dist/ui/paraglide/messages/acid.js +0 -84
- package/dist/ui/paraglide/messages/active_toasts.d.ts +0 -16
- package/dist/ui/paraglide/messages/active_toasts.js +0 -84
- package/dist/ui/paraglide/messages/aed3.d.ts +0 -17
- package/dist/ui/paraglide/messages/aed3.js +0 -85
- package/dist/ui/paraglide/messages/all_currencies.d.ts +0 -16
- package/dist/ui/paraglide/messages/all_currencies.js +0 -84
- package/dist/ui/paraglide/messages/all_languages.d.ts +0 -16
- package/dist/ui/paraglide/messages/all_languages.js +0 -84
- package/dist/ui/paraglide/messages/all_themes.d.ts +0 -16
- package/dist/ui/paraglide/messages/all_themes.js +0 -84
- package/dist/ui/paraglide/messages/api_status.d.ts +0 -16
- package/dist/ui/paraglide/messages/api_status.js +0 -84
- package/dist/ui/paraglide/messages/app_info.d.ts +0 -16
- package/dist/ui/paraglide/messages/app_info.js +0 -84
- package/dist/ui/paraglide/messages/appearance.d.ts +0 -16
- package/dist/ui/paraglide/messages/appearance.js +0 -84
- package/dist/ui/paraglide/messages/aqua.d.ts +0 -16
- package/dist/ui/paraglide/messages/aqua.js +0 -84
- package/dist/ui/paraglide/messages/ar.d.ts +0 -16
- package/dist/ui/paraglide/messages/ar.js +0 -84
- package/dist/ui/paraglide/messages/autumn.d.ts +0 -16
- package/dist/ui/paraglide/messages/autumn.js +0 -84
- package/dist/ui/paraglide/messages/black.d.ts +0 -16
- package/dist/ui/paraglide/messages/black.js +0 -84
- package/dist/ui/paraglide/messages/brl3.d.ts +0 -17
- package/dist/ui/paraglide/messages/brl3.js +0 -85
- package/dist/ui/paraglide/messages/bumblebee.d.ts +0 -16
- package/dist/ui/paraglide/messages/bumblebee.js +0 -84
- package/dist/ui/paraglide/messages/business.d.ts +0 -16
- package/dist/ui/paraglide/messages/business.js +0 -84
- package/dist/ui/paraglide/messages/cad3.d.ts +0 -17
- package/dist/ui/paraglide/messages/cad3.js +0 -85
- package/dist/ui/paraglide/messages/caramellatte.d.ts +0 -16
- package/dist/ui/paraglide/messages/caramellatte.js +0 -84
- package/dist/ui/paraglide/messages/cmyk.d.ts +0 -16
- package/dist/ui/paraglide/messages/cmyk.js +0 -84
- package/dist/ui/paraglide/messages/cny3.d.ts +0 -17
- package/dist/ui/paraglide/messages/cny3.js +0 -85
- package/dist/ui/paraglide/messages/coffee.d.ts +0 -16
- package/dist/ui/paraglide/messages/coffee.js +0 -84
- package/dist/ui/paraglide/messages/commands_label.d.ts +0 -16
- package/dist/ui/paraglide/messages/commands_label.js +0 -84
- package/dist/ui/paraglide/messages/corporate.d.ts +0 -16
- package/dist/ui/paraglide/messages/corporate.js +0 -84
- package/dist/ui/paraglide/messages/cupcake.d.ts +0 -16
- package/dist/ui/paraglide/messages/cupcake.js +0 -84
- package/dist/ui/paraglide/messages/currency.d.ts +0 -16
- package/dist/ui/paraglide/messages/currency.js +0 -84
- package/dist/ui/paraglide/messages/current_currency.d.ts +0 -16
- package/dist/ui/paraglide/messages/current_currency.js +0 -84
- package/dist/ui/paraglide/messages/current_language.d.ts +0 -16
- package/dist/ui/paraglide/messages/current_language.js +0 -84
- package/dist/ui/paraglide/messages/current_theme.d.ts +0 -16
- package/dist/ui/paraglide/messages/current_theme.js +0 -84
- package/dist/ui/paraglide/messages/currently_in_queue.d.ts +0 -16
- package/dist/ui/paraglide/messages/currently_in_queue.js +0 -84
- package/dist/ui/paraglide/messages/cyberpunk.d.ts +0 -16
- package/dist/ui/paraglide/messages/cyberpunk.js +0 -84
- package/dist/ui/paraglide/messages/dark.d.ts +0 -16
- package/dist/ui/paraglide/messages/dark.js +0 -84
- package/dist/ui/paraglide/messages/de.d.ts +0 -16
- package/dist/ui/paraglide/messages/de.js +0 -84
- package/dist/ui/paraglide/messages/dim.d.ts +0 -16
- package/dist/ui/paraglide/messages/dim.js +0 -84
- package/dist/ui/paraglide/messages/dracula.d.ts +0 -16
- package/dist/ui/paraglide/messages/dracula.js +0 -84
- package/dist/ui/paraglide/messages/emerald.d.ts +0 -16
- package/dist/ui/paraglide/messages/emerald.js +0 -84
- package/dist/ui/paraglide/messages/en.d.ts +0 -16
- package/dist/ui/paraglide/messages/en.js +0 -84
- package/dist/ui/paraglide/messages/es.d.ts +0 -16
- package/dist/ui/paraglide/messages/es.js +0 -84
- package/dist/ui/paraglide/messages/eur3.d.ts +0 -17
- package/dist/ui/paraglide/messages/eur3.js +0 -85
- package/dist/ui/paraglide/messages/extended_controls.d.ts +0 -16
- package/dist/ui/paraglide/messages/extended_controls.js +0 -84
- package/dist/ui/paraglide/messages/fantasy.d.ts +0 -16
- package/dist/ui/paraglide/messages/fantasy.js +0 -84
- package/dist/ui/paraglide/messages/forest.d.ts +0 -16
- package/dist/ui/paraglide/messages/forest.js +0 -84
- package/dist/ui/paraglide/messages/fr.d.ts +0 -16
- package/dist/ui/paraglide/messages/fr.js +0 -84
- package/dist/ui/paraglide/messages/garden.d.ts +0 -16
- package/dist/ui/paraglide/messages/garden.js +0 -84
- package/dist/ui/paraglide/messages/gbp3.d.ts +0 -17
- package/dist/ui/paraglide/messages/gbp3.js +0 -85
- package/dist/ui/paraglide/messages/halloween.d.ts +0 -16
- package/dist/ui/paraglide/messages/halloween.js +0 -84
- package/dist/ui/paraglide/messages/hello_world.d.ts +0 -18
- package/dist/ui/paraglide/messages/hello_world.js +0 -84
- package/dist/ui/paraglide/messages/hi.d.ts +0 -16
- package/dist/ui/paraglide/messages/hi.js +0 -84
- package/dist/ui/paraglide/messages/inr3.d.ts +0 -17
- package/dist/ui/paraglide/messages/inr3.js +0 -85
- package/dist/ui/paraglide/messages/it.d.ts +0 -16
- package/dist/ui/paraglide/messages/it.js +0 -84
- package/dist/ui/paraglide/messages/ja.d.ts +0 -16
- package/dist/ui/paraglide/messages/ja.js +0 -84
- package/dist/ui/paraglide/messages/jpy3.d.ts +0 -17
- package/dist/ui/paraglide/messages/jpy3.js +0 -85
- package/dist/ui/paraglide/messages/ko.d.ts +0 -16
- package/dist/ui/paraglide/messages/ko.js +0 -84
- package/dist/ui/paraglide/messages/krw3.d.ts +0 -17
- package/dist/ui/paraglide/messages/krw3.js +0 -85
- package/dist/ui/paraglide/messages/languages.d.ts +0 -16
- package/dist/ui/paraglide/messages/languages.js +0 -84
- package/dist/ui/paraglide/messages/lemonade.d.ts +0 -16
- package/dist/ui/paraglide/messages/lemonade.js +0 -84
- package/dist/ui/paraglide/messages/light.d.ts +0 -16
- package/dist/ui/paraglide/messages/light.js +0 -84
- package/dist/ui/paraglide/messages/live_store_dashboard.d.ts +0 -16
- package/dist/ui/paraglide/messages/live_store_dashboard.js +0 -84
- package/dist/ui/paraglide/messages/localization.d.ts +0 -16
- package/dist/ui/paraglide/messages/localization.js +0 -84
- package/dist/ui/paraglide/messages/lofi.d.ts +0 -16
- package/dist/ui/paraglide/messages/lofi.js +0 -84
- package/dist/ui/paraglide/messages/luxury.d.ts +0 -16
- package/dist/ui/paraglide/messages/luxury.js +0 -84
- package/dist/ui/paraglide/messages/mxn3.d.ts +0 -17
- package/dist/ui/paraglide/messages/mxn3.js +0 -85
- package/dist/ui/paraglide/messages/name_label.d.ts +0 -16
- package/dist/ui/paraglide/messages/name_label.js +0 -84
- package/dist/ui/paraglide/messages/night.d.ts +0 -16
- package/dist/ui/paraglide/messages/night.js +0 -84
- package/dist/ui/paraglide/messages/nord.d.ts +0 -16
- package/dist/ui/paraglide/messages/nord.js +0 -84
- package/dist/ui/paraglide/messages/pastel.d.ts +0 -16
- package/dist/ui/paraglide/messages/pastel.js +0 -84
- package/dist/ui/paraglide/messages/pt.d.ts +0 -16
- package/dist/ui/paraglide/messages/pt.js +0 -84
- package/dist/ui/paraglide/messages/real_time_monitor_desc.d.ts +0 -16
- package/dist/ui/paraglide/messages/real_time_monitor_desc.js +0 -84
- package/dist/ui/paraglide/messages/registered_in_registry.d.ts +0 -16
- package/dist/ui/paraglide/messages/registered_in_registry.js +0 -84
- package/dist/ui/paraglide/messages/retro.d.ts +0 -16
- package/dist/ui/paraglide/messages/retro.js +0 -84
- package/dist/ui/paraglide/messages/ru.d.ts +0 -16
- package/dist/ui/paraglide/messages/ru.js +0 -84
- package/dist/ui/paraglide/messages/silk.d.ts +0 -16
- package/dist/ui/paraglide/messages/silk.js +0 -84
- package/dist/ui/paraglide/messages/state_label.d.ts +0 -16
- package/dist/ui/paraglide/messages/state_label.js +0 -84
- package/dist/ui/paraglide/messages/sunset.d.ts +0 -16
- package/dist/ui/paraglide/messages/sunset.js +0 -84
- package/dist/ui/paraglide/messages/synthwave.d.ts +0 -16
- package/dist/ui/paraglide/messages/synthwave.js +0 -84
- package/dist/ui/paraglide/messages/system.d.ts +0 -16
- package/dist/ui/paraglide/messages/system.js +0 -84
- package/dist/ui/paraglide/messages/theme.d.ts +0 -16
- package/dist/ui/paraglide/messages/theme.js +0 -84
- package/dist/ui/paraglide/messages/themes.d.ts +0 -16
- package/dist/ui/paraglide/messages/themes.js +0 -84
- package/dist/ui/paraglide/messages/url_label.d.ts +0 -16
- package/dist/ui/paraglide/messages/url_label.js +0 -84
- package/dist/ui/paraglide/messages/usd3.d.ts +0 -17
- package/dist/ui/paraglide/messages/usd3.js +0 -85
- package/dist/ui/paraglide/messages/valentine.d.ts +0 -16
- package/dist/ui/paraglide/messages/valentine.js +0 -84
- package/dist/ui/paraglide/messages/version_label.d.ts +0 -16
- package/dist/ui/paraglide/messages/version_label.js +0 -84
- package/dist/ui/paraglide/messages/vi.d.ts +0 -16
- package/dist/ui/paraglide/messages/vi.js +0 -84
- package/dist/ui/paraglide/messages/winter.d.ts +0 -16
- package/dist/ui/paraglide/messages/winter.js +0 -84
- package/dist/ui/paraglide/messages/wireframe.d.ts +0 -16
- package/dist/ui/paraglide/messages/wireframe.js +0 -84
- package/dist/ui/paraglide/messages/zh.d.ts +0 -16
- package/dist/ui/paraglide/messages/zh.js +0 -84
- package/dist/ui/paraglide/messages.d.ts +0 -2
- package/dist/ui/paraglide/messages.js +0 -4
- package/dist/ui/paraglide/registry.d.ts +0 -21
- package/dist/ui/paraglide/registry.js +0 -31
- package/dist/ui/paraglide/runtime.d.ts +0 -730
- package/dist/ui/paraglide/runtime.js +0 -1812
- package/dist/ui/paraglide/server.d.ts +0 -92
- package/dist/ui/paraglide/server.js +0 -239
- package/dist/ui/primitives/DatePicker.svelte +0 -257
- package/dist/ui/primitives/DatePicker.svelte.d.ts +0 -17
- package/dist/ui/primitives/index.d.ts +0 -1
- package/dist/ui/primitives/index.js +0 -3
- /package/{dist/ui/layout → src/runes/layout/src}/ContentArea.svelte +0 -0
- /package/{dist/ui/layout → src/runes/layout/src}/DetailPanel.svelte +0 -0
- /package/{dist/ui/features → src/runes/palettes/src}/notifications/NotificationBell.svelte +0 -0
package/dist/core/money/money.js
DELETED
|
@@ -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,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"}
|
package/dist/index.d.ts
DELETED
package/dist/index.js
DELETED
|
@@ -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;
|
package/dist/state/api.svelte.js
DELETED
|
@@ -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;
|
package/dist/state/app.svelte.js
DELETED
|
@@ -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
|
-
}
|
package/dist/state/auth/index.js
DELETED
|
@@ -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;
|