rune-lab 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/.gitignore +12 -0
  2. package/README.md +3 -3
  3. package/deno.json +50 -0
  4. package/justfile +5 -0
  5. package/package.json +2 -79
  6. package/scripts/build_pkg.ts +51 -0
  7. package/scripts/ci.just +26 -0
  8. package/scripts/deploy.just +21 -0
  9. package/scripts/dev.just +4 -0
  10. package/scripts/inject.just +72 -0
  11. package/src/RuneProvider.svelte +105 -0
  12. package/src/i18n/message-resolver.test.ts +103 -0
  13. package/src/i18n/message-resolver.ts +89 -0
  14. package/src/i18n/project.inlang/settings.json +26 -0
  15. package/src/i18n/translations/ar.json +89 -0
  16. package/src/i18n/translations/de.json +89 -0
  17. package/src/i18n/translations/en.json +89 -0
  18. package/src/i18n/translations/es.json +89 -0
  19. package/src/i18n/translations/fr.json +89 -0
  20. package/src/i18n/translations/hi.json +89 -0
  21. package/src/i18n/translations/it.json +89 -0
  22. package/src/i18n/translations/ja.json +89 -0
  23. package/src/i18n/translations/ko.json +89 -0
  24. package/src/i18n/translations/pt.json +89 -0
  25. package/src/i18n/translations/ru.json +89 -0
  26. package/src/i18n/translations/vi.json +89 -0
  27. package/src/i18n/translations/zh.json +89 -0
  28. package/src/kernel/deno.json +5 -0
  29. package/src/kernel/src/actions/portal.ts +41 -0
  30. package/src/kernel/src/actions/shortcut-listener.ts +50 -0
  31. package/src/kernel/src/context/app.svelte.ts +98 -0
  32. package/src/kernel/src/context/context.ts +31 -0
  33. package/src/kernel/src/context/stores.svelte.ts +96 -0
  34. package/src/kernel/src/context/types.ts +110 -0
  35. package/src/kernel/src/context/useRuneLab.ts +38 -0
  36. package/src/kernel/src/mod.ts +13 -0
  37. package/src/kernel/src/persistence/createConfigStore.svelte.ts +120 -0
  38. package/src/kernel/src/persistence/drivers.test.ts +95 -0
  39. package/src/kernel/src/persistence/drivers.ts +77 -0
  40. package/src/kernel/src/persistence/provider.test.ts +58 -0
  41. package/{dist/state/persistence/provider.js → src/kernel/src/persistence/provider.ts} +29 -14
  42. package/src/kernel/src/persistence/types.ts +19 -0
  43. package/src/kernel/src/persistence/usePersistence.ts +9 -0
  44. package/src/kernel/src/registry/mod.ts +221 -0
  45. package/src/kernel/src/registry/registry.test.ts +162 -0
  46. package/src/kernel/src/tokens/props.ts +94 -0
  47. package/src/mod.ts +10 -0
  48. package/src/runes/layout/deno.json +5 -0
  49. package/src/runes/layout/src/APP_CONFIGURATIONS.ts +56 -0
  50. package/{dist/ui/features/config → src/runes/layout/src}/AppSettingSelector.svelte +1 -1
  51. package/{dist/ui/layout → src/runes/layout/src}/ConnectedNavigationPanel.svelte +1 -1
  52. package/{dist/ui/layout → src/runes/layout/src}/ConnectedWorkspaceStrip.svelte +1 -1
  53. package/src/runes/layout/src/Icon.svelte +7 -0
  54. package/{dist/ui/features/config → src/runes/layout/src}/LanguageSelector.svelte +7 -5
  55. package/{dist/ui/layout → src/runes/layout/src}/NavigationPanel.svelte +1 -4
  56. package/{dist/ui/features/config → src/runes/layout/src}/ResourceSelector.svelte +3 -5
  57. package/{dist/ui/features/config → src/runes/layout/src}/ThemeSelector.svelte +2 -2
  58. package/{dist/ui/layout → src/runes/layout/src}/WorkspaceLayout.svelte +6 -4
  59. package/{dist/ui/layout → src/runes/layout/src}/WorkspaceStrip.svelte +1 -1
  60. package/src/runes/layout/src/connection-factory.ts +95 -0
  61. package/src/runes/layout/src/language.svelte.ts +44 -0
  62. package/src/runes/layout/src/mod.ts +71 -0
  63. package/src/runes/layout/src/store.svelte.ts +142 -0
  64. package/src/runes/layout/src/theme.svelte.ts +73 -0
  65. package/src/runes/layout/src/types.ts +11 -0
  66. package/src/runes/palettes/deno.json +8 -0
  67. package/{dist/ui/features/command-palette → src/runes/palettes/src/commands}/CommandPalette.svelte +4 -4
  68. package/src/runes/palettes/src/commands/mod.ts +2 -0
  69. package/src/runes/palettes/src/commands/store.svelte.ts +80 -0
  70. package/src/runes/palettes/src/mod.ts +51 -0
  71. package/{dist/ui/components → src/runes/palettes/src/notifications}/Toaster.svelte +1 -2
  72. package/src/runes/palettes/src/notifications/bridge.ts +56 -0
  73. package/src/runes/palettes/src/notifications/mod.ts +4 -0
  74. package/src/runes/palettes/src/notifications/store.svelte.ts +58 -0
  75. package/{dist/ui/features → src/runes/palettes/src}/shortcuts/ShortcutPalette.svelte +4 -4
  76. package/src/runes/palettes/src/shortcuts/mod.ts +4 -0
  77. package/src/runes/palettes/src/shortcuts/store.svelte.ts +85 -0
  78. package/src/runes/palettes/src/shortcuts/types.ts +4 -0
  79. package/src/runes/palettes/src/shortcuts/useShortcuts.ts +85 -0
  80. package/src/runes/plugins/money/deno.json +8 -0
  81. package/{dist/ui/features/config → src/runes/plugins/money/src}/CurrencySelector.svelte +2 -2
  82. package/{dist/ui/components/money → src/runes/plugins/money/src}/MoneyDisplay.svelte +2 -2
  83. package/{dist/ui/components/money → src/runes/plugins/money/src}/MoneyInput.svelte +4 -8
  84. package/src/runes/plugins/money/src/currency.svelte.ts +95 -0
  85. package/src/runes/plugins/money/src/currency.test.ts +40 -0
  86. package/src/runes/plugins/money/src/exchange-rate.svelte.ts +176 -0
  87. package/src/runes/plugins/money/src/exchange-rate.test.ts +95 -0
  88. package/src/runes/plugins/money/src/mod.ts +79 -0
  89. package/src/runes/plugins/money/src/money-primitive.test.ts +217 -0
  90. package/src/runes/plugins/money/src/money-primitive.ts +220 -0
  91. package/src/runes/plugins/money/src/money.test.ts +183 -0
  92. package/src/runes/plugins/money/src/money.ts +382 -0
  93. package/src/runes/plugins/money/src/strategies.test.ts +143 -0
  94. package/{dist/core/exchange-rate/strategies.js → src/runes/plugins/money/src/strategies.ts} +45 -22
  95. package/src/runes/plugins/money/src/types.ts +27 -0
  96. package/src/runes/plugins/money/src/useMoney.ts +261 -0
  97. package/src/runes/plugins/money/src/useMoneyFilter.ts +132 -0
  98. package/tsconfig.json +41 -0
  99. package/vite.config.ts +44 -0
  100. package/dist/core/design-tokens/props.d.ts +0 -52
  101. package/dist/core/design-tokens/props.d.ts.map +0 -1
  102. package/dist/core/design-tokens/props.js +0 -34
  103. package/dist/core/exchange-rate/strategies.d.ts +0 -52
  104. package/dist/core/exchange-rate/strategies.d.ts.map +0 -1
  105. package/dist/core/index.d.ts +0 -9
  106. package/dist/core/index.d.ts.map +0 -1
  107. package/dist/core/index.js +0 -8
  108. package/dist/core/internal/message-resolver.d.ts +0 -42
  109. package/dist/core/internal/message-resolver.d.ts.map +0 -1
  110. package/dist/core/internal/message-resolver.js +0 -47
  111. package/dist/core/layout/types.d.ts +0 -60
  112. package/dist/core/layout/types.d.ts.map +0 -1
  113. package/dist/core/layout/types.js +0 -4
  114. package/dist/core/money/index.d.ts +0 -2
  115. package/dist/core/money/index.d.ts.map +0 -1
  116. package/dist/core/money/index.js +0 -2
  117. package/dist/core/money/money-primitive.d.ts +0 -101
  118. package/dist/core/money/money-primitive.d.ts.map +0 -1
  119. package/dist/core/money/money-primitive.js +0 -161
  120. package/dist/core/money/money.d.ts +0 -129
  121. package/dist/core/money/money.d.ts.map +0 -1
  122. package/dist/core/money/money.js +0 -250
  123. package/dist/core/persistence/types.d.ts +0 -18
  124. package/dist/core/persistence/types.d.ts.map +0 -1
  125. package/dist/core/persistence/types.js +0 -2
  126. package/dist/core/shortcuts/types.d.ts +0 -60
  127. package/dist/core/shortcuts/types.d.ts.map +0 -1
  128. package/dist/core/shortcuts/types.js +0 -4
  129. package/dist/index.d.ts +0 -6
  130. package/dist/index.js +0 -7
  131. package/dist/state/api.svelte.d.ts +0 -26
  132. package/dist/state/api.svelte.js +0 -65
  133. package/dist/state/app.svelte.d.ts +0 -48
  134. package/dist/state/app.svelte.js +0 -82
  135. package/dist/state/auth/index.d.ts +0 -2
  136. package/dist/state/auth/index.js +0 -2
  137. package/dist/state/auth/session.svelte.d.ts +0 -40
  138. package/dist/state/auth/session.svelte.js +0 -59
  139. package/dist/state/auth/types.d.ts +0 -30
  140. package/dist/state/auth/types.js +0 -3
  141. package/dist/state/cart.svelte.d.ts +0 -64
  142. package/dist/state/cart.svelte.js +0 -122
  143. package/dist/state/commands.svelte.d.ts +0 -46
  144. package/dist/state/commands.svelte.js +0 -62
  145. package/dist/state/composables/useMoney.d.ts +0 -31
  146. package/dist/state/composables/useMoney.js +0 -126
  147. package/dist/state/composables/useMoneyFilter.d.ts +0 -20
  148. package/dist/state/composables/useMoneyFilter.js +0 -81
  149. package/dist/state/composables/usePersistence.d.ts +0 -2
  150. package/dist/state/composables/usePersistence.js +0 -5
  151. package/dist/state/composables/useRuneLab.d.ts +0 -19
  152. package/dist/state/composables/useRuneLab.js +0 -30
  153. package/dist/state/composables/useShortcuts.d.ts +0 -33
  154. package/dist/state/composables/useShortcuts.js +0 -75
  155. package/dist/state/context.d.ts +0 -15
  156. package/dist/state/context.js +0 -16
  157. package/dist/state/createConfigStore.svelte.d.ts +0 -28
  158. package/dist/state/createConfigStore.svelte.js +0 -72
  159. package/dist/state/currency.svelte.d.ts +0 -32
  160. package/dist/state/currency.svelte.js +0 -96
  161. package/dist/state/currency.test.d.ts +0 -1
  162. package/dist/state/currency.test.js +0 -35
  163. package/dist/state/exchange-rate.svelte.d.ts +0 -43
  164. package/dist/state/exchange-rate.svelte.js +0 -145
  165. package/dist/state/exchange-rate.test.d.ts +0 -1
  166. package/dist/state/exchange-rate.test.js +0 -75
  167. package/dist/state/index.d.ts +0 -26
  168. package/dist/state/index.js +0 -32
  169. package/dist/state/language.svelte.d.ts +0 -57
  170. package/dist/state/language.svelte.js +0 -43
  171. package/dist/state/layout.svelte.d.ts +0 -49
  172. package/dist/state/layout.svelte.js +0 -108
  173. package/dist/state/persistence/drivers.d.ts +0 -12
  174. package/dist/state/persistence/drivers.js +0 -75
  175. package/dist/state/persistence/drivers.test.d.ts +0 -1
  176. package/dist/state/persistence/drivers.test.js +0 -79
  177. package/dist/state/persistence/provider.d.ts +0 -23
  178. package/dist/state/persistence/provider.test.d.ts +0 -1
  179. package/dist/state/persistence/provider.test.js +0 -51
  180. package/dist/state/registry/index.d.ts +0 -44
  181. package/dist/state/registry/index.js +0 -58
  182. package/dist/state/registry/registry.test.d.ts +0 -1
  183. package/dist/state/registry/registry.test.js +0 -112
  184. package/dist/state/registry/types.d.ts +0 -20
  185. package/dist/state/registry/types.js +0 -3
  186. package/dist/state/shortcuts.svelte.d.ts +0 -121
  187. package/dist/state/shortcuts.svelte.js +0 -222
  188. package/dist/state/theme.svelte.d.ts +0 -15
  189. package/dist/state/theme.svelte.js +0 -92
  190. package/dist/state/toast-bridge.d.ts +0 -29
  191. package/dist/state/toast-bridge.js +0 -43
  192. package/dist/state/toast.svelte.d.ts +0 -27
  193. package/dist/state/toast.svelte.js +0 -43
  194. package/dist/ui/actions/portal.d.ts +0 -7
  195. package/dist/ui/actions/portal.js +0 -32
  196. package/dist/ui/components/ApiMonitor.svelte +0 -162
  197. package/dist/ui/components/ApiMonitor.svelte.d.ts +0 -3
  198. package/dist/ui/components/Icon.svelte +0 -108
  199. package/dist/ui/components/Icon.svelte.d.ts +0 -14
  200. package/dist/ui/components/Kyntharil.svelte +0 -48
  201. package/dist/ui/components/Kyntharil.svelte.d.ts +0 -6
  202. package/dist/ui/components/RuneProvider.svelte +0 -218
  203. package/dist/ui/components/RuneProvider.svelte.d.ts +0 -49
  204. package/dist/ui/components/Toaster.svelte.d.ts +0 -18
  205. package/dist/ui/components/money/MoneyDisplay.svelte.d.ts +0 -33
  206. package/dist/ui/components/money/MoneyDisplay.svelte.test.d.ts +0 -1
  207. package/dist/ui/components/money/MoneyDisplay.svelte.test.js +0 -117
  208. package/dist/ui/components/money/MoneyInput.svelte.d.ts +0 -34
  209. package/dist/ui/components/money/index.d.ts +0 -2
  210. package/dist/ui/components/money/index.js +0 -3
  211. package/dist/ui/components/user/UserAvatar.svelte +0 -66
  212. package/dist/ui/components/user/UserAvatar.svelte.d.ts +0 -13
  213. package/dist/ui/components/user/UserProfile.svelte +0 -79
  214. package/dist/ui/components/user/UserProfile.svelte.d.ts +0 -17
  215. package/dist/ui/components/user/index.d.ts +0 -2
  216. package/dist/ui/components/user/index.js +0 -3
  217. package/dist/ui/features/command-palette/CommandPalette.svelte.d.ts +0 -6
  218. package/dist/ui/features/config/APP_CONFIGURATIONS.d.ts +0 -29
  219. package/dist/ui/features/config/APP_CONFIGURATIONS.js +0 -38
  220. package/dist/ui/features/config/AppSettingSelector.svelte.d.ts +0 -13
  221. package/dist/ui/features/config/CurrencySelector.svelte.d.ts +0 -8
  222. package/dist/ui/features/config/LanguageSelector.svelte.d.ts +0 -8
  223. package/dist/ui/features/config/ResourceSelector.svelte.d.ts +0 -25
  224. package/dist/ui/features/config/ThemeSelector.svelte.d.ts +0 -8
  225. package/dist/ui/features/notifications/NotificationBell.svelte.d.ts +0 -11
  226. package/dist/ui/features/notifications/index.d.ts +0 -1
  227. package/dist/ui/features/notifications/index.js +0 -2
  228. package/dist/ui/features/shortcuts/ShortcutBinder.svelte +0 -17
  229. package/dist/ui/features/shortcuts/ShortcutBinder.svelte.d.ts +0 -7
  230. package/dist/ui/features/shortcuts/ShortcutPalette.svelte.d.ts +0 -6
  231. package/dist/ui/index.d.ts +0 -30
  232. package/dist/ui/index.js +0 -46
  233. package/dist/ui/layout/ConnectedNavigationPanel.svelte.d.ts +0 -10
  234. package/dist/ui/layout/ConnectedWorkspaceStrip.svelte.d.ts +0 -9
  235. package/dist/ui/layout/ContentArea.svelte.d.ts +0 -8
  236. package/dist/ui/layout/DetailPanel.svelte.d.ts +0 -7
  237. package/dist/ui/layout/NavigationPanel.svelte.d.ts +0 -14
  238. package/dist/ui/layout/WorkspaceLayout.svelte.d.ts +0 -32
  239. package/dist/ui/layout/WorkspaceStrip.svelte.d.ts +0 -11
  240. package/dist/ui/layout/connection-factory.d.ts +0 -50
  241. package/dist/ui/layout/connection-factory.js +0 -58
  242. package/dist/ui/layout/index.d.ts +0 -7
  243. package/dist/ui/layout/index.js +0 -7
  244. package/dist/ui/paraglide/README.md +0 -147
  245. package/dist/ui/paraglide/messages/_index.d.ts +0 -87
  246. package/dist/ui/paraglide/messages/_index.js +0 -88
  247. package/dist/ui/paraglide/messages/abyss.d.ts +0 -16
  248. package/dist/ui/paraglide/messages/abyss.js +0 -84
  249. package/dist/ui/paraglide/messages/acid.d.ts +0 -16
  250. package/dist/ui/paraglide/messages/acid.js +0 -84
  251. package/dist/ui/paraglide/messages/active_toasts.d.ts +0 -16
  252. package/dist/ui/paraglide/messages/active_toasts.js +0 -84
  253. package/dist/ui/paraglide/messages/aed3.d.ts +0 -17
  254. package/dist/ui/paraglide/messages/aed3.js +0 -85
  255. package/dist/ui/paraglide/messages/all_currencies.d.ts +0 -16
  256. package/dist/ui/paraglide/messages/all_currencies.js +0 -84
  257. package/dist/ui/paraglide/messages/all_languages.d.ts +0 -16
  258. package/dist/ui/paraglide/messages/all_languages.js +0 -84
  259. package/dist/ui/paraglide/messages/all_themes.d.ts +0 -16
  260. package/dist/ui/paraglide/messages/all_themes.js +0 -84
  261. package/dist/ui/paraglide/messages/api_status.d.ts +0 -16
  262. package/dist/ui/paraglide/messages/api_status.js +0 -84
  263. package/dist/ui/paraglide/messages/app_info.d.ts +0 -16
  264. package/dist/ui/paraglide/messages/app_info.js +0 -84
  265. package/dist/ui/paraglide/messages/appearance.d.ts +0 -16
  266. package/dist/ui/paraglide/messages/appearance.js +0 -84
  267. package/dist/ui/paraglide/messages/aqua.d.ts +0 -16
  268. package/dist/ui/paraglide/messages/aqua.js +0 -84
  269. package/dist/ui/paraglide/messages/ar.d.ts +0 -16
  270. package/dist/ui/paraglide/messages/ar.js +0 -84
  271. package/dist/ui/paraglide/messages/autumn.d.ts +0 -16
  272. package/dist/ui/paraglide/messages/autumn.js +0 -84
  273. package/dist/ui/paraglide/messages/black.d.ts +0 -16
  274. package/dist/ui/paraglide/messages/black.js +0 -84
  275. package/dist/ui/paraglide/messages/brl3.d.ts +0 -17
  276. package/dist/ui/paraglide/messages/brl3.js +0 -85
  277. package/dist/ui/paraglide/messages/bumblebee.d.ts +0 -16
  278. package/dist/ui/paraglide/messages/bumblebee.js +0 -84
  279. package/dist/ui/paraglide/messages/business.d.ts +0 -16
  280. package/dist/ui/paraglide/messages/business.js +0 -84
  281. package/dist/ui/paraglide/messages/cad3.d.ts +0 -17
  282. package/dist/ui/paraglide/messages/cad3.js +0 -85
  283. package/dist/ui/paraglide/messages/caramellatte.d.ts +0 -16
  284. package/dist/ui/paraglide/messages/caramellatte.js +0 -84
  285. package/dist/ui/paraglide/messages/cmyk.d.ts +0 -16
  286. package/dist/ui/paraglide/messages/cmyk.js +0 -84
  287. package/dist/ui/paraglide/messages/cny3.d.ts +0 -17
  288. package/dist/ui/paraglide/messages/cny3.js +0 -85
  289. package/dist/ui/paraglide/messages/coffee.d.ts +0 -16
  290. package/dist/ui/paraglide/messages/coffee.js +0 -84
  291. package/dist/ui/paraglide/messages/commands_label.d.ts +0 -16
  292. package/dist/ui/paraglide/messages/commands_label.js +0 -84
  293. package/dist/ui/paraglide/messages/corporate.d.ts +0 -16
  294. package/dist/ui/paraglide/messages/corporate.js +0 -84
  295. package/dist/ui/paraglide/messages/cupcake.d.ts +0 -16
  296. package/dist/ui/paraglide/messages/cupcake.js +0 -84
  297. package/dist/ui/paraglide/messages/currency.d.ts +0 -16
  298. package/dist/ui/paraglide/messages/currency.js +0 -84
  299. package/dist/ui/paraglide/messages/current_currency.d.ts +0 -16
  300. package/dist/ui/paraglide/messages/current_currency.js +0 -84
  301. package/dist/ui/paraglide/messages/current_language.d.ts +0 -16
  302. package/dist/ui/paraglide/messages/current_language.js +0 -84
  303. package/dist/ui/paraglide/messages/current_theme.d.ts +0 -16
  304. package/dist/ui/paraglide/messages/current_theme.js +0 -84
  305. package/dist/ui/paraglide/messages/currently_in_queue.d.ts +0 -16
  306. package/dist/ui/paraglide/messages/currently_in_queue.js +0 -84
  307. package/dist/ui/paraglide/messages/cyberpunk.d.ts +0 -16
  308. package/dist/ui/paraglide/messages/cyberpunk.js +0 -84
  309. package/dist/ui/paraglide/messages/dark.d.ts +0 -16
  310. package/dist/ui/paraglide/messages/dark.js +0 -84
  311. package/dist/ui/paraglide/messages/de.d.ts +0 -16
  312. package/dist/ui/paraglide/messages/de.js +0 -84
  313. package/dist/ui/paraglide/messages/dim.d.ts +0 -16
  314. package/dist/ui/paraglide/messages/dim.js +0 -84
  315. package/dist/ui/paraglide/messages/dracula.d.ts +0 -16
  316. package/dist/ui/paraglide/messages/dracula.js +0 -84
  317. package/dist/ui/paraglide/messages/emerald.d.ts +0 -16
  318. package/dist/ui/paraglide/messages/emerald.js +0 -84
  319. package/dist/ui/paraglide/messages/en.d.ts +0 -16
  320. package/dist/ui/paraglide/messages/en.js +0 -84
  321. package/dist/ui/paraglide/messages/es.d.ts +0 -16
  322. package/dist/ui/paraglide/messages/es.js +0 -84
  323. package/dist/ui/paraglide/messages/eur3.d.ts +0 -17
  324. package/dist/ui/paraglide/messages/eur3.js +0 -85
  325. package/dist/ui/paraglide/messages/extended_controls.d.ts +0 -16
  326. package/dist/ui/paraglide/messages/extended_controls.js +0 -84
  327. package/dist/ui/paraglide/messages/fantasy.d.ts +0 -16
  328. package/dist/ui/paraglide/messages/fantasy.js +0 -84
  329. package/dist/ui/paraglide/messages/forest.d.ts +0 -16
  330. package/dist/ui/paraglide/messages/forest.js +0 -84
  331. package/dist/ui/paraglide/messages/fr.d.ts +0 -16
  332. package/dist/ui/paraglide/messages/fr.js +0 -84
  333. package/dist/ui/paraglide/messages/garden.d.ts +0 -16
  334. package/dist/ui/paraglide/messages/garden.js +0 -84
  335. package/dist/ui/paraglide/messages/gbp3.d.ts +0 -17
  336. package/dist/ui/paraglide/messages/gbp3.js +0 -85
  337. package/dist/ui/paraglide/messages/halloween.d.ts +0 -16
  338. package/dist/ui/paraglide/messages/halloween.js +0 -84
  339. package/dist/ui/paraglide/messages/hello_world.d.ts +0 -18
  340. package/dist/ui/paraglide/messages/hello_world.js +0 -84
  341. package/dist/ui/paraglide/messages/hi.d.ts +0 -16
  342. package/dist/ui/paraglide/messages/hi.js +0 -84
  343. package/dist/ui/paraglide/messages/inr3.d.ts +0 -17
  344. package/dist/ui/paraglide/messages/inr3.js +0 -85
  345. package/dist/ui/paraglide/messages/it.d.ts +0 -16
  346. package/dist/ui/paraglide/messages/it.js +0 -84
  347. package/dist/ui/paraglide/messages/ja.d.ts +0 -16
  348. package/dist/ui/paraglide/messages/ja.js +0 -84
  349. package/dist/ui/paraglide/messages/jpy3.d.ts +0 -17
  350. package/dist/ui/paraglide/messages/jpy3.js +0 -85
  351. package/dist/ui/paraglide/messages/ko.d.ts +0 -16
  352. package/dist/ui/paraglide/messages/ko.js +0 -84
  353. package/dist/ui/paraglide/messages/krw3.d.ts +0 -17
  354. package/dist/ui/paraglide/messages/krw3.js +0 -85
  355. package/dist/ui/paraglide/messages/languages.d.ts +0 -16
  356. package/dist/ui/paraglide/messages/languages.js +0 -84
  357. package/dist/ui/paraglide/messages/lemonade.d.ts +0 -16
  358. package/dist/ui/paraglide/messages/lemonade.js +0 -84
  359. package/dist/ui/paraglide/messages/light.d.ts +0 -16
  360. package/dist/ui/paraglide/messages/light.js +0 -84
  361. package/dist/ui/paraglide/messages/live_store_dashboard.d.ts +0 -16
  362. package/dist/ui/paraglide/messages/live_store_dashboard.js +0 -84
  363. package/dist/ui/paraglide/messages/localization.d.ts +0 -16
  364. package/dist/ui/paraglide/messages/localization.js +0 -84
  365. package/dist/ui/paraglide/messages/lofi.d.ts +0 -16
  366. package/dist/ui/paraglide/messages/lofi.js +0 -84
  367. package/dist/ui/paraglide/messages/luxury.d.ts +0 -16
  368. package/dist/ui/paraglide/messages/luxury.js +0 -84
  369. package/dist/ui/paraglide/messages/mxn3.d.ts +0 -17
  370. package/dist/ui/paraglide/messages/mxn3.js +0 -85
  371. package/dist/ui/paraglide/messages/name_label.d.ts +0 -16
  372. package/dist/ui/paraglide/messages/name_label.js +0 -84
  373. package/dist/ui/paraglide/messages/night.d.ts +0 -16
  374. package/dist/ui/paraglide/messages/night.js +0 -84
  375. package/dist/ui/paraglide/messages/nord.d.ts +0 -16
  376. package/dist/ui/paraglide/messages/nord.js +0 -84
  377. package/dist/ui/paraglide/messages/pastel.d.ts +0 -16
  378. package/dist/ui/paraglide/messages/pastel.js +0 -84
  379. package/dist/ui/paraglide/messages/pt.d.ts +0 -16
  380. package/dist/ui/paraglide/messages/pt.js +0 -84
  381. package/dist/ui/paraglide/messages/real_time_monitor_desc.d.ts +0 -16
  382. package/dist/ui/paraglide/messages/real_time_monitor_desc.js +0 -84
  383. package/dist/ui/paraglide/messages/registered_in_registry.d.ts +0 -16
  384. package/dist/ui/paraglide/messages/registered_in_registry.js +0 -84
  385. package/dist/ui/paraglide/messages/retro.d.ts +0 -16
  386. package/dist/ui/paraglide/messages/retro.js +0 -84
  387. package/dist/ui/paraglide/messages/ru.d.ts +0 -16
  388. package/dist/ui/paraglide/messages/ru.js +0 -84
  389. package/dist/ui/paraglide/messages/silk.d.ts +0 -16
  390. package/dist/ui/paraglide/messages/silk.js +0 -84
  391. package/dist/ui/paraglide/messages/state_label.d.ts +0 -16
  392. package/dist/ui/paraglide/messages/state_label.js +0 -84
  393. package/dist/ui/paraglide/messages/sunset.d.ts +0 -16
  394. package/dist/ui/paraglide/messages/sunset.js +0 -84
  395. package/dist/ui/paraglide/messages/synthwave.d.ts +0 -16
  396. package/dist/ui/paraglide/messages/synthwave.js +0 -84
  397. package/dist/ui/paraglide/messages/system.d.ts +0 -16
  398. package/dist/ui/paraglide/messages/system.js +0 -84
  399. package/dist/ui/paraglide/messages/theme.d.ts +0 -16
  400. package/dist/ui/paraglide/messages/theme.js +0 -84
  401. package/dist/ui/paraglide/messages/themes.d.ts +0 -16
  402. package/dist/ui/paraglide/messages/themes.js +0 -84
  403. package/dist/ui/paraglide/messages/url_label.d.ts +0 -16
  404. package/dist/ui/paraglide/messages/url_label.js +0 -84
  405. package/dist/ui/paraglide/messages/usd3.d.ts +0 -17
  406. package/dist/ui/paraglide/messages/usd3.js +0 -85
  407. package/dist/ui/paraglide/messages/valentine.d.ts +0 -16
  408. package/dist/ui/paraglide/messages/valentine.js +0 -84
  409. package/dist/ui/paraglide/messages/version_label.d.ts +0 -16
  410. package/dist/ui/paraglide/messages/version_label.js +0 -84
  411. package/dist/ui/paraglide/messages/vi.d.ts +0 -16
  412. package/dist/ui/paraglide/messages/vi.js +0 -84
  413. package/dist/ui/paraglide/messages/winter.d.ts +0 -16
  414. package/dist/ui/paraglide/messages/winter.js +0 -84
  415. package/dist/ui/paraglide/messages/wireframe.d.ts +0 -16
  416. package/dist/ui/paraglide/messages/wireframe.js +0 -84
  417. package/dist/ui/paraglide/messages/zh.d.ts +0 -16
  418. package/dist/ui/paraglide/messages/zh.js +0 -84
  419. package/dist/ui/paraglide/messages.d.ts +0 -2
  420. package/dist/ui/paraglide/messages.js +0 -4
  421. package/dist/ui/paraglide/registry.d.ts +0 -21
  422. package/dist/ui/paraglide/registry.js +0 -31
  423. package/dist/ui/paraglide/runtime.d.ts +0 -730
  424. package/dist/ui/paraglide/runtime.js +0 -1812
  425. package/dist/ui/paraglide/server.d.ts +0 -92
  426. package/dist/ui/paraglide/server.js +0 -239
  427. package/dist/ui/primitives/DatePicker.svelte +0 -257
  428. package/dist/ui/primitives/DatePicker.svelte.d.ts +0 -17
  429. package/dist/ui/primitives/index.d.ts +0 -1
  430. package/dist/ui/primitives/index.js +0 -3
  431. /package/{dist/ui/layout → src/runes/layout/src}/ContentArea.svelte +0 -0
  432. /package/{dist/ui/layout → src/runes/layout/src}/DetailPanel.svelte +0 -0
  433. /package/{dist/ui/features → src/runes/palettes/src}/notifications/NotificationBell.svelte +0 -0
@@ -1 +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,4 +0,0 @@
1
- // sdk/core/src/layout/types.ts
2
- // Framework-agnostic layout configuration types.
3
- // No Svelte dependency — `component` is typed as `unknown` (resolved by sdk/ui).
4
- export {};
@@ -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"}
@@ -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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"}