listpage-next 0.0.243 → 0.0.245

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.
@@ -59,6 +59,10 @@ function setupClient(HttpClient) {
59
59
  message: error.response.data?.message || error.message,
60
60
  data: error.response.data
61
61
  };
62
+ notification.error({
63
+ message: error.code,
64
+ description: error.message
65
+ });
62
66
  return Promise.reject(apiError);
63
67
  }
64
68
  const networkError = {
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export type StatusTagProps = {
3
+ color?: string;
4
+ dotColor?: string;
5
+ status?: 'success' | 'warning' | 'processing' | 'error' | 'default';
6
+ children?: ReactNode;
7
+ loading?: boolean;
8
+ };
9
+ export declare const StatusTag: (props: StatusTagProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,57 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Loader2 } from "lucide-react";
3
+ const StatusTag = (props)=>{
4
+ const { color, children, loading, status } = props;
5
+ const { dot: dotColor, text: textColor } = getColor(color);
6
+ return /*#__PURE__*/ jsxs("span", {
7
+ className: `inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium border ${textColor || getStatusColor(status)}`,
8
+ children: [
9
+ /*#__PURE__*/ jsx("span", {
10
+ className: `w-1.5 h-1.5 rounded-full ${dotColor || getDotColor(status)} mr-1.5 animate-pulse`
11
+ }),
12
+ loading && /*#__PURE__*/ jsx(Loader2, {
13
+ className: "w-3 h-3 mr-1.5 animate-spin"
14
+ }),
15
+ children
16
+ ]
17
+ });
18
+ };
19
+ const getColor = (color)=>{
20
+ if (!color) return {
21
+ dot: null,
22
+ text: null
23
+ };
24
+ return {
25
+ dot: `bg-${color}-500`,
26
+ text: `text-${color}-400 bg-${color}-400/10 border-${color}-400/20`
27
+ };
28
+ };
29
+ const getStatusColor = (status)=>{
30
+ switch(status){
31
+ case 'success':
32
+ return 'text-green-400 bg-green-400/10 border-green-400/20';
33
+ case 'processing':
34
+ return 'text-blue-400 bg-blue-400/10 border-blue-400/20';
35
+ case 'warning':
36
+ return 'text-yellow-400 bg-yellow-400/10 border-yellow-400/20';
37
+ case 'error':
38
+ return 'text-red-400 bg-red-400/10 border-red-400/20';
39
+ default:
40
+ return 'text-gray-400 bg-gray-400/10 border-gray-400/20';
41
+ }
42
+ };
43
+ const getDotColor = (status)=>{
44
+ switch(status){
45
+ case 'success':
46
+ return 'bg-green-500';
47
+ case 'processing':
48
+ return 'bg-blue-500';
49
+ case 'warning':
50
+ return 'bg-yellow-500';
51
+ case 'error':
52
+ return 'bg-red-500';
53
+ default:
54
+ return 'bg-gray-500';
55
+ }
56
+ };
57
+ export { StatusTag };
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export interface TabsProps {
3
+ defaultActiveTab?: string;
4
+ activeTab?: string;
5
+ onTabChange?: (tab: string) => void;
6
+ tabs: {
7
+ icon?: ReactNode;
8
+ label: ReactNode;
9
+ value: string;
10
+ }[];
11
+ extra?: ReactNode;
12
+ }
13
+ export declare const Tabs: (props: TabsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useControllableValue } from "ahooks";
3
+ const Tabs = (props)=>{
4
+ const { tabs = [], defaultActiveTab, extra } = props;
5
+ const [activeTab, setActiveTab] = useControllableValue(props, {
6
+ defaultValue: defaultActiveTab || tabs[0]?.value || '',
7
+ valuePropName: 'activeTab',
8
+ trigger: 'onTabChange'
9
+ });
10
+ return /*#__PURE__*/ jsxs("div", {
11
+ className: "h-10 bg-gray-900 border-b border-gray-800 flex items-center px-4 space-x-1 select-none shrink-0",
12
+ children: [
13
+ /*#__PURE__*/ jsx("div", {
14
+ className: "flex items-center space-x-1 shrink-0 grow",
15
+ children: tabs.map((tab)=>{
16
+ const { icon, label, value } = tab;
17
+ return /*#__PURE__*/ jsxs("button", {
18
+ onClick: ()=>setActiveTab(value),
19
+ className: `cursor-pointer flex items-center space-x-2 px-4 py-2 text-xs font-medium border-b-2 transition-colors ${activeTab === value ? 'border-indigo-500 text-white bg-gray-800/50' : 'border-transparent text-gray-500 hover:text-gray-300 hover:bg-gray-800/30'}`,
20
+ children: [
21
+ icon,
22
+ /*#__PURE__*/ jsx("span", {
23
+ children: label
24
+ })
25
+ ]
26
+ }, value);
27
+ })
28
+ }),
29
+ /*#__PURE__*/ jsx("div", {
30
+ className: "flex shrink-0",
31
+ children: extra
32
+ })
33
+ ]
34
+ });
35
+ };
36
+ export { Tabs };
@@ -1,3 +1,5 @@
1
1
  export { PromptEditor, type PromptEditorProps } from './PromptEditor';
2
2
  export { Button, type ButtonProps } from './Button';
3
3
  export { LogPreview, type LogPreviewProps, type LogEntry } from './LogPreview';
4
+ export { StatusTag, type StatusTagProps } from './StatusTag';
5
+ export { Tabs, type TabsProps } from './Tabs';
package/dist/ui/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  import { PromptEditor } from "./PromptEditor/index.js";
2
2
  import { Button } from "./Button/index.js";
3
3
  import { LogPreview } from "./LogPreview/index.js";
4
- export { Button, LogPreview, PromptEditor };
4
+ import { StatusTag } from "./StatusTag/index.js";
5
+ import { Tabs } from "./Tabs/index.js";
6
+ export { Button, LogPreview, PromptEditor, StatusTag, Tabs };
package/dist/ui.css CHANGED
@@ -7,20 +7,59 @@
7
7
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
8
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
9
  "Courier New", monospace;
10
+ --color-red-400: oklch(70.4% 0.191 22.216);
10
11
  --color-red-500: oklch(63.7% 0.237 25.331);
12
+ --color-orange-400: oklch(75% 0.183 55.934);
13
+ --color-orange-500: oklch(70.5% 0.213 47.604);
14
+ --color-amber-400: oklch(82.8% 0.189 84.429);
15
+ --color-amber-500: oklch(76.9% 0.188 70.08);
16
+ --color-yellow-400: oklch(85.2% 0.199 91.936);
11
17
  --color-yellow-500: oklch(79.5% 0.184 86.047);
18
+ --color-lime-400: oklch(84.1% 0.238 128.85);
19
+ --color-lime-500: oklch(76.8% 0.233 130.85);
20
+ --color-green-400: oklch(79.2% 0.209 151.711);
12
21
  --color-green-500: oklch(72.3% 0.219 149.579);
22
+ --color-emerald-400: oklch(76.5% 0.177 163.223);
23
+ --color-emerald-500: oklch(69.6% 0.17 162.48);
24
+ --color-teal-400: oklch(77.7% 0.152 181.912);
25
+ --color-teal-500: oklch(70.4% 0.14 182.503);
26
+ --color-cyan-400: oklch(78.9% 0.154 211.53);
27
+ --color-cyan-500: oklch(71.5% 0.143 215.221);
28
+ --color-sky-400: oklch(74.6% 0.16 232.661);
29
+ --color-sky-500: oklch(68.5% 0.169 237.323);
30
+ --color-blue-400: oklch(70.7% 0.165 254.624);
13
31
  --color-blue-500: oklch(62.3% 0.214 259.815);
14
32
  --color-blue-600: oklch(54.6% 0.245 262.881);
15
33
  --color-blue-900: oklch(37.9% 0.146 265.522);
34
+ --color-indigo-400: oklch(67.3% 0.182 276.935);
35
+ --color-indigo-500: oklch(58.5% 0.233 277.117);
36
+ --color-violet-400: oklch(70.2% 0.183 293.541);
37
+ --color-violet-500: oklch(60.6% 0.25 292.717);
38
+ --color-purple-400: oklch(71.4% 0.203 305.504);
39
+ --color-purple-500: oklch(62.7% 0.265 303.9);
40
+ --color-fuchsia-400: oklch(74% 0.238 322.16);
41
+ --color-fuchsia-500: oklch(66.7% 0.295 322.15);
42
+ --color-pink-400: oklch(71.8% 0.202 349.761);
43
+ --color-pink-500: oklch(65.6% 0.241 354.308);
44
+ --color-rose-400: oklch(71.2% 0.194 13.428);
45
+ --color-rose-500: oklch(64.5% 0.246 16.439);
16
46
  --color-slate-300: oklch(86.9% 0.022 252.894);
47
+ --color-slate-400: oklch(70.4% 0.04 256.788);
48
+ --color-slate-500: oklch(55.4% 0.046 257.417);
17
49
  --color-gray-300: oklch(87.2% 0.01 258.338);
50
+ --color-gray-400: oklch(70.7% 0.022 261.325);
18
51
  --color-gray-500: oklch(55.1% 0.027 264.364);
19
52
  --color-gray-600: oklch(44.6% 0.03 256.802);
20
53
  --color-gray-700: oklch(37.3% 0.034 259.733);
21
54
  --color-gray-800: oklch(27.8% 0.033 256.848);
22
55
  --color-gray-900: oklch(21% 0.034 264.665);
23
56
  --color-gray-950: oklch(13% 0.028 261.692);
57
+ --color-zinc-400: oklch(70.5% 0.015 286.067);
58
+ --color-zinc-500: oklch(55.2% 0.016 285.938);
59
+ --color-neutral-400: oklch(70.8% 0 0);
60
+ --color-neutral-500: oklch(55.6% 0 0);
61
+ --color-stone-400: oklch(70.9% 0.01 56.259);
62
+ --color-stone-500: oklch(55.3% 0.013 58.071);
24
63
  --color-white: #fff;
25
64
  --spacing: 0.25rem;
26
65
  --text-xs: 0.75rem;
@@ -31,6 +70,7 @@
31
70
  --font-weight-bold: 700;
32
71
  --radius-lg: 0.5rem;
33
72
  --animate-spin: spin 1s linear infinite;
73
+ --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
34
74
  --default-transition-duration: 150ms;
35
75
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
36
76
  --default-font-family: var(--font-sans);
@@ -213,6 +253,9 @@
213
253
  max-width: 96rem;
214
254
  }
