@b3dotfun/sdk 0.0.42-alpha.1 → 0.0.42-alpha.3

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 (111) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +1 -0
  2. package/dist/cjs/anyspend/react/components/AnySpend.js +2 -2
  3. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +1 -0
  4. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
  5. package/dist/cjs/anyspend/react/components/common/PanelOnramp.d.ts +2 -1
  6. package/dist/cjs/anyspend/react/components/common/PanelOnramp.js +5 -3
  7. package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +1 -1
  8. package/dist/cjs/global-account/react/components/index.d.ts +8 -7
  9. package/dist/cjs/global-account/react/components/index.js +29 -23
  10. package/dist/cjs/global-account/react/components/ui/dropdown-menu.d.ts +27 -0
  11. package/dist/cjs/global-account/react/components/ui/dropdown-menu.js +100 -0
  12. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +4 -0
  13. package/dist/cjs/shared/constants/currency.d.ts +1 -0
  14. package/dist/cjs/shared/constants/currency.js +5 -0
  15. package/dist/cjs/shared/constants/index.d.ts +1 -0
  16. package/dist/cjs/shared/constants/index.js +15 -0
  17. package/dist/cjs/shared/react/components/CurrencySelector.d.ts +7 -0
  18. package/dist/cjs/shared/react/components/CurrencySelector.js +14 -0
  19. package/dist/cjs/shared/react/components/FormattedCurrency.d.ts +12 -0
  20. package/dist/cjs/shared/react/components/FormattedCurrency.js +60 -0
  21. package/dist/cjs/shared/react/components/index.d.ts +2 -0
  22. package/dist/cjs/shared/react/components/index.js +18 -0
  23. package/dist/cjs/shared/react/hooks/__tests__/useCurrencyConversion.test.d.ts +1 -0
  24. package/dist/cjs/shared/react/hooks/__tests__/useCurrencyConversion.test.js +245 -0
  25. package/dist/cjs/shared/react/hooks/index.d.ts +1 -0
  26. package/dist/cjs/shared/react/hooks/index.js +1 -0
  27. package/dist/cjs/shared/react/hooks/useCurrencyConversion.d.ts +35 -0
  28. package/dist/cjs/shared/react/hooks/useCurrencyConversion.js +200 -0
  29. package/dist/cjs/shared/react/index.d.ts +2 -0
  30. package/dist/cjs/shared/react/index.js +2 -0
  31. package/dist/cjs/shared/react/stores/currencyModalStore.d.ts +7 -0
  32. package/dist/cjs/shared/react/stores/currencyModalStore.js +9 -0
  33. package/dist/cjs/shared/react/stores/currencyStore.d.ts +51 -0
  34. package/dist/cjs/shared/react/stores/currencyStore.js +57 -0
  35. package/dist/cjs/shared/react/stores/index.d.ts +2 -0
  36. package/dist/cjs/shared/react/stores/index.js +18 -0
  37. package/dist/esm/anyspend/react/components/AnySpend.d.ts +1 -0
  38. package/dist/esm/anyspend/react/components/AnySpend.js +2 -2
  39. package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +1 -0
  40. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
  41. package/dist/esm/anyspend/react/components/common/PanelOnramp.d.ts +2 -1
  42. package/dist/esm/anyspend/react/components/common/PanelOnramp.js +5 -3
  43. package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +1 -1
  44. package/dist/esm/global-account/react/components/index.d.ts +8 -7
  45. package/dist/esm/global-account/react/components/index.js +8 -7
  46. package/dist/esm/global-account/react/components/ui/dropdown-menu.d.ts +27 -0
  47. package/dist/esm/global-account/react/components/ui/dropdown-menu.js +60 -0
  48. package/dist/esm/global-account/react/stores/useModalStore.d.ts +4 -0
  49. package/dist/esm/shared/constants/currency.d.ts +1 -0
  50. package/dist/esm/shared/constants/currency.js +2 -0
  51. package/dist/esm/shared/constants/index.d.ts +1 -0
  52. package/dist/esm/shared/constants/index.js +1 -0
  53. package/dist/esm/shared/react/components/CurrencySelector.d.ts +7 -0
  54. package/dist/esm/shared/react/components/CurrencySelector.js +11 -0
  55. package/dist/esm/shared/react/components/FormattedCurrency.d.ts +12 -0
  56. package/dist/esm/shared/react/components/FormattedCurrency.js +57 -0
  57. package/dist/esm/shared/react/components/index.d.ts +2 -0
  58. package/dist/esm/shared/react/components/index.js +2 -0
  59. package/dist/esm/shared/react/hooks/__tests__/useCurrencyConversion.test.d.ts +1 -0
  60. package/dist/esm/shared/react/hooks/__tests__/useCurrencyConversion.test.js +243 -0
  61. package/dist/esm/shared/react/hooks/index.d.ts +1 -0
  62. package/dist/esm/shared/react/hooks/index.js +1 -0
  63. package/dist/esm/shared/react/hooks/useCurrencyConversion.d.ts +35 -0
  64. package/dist/esm/shared/react/hooks/useCurrencyConversion.js +197 -0
  65. package/dist/esm/shared/react/index.d.ts +2 -0
  66. package/dist/esm/shared/react/index.js +2 -0
  67. package/dist/esm/shared/react/stores/currencyModalStore.d.ts +7 -0
  68. package/dist/esm/shared/react/stores/currencyModalStore.js +6 -0
  69. package/dist/esm/shared/react/stores/currencyStore.d.ts +51 -0
  70. package/dist/esm/shared/react/stores/currencyStore.js +54 -0
  71. package/dist/esm/shared/react/stores/index.d.ts +2 -0
  72. package/dist/esm/shared/react/stores/index.js +2 -0
  73. package/dist/styles/index.css +1 -1
  74. package/dist/types/anyspend/react/components/AnySpend.d.ts +1 -0
  75. package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +1 -0
  76. package/dist/types/anyspend/react/components/common/PanelOnramp.d.ts +2 -1
  77. package/dist/types/global-account/react/components/index.d.ts +8 -7
  78. package/dist/types/global-account/react/components/ui/dropdown-menu.d.ts +27 -0
  79. package/dist/types/global-account/react/stores/useModalStore.d.ts +4 -0
  80. package/dist/types/shared/constants/currency.d.ts +1 -0
  81. package/dist/types/shared/constants/index.d.ts +1 -0
  82. package/dist/types/shared/react/components/CurrencySelector.d.ts +7 -0
  83. package/dist/types/shared/react/components/FormattedCurrency.d.ts +12 -0
  84. package/dist/types/shared/react/components/index.d.ts +2 -0
  85. package/dist/types/shared/react/hooks/__tests__/useCurrencyConversion.test.d.ts +1 -0
  86. package/dist/types/shared/react/hooks/index.d.ts +1 -0
  87. package/dist/types/shared/react/hooks/useCurrencyConversion.d.ts +35 -0
  88. package/dist/types/shared/react/index.d.ts +2 -0
  89. package/dist/types/shared/react/stores/currencyModalStore.d.ts +7 -0
  90. package/dist/types/shared/react/stores/currencyStore.d.ts +51 -0
  91. package/dist/types/shared/react/stores/index.d.ts +2 -0
  92. package/package.json +29 -3
  93. package/src/anyspend/react/components/AnySpend.tsx +4 -0
  94. package/src/anyspend/react/components/AnyspendDepositHype.tsx +3 -0
  95. package/src/anyspend/react/components/common/PanelOnramp.tsx +19 -15
  96. package/src/global-account/react/components/SignInWithB3/SignIn.tsx +2 -7
  97. package/src/global-account/react/components/index.ts +19 -12
  98. package/src/global-account/react/components/ui/dropdown-menu.tsx +132 -0
  99. package/src/global-account/react/stores/useModalStore.ts +4 -0
  100. package/src/shared/constants/currency.ts +2 -0
  101. package/src/shared/constants/index.ts +2 -0
  102. package/src/shared/react/components/CurrencySelector.tsx +71 -0
  103. package/src/shared/react/components/FormattedCurrency.tsx +106 -0
  104. package/src/shared/react/components/index.ts +2 -0
  105. package/src/shared/react/hooks/__tests__/useCurrencyConversion.test.ts +308 -0
  106. package/src/shared/react/hooks/index.ts +1 -0
  107. package/src/shared/react/hooks/useCurrencyConversion.ts +211 -0
  108. package/src/shared/react/index.ts +2 -0
  109. package/src/shared/react/stores/currencyModalStore.ts +13 -0
  110. package/src/shared/react/stores/currencyStore.ts +82 -0
  111. package/src/shared/react/stores/index.ts +2 -0
