@ledgerhq/live-countervalues-react 0.2.44 → 0.2.45-nightly.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @ledgerhq/live-countervalues-react
2
2
 
3
+ ## 0.2.45-nightly.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`9c63d6b`](https://github.com/LedgerHQ/ledger-live/commit/9c63d6b8d5fb629a19514ec36396c35eeefb96aa), [`8b0b4ef`](https://github.com/LedgerHQ/ledger-live/commit/8b0b4efaf2c0968cfb60c0cecebca9c575b00748)]:
8
+ - @ledgerhq/live-countervalues@0.6.0-nightly.0
9
+ - @ledgerhq/coin-framework@5.9.0-nightly.0
10
+
3
11
  ## 0.2.44
4
12
 
5
13
  ### Patch Changes
package/lib/index.d.ts CHANGED
@@ -1,8 +1,16 @@
1
- import { BigNumber } from "bignumber.js";
2
- import React, { ReactElement } from "react";
3
1
  import type { CounterValuesState, CounterValuesStateRaw, CountervaluesSettings, TrackingPair } from "@ledgerhq/live-countervalues/types";
4
- import type { Account, AccountLike } from "@ledgerhq/types-live";
5
2
  import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
3
+ import type { Account, AccountLike } from "@ledgerhq/types-live";
4
+ import { BigNumber } from "bignumber.js";
5
+ import React, { ReactElement } from "react";
6
+ /** Bridge enabling platform-specific persistence of market-cap ids. */
7
+ export interface CountervaluesMarketcapBridge {
8
+ useIds(): string[];
9
+ useLastUpdated(): number | undefined;
10
+ setLoading(loading: boolean): void;
11
+ setIds(ids: string[]): void;
12
+ setError(message: string): void;
13
+ }
6
14
  export type Polling = {
7
15
  wipe: () => void;
8
16
  poll: () => void;
@@ -19,20 +27,21 @@ export type Props = {
19
27
  debounceDelay?: number;
20
28
  savedState?: CounterValuesStateRaw;
21
29
  };
22
- export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
23
- from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
24
- to: Currency;
25
- startDate: Date;
26
- }[];
27
- export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
28
- export declare function CountervaluesMarketcap({ children }: {
30
+ /** Provides market-cap ids via the supplied bridge. */
31
+ export declare function CountervaluesMarketcapProvider({ children, bridge, }: {
29
32
  children: React.ReactNode;
33
+ bridge: CountervaluesMarketcapBridge;
30
34
  }): ReactElement;
31
- export declare function Countervalues({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
35
+ /**
36
+ * Root countervalues provider (polling + calculation).
37
+ */
38
+ export declare function CountervaluesProvider({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
39
+ /** Returns market-cap ids. */
40
+ export declare function useMarketcapIds(): string[];
41
+ /** Returns the full countervalues state. */
42
+ export declare function useCountervaluesState(): CounterValuesState;
32
43
  export declare function useCountervaluesPolling(): Polling;
33
44
  export declare function useCountervaluesUserSettingsContext(): CountervaluesSettings;
34
- export declare function useCountervaluesState(): CounterValuesState;
35
- export declare function useMarketcapIds(): string[];
36
45
  export declare function useCountervaluesExport(): CounterValuesStateRaw;
37
46
  export declare function useCalculate(query: {
38
47
  value: number;
@@ -45,6 +54,7 @@ export declare function useCalculate(query: {
45
54
  export declare function useCalculateCountervalueCallback({ to, }: {
46
55
  to: Currency;
47
56
  }): (from: Currency, value: BigNumber) => BigNumber | null | undefined;
57
+ /** Helper for send-flow: returns fiat amount and reverse calculation. */
48
58
  export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }: {
49
59
  account: AccountLike;
50
60
  fiatCurrency: Currency;
@@ -54,4 +64,10 @@ export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }:
54
64
  fiatUnit: Unit;
55
65
  calculateCryptoAmount: (fiatAmount: BigNumber) => BigNumber;
56
66
  };
67
+ export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
68
+ from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
69
+ to: Currency;
70
+ startDate: Date;
71
+ }[];
72
+ export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
57
73
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -26,14 +26,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.useSendAmount = exports.useCalculateCountervalueCallback = exports.useCalculate = exports.useCountervaluesExport = exports.useMarketcapIds = exports.useCountervaluesState = exports.useCountervaluesUserSettingsContext = exports.useCountervaluesPolling = exports.Countervalues = exports.CountervaluesMarketcap = exports.useTrackingPairForAccounts = exports.useTrackingPairsForTopCoins = void 0;
30
- const bignumber_js_1 = require("bignumber.js");
31
- const react_1 = __importStar(require("react"));
29
+ exports.useTrackingPairForAccounts = exports.useTrackingPairsForTopCoins = exports.useSendAmount = exports.useCalculateCountervalueCallback = exports.useCalculate = exports.useCountervaluesExport = exports.useCountervaluesUserSettingsContext = exports.useCountervaluesPolling = exports.useCountervaluesState = exports.useMarketcapIds = exports.CountervaluesProvider = exports.CountervaluesMarketcapProvider = void 0;
32
30
  const helpers_1 = require("@ledgerhq/coin-framework/account/helpers");
33
- const logic_1 = require("@ledgerhq/live-countervalues/logic");
34
31
  const index_1 = __importDefault(require("@ledgerhq/live-countervalues/api/index"));
32
+ const logic_1 = require("@ledgerhq/live-countervalues/logic");
35
33
  const useDebounce_1 = require("@ledgerhq/live-hooks/useDebounce");
36
34
  const logs_1 = require("@ledgerhq/logs");
35
+ const bignumber_js_1 = require("bignumber.js");
36
+ const react_1 = __importStar(require("react"));
37
37
  const CountervaluesPollingContext = (0, react_1.createContext)({
38
38
  wipe: () => { },
39
39
  poll: () => { },
@@ -59,73 +59,54 @@ function trackingPairsHash(a) {
59
59
  }
60
60
  const marketcapRefresh = 30 * 60000;
61
61
  const marketcapRefreshOnError = 60000;
62
- const initialIds = [];
63
- /**
64
- * Internal only. fetch the marketcap and keep it in sync.
65
- * the data is shared through a context, you can useMarketcapIds to get it.
66
- */
67
- function useMarketcap() {
68
- const [ids, setIds] = (0, react_1.useState)(initialIds);
69
- const [fetchNonce, setFetchNonce] = (0, react_1.useState)(0);
62
+ /** Provides market-cap ids via the supplied bridge. */
63
+ function CountervaluesMarketcapProvider({ children, bridge, }) {
64
+ const ids = bridge.useIds();
65
+ const lastUpdated = bridge.useLastUpdated();
66
+ const [, forceUpdate] = (0, react_1.useReducer)(x => x + 1, 0);
70
67
  (0, react_1.useEffect)(() => {
71
68
  let timeout = null;
72
- index_1.default.fetchIdsSortedByMarketcap().then(ids => {
73
- setIds(ids);
74
- timeout = setTimeout(() => setFetchNonce(n => n + 1), marketcapRefresh);
75
- }, error => {
76
- (0, logs_1.log)("countervalues", "error fetching marketcap ids " + error);
77
- timeout = setTimeout(() => setFetchNonce(n => n + 1), marketcapRefreshOnError);
78
- });
69
+ const now = Date.now();
70
+ if (!lastUpdated || now - lastUpdated > marketcapRefresh) {
71
+ bridge.setLoading(true);
72
+ index_1.default.fetchIdsSortedByMarketcap().then(fetchedIds => {
73
+ bridge.setIds(fetchedIds);
74
+ timeout = setTimeout(() => forceUpdate(), marketcapRefresh);
75
+ }, error => {
76
+ (0, logs_1.log)("countervalues", "error fetching marketcap ids " + error);
77
+ bridge.setError(error.message);
78
+ timeout = setTimeout(() => forceUpdate(), marketcapRefreshOnError);
79
+ });
80
+ }
81
+ else {
82
+ timeout = setTimeout(() => forceUpdate(), marketcapRefresh - (now - lastUpdated));
83
+ }
79
84
  return () => {
80
- if (timeout) {
85
+ if (timeout)
81
86
  clearTimeout(timeout);
82
- }
83
87
  };
84
- }, [fetchNonce]);
85
- return ids;
86
- }
87
- // infer the tracking pairs for the top coins that the portfolio needs to display itself
88
- // if startDate is undefined, the feature is disabled
89
- function useTrackingPairsForTopCoins(marketcapIds, countervalue, size, startDate) {
90
- const dateTimestamp = startDate?.getTime();
91
- return (0, react_1.useMemo)(() => dateTimestamp
92
- ? (0, logic_1.trackingPairForTopCoins)(marketcapIds, size, countervalue, new Date(dateTimestamp))
93
- : [], [marketcapIds, countervalue, dateTimestamp, size]);
94
- }
95
- exports.useTrackingPairsForTopCoins = useTrackingPairsForTopCoins;
96
- function useTrackingPairForAccounts(accounts, countervalue) {
97
- // first we cache the tracking pairs with its hash
98
- const c = (0, react_1.useMemo)(() => {
99
- const pairs = (0, logic_1.inferTrackingPairForAccounts)(accounts, countervalue);
100
- return { pairs, hash: trackingPairsHash(pairs) };
101
- }, [accounts, countervalue]);
102
- // we only want to return the pairs when the hash changes
103
- // to not recalculate pairs as fast as accounts resynchronizes
104
- // eslint-disable-next-line react-hooks/exhaustive-deps
105
- return (0, react_1.useMemo)(() => c.pairs, [c.hash]);
106
- }
107
- exports.useTrackingPairForAccounts = useTrackingPairForAccounts;
108
- function CountervaluesMarketcap({ children }) {
109
- const marketcapIds = useMarketcap();
110
- return (react_1.default.createElement(CountervaluesMarketcapIdsContext.Provider, { value: marketcapIds }, children));
88
+ }, [lastUpdated, bridge]);
89
+ return (react_1.default.createElement(CountervaluesMarketcapIdsContext.Provider, { value: ids }, children));
111
90
  }
112
- exports.CountervaluesMarketcap = CountervaluesMarketcap;
113
- function Countervalues({ children, userSettings, pollInitDelay = 3 * 1000, debounceDelay = 1000, savedState, }) {
91
+ exports.CountervaluesMarketcapProvider = CountervaluesMarketcapProvider;
92
+ /**
93
+ * Root countervalues provider (polling + calculation).
94
+ */
95
+ function CountervaluesProvider({ children, userSettings, pollInitDelay = 3 * 1000, debounceDelay = 1000, savedState, }) {
114
96
  const autopollInterval = userSettings.refreshRate;
115
97
  const debouncedUserSettings = (0, useDebounce_1.useDebounce)(userSettings, debounceDelay);
116
98
  const [{ state, pending, error }, dispatch] = (0, react_1.useReducer)(fetchReducer, initialFetchState);
99
+ // TODO this is always using the initial value, doesn't react to changes.
117
100
  const marketcapIds = (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
118
101
  const { marketCapBatchingAfterRank } = userSettings;
119
- const batchStrategySolver = (0, react_1.useMemo)(() => {
120
- return {
121
- shouldBatchCurrencyFrom: (currency) => {
122
- if (currency.type === "FiatCurrency")
123
- return false;
124
- const i = marketcapIds.indexOf(currency.id);
125
- return i === -1 || i > marketCapBatchingAfterRank;
126
- },
127
- };
128
- }, [marketCapBatchingAfterRank, marketcapIds]);
102
+ const batchStrategySolver = (0, react_1.useMemo)(() => ({
103
+ shouldBatchCurrencyFrom: (currency) => {
104
+ if (currency.type === "FiatCurrency")
105
+ return false;
106
+ const i = marketcapIds.indexOf(currency.id);
107
+ return i === -1 || i > marketCapBatchingAfterRank;
108
+ },
109
+ }), [marketCapBatchingAfterRank, marketcapIds]);
129
110
  // flag used to trigger a loadCountervalues
130
111
  const [triggerLoad, setTriggerLoad] = (0, react_1.useState)(false);
131
112
  // trigger poll only when userSettings changes. in a debounced way.
@@ -137,20 +118,8 @@ function Countervalues({ children, userSettings, pollInitDelay = 3 * 1000, debou
137
118
  if (pending || !triggerLoad)
138
119
  return;
139
120
  setTriggerLoad(false);
140
- dispatch({
141
- type: "pending",
142
- });
143
- (0, logic_1.loadCountervalues)(state, userSettings, batchStrategySolver, userSettings.granularitiesRates).then(state => {
144
- dispatch({
145
- type: "success",
146
- payload: state,
147
- });
148
- }, error => {
149
- dispatch({
150
- type: "error",
151
- payload: error,
152
- });
153
- });
121
+ dispatch({ type: "pending" });
122
+ (0, logic_1.loadCountervalues)(state, userSettings, batchStrategySolver, userSettings.granularitiesRates).then(newState => dispatch({ type: "success", payload: newState }), e => dispatch({ type: "error", payload: e }));
154
123
  }, [pending, state, userSettings, triggerLoad, batchStrategySolver]);
155
124
  // save the state when it changes
156
125
  (0, react_1.useEffect)(() => {
@@ -159,8 +128,8 @@ function Countervalues({ children, userSettings, pollInitDelay = 3 * 1000, debou
159
128
  dispatch({
160
129
  type: "setCounterValueState",
161
130
  payload: (0, logic_1.importCountervalues)(savedState, userSettings),
162
- }); // eslint-disable-next-line react-hooks/exhaustive-deps
163
- }, [savedState]);
131
+ });
132
+ }, [savedState, userSettings]);
164
133
  // manage the auto polling loop and the interface for user land to trigger a reload
165
134
  const [isPolling, setIsPolling] = (0, react_1.useState)(true);
166
135
  (0, react_1.useEffect)(() => {
@@ -175,11 +144,7 @@ function Countervalues({ children, userSettings, pollInitDelay = 3 * 1000, debou
175
144
  return () => clearTimeout(pollingTimeout);
176
145
  }, [autopollInterval, pollInitDelay, isPolling]);
177
146
  const polling = (0, react_1.useMemo)(() => ({
178
- wipe: () => {
179
- dispatch({
180
- type: "wipe",
181
- });
182
- },
147
+ wipe: () => dispatch({ type: "wipe" }),
183
148
  poll: () => setTriggerLoad(true),
184
149
  start: () => setIsPolling(true),
185
150
  stop: () => setIsPolling(false),
@@ -190,35 +155,34 @@ function Countervalues({ children, userSettings, pollInitDelay = 3 * 1000, debou
190
155
  react_1.default.createElement(CountervaluesUserSettingsContext.Provider, { value: userSettings },
191
156
  react_1.default.createElement(CountervaluesContext.Provider, { value: state }, children))));
192
157
  }
193
- exports.Countervalues = Countervalues;
194
- const initialFetchState = {
195
- state: logic_1.initialState,
196
- pending: false,
197
- };
158
+ exports.CountervaluesProvider = CountervaluesProvider;
159
+ const initialFetchState = { state: logic_1.initialState, pending: false };
198
160
  function fetchReducer(state, action) {
199
161
  switch (action.type) {
200
162
  case "success":
201
- return {
202
- state: action.payload,
203
- pending: false,
204
- error: undefined,
205
- };
163
+ return { state: action.payload, pending: false, error: undefined };
206
164
  case "error":
207
165
  return { ...state, pending: false, error: action.payload };
208
166
  case "pending":
209
167
  return { ...state, pending: true, error: undefined };
210
168
  case "wipe":
211
- return {
212
- state: logic_1.initialState,
213
- pending: false,
214
- error: undefined,
215
- };
169
+ return { state: logic_1.initialState, pending: false, error: undefined };
216
170
  case "setCounterValueState":
217
171
  return { ...state, state: action.payload };
218
172
  default:
219
173
  return state;
220
174
  }
221
175
  }
176
+ /** Returns market-cap ids. */
177
+ function useMarketcapIds() {
178
+ return (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
179
+ }
180
+ exports.useMarketcapIds = useMarketcapIds;
181
+ /** Returns the full countervalues state. */
182
+ function useCountervaluesState() {
183
+ return (0, react_1.useContext)(CountervaluesContext);
184
+ }
185
+ exports.useCountervaluesState = useCountervaluesState;
222
186
  // allows consumer to access the countervalues polling control object
223
187
  function useCountervaluesPolling() {
224
188
  return (0, react_1.useContext)(CountervaluesPollingContext);
@@ -229,19 +193,9 @@ function useCountervaluesUserSettingsContext() {
229
193
  return (0, react_1.useContext)(CountervaluesUserSettingsContext);
230
194
  }
231
195
  exports.useCountervaluesUserSettingsContext = useCountervaluesUserSettingsContext;
232
- // allows consumer to access the countervalues state
233
- function useCountervaluesState() {
234
- return (0, react_1.useContext)(CountervaluesContext);
235
- }
236
- exports.useCountervaluesState = useCountervaluesState;
237
- // allows consumer to access the coins ids sorted by marketcap. It's basically all the coins that the API supports.
238
- function useMarketcapIds() {
239
- return (0, react_1.useContext)(CountervaluesMarketcapIdsContext);
240
- }
241
- exports.useMarketcapIds = useMarketcapIds;
242
196
  // provides an export of the countervalues state
243
197
  function useCountervaluesExport() {
244
- const state = (0, react_1.useContext)(CountervaluesContext);
198
+ const state = useCountervaluesState();
245
199
  return (0, react_1.useMemo)(() => (0, logic_1.exportCountervalues)(state), [state]);
246
200
  }
247
201
  exports.useCountervaluesExport = useCountervaluesExport;
@@ -265,6 +219,7 @@ function useCalculateCountervalueCallback({ to, }) {
265
219
  }, [to, state]);
266
220
  }
267
221
  exports.useCalculateCountervalueCallback = useCalculateCountervalueCallback;
222
+ /** Helper for send-flow: returns fiat amount and reverse calculation. */
268
223
  function useSendAmount({ account, fiatCurrency, cryptoAmount, }) {
269
224
  const cryptoCurrency = (0, helpers_1.getAccountCurrency)(account);
270
225
  const fiatCountervalue = useCalculate({
@@ -276,20 +231,34 @@ function useSendAmount({ account, fiatCurrency, cryptoAmount, }) {
276
231
  const fiatAmount = new bignumber_js_1.BigNumber(fiatCountervalue ?? 0);
277
232
  const fiatUnit = fiatCurrency.units[0];
278
233
  const state = useCountervaluesState();
279
- const calculateCryptoAmount = (0, react_1.useCallback)((fiatAmount) => {
280
- const cryptoAmount = new bignumber_js_1.BigNumber((0, logic_1.calculate)(state, {
281
- from: cryptoCurrency,
282
- to: fiatCurrency,
283
- value: fiatAmount.toNumber(),
284
- reverse: true,
285
- }) ?? 0);
286
- return cryptoAmount;
287
- }, [state, cryptoCurrency, fiatCurrency]);
288
- return {
289
- fiatAmount,
290
- fiatUnit,
291
- calculateCryptoAmount,
292
- };
234
+ const calculateCryptoAmount = (0, react_1.useCallback)((fiatAmount) => new bignumber_js_1.BigNumber((0, logic_1.calculate)(state, {
235
+ from: cryptoCurrency,
236
+ to: fiatCurrency,
237
+ value: fiatAmount.toNumber(),
238
+ reverse: true,
239
+ }) ?? 0), [state, cryptoCurrency, fiatCurrency]);
240
+ return { fiatAmount, fiatUnit, calculateCryptoAmount };
293
241
  }
294
242
  exports.useSendAmount = useSendAmount;
243
+ // infer the tracking pairs for the top coins that the portfolio needs to display itself
244
+ // if startDate is undefined, the feature is disabled
245
+ function useTrackingPairsForTopCoins(marketcapIds, countervalue, size, startDate) {
246
+ const dateTimestamp = startDate?.getTime();
247
+ return (0, react_1.useMemo)(() => dateTimestamp
248
+ ? (0, logic_1.trackingPairForTopCoins)(marketcapIds, size, countervalue, new Date(dateTimestamp))
249
+ : [], [marketcapIds, countervalue, dateTimestamp, size]);
250
+ }
251
+ exports.useTrackingPairsForTopCoins = useTrackingPairsForTopCoins;
252
+ function useTrackingPairForAccounts(accounts, countervalue) {
253
+ // first we cache the tracking pairs with its hash
254
+ const c = (0, react_1.useMemo)(() => {
255
+ const pairs = (0, logic_1.inferTrackingPairForAccounts)(accounts, countervalue);
256
+ return { pairs, hash: trackingPairsHash(pairs) };
257
+ }, [accounts, countervalue]);
258
+ // we only want to return the pairs when the hash changes
259
+ // to not recalculate pairs as fast as accounts resynchronizes
260
+ // eslint-disable-next-line react-hooks/exhaustive-deps
261
+ return (0, react_1.useMemo)(() => c.pairs, [c.hash]);
262
+ }
263
+ exports.useTrackingPairForAccounts = useTrackingPairForAccounts;
295
264
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAA8E;AAC9E,mFAAyD;AACzD,8DAQ4C;AAO5C,kEAA+D;AAC/D,yCAAqC;AAGrC,+CAAyC;AACzC,+CASe;AAyCf,MAAM,2BAA2B,GAAG,IAAA,qBAAa,EAAU;IACzD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,IAAA,qBAAa,EAAwB;IAC5E,0DAA0D;IAC1D,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,CAAC;IACd,0BAA0B,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAA,qBAAa,EAAqB,oBAAY,CAAC,CAAC;AAC7E,MAAM,gCAAgC,GAAG,IAAA,qBAAa,EAAW,EAAE,CAAC,CAAC;AAErE,SAAS,iBAAiB,CAAC,CAAiB;IAC1C,OAAO,CAAC;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;SAC3F,IAAI,EAAE;SACN,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,gBAAgB,GAAG,EAAE,GAAG,KAAK,CAAC;AACpC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,uDAAuD;AACvD,SAAgB,8BAA8B,CAAC,EAC7C,QAAQ,EACR,MAAM,GAIP;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAElD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAyC,IAAI,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,WAAW,GAAG,gBAAgB,EAAE,CAAC;YACzD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,eAAG,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAClC,UAAU,CAAC,EAAE;gBACX,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC9D,CAAC,EACD,KAAK,CAAC,EAAE;gBACN,IAAA,UAAG,EAAC,eAAe,EAAE,+BAA+B,GAAG,KAAK,CAAC,CAAC;gBAC9D,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACrE,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,gBAAgB,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,8BAAC,gCAAgC,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,IAClD,QAAQ,CACiC,CAC7C,CAAC;AACJ,CAAC;AA1CD,wEA0CC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,YAAY,EACZ,aAAa,GAAG,CAAC,GAAG,IAAI,EACxB,aAAa,GAAG,IAAI,EACpB,UAAU,GACJ;IACN,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC;IAClD,MAAM,qBAAqB,GAAG,IAAA,yBAAW,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAE1F,yEAAyE;IACzE,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,EAAE,0BAA0B,EAAE,GAAG,YAAY,CAAC;IAEpD,MAAM,mBAAmB,GAAG,IAAA,eAAO,EACjC,GAAG,EAAE,CAAC,CAAC;QACL,uBAAuB,EAAE,CAAC,QAAkB,EAAE,EAAE;YAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YACnD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC;QACpD,CAAC;KACF,CAAC,EACF,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAC3C,CAAC;IAEF,2CAA2C;IAC3C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACtD,mEAAmE;IACnE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,0BAA0B;IAC1B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,IAAI,CAAC,WAAW;YAAE,OAAO;QACpC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9B,IAAA,yBAAiB,EACf,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,CAAC,kBAAkB,CAChC,CAAC,IAAI,CACJ,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAC5D,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAC7C,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAErE,iCAAiC;IACjC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM;YAAE,OAAO;QAC1E,QAAQ,CAAC;YACP,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC,UAAU,EAAE,YAAY,CAAC;SACvD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/B,mFAAmF;IACnF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IACjD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,cAA6C,CAAC;QAClD,SAAS,WAAW;YAClB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QACD,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACxD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,IAAA,eAAO,EACrB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACtC,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;QAChC,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;QAC/B,OAAO;QACP,KAAK;KACN,CAAC,EACF,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAC;IAEF,OAAO,CACL,8BAAC,2BAA2B,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO;QAClD,8BAAC,gCAAgC,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;YAC5D,8BAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAiC,CAC7C,CACP,CACxC,CAAC;AACJ,CAAC;AA1FD,sDA0FC;AAUD,MAAM,iBAAiB,GAAe,EAAE,KAAK,EAAE,oBAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAE9E,SAAS,YAAY,CAAC,KAAiB,EAAE,MAAc;IACrD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACrE,KAAK,OAAO;YACV,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,oBAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACnE,KAAK,sBAAsB;YACzB,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,8BAA8B;AAC9B,SAAgB,eAAe;IAC7B,OAAO,IAAA,kBAAU,EAAC,gCAAgC,CAAC,CAAC;AACtD,CAAC;AAFD,0CAEC;AAED,4CAA4C;AAC5C,SAAgB,qBAAqB;IACnC,OAAO,IAAA,kBAAU,EAAC,oBAAoB,CAAC,CAAC;AAC1C,CAAC;AAFD,sDAEC;AAED,qEAAqE;AACrE,SAAgB,uBAAuB;IACrC,OAAO,IAAA,kBAAU,EAAC,2BAA2B,CAAC,CAAC;AACjD,CAAC;AAFD,0DAEC;AAED,uFAAuF;AACvF,SAAgB,mCAAmC;IACjD,OAAO,IAAA,kBAAU,EAAC,gCAAgC,CAAC,CAAC;AACtD,CAAC;AAFD,kFAEC;AAED,gDAAgD;AAChD,SAAgB,sBAAsB;IACpC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,2BAAmB,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAHD,wDAGC;AAED,0DAA0D;AAC1D,SAAgB,YAAY,CAAC,KAO5B;IACC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,OAAO,IAAA,iBAAS,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAVD,oCAUC;AAED,2EAA2E;AAC3E,SAAgB,gCAAgC,CAAC,EAC/C,EAAE,GAGH;IACC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,OAAO,IAAA,mBAAW,EAChB,CAAC,IAAc,EAAE,KAAgB,EAAE,EAAE;QACnC,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC,KAAK,EAAE;YACpC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI;YACJ,EAAE;YACF,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACvF,CAAC,EACD,CAAC,EAAE,EAAE,KAAK,CAAC,CACZ,CAAC;AACJ,CAAC;AAlBD,4EAkBC;AAED,yEAAyE;AACzE,SAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,YAAY,EACZ,YAAY,GAKb;IAKC,MAAM,cAAc,GAAG,IAAA,4BAAkB,EAAC,OAAO,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC;QACpC,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;QAC9B,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,wBAAS,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,CAAC,UAAqB,EAAE,EAAE,CACxB,IAAI,wBAAS,CACX,IAAA,iBAAS,EAAC,KAAK,EAAE;QACf,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,IAAI;KACd,CAAC,IAAI,CAAC,CACR,EACH,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,CACtC,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;AACzD,CAAC;AApCD,sCAoCC;AAED,wFAAwF;AACxF,qDAAqD;AACrD,SAAgB,2BAA2B,CACzC,YAAsB,EACtB,YAAsB,EACtB,IAAY,EACZ,SAA2B;IAE3B,MAAM,aAAa,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE,CACH,aAAa;QACX,CAAC,CAAC,IAAA,+BAAuB,EAAC,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QACpF,CAAC,CAAC,EAAE,EACR,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,CAClD,CAAC;AACJ,CAAC;AAdD,kEAcC;AAED,SAAgB,0BAA0B,CACxC,QAAmB,EACnB,YAAsB;IAEtB,kDAAkD;IAClD,MAAM,CAAC,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,IAAA,oCAA4B,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7B,yDAAyD;IACzD,8DAA8D;IAC9D,uDAAuD;IACvD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAbD,gEAaC"}
package/lib-es/index.d.ts CHANGED
@@ -1,8 +1,16 @@
1
- import { BigNumber } from "bignumber.js";
2
- import React, { ReactElement } from "react";
3
1
  import type { CounterValuesState, CounterValuesStateRaw, CountervaluesSettings, TrackingPair } from "@ledgerhq/live-countervalues/types";
4
- import type { Account, AccountLike } from "@ledgerhq/types-live";
5
2
  import type { Currency, Unit } from "@ledgerhq/types-cryptoassets";
3
+ import type { Account, AccountLike } from "@ledgerhq/types-live";
4
+ import { BigNumber } from "bignumber.js";
5
+ import React, { ReactElement } from "react";
6
+ /** Bridge enabling platform-specific persistence of market-cap ids. */
7
+ export interface CountervaluesMarketcapBridge {
8
+ useIds(): string[];
9
+ useLastUpdated(): number | undefined;
10
+ setLoading(loading: boolean): void;
11
+ setIds(ids: string[]): void;
12
+ setError(message: string): void;
13
+ }
6
14
  export type Polling = {
7
15
  wipe: () => void;
8
16
  poll: () => void;
@@ -19,20 +27,21 @@ export type Props = {
19
27
  debounceDelay?: number;
20
28
  savedState?: CounterValuesStateRaw;
21
29
  };
22
- export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
23
- from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
24
- to: Currency;
25
- startDate: Date;
26
- }[];
27
- export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
28
- export declare function CountervaluesMarketcap({ children }: {
30
+ /** Provides market-cap ids via the supplied bridge. */
31
+ export declare function CountervaluesMarketcapProvider({ children, bridge, }: {
29
32
  children: React.ReactNode;
33
+ bridge: CountervaluesMarketcapBridge;
30
34
  }): ReactElement;
31
- export declare function Countervalues({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
35
+ /**
36
+ * Root countervalues provider (polling + calculation).
37
+ */
38
+ export declare function CountervaluesProvider({ children, userSettings, pollInitDelay, debounceDelay, savedState, }: Props): ReactElement;
39
+ /** Returns market-cap ids. */
40
+ export declare function useMarketcapIds(): string[];
41
+ /** Returns the full countervalues state. */
42
+ export declare function useCountervaluesState(): CounterValuesState;
32
43
  export declare function useCountervaluesPolling(): Polling;
33
44
  export declare function useCountervaluesUserSettingsContext(): CountervaluesSettings;
34
- export declare function useCountervaluesState(): CounterValuesState;
35
- export declare function useMarketcapIds(): string[];
36
45
  export declare function useCountervaluesExport(): CounterValuesStateRaw;
37
46
  export declare function useCalculate(query: {
38
47
  value: number;
@@ -45,6 +54,7 @@ export declare function useCalculate(query: {
45
54
  export declare function useCalculateCountervalueCallback({ to, }: {
46
55
  to: Currency;
47
56
  }): (from: Currency, value: BigNumber) => BigNumber | null | undefined;
57
+ /** Helper for send-flow: returns fiat amount and reverse calculation. */
48
58
  export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }: {
49
59
  account: AccountLike;
50
60
  fiatCurrency: Currency;
@@ -54,4 +64,10 @@ export declare function useSendAmount({ account, fiatCurrency, cryptoAmount, }:
54
64
  fiatUnit: Unit;
55
65
  calculateCryptoAmount: (fiatAmount: BigNumber) => BigNumber;
56
66
  };
67
+ export declare function useTrackingPairsForTopCoins(marketcapIds: string[], countervalue: Currency, size: number, startDate: Date | undefined): {
68
+ from: import("@ledgerhq/types-cryptoassets").CryptoCurrency;
69
+ to: Currency;
70
+ startDate: Date;
71
+ }[];
72
+ export declare function useTrackingPairForAccounts(accounts: Account[], countervalue: Currency): TrackingPair[];
57
73
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,EAQZ,YAAY,EACb,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAG5C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,OAAO,GAAG;IAEpB,IAAI,EAAE,MAAM,IAAI,CAAC;IAIjB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,qBAAqB,CAAC;IAEpC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAiEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,QAAQ,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,GAAG,SAAS;;;;IAU5B;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,QAAQ,GACrB,YAAY,EAAE,CAUhB;AAED,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,YAAY,CAOhG;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAY,EACZ,aAAwB,EACxB,aAAoB,EACpB,UAAU,GACX,EAAE,KAAK,GAAG,YAAY,CAqGtB;AA+DD,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAGD,wBAAgB,mCAAmC,IAAI,qBAAqB,CAE3E;AAGD,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D;AAGD,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAGD,wBAAgB,sBAAsB,IAAI,qBAAqB,CAG9D;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAG5B;AAGD,wBAAgB,gCAAgC,CAAC,EAC/C,EAAE,GACH,EAAE;IACD,EAAE,EAAE,QAAQ,CAAC;CACd,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,KAAK,SAAS,GAAG,IAAI,GAAG,SAAS,CAcrE;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,YAAY,EACZ,YAAY,GACb,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY,EAAE,QAAQ,CAAC;IACvB,YAAY,EAAE,SAAS,CAAC;CACzB,GAAG;IACF,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC;IACf,qBAAqB,EAAE,CAAC,UAAU,EAAE,SAAS,KAAK,SAAS,CAAC;CAC7D,CA8BA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}