215
255
  }
256
+ .mr-1\.5 {
257
+ margin-right: calc(var(--spacing) * 1.5);
258
+ }
216
259
  .mb-1 {
217
260
  margin-bottom: calc(var(--spacing) * 1);
218
261
  }
@@ -231,9 +274,24 @@
231
274
  .table {
232
275
  display: table;
233
276
  }
277
+ .h-1\.5 {
278
+ height: calc(var(--spacing) * 1.5);
279
+ }
280
+ .h-3 {
281
+ height: calc(var(--spacing) * 3);
282
+ }
283
+ .h-10 {
284
+ height: calc(var(--spacing) * 10);
285
+ }
234
286
  .h-full {
235
287
  height: 100%;
236
288
  }
289
+ .w-1\.5 {
290
+ width: calc(var(--spacing) * 1.5);
291
+ }
292
+ .w-3 {
293
+ width: calc(var(--spacing) * 3);
294
+ }
237
295
  .w-12 {
238
296
  width: calc(var(--spacing) * 12);
239
297
  }
@@ -249,12 +307,18 @@
249
307
  .flex-grow {
250
308
  flex-grow: 1;
251
309
  }
310
+ .grow {
311
+ flex-grow: 1;
312
+ }
252
313
  .border-collapse {
253
314
  border-collapse: collapse;
254
315
  }
