@datarecce/ui 0.1.28 → 0.1.30

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 (82) hide show
  1. package/dist/{RecceCheckContext-tUxygNmN.js → RecceCheckContext-DPpu9nG5.js} +2 -2
  2. package/dist/{RecceCheckContext-tUxygNmN.js.map → RecceCheckContext-DPpu9nG5.js.map} +1 -1
  3. package/dist/{RecceCheckContext-CiG9fGRW.mjs → RecceCheckContext-bXdfQLGG.mjs} +2 -2
  4. package/dist/{RecceCheckContext-CiG9fGRW.mjs.map → RecceCheckContext-bXdfQLGG.mjs.map} +1 -1
  5. package/dist/api.d.mts +1 -1
  6. package/dist/api.d.ts +1 -1
  7. package/dist/api.js +4 -3
  8. package/dist/api.mjs +4 -3
  9. package/dist/{components-Cvfq_6t4.js → components-B-YxuuPz.js} +66 -65
  10. package/dist/{components-Cvfq_6t4.js.map → components-B-YxuuPz.js.map} +1 -1
  11. package/dist/{components-D2DRqJsz.css → components-BeAjVBV3.css} +1 -1
  12. package/dist/{components-D2DRqJsz.css.map → components-BeAjVBV3.css.map} +1 -1
  13. package/dist/{components-Bt0G4cpr.mjs → components-DCOI1YlQ.mjs} +8 -7
  14. package/dist/{components-Bt0G4cpr.mjs.map → components-DCOI1YlQ.mjs.map} +1 -1
  15. package/dist/{components-dVXbmdqd.css → components-iUxcqtUB.css} +1 -1
  16. package/dist/{components-dVXbmdqd.css.map → components-iUxcqtUB.css.map} +1 -1
  17. package/dist/components.d.mts +1 -1
  18. package/dist/components.d.ts +1 -1
  19. package/dist/components.js +6 -5
  20. package/dist/components.mjs +6 -5
  21. package/dist/hooks-B9hsc1oD.js +40 -0
  22. package/dist/hooks-B9hsc1oD.js.map +1 -0
  23. package/dist/hooks-DjBNmTdh.mjs +34 -0
  24. package/dist/hooks-DjBNmTdh.mjs.map +1 -0
  25. package/dist/hooks.d.mts +1 -1
  26. package/dist/hooks.d.ts +1 -1
  27. package/dist/hooks.js +13 -12
  28. package/dist/hooks.mjs +5 -4
  29. package/dist/{html2canvas-pro.esm-BR5xeFe-.mjs → html2canvas-pro.esm-BInzOtWO.mjs} +1 -1
  30. package/dist/{html2canvas-pro.esm-BR5xeFe-.mjs.map → html2canvas-pro.esm-BInzOtWO.mjs.map} +1 -1
  31. package/dist/{html2canvas-pro.esm-CVOsBdk0.js → html2canvas-pro.esm-WJxOmKlq.js} +1 -1
  32. package/dist/{html2canvas-pro.esm-CVOsBdk0.js.map → html2canvas-pro.esm-WJxOmKlq.js.map} +1 -1
  33. package/dist/{index-CUtFlKOo.d.ts → index-BNUP2V_N.d.ts} +70 -70
  34. package/dist/index-BNUP2V_N.d.ts.map +1 -0
  35. package/dist/{index-OJCzYajo.d.mts → index-DOPZuhD8.d.mts} +70 -70
  36. package/dist/{index-OJCzYajo.d.mts.map → index-DOPZuhD8.d.mts.map} +1 -1
  37. package/dist/index.d.mts +1 -1
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.js +16 -15
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +8 -7
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/mui-theme-B2wm_cvZ.js +732 -0
  44. package/dist/mui-theme-B2wm_cvZ.js.map +1 -0
  45. package/dist/mui-theme-CUhybmBq.mjs +696 -0
  46. package/dist/mui-theme-CUhybmBq.mjs.map +1 -0
  47. package/dist/{state-DyHCt6IJ.mjs → state-B9yzhuKs.mjs} +186 -712
  48. package/dist/state-B9yzhuKs.mjs.map +1 -0
  49. package/dist/{state-eEsMhIy4.css → state-DOUPNifc.css} +1 -1
  50. package/dist/{state-eEsMhIy4.css.map → state-DOUPNifc.css.map} +1 -1
  51. package/dist/{state-FkYREAs-.js → state-lPCQsWy5.js} +246 -754
  52. package/dist/state-lPCQsWy5.js.map +1 -0
  53. package/dist/theme.d.mts +186 -0
  54. package/dist/theme.d.mts.map +1 -0
  55. package/dist/theme.d.ts +186 -0
  56. package/dist/theme.d.ts.map +1 -0
  57. package/dist/theme.js +9 -0
  58. package/dist/theme.mjs +4 -0
  59. package/dist/{tooltipMessage-CrXjOmVM.mjs → tooltipMessage-B--I3p1V.mjs} +1 -1
  60. package/dist/{tooltipMessage-CrXjOmVM.mjs.map → tooltipMessage-B--I3p1V.mjs.map} +1 -1
  61. package/dist/{tooltipMessage-Dbi1kkfi.js → tooltipMessage-DosF13kZ.js} +1 -1
  62. package/dist/{tooltipMessage-Dbi1kkfi.js.map → tooltipMessage-DosF13kZ.js.map} +1 -1
  63. package/dist/types.d.mts +1 -1
  64. package/dist/types.d.ts +1 -1
  65. package/dist/types.js +2 -2
  66. package/dist/types.mjs +2 -2
  67. package/dist/{urls-D7PrPolY.mjs → urls-B1Ymdoz-.mjs} +1 -1
  68. package/dist/{urls-D7PrPolY.mjs.map → urls-B1Ymdoz-.mjs.map} +1 -1
  69. package/dist/{urls-SazAekCZ.js → urls-C4eAc82S.js} +1 -1
  70. package/dist/{urls-SazAekCZ.js.map → urls-C4eAc82S.js.map} +1 -1
  71. package/dist/{version-BGNaeW6k.js → version-Dh8sZhvs.js} +2 -2
  72. package/dist/{version-BGNaeW6k.js.map → version-Dh8sZhvs.js.map} +1 -1
  73. package/dist/{version-Dav28qEz.mjs → version-OnOKzBeQ.mjs} +2 -2
  74. package/dist/{version-Dav28qEz.mjs.map → version-OnOKzBeQ.mjs.map} +1 -1
  75. package/package.json +6 -1
  76. package/dist/hooks-BxV6qN9q.mjs +0 -233
  77. package/dist/hooks-BxV6qN9q.mjs.map +0 -1
  78. package/dist/hooks-CriUVJO1.js +0 -287
  79. package/dist/hooks-CriUVJO1.js.map +0 -1
  80. package/dist/index-CUtFlKOo.d.ts.map +0 -1
  81. package/dist/state-DyHCt6IJ.mjs.map +0 -1
  82. package/dist/state-FkYREAs-.js.map +0 -1
@@ -27,7 +27,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  }) : target, mod));
28
28
 
29
29
  //#endregion
