@tanstack/router-devtools-core 1.132.47 → 1.132.51

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 (79) hide show
  1. package/dist/BaseTanStackRouterDevtoolsPanel-CaAQWNvS.js +1817 -0
  2. package/dist/BaseTanStackRouterDevtoolsPanel-CaAQWNvS.js.map +1 -0
  3. package/dist/BaseTanStackRouterDevtoolsPanel-CbH9Ihs_.cjs +1833 -0
  4. package/dist/BaseTanStackRouterDevtoolsPanel-CbH9Ihs_.cjs.map +1 -0
  5. package/dist/FloatingTanStackRouterDevtools-0xtXUOcx.cjs +283 -0
  6. package/dist/FloatingTanStackRouterDevtools-0xtXUOcx.cjs.map +1 -0
  7. package/dist/FloatingTanStackRouterDevtools-DdHNTjWg.js +283 -0
  8. package/dist/FloatingTanStackRouterDevtools-DdHNTjWg.js.map +1 -0
  9. package/dist/cjs/index.cjs +6 -0
  10. package/dist/cjs/{packages/router-devtools-core/src/index.cjs.map → index.cjs.map} +1 -1
  11. package/dist/esm/index.js +6 -0
  12. package/dist/esm/{packages/router-devtools-core/src/index.js.map → index.js.map} +1 -1
  13. package/dist/index-BiZF0hsR.js +222 -0
  14. package/dist/index-BiZF0hsR.js.map +1 -0
  15. package/dist/index-CHaaetqh.cjs +221 -0
  16. package/dist/index-CHaaetqh.cjs.map +1 -0
  17. package/package.json +6 -5
  18. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs +0 -792
  19. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs.map +0 -1
  20. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs +0 -675
  21. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs.map +0 -1
  22. package/dist/cjs/packages/router-devtools-core/src/AgeTicker.cjs +0 -48
  23. package/dist/cjs/packages/router-devtools-core/src/AgeTicker.cjs.map +0 -1
  24. package/dist/cjs/packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.cjs +0 -604
  25. package/dist/cjs/packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.cjs.map +0 -1
  26. package/dist/cjs/packages/router-devtools-core/src/Explorer.cjs +0 -307
  27. package/dist/cjs/packages/router-devtools-core/src/Explorer.cjs.map +0 -1
  28. package/dist/cjs/packages/router-devtools-core/src/FloatingTanStackRouterDevtools.cjs +0 -201
  29. package/dist/cjs/packages/router-devtools-core/src/FloatingTanStackRouterDevtools.cjs.map +0 -1
  30. package/dist/cjs/packages/router-devtools-core/src/NavigateButton.cjs +0 -31
  31. package/dist/cjs/packages/router-devtools-core/src/NavigateButton.cjs.map +0 -1
  32. package/dist/cjs/packages/router-devtools-core/src/TanStackRouterDevtoolsCore.cjs +0 -100
  33. package/dist/cjs/packages/router-devtools-core/src/TanStackRouterDevtoolsCore.cjs.map +0 -1
  34. package/dist/cjs/packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.cjs +0 -113
  35. package/dist/cjs/packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.cjs.map +0 -1
  36. package/dist/cjs/packages/router-devtools-core/src/context.cjs +0 -20
  37. package/dist/cjs/packages/router-devtools-core/src/context.cjs.map +0 -1
  38. package/dist/cjs/packages/router-devtools-core/src/index.cjs +0 -7
  39. package/dist/cjs/packages/router-devtools-core/src/logo.cjs +0 -92
  40. package/dist/cjs/packages/router-devtools-core/src/logo.cjs.map +0 -1
  41. package/dist/cjs/packages/router-devtools-core/src/tokens.cjs +0 -201
  42. package/dist/cjs/packages/router-devtools-core/src/tokens.cjs.map +0 -1
  43. package/dist/cjs/packages/router-devtools-core/src/useLocalStorage.cjs +0 -42
  44. package/dist/cjs/packages/router-devtools-core/src/useLocalStorage.cjs.map +0 -1
  45. package/dist/cjs/packages/router-devtools-core/src/useStyles.cjs +0 -607
  46. package/dist/cjs/packages/router-devtools-core/src/useStyles.cjs.map +0 -1
  47. package/dist/cjs/packages/router-devtools-core/src/utils.cjs +0 -62
  48. package/dist/cjs/packages/router-devtools-core/src/utils.cjs.map +0 -1
  49. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.js +0 -792
  50. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.js.map +0 -1
  51. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.js +0 -676
  52. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.js.map +0 -1
  53. package/dist/esm/packages/router-devtools-core/src/AgeTicker.js +0 -48
  54. package/dist/esm/packages/router-devtools-core/src/AgeTicker.js.map +0 -1
  55. package/dist/esm/packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.js +0 -604
  56. package/dist/esm/packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.js.map +0 -1
  57. package/dist/esm/packages/router-devtools-core/src/Explorer.js +0 -290
  58. package/dist/esm/packages/router-devtools-core/src/Explorer.js.map +0 -1
  59. package/dist/esm/packages/router-devtools-core/src/FloatingTanStackRouterDevtools.js +0 -201
  60. package/dist/esm/packages/router-devtools-core/src/FloatingTanStackRouterDevtools.js.map +0 -1
  61. package/dist/esm/packages/router-devtools-core/src/NavigateButton.js +0 -31
  62. package/dist/esm/packages/router-devtools-core/src/NavigateButton.js.map +0 -1
  63. package/dist/esm/packages/router-devtools-core/src/TanStackRouterDevtoolsCore.js +0 -100
  64. package/dist/esm/packages/router-devtools-core/src/TanStackRouterDevtoolsCore.js.map +0 -1
  65. package/dist/esm/packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.js +0 -113
  66. package/dist/esm/packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.js.map +0 -1
  67. package/dist/esm/packages/router-devtools-core/src/context.js +0 -20
  68. package/dist/esm/packages/router-devtools-core/src/context.js.map +0 -1
  69. package/dist/esm/packages/router-devtools-core/src/index.js +0 -7
  70. package/dist/esm/packages/router-devtools-core/src/logo.js +0 -92
  71. package/dist/esm/packages/router-devtools-core/src/logo.js.map +0 -1
  72. package/dist/esm/packages/router-devtools-core/src/tokens.js +0 -201
  73. package/dist/esm/packages/router-devtools-core/src/tokens.js.map +0 -1
  74. package/dist/esm/packages/router-devtools-core/src/useLocalStorage.js +0 -43
  75. package/dist/esm/packages/router-devtools-core/src/useLocalStorage.js.map +0 -1
  76. package/dist/esm/packages/router-devtools-core/src/useStyles.js +0 -590
  77. package/dist/esm/packages/router-devtools-core/src/useStyles.js.map +0 -1
  78. package/dist/esm/packages/router-devtools-core/src/utils.js +0 -62
  79. package/dist/esm/packages/router-devtools-core/src/utils.js.map +0 -1