255
316
  .transform {
256
317
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
257
318
  }
319
+ .animate-pulse {
320
+ animation: var(--animate-pulse);
321
+ }
258
322
  .animate-spin {
259
323
  animation: var(--animate-spin);
260
324
  }
@@ -276,6 +340,20 @@
276
340
  .gap-3 {
277
341
  gap: calc(var(--spacing) * 3);
278
342
  }
343
+ .space-x-1 {
344
+ :where(& > :not(:last-child)) {
345
+ --tw-space-x-reverse: 0;
346
+ margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
347
+ margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
348
+ }
349
+ }
350
+ .space-x-2 {
351
+ :where(& > :not(:last-child)) {
352
+ --tw-space-x-reverse: 0;
353
+ margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
354
+ margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
355
+ }
356
+ }
279
357
  .overflow-auto {
280
358
  overflow: auto;
281
359
  }
@@ -288,6 +366,9 @@
288
366
  .rounded {
289
367
  border-radius: 0.25rem;
290
368
  }
369
+ .rounded-full {
370
+ border-radius: calc(infinity * 1px);
371
+ }
291
372
  .rounded-lg {
292
373
  border-radius: var(--radius-lg);
293
374
  }
@@ -295,27 +376,383 @@
295
376
  border-style: var(--tw-border-style);
296
377
  border-width: 1px;
297
378
  }
379
+ .border-b {
380
+ border-bottom-style: var(--tw-border-style);
381
+ border-bottom-width: 1px;
382
+ }
383
+ .border-b-2 {
384
+ border-bottom-style: var(--tw-border-style);
385
+ border-bottom-width: 2px;
386
+ }
387
+ .border-amber-400\/20 {
388
+ border-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 20%, transparent);
389
+ @supports (color: color-mix(in lab, red, red)) {
390
+ border-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);
391
+ }
392
+ }
393
+ .border-blue-400\/20 {
394
+ border-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 20%, transparent);
395
+ @supports (color: color-mix(in lab, red, red)) {
396
+ border-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent);
397
+ }
398
+ }
399
+ .border-cyan-400\/20 {
400
+ border-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 20%, transparent);
401
+ @supports (color: color-mix(in lab, red, red)) {
402
+ border-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
403
+ }
404
+ }
405
+ .border-emerald-400\/20 {
406
+ border-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 20%, transparent);
407
+ @supports (color: color-mix(in lab, red, red)) {
408
+ border-color: color-mix(in oklab, var(--color-emerald-400) 20%, transparent);
409
+ }
410
+ }
411
+ .border-fuchsia-400\/20 {
412
+ border-color: color-mix(in srgb, oklch(74% 0.238 322.16) 20%, transparent);
413
+ @supports (color: color-mix(in lab, red, red)) {
414
+ border-color: color-mix(in oklab, var(--color-fuchsia-400) 20%, transparent);
415
+ }
416
+ }
417
+ .border-gray-400\/20 {
418
+ border-color: color-mix(in srgb, oklch(70.7% 0.022 261.325) 20%, transparent);
419
+ @supports (color: color-mix(in lab, red, red)) {
420
+ border-color: color-mix(in oklab, var(--color-gray-400) 20%, transparent);
421
+ }
422
+ }
298
423
  .border-gray-700 {
299
424
  border-color: var(--color-gray-700);
300
425
  }