30
- const require_urls = require('./urls-SazAekCZ.js');
30
+ const require_mui_theme = require('./mui-theme-B2wm_cvZ.js');
31
+ const require_urls = require('./urls-C4eAc82S.js');
31
32
  let _mui_material_styles = require("@mui/material/styles");
32
33
  let react = require("react");
33
34
  react = __toESM(react);
@@ -116,696 +117,6 @@ _mui_material_Popover = __toESM(_mui_material_Popover);
116
117
  let _mui_material_ButtonGroup = require("@mui/material/ButtonGroup");
117
118
  _mui_material_ButtonGroup = __toESM(_mui_material_ButtonGroup);
118
119
 
119
- //#region recce-source/js/src/components/ui/mui-theme.ts
120
- /**
121
- * MUI Theme Configuration for Recce
122
- *
123
- * This theme mirrors the existing Chakra UI theme tokens from theme.ts
124
- * to ensure visual consistency during the migration period.
125
- *
126
- * Color palette mappings:
127
- * - iochmara (custom blue) -> primary
128
- * - cyan -> secondary
129
- * - brand (orange) -> custom palette
130
- * - green -> success
131
- * - amber -> warning
132
- * - red -> error
133
- * - neutral -> grey
134
- */
135
- const white = "#FFFFFF";
136
- const black = "#000000";
137
- const colors = {
138
- white,
139
- black,
140
- iochmara: {
141
- 50: "#EAF3FB",
142
- 100: "#C4DDF3",
143
- 200: "#9EC6EB",
144
- 300: "#79B0E2",
145
- 400: "#5599D8",
146
- 500: "#3182CE",
147
- 600: "#2A6CA7",
148
- 700: "#225581",
149
- 800: "#193E5C",
150
- 900: "#102638",
151
- 950: "#060E14"
152
- },
153
- cyan: {
154
- 50: "#ECFEFF",
155
- 100: "#CFFAFE",
156
- 200: "#A5F3FC",
157
- 300: "#67E8F9",
158
- 400: "#22D3EE",
159
- 500: "#06B6D4",
160
- 600: "#0891B2",
161
- 700: "#0E7490",
162
- 800: "#155E75",
163
- 900: "#164E63",
164
- 950: "#083344"
165
- },
166
- neutral: {
167
- 50: "#FAFAFA",
168
- 100: "#F5F5F5",
169
- 200: "#E5E5E5",
170
- 300: "#D4D4D4",
171
- 400: "#A3A3A3",
172
- 500: "#737373",
173
- 600: "#525252",
174
- 700: "#404040",
175
- 800: "#262626",
176
- 900: "#171717",
177
- 950: "#0A0A0A"
178
- },
179
- amber: {
180
- 50: "#FFFBEB",
181
- 100: "#FEF3C7",
182
- 200: "#FDE68A",
183
- 300: "#FCD34D",
184
- 400: "#FBBF24",
185
- 500: "#F59E0B",
186
- 600: "#D97706",
187
- 700: "#B45309",
188
- 800: "#92400E",
189
- 900: "#78350F",
190
- 950: "#431407"
191
- },
192
- yellow: {
193
- 50: "#FEFCE8",
194
- 100: "#FEF9C3",
195
- 200: "#FEF08A",
196
- 300: "#FDE047",
197
- 400: "#FACC15",
198
- 500: "#EAB308",
199
- 600: "#CA8A04",
200
- 700: "#A16207",
201
- 800: "#854D0E",
202
- 900: "#713F12",
203
- 950: "#422006"
204
- },
205
- green: {
206
- 50: "#F0FDF4",
207
- 100: "#DCFCE7",
208
- 200: "#BBF7D0",
209
- 300: "#86EFAC",
210
- 400: "#4ADE80",
211
- 500: "#22C55E",
212
- 600: "#16A34A",
213
- 700: "#15803D",
214
- 800: "#166534",
215
- 900: "#14532D",
216
- 950: "#052E16"
217
- },
218
- red: {
219
- 50: "#FEF2F2",
220
- 100: "#FEE2E2",
221
- 200: "#FECACA",
222
- 300: "#FCA5A5",
223
- 400: "#F87171",
224
- 500: "#EF4444",
225
- 600: "#DC2626",
226
- 700: "#B91C1C",
227
- 800: "#991B1B",
228
- 900: "#7F1D1D",
229
- 950: "#450A0A"
230
- },
231
- rose: {
232
- 50: "#FFF1F2",
233
- 100: "#FFE4E6",
234
- 200: "#FECDD3",
235
- 300: "#FDA4AF",
236
- 400: "#FB7185",
237
- 500: "#F43F5E",
238
- 600: "#E11D48",
239
- 700: "#BE123C",
240
- 800: "#9F1239",
241
- 900: "#881337",
242
- 950: "#4C0519"
243
- },
244
- fuchsia: {
245
- 50: "#FDF4FF",
246
- 100: "#FAE8FF",
247
- 200: "#F5D0FE",
248
- 300: "#F0ABFC",
249
- 400: "#E879F9",
250
- 500: "#D946EF",
251
- 600: "#C026D3",
252
- 700: "#A21CAF",
253
- 800: "#86198F",
254
- 900: "#701A75",
255
- 950: "#4A044E"
256
- },
257
- brand: {
258
- 50: "#FFDED5",
259
- 100: "#FFC1B0",
260
- 200: "#FFA58C",
261
- 300: "#FF8967",
262
- 400: "#FF6E42",
263
- 500: "#FD541E",
264
- 600: "#F04104",
265
- 700: "#C93A06",
266
- 800: "#A23206",
267
- 900: "#7C2906",
268
- 950: "#571E05"
269
- }
270
- };
271
- const semanticColors = {
272
- envBase: colors.amber[500],
273
- envCurrent: colors.iochmara[500]
274
- };
275
- /**
276
- * Helper to generate button color variants for a given color
277
- * Creates contained, outlined, and text variant styles
278
- */
279
- function createButtonColorVariants(colorName, colorScale) {
280
- return [
281
- {
282
- props: {
283
- color: colorName,
284
- variant: "contained"
285
- },
286
- style: {
287
- backgroundColor: colorScale[500],
288
- color: white,
289
- "&:hover": { backgroundColor: colorScale[600] }
290
- }
291
- },
292
- {
293
- props: {
294
- color: colorName,
295
- variant: "outlined"
296
- },
297
- style: {
298
- borderColor: colorScale[500],
299
- color: colorScale[600],
300
- "&:hover": {
301
- borderColor: colorScale[600],
302
- backgroundColor: `${colorScale[50]}80`
303
- }
304
- }
305
- },
306
- {
307
- props: {
308
- color: colorName,
309
- variant: "text"
310
- },
311
- style: {
312
- color: colorScale[600],
313
- "&:hover": { backgroundColor: `${colorScale[50]}80` }
314
- }
315
- }
316
- ];
317
- }
318
- /**
319
- * Helper to generate CircularProgress color variants
320
- */
321
- function createProgressColorVariant(colorName, colorScale) {
322
- return {
323
- props: { color: colorName },
324
- style: { color: colorScale[500] }
325
- };
326
- }
327
- /**
328
- * Helper to generate Badge color variants
329
- */
330
- function createBadgeColorVariant(colorName, colorScale) {
331
- return {
332
- props: { color: colorName },
333
- style: { "& .MuiBadge-badge": {
334
- backgroundColor: colorScale[500],
335
- color: white
336
- } }
337
- };
338
- }
339
- /**
340
- * Helper to generate Chip color variants
341
- */
342
- function createChipColorVariants(colorName, colorScale) {
343
- return [{
344
- props: {
345
- color: colorName,
346
- variant: "filled"
347
- },
348
- style: {
349
- backgroundColor: colorScale[500],
350
- color: white,
351
- "&:hover": { backgroundColor: colorScale[600] }
352
- }
353
- }, {
354
- props: {
355
- color: colorName,
356
- variant: "outlined"
357
- },
358
- style: {
359
- borderColor: colorScale[500],
360
- color: colorScale[600]
361
- }
362
- }];
363
- }
364
- const buttonColorVariants = [
365
- ...createButtonColorVariants("iochmara", colors.iochmara),
366
- ...createButtonColorVariants("cyan", colors.cyan),
367
- ...createButtonColorVariants("amber", colors.amber),
368
- ...createButtonColorVariants("green", colors.green),
369
- ...createButtonColorVariants("red", colors.red),
370
- ...createButtonColorVariants("rose", colors.rose),
371
- ...createButtonColorVariants("fuchsia", colors.fuchsia),
372
- ...createButtonColorVariants("brand", colors.brand)
373
- ];
374
- const progressColorVariants = [
375
- createProgressColorVariant("iochmara", colors.iochmara),
376
- createProgressColorVariant("cyan", colors.cyan),
377
- createProgressColorVariant("amber", colors.amber),
378
- createProgressColorVariant("green", colors.green),
379
- createProgressColorVariant("red", colors.red),
380
- createProgressColorVariant("rose", colors.rose),
381
- createProgressColorVariant("fuchsia", colors.fuchsia),
382
- createProgressColorVariant("brand", colors.brand),
383
- createProgressColorVariant("neutral", colors.neutral)
384
- ];
385
- const badgeColorVariants = [
386
- createBadgeColorVariant("iochmara", colors.iochmara),
387
- createBadgeColorVariant("cyan", colors.cyan),
388
- createBadgeColorVariant("amber", colors.amber),
389
- createBadgeColorVariant("green", colors.green),
390
- createBadgeColorVariant("red", colors.red),
391
- createBadgeColorVariant("rose", colors.rose),
392
- createBadgeColorVariant("fuchsia", colors.fuchsia),
393
- createBadgeColorVariant("brand", colors.brand),
394
- createBadgeColorVariant("neutral", colors.neutral)
395
- ];
396
- const chipColorVariants = [
397
- ...createChipColorVariants("iochmara", colors.iochmara),
398
- ...createChipColorVariants("cyan", colors.cyan),
399
- ...createChipColorVariants("amber", colors.amber),
400
- ...createChipColorVariants("green", colors.green),
401
- ...createChipColorVariants("red", colors.red),
402
- ...createChipColorVariants("rose", colors.rose),
403
- ...createChipColorVariants("fuchsia", colors.fuchsia),
404
- ...createChipColorVariants("brand", colors.brand),
405
- ...createChipColorVariants("neutral", colors.neutral)
406
- ];
407
- const componentOverrides = {
408
- MuiButton: {
409
- defaultProps: { disableElevation: true },
410
- variants: [{
411
- props: { size: "xsmall" },
412
- style: {
413
- padding: "0 0.5rem",
414
- fontSize: "0.75rem",
415
- fontWeight: 500,
416
- borderRadius: 4,
417
- minHeight: "unset",
418
- lineHeight: 1.5
419
- }
420
- }, ...buttonColorVariants],
421
- styleOverrides: {
422
- root: ({ theme, ownerState }) => ({
423
- textTransform: "none",
424
- fontWeight: 500,
425
- borderRadius: 6,
426
- ...ownerState.color === "neutral" && ownerState.variant === "contained" && {
427
- backgroundColor: colors.neutral[700],
428
- color: white,
429
- "&:hover": { backgroundColor: colors.neutral[800] }
430
- },
431
- ...ownerState.color === "neutral" && ownerState.variant === "outlined" && {
432
- borderColor: theme.palette.mode === "dark" ? colors.neutral[500] : colors.neutral[300],
433
- color: theme.palette.mode === "dark" ? colors.neutral[100] : colors.neutral[900],
434
- "&:hover": {
435
- borderColor: theme.palette.mode === "dark" ? colors.neutral[400] : colors.neutral[400],
436
- backgroundColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[100]
437
- }
438
- },
439
- ...ownerState.color === "neutral" && ownerState.variant === "text" && {
440
- color: theme.palette.mode === "dark" ? colors.neutral[200] : colors.neutral[700],
441
- "&:hover": { backgroundColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[100] }
442
- }
443
- }),
444
- sizeSmall: {
445
- padding: "0.25rem 0.75rem",
446
- fontSize: "0.875rem"
447
- },
448
- sizeMedium: {
449
- padding: "0.5rem 1rem",
450
- fontSize: "1rem"
451
- },
452
- sizeLarge: {
453
- padding: "0.75rem 1.5rem",
454
- fontSize: "1.125rem"
455
- },
456
- contained: { "&:hover": { boxShadow: "none" } },
457
- outlined: {
458
- borderWidth: "1px",
459
- "&:hover": { borderWidth: "1px" }
460
- },
461
- text: ({ theme }) => ({ "&:hover": { backgroundColor: theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.08)" : "rgba(0, 0, 0, 0.04)" } })
462
- }
463
- },
464
- MuiIconButton: { styleOverrides: {
465
- root: { borderRadius: 6 },
466
- sizeSmall: { padding: 4 },
467
- sizeMedium: { padding: 8 },
468
- sizeLarge: { padding: 12 }
469
- } },
470
- MuiTextField: {
471
- defaultProps: {
472
- variant: "outlined",
473
- size: "small"
474
- },
475
- styleOverrides: { root: { "& .MuiOutlinedInput-root": { borderRadius: 6 } } }
476
- },
477
- MuiOutlinedInput: { styleOverrides: {
478
- root: {
479
- borderRadius: 6,
480
- "&:hover .MuiOutlinedInput-notchedOutline": { borderColor: colors.iochmara[400] },
481
- "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
482
- borderColor: colors.iochmara[500],
483
- borderWidth: 2
484
- }
485
- },
486
- notchedOutline: ({ theme }) => ({ borderColor: theme.palette.mode === "dark" ? colors.neutral[600] : colors.neutral[300] })
487
- } },
488
- MuiCheckbox: {
489
- defaultProps: { color: "primary" },
490
- styleOverrides: { root: { borderRadius: 4 } }
491
- },
492
- MuiSwitch: { defaultProps: { color: "primary" } },
493
- MuiDialog: { styleOverrides: { paper: { borderRadius: 8 } } },
494
- MuiDialogTitle: { styleOverrides: { root: {
495
- fontWeight: 600,
496
- fontSize: "1.125rem"
497
- } } },
498
- MuiMenu: { styleOverrides: { paper: ({ theme }) => ({
499
- borderRadius: 8,
500
- boxShadow: theme.shadows[3]
501
- }) } },
502
- MuiMenuItem: { styleOverrides: { root: ({ theme }) => ({
503
- fontSize: "0.875rem",
504
- padding: "0.5rem 0.75rem",
505
- "&:hover": { backgroundColor: theme.palette.mode === "dark" ? colors.neutral[600] : colors.neutral[100] },
506
- "&.Mui-selected": {
507
- backgroundColor: theme.palette.mode === "dark" ? colors.iochmara[900] : colors.iochmara[50],
508
- "&:hover": { backgroundColor: theme.palette.mode === "dark" ? colors.iochmara[800] : colors.iochmara[100] }
509
- }
510
- }) } },
511
- MuiChip: {
512
- variants: [{
513
- props: { size: "xsmall" },
514
- style: {
515
- height: 20,
516
- fontSize: "0.625rem"
517
- }
518
- }, ...chipColorVariants],
519
- styleOverrides: {
520
- root: {
521
- borderRadius: 6,
522
- fontWeight: 500
523
- },
524
- sizeSmall: {
525
- height: 24,
526
- fontSize: "0.75rem"
527
- },
528
- sizeMedium: {
529
- height: 32,
530
- fontSize: "0.875rem"
531
- }
532
- }
533
- },
534
- MuiTooltip: { styleOverrides: {
535
- tooltip: ({ theme }) => ({
536
- backgroundColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[800],
537
- fontSize: "0.75rem",
538
- padding: "0.25rem 0.5rem",
539
- borderRadius: 4
540
- }),
541
- arrow: ({ theme }) => ({ color: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[800] })
542
- } },
543
- MuiAlert: { styleOverrides: {
544
- root: { borderRadius: 6 },
545
- standardSuccess: ({ theme }) => ({
546
- backgroundColor: theme.palette.mode === "dark" ? colors.green[900] : colors.green[50],
547
- color: theme.palette.mode === "dark" ? colors.green[200] : colors.green[800]
548
- }),
549
- standardWarning: ({ theme }) => ({
550
- backgroundColor: theme.palette.mode === "dark" ? colors.amber[900] : colors.amber[50],
551
- color: theme.palette.mode === "dark" ? colors.amber[200] : colors.amber[800]
552
- }),
553
- standardError: ({ theme }) => ({
554
- backgroundColor: theme.palette.mode === "dark" ? colors.red[900] : colors.red[50],
555
- color: theme.palette.mode === "dark" ? colors.red[200] : colors.red[800]
556
- }),
557
- standardInfo: ({ theme }) => ({
558
- backgroundColor: theme.palette.mode === "dark" ? colors.iochmara[900] : colors.iochmara[50],
559
- color: theme.palette.mode === "dark" ? colors.iochmara[200] : colors.iochmara[800]
560
- })
561
- } },
562
- MuiTabs: { styleOverrides: { indicator: { height: 2 } } },
563
- MuiTab: { styleOverrides: { root: {
564
- textTransform: "none",
565
- fontWeight: 500,
566
- minHeight: 48
567
- } } },
568
- MuiAvatar: { styleOverrides: { root: { fontWeight: 500 } } },
569
- MuiBadge: {
570
- variants: badgeColorVariants,
571
- styleOverrides: { badge: {
572
- fontWeight: 500,
573
- fontSize: "0.75rem"
574
- } }
575
- },
576
- MuiCircularProgress: {
577
- defaultProps: { color: "primary" },
578
- variants: progressColorVariants
579
- },
580
- MuiLink: {
581
- defaultProps: {
582
- underline: "hover",
583
- fontWeight: 500
584
- },
585
- styleOverrides: { root: {
586
- color: colors.iochmara[600],
587
- textDecorationColor: colors.iochmara[300],
588
- "&:hover": { color: colors.iochmara[700] }
589
- } }
590
- },
591
- MuiPaper: { styleOverrides: { rounded: { borderRadius: 8 } } },
592
- MuiPopover: { styleOverrides: { paper: ({ theme }) => ({
593
- borderRadius: 8,
594
- boxShadow: theme.shadows[3]
595
- }) } },
596
- MuiDivider: { styleOverrides: { root: ({ theme }) => ({ borderColor: theme.palette.mode === "dark" ? colors.neutral[700] : colors.neutral[200] }) } },
597
- MuiBreadcrumbs: { styleOverrides: { separator: ({ theme }) => ({ color: theme.palette.mode === "dark" ? colors.neutral[500] : colors.neutral[400] }) } }
598
- };
599
- const baseThemeOptions = {
600
- palette: {
601
- primary: {
602
- main: colors.iochmara[500],
603
- light: colors.iochmara[300],
604
- dark: colors.iochmara[600],
605
- contrastText: white
606
- },
607
- secondary: {
608
- main: colors.cyan[500],
609
- light: colors.cyan[400],
610
- dark: colors.cyan[600],
611
- contrastText: white
612
- },
613
- success: {
614
- main: colors.green[500],
615
- light: colors.green[400],
616
- dark: colors.green[600],
617
- contrastText: white
618
- },
619
- warning: {
620
- main: colors.amber[500],
621
- light: colors.amber[400],
622
- dark: colors.amber[600],
623
- contrastText: white
624
- },
625
- error: {
626
- main: colors.red[500],
627
- light: colors.red[400],
628
- dark: colors.red[600],
629
- contrastText: white
630
- },
631
- grey: {
632
- 50: colors.neutral[50],
633
- 100: colors.neutral[100],
634
- 200: colors.neutral[200],
635
- 300: colors.neutral[300],
636
- 400: colors.neutral[400],
637
- 500: colors.neutral[500],
638
- 600: colors.neutral[600],
639
- 700: colors.neutral[700],
640
- 800: colors.neutral[800],
641
- 900: colors.neutral[900]
642
- }
643
- },
644
- typography: {
645
- fontFamily: "ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
646
- fontWeightLight: 300,
647
- fontWeightRegular: 400,
648
- fontWeightMedium: 500,
649
- fontWeightBold: 700,
650
- h1: {
651
- fontWeight: 700,
652
- fontSize: "2.25rem",
653
- lineHeight: 1.2
654
- },
655
- h2: {
656
- fontWeight: 700,
657
- fontSize: "1.875rem",
658
- lineHeight: 1.2
659
- },
660
- h3: {
661
- fontWeight: 600,
662
- fontSize: "1.5rem",
663
- lineHeight: 1.3
664
- },
665
- h4: {
666
- fontWeight: 600,
667
- fontSize: "1.25rem",
668
- lineHeight: 1.4
669
- },
670
- h5: {
671
- fontWeight: 600,
672
- fontSize: "1.125rem",
673
- lineHeight: 1.4
674
- },
675
- h6: {
676
- fontWeight: 600,
677
- fontSize: "1rem",
678
- lineHeight: 1.5
679
- },
680
- body1: {
681
- fontSize: "0.875rem",
682
- lineHeight: 1.5
683
- },
684
- body2: {
685
- fontSize: "0.75rem",
686
- lineHeight: 1.5
687
- },
688
- button: {
689
- textTransform: "none",
690
- fontWeight: 500
691
- }
692
- },
693
- shape: { borderRadius: 6 },
694
- spacing: 4,
695
- components: componentOverrides
696
- };
697
- const lightThemeOptions = {
698
- ...baseThemeOptions,
699
- palette: {
700
- ...baseThemeOptions.palette,
701
- mode: "light",
702
- background: {
703
- default: white,
704
- paper: white
705
- },
706
- text: {
707
- primary: colors.neutral[900],
708
- secondary: colors.neutral[600]
709
- }
710
- }
711
- };
712
- const darkThemeOptions = {
713
- ...baseThemeOptions,
714
- palette: {
715
- ...baseThemeOptions.palette,
716
- mode: "dark",
717
- background: {
718
- default: colors.neutral[900],
719
- paper: colors.neutral[800]
720
- },
721
- text: {
722
- primary: colors.neutral[50],
723
- secondary: colors.neutral[400]
724
- }
725
- }
726
- };
727
- const lightTheme = (0, _mui_material_styles.createTheme)(lightThemeOptions);
728
- const darkTheme = (0, _mui_material_styles.createTheme)(darkThemeOptions);
729
- function createPaletteColor(colorScale) {
730
- return {
731
- main: colorScale[500],
732
- light: colorScale[300],
733
- dark: colorScale[600],
734
- contrastText: white
735
- };
736
- }
737
- const customPaletteAdditions = {
738
- brand: createPaletteColor(colors.brand),
739
- iochmara: {
740
- main: colors.iochmara[500],
741
- light: colors.iochmara[50],
742
- dark: colors.iochmara[700],
743
- contrastText: white
744
- },
745
- cyan: createPaletteColor(colors.cyan),
746
- amber: createPaletteColor(colors.amber),
747
- green: createPaletteColor(colors.green),
748
- red: createPaletteColor(colors.red),
749
- rose: createPaletteColor(colors.rose),
750
- fuchsia: createPaletteColor(colors.fuchsia),
751
- neutral: {
752
- main: colors.neutral[500],
753
- light: colors.neutral[300],
754
- dark: colors.neutral[600],
755
- contrastText: white
756
- },
757
- envBase: semanticColors.envBase,
758
- envCurrent: semanticColors.envCurrent
759
- };
760
- Object.assign(lightTheme.palette, customPaletteAdditions);
761
- Object.assign(darkTheme.palette, customPaletteAdditions);
762
- /**
763
- * Semantic variant mappings from Chakra-style tokens to scale values
764
- * These map semantic names to numeric scale values in the color palette
765
- */
766
- const semanticVariantMap = {
767
- solid: 600,
768
- subtle: 50,
769
- muted: 200,
770
- emphasized: 500,
771
- focusRing: 400,
772
- light: 300
773
- };
774
- /**
775
- * Color aliases - map Chakra color names to our color palette
776
- */
777
- const colorAliases = {
778
- orange: "amber",
779
- gray: "neutral"
780
- };
781
- /**
782
- * Token lookup function to mimic Chakra UI's token API
783
- * Usage: token("colors.green.solid") => "#16A34A"
784
- */
785
- function token(path$2) {
786
- const parts = path$2.split(".");
787
- if (parts[0] === "colors" && parts.length >= 3) {
788
- let colorName = parts[1];
789
- const variant = parts[2];
790
- if (colorName in colorAliases) colorName = colorAliases[colorName];
791
- if (colorName === "white") return white;
792
- if (colorName === "black") return black;
793
- if (colorName in semanticColors) {
794
- const semantic = semanticColors[colorName];
795
- if (typeof semantic === "object" && variant in semantic) return semantic[variant];
796
- }
797
- if (colorName in colors) {
798
- const color = colors[colorName];
799
- if (typeof color === "object" && variant in color) return color[variant];
800
- if (variant in semanticVariantMap) {
801
- const scaleValue = semanticVariantMap[variant];
802
- if (typeof color === "object" && scaleValue in color) return color[scaleValue];
803
- }
804
- }
805
- }
806
- }
807
-
808
- //#endregion
809
120
  //#region recce-source/js/src/components/ui/toaster.tsx
810
121
  const ToasterContext = (0, react.createContext)(null);
811
122
  let toastIdCounter = 0;
@@ -1477,8 +788,8 @@ const RunToolbar = ({ warnings, children }) => {
1477
788
  gap: "5px",
1478
789
  alignItems: "center",
1479
790
  px: "10px",
1480
- bgcolor: hasWarnings ? isDark ? colors.amber[900] : colors.amber[100] : "inherit",
1481
- color: hasWarnings ? isDark ? colors.amber[200] : colors.amber[800] : "inherit"
791
+ bgcolor: hasWarnings ? isDark ? require_mui_theme.colors.amber[900] : require_mui_theme.colors.amber[100] : "inherit",
792
+ color: hasWarnings ? isDark ? require_mui_theme.colors.amber[200] : require_mui_theme.colors.amber[800] : "inherit"
1482
793
  },
1483
794
  children: [
1484
795
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mui_material_Box.default, {
@@ -1489,7 +800,7 @@ const RunToolbar = ({ warnings, children }) => {
1489
800
  gap: 0
1490
801
  },
1491
802
  children: warnings?.map((warning) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Box.default, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_icons_pi.PiWarning, {
1492
- color: isDark ? colors.amber[400] : colors.amber[600],
803
+ color: isDark ? require_mui_theme.colors.amber[400] : require_mui_theme.colors.amber[600],
1493
804
  style: {
1494
805
  verticalAlign: "middle",
1495
806
  marginRight: 4
@@ -1905,7 +1216,7 @@ async function getRecceInstanceInfo(client = axiosClient) {
1905
1216
 
1906
1217
  //#endregion
1907
1218
  //#region recce-source/js/src/lib/hooks/ApiConfigContext.tsx
1908
- const defaultConfig = {
1219
+ const defaultConfig$1 = {
1909
1220
  apiPrefix: "",
1910
1221
  authToken: void 0,
1911
1222
  baseUrl: void 0
@@ -1938,7 +1249,7 @@ function createApiClient(config) {
1938
1249
  });
1939
1250
  return client;
1940
1251
  }
1941
- function ApiConfigProvider({ children, apiPrefix = defaultConfig.apiPrefix, authToken = defaultConfig.authToken, baseUrl = defaultConfig.baseUrl }) {
1252
+ function ApiConfigProvider({ children, apiPrefix = defaultConfig$1.apiPrefix, authToken = defaultConfig$1.authToken, baseUrl = defaultConfig$1.baseUrl }) {
1942
1253
  const config = (0, react.useMemo)(() => ({
1943
1254
  apiPrefix,
1944
1255
  authToken,
@@ -4078,8 +3389,8 @@ function useClipBoardToast() {
4078
3389
  //#region recce-source/js/src/components/query/DiffText.tsx
4079
3390
  const DiffText = ({ value, colorPalette, grayOut, noCopy, fontSize }) => {
4080
3391
  const [isHovered, setIsHovered] = (0, react.useState)(false);
4081
- const textColor = colors[colorPalette][800];
4082
- const bgColor = colors[colorPalette][100];
3392
+ const textColor = require_mui_theme.colors[colorPalette][800];
3393
+ const bgColor = require_mui_theme.colors[colorPalette][100];
4083
3394
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mui_material_Box.default, {
4084
3395
  sx: {
4085
3396
  display: "flex",
@@ -5542,21 +4853,76 @@ const RunModal = ({ isOpen, onClose, onExecute, type, title, params: defaultPara
5542
4853
  };
5543
4854
 
5544
4855
  //#endregion
5545
- //#region recce-source/js/src/lib/hooks/useAppRouter.ts
4856
+ //#region src/lib/hooks/RouteConfigContext.ts
4857
+ const defaultConfig = { basePath: "" };
4858
+ const RouteConfigContext = (0, react.createContext)(null);
5546
4859
  /**
5547
- * useAppRouter - Navigation utilities for Next.js App Router
4860
+ * Provider for route configuration.
5548
4861
  *
5549
- * Provides a similar API to Wouter's useLocation for easier migration.
5550
- * This hook combines Next.js's useRouter, usePathname, useParams,
5551
- * and useSearchParams into a unified interface.
4862
+ * Wrap your application (or RecceContextProvider) with this provider
4863
+ * to configure path prefixes for navigation.
5552
4864
  *
5553
- * IMPORTANT: useSearchParams() triggers Suspense boundaries in Next.js.
5554
- * To avoid full-page loading states, useAppLocation() only returns the
5555
- * pathname by default. Use useAppLocationWithSearch() if you need
5556
- * search params included in the location string.
4865
+ * @example
4866
+ * // In recce-cloud
4867
+ * <RouteConfigProvider basePath={`/oss/${sessionId}`}>
4868
+ * <RecceContextProvider>
4869
+ * {children}
4870
+ * </RecceContextProvider>
4871
+ * </RouteConfigProvider>
4872
+ */
4873
+ function RouteConfigProvider({ children, basePath = defaultConfig.basePath }) {
4874
+ const resolvePath = (0, react.useCallback)((path$2) => {
4875
+ if (!basePath) return path$2;
4876
+ if (path$2.startsWith(basePath)) return path$2;
4877
+ if (path$2.match(/^https?:\/\//)) return path$2;
4878
+ if (path$2.startsWith("#")) return path$2;
4879
+ return `${basePath.endsWith("/") ? basePath.slice(0, -1) : basePath}${path$2.startsWith("/") ? path$2 : `/${path$2}`}`;
4880
+ }, [basePath]);
4881
+ const contextValue = (0, react.useMemo)(() => ({
4882
+ basePath,
4883
+ resolvePath
4884
+ }), [basePath, resolvePath]);
4885
+ return react.default.createElement(RouteConfigContext.Provider, { value: contextValue }, children);
4886
+ }
4887
+ const defaultRouteConfigContext = {
4888
+ basePath: "",
4889
+ resolvePath: (path$2) => path$2
4890
+ };
4891
+ /**
4892
+ * Hook to access route configuration.
4893
+ *
4894
+ * When used outside RouteConfigProvider, returns default config
4895
+ * (for OSS backward compatibility).
4896
+ *
4897
+ * @returns RouteConfigContextType with basePath and resolvePath function
4898
+ */
4899
+ function useRouteConfig() {
4900
+ return (0, react.useContext)(RouteConfigContext) ?? defaultRouteConfigContext;
4901
+ }
4902
+ /**
4903
+ * Safe hook that returns null if context not available.
4904
+ * Useful for components that need to detect if RouteConfigProvider is present.
4905
+ */
4906
+ function useRouteConfigSafe() {
4907
+ return (0, react.useContext)(RouteConfigContext);
4908
+ }
4909
+
4910
+ //#endregion
4911
+ //#region src/lib/hooks/useAppRouter.ts
4912
+ /**
4913
+ * useAppRouter - Navigation utilities for Next.js App Router with RouteConfig support
4914
+ *
4915
+ * This is a custom version that wraps the OSS useAppRouter to add
4916
+ * RouteConfigContext support for path prefixing in recce-cloud.
4917
+ *
4918
+ * The key difference from OSS:
4919
+ * - setLocation() automatically prefixes paths with the configured basePath
4920
+ * - This allows OSS components to use setLocation("/query") while
4921
+ * recce-cloud can configure basePath="/oss/abc123" to get "/oss/abc123/query"
5557
4922
  */
5558
4923
  /**
5559
4924
  * Hook that provides Wouter-compatible location API using Next.js App Router
4925
+ * with RouteConfigContext support for path prefixing.
5560
4926
  *
5561
4927
  * NOTE: This returns only the pathname (not search params) to avoid
5562
4928
  * triggering Suspense boundaries on every navigation.
@@ -5565,15 +4931,123 @@ const RunModal = ({ isOpen, onClose, onExecute, type, title, params: defaultPara
5565
4931
  *
5566
4932
  * @example
5567
4933
  * const [location, setLocation] = useAppLocation();
5568
- * setLocation("/checks?id=123"); // Navigate to new path with query
5569
- * setLocation("/checks", { replace: true }); // Replace current history entry
4934
+ * setLocation("/checks?id=123"); // In cloud mode with basePath="/oss/abc123"
4935
+ * // navigates to "/oss/abc123/checks?id=123"
5570
4936
  */
5571
4937
  function useAppLocation() {
5572
4938
  const router = (0, next_navigation.useRouter)();
5573
- return [(0, next_navigation.usePathname)(), (0, react.useCallback)((to, options) => {
5574
- if (options?.replace) router.replace(to, { scroll: options?.scroll ?? true });
5575
- else router.push(to, { scroll: options?.scroll ?? true });
5576
- }, [router])];
4939
+ const pathname = (0, next_navigation.usePathname)();
4940
+ const { resolvePath } = useRouteConfig();
4941
+ return [pathname, (0, react.useCallback)((to, options) => {
4942
+ const [pathPart, queryPart] = to.split("?");
4943
+ const resolvedPath = resolvePath(pathPart);
4944
+ const fullPath = queryPart ? `${resolvedPath}?${queryPart}` : resolvedPath;
4945
+ if (options?.replace) router.replace(fullPath, { scroll: options?.scroll ?? true });
4946
+ else router.push(fullPath, { scroll: options?.scroll ?? true });
4947
+ }, [router, resolvePath])];
4948
+ }
4949
+ /**
4950
+ * Hook that includes search params in the location string.
4951
+ * Also supports RouteConfigContext path prefixing.
4952
+ *
4953
+ * WARNING: This hook uses useSearchParams() which triggers Suspense.
4954
+ * Only use this in components that are wrapped in a <Suspense> boundary,
4955
+ * or in leaf components where suspension is acceptable.
4956
+ *
4957
+ * @returns [fullLocation, setLocation] tuple with search params included
4958
+ */
4959
+ function useAppLocationWithSearch() {
4960
+ const router = (0, next_navigation.useRouter)();
4961
+ const pathname = (0, next_navigation.usePathname)();
4962
+ const searchParams = (0, next_navigation.useSearchParams)();
4963
+ const { resolvePath } = useRouteConfig();
4964
+ return [(0, react.useMemo)(() => {
4965
+ const search = searchParams?.toString();
4966
+ return search ? `${pathname}?${search}` : pathname;
4967
+ }, [pathname, searchParams]), (0, react.useCallback)((to, options) => {
4968
+ const [pathPart, queryPart] = to.split("?");
4969
+ const resolvedPath = resolvePath(pathPart);
4970
+ const fullPath = queryPart ? `${resolvedPath}?${queryPart}` : resolvedPath;
4971
+ if (options?.replace) router.replace(fullPath, { scroll: options?.scroll ?? true });
4972
+ else router.push(fullPath, { scroll: options?.scroll ?? true });
4973
+ }, [router, resolvePath])];
4974
+ }
4975
+ /**
4976
+ * Hook to check if current path matches a pattern
4977
+ * Similar to Wouter's useRoute
4978
+ *
4979
+ * @param pattern - The route pattern to match (e.g., "/checks/:checkId")
4980
+ * @returns [isMatch, params] tuple
4981
+ *
4982
+ * @example
4983
+ * const [isMatch, params] = useAppRoute("/checks/:checkId");
4984
+ * if (isMatch) {
4985
+ * console.log(params.checkId); // "abc-123"
4986
+ * }
4987
+ */
4988
+ function useAppRoute(pattern) {
4989
+ const pathname = (0, next_navigation.usePathname)();
4990
+ const params = (0, next_navigation.useParams)();
4991
+ return [(0, react.useMemo)(() => {
4992
+ const regexPattern = pattern.replace(/:\w+/g, "([^/]+)").replace(/\*/g, ".*");
4993
+ return (/* @__PURE__ */ new RegExp(`^${regexPattern}$`)).test(pathname);
4994
+ }, [pattern, pathname]), (0, react.useMemo)(() => {
4995
+ if (!params) return {};
4996
+ return Object.fromEntries(Object.entries(params).map(([key, value]) => [key, Array.isArray(value) ? value.join("/") : value]));
4997
+ }, [params])];
4998
+ }
4999
+ /**
5000
+ * Imperative navigation function for use outside React components
5001
+ * Use sparingly - prefer useAppLocation hook in components
5002
+ *
5003
+ * NOTE: This function does NOT support RouteConfigContext because
5004
+ * it's used outside of React component tree. If you need path prefixing,
5005
+ * use useAppLocation hook instead.
5006
+ *
5007
+ * @example
5008
+ * // In an event handler or utility function
5009
+ * import { navigateTo } from "@/lib/hooks/useAppRouter";
5010
+ * navigateTo("/checks?id=123");
5011
+ */
5012
+ function navigateTo(path$2, replace = false) {
5013
+ if (typeof window !== "undefined") {
5014
+ if (replace) window.history.replaceState(null, "", path$2);
5015
+ else window.history.pushState(null, "", path$2);
5016
+ window.dispatchEvent(new PopStateEvent("popstate"));
5017
+ }
5018
+ }
5019
+ /**
5020
+ * Hook for programmatic navigation with more options
5021
+ * Provides direct access to Next.js router methods with RouteConfigContext support
5022
+ *
5023
+ * NOTE: Does not include searchParams to avoid Suspense.
5024
+ * Use useSearchParams() directly in components that need it.
5025
+ */
5026
+ function useAppNavigation() {
5027
+ const router = (0, next_navigation.useRouter)();
5028
+ const pathname = (0, next_navigation.usePathname)();
5029
+ const params = (0, next_navigation.useParams)();
5030
+ const { resolvePath } = useRouteConfig();
5031
+ return {
5032
+ pathname,
5033
+ params,
5034
+ push: (0, react.useCallback)((href, options) => {
5035
+ const [pathPart, queryPart] = href.split("?");
5036
+ const resolvedPath = resolvePath(pathPart);
5037
+ const fullPath = queryPart ? `${resolvedPath}?${queryPart}` : resolvedPath;
5038
+ router.push(fullPath, options);
5039
+ }, [router, resolvePath]),
5040
+ replace: (0, react.useCallback)((href, options) => {
5041
+ const [pathPart, queryPart] = href.split("?");
5042
+ const resolvedPath = resolvePath(pathPart);
5043
+ const fullPath = queryPart ? `${resolvedPath}?${queryPart}` : resolvedPath;
5044
+ router.replace(fullPath, options);
5045
+ }, [router, resolvePath]),
5046
+ back: router.back,
5047
+ forward: router.forward,
5048
+ refresh: router.refresh,
5049
+ prefetch: router.prefetch
5050
+ };
5577
5051
  }
5578
5052
 
5579
5053
  //#endregion
@@ -7182,13 +6656,13 @@ const PrivateQueryResultView = ({ run, viewOptions, onViewOptionsChanged, onAddT
7182
6656
  alignItems: "center",
7183
6657
  gap: "5px",
7184
6658
  px: "10px",
7185
- bgcolor: warning ? isDark ? colors.amber[900] : colors.amber[100] : "inherit",
7186
- color: warning ? isDark ? colors.amber[200] : colors.amber[800] : "inherit"
6659
+ bgcolor: warning ? isDark ? require_mui_theme.colors.amber[900] : require_mui_theme.colors.amber[100] : "inherit",
6660
+ color: warning ? isDark ? require_mui_theme.colors.amber[200] : require_mui_theme.colors.amber[800] : "inherit"
7187
6661
  },
7188
6662
  children: [
7189
6663
  warning && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
7190
6664
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_icons_pi.PiWarning, {
7191
- color: isDark ? colors.amber[400] : colors.amber[600],
6665
+ color: isDark ? require_mui_theme.colors.amber[400] : require_mui_theme.colors.amber[600],
7192
6666
  style: { alignSelf: "center" }
7193
6667
  }),
7194
6668
  " ",
@@ -7892,45 +7366,45 @@ function ValueDiffForm({ params, onParamsChanged, setIsReadyToExecute }) {
7892
7366
  control: (base) => ({
7893
7367
  ...base,
7894
7368
  minHeight: "40px",
7895
- backgroundColor: isDark ? colors.neutral[700] : base.backgroundColor,
7896
- borderColor: isDark ? colors.neutral[600] : base.borderColor
7369
+ backgroundColor: isDark ? require_mui_theme.colors.neutral[700] : base.backgroundColor,
7370
+ borderColor: isDark ? require_mui_theme.colors.neutral[600] : base.borderColor
7897
7371
  }),
7898
7372
  menu: (base) => ({
7899
7373
  ...base,
7900
- backgroundColor: isDark ? colors.neutral[700] : base.backgroundColor
7374
+ backgroundColor: isDark ? require_mui_theme.colors.neutral[700] : base.backgroundColor
7901
7375
  }),
7902
7376
  option: (base, state) => ({
7903
7377
  ...base,
7904
- backgroundColor: state.isSelected ? isDark ? colors.neutral[600] : colors.iochmara[500] : state.isFocused ? isDark ? colors.neutral[600] : colors.iochmara[50] : isDark ? colors.neutral[700] : base.backgroundColor,
7905
- color: isDark ? colors.neutral[200] : base.color
7378
+ backgroundColor: state.isSelected ? isDark ? require_mui_theme.colors.neutral[600] : require_mui_theme.colors.iochmara[500] : state.isFocused ? isDark ? require_mui_theme.colors.neutral[600] : require_mui_theme.colors.iochmara[50] : isDark ? require_mui_theme.colors.neutral[700] : base.backgroundColor,
7379
+ color: isDark ? require_mui_theme.colors.neutral[200] : base.color
7906
7380
  }),
7907
7381
  multiValue: (base) => ({
7908
7382
  ...base,
7909
- backgroundColor: isDark ? colors.neutral[600] : base.backgroundColor
7383
+ backgroundColor: isDark ? require_mui_theme.colors.neutral[600] : base.backgroundColor
7910
7384
  }),
7911
7385
  multiValueLabel: (base) => ({
7912
7386
  ...base,
7913
- color: isDark ? colors.neutral[200] : base.color
7387
+ color: isDark ? require_mui_theme.colors.neutral[200] : base.color
7914
7388
  }),
7915
7389
  multiValueRemove: (base) => ({
7916
7390
  ...base,
7917
- color: isDark ? colors.neutral[400] : base.color,
7391
+ color: isDark ? require_mui_theme.colors.neutral[400] : base.color,
7918
7392
  "&:hover": {
7919
- backgroundColor: isDark ? colors.neutral[500] : colors.red[200],
7920
- color: isDark ? colors.neutral[200] : colors.red[600]
7393
+ backgroundColor: isDark ? require_mui_theme.colors.neutral[500] : require_mui_theme.colors.red[200],
7394
+ color: isDark ? require_mui_theme.colors.neutral[200] : require_mui_theme.colors.red[600]
7921
7395
  }
7922
7396
  }),
7923
7397
  input: (base) => ({
7924
7398
  ...base,
7925
- color: isDark ? colors.neutral[200] : base.color
7399
+ color: isDark ? require_mui_theme.colors.neutral[200] : base.color
7926
7400
  }),
7927
7401
  singleValue: (base) => ({
7928
7402
  ...base,
7929
- color: isDark ? colors.neutral[200] : base.color
7403
+ color: isDark ? require_mui_theme.colors.neutral[200] : base.color
7930
7404
  }),
7931
7405
  placeholder: (base) => ({
7932
7406
  ...base,
7933
- color: isDark ? colors.neutral[400] : base.color
7407
+ color: isDark ? require_mui_theme.colors.neutral[400] : base.color
7934
7408
  })
7935
7409
  }), [isDark]);
7936
7410
  const { columns, primaryKey: nodePrimaryKey, isLoading, error } = useModelColumns_default(params.model);
@@ -8457,6 +7931,12 @@ Object.defineProperty(exports, 'RecceInstanceInfoProvider', {
8457
7931
  return RecceInstanceInfoProvider;
8458
7932
  }
8459
7933
  });
7934
+ Object.defineProperty(exports, 'RouteConfigProvider', {
7935
+ enumerable: true,
7936
+ get: function () {
7937
+ return RouteConfigProvider;
7938
+ }
7939
+ });
8460
7940
  Object.defineProperty(exports, 'RowCountDiffResultView', {
8461
7941
  enumerable: true,
8462
7942
  get: function () {
@@ -8577,12 +8057,6 @@ Object.defineProperty(exports, 'cancelRun', {
8577
8057
  return cancelRun;
8578
8058
  }
8579
8059
  });
8580
- Object.defineProperty(exports, 'colors', {
8581
- enumerable: true,
8582
- get: function () {
8583
- return colors;
8584
- }
8585
- });
8586
8060
  Object.defineProperty(exports, 'createCheckByRun', {
8587
8061
  enumerable: true,
8588
8062
  get: function () {
@@ -8607,12 +8081,6 @@ Object.defineProperty(exports, 'createSimpleCheck', {
8607
8081
  return createSimpleCheck;
8608
8082
  }
8609
8083
  });
8610
- Object.defineProperty(exports, 'darkTheme', {
8611
- enumerable: true,
8612
- get: function () {
8613
- return darkTheme;
8614
- }
8615
- });
8616
8084
  Object.defineProperty(exports, 'deleteCheck', {
8617
8085
  enumerable: true,
8618
8086
  get: function () {
@@ -8793,12 +8261,6 @@ Object.defineProperty(exports, 'layout', {
8793
8261
  return layout;
8794
8262
  }
8795
8263
  });
8796
- Object.defineProperty(exports, 'lightTheme', {
8797
- enumerable: true,
8798
- get: function () {
8799
- return lightTheme;
8800
- }
8801
- });
8802
8264
  Object.defineProperty(exports, 'listChecks', {
8803
8265
  enumerable: true,
8804
8266
  get: function () {
@@ -8841,6 +8303,12 @@ Object.defineProperty(exports, 'mergeKeysWithStatus', {
8841
8303
  return mergeKeysWithStatus;
8842
8304
  }
8843
8305
  });
8306
+ Object.defineProperty(exports, 'navigateTo', {
8307
+ enumerable: true,
8308
+ get: function () {
8309
+ return navigateTo;
8310
+ }
8311
+ });
8844
8312
  Object.defineProperty(exports, 'queryModelRowCount', {
8845
8313
  enumerable: true,
8846
8314
  get: function () {
@@ -8985,12 +8453,6 @@ Object.defineProperty(exports, 'toaster', {
8985
8453
  return toaster;
8986
8454
  }
8987
8455
  });
8988
- Object.defineProperty(exports, 'token', {
8989
- enumerable: true,
8990
- get: function () {
8991
- return token;
8992
- }
8993
- });
8994
8456
  Object.defineProperty(exports, 'trackColumnLevelLineage', {
8995
8457
  enumerable: true,
8996
8458
  get: function () {
@@ -9117,6 +8579,24 @@ Object.defineProperty(exports, 'useAppLocation', {
9117
8579
  return useAppLocation;
9118
8580
  }
9119
8581
  });
8582
+ Object.defineProperty(exports, 'useAppLocationWithSearch', {
8583
+ enumerable: true,
8584
+ get: function () {
8585
+ return useAppLocationWithSearch;
8586
+ }
8587
+ });
8588
+ Object.defineProperty(exports, 'useAppNavigation', {
8589
+ enumerable: true,
8590
+ get: function () {
8591
+ return useAppNavigation;
8592
+ }
8593
+ });
8594
+ Object.defineProperty(exports, 'useAppRoute', {
8595
+ enumerable: true,
8596
+ get: function () {
8597
+ return useAppRoute;
8598
+ }
8599
+ });
9120
8600
  Object.defineProperty(exports, 'useChecks', {
9121
8601
  enumerable: true,
9122
8602
  get: function () {
@@ -9183,6 +8663,18 @@ Object.defineProperty(exports, 'useRecceServerFlag', {
9183
8663
  return useRecceServerFlag;
9184
8664
  }
9185
8665
  });
8666
+ Object.defineProperty(exports, 'useRouteConfig', {
8667
+ enumerable: true,
8668
+ get: function () {
8669
+ return useRouteConfig;
8670
+ }
8671
+ });
8672
+ Object.defineProperty(exports, 'useRouteConfigSafe', {
8673
+ enumerable: true,
8674
+ get: function () {
8675
+ return useRouteConfigSafe;
8676
+ }
8677
+ });
9186
8678
  Object.defineProperty(exports, 'useRunsAggregated', {
9187
8679
  enumerable: true,
9188
8680
  get: function () {
@@ -9201,4 +8693,4 @@ Object.defineProperty(exports, 'waitRun', {
9201
8693
  return waitRun;
9202
8694
  }
9203
8695
  });
9204
- //# sourceMappingURL=state-FkYREAs-.js.map
8696
+ //# sourceMappingURL=state-lPCQsWy5.js.map