@velora-dex/widget 0.0.16 → 0.0.18

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 (108) hide show
  1. package/dist/components/ui/dialog.d.ts.map +1 -1
  2. package/dist/components/ui/dialog.js +3 -1
  3. package/dist/components/ui/dialog.js.map +1 -1
  4. package/dist/components/ui/sonner.d.ts.map +1 -1
  5. package/dist/components/ui/sonner.js +3 -2
  6. package/dist/components/ui/sonner.js.map +1 -1
  7. package/dist/components/web3/AccountButton.js +1 -1
  8. package/dist/components/web3/AccountButton.js.map +1 -1
  9. package/dist/components/web3/ConnectWallets/privy/button.d.ts.map +1 -1
  10. package/dist/components/web3/ConnectWallets/privy/button.js +99 -76
  11. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  12. package/dist/components/web3/ConnectWallets/privy/connectRunner.d.ts.map +1 -1
  13. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +5 -3
  14. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  15. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  16. package/dist/components/widget/Drawer/state/useDrawerControls.js +29 -23
  17. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  18. package/dist/components/widget/NetworkIcon/NetworkIconSquare.d.ts.map +1 -1
  19. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +3 -1
  20. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  21. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.d.ts.map +1 -1
  22. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +3 -1
  23. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  24. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  25. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +3 -1
  26. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  27. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  28. package/dist/components/widget/SelectToken/SelectTokenButton.js +106 -101
  29. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  30. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +1 -1
  31. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  32. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +33 -28
  33. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  34. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.d.ts.map +1 -1
  35. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js +17 -14
  36. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  37. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.d.ts.map +1 -1
  38. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js +18 -15
  39. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  40. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.d.ts.map +1 -1
  41. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +2 -4
  42. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  43. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts.map +1 -1
  44. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js +6 -4
  45. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  46. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  47. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +12 -11
  48. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  49. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  50. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +90 -76
  51. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  52. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  53. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +148 -122
  54. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  55. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  56. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +249 -213
  57. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  58. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  59. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +32 -26
  60. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  61. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  62. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +175 -160
  63. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  64. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  65. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +33 -27
  66. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  67. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  68. package/dist/hooks/txs/queries/useAwaitTx.js +16 -13
  69. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  70. package/dist/hooks/txs/queries/useAwaitTxs.d.ts.map +1 -1
  71. package/dist/hooks/useSDK.d.ts.map +1 -1
  72. package/dist/hooks/useSDK.js +4 -2
  73. package/dist/hooks/useSDK.js.map +1 -1
  74. package/dist/lib/utils/index.d.ts +0 -1
  75. package/dist/lib/utils/index.d.ts.map +1 -1
  76. package/dist/lib/utils/index.js.map +1 -1
  77. package/dist/lib/utils/logger.d.ts +5 -8
  78. package/dist/lib/utils/logger.d.ts.map +1 -1
  79. package/dist/lib/utils/logger.js +211 -2
  80. package/dist/lib/utils/logger.js.map +1 -1
  81. package/dist/styles.css +3 -3
  82. package/dist/test/Configurator.d.ts.map +1 -1
  83. package/dist/widget/index.d.ts.map +1 -1
  84. package/dist/widget/index.js +46 -42
  85. package/dist/widget/index.js.map +1 -1
  86. package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  87. package/dist/widget/inputs/hooks/useTokenFromInputProps.js +17 -14
  88. package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  89. package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  90. package/dist/widget/inputs/hooks/useTokenToInputProps.js +18 -15
  91. package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
  92. package/dist/widget/inputs/state/subscriptions.d.ts.map +1 -1
  93. package/dist/widget/inputs/state/subscriptions.js +2 -1
  94. package/dist/widget/inputs/state/subscriptions.js.map +1 -1
  95. package/dist/widget/logger.d.ts +8 -0
  96. package/dist/widget/logger.d.ts.map +1 -0
  97. package/dist/widget/logger.js +32 -0
  98. package/dist/widget/logger.js.map +1 -0
  99. package/dist/widget/state/configActionsAtom.d.ts.map +1 -1
  100. package/dist/widget/state/configActionsAtom.js +2 -0
  101. package/dist/widget/state/configActionsAtom.js.map +1 -1
  102. package/dist/widget/state/configAtom.d.ts +4 -1
  103. package/dist/widget/state/configAtom.d.ts.map +1 -1
  104. package/dist/widget/state/configAtom.js +1 -0
  105. package/dist/widget/state/configAtom.js.map +1 -1
  106. package/dist/widget/types.d.ts +13 -2
  107. package/dist/widget/types.d.ts.map +1 -1
  108. package/package.json +1 -1
@@ -12,22 +12,19 @@ type OnceLogger = BaseLogger & {
12
12
  reset: () => void;
13
13
  getLastMessage: (level?: "log" | "warn" | "error" | "info") => string | undefined;
14
14
  };