301
426
  .border-gray-800 {
302
427
  border-color: var(--color-gray-800);
303
428
  }
429
+ .border-green-400\/20 {
430
+ border-color: color-mix(in srgb, oklch(79.2% 0.209 151.711) 20%, transparent);
431
+ @supports (color: color-mix(in lab, red, red)) {
432
+ border-color: color-mix(in oklab, var(--color-green-400) 20%, transparent);
433
+ }
434
+ }
435
+ .border-indigo-400\/20 {
436
+ border-color: color-mix(in srgb, oklch(67.3% 0.182 276.935) 20%, transparent);
437
+ @supports (color: color-mix(in lab, red, red)) {
438
+ border-color: color-mix(in oklab, var(--color-indigo-400) 20%, transparent);
439
+ }
440
+ }
441
+ .border-indigo-500 {
442
+ border-color: var(--color-indigo-500);
443
+ }
444
+ .border-lime-400\/20 {
445
+ border-color: color-mix(in srgb, oklch(84.1% 0.238 128.85) 20%, transparent);
446
+ @supports (color: color-mix(in lab, red, red)) {
447
+ border-color: color-mix(in oklab, var(--color-lime-400) 20%, transparent);
448
+ }
449
+ }
450
+ .border-neutral-400\/20 {
451
+ border-color: color-mix(in srgb, oklch(70.8% 0 0) 20%, transparent);
452
+ @supports (color: color-mix(in lab, red, red)) {
453
+ border-color: color-mix(in oklab, var(--color-neutral-400) 20%, transparent);
454
+ }
455
+ }
456
+ .border-orange-400\/20 {
457
+ border-color: color-mix(in srgb, oklch(75% 0.183 55.934) 20%, transparent);
458
+ @supports (color: color-mix(in lab, red, red)) {
459
+ border-color: color-mix(in oklab, var(--color-orange-400) 20%, transparent);
460
+ }
461
+ }
462
+ .border-pink-400\/20 {
463
+ border-color: color-mix(in srgb, oklch(71.8% 0.202 349.761) 20%, transparent);
464
+ @supports (color: color-mix(in lab, red, red)) {
465
+ border-color: color-mix(in oklab, var(--color-pink-400) 20%, transparent);
466
+ }
467
+ }
468
+ .border-purple-400\/20 {
469
+ border-color: color-mix(in srgb, oklch(71.4% 0.203 305.504) 20%, transparent);
470
+ @supports (color: color-mix(in lab, red, red)) {
471
+ border-color: color-mix(in oklab, var(--color-purple-400) 20%, transparent);
472
+ }
473
+ }
474
+ .border-red-400\/20 {
475
+ border-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 20%, transparent);
476
+ @supports (color: color-mix(in lab, red, red)) {
477
+ border-color: color-mix(in oklab, var(--color-red-400) 20%, transparent);
478
+ }
479
+ }
480
+ .border-rose-400\/20 {
481
+ border-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 20%, transparent);
482
+ @supports (color: color-mix(in lab, red, red)) {
483
+ border-color: color-mix(in oklab, var(--color-rose-400) 20%, transparent);
484
+ }
485
+ }
486
+ .border-sky-400\/20 {
487
+ border-color: color-mix(in srgb, oklch(74.6% 0.16 232.661) 20%, transparent);
488
+ @supports (color: color-mix(in lab, red, red)) {
489
+ border-color: color-mix(in oklab, var(--color-sky-400) 20%, transparent);
490
+ }
491
+ }
492
+ .border-slate-400\/20 {
493
+ border-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 20%, transparent);
494
+ @supports (color: color-mix(in lab, red, red)) {
495
+ border-color: color-mix(in oklab, var(--color-slate-400) 20%, transparent);
496
+ }
497
+ }
498
+ .border-stone-400\/20 {
499
+ border-color: color-mix(in srgb, oklch(70.9% 0.01 56.259) 20%, transparent);
500
+ @supports (color: color-mix(in lab, red, red)) {
501
+ border-color: color-mix(in oklab, var(--color-stone-400) 20%, transparent);
502
+ }
503
+ }
504
+ .border-teal-400\/20 {
505
+ border-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 20%, transparent);
506
+ @supports (color: color-mix(in lab, red, red)) {
507
+ border-color: color-mix(in oklab, var(--color-teal-400) 20%, transparent);
508
+ }
509
+ }
510
+ .border-transparent {
511
+ border-color: transparent;
512
+ }
513
+ .border-violet-400\/20 {
514
+ border-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 20%, transparent);
515
+ @supports (color: color-mix(in lab, red, red)) {
516
+ border-color: color-mix(in oklab, var(--color-violet-400) 20%, transparent);
517
+ }
518
+ }
519
+ .border-yellow-400\/20 {
520
+ border-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 20%, transparent);
521
+ @supports (color: color-mix(in lab, red, red)) {
522
+ border-color: color-mix(in oklab, var(--color-yellow-400) 20%, transparent);
523
+ }
524
+ }
525
+ .border-zinc-400\/20 {
526
+ border-color: color-mix(in srgb, oklch(70.5% 0.015 286.067) 20%, transparent);
527
+ @supports (color: color-mix(in lab, red, red)) {
528
+ border-color: color-mix(in oklab, var(--color-zinc-400) 20%, transparent);
529
+ }
530
+ }
304
531
  .bg-\[\#0B1120\] {
305
532
  background-color: #0B1120;
306
533
  }