@@ -0,0 +1,82 @@
1
+ import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
3
+
4
+ /**
5
+ * Supported currencies for display and conversion.
6
+ * Includes fiat currencies (USD, EUR, GBP, JPY, CAD, AUD, KRW) and crypto (ETH, SOL, B3).
7
+ */
8
+ export type SupportedCurrency = "ETH" | "USD" | "EUR" | "GBP" | "JPY" | "CAD" | "AUD" | "B3" | "SOL" | "KRW";
9
+
10
+ /**
11
+ * Currency symbols used for display formatting.
12
+ * Prefix currencies (USD, EUR, GBP, CAD, AUD) show symbol before the amount.
13
+ * Suffix currencies (JPY, KRW, ETH, SOL, B3) show symbol after the amount.
14
+ */
15
+ export const CURRENCY_SYMBOLS: Record<SupportedCurrency, string> = {
16
+ ETH: "ETH",
17
+ USD: "$",
18
+ EUR: "€",
19
+ GBP: "£",
20
+ JPY: "¥",
21
+ CAD: "C$",
22
+ AUD: "A$",
23
+ B3: "B3",
24
+ SOL: "SOL",
25
+ KRW: "₩",
26
+ };
27
+
28
+ /**
29
+ * Human-readable currency names for display in selectors and labels.
30
+ */
31
+ export const CURRENCY_NAMES: Record<SupportedCurrency, string> = {
32
+ ETH: "Ethereum",
33
+ USD: "US Dollar",
34
+ EUR: "Euro",
35
+ GBP: "British Pound",
36
+ JPY: "Japanese Yen",
37
+ CAD: "Canadian Dollar",
38
+ AUD: "Australian Dollar",
39
+ B3: "B3",
40
+ SOL: "Solana",
41
+ KRW: "Korean Won",
42
+ };
43
+
44
+ /**
45
+ * Currency store state interface.
46
+ * @property selectedCurrency - The currency currently selected for display
47
+ * @property baseCurrency - The base currency for conversion (typically B3)
48
+ * @property setSelectedCurrency - Update the selected display currency
49
+ * @property setBaseCurrency - Update the base currency for conversions
50
+ */
51
+ interface CurrencyState {
52
+ selectedCurrency: SupportedCurrency;
53
+ baseCurrency: SupportedCurrency;
54
+ setSelectedCurrency: (currency: SupportedCurrency) => void;
55
+ setBaseCurrency: (currency: SupportedCurrency) => void;
56
+ }
57
+
58
+ /**
59
+ * Zustand store for managing currency selection and conversion.
60
+ * Persists user's selected currency preference in localStorage.
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * const { selectedCurrency, setSelectedCurrency } = useCurrencyStore();
65
+ * // Change display currency to USD
66
+ * setSelectedCurrency('USD');
67
+ * ```
68
+ */
69
+ export const useCurrencyStore = create<CurrencyState>()(
70
+ persist(
71
+ set => ({
72
+ selectedCurrency: "B3",
73
+ baseCurrency: "B3",
74
+ setSelectedCurrency: currency => set({ selectedCurrency: currency }),
75
+ setBaseCurrency: currency => set({ baseCurrency: currency }),
76
+ }),
77
+ {
78
+ name: "currency-storage",
79
+ version: 2,
80
+ },
81
+ ),
82
+ );
@@ -0,0 +1,2 @@
1
+ export * from "./currencyModalStore";
2
+ export * from "./currencyStore";