@@ -1,607 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const goober = require("goober");
4
- const solid = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs");
5
- const tokens = require("./tokens.cjs");
6
- const context = require("./context.cjs");
7
- function _interopNamespaceDefault(e) {
8
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
- if (e) {
10
- for (const k in e) {
11
- if (k !== "default") {
12
- const d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: () => e[k]
16
- });
17
- }
18
- }
19
- }
20
- n.default = e;
21
- return Object.freeze(n);
22
- }
23
- const goober__namespace = /* @__PURE__ */ _interopNamespaceDefault(goober);
24
- const stylesFactory = (shadowDOMTarget) => {
25
- const {
26
- colors,
27
- font,
28
- size,
29
- alpha,
30
- border
31
- } = tokens.tokens;
32
- const {
33
- fontFamily,
34
- lineHeight,
35
- size: fontSize
36
- } = font;
37
- const css = shadowDOMTarget ? goober__namespace.css.bind({
38
- target: shadowDOMTarget
39
- }) : goober__namespace.css;
40
- return {
41
- devtoolsPanelContainer: css`
42
- direction: ltr;
43
- position: fixed;
44
- bottom: 0;
45
- right: 0;
46
- z-index: 99999;
47
- width: 100%;
48
- max-height: 90%;
49
- border-top: 1px solid ${colors.gray[700]};
50
- transform-origin: top;
51
- `,
52
- devtoolsPanelContainerVisibility: (isOpen) => {
53
- return css`
54
- visibility: ${isOpen ? "visible" : "hidden"};
55
- `;
56
- },
57
- devtoolsPanelContainerResizing: (isResizing) => {
58
- if (isResizing()) {
59
- return css`
60
- transition: none;
61
- `;
62
- }
63
- return css`
64
- transition: all 0.4s ease;
65
- `;
66
- },
67
- devtoolsPanelContainerAnimation: (isOpen, height) => {
68
- if (isOpen) {
69
- return css`
70
- pointer-events: auto;
71
- transform: translateY(0);
72
- `;
73
- }
74
- return css`
75
- pointer-events: none;
76
- transform: translateY(${height}px);
77
- `;
78
- },
79
- logo: css`
80
- cursor: pointer;
81
- display: flex;
82
- flex-direction: column;
83
- background-color: transparent;
84
- border: none;
85
- font-family: ${fontFamily.sans};
86
- gap: ${tokens.tokens.size[0.5]};
87
- padding: 0px;
88
- &:hover {
89
- opacity: 0.7;
90
- }
91
- &:focus-visible {
92
- outline-offset: 4px;
93
- border-radius: ${border.radius.xs};
94
- outline: 2px solid ${colors.blue[800]};
95
- }
96
- `,
97
- tanstackLogo: css`
98
- font-size: ${font.size.md};
99
- font-weight: ${font.weight.bold};
100
- line-height: ${font.lineHeight.xs};
101
- white-space: nowrap;
102
- color: ${colors.gray[300]};
103
- `,
104
- routerLogo: css`
105
- font-weight: ${font.weight.semibold};
106
- font-size: ${font.size.xs};
107
- background: linear-gradient(to right, #84cc16, #10b981);
108
- background-clip: text;
109
- -webkit-background-clip: text;
110
- line-height: 1;
111
- -webkit-text-fill-color: transparent;
112
- white-space: nowrap;
113
- `,
114
- devtoolsPanel: css`
115
- display: flex;
116
- font-size: ${fontSize.sm};
117
- font-family: ${fontFamily.sans};
118
- background-color: ${colors.darkGray[700]};
119
- color: ${colors.gray[300]};
120
-
121
- @media (max-width: 700px) {
122
- flex-direction: column;
123
- }
124
- @media (max-width: 600px) {
125
- font-size: ${fontSize.xs};
126
- }
127
- `,
128
- dragHandle: css`
129
- position: absolute;
130
- left: 0;
131
- top: 0;
132
- width: 100%;
133
- height: 4px;
134
- cursor: row-resize;
135
- z-index: 100000;
136
- &:hover {
137
- background-color: ${colors.purple[400]}${alpha[90]};
138
- }
139
- `,
140
- firstContainer: css`
141
- flex: 1 1 500px;
142
- min-height: 40%;
143
- max-height: 100%;
144
- overflow: auto;
145
- border-right: 1px solid ${colors.gray[700]};
146
- display: flex;
147
- flex-direction: column;
148
- `,
149
- routerExplorerContainer: css`
150
- overflow-y: auto;
151
- flex: 1;
152
- `,
153
- routerExplorer: css`
154
- padding: ${tokens.tokens.size[2]};
155
- `,
156
- row: css`
157
- display: flex;
158
- align-items: center;
159
- padding: ${tokens.tokens.size[2]} ${tokens.tokens.size[2.5]};
160
- gap: ${tokens.tokens.size[2.5]};
161
- border-bottom: ${colors.darkGray[500]} 1px solid;
162
- align-items: center;
163
- `,
164
- detailsHeader: css`
165
- font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;
166
- position: sticky;
167
- top: 0;
168
- z-index: 2;
169
- background-color: ${colors.darkGray[600]};
170
- padding: 0px ${tokens.tokens.size[2]};
171
- font-weight: ${font.weight.medium};
172
- font-size: ${font.size.xs};
173
- min-height: ${tokens.tokens.size[8]};
174
- line-height: ${font.lineHeight.xs};
175
- text-align: left;
176
- display: flex;
177
- align-items: center;
178
- `,
179
- maskedBadge: css`
180
- background: ${colors.yellow[900]}${alpha[70]};
181
- color: ${colors.yellow[300]};
182
- display: inline-block;
183
- padding: ${tokens.tokens.size[0]} ${tokens.tokens.size[2.5]};
184
- border-radius: ${border.radius.full};
185
- font-size: ${font.size.xs};
186
- font-weight: ${font.weight.normal};
187
- border: 1px solid ${colors.yellow[300]};
188
- `,
189
- maskedLocation: css`
190
- color: ${colors.yellow[300]};
191
- `,
192
- detailsContent: css`
193
- padding: ${tokens.tokens.size[1.5]} ${tokens.tokens.size[2]};
194
- display: flex;
195
- align-items: center;
196
- justify-content: space-between;
197
- font-size: ${font.size.xs};
198
- `,
199
- routeMatchesToggle: css`
200
- display: flex;
201
- align-items: center;
202
- border: 1px solid ${colors.gray[500]};
203
- border-radius: ${border.radius.sm};
204
- overflow: hidden;
205
- `,
206
- routeMatchesToggleBtn: (active, showBorder) => {
207
- const base = css`
208
- appearance: none;
209
- border: none;
210
- font-size: 12px;
211
- padding: 4px 8px;
212
- background: transparent;
213
- cursor: pointer;
214
- font-family: ${fontFamily.sans};
215
- font-weight: ${font.weight.medium};
216
- `;
217
- const classes = [base];
218
- if (active) {
219
- const activeStyles = css`
220
- background: ${colors.darkGray[400]};
221
- color: ${colors.gray[300]};
222
- `;
223
- classes.push(activeStyles);
224
- } else {
225
- const inactiveStyles = css`
226
- color: ${colors.gray[500]};
227
- background: ${colors.darkGray[800]}${alpha[20]};
228
- `;
229
- classes.push(inactiveStyles);
230
- }
231
- if (showBorder) {
232
- classes.push(css`
233
- border-right: 1px solid ${tokens.tokens.colors.gray[500]};
234
- `);
235
- }
236
- return classes;
237
- },
238
- detailsHeaderInfo: css`
239
- flex: 1;
240
- justify-content: flex-end;
241
- display: flex;
242
- align-items: center;
243
- font-weight: ${font.weight.normal};
244
- color: ${colors.gray[400]};
245
- `,
246
- matchRow: (active) => {
247
- const base = css`
248
- display: flex;
249
- border-bottom: 1px solid ${colors.darkGray[400]};
250
- cursor: pointer;
251
- align-items: center;
252
- padding: ${size[1]} ${size[2]};
253
- gap: ${size[2]};
254
- font-size: ${fontSize.xs};
255
- color: ${colors.gray[300]};
256
- `;
257
- const classes = [base];
258
- if (active) {
259
- const activeStyles = css`
260
- background: ${colors.darkGray[500]};
261
- `;
262
- classes.push(activeStyles);
263
- }
264
- return classes;
265
- },
266
- matchIndicator: (color) => {
267
- const base = css`
268
- flex: 0 0 auto;
269
- width: ${size[3]};
270
- height: ${size[3]};
271
- background: ${colors[color][900]};
272
- border: 1px solid ${colors[color][500]};
273
- border-radius: ${border.radius.full};
274
- transition: all 0.25s ease-out;
275
- box-sizing: border-box;
276
- `;
277
- const classes = [base];
278
- if (color === "gray") {
279
- const grayStyles = css`
280
- background: ${colors.gray[700]};
281
- border-color: ${colors.gray[400]};
282
- `;
283
- classes.push(grayStyles);
284
- }
285
- return classes;
286
- },
287
- matchID: css`
288
- flex: 1;
289
- line-height: ${lineHeight["xs"]};
290
- `,
291
- ageTicker: (showWarning) => {
292
- const base = css`
293
- display: flex;
294
- gap: ${size[1]};
295
- font-size: ${fontSize.xs};
296
- color: ${colors.gray[400]};
297
- font-variant-numeric: tabular-nums;
298
- line-height: ${lineHeight["xs"]};
299
- `;
300
- const classes = [base];
301
- if (showWarning) {
302
- const warningStyles = css`
303
- color: ${colors.yellow[400]};
304
- `;
305
- classes.push(warningStyles);
306
- }
307
- return classes;
308
- },
309
- secondContainer: css`
310
- flex: 1 1 500px;
311
- min-height: 40%;
312
- max-height: 100%;
313
- overflow: auto;
314
- border-right: 1px solid ${colors.gray[700]};
315
- display: flex;
316
- flex-direction: column;
317
- `,
318
- thirdContainer: css`
319
- flex: 1 1 500px;
320
- overflow: auto;
321
- display: flex;
322
- flex-direction: column;
323
- height: 100%;
324
- border-right: 1px solid ${colors.gray[700]};
325
-
326
- @media (max-width: 700px) {
327
- border-top: 2px solid ${colors.gray[700]};
328
- }
329
- `,
330
- fourthContainer: css`
331
- flex: 1 1 500px;
332
- min-height: 40%;
333
- max-height: 100%;
334
- overflow: auto;
335
- display: flex;
336
- flex-direction: column;
337
- `,
338
- routesContainer: css`
339
- overflow-x: auto;
340
- overflow-y: visible;
341
- `,
342
- routesRowContainer: (active, isMatch) => {
343
- const base = css`
344
- display: flex;
345
- border-bottom: 1px solid ${colors.darkGray[400]};
346
- align-items: center;
347
- padding: ${size[1]} ${size[2]};
348
- gap: ${size[2]};
349
- font-size: ${fontSize.xs};
350
- color: ${colors.gray[300]};
351
- cursor: ${isMatch ? "pointer" : "default"};
352
- line-height: ${lineHeight["xs"]};
353
- `;
354
- const classes = [base];
355
- if (active) {
356
- const activeStyles = css`
357
- background: ${colors.darkGray[500]};
358
- `;
359
- classes.push(activeStyles);
360
- }
361
- return classes;
362
- },
363
- routesRow: (isMatch) => {
364
- const base = css`
365
- flex: 1 0 auto;
366
- display: flex;
367
- justify-content: space-between;
368
- align-items: center;
369
- font-size: ${fontSize.xs};
370
- line-height: ${lineHeight["xs"]};
371
- `;
372
- const classes = [base];
373
- if (!isMatch) {
374
- const matchStyles = css`
375
- color: ${colors.gray[400]};
376
- `;
377
- classes.push(matchStyles);
378
- }
379
- return classes;
380
- },
381
- routesRowInner: css`
382
- display: 'flex';
383
- align-items: 'center';
384
- flex-grow: 1;
385
- min-width: 0;
386
- `,
387
- routeParamInfo: css`
388
- color: ${colors.gray[400]};
389
- font-size: ${fontSize.xs};
390
- line-height: ${lineHeight["xs"]};
391
- `,
392
- nestedRouteRow: (isRoot) => {
393
- const base = css`
394
- margin-left: ${isRoot ? 0 : size[3.5]};
395
- border-left: ${isRoot ? "" : `solid 1px ${colors.gray[700]}`};
396
- `;
397
- return base;
398
- },
399
- code: css`
400
- font-size: ${fontSize.xs};
401
- line-height: ${lineHeight["xs"]};
402
- white-space: nowrap;
403
- overflow: hidden;
404
- text-overflow: ellipsis;
405
- `,
406
- matchesContainer: css`
407
- flex: 1 1 auto;
408
- overflow-y: auto;
409
- `,
410
- cachedMatchesContainer: css`
411
- flex: 1 1 auto;
412
- overflow-y: auto;
413
- max-height: 50%;
414
- `,
415
- maskedBadgeContainer: css`
416
- flex: 1;
417
- justify-content: flex-end;
418
- display: flex;
419
- `,
420
- matchDetails: css`
421
- display: flex;
422
- flex-direction: column;
423
- padding: ${tokens.tokens.size[2]};
424
- font-size: ${tokens.tokens.font.size.xs};
425
- color: ${tokens.tokens.colors.gray[300]};
426
- line-height: ${tokens.tokens.font.lineHeight.sm};
427
- `,
428
- matchStatus: (status, isFetching) => {
429
- const colorMap = {
430
- pending: "yellow",
431
- success: "green",
432
- error: "red",
433
- notFound: "purple",
434
- redirected: "gray"
435
- };
436
- const color = isFetching && status === "success" ? isFetching === "beforeLoad" ? "purple" : "blue" : colorMap[status];
437
- return css`
438
- display: flex;
439
- justify-content: center;
440
- align-items: center;
441
- height: 40px;
442
- border-radius: ${tokens.tokens.border.radius.sm};
443
- font-weight: ${tokens.tokens.font.weight.normal};
444
- background-color: ${tokens.tokens.colors[color][900]}${tokens.tokens.alpha[90]};
445
- color: ${tokens.tokens.colors[color][300]};
446
- border: 1px solid ${tokens.tokens.colors[color][600]};
447
- margin-bottom: ${tokens.tokens.size[2]};
448
- transition: all 0.25s ease-out;
449
- `;
450
- },
451
- matchDetailsInfo: css`
452
- display: flex;
453
- justify-content: flex-end;
454
- flex: 1;
455
- `,
456
- matchDetailsInfoLabel: css`
457
- display: flex;
458
- `,
459
- mainCloseBtn: css`
460
- background: ${colors.darkGray[700]};
461
- padding: ${size[1]} ${size[2]} ${size[1]} ${size[1.5]};
462
- border-radius: ${border.radius.md};
463
- position: fixed;
464
- z-index: 99999;
465
- display: inline-flex;
466
- width: fit-content;
467
- cursor: pointer;
468
- appearance: none;
469
- border: 0;
470
- gap: 8px;
471
- align-items: center;
472
- border: 1px solid ${colors.gray[500]};
473
- font-size: ${font.size.xs};
474
- cursor: pointer;
475
- transition: all 0.25s ease-out;
476
-
477
- &:hover {
478
- background: ${colors.darkGray[500]};
479
- }
480
- `,
481
- mainCloseBtnPosition: (position) => {
482
- const base = css`
483
- ${position === "top-left" ? `top: ${size[2]}; left: ${size[2]};` : ""}
484
- ${position === "top-right" ? `top: ${size[2]}; right: ${size[2]};` : ""}
485
- ${position === "bottom-left" ? `bottom: ${size[2]}; left: ${size[2]};` : ""}
486
- ${position === "bottom-right" ? `bottom: ${size[2]}; right: ${size[2]};` : ""}
487
- `;
488
- return base;
489
- },
490
- mainCloseBtnAnimation: (isOpen) => {
491
- if (!isOpen) {
492
- return css`
493
- opacity: 1;
494
- pointer-events: auto;
495
- visibility: visible;
496
- `;
497
- }
498
- return css`
499
- opacity: 0;
500
- pointer-events: none;
501
- visibility: hidden;
502
- `;
503
- },
504
- routerLogoCloseButton: css`
505
- font-weight: ${font.weight.semibold};
506
- font-size: ${font.size.xs};
507
- background: linear-gradient(to right, #98f30c, #00f4a3);
508
- background-clip: text;
509
- -webkit-background-clip: text;
510
- line-height: 1;
511
- -webkit-text-fill-color: transparent;
512
- white-space: nowrap;
513
- `,
514
- mainCloseBtnDivider: css`
515
- width: 1px;
516
- background: ${tokens.tokens.colors.gray[600]};
517
- height: 100%;
518
- border-radius: 999999px;
519
- color: transparent;
520
- `,
521
- mainCloseBtnIconContainer: css`
522
- position: relative;
523
- width: ${size[5]};
524
- height: ${size[5]};
525
- background: pink;
526
- border-radius: 999999px;
527
- overflow: hidden;
528
- `,
529
- mainCloseBtnIconOuter: css`
530
- width: ${size[5]};
531
- height: ${size[5]};
532
- position: absolute;
533
- top: 50%;
534
- left: 50%;
535
- transform: translate(-50%, -50%);
536
- filter: blur(3px) saturate(1.8) contrast(2);
537
- `,
538
- mainCloseBtnIconInner: css`
539
- width: ${size[4]};
540
- height: ${size[4]};
541
- position: absolute;
542
- top: 50%;
543
- left: 50%;
544
- transform: translate(-50%, -50%);
545
- `,
546
- panelCloseBtn: css`
547
- position: absolute;
548
- cursor: pointer;
549
- z-index: 100001;
550
- display: flex;
551
- align-items: center;
552
- justify-content: center;
553
- outline: none;
554
- background-color: ${colors.darkGray[700]};
555
- &:hover {
556
- background-color: ${colors.darkGray[500]};
557
- }
558
-
559
- top: 0;
560
- right: ${size[2]};
561
- transform: translate(0, -100%);
562
- border-right: ${colors.darkGray[300]} 1px solid;
563
- border-left: ${colors.darkGray[300]} 1px solid;
564
- border-top: ${colors.darkGray[300]} 1px solid;
565
- border-bottom: none;
566
- border-radius: ${border.radius.sm} ${border.radius.sm} 0px 0px;
567
- padding: ${size[1]} ${size[1.5]} ${size[0.5]} ${size[1.5]};
568
-
569
- &::after {
570
- content: ' ';
571
- position: absolute;
572
- top: 100%;
573
- left: -${size[2.5]};
574
- height: ${size[1.5]};
575
- width: calc(100% + ${size[5]});
576
- }
577
- `,
578
- panelCloseBtnIcon: css`
579
- color: ${colors.gray[400]};
580
- width: ${size[2]};
581
- height: ${size[2]};
582
- `,
583
- navigateButton: css`
584
- background: none;
585
- border: none;
586
- padding: 0 0 0 4px;
587
- margin: 0;
588
- color: ${colors.gray[400]};
589
- font-size: ${fontSize.md};
590
- cursor: pointer;
591
- line-height: 1;
592
- vertical-align: middle;
593
- margin-right: 0.5ch;
594
- flex-shrink: 0;
595
- &:hover {
596
- color: ${colors.blue[300]};
597
- }
598
- `
599
- };
600
- };
601
- function useStyles() {
602
- const shadowDomTarget = solid.useContext(context.ShadowDomTargetContext);
603
- const [_styles] = solid.createSignal(stylesFactory(shadowDomTarget));
604
- return _styles;
605
- }
606
- exports.useStyles = useStyles;
607
- //# sourceMappingURL=useStyles.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStyles.cjs","sources":["../../../../../src/useStyles.tsx"],"sourcesContent":["import * as goober from 'goober'\nimport { createSignal, useContext } from 'solid-js'\nimport { tokens } from './tokens'\nimport { ShadowDomTargetContext } from './context'\nimport type { Accessor } from 'solid-js'\n\nconst stylesFactory = (shadowDOMTarget?: ShadowRoot) => {\n const { colors, font, size, alpha, shadow, border } = tokens\n const { fontFamily, lineHeight, size: fontSize } = font\n const css = shadowDOMTarget\n ? goober.css.bind({ target: shadowDOMTarget })\n : goober.css\n\n return {\n devtoolsPanelContainer: css`\n direction: ltr;\n position: fixed;\n bottom: 0;\n right: 0;\n z-index: 99999;\n width: 100%;\n max-height: 90%;\n border-top: 1px solid ${colors.gray[700]};\n transform-origin: top;\n `,\n devtoolsPanelContainerVisibility: (isOpen: boolean) => {\n return css`\n visibility: ${isOpen ? 'visible' : 'hidden'};\n `\n },\n devtoolsPanelContainerResizing: (isResizing: Accessor<boolean>) => {\n if (isResizing()) {\n return css`\n transition: none;\n `\n }\n\n return css`\n transition: all 0.4s ease;\n `\n },\n devtoolsPanelContainerAnimation: (isOpen: boolean, height: number) => {\n if (isOpen) {\n return css`\n pointer-events: auto;\n transform: translateY(0);\n `\n }\n return css`\n pointer-events: none;\n transform: translateY(${height}px);\n `\n },\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n font-family: ${fontFamily.sans};\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n &:focus-visible {\n outline-offset: 4px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n tanstackLogo: css`\n font-size: ${font.size.md};\n font-weight: ${font.weight.bold};\n line-height: ${font.lineHeight.xs};\n white-space: nowrap;\n color: ${colors.gray[300]};\n `,\n routerLogo: css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(to right, #84cc16, #10b981);\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n devtoolsPanel: css`\n display: flex;\n font-size: ${fontSize.sm};\n font-family: ${fontFamily.sans};\n background-color: ${colors.darkGray[700]};\n color: ${colors.gray[300]};\n\n @media (max-width: 700px) {\n flex-direction: column;\n }\n @media (max-width: 600px) {\n font-size: ${fontSize.xs};\n }\n `,\n dragHandle: css`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 4px;\n cursor: row-resize;\n z-index: 100000;\n &:hover {\n background-color: ${colors.purple[400]}${alpha[90]};\n }\n `,\n firstContainer: css`\n flex: 1 1 500px;\n min-height: 40%;\n max-height: 100%;\n overflow: auto;\n border-right: 1px solid ${colors.gray[700]};\n display: flex;\n flex-direction: column;\n `,\n routerExplorerContainer: css`\n overflow-y: auto;\n flex: 1;\n `,\n routerExplorer: css`\n padding: ${tokens.size[2]};\n `,\n row: css`\n display: flex;\n align-items: center;\n padding: ${tokens.size[2]} ${tokens.size[2.5]};\n gap: ${tokens.size[2.5]};\n border-bottom: ${colors.darkGray[500]} 1px solid;\n align-items: center;\n `,\n detailsHeader: css`\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n position: sticky;\n top: 0;\n z-index: 2;\n background-color: ${colors.darkGray[600]};\n padding: 0px ${tokens.size[2]};\n font-weight: ${font.weight.medium};\n font-size: ${font.size.xs};\n min-height: ${tokens.size[8]};\n line-height: ${font.lineHeight.xs};\n text-align: left;\n display: flex;\n align-items: center;\n `,\n maskedBadge: css`\n background: ${colors.yellow[900]}${alpha[70]};\n color: ${colors.yellow[300]};\n display: inline-block;\n padding: ${tokens.size[0]} ${tokens.size[2.5]};\n border-radius: ${border.radius.full};\n font-size: ${font.size.xs};\n font-weight: ${font.weight.normal};\n border: 1px solid ${colors.yellow[300]};\n `,\n maskedLocation: css`\n color: ${colors.yellow[300]};\n `,\n detailsContent: css`\n padding: ${tokens.size[1.5]} ${tokens.size[2]};\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: ${font.size.xs};\n `,\n routeMatchesToggle: css`\n display: flex;\n align-items: center;\n border: 1px solid ${colors.gray[500]};\n border-radius: ${border.radius.sm};\n overflow: hidden;\n `,\n routeMatchesToggleBtn: (active: boolean, showBorder: boolean) => {\n const base = css`\n appearance: none;\n border: none;\n font-size: 12px;\n padding: 4px 8px;\n background: transparent;\n cursor: pointer;\n font-family: ${fontFamily.sans};\n font-weight: ${font.weight.medium};\n `\n const classes = [base]\n\n if (active) {\n const activeStyles = css`\n background: ${colors.darkGray[400]};\n color: ${colors.gray[300]};\n `\n classes.push(activeStyles)\n } else {\n const inactiveStyles = css`\n color: ${colors.gray[500]};\n background: ${colors.darkGray[800]}${alpha[20]};\n `\n classes.push(inactiveStyles)\n }\n\n if (showBorder) {\n classes.push(css`\n border-right: 1px solid ${tokens.colors.gray[500]};\n `)\n }\n\n return classes\n },\n detailsHeaderInfo: css`\n flex: 1;\n justify-content: flex-end;\n display: flex;\n align-items: center;\n font-weight: ${font.weight.normal};\n color: ${colors.gray[400]};\n `,\n matchRow: (active: boolean) => {\n const base = css`\n display: flex;\n border-bottom: 1px solid ${colors.darkGray[400]};\n cursor: pointer;\n align-items: center;\n padding: ${size[1]} ${size[2]};\n gap: ${size[2]};\n font-size: ${fontSize.xs};\n color: ${colors.gray[300]};\n `\n const classes = [base]\n\n if (active) {\n const activeStyles = css`\n background: ${colors.darkGray[500]};\n `\n classes.push(activeStyles)\n }\n\n return classes\n },\n matchIndicator: (\n color: 'green' | 'red' | 'yellow' | 'gray' | 'blue' | 'purple',\n ) => {\n const base = css`\n flex: 0 0 auto;\n width: ${size[3]};\n height: ${size[3]};\n background: ${colors[color][900]};\n border: 1px solid ${colors[color][500]};\n border-radius: ${border.radius.full};\n transition: all 0.25s ease-out;\n box-sizing: border-box;\n `\n const classes = [base]\n\n if (color === 'gray') {\n const grayStyles = css`\n background: ${colors.gray[700]};\n border-color: ${colors.gray[400]};\n `\n classes.push(grayStyles)\n }\n\n return classes\n },\n matchID: css`\n flex: 1;\n line-height: ${lineHeight['xs']};\n `,\n ageTicker: (showWarning: boolean) => {\n const base = css`\n display: flex;\n gap: ${size[1]};\n font-size: ${fontSize.xs};\n color: ${colors.gray[400]};\n font-variant-numeric: tabular-nums;\n line-height: ${lineHeight['xs']};\n `\n\n const classes = [base]\n\n if (showWarning) {\n const warningStyles = css`\n color: ${colors.yellow[400]};\n `\n classes.push(warningStyles)\n }\n\n return classes\n },\n secondContainer: css`\n flex: 1 1 500px;\n min-height: 40%;\n max-height: 100%;\n overflow: auto;\n border-right: 1px solid ${colors.gray[700]};\n display: flex;\n flex-direction: column;\n `,\n thirdContainer: css`\n flex: 1 1 500px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: 100%;\n border-right: 1px solid ${colors.gray[700]};\n\n @media (max-width: 700px) {\n border-top: 2px solid ${colors.gray[700]};\n }\n `,\n fourthContainer: css`\n flex: 1 1 500px;\n min-height: 40%;\n max-height: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n `,\n routesContainer: css`\n overflow-x: auto;\n overflow-y: visible;\n `,\n routesRowContainer: (active: boolean, isMatch: boolean) => {\n const base = css`\n display: flex;\n border-bottom: 1px solid ${colors.darkGray[400]};\n align-items: center;\n padding: ${size[1]} ${size[2]};\n gap: ${size[2]};\n font-size: ${fontSize.xs};\n color: ${colors.gray[300]};\n cursor: ${isMatch ? 'pointer' : 'default'};\n line-height: ${lineHeight['xs']};\n `\n const classes = [base]\n\n if (active) {\n const activeStyles = css`\n background: ${colors.darkGray[500]};\n `\n classes.push(activeStyles)\n }\n\n return classes\n },\n routesRow: (isMatch: boolean) => {\n const base = css`\n flex: 1 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: ${fontSize.xs};\n line-height: ${lineHeight['xs']};\n `\n\n const classes = [base]\n\n if (!isMatch) {\n const matchStyles = css`\n color: ${colors.gray[400]};\n `\n classes.push(matchStyles)\n }\n\n return classes\n },\n routesRowInner: css`\n display: 'flex';\n align-items: 'center';\n flex-grow: 1;\n min-width: 0;\n `,\n routeParamInfo: css`\n color: ${colors.gray[400]};\n font-size: ${fontSize.xs};\n line-height: ${lineHeight['xs']};\n `,\n nestedRouteRow: (isRoot: boolean) => {\n const base = css`\n margin-left: ${isRoot ? 0 : size[3.5]};\n border-left: ${isRoot ? '' : `solid 1px ${colors.gray[700]}`};\n `\n return base\n },\n code: css`\n font-size: ${fontSize.xs};\n line-height: ${lineHeight['xs']};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n matchesContainer: css`\n flex: 1 1 auto;\n overflow-y: auto;\n `,\n cachedMatchesContainer: css`\n flex: 1 1 auto;\n overflow-y: auto;\n max-height: 50%;\n `,\n maskedBadgeContainer: css`\n flex: 1;\n justify-content: flex-end;\n display: flex;\n `,\n matchDetails: css`\n display: flex;\n flex-direction: column;\n padding: ${tokens.size[2]};\n font-size: ${tokens.font.size.xs};\n color: ${tokens.colors.gray[300]};\n line-height: ${tokens.font.lineHeight.sm};\n `,\n matchStatus: (\n status: 'pending' | 'success' | 'error' | 'notFound' | 'redirected',\n isFetching: false | 'beforeLoad' | 'loader',\n ) => {\n const colorMap = {\n pending: 'yellow',\n success: 'green',\n error: 'red',\n notFound: 'purple',\n redirected: 'gray',\n } as const\n\n const color =\n isFetching && status === 'success'\n ? isFetching === 'beforeLoad'\n ? 'purple'\n : 'blue'\n : colorMap[status]\n\n return css`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n border-radius: ${tokens.border.radius.sm};\n font-weight: ${tokens.font.weight.normal};\n background-color: ${tokens.colors[color][900]}${tokens.alpha[90]};\n color: ${tokens.colors[color][300]};\n border: 1px solid ${tokens.colors[color][600]};\n margin-bottom: ${tokens.size[2]};\n transition: all 0.25s ease-out;\n `\n },\n matchDetailsInfo: css`\n display: flex;\n justify-content: flex-end;\n flex: 1;\n `,\n matchDetailsInfoLabel: css`\n display: flex;\n `,\n mainCloseBtn: css`\n background: ${colors.darkGray[700]};\n padding: ${size[1]} ${size[2]} ${size[1]} ${size[1.5]};\n border-radius: ${border.radius.md};\n position: fixed;\n z-index: 99999;\n display: inline-flex;\n width: fit-content;\n cursor: pointer;\n appearance: none;\n border: 0;\n gap: 8px;\n align-items: center;\n border: 1px solid ${colors.gray[500]};\n font-size: ${font.size.xs};\n cursor: pointer;\n transition: all 0.25s ease-out;\n\n &:hover {\n background: ${colors.darkGray[500]};\n }\n `,\n mainCloseBtnPosition: (\n position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right',\n ) => {\n const base = css`\n ${position === 'top-left' ? `top: ${size[2]}; left: ${size[2]};` : ''}\n ${position === 'top-right' ? `top: ${size[2]}; right: ${size[2]};` : ''}\n ${position === 'bottom-left'\n ? `bottom: ${size[2]}; left: ${size[2]};`\n : ''}\n ${position === 'bottom-right'\n ? `bottom: ${size[2]}; right: ${size[2]};`\n : ''}\n `\n return base\n },\n mainCloseBtnAnimation: (isOpen: boolean) => {\n if (!isOpen) {\n return css`\n opacity: 1;\n pointer-events: auto;\n visibility: visible;\n `\n }\n return css`\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n `\n },\n routerLogoCloseButton: css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(to right, #98f30c, #00f4a3);\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n mainCloseBtnDivider: css`\n width: 1px;\n background: ${tokens.colors.gray[600]};\n height: 100%;\n border-radius: 999999px;\n color: transparent;\n `,\n mainCloseBtnIconContainer: css`\n position: relative;\n width: ${size[5]};\n height: ${size[5]};\n background: pink;\n border-radius: 999999px;\n overflow: hidden;\n `,\n mainCloseBtnIconOuter: css`\n width: ${size[5]};\n height: ${size[5]};\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n filter: blur(3px) saturate(1.8) contrast(2);\n `,\n mainCloseBtnIconInner: css`\n width: ${size[4]};\n height: ${size[4]};\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n `,\n panelCloseBtn: css`\n position: absolute;\n cursor: pointer;\n z-index: 100001;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n background-color: ${colors.darkGray[700]};\n &:hover {\n background-color: ${colors.darkGray[500]};\n }\n\n top: 0;\n right: ${size[2]};\n transform: translate(0, -100%);\n border-right: ${colors.darkGray[300]} 1px solid;\n border-left: ${colors.darkGray[300]} 1px solid;\n border-top: ${colors.darkGray[300]} 1px solid;\n border-bottom: none;\n border-radius: ${border.radius.sm} ${border.radius.sm} 0px 0px;\n padding: ${size[1]} ${size[1.5]} ${size[0.5]} ${size[1.5]};\n\n &::after {\n content: ' ';\n position: absolute;\n top: 100%;\n left: -${size[2.5]};\n height: ${size[1.5]};\n width: calc(100% + ${size[5]});\n }\n `,\n panelCloseBtnIcon: css`\n color: ${colors.gray[400]};\n width: ${size[2]};\n height: ${size[2]};\n `,\n navigateButton: css`\n background: none;\n border: none;\n padding: 0 0 0 4px;\n margin: 0;\n color: ${colors.gray[400]};\n font-size: ${fontSize.md};\n cursor: pointer;\n line-height: 1;\n vertical-align: middle;\n margin-right: 0.5ch;\n flex-shrink: 0;\n &:hover {\n color: ${colors.blue[300]};\n }\n `,\n }\n}\n\nexport function useStyles() {\n const shadowDomTarget = useContext(ShadowDomTargetContext)\n const [_styles] = createSignal(stylesFactory(shadowDomTarget))\n return _styles\n}\n"],"names":["stylesFactory","shadowDOMTarget","colors","font","size","alpha","border","tokens","fontFamily","lineHeight","fontSize","css","goober","bind","target","devtoolsPanelContainer","gray","devtoolsPanelContainerVisibility","isOpen","devtoolsPanelContainerResizing","isResizing","devtoolsPanelContainerAnimation","height","logo","sans","radius","xs","blue","tanstackLogo","md","weight","bold","routerLogo","semibold","devtoolsPanel","sm","darkGray","dragHandle","purple","firstContainer","routerExplorerContainer","routerExplorer","row","detailsHeader","medium","maskedBadge","yellow","full","normal","maskedLocation","detailsContent","routeMatchesToggle","routeMatchesToggleBtn","active","showBorder","base","classes","activeStyles","push","inactiveStyles","detailsHeaderInfo","matchRow","matchIndicator","color","grayStyles","matchID","ageTicker","showWarning","warningStyles","secondContainer","thirdContainer","fourthContainer","routesContainer","routesRowContainer","isMatch","routesRow","matchStyles","routesRowInner","routeParamInfo","nestedRouteRow","isRoot","code","matchesContainer","cachedMatchesContainer","maskedBadgeContainer","matchDetails","matchStatus","status","isFetching","colorMap","pending","success","error","notFound","redirected","matchDetailsInfo","matchDetailsInfoLabel","mainCloseBtn","mainCloseBtnPosition","position","mainCloseBtnAnimation","routerLogoCloseButton","mainCloseBtnDivider","mainCloseBtnIconContainer","mainCloseBtnIconOuter","mainCloseBtnIconInner","panelCloseBtn","panelCloseBtnIcon","navigateButton","useStyles","shadowDomTarget","useContext","ShadowDomTargetContext","_styles","createSignal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,gBAAgBA,CAACC,oBAAiC;AACtD,QAAM;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,IAAMC;AAAAA,IAAMC;AAAAA,IAAeC;AAAAA,EAAAA,IAAWC,OAAAA;AACtD,QAAM;AAAA,IAAEC;AAAAA,IAAYC;AAAAA,IAAYL,MAAMM;AAAAA,EAAAA,IAAaP;AACnD,QAAMQ,MAAMV,kBACRW,kBAAOD,IAAIE,KAAK;AAAA,IAAEC,QAAQb;AAAAA,EAAAA,CAAiB,IAC3CW,kBAAOD;AAEX,SAAO;AAAA,IACLI,wBAAwBJ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,8BAQET,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,IAG1CC,kCAAkCA,CAACC,WAAoB;AACrD,aAAOP;AAAAA,sBACSO,SAAS,YAAY,QAAQ;AAAA;AAAA,IAE/C;AAAA,IACAC,gCAAgCA,CAACC,eAAkC;AACjE,UAAIA,cAAc;AAChB,eAAOT;AAAAA;AAAAA;AAAAA,MAGT;AAEA,aAAOA;AAAAA;AAAAA;AAAAA,IAGT;AAAA,IACAU,iCAAiCA,CAACH,QAAiBI,WAAmB;AACpE,UAAIJ,QAAQ;AACV,eAAOP;AAAAA;AAAAA;AAAAA;AAAAA,MAIT;AACA,aAAOA;AAAAA;AAAAA,gCAEmBW,MAAM;AAAA;AAAA,IAElC;AAAA,IACAC,MAAMZ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAMWH,WAAWgB,IAAI;AAAA,aACvBjB,OAAAA,OAAOH,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAOJE,OAAOmB,OAAOC,EAAE;AAAA,6BACZxB,OAAOyB,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,IAGzCC,cAAcjB;AAAAA,mBACCR,KAAKC,KAAKyB,EAAE;AAAA,qBACV1B,KAAK2B,OAAOC,IAAI;AAAA,qBAChB5B,KAAKM,WAAWiB,EAAE;AAAA;AAAA,eAExBxB,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA,IAE3BgB,YAAYrB;AAAAA,qBACKR,KAAK2B,OAAOG,QAAQ;AAAA,mBACtB9B,KAAKC,KAAKsB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3BQ,eAAevB;AAAAA;AAAAA,mBAEAD,SAASyB,EAAE;AAAA,qBACT3B,WAAWgB,IAAI;AAAA,0BACVtB,OAAOkC,SAAS,GAAG,CAAC;AAAA,eAC/BlC,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAMVN,SAASgB,EAAE;AAAA;AAAA;AAAA,IAG5BW,YAAY1B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,4BASYT,OAAOoC,OAAO,GAAG,CAAC,GAAGjC,MAAM,EAAE,CAAC;AAAA;AAAA;AAAA,IAGtDkC,gBAAgB5B;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gCAKYT,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,IAI5CwB,yBAAyB7B;AAAAA;AAAAA;AAAAA;AAAAA,IAIzB8B,gBAAgB9B;AAAAA,iBACHJ,OAAAA,OAAOH,KAAK,CAAC,CAAC;AAAA;AAAA,IAE3BsC,KAAK/B;AAAAA;AAAAA;AAAAA,iBAGQJ,OAAAA,OAAOH,KAAK,CAAC,CAAC,IAAIG,cAAOH,KAAK,GAAG,CAAC;AAAA,aACtCG,OAAAA,OAAOH,KAAK,GAAG,CAAC;AAAA,uBACNF,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA;AAAA,IAGvCO,eAAehC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,0BAKOT,OAAOkC,SAAS,GAAG,CAAC;AAAA,qBACzB7B,OAAAA,OAAOH,KAAK,CAAC,CAAC;AAAA,qBACdD,KAAK2B,OAAOc,MAAM;AAAA,mBACpBzC,KAAKC,KAAKsB,EAAE;AAAA,oBACXnB,OAAAA,OAAOH,KAAK,CAAC,CAAC;AAAA,qBACbD,KAAKM,WAAWiB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKnCmB,aAAalC;AAAAA,oBACGT,OAAO4C,OAAO,GAAG,CAAC,GAAGzC,MAAM,EAAE,CAAC;AAAA,eACnCH,OAAO4C,OAAO,GAAG,CAAC;AAAA;AAAA,iBAEhBvC,OAAAA,OAAOH,KAAK,CAAC,CAAC,IAAIG,cAAOH,KAAK,GAAG,CAAC;AAAA,uBAC5BE,OAAOmB,OAAOsB,IAAI;AAAA,mBACtB5C,KAAKC,KAAKsB,EAAE;AAAA,qBACVvB,KAAK2B,OAAOkB,MAAM;AAAA,0BACb9C,OAAO4C,OAAO,GAAG,CAAC;AAAA;AAAA,IAExCG,gBAAgBtC;AAAAA,eACLT,OAAO4C,OAAO,GAAG,CAAC;AAAA;AAAA,IAE7BI,gBAAgBvC;AAAAA,iBACHJ,OAAAA,OAAOH,KAAK,GAAG,CAAC,IAAIG,cAAOH,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,mBAIhCD,KAAKC,KAAKsB,EAAE;AAAA;AAAA,IAE3ByB,oBAAoBxC;AAAAA;AAAAA;AAAAA,0BAGET,OAAOc,KAAK,GAAG,CAAC;AAAA,uBACnBV,OAAOmB,OAAOU,EAAE;AAAA;AAAA;AAAA,IAGnCiB,uBAAuBA,CAACC,QAAiBC,eAAwB;AAC/D,YAAMC,OAAO5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,uBAOIH,WAAWgB,IAAI;AAAA,uBACfrB,KAAK2B,OAAOc,MAAM;AAAA;AAEnC,YAAMY,UAAU,CAACD,IAAI;AAErB,UAAIF,QAAQ;AACV,cAAMI,eAAe9C;AAAAA,wBACLT,OAAOkC,SAAS,GAAG,CAAC;AAAA,mBACzBlC,OAAOc,KAAK,GAAG,CAAC;AAAA;AAE3BwC,gBAAQE,KAAKD,YAAY;AAAA,MAC3B,OAAO;AACL,cAAME,iBAAiBhD;AAAAA,mBACZT,OAAOc,KAAK,GAAG,CAAC;AAAA,wBACXd,OAAOkC,SAAS,GAAG,CAAC,GAAG/B,MAAM,EAAE,CAAC;AAAA;AAEhDmD,gBAAQE,KAAKC,cAAc;AAAA,MAC7B;AAEA,UAAIL,YAAY;AACdE,gBAAQE,KAAK/C;AAAAA,oCACeJ,cAAOL,OAAOc,KAAK,GAAG,CAAC;AAAA,SAClD;AAAA,MACH;AAEA,aAAOwC;AAAAA,IACT;AAAA,IACAI,mBAAmBjD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAKFR,KAAK2B,OAAOkB,MAAM;AAAA,eACxB9C,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA,IAE3B6C,UAAUA,CAACR,WAAoB;AAC7B,YAAME,OAAO5C;AAAAA;AAAAA,mCAEgBT,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA;AAAA,mBAGpChC,KAAK,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC;AAAA,eACtBA,KAAK,CAAC,CAAC;AAAA,qBACDM,SAASgB,EAAE;AAAA,iBACfxB,OAAOc,KAAK,GAAG,CAAC;AAAA;AAE3B,YAAMwC,UAAU,CAACD,IAAI;AAErB,UAAIF,QAAQ;AACV,cAAMI,eAAe9C;AAAAA,wBACLT,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAEpCoB,gBAAQE,KAAKD,YAAY;AAAA,MAC3B;AAEA,aAAOD;AAAAA,IACT;AAAA,IACAM,gBAAgBA,CACdC,UACG;AACH,YAAMR,OAAO5C;AAAAA;AAAAA,iBAEFP,KAAK,CAAC,CAAC;AAAA,kBACNA,KAAK,CAAC,CAAC;AAAA,sBACHF,OAAO6D,KAAK,EAAE,GAAG,CAAC;AAAA,4BACZ7D,OAAO6D,KAAK,EAAE,GAAG,CAAC;AAAA,yBACrBzD,OAAOmB,OAAOsB,IAAI;AAAA;AAAA;AAAA;AAIrC,YAAMS,UAAU,CAACD,IAAI;AAErB,UAAIQ,UAAU,QAAQ;AACpB,cAAMC,aAAarD;AAAAA,wBACHT,OAAOc,KAAK,GAAG,CAAC;AAAA,0BACdd,OAAOc,KAAK,GAAG,CAAC;AAAA;AAElCwC,gBAAQE,KAAKM,UAAU;AAAA,MACzB;AAEA,aAAOR;AAAAA,IACT;AAAA,IACAS,SAAStD;AAAAA;AAAAA,qBAEQF,WAAW,IAAI,CAAC;AAAA;AAAA,IAEjCyD,WAAWA,CAACC,gBAAyB;AACnC,YAAMZ,OAAO5C;AAAAA;AAAAA,eAEJP,KAAK,CAAC,CAAC;AAAA,qBACDM,SAASgB,EAAE;AAAA,iBACfxB,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA,uBAEVP,WAAW,IAAI,CAAC;AAAA;AAGjC,YAAM+C,UAAU,CAACD,IAAI;AAErB,UAAIY,aAAa;AACf,cAAMC,gBAAgBzD;AAAAA,mBACXT,OAAO4C,OAAO,GAAG,CAAC;AAAA;AAE7BU,gBAAQE,KAAKU,aAAa;AAAA,MAC5B;AAEA,aAAOZ;AAAAA,IACT;AAAA,IACAa,iBAAiB1D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gCAKWT,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,IAI5CsD,gBAAgB3D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gCAMYT,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,gCAGhBd,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,IAG5CuD,iBAAiB5D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAQjB6D,iBAAiB7D;AAAAA;AAAAA;AAAAA;AAAAA,IAIjB8D,oBAAoBA,CAACpB,QAAiBqB,YAAqB;AACzD,YAAMnB,OAAO5C;AAAAA;AAAAA,mCAEgBT,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA,mBAEpChC,KAAK,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC;AAAA,eACtBA,KAAK,CAAC,CAAC;AAAA,qBACDM,SAASgB,EAAE;AAAA,iBACfxB,OAAOc,KAAK,GAAG,CAAC;AAAA,kBACf0D,UAAU,YAAY,SAAS;AAAA,uBAC1BjE,WAAW,IAAI,CAAC;AAAA;AAEjC,YAAM+C,UAAU,CAACD,IAAI;AAErB,UAAIF,QAAQ;AACV,cAAMI,eAAe9C;AAAAA,wBACLT,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAEpCoB,gBAAQE,KAAKD,YAAY;AAAA,MAC3B;AAEA,aAAOD;AAAAA,IACT;AAAA,IACAmB,WAAWA,CAACD,YAAqB;AAC/B,YAAMnB,OAAO5C;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAKED,SAASgB,EAAE;AAAA,uBACTjB,WAAW,IAAI,CAAC;AAAA;AAGjC,YAAM+C,UAAU,CAACD,IAAI;AAErB,UAAI,CAACmB,SAAS;AACZ,cAAME,cAAcjE;AAAAA,mBACTT,OAAOc,KAAK,GAAG,CAAC;AAAA;AAE3BwC,gBAAQE,KAAKkB,WAAW;AAAA,MAC1B;AAEA,aAAOpB;AAAAA,IACT;AAAA,IACAqB,gBAAgBlE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAMhBmE,gBAAgBnE;AAAAA,eACLT,OAAOc,KAAK,GAAG,CAAC;AAAA,mBACZN,SAASgB,EAAE;AAAA,qBACTjB,WAAW,IAAI,CAAC;AAAA;AAAA,IAEjCsE,gBAAgBA,CAACC,WAAoB;AACnC,YAAMzB,OAAO5C;AAAAA,uBACIqE,SAAS,IAAI5E,KAAK,GAAG,CAAC;AAAA,uBACtB4E,SAAS,KAAK,aAAa9E,OAAOc,KAAK,GAAG,CAAC,EAAE;AAAA;AAE9D,aAAOuC;AAAAA,IACT;AAAA,IACA0B,MAAMtE;AAAAA,mBACSD,SAASgB,EAAE;AAAA,qBACTjB,WAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKjCyE,kBAAkBvE;AAAAA;AAAAA;AAAAA;AAAAA,IAIlBwE,wBAAwBxE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAKxByE,sBAAsBzE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAKtB0E,cAAc1E;AAAAA;AAAAA;AAAAA,iBAGDJ,OAAAA,OAAOH,KAAK,CAAC,CAAC;AAAA,mBACZG,cAAOJ,KAAKC,KAAKsB,EAAE;AAAA,eACvBnB,cAAOL,OAAOc,KAAK,GAAG,CAAC;AAAA,qBACjBT,cAAOJ,KAAKM,WAAW0B,EAAE;AAAA;AAAA,IAE1CmD,aAAaA,CACXC,QACAC,eACG;AACH,YAAMC,WAAW;AAAA,QACfC,SAAS;AAAA,QACTC,SAAS;AAAA,QACTC,OAAO;AAAA,QACPC,UAAU;AAAA,QACVC,YAAY;AAAA,MAAA;AAGd,YAAM/B,QACJyB,cAAcD,WAAW,YACrBC,eAAe,eACb,WACA,SACFC,SAASF,MAAM;AAErB,aAAO5E;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,yBAKYJ,cAAOD,OAAOmB,OAAOU,EAAE;AAAA,uBACzB5B,cAAOJ,KAAK2B,OAAOkB,MAAM;AAAA,4BACpBzC,OAAAA,OAAOL,OAAO6D,KAAK,EAAE,GAAG,CAAC,GAAGxD,OAAAA,OAAOF,MAAM,EAAE,CAAC;AAAA,iBACvDE,OAAAA,OAAOL,OAAO6D,KAAK,EAAE,GAAG,CAAC;AAAA,4BACdxD,OAAAA,OAAOL,OAAO6D,KAAK,EAAE,GAAG,CAAC;AAAA,yBAC5BxD,OAAAA,OAAOH,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA,IAGnC;AAAA,IACA2F,kBAAkBpF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAKlBqF,uBAAuBrF;AAAAA;AAAAA;AAAAA,IAGvBsF,cAActF;AAAAA,oBACET,OAAOkC,SAAS,GAAG,CAAC;AAAA,iBACvBhC,KAAK,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,IAAIA,KAAK,GAAG,CAAC;AAAA,uBACpCE,OAAOmB,OAAOI,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAUb3B,OAAOc,KAAK,GAAG,CAAC;AAAA,mBACvBb,KAAKC,KAAKsB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKTxB,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA;AAAA,IAGtC8D,sBAAsBA,CACpBC,aACG;AACH,YAAM5C,OAAO5C;AAAAA,UACTwF,aAAa,aAAa,QAAQ/F,KAAK,CAAC,CAAC,WAAWA,KAAK,CAAC,CAAC,MAAM,EAAE;AAAA,UACnE+F,aAAa,cAAc,QAAQ/F,KAAK,CAAC,CAAC,YAAYA,KAAK,CAAC,CAAC,MAAM,EAAE;AAAA,UACrE+F,aAAa,gBACX,WAAW/F,KAAK,CAAC,CAAC,WAAWA,KAAK,CAAC,CAAC,MACpC,EAAE;AAAA,UACJ+F,aAAa,iBACX,WAAW/F,KAAK,CAAC,CAAC,YAAYA,KAAK,CAAC,CAAC,MACrC,EAAE;AAAA;AAER,aAAOmD;AAAAA,IACT;AAAA,IACA6C,uBAAuBA,CAAClF,WAAoB;AAC1C,UAAI,CAACA,QAAQ;AACX,eAAOP;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAKT;AACA,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAKT;AAAA,IACA0F,uBAAuB1F;AAAAA,qBACNR,KAAK2B,OAAOG,QAAQ;AAAA,mBACtB9B,KAAKC,KAAKsB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3B4E,qBAAqB3F;AAAAA;AAAAA,oBAELJ,cAAOL,OAAOc,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKvCuF,2BAA2B5F;AAAAA;AAAAA,eAEhBP,KAAK,CAAC,CAAC;AAAA,gBACNA,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKnBoG,uBAAuB7F;AAAAA,eACZP,KAAK,CAAC,CAAC;AAAA,gBACNA,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOnBqG,uBAAuB9F;AAAAA,eACZP,KAAK,CAAC,CAAC;AAAA,gBACNA,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnBsG,eAAe/F;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,0BAQOT,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA,4BAElBlC,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,eAIjChC,KAAK,CAAC,CAAC;AAAA;AAAA,sBAEAF,OAAOkC,SAAS,GAAG,CAAC;AAAA,qBACrBlC,OAAOkC,SAAS,GAAG,CAAC;AAAA,oBACrBlC,OAAOkC,SAAS,GAAG,CAAC;AAAA;AAAA,uBAEjB9B,OAAOmB,OAAOU,EAAE,IAAI7B,OAAOmB,OAAOU,EAAE;AAAA,iBAC1C/B,KAAK,CAAC,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAM9CA,KAAK,GAAG,CAAC;AAAA,kBACRA,KAAK,GAAG,CAAC;AAAA,6BACEA,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA,IAGhCuG,mBAAmBhG;AAAAA,eACRT,OAAOc,KAAK,GAAG,CAAC;AAAA,eAChBZ,KAAK,CAAC,CAAC;AAAA,gBACNA,KAAK,CAAC,CAAC;AAAA;AAAA,IAEnBwG,gBAAgBjG;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAKLT,OAAOc,KAAK,GAAG,CAAC;AAAA,mBACZN,SAASmB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAOb3B,OAAOyB,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,EAAA;AAIjC;AAEO,SAASkF,YAAY;AAC1B,QAAMC,kBAAkBC,MAAAA,WAAWC,8BAAsB;AACzD,QAAM,CAACC,OAAO,IAAIC,MAAAA,aAAalH,cAAc8G,eAAe,CAAC;AAC7D,SAAOG;AACT;;"}