534
+ .bg-amber-400\/10 {
535
+ background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 10%, transparent);
536
+ @supports (color: color-mix(in lab, red, red)) {
537
+ background-color: color-mix(in oklab, var(--color-amber-400) 10%, transparent);
538
+ }
539
+ }
540
+ .bg-amber-500 {
541
+ background-color: var(--color-amber-500);
542
+ }
543
+ .bg-blue-400\/10 {
544
+ background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 10%, transparent);
545
+ @supports (color: color-mix(in lab, red, red)) {
546
+ background-color: color-mix(in oklab, var(--color-blue-400) 10%, transparent);
547
+ }
548
+ }
549
+ .bg-blue-500 {
550
+ background-color: var(--color-blue-500);
551
+ }
307
552
  .bg-blue-600 {
308
553
  background-color: var(--color-blue-600);
309
554
  }
555
+ .bg-cyan-400\/10 {
556
+ background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 10%, transparent);
557
+ @supports (color: color-mix(in lab, red, red)) {
558
+ background-color: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
559
+ }
560
+ }
561
+ .bg-cyan-500 {
562
+ background-color: var(--color-cyan-500);
563
+ }
564
+ .bg-emerald-400\/10 {
565
+ background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 10%, transparent);
566
+ @supports (color: color-mix(in lab, red, red)) {
567
+ background-color: color-mix(in oklab, var(--color-emerald-400) 10%, transparent);
568
+ }
569
+ }
570
+ .bg-emerald-500 {
571
+ background-color: var(--color-emerald-500);
572
+ }
573
+ .bg-fuchsia-400\/10 {
574
+ background-color: color-mix(in srgb, oklch(74% 0.238 322.16) 10%, transparent);
575
+ @supports (color: color-mix(in lab, red, red)) {
576
+ background-color: color-mix(in oklab, var(--color-fuchsia-400) 10%, transparent);
577
+ }
578
+ }
579
+ .bg-fuchsia-500 {
580
+ background-color: var(--color-fuchsia-500);
581
+ }
582
+ .bg-gray-400\/10 {
583
+ background-color: color-mix(in srgb, oklch(70.7% 0.022 261.325) 10%, transparent);
584
+ @supports (color: color-mix(in lab, red, red)) {
585
+ background-color: color-mix(in oklab, var(--color-gray-400) 10%, transparent);
586
+ }
587
+ }
588
+ .bg-gray-500 {
589
+ background-color: var(--color-gray-500);
590
+ }
591
+ .bg-gray-800\/50 {
592
+ background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 50%, transparent);
593
+ @supports (color: color-mix(in lab, red, red)) {
594
+ background-color: color-mix(in oklab, var(--color-gray-800) 50%, transparent);
595
+ }
596
+ }
597
+ .bg-gray-900 {
598
+ background-color: var(--color-gray-900);
599
+ }
310
600
  .bg-gray-950 {
311
601
  background-color: var(--color-gray-950);
312
602
  }