15
- type LoggerInstance = BaseLogger & {
15
+ export type CreateLoggerFn = (context?: string, options?: LoggerOptions) => LoggerInstance;
16
+ export type LoggerInstance = BaseLogger & {
16
17
  once: OnceLogger;
17
18
  success: (...args: unknown[]) => void;
18
19
  debug: (...args: unknown[]) => void;
19
20
  table: (data: unknown) => void;
20
21
  group: (label: string, fn: () => void) => void;
21
22
  };
22
- type LoggerOptions = {
23
+ export type LoggerOptions = {
23
24
  color?: boolean;
24
25
  showCallSite?: boolean;
25
26
  };
26
- /**
27
- * Global development logger
28
- * Uses createLogger in development mode, no-op functions in production
29
- */
30
- export declare const devLogger: LoggerInstance;
31
- export declare const createLogger: (context?: string, options?: LoggerOptions) => LoggerInstance;
27
+ export declare const createNoopLogger: CreateLoggerFn;
28
+ export declare const createLogger: CreateLoggerFn;
32
29
  export {};
33
30
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,KAAK,UAAU,GAAG,UAAU,GAAG;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,cAAc,EAAE,CACd,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,KACtC,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,KAAK,cAAc,GAAG,UAAU,GAAG;IACjC,IAAI,EAAE,UAAU,CAAC;IAEjB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA0DF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,cAEV,CAAC;AAEf,eAAO,MAAM,YAAY,EAAE,CACzB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,aAAa,KACpB,cAA0E,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,KAAK,UAAU,GAAG,UAAU,GAAG;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,cAAc,EAAE,CACd,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,KACtC,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,aAAa,KACpB,cAAc,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,IAAI,EAAE,UAAU,CAAC;IAEjB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA0DF,eAAO,MAAM,gBAAgB,EAAE,cAAiC,CAAC;AAEjE,eAAO,MAAM,YAAY,EAAE,cAAiC,CAAC"}
@@ -1,3 +1,18 @@
1
+ const LOG_STYLES = {
2
+ // Context styling
3
+ context: "color: #6366f1; font-weight: bold;",
4
+ // Data type styling
5
+ string: "color: #059669; font-weight: 500;",
6
+ number: "color: #dc2626; font-weight: 500;",
7
+ boolean: "color: #7c3aed; font-weight: 500;",
8
+ null: "color: #6b7280; font-style: italic;",
9
+ undefined: "color: #6b7280; font-style: italic;",
10
+ object: "color: #ea580c; font-weight: 500;",
11
+ array: "color: #0891b2; font-weight: 500;",
12
+ function: "color: #be185d; font-style: italic;",
13
+ bigint: "color: #dc2626; font-weight: 500;",
14
+ symbol: "color: #7c3aed; font-weight: 500;",
15
+ success: "color: #059669; font-weight: bold;"};
1
16
  const noop = (...args) => {
2
17
  };
3
18
  const noopLogger = {
@@ -18,7 +33,201 @@ const noopLogger = {
18
33
  getLastMessage: () => void 0
19
34
  }
20
35
  };
21
- const createLogger = () => noopLogger;
36
+ const createNoopLogger = () => noopLogger;
37
+ const createLogger = createLoggerBase;
38
+ function getValueStyle(value) {
39
+ if (value === null) {
40
+ return {
41
+ style: LOG_STYLES.null,
42
+ displayValue: "null"
43
+ };
44
+ }
45
+ if (value === void 0) {
46
+ return {
47
+ style: LOG_STYLES.undefined,
48
+ displayValue: "undefined"
49
+ };
50
+ }
51
+ const type = typeof value;
52
+ switch (type) {
53
+ case "string":
54
+ return {
55
+ style: LOG_STYLES.string,
56
+ displayValue: `"${value}"`
57
+ };
58
+ case "number":
59
+ return {
60
+ style: LOG_STYLES.number,
61
+ displayValue: String(value)
62
+ };
63
+ case "boolean":
64
+ return {
65
+ style: LOG_STYLES.boolean,
66
+ displayValue: String(value)
67
+ };
68
+ case "bigint":
69
+ return {
70
+ style: LOG_STYLES.bigint,
71
+ displayValue: `${value}n`
72
+ };
73
+ case "symbol":
74
+ return {
75
+ style: LOG_STYLES.symbol,
76
+ displayValue: String(value)
77
+ };
78
+ case "function":
79
+ return {
80
+ style: LOG_STYLES.function,
81
+ displayValue: `[function: ${value.name || "anonymous"}]`
82
+ };
83
+ case "object":
84
+ if (Array.isArray(value)) {
85
+ return {
86
+ style: LOG_STYLES.array,
87
+ displayValue: `[${value.length} items]`
88
+ };
89
+ }
90
+ return {
91
+ style: LOG_STYLES.object,
92
+ displayValue: `{${Object.keys(value).length} keys}`
93
+ };
94
+ default:
95
+ return {
96
+ style: "",
97
+ displayValue: String(value)
98
+ };
99
+ }
100
+ }
101
+ function createColoredMessage(args, context, color = true) {
102
+ let message = "";
103
+ const styles = [];
104
+ const nativeValues = [];
105
+ if (context) {
106
+ if (color) {
107
+ message += `%c${context}::`;
108
+ styles.push(LOG_STYLES.context);
109
+ } else {
110
+ message += `${context}::`;
111
+ }
112
+ }
113
+ args.forEach((arg) => {
114
+ const type = typeof arg;
115
+ const isObjectLike = type === "object" && arg !== null || type === "function";
116
+ if (isObjectLike && (Array.isArray(arg) || Object.prototype.toString.call(arg) === "[object Object]")) {
117
+ if (message.length > 0) message += " ";
118
+ nativeValues.push(arg);
119
+ } else {
120
+ const {
121
+ style,
122
+ displayValue
123
+ } = getValueStyle(arg);
124
+ if (color) {
125
+ message += `${message.length > 0 ? " " : ""}%c${displayValue}`;
126
+ styles.push(style);
127
+ } else {
128
+ message += `${message.length > 0 ? " " : ""}${displayValue}`;
129
+ }
130
+ }
131
+ });
132
+ if (!message && nativeValues.length) return nativeValues;
133
+ if (color) {
134
+ return [message, ...styles, ...nativeValues];
135
+ } else {
136
+ return [message, ...nativeValues];
137
+ }
138
+ }
139
+ function createLoggerBase(context, options) {
140
+ const color = options?.color !== false;
141
+ const lastMessages = {
142
+ log: void 0,
143
+ warn: void 0,
144
+ error: void 0,
145
+ info: void 0
146
+ };
147
+ const formatMessage = (...args) => {
148
+ return createColoredMessage(args, context, color);
149
+ };
150
+ const jsonReplacer = (_key, value) => {
151
+ if (typeof value === "bigint") {
152
+ return value.toString();
153
+ }
154
+ if (typeof value === "function") {
155
+ return "[function]";
156
+ }
157
+ return value;
158
+ };
159
+ const logOnce = (level, ...args) => {
160
+ const message = args.map((val) => JSON.stringify(val, jsonReplacer)).join(" ");
161
+ if (message === lastMessages[level]) {
162
+ return;
163
+ }
164
+ lastMessages[level] = message;
165
+ const formattedArgs = formatMessage(...args);
166
+ if (options?.showCallSite === true) {
167
+ console.trace("Call stack:");
168
+ }
169
+ switch (level) {
170
+ case "warn":
171
+ console.warn(...formattedArgs);
172
+ break;
173
+ case "error":
174
+ console.error(...formattedArgs);
175
+ break;
176
+ case "info":
177
+ console.info(...formattedArgs);
178
+ break;
179
+ default:
180
+ console.log(...formattedArgs);
181
+ }
182
+ };
183
+ const onceLogger = {
184
+ log: (...args) => logOnce("log", ...args),
185
+ warn: (...args) => logOnce("warn", ...args),
186
+ error: (...args) => logOnce("error", ...args),
187
+ info: (...args) => logOnce("info", ...args),
188
+ reset: () => {
189
+ lastMessages.log = void 0;
190
+ lastMessages.warn = void 0;
191
+ lastMessages.error = void 0;
192
+ lastMessages.info = void 0;
193
+ },
194
+ getLastMessage: (level = "log") => {
195
+ return lastMessages[level];
196
+ }
197
+ };
198
+ return {
199
+ log: (...args) => console.log(...formatMessage(...args)),
200
+ warn: (...args) => console.warn(...formatMessage(...args)),
201
+ error: (...args) => console.error(...formatMessage(...args)),
202
+ info: (...args) => console.info(...formatMessage(...args)),
203
+ success: (...args) => {
204
+ const successArgs = [`%c✅ `, LOG_STYLES.success, ...formatMessage(...args)];
205
+ console.log(...successArgs);
206
+ },
207
+ debug: (...args) => {
208
+ console.debug(...formatMessage(...args));
209
+ },
210
+ table: (data) => {
211
+ if (context) {
212
+ console.group(`%c${context}::`, LOG_STYLES.context);
213
+ console.table(data);
214
+ console.groupEnd();
215
+ } else {
216
+ console.table(data);
217
+ }
218
+ },
219
+ group: (label, fn) => {
220
+ if (context) {
221
+ console.group(`%c${context}:: ${label}`, LOG_STYLES.context);
222
+ } else {
223
+ console.group(label);
224
+ }
225
+ fn();
226
+ console.groupEnd();
227
+ },
228
+ once: onceLogger
229
+ };
230
+ }
22
231
 
23
- export { createLogger };
232
+ export { createLogger, createNoopLogger };
24
233
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sources":["../../../src/lib/utils/logger.ts"],"sourcesContent":["/**\n * A console log utility that prevents logging the same message twice in a row\n * with semantic coloring for different data types\n */\n\ntype BaseLogger = {\n log: (...args: unknown[]) => void;\n warn: (...args: unknown[]) => void;\n error: (...args: unknown[]) => void;\n info: (...args: unknown[]) => void;\n};\n\ntype OnceLogger = BaseLogger & {\n reset: () => void;\n getLastMessage: (\n level?: \"log\" | \"warn\" | \"error\" | \"info\"\n ) => string | undefined;\n};\n\ntype LoggerInstance = BaseLogger & {\n once: OnceLogger;\n // Utility methods for common logging patterns\n success: (...args: unknown[]) => void;\n debug: (...args: unknown[]) => void;\n table: (data: unknown) => void;\n group: (label: string, fn: () => void) => void;\n};\n\ntype LoggerOptions = {\n color?: boolean;\n showCallSite?: boolean;\n};\n\n// CSS styles for semantic coloring\nconst LOG_STYLES = {\n // Context styling\n context: \"color: #6366f1; font-weight: bold;\",\n\n // Data type styling\n string: \"color: #059669; font-weight: 500;\",\n number: \"color: #dc2626; font-weight: 500;\",\n boolean: \"color: #7c3aed; font-weight: 500;\",\n null: \"color: #6b7280; font-style: italic;\",\n undefined: \"color: #6b7280; font-style: italic;\",\n object: \"color: #ea580c; font-weight: 500;\",\n array: \"color: #0891b2; font-weight: 500;\",\n function: \"color: #be185d; font-style: italic;\",\n bigint: \"color: #dc2626; font-weight: 500;\",\n symbol: \"color: #7c3aed; font-weight: 500;\",\n\n // Special values\n error: \"color: #dc2626; font-weight: bold;\",\n warning: \"color: #d97706; font-weight: bold;\",\n success: \"color: #059669; font-weight: bold;\",\n\n // Log level styling\n logLevel: {\n log: \"color: #1f2937;\",\n warn: \"color: #d97706; font-weight: bold;\",\n error: \"color: #dc2626; font-weight: bold;\",\n info: \"color: #0891b2; font-weight: bold;\",\n },\n} as const;\n\n// No-op functions for production\nconst noop = (...args: unknown[]) => {\n // Intentionally empty - no-op function\n void args;\n};\n\nconst noopLogger: LoggerInstance = {\n log: noop,\n warn: noop,\n error: noop,\n info: noop,\n success: noop,\n debug: noop,\n table: noop,\n group: noop,\n once: {\n log: noop,\n warn: noop,\n error: noop,\n info: noop,\n reset: noop,\n getLastMessage: () => undefined,\n },\n};\n\n/**\n * Global development logger\n * Uses createLogger in development mode, no-op functions in production\n */\nexport const devLogger: LoggerInstance = import.meta.env.DEV\n ? createLoggerBase()\n : noopLogger;\n\nexport const createLogger: (\n context?: string,\n options?: LoggerOptions\n) => LoggerInstance = import.meta.env.DEV ? createLoggerBase : () => noopLogger;\n\n/**\n * Determines the type and style for a value\n */\nfunction getValueStyle(value: unknown): {\n style: string;\n displayValue: string;\n} {\n if (value === null) {\n return { style: LOG_STYLES.null, displayValue: \"null\" };\n }\n\n if (value === undefined) {\n return { style: LOG_STYLES.undefined, displayValue: \"undefined\" };\n }\n\n const type = typeof value;\n\n switch (type) {\n case \"string\":\n return { style: LOG_STYLES.string, displayValue: `\"${value}\"` };\n\n case \"number\":\n return { style: LOG_STYLES.number, displayValue: String(value) };\n\n case \"boolean\":\n return { style: LOG_STYLES.boolean, displayValue: String(value) };\n\n case \"bigint\":\n return { style: LOG_STYLES.bigint, displayValue: `${value}n` };\n\n case \"symbol\":\n return { style: LOG_STYLES.symbol, displayValue: String(value) };\n\n case \"function\":\n return {\n style: LOG_STYLES.function,\n displayValue: `[function: ${(value as { name?: string }).name || \"anonymous\"}]`,\n };\n\n case \"object\":\n if (Array.isArray(value)) {\n return {\n style: LOG_STYLES.array,\n displayValue: `[${value.length} items]`,\n };\n }\n return {\n style: LOG_STYLES.object,\n displayValue: `{${Object.keys(value as object).length} keys}`,\n };\n\n default:\n return { style: \"\", displayValue: String(value) };\n }\n}\n\n/**\n * Creates a formatted message with semantic coloring\n */\nfunction createColoredMessage(\n args: unknown[],\n context?: string,\n color: boolean = true\n): unknown[] {\n let message = \"\";\n const styles: string[] = [];\n const nativeValues: unknown[] = [];\n\n // Add context if provided\n if (context) {\n if (color) {\n message += `%c${context}::`;\n styles.push(LOG_STYLES.context);\n } else {\n message += `${context}::`;\n }\n }\n\n args.forEach((arg) => {\n const type = typeof arg;\n const isObjectLike =\n (type === \"object\" && arg !== null) || type === \"function\";\n\n // Only treat plain objects (not arrays, dates, etc) as expandable objects\n // typeof is not enough: Object.prototype.toString.call(arg) === '[object Object]' ensures it's a plain object\n if (\n isObjectLike &&\n (Array.isArray(arg) ||\n Object.prototype.toString.call(arg) === \"[object Object]\")\n ) {\n // Add a space before object/array if needed\n if (message.length > 0) message += \" \";\n nativeValues.push(arg);\n } else {\n const { style, displayValue } = getValueStyle(arg);\n if (color) {\n message += `${message.length > 0 ? \" \" : \"\"}%c${displayValue}`;\n styles.push(style);\n } else {\n message += `${message.length > 0 ? \" \" : \"\"}${displayValue}`;\n }\n }\n });\n\n // If message is empty (all objects), just return the objects\n if (!message && nativeValues.length) return nativeValues;\n\n if (color) {\n return [message, ...styles, ...nativeValues];\n } else {\n return [message, ...nativeValues];\n }\n}\n\n/**\n * Creates a logger instance that provides both regular logging and once logging\n * Regular logging always outputs to console\n * Once logging prevents logging the same message twice in a row per level\n * @param context - Optional context string to prepend to all log messages\n */\nfunction createLoggerBase(\n context?: string,\n options?: LoggerOptions\n): LoggerInstance {\n const color = options?.color !== false;\n const lastMessages: Record<\n \"log\" | \"warn\" | \"error\" | \"info\",\n string | undefined\n > = {\n log: undefined,\n warn: undefined,\n error: undefined,\n info: undefined,\n };\n\n const formatMessage = (...args: unknown[]): unknown[] => {\n return createColoredMessage(args, context, color);\n };\n\n const jsonReplacer = (_key: string, value: unknown): unknown => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n if (typeof value === \"function\") {\n return \"[function]\";\n }\n return value;\n };\n\n const logOnce = (\n level: \"log\" | \"warn\" | \"error\" | \"info\",\n ...args: unknown[]\n ): void => {\n const message = args\n .map((val) => JSON.stringify(val, jsonReplacer))\n .join(\" \");\n\n if (message === lastMessages[level]) {\n return;\n }\n\n lastMessages[level] = message;\n\n const formattedArgs = formatMessage(...args);\n\n if (options?.showCallSite === true) {\n // to see where logger.log was called,\n // otherwise we only see where console.log was called on the next line\n console.trace(\"Call stack:\");\n }\n switch (level) {\n case \"warn\":\n console.warn(...formattedArgs);\n break;\n case \"error\":\n console.error(...formattedArgs);\n break;\n case \"info\":\n console.info(...formattedArgs);\n break;\n default:\n console.log(...formattedArgs);\n }\n };\n\n const onceLogger: OnceLogger = {\n log: (...args: unknown[]) => logOnce(\"log\", ...args),\n warn: (...args: unknown[]) => logOnce(\"warn\", ...args),\n error: (...args: unknown[]) => logOnce(\"error\", ...args),\n info: (...args: unknown[]) => logOnce(\"info\", ...args),\n reset: () => {\n lastMessages.log = undefined;\n lastMessages.warn = undefined;\n lastMessages.error = undefined;\n lastMessages.info = undefined;\n },\n getLastMessage: (level: \"log\" | \"warn\" | \"error\" | \"info\" = \"log\") => {\n return lastMessages[level];\n },\n };\n\n return {\n log: (...args: unknown[]) => console.log(...formatMessage(...args)),\n warn: (...args: unknown[]) => console.warn(...formatMessage(...args)),\n error: (...args: unknown[]) => console.error(...formatMessage(...args)),\n info: (...args: unknown[]) => console.info(...formatMessage(...args)),\n success: (...args: unknown[]) => {\n const successArgs = [\n `%c✅ `,\n LOG_STYLES.success,\n ...formatMessage(...args),\n ];\n console.log(...successArgs);\n },\n debug: (...args: unknown[]) => {\n console.debug(...formatMessage(...args));\n },\n table: (data: unknown) => {\n if (context) {\n console.group(`%c${context}::`, LOG_STYLES.context);\n console.table(data);\n console.groupEnd();\n } else {\n console.table(data);\n }\n },\n group: (label: string, fn: () => void) => {\n if (context) {\n console.group(`%c${context}:: ${label}`, LOG_STYLES.context);\n } else {\n console.group(label);\n }\n fn();\n console.groupEnd();\n },\n once: onceLogger,\n };\n}\n"],"names":["noop","args","noopLogger","log","warn","error","info","success","debug","table","group","once","reset","getLastMessage","undefined","createLogger"],"mappings":"AAiEA,MAAMA,IAAAA,GAAOA,IAAIC,IAAAA,KAAoB;AAGrC,CAAA;AAEA,MAAMC,UAAAA,GAA6B;AAAA,EACjCC,GAAAA,EAAKH,IAAAA;AAAAA,EACLI,IAAAA,EAAMJ,IAAAA;AAAAA,EACNK,KAAAA,EAAOL,IAAAA;AAAAA,EACPM,IAAAA,EAAMN,IAAAA;AAAAA,EACNO,OAAAA,EAASP,IAAAA;AAAAA,EACTQ,KAAAA,EAAOR,IAAAA;AAAAA,EACPS,KAAAA,EAAOT,IAAAA;AAAAA,EACPU,KAAAA,EAAOV,IAAAA;AAAAA,EACPW,IAAAA,EAAM;AAAA,IACJR,GAAAA,EAAKH,IAAAA;AAAAA,IACLI,IAAAA,EAAMJ,IAAAA;AAAAA,IACNK,KAAAA,EAAOL,IAAAA;AAAAA,IACPM,IAAAA,EAAMN,IAAAA;AAAAA,IACNY,KAAAA,EAAOZ,IAAAA;AAAAA,IACPa,gBAAgBA,MAAMC;AAAAA;AAE1B,CAAA;AAUO,MAAMC,YAAAA,GAGkD,MAAMb;;;;"}
1
+ {"version":3,"file":"logger.js","sources":["../../../src/lib/utils/logger.ts"],"sourcesContent":["/**\n * A console log utility that prevents logging the same message twice in a row\n * with semantic coloring for different data types\n */\n\ntype BaseLogger = {\n log: (...args: unknown[]) => void;\n warn: (...args: unknown[]) => void;\n error: (...args: unknown[]) => void;\n info: (...args: unknown[]) => void;\n};\n\ntype OnceLogger = BaseLogger & {\n reset: () => void;\n getLastMessage: (\n level?: \"log\" | \"warn\" | \"error\" | \"info\"\n ) => string | undefined;\n};\n\nexport type CreateLoggerFn = (\n context?: string,\n options?: LoggerOptions\n) => LoggerInstance;\n\nexport type LoggerInstance = BaseLogger & {\n once: OnceLogger;\n // Utility methods for common logging patterns\n success: (...args: unknown[]) => void;\n debug: (...args: unknown[]) => void;\n table: (data: unknown) => void;\n group: (label: string, fn: () => void) => void;\n};\n\nexport type LoggerOptions = {\n color?: boolean;\n showCallSite?: boolean;\n};\n\n// CSS styles for semantic coloring\nconst LOG_STYLES = {\n // Context styling\n context: \"color: #6366f1; font-weight: bold;\",\n\n // Data type styling\n string: \"color: #059669; font-weight: 500;\",\n number: \"color: #dc2626; font-weight: 500;\",\n boolean: \"color: #7c3aed; font-weight: 500;\",\n null: \"color: #6b7280; font-style: italic;\",\n undefined: \"color: #6b7280; font-style: italic;\",\n object: \"color: #ea580c; font-weight: 500;\",\n array: \"color: #0891b2; font-weight: 500;\",\n function: \"color: #be185d; font-style: italic;\",\n bigint: \"color: #dc2626; font-weight: 500;\",\n symbol: \"color: #7c3aed; font-weight: 500;\",\n\n // Special values\n error: \"color: #dc2626; font-weight: bold;\",\n warning: \"color: #d97706; font-weight: bold;\",\n success: \"color: #059669; font-weight: bold;\",\n\n // Log level styling\n logLevel: {\n log: \"color: #1f2937;\",\n warn: \"color: #d97706; font-weight: bold;\",\n error: \"color: #dc2626; font-weight: bold;\",\n info: \"color: #0891b2; font-weight: bold;\",\n },\n} as const;\n\n// No-op functions for production\nconst noop = (...args: unknown[]) => {\n // Intentionally empty - no-op function\n void args;\n};\n\nconst noopLogger: LoggerInstance = {\n log: noop,\n warn: noop,\n error: noop,\n info: noop,\n success: noop,\n debug: noop,\n table: noop,\n group: noop,\n once: {\n log: noop,\n warn: noop,\n error: noop,\n info: noop,\n reset: noop,\n getLastMessage: () => undefined,\n },\n};\n\nexport const createNoopLogger: CreateLoggerFn = () => noopLogger;\n\nexport const createLogger: CreateLoggerFn = createLoggerBase;\n\n/**\n * Determines the type and style for a value\n */\nfunction getValueStyle(value: unknown): {\n style: string;\n displayValue: string;\n} {\n if (value === null) {\n return { style: LOG_STYLES.null, displayValue: \"null\" };\n }\n\n if (value === undefined) {\n return { style: LOG_STYLES.undefined, displayValue: \"undefined\" };\n }\n\n const type = typeof value;\n\n switch (type) {\n case \"string\":\n return { style: LOG_STYLES.string, displayValue: `\"${value}\"` };\n\n case \"number\":\n return { style: LOG_STYLES.number, displayValue: String(value) };\n\n case \"boolean\":\n return { style: LOG_STYLES.boolean, displayValue: String(value) };\n\n case \"bigint\":\n return { style: LOG_STYLES.bigint, displayValue: `${value}n` };\n\n case \"symbol\":\n return { style: LOG_STYLES.symbol, displayValue: String(value) };\n\n case \"function\":\n return {\n style: LOG_STYLES.function,\n displayValue: `[function: ${(value as { name?: string }).name || \"anonymous\"}]`,\n };\n\n case \"object\":\n if (Array.isArray(value)) {\n return {\n style: LOG_STYLES.array,\n displayValue: `[${value.length} items]`,\n };\n }\n return {\n style: LOG_STYLES.object,\n displayValue: `{${Object.keys(value as object).length} keys}`,\n };\n\n default:\n return { style: \"\", displayValue: String(value) };\n }\n}\n\n/**\n * Creates a formatted message with semantic coloring\n */\nfunction createColoredMessage(\n args: unknown[],\n context?: string,\n color: boolean = true\n): unknown[] {\n let message = \"\";\n const styles: string[] = [];\n const nativeValues: unknown[] = [];\n\n // Add context if provided\n if (context) {\n if (color) {\n message += `%c${context}::`;\n styles.push(LOG_STYLES.context);\n } else {\n message += `${context}::`;\n }\n }\n\n args.forEach((arg) => {\n const type = typeof arg;\n const isObjectLike =\n (type === \"object\" && arg !== null) || type === \"function\";\n\n // Only treat plain objects (not arrays, dates, etc) as expandable objects\n // typeof is not enough: Object.prototype.toString.call(arg) === '[object Object]' ensures it's a plain object\n if (\n isObjectLike &&\n (Array.isArray(arg) ||\n Object.prototype.toString.call(arg) === \"[object Object]\")\n ) {\n // Add a space before object/array if needed\n if (message.length > 0) message += \" \";\n nativeValues.push(arg);\n } else {\n const { style, displayValue } = getValueStyle(arg);\n if (color) {\n message += `${message.length > 0 ? \" \" : \"\"}%c${displayValue}`;\n styles.push(style);\n } else {\n message += `${message.length > 0 ? \" \" : \"\"}${displayValue}`;\n }\n }\n });\n\n // If message is empty (all objects), just return the objects\n if (!message && nativeValues.length) return nativeValues;\n\n if (color) {\n return [message, ...styles, ...nativeValues];\n } else {\n return [message, ...nativeValues];\n }\n}\n\n/**\n * Creates a logger instance that provides both regular logging and once logging\n * Regular logging always outputs to console\n * Once logging prevents logging the same message twice in a row per level\n * @param context - Optional context string to prepend to all log messages\n */\nfunction createLoggerBase(\n context?: string,\n options?: LoggerOptions\n): LoggerInstance {\n const color = options?.color !== false;\n const lastMessages: Record<\n \"log\" | \"warn\" | \"error\" | \"info\",\n string | undefined\n > = {\n log: undefined,\n warn: undefined,\n error: undefined,\n info: undefined,\n };\n\n const formatMessage = (...args: unknown[]): unknown[] => {\n return createColoredMessage(args, context, color);\n };\n\n const jsonReplacer = (_key: string, value: unknown): unknown => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n if (typeof value === \"function\") {\n return \"[function]\";\n }\n return value;\n };\n\n const logOnce = (\n level: \"log\" | \"warn\" | \"error\" | \"info\",\n ...args: unknown[]\n ): void => {\n const message = args\n .map((val) => JSON.stringify(val, jsonReplacer))\n .join(\" \");\n\n if (message === lastMessages[level]) {\n return;\n }\n\n lastMessages[level] = message;\n\n const formattedArgs = formatMessage(...args);\n\n if (options?.showCallSite === true) {\n // to see where logger.log was called,\n // otherwise we only see where console.log was called on the next line\n console.trace(\"Call stack:\");\n }\n switch (level) {\n case \"warn\":\n console.warn(...formattedArgs);\n break;\n case \"error\":\n console.error(...formattedArgs);\n break;\n case \"info\":\n console.info(...formattedArgs);\n break;\n default:\n console.log(...formattedArgs);\n }\n };\n\n const onceLogger: OnceLogger = {\n log: (...args: unknown[]) => logOnce(\"log\", ...args),\n warn: (...args: unknown[]) => logOnce(\"warn\", ...args),\n error: (...args: unknown[]) => logOnce(\"error\", ...args),\n info: (...args: unknown[]) => logOnce(\"info\", ...args),\n reset: () => {\n lastMessages.log = undefined;\n lastMessages.warn = undefined;\n lastMessages.error = undefined;\n lastMessages.info = undefined;\n },\n getLastMessage: (level: \"log\" | \"warn\" | \"error\" | \"info\" = \"log\") => {\n return lastMessages[level];\n },\n };\n\n return {\n log: (...args: unknown[]) => console.log(...formatMessage(...args)),\n warn: (...args: unknown[]) => console.warn(...formatMessage(...args)),\n error: (...args: unknown[]) => console.error(...formatMessage(...args)),\n info: (...args: unknown[]) => console.info(...formatMessage(...args)),\n success: (...args: unknown[]) => {\n const successArgs = [\n `%c✅ `,\n LOG_STYLES.success,\n ...formatMessage(...args),\n ];\n console.log(...successArgs);\n },\n debug: (...args: unknown[]) => {\n console.debug(...formatMessage(...args));\n },\n table: (data: unknown) => {\n if (context) {\n console.group(`%c${context}::`, LOG_STYLES.context);\n console.table(data);\n console.groupEnd();\n } else {\n console.table(data);\n }\n },\n group: (label: string, fn: () => void) => {\n if (context) {\n console.group(`%c${context}:: ${label}`, LOG_STYLES.context);\n } else {\n console.group(label);\n }\n fn();\n console.groupEnd();\n },\n once: onceLogger,\n };\n}\n"],"names":["LOG_STYLES","context","string","number","boolean","null","undefined","object","array","function","bigint","symbol","success","noop","args","noopLogger","log","warn","error","info","debug","table","group","once","reset","getLastMessage","createNoopLogger","createLogger","createLoggerBase","getValueStyle","value","style","displayValue","type","String","name","Array","isArray","length","Object","keys","createColoredMessage","color","message","styles","nativeValues","push","forEach","arg","isObjectLike","prototype","toString","call","options","lastMessages","formatMessage","jsonReplacer","_key","logOnce","level","map","val","JSON","stringify","join","formattedArgs","showCallSite","console","trace","onceLogger","successArgs","data","groupEnd","label","fn"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -2042,12 +2042,12 @@
2042
2042
  .velora-widget.velora-widget .disabled\:pointer-events-none:disabled {
2043
2043
  pointer-events: none;
2044
2044
  }
2045
+ .velora-widget.velora-widget .disabled\:cursor-default:disabled {
2046
+ cursor: default;
2047
+ }
2045
2048
  .velora-widget.velora-widget .disabled\:cursor-not-allowed:disabled {
2046
2049
  cursor: not-allowed;
2047
2050
  }
2048
- .velora-widget.velora-widget .disabled\:cursor-pointer:disabled {
2049
- cursor: pointer;
2050
- }
2051
2051
  .velora-widget.velora-widget .disabled\:bg-contrast-7:disabled {
2052
2052
  background-color: var(--contrast-7);
2053
2053
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/test/Configurator.tsx"],"names":[],"mappings":"AAEA,OAAO,YAAY,CAAC;AA4MpB,eAAO,MAAM,YAAY,+CAwFxB,CAAC"}
1
+ {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/test/Configurator.tsx"],"names":[],"mappings":"AAEA,OAAO,YAAY,CAAC;AA+NpB,eAAO,MAAM,YAAY,+CAiGxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/widget/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwD3C,eAAO,MAAM,MAAM,GAAI,sBAAsB,WAAW,4CA+CvD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/widget/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwD3C,eAAO,MAAM,MAAM,GAAI,sBAAsB,WAAW,4CAiDvD,CAAC"}
@@ -62,7 +62,7 @@ const App = () => {
62
62
  return t0;
63
63
  };
64
64
  const Widget = (t0) => {
65
- const $ = distExports.c(28);
65
+ const $ = distExports.c(30);
66
66
  const {
67
67
  config,
68
68
  provider
@@ -99,7 +99,7 @@ const Widget = (t0) => {
99
99
  }
100
100
  useHydrateAtoms(t4);
101
101
  let t5;
102
- if ($[7] !== config?.enableDelta || $[8] !== config?.partner || $[9] !== config?.privyAppId || $[10] !== config?.privyClientId || $[11] !== config?.theme || $[12] !== config?.widgetMode || $[13] !== setWidgetConfig) {
102
+ if ($[7] !== config?.debug || $[8] !== config?.enableDelta || $[9] !== config?.partner || $[10] !== config?.privyAppId || $[11] !== config?.privyClientId || $[12] !== config?.theme || $[13] !== config?.widgetMode || $[14] !== setWidgetConfig) {
103
103
  t5 = () => {
104
104
  setWidgetConfig({
105
105
  theme: config?.theme,
@@ -107,72 +107,76 @@ const Widget = (t0) => {
107
107
  partner: config?.partner,
108
108
  privyAppId: config?.privyAppId,
109
109
  privyClientId: config?.privyClientId,
110
+ debug: config?.debug,
110
111
  widgetMode: config?.widgetMode
111
112
  });
112
113
  };
113
- $[7] = config?.enableDelta;
114
- $[8] = config?.partner;
115
- $[9] = config?.privyAppId;
116
- $[10] = config?.privyClientId;
117
- $[11] = config?.theme;
118
- $[12] = config?.widgetMode;
119
- $[13] = setWidgetConfig;
120
- $[14] = t5;
114
+ $[7] = config?.debug;
115
+ $[8] = config?.enableDelta;
116
+ $[9] = config?.partner;
117
+ $[10] = config?.privyAppId;
118
+ $[11] = config?.privyClientId;
119
+ $[12] = config?.theme;
120
+ $[13] = config?.widgetMode;
121
+ $[14] = setWidgetConfig;
122
+ $[15] = t5;
121
123
  } else {
122
- t5 = $[14];
124
+ t5 = $[15];
123
125
  }
124
126
  const t6 = config?.theme;
125
127
  const t7 = config?.enableDelta;
126
128
  const t8 = config?.partner;
127
129
  const t9 = config?.privyAppId;
128
130
  const t10 = config?.privyClientId;
129
- const t11 = config?.widgetMode;
130
- let t12;
131
- if ($[15] !== setWidgetConfig || $[16] !== t10 || $[17] !== t11 || $[18] !== t6 || $[19] !== t7 || $[20] !== t8 || $[21] !== t9) {
132
- t12 = [t6, t7, t8, t9, t10, t11, setWidgetConfig];
133
- $[15] = setWidgetConfig;
134
- $[16] = t10;
135
- $[17] = t11;
136
- $[18] = t6;
137
- $[19] = t7;
138
- $[20] = t8;
139
- $[21] = t9;
140
- $[22] = t12;
131
+ const t11 = config?.debug;
132
+ const t12 = config?.widgetMode;
133
+ let t13;
134
+ if ($[16] !== setWidgetConfig || $[17] !== t10 || $[18] !== t11 || $[19] !== t12 || $[20] !== t6 || $[21] !== t7 || $[22] !== t8 || $[23] !== t9) {
135
+ t13 = [t6, t7, t8, t9, t10, t11, t12, setWidgetConfig];
136
+ $[16] = setWidgetConfig;
137
+ $[17] = t10;
138
+ $[18] = t11;
139
+ $[19] = t12;
140
+ $[20] = t6;
141
+ $[21] = t7;
142
+ $[22] = t8;
143
+ $[23] = t9;
144
+ $[24] = t13;
141
145
  } else {
142
- t12 = $[22];
146
+ t13 = $[24];
143
147
  }
144
- useLayoutEffect(t5, t12);
148
+ useLayoutEffect(t5, t13);
145
149
  const setExternalProvider = useSetAtom(externalProviderAtom);
146
- let t13;
147
150
  let t14;
148
- if ($[23] !== provider || $[24] !== setExternalProvider) {
149
- t13 = () => {
151
+ let t15;
152
+ if ($[25] !== provider || $[26] !== setExternalProvider) {
153
+ t14 = () => {
150
154
  setExternalProvider(provider || null);
151
155
  };
152
- t14 = [provider, setExternalProvider];
153
- $[23] = provider;
154
- $[24] = setExternalProvider;
155
- $[25] = t13;
156
- $[26] = t14;
156
+ t15 = [provider, setExternalProvider];
157
+ $[25] = provider;
158
+ $[26] = setExternalProvider;
159
+ $[27] = t14;
160
+ $[28] = t15;
157
161
  } else {
158
- t13 = $[25];
159
- t14 = $[26];
162
+ t14 = $[27];
163
+ t15 = $[28];
160
164
  }
161
- useLayoutEffect(t13, t14);
162
- let t15;
163
- if ($[27] === Symbol.for("react.memo_cache_sentinel")) {
164
- t15 = /* @__PURE__ */ jsxs(Web3Providers, { children: [
165
+ useLayoutEffect(t14, t15);
166
+ let t16;
167
+ if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
168
+ t16 = /* @__PURE__ */ jsxs(Web3Providers, { children: [
165
169
  /* @__PURE__ */ jsx(AutoconnectExternalProvider, {}),
166
170
  /* @__PURE__ */ jsx(PrivyIframeDependency, {}),
167
171
  /* @__PURE__ */ jsx(Updaters, {}),
168
172
  /* @__PURE__ */ jsx(App, {}),
169
173
  false
170
174
  ] });
171
- $[27] = t15;
175
+ $[29] = t16;
172
176
  } else {
173
- t15 = $[27];
177
+ t16 = $[29];
174
178
  }
175
- return t15;
179
+ return t16;
176
180
  };
177
181
  function Containers(t0) {
178
182
  const $ = distExports.c(11);