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
|
@@ -1 +0,0 @@
|
|
|
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,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC;AAEpE,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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// sdk/devtools/src/patterns/message-resolver.ts
|
|
2
|
-
import { DEV } from "esm-env";
|
|
3
|
-
/**
|
|
4
|
-
* Creates a message resolver function for dynamic i18n lookups
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* const getCurrencyLabel = createMessageResolver<Currency>(m, {
|
|
9
|
-
* keyExtractor: (currency) => currency.code
|
|
10
|
-
* });
|
|
11
|
-
*
|
|
12
|
-
* getCurrencyLabel({ code: "EUR", symbol: "€" }); // "Euro"
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
export function createMessageResolver(messages, config) {
|
|
16
|
-
return (option) => {
|
|
17
|
-
const key = config.keyExtractor(option);
|
|
18
|
-
const transformedKey = config.keyTransformer
|
|
19
|
-
? config.keyTransformer(key)
|
|
20
|
-
: key;
|
|
21
|
-
const messageFn = messages[transformedKey];
|
|
22
|
-
if (!messageFn || typeof messageFn !== "function") {
|
|
23
|
-
if (DEV) {
|
|
24
|
-
console.warn(`[MessageResolver] Missing translation for key: "${transformedKey}"`);
|
|
25
|
-
}
|
|
26
|
-
return key; // Fallback to key
|
|
27
|
-
}
|
|
28
|
-
return messageFn();
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Type guard to check if a message key exists
|
|
33
|
-
*/
|
|
34
|
-
export function hasMessage(messages, key) {
|
|
35
|
-
return key in messages && typeof messages[key] === "function";
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Batch resolver for multiple options at once
|
|
39
|
-
*/
|
|
40
|
-
export function batchResolveMessages(messages, options, config) {
|
|
41
|
-
const resolver = createMessageResolver(messages, config);
|
|
42
|
-
return options.reduce((acc, option) => {
|
|
43
|
-
const key = config.keyExtractor(option);
|
|
44
|
-
acc[key] = resolver(option);
|
|
45
|
-
return acc;
|
|
46
|
-
}, {});
|
|
47
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Describes a single zone within a workspace layout.
|
|
3
|
-
* Zones are rendered in array order by the LayoutEngine in sdk/ui.
|
|
4
|
-
*/
|
|
5
|
-
export interface LayoutZone {
|
|
6
|
-
/** Unique identifier for this zone (e.g., "navigation", "content", "detail"). */
|
|
7
|
-
id: string;
|
|
8
|
-
/**
|
|
9
|
-
* Component reference to render in this zone.
|
|
10
|
-
* Typed as `unknown` at the core level — the UI layer resolves this
|
|
11
|
-
* to a concrete Svelte component reference.
|
|
12
|
-
*/
|
|
13
|
-
component?: unknown;
|
|
14
|
-
/**
|
|
15
|
-
* Store binding key. When set, the LayoutEngine will pass the corresponding
|
|
16
|
-
* store from the registry as a prop to the component.
|
|
17
|
-
*/
|
|
18
|
-
storeKey?: string;
|
|
19
|
-
/**
|
|
20
|
-
* CSS width value for this zone (e.g., "280px", "1fr", "auto").
|
|
21
|
-
* @default "auto"
|
|
22
|
-
*/
|
|
23
|
-
width?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Whether the zone can be collapsed by the user.
|
|
26
|
-
* @default false
|
|
27
|
-
*/
|
|
28
|
-
collapsible?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Store boolean path that controls whether this zone is visible.
|
|
31
|
-
* When set, the zone is only rendered when the referenced boolean is `true`.
|
|
32
|
-
* @example "layout.showNavigation"
|
|
33
|
-
*/
|
|
34
|
-
conditional?: string;
|
|
35
|
-
/**
|
|
36
|
-
* Minimum width before the zone collapses automatically.
|
|
37
|
-
* Only relevant when `collapsible` is `true`.
|
|
38
|
-
*/
|
|
39
|
-
minWidth?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Position of the zone relative to the content area.
|
|
42
|
-
* @default "start"
|
|
43
|
-
*/
|
|
44
|
-
position?: "start" | "end";
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Complete layout configuration — an ordered array of zones.
|
|
48
|
-
* The LayoutEngine renders zones in array order (left-to-right by default).
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```ts
|
|
52
|
-
* const dashboardLayout: LayoutConfig = [
|
|
53
|
-
* { id: "navigation", width: "280px", collapsible: true },
|
|
54
|
-
* { id: "content", width: "1fr" },
|
|
55
|
-
* { id: "detail", width: "320px", collapsible: true, conditional: "layout.showDetail" },
|
|
56
|
-
* ];
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
export type LayoutConfig = LayoutZone[];
|
|
60
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/layout/types.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CAC5B;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { addMoney, convertAmount, convertMoney, createMoney, CURRENCY_MAP, type Dinero, type DineroCurrency, type DineroSnapshot, formatAmount, formatMoney, fromMoneySnapshot, type ISO4217Code, multiplyMoney, type RateMap, registerCurrency, safeAmount, type ScaledRate, scaledRate, subtractMoney, toAdyenMoney, toMinorUnit, toMoneySnapshot, toPaypalMoney, toSquareMoney, toStripeMoney, } from "./money.ts";
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/money/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,OAAO,EACZ,gBAAgB,EAChB,UAAU,EACV,KAAK,UAAU,EACf,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC"}
|
package/dist/core/money/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// sdk/core/src/money/index.ts
|
|
2
|
-
export { addMoney, convertAmount, convertMoney, createMoney, CURRENCY_MAP, formatAmount, formatMoney, fromMoneySnapshot, multiplyMoney, registerCurrency, safeAmount, scaledRate, subtractMoney, toAdyenMoney, toMinorUnit, toMoneySnapshot, toPaypalMoney, toSquareMoney, toStripeMoney, } from "./money.js";
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { type ISO4217Code } from "./money.ts";
|
|
2
|
-
/**
|
|
3
|
-
* Serializable representation of a MoneyPrimitive.
|
|
4
|
-
* Used for persistence drivers and JSON round-trips.
|
|
5
|
-
*/
|
|
6
|
-
export interface MoneyJSON {
|
|
7
|
-
amount: number;
|
|
8
|
-
currencyCode: string;
|
|
9
|
-
scale: number;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Immutable Value Object that encapsulates a monetary amount, its currency,
|
|
13
|
-
* and the scale (number of decimal places).
|
|
14
|
-
*
|
|
15
|
-
* Amounts are always stored in minor units (e.g., cents for USD, centavos for MXN).
|
|
16
|
-
* The scale is derived from the currency's exponent in CURRENCY_MAP.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```ts
|
|
20
|
-
* const price = MoneyPrimitive.fromMajor(12.99, "USD");
|
|
21
|
-
* price.minor; // 1299
|
|
22
|
-
* price.major; // 12.99
|
|
23
|
-
* price.format("en-US"); // "$12.99"
|
|
24
|
-
*
|
|
25
|
-
* const json = price.toJSON();
|
|
26
|
-
* const restored = MoneyPrimitive.fromJSON(json);
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export declare class MoneyPrimitive {
|
|
30
|
-
/** Raw amount in minor units (e.g., cents). */
|
|
31
|
-
readonly amount: number;
|
|
32
|
-
/** ISO 4217 currency code. */
|
|
33
|
-
readonly currencyCode: string;
|
|
34
|
-
/** Number of decimal places for this currency (e.g., 2 for USD, 0 for JPY). */
|
|
35
|
-
readonly scale: number;
|
|
36
|
-
private constructor();
|
|
37
|
-
/**
|
|
38
|
-
* Create a MoneyPrimitive from a minor-unit integer amount.
|
|
39
|
-
* @param amount - Amount in minor units (e.g., 1299 for $12.99)
|
|
40
|
-
* @param currencyCode - ISO 4217 currency code
|
|
41
|
-
*/
|
|
42
|
-
static fromMinor(amount: number, currencyCode: ISO4217Code | string): MoneyPrimitive;
|
|
43
|
-
/**
|
|
44
|
-
* Create a MoneyPrimitive from a major-unit float amount.
|
|
45
|
-
* @param amount - Amount in major units (e.g., 12.99 for $12.99)
|
|
46
|
-
* @param currencyCode - ISO 4217 currency code
|
|
47
|
-
*/
|
|
48
|
-
static fromMajor(amount: number, currencyCode: ISO4217Code | string): MoneyPrimitive;
|
|
49
|
-
/**
|
|
50
|
-
* Restore a MoneyPrimitive from its JSON representation.
|
|
51
|
-
*/
|
|
52
|
-
static fromJSON(json: MoneyJSON): MoneyPrimitive;
|
|
53
|
-
/** Amount in minor units (alias for `amount`). */
|
|
54
|
-
get minor(): number;
|
|
55
|
-
/** Amount in major units (e.g., 12.99 for 1299 cents). */
|
|
56
|
-
get major(): number;
|
|
57
|
-
/**
|
|
58
|
-
* Format this monetary value as a locale-aware currency string.
|
|
59
|
-
* @param locale - BCP 47 locale string (default: "en-US")
|
|
60
|
-
*/
|
|
61
|
-
format(locale?: string): string;
|
|
62
|
-
/**
|
|
63
|
-
* Add another MoneyPrimitive (must be same currency).
|
|
64
|
-
* Returns a new MoneyPrimitive.
|
|
65
|
-
*/
|
|
66
|
-
add(other: MoneyPrimitive): MoneyPrimitive;
|
|
67
|
-
/**
|
|
68
|
-
* Subtract another MoneyPrimitive (must be same currency).
|
|
69
|
-
* Returns a new MoneyPrimitive.
|
|
70
|
-
*/
|
|
71
|
-
subtract(other: MoneyPrimitive): MoneyPrimitive;
|
|
72
|
-
/**
|
|
73
|
-
* Multiply by a scalar factor. Returns a new MoneyPrimitive.
|
|
74
|
-
*/
|
|
75
|
-
multiply(factor: number): MoneyPrimitive;
|
|
76
|
-
/**
|
|
77
|
-
* Value equality — two MoneyPrimitives are equal if they have the same
|
|
78
|
-
* amount, currency code, and scale.
|
|
79
|
-
*/
|
|
80
|
-
equals(other: MoneyPrimitive): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Returns true if this amount is zero.
|
|
83
|
-
*/
|
|
84
|
-
isZero(): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Returns true if this amount is negative.
|
|
87
|
-
*/
|
|
88
|
-
isNegative(): boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Serialize to a plain JSON-compatible object.
|
|
91
|
-
*/
|
|
92
|
-
toJSON(): MoneyJSON;
|
|
93
|
-
toString(): string;
|
|
94
|
-
private assertSameCurrency;
|
|
95
|
-
/**
|
|
96
|
-
* Resolves the scale (exponent) for a currency code from CURRENCY_MAP.
|
|
97
|
-
* Throws if the currency is not registered.
|
|
98
|
-
*/
|
|
99
|
-
private static resolveScale;
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=money-primitive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"money-primitive.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/money/money-primitive.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,OAAO;IAQP;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,GAAG,MAAM,GACjC,cAAc;IAKjB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,GAAG,MAAM,GACjC,cAAc;IAMjB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc;IAMhD,kDAAkD;IAClD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,0DAA0D;IAC1D,IAAI,KAAK,IAAI,MAAM,CAGlB;IAID;;;OAGG;IACH,MAAM,CAAC,MAAM,GAAE,MAAgB,GAAG,MAAM;IAWxC;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IAS1C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IAS/C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAUxC;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAQtC;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,UAAU,IAAI,OAAO;IAMrB;;OAEG;IACH,MAAM,IAAI,SAAS;IAQnB,QAAQ,IAAI,MAAM;IAMlB,OAAO,CAAC,kBAAkB;IAQ1B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;CAS5B"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
// sdk/core/src/money/money-primitive.ts
|
|
2
|
-
// Immutable Value Object for monetary amounts.
|
|
3
|
-
// Zero Svelte dependencies — pure TypeScript class.
|
|
4
|
-
import { CURRENCY_MAP } from "./money.js";
|
|
5
|
-
/**
|
|
6
|
-
* Immutable Value Object that encapsulates a monetary amount, its currency,
|
|
7
|
-
* and the scale (number of decimal places).
|
|
8
|
-
*
|
|
9
|
-
* Amounts are always stored in minor units (e.g., cents for USD, centavos for MXN).
|
|
10
|
-
* The scale is derived from the currency's exponent in CURRENCY_MAP.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```ts
|
|
14
|
-
* const price = MoneyPrimitive.fromMajor(12.99, "USD");
|
|
15
|
-
* price.minor; // 1299
|
|
16
|
-
* price.major; // 12.99
|
|
17
|
-
* price.format("en-US"); // "$12.99"
|
|
18
|
-
*
|
|
19
|
-
* const json = price.toJSON();
|
|
20
|
-
* const restored = MoneyPrimitive.fromJSON(json);
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export class MoneyPrimitive {
|
|
24
|
-
/** Raw amount in minor units (e.g., cents). */
|
|
25
|
-
amount;
|
|
26
|
-
/** ISO 4217 currency code. */
|
|
27
|
-
currencyCode;
|
|
28
|
-
/** Number of decimal places for this currency (e.g., 2 for USD, 0 for JPY). */
|
|
29
|
-
scale;
|
|
30
|
-
constructor(amount, currencyCode, scale) {
|
|
31
|
-
this.amount = Math.round(amount);
|
|
32
|
-
this.currencyCode = currencyCode;
|
|
33
|
-
this.scale = scale;
|
|
34
|
-
}
|
|
35
|
-
// ── Factories ────────────────────────────────────────────────────────────
|
|
36
|
-
/**
|
|
37
|
-
* Create a MoneyPrimitive from a minor-unit integer amount.
|
|
38
|
-
* @param amount - Amount in minor units (e.g., 1299 for $12.99)
|
|
39
|
-
* @param currencyCode - ISO 4217 currency code
|
|
40
|
-
*/
|
|
41
|
-
static fromMinor(amount, currencyCode) {
|
|
42
|
-
const scale = MoneyPrimitive.resolveScale(currencyCode);
|
|
43
|
-
return new MoneyPrimitive(amount, currencyCode, scale);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Create a MoneyPrimitive from a major-unit float amount.
|
|
47
|
-
* @param amount - Amount in major units (e.g., 12.99 for $12.99)
|
|
48
|
-
* @param currencyCode - ISO 4217 currency code
|
|
49
|
-
*/
|
|
50
|
-
static fromMajor(amount, currencyCode) {
|
|
51
|
-
const scale = MoneyPrimitive.resolveScale(currencyCode);
|
|
52
|
-
const factor = Math.pow(10, scale);
|
|
53
|
-
return new MoneyPrimitive(Math.round(amount * factor), currencyCode, scale);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Restore a MoneyPrimitive from its JSON representation.
|
|
57
|
-
*/
|
|
58
|
-
static fromJSON(json) {
|
|
59
|
-
return new MoneyPrimitive(json.amount, json.currencyCode, json.scale);
|
|
60
|
-
}
|
|
61
|
-
// ── Computed Getters ─────────────────────────────────────────────────────
|
|
62
|
-
/** Amount in minor units (alias for `amount`). */
|
|
63
|
-
get minor() {
|
|
64
|
-
return this.amount;
|
|
65
|
-
}
|
|
66
|
-
/** Amount in major units (e.g., 12.99 for 1299 cents). */
|
|
67
|
-
get major() {
|
|
68
|
-
if (this.scale === 0)
|
|
69
|
-
return this.amount;
|
|
70
|
-
return this.amount / Math.pow(10, this.scale);
|
|
71
|
-
}
|
|
72
|
-
// ── Formatting ───────────────────────────────────────────────────────────
|
|
73
|
-
/**
|
|
74
|
-
* Format this monetary value as a locale-aware currency string.
|
|
75
|
-
* @param locale - BCP 47 locale string (default: "en-US")
|
|
76
|
-
*/
|
|
77
|
-
format(locale = "en-US") {
|
|
78
|
-
return new Intl.NumberFormat(locale, {
|
|
79
|
-
style: "currency",
|
|
80
|
-
currency: this.currencyCode,
|
|
81
|
-
minimumFractionDigits: this.scale,
|
|
82
|
-
maximumFractionDigits: this.scale,
|
|
83
|
-
}).format(this.major);
|
|
84
|
-
}
|
|
85
|
-
// ── Arithmetic (returns new instances — immutability) ────────────────────
|
|
86
|
-
/**
|
|
87
|
-
* Add another MoneyPrimitive (must be same currency).
|
|
88
|
-
* Returns a new MoneyPrimitive.
|
|
89
|
-
*/
|
|
90
|
-
add(other) {
|
|
91
|
-
this.assertSameCurrency(other);
|
|
92
|
-
return new MoneyPrimitive(this.amount + other.amount, this.currencyCode, this.scale);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Subtract another MoneyPrimitive (must be same currency).
|
|
96
|
-
* Returns a new MoneyPrimitive.
|
|
97
|
-
*/
|
|
98
|
-
subtract(other) {
|
|
99
|
-
this.assertSameCurrency(other);
|
|
100
|
-
return new MoneyPrimitive(this.amount - other.amount, this.currencyCode, this.scale);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Multiply by a scalar factor. Returns a new MoneyPrimitive.
|
|
104
|
-
*/
|
|
105
|
-
multiply(factor) {
|
|
106
|
-
return new MoneyPrimitive(Math.round(this.amount * factor), this.currencyCode, this.scale);
|
|
107
|
-
}
|
|
108
|
-
// ── Comparison ───────────────────────────────────────────────────────────
|
|
109
|
-
/**
|
|
110
|
-
* Value equality — two MoneyPrimitives are equal if they have the same
|
|
111
|
-
* amount, currency code, and scale.
|
|
112
|
-
*/
|
|
113
|
-
equals(other) {
|
|
114
|
-
return (this.amount === other.amount &&
|
|
115
|
-
this.currencyCode === other.currencyCode &&
|
|
116
|
-
this.scale === other.scale);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Returns true if this amount is zero.
|
|
120
|
-
*/
|
|
121
|
-
isZero() {
|
|
122
|
-
return this.amount === 0;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Returns true if this amount is negative.
|
|
126
|
-
*/
|
|
127
|
-
isNegative() {
|
|
128
|
-
return this.amount < 0;
|
|
129
|
-
}
|
|
130
|
-
// ── Serialization ────────────────────────────────────────────────────────
|
|
131
|
-
/**
|
|
132
|
-
* Serialize to a plain JSON-compatible object.
|
|
133
|
-
*/
|
|
134
|
-
toJSON() {
|
|
135
|
-
return {
|
|
136
|
-
amount: this.amount,
|
|
137
|
-
currencyCode: this.currencyCode,
|
|
138
|
-
scale: this.scale,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
toString() {
|
|
142
|
-
return `MoneyPrimitive(${this.amount} ${this.currencyCode} scale=${this.scale})`;
|
|
143
|
-
}
|
|
144
|
-
// ── Private Helpers ──────────────────────────────────────────────────────
|
|
145
|
-
assertSameCurrency(other) {
|
|
146
|
-
if (this.currencyCode !== other.currencyCode) {
|
|
147
|
-
throw new Error(`Currency mismatch: cannot operate on ${this.currencyCode} and ${other.currencyCode}`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Resolves the scale (exponent) for a currency code from CURRENCY_MAP.
|
|
152
|
-
* Throws if the currency is not registered.
|
|
153
|
-
*/
|
|
154
|
-
static resolveScale(currencyCode) {
|
|
155
|
-
const currency = CURRENCY_MAP[currencyCode];
|
|
156
|
-
if (!currency) {
|
|
157
|
-
throw new Error(`Unknown currency code: ${currencyCode}. Register it first via registerCurrency().`);
|
|
158
|
-
}
|
|
159
|
-
return currency.exponent;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { type Dinero, type DineroCurrency, type DineroSnapshot } from "dinero.js";
|
|
2
|
-
/**
|
|
3
|
-
* Map of ISO 4217 currency codes to Dinero currency objects
|
|
4
|
-
*/
|
|
5
|
-
export declare const CURRENCY_MAP: Record<string, DineroCurrency<number>>;
|
|
6
|
-
/**
|
|
7
|
-
* Derived type of all built-in ISO 4217 currency codes.
|
|
8
|
-
* Enables IDE autocomplete while allowing any string for dynamic currencies.
|
|
9
|
-
*/
|
|
10
|
-
export type ISO4217Code = keyof typeof CURRENCY_MAP;
|
|
11
|
-
/**
|
|
12
|
-
* Scaled integer rate for Dinero.js conversion.
|
|
13
|
-
* Avoids floating-point errors by using integer amounts with a scale.
|
|
14
|
-
*/
|
|
15
|
-
export type ScaledRate = {
|
|
16
|
-
amount: number;
|
|
17
|
-
scale: number;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Map of currency codes to their exchange rates relative to a base currency.
|
|
21
|
-
* Rates can be plain numbers (integers) or ScaledRate objects.
|
|
22
|
-
*/
|
|
23
|
-
export type RateMap = Record<string, ScaledRate | number>;
|
|
24
|
-
/**
|
|
25
|
-
* Converts a human-readable float rate (e.g., 17.23) into a ScaledRate.
|
|
26
|
-
* Defaults to 4 decimal places of precision if not specified.
|
|
27
|
-
*/
|
|
28
|
-
export declare function scaledRate(float: number, precision?: number): ScaledRate;
|
|
29
|
-
/**
|
|
30
|
-
* Register a new currency in CURRENCY_MAP atomically.
|
|
31
|
-
* Ensures the core registry and any store-level registries stay in sync.
|
|
32
|
-
*/
|
|
33
|
-
export declare function registerCurrency(code: string, currency: DineroCurrency<number>): void;
|
|
34
|
-
/**
|
|
35
|
-
* Normalizes an unknown input into a valid integer for Dinero.js.
|
|
36
|
-
* Exported so consumers can apply the same defensive coercion.
|
|
37
|
-
*/
|
|
38
|
-
export declare function safeAmount(amount: unknown): number;
|
|
39
|
-
/**
|
|
40
|
-
* Converts a major-unit amount (e.g., pesos) to a minor-unit integer (e.g., centavos).
|
|
41
|
-
* Uses the currency's exponent from CURRENCY_MAP.
|
|
42
|
-
*/
|
|
43
|
-
export declare function toMinorUnit(amount: unknown, currencyCode: ISO4217Code | string): number;
|
|
44
|
-
/**
|
|
45
|
-
* Create a Dinero monetary value from an amount.
|
|
46
|
-
* @param amount - Amount (normalized internally via safeAmount)
|
|
47
|
-
* @param currencyCode - ISO 4217 currency code (e.g., "USD")
|
|
48
|
-
*/
|
|
49
|
-
export declare function createMoney(amount: unknown, currencyCode: ISO4217Code | string): Dinero<number>;
|
|
50
|
-
/**
|
|
51
|
-
* Format a Dinero value as a locale-aware string
|
|
52
|
-
* @param money - Dinero monetary value
|
|
53
|
-
* @param locale - BCP 47 locale string (e.g., "en-US", "es-MX")
|
|
54
|
-
* @param currencyCode - ISO 4217 code for Intl.NumberFormat (e.g., "USD")
|
|
55
|
-
*/
|
|
56
|
-
export declare function formatMoney(money: Dinero<number>, locale?: string, currencyCode?: string): string;
|
|
57
|
-
/**
|
|
58
|
-
* Format a raw amount as a locale-aware currency string.
|
|
59
|
-
* Convenience wrapper around createMoney + formatMoney.
|
|
60
|
-
*/
|
|
61
|
-
export declare function formatAmount(amount: unknown, currencyCode: ISO4217Code | string, locale?: string): string;
|
|
62
|
-
/**
|
|
63
|
-
* Add two monetary values (must be same currency)
|
|
64
|
-
*/
|
|
65
|
-
export declare function addMoney(a: Dinero<number>, b: Dinero<number>): Dinero<number>;
|
|
66
|
-
/**
|
|
67
|
-
* Subtract two monetary values (must be same currency)
|
|
68
|
-
*/
|
|
69
|
-
export declare function subtractMoney(a: Dinero<number>, b: Dinero<number>): Dinero<number>;
|
|
70
|
-
/**
|
|
71
|
-
* Multiply a monetary value by a factor
|
|
72
|
-
*/
|
|
73
|
-
export declare function multiplyMoney(money: Dinero<number>, factor: number): Dinero<number>;
|
|
74
|
-
/**
|
|
75
|
-
* Converts a Dinero object to another currency.
|
|
76
|
-
* Both currencies must share the same base (base 10 for all standard ISO currencies).
|
|
77
|
-
*/
|
|
78
|
-
export declare function convertMoney(money: Dinero<number>, toCurrencyCode: string, rates: RateMap): Dinero<number>;
|
|
79
|
-
/**
|
|
80
|
-
* Converts a raw minor-unit amount between currencies.
|
|
81
|
-
* Returns the original amount if from and to currencies are the same.
|
|
82
|
-
*/
|
|
83
|
-
export declare function convertAmount(amount: number, fromCode: string, toCode: string, rates: RateMap): number;
|
|
84
|
-
/**
|
|
85
|
-
* Converts Dinero object to a Stripe-compatible payload.
|
|
86
|
-
*/
|
|
87
|
-
export declare function toStripeMoney(money: Dinero<number>): {
|
|
88
|
-
amount: number;
|
|
89
|
-
currency: string;
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* Converts Dinero object to a PayPal-compatible payload.
|
|
93
|
-
*/
|
|
94
|
-
export declare function toPaypalMoney(money: Dinero<number>): {
|
|
95
|
-
value: string;
|
|
96
|
-
currency_code: string;
|
|
97
|
-
};
|
|
98
|
-
/**
|
|
99
|
-
* Converts Dinero object to an Adyen-compatible payload.
|
|
100
|
-
*/
|
|
101
|
-
export declare function toAdyenMoney(money: Dinero<number>): {
|
|
102
|
-
value: number;
|
|
103
|
-
currency: string;
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Converts Dinero object to a Square-compatible payload (uses BigInt).
|
|
107
|
-
*/
|
|
108
|
-
export declare function toSquareMoney(money: Dinero<number>): {
|
|
109
|
-
amount: bigint;
|
|
110
|
-
currency: string;
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Serializes a Dinero object into a plain object snapshot.
|
|
114
|
-
*/
|
|
115
|
-
export declare function toMoneySnapshot(money: Dinero<number>): {
|
|
116
|
-
amount: number;
|
|
117
|
-
currency: string;
|
|
118
|
-
scale: number;
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Restores a Dinero object from a snapshot.
|
|
122
|
-
*/
|
|
123
|
-
export declare function fromMoneySnapshot(snapshot: {
|
|
124
|
-
amount: number;
|
|
125
|
-
currency: string;
|
|
126
|
-
scale?: number;
|
|
127
|
-
}): Dinero<number>;
|
|
128
|
-
export type { Dinero, DineroCurrency, DineroSnapshot };
|
|
129
|
-
//# sourceMappingURL=money.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../../src/sdk/core/src/money/money.ts"],"names":[],"mappings":"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"}
|