603
+ .bg-green-400\/10 {
604
+ background-color: color-mix(in srgb, oklch(79.2% 0.209 151.711) 10%, transparent);
605
+ @supports (color: color-mix(in lab, red, red)) {
606
+ background-color: color-mix(in oklab, var(--color-green-400) 10%, transparent);
607
+ }
608
+ }
609
+ .bg-green-500 {
610
+ background-color: var(--color-green-500);
611
+ }
612
+ .bg-indigo-400\/10 {
613
+ background-color: color-mix(in srgb, oklch(67.3% 0.182 276.935) 10%, transparent);
614
+ @supports (color: color-mix(in lab, red, red)) {
615
+ background-color: color-mix(in oklab, var(--color-indigo-400) 10%, transparent);
616
+ }
617
+ }
618
+ .bg-indigo-500 {
619
+ background-color: var(--color-indigo-500);
620
+ }
621
+ .bg-lime-400\/10 {
622
+ background-color: color-mix(in srgb, oklch(84.1% 0.238 128.85) 10%, transparent);
623
+ @supports (color: color-mix(in lab, red, red)) {
624
+ background-color: color-mix(in oklab, var(--color-lime-400) 10%, transparent);
625
+ }
626
+ }
627
+ .bg-lime-500 {
628
+ background-color: var(--color-lime-500);
629
+ }
630
+ .bg-neutral-400\/10 {
631
+ background-color: color-mix(in srgb, oklch(70.8% 0 0) 10%, transparent);
632
+ @supports (color: color-mix(in lab, red, red)) {
633
+ background-color: color-mix(in oklab, var(--color-neutral-400) 10%, transparent);
634
+ }
635
+ }
636
+ .bg-neutral-500 {
637
+ background-color: var(--color-neutral-500);
638
+ }
639
+ .bg-orange-400\/10 {
640
+ background-color: color-mix(in srgb, oklch(75% 0.183 55.934) 10%, transparent);
641
+ @supports (color: color-mix(in lab, red, red)) {
642
+ background-color: color-mix(in oklab, var(--color-orange-400) 10%, transparent);
643
+ }
644
+ }
645
+ .bg-orange-500 {
646
+ background-color: var(--color-orange-500);
647
+ }
648
+ .bg-pink-400\/10 {
649
+ background-color: color-mix(in srgb, oklch(71.8% 0.202 349.761) 10%, transparent);
650
+ @supports (color: color-mix(in lab, red, red)) {
651
+ background-color: color-mix(in oklab, var(--color-pink-400) 10%, transparent);
652
+ }
653
+ }
654
+ .bg-pink-500 {
655
+ background-color: var(--color-pink-500);
656
+ }
657
+ .bg-purple-400\/10 {
658
+ background-color: color-mix(in srgb, oklch(71.4% 0.203 305.504) 10%, transparent);
659
+ @supports (color: color-mix(in lab, red, red)) {
660
+ background-color: color-mix(in oklab, var(--color-purple-400) 10%, transparent);
661
+ }
662
+ }
663
+ .bg-purple-500 {
664
+ background-color: var(--color-purple-500);
665
+ }
666
+ .bg-red-400\/10 {
667
+ background-color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 10%, transparent);
668
+ @supports (color: color-mix(in lab, red, red)) {
669
+ background-color: color-mix(in oklab, var(--color-red-400) 10%, transparent);
670
+ }
671
+ }
672
+ .bg-red-500 {
673
+ background-color: var(--color-red-500);
674
+ }
675
+ .bg-rose-400\/10 {
676
+ background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 10%, transparent);
677
+ @supports (color: color-mix(in lab, red, red)) {
678
+ background-color: color-mix(in oklab, var(--color-rose-400) 10%, transparent);
679
+ }
680
+ }
681
+ .bg-rose-500 {
682
+ background-color: var(--color-rose-500);
683
+ }
684
+ .bg-sky-400\/10 {
685
+ background-color: color-mix(in srgb, oklch(74.6% 0.16 232.661) 10%, transparent);
686
+ @supports (color: color-mix(in lab, red, red)) {
687
+ background-color: color-mix(in oklab, var(--color-sky-400) 10%, transparent);
688
+ }
689
+ }
690
+ .bg-sky-500 {
691
+ background-color: var(--color-sky-500);
692
+ }
693
+ .bg-slate-400\/10 {
694
+ background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 10%, transparent);
695
+ @supports (color: color-mix(in lab, red, red)) {
696
+ background-color: color-mix(in oklab, var(--color-slate-400) 10%, transparent);
697
+ }
698
+ }
699
+ .bg-slate-500 {
700
+ background-color: var(--color-slate-500);
701
+ }
702
+ .bg-stone-400\/10 {
703
+ background-color: color-mix(in srgb, oklch(70.9% 0.01 56.259) 10%, transparent);
704
+ @supports (color: color-mix(in lab, red, red)) {
705
+ background-color: color-mix(in oklab, var(--color-stone-400) 10%, transparent);
706
+ }
707
+ }
708
+ .bg-stone-500 {
709
+ background-color: var(--color-stone-500);
710
+ }
711
+ .bg-teal-400\/10 {
712
+ background-color: color-mix(in srgb, oklch(77.7% 0.152 181.912) 10%, transparent);
713
+ @supports (color: color-mix(in lab, red, red)) {
714
+ background-color: color-mix(in oklab, var(--color-teal-400) 10%, transparent);
715
+ }
716
+ }
717
+ .bg-teal-500 {
718
+ background-color: var(--color-teal-500);
719
+ }
720
+ .bg-violet-400\/10 {
721
+ background-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 10%, transparent);
722
+ @supports (color: color-mix(in lab, red, red)) {
723
+ background-color: color-mix(in oklab, var(--color-violet-400) 10%, transparent);
724
+ }
725
+ }
726
+ .bg-violet-500 {
727
+ background-color: var(--color-violet-500);
728
+ }
729
+ .bg-yellow-400\/10 {
730
+ background-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 10%, transparent);
731
+ @supports (color: color-mix(in lab, red, red)) {
732
+ background-color: color-mix(in oklab, var(--color-yellow-400) 10%, transparent);
733
+ }
734
+ }
735
+ .bg-yellow-500 {
736
+ background-color: var(--color-yellow-500);
737
+ }
738
+ .bg-zinc-400\/10 {
739
+ background-color: color-mix(in srgb, oklch(70.5% 0.015 286.067) 10%, transparent);
740
+ @supports (color: color-mix(in lab, red, red)) {
741
+ background-color: color-mix(in oklab, var(--color-zinc-400) 10%, transparent);
742
+ }
743
+ }
744
+ .bg-zinc-500 {
745
+ background-color: var(--color-zinc-500);
746
+ }
313
747
  .p-0\.5 {
314
748
  padding: calc(var(--spacing) * 0.5);
315
749
  }
316
750
  .p-4 {
317
751
  padding: calc(var(--spacing) * 4);
318
752
  }
753
+ .px-2\.5 {
754
+ padding-inline: calc(var(--spacing) * 2.5);
755
+ }
319
756
  .px-3 {
320
757
  padding-inline: calc(var(--spacing) * 3);
321
758
  }
@@ -365,30 +802,99 @@
365
802
  .whitespace-pre-wrap {
366
803
  white-space: pre-wrap;
367
804
  }
805
+ .text-amber-400 {
806
+ color: var(--color-amber-400);
807
+ }
808
+ .text-blue-400 {
809
+ color: var(--color-blue-400);
810
+ }
368
811
  .text-blue-500 {
369
812
  color: var(--color-blue-500);
370
813
  }
814
+ .text-cyan-400 {
815
+ color: var(--color-cyan-400);
816
+ }
817
+ .text-emerald-400 {
818
+ color: var(--color-emerald-400);
819
+ }
820
+ .text-fuchsia-400 {
821
+ color: var(--color-fuchsia-400);
822
+ }
371
823
  .text-gray-300 {
372
824
  color: var(--color-gray-300);
373
825
  }
826
+ .text-gray-400 {
827
+ color: var(--color-gray-400);
828
+ }
829
+ .text-gray-500 {
830
+ color: var(--color-gray-500);
831
+ }
374
832
  .text-gray-600 {
375
833
  color: var(--color-gray-600);
376
834
  }
835
+ .text-green-400 {
836
+ color: var(--color-green-400);
837
+ }
377
838
  .text-green-500 {
378
839
  color: var(--color-green-500);
379
840
  }
841
+ .text-indigo-400 {
842
+ color: var(--color-indigo-400);
843
+ }
844
+ .text-lime-400 {
845
+ color: var(--color-lime-400);
846
+ }
847
+ .text-neutral-400 {
848
+ color: var(--color-neutral-400);
849
+ }
850
+ .text-orange-400 {
851
+ color: var(--color-orange-400);
852
+ }
853
+ .text-pink-400 {
854
+ color: var(--color-pink-400);
855
+ }
856
+ .text-purple-400 {
857
+ color: var(--color-purple-400);
858
+ }
859
+ .text-red-400 {
860
+ color: var(--color-red-400);
861
+ }
380
862
  .text-red-500 {
381
863
  color: var(--color-red-500);
382
864
  }
865
+ .text-rose-400 {
866
+ color: var(--color-rose-400);
867
+ }
868
+ .text-sky-400 {
869
+ color: var(--color-sky-400);
870
+ }
383
871
  .text-slate-300 {
384
872
  color: var(--color-slate-300);
385
873
  }
874
+ .text-slate-400 {
875
+ color: var(--color-slate-400);
876
+ }
877
+ .text-stone-400 {
878
+ color: var(--color-stone-400);
879
+ }
880
+ .text-teal-400 {
881
+ color: var(--color-teal-400);
882
+ }
883
+ .text-violet-400 {
884
+ color: var(--color-violet-400);
885
+ }
386
886
  .text-white {
387
887
  color: var(--color-white);
388
888
  }
889
+ .text-yellow-400 {
890
+ color: var(--color-yellow-400);
891
+ }
389
892
  .text-yellow-500 {
390
893
  color: var(--color-yellow-500);
391
894
  }
895
+ .text-zinc-400 {
896
+ color: var(--color-zinc-400);
897
+ }
392
898
  .italic {
393
899
  font-style: italic;
394
900
  }
@@ -453,6 +959,16 @@
453
959
  }
454
960
  }
455
961
  }
962
+ .hover\:bg-gray-800\/30 {
963
+ &:hover {
964
+ @media (hover: hover) {
965
+ background-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 30%, transparent);
966
+ @supports (color: color-mix(in lab, red, red)) {
967
+ background-color: color-mix(in oklab, var(--color-gray-800) 30%, transparent);
968
+ }
969
+ }
970
+ }
971
+ }
456
972
  .hover\:bg-gray-900\/50 {
457
973
  &:hover {
458
974
  @media (hover: hover) {
@@ -463,6 +979,13 @@
463
979
  }
464
980
  }
465
981
  }
982
+ .hover\:text-gray-300 {
983
+ &:hover {
984
+ @media (hover: hover) {
985
+ color: var(--color-gray-300);
986
+ }
987
+ }
988
+ }
466
989
  .hover\:text-white {
467
990
  &:hover {
468
991
  @media (hover: hover) {
@@ -545,6 +1068,11 @@
545
1068
  syntax: "*";
546
1069
  inherits: false;
547
1070
  }
1071
+ @property --tw-space-x-reverse {
1072
+ syntax: "*";
1073
+ inherits: false;
1074
+ initial-value: 0;
1075
+ }
548
1076
  @property --tw-border-style {
549
1077
  syntax: "*";
550
1078
  inherits: false;
@@ -686,6 +1214,11 @@
686
1214
  transform: rotate(360deg);
687
1215
  }
688
1216
  }
1217
+ @keyframes pulse {
1218
+ 50% {
1219
+ opacity: 0.5;
1220
+ }
1221
+ }
689
1222
  @layer properties {
690
1223
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
691
1224
  *, ::before, ::after, ::backdrop {
@@ -694,6 +1227,7 @@
694
1227
  --tw-rotate-z: initial;
695
1228
  --tw-skew-x: initial;
696
1229
  --tw-skew-y: initial;
1230
+ --tw-space-x-reverse: 0;
697
1231
  --tw-border-style: solid;
698
1232
  --tw-font-weight: initial;
699
1233
  --tw-shadow: 0 0 #0000;
@@ -0,0 +1,14 @@
1
+ export interface PrismaClientOptions {
2
+ baseURL: string;
3
+ headers?: Record<string, string>;
4
+ }
5
+ export declare class PrismaClient {
6
+ private options;
7
+ constructor(options: PrismaClientOptions);
8
+ /**
9
+ * 创建模型代理 (Model Delegate)
10
+ * 拦截 db.user.findMany() 中的 .findMany
11
+ */
12
+ private createModelDelegate;
13
+ private request;
14
+ }
@@ -0,0 +1,44 @@
1
+ class PrismaClient {
2
+ options;
3
+ constructor(options){
4
+ this.options = options;
5
+ return new Proxy(this, {
6
+ get: (target, prop)=>{
7
+ if (prop in target || 'string' != typeof prop || 'then' === prop) return target[prop];
8
+ return this.createModelDelegate(prop);
9
+ }
10
+ });
11
+ }
12
+ createModelDelegate(modelName) {
13
+ return new Proxy({}, {
14
+ get: (_target, actionName)=>{
15
+ if ('string' != typeof actionName || 'then' === actionName) return;
16
+ return async (args)=>this.request(modelName, actionName, args);
17
+ }
18
+ });
19
+ }
20
+ async request(modelName, actionName, args) {
21
+ const baseUrl = this.options.baseURL;
22
+ try {
23
+ const response = await fetch(baseUrl, {
24
+ method: 'POST',
25
+ headers: {
26
+ 'Content-Type': 'application/json',
27
+ ...this.options.headers
28
+ },
29
+ body: JSON.stringify({
30
+ model: modelName,
31
+ action: actionName,
32
+ args: args || {}
33
+ })
34
+ });
35
+ const responseData = await response.json();
36
+ if (!response.ok) throw new Error(responseData?.error || `Prisma Request Failed: ${response.statusText}`);
37
+ return void 0 !== responseData.result ? responseData.result : responseData;
38
+ } catch (error) {
39
+ console.error(`[PrismaClient] Error executing ${modelName}.${actionName}:`, error);
40
+ throw error;
41
+ }
42
+ }
43
+ }
44
+ export { PrismaClient };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "listpage-next",
3
- "version": "0.0.243",
3
+ "version": "0.0.245",
4
4
  "description": "A React component library for creating filter forms with Ant Design",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,6 +18,10 @@
18
18
  "types": "./dist/features/*/index.d.ts",
19
19
  "import": "./dist/features/*/index.js"
20
20
  },
21
+ "./utils/*": {
22
+ "types": "./dist/utils/*/index.d.ts",
23
+ "import": "./dist/utils/*/index.js"
24
+ },
21
25
  "./ui.css": "./dist/ui.css"
22
26
  },
23
27
  "types": "./dist/index.d.ts",