create-bluecopa-react-app 1.0.40 → 1.0.42

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 (102) hide show
  1. package/README.md +16 -14
  2. package/package.json +1 -1
  3. package/templates/latest/.claude/settings.local.json +56 -0
  4. package/templates/latest/.env.example +8 -0
  5. package/templates/latest/Agent.md +598 -775
  6. package/templates/latest/CLAUDE.md +759 -0
  7. package/templates/latest/README.md +17 -8
  8. package/templates/latest/app/app.css +292 -85
  9. package/templates/latest/app/app.tsx +48 -39
  10. package/templates/latest/app/components/bluecopa-logo.tsx +20 -0
  11. package/templates/latest/app/components/charts/bar-chart.tsx +132 -0
  12. package/templates/latest/app/components/charts/base-chart.tsx +149 -0
  13. package/templates/latest/app/components/charts/chart-provider.tsx +71 -0
  14. package/templates/latest/app/components/charts/chart-theme.ts +262 -0
  15. package/templates/latest/app/components/charts/chart-utils.ts +142 -0
  16. package/templates/latest/app/components/charts/donut-chart.tsx +110 -0
  17. package/templates/latest/app/components/charts/index.ts +5 -0
  18. package/templates/latest/app/components/layouts/app-layout.tsx +22 -0
  19. package/templates/latest/app/components/layouts/app-sidebar.tsx +88 -0
  20. package/templates/latest/app/components/layouts/nav-main.tsx +50 -0
  21. package/templates/latest/app/components/layouts/nav-user.tsx +38 -0
  22. package/templates/latest/app/components/layouts/site-header.tsx +93 -0
  23. package/templates/latest/app/components/loading-screen.tsx +41 -0
  24. package/templates/latest/app/components/ui/ag-grid-table.tsx +79 -0
  25. package/templates/latest/app/components/ui/button.tsx +23 -23
  26. package/templates/latest/app/components/ui/card.tsx +20 -20
  27. package/templates/latest/app/components/ui/dropdown-menu.tsx +54 -49
  28. package/templates/latest/app/components/ui/input.tsx +8 -8
  29. package/templates/latest/app/components/ui/label.tsx +8 -8
  30. package/templates/latest/app/components/ui/separator.tsx +7 -7
  31. package/templates/latest/app/components/ui/sheet.tsx +43 -32
  32. package/templates/latest/app/components/ui/sidebar.tsx +240 -235
  33. package/templates/latest/app/components/ui/skeleton.tsx +4 -4
  34. package/templates/latest/app/components/ui/sonner.tsx +6 -9
  35. package/templates/latest/app/components/ui/tabs.tsx +15 -15
  36. package/templates/latest/app/components/ui/tooltip.tsx +18 -12
  37. package/templates/latest/app/constants/index.ts +31 -0
  38. package/templates/latest/app/contexts/app-context.tsx +201 -0
  39. package/templates/latest/app/hooks/use-mobile.ts +13 -12
  40. package/templates/latest/app/main.tsx +1 -1
  41. package/templates/latest/app/pages/dashboard.tsx +246 -0
  42. package/templates/latest/app/pages/payments.tsx +182 -0
  43. package/templates/latest/app/pages/settings.tsx +128 -0
  44. package/templates/latest/app/routes/index.tsx +19 -0
  45. package/templates/latest/app/single-spa.tsx +68 -86
  46. package/templates/latest/app/types/index.ts +37 -0
  47. package/templates/latest/app/utils/ag-grid-datasource.ts +63 -0
  48. package/templates/latest/app/utils/ag-grid-license.ts +12 -0
  49. package/templates/latest/app/utils/ag-grid-theme.ts +9 -0
  50. package/templates/latest/app/utils/component-style.ts +7 -0
  51. package/templates/latest/app/utils/style-drivers.ts +24 -0
  52. package/templates/latest/app/utils/utils.ts +10 -0
  53. package/templates/latest/components.json +3 -3
  54. package/templates/latest/index.html +30 -2
  55. package/templates/latest/package-lock.json +30 -416
  56. package/templates/latest/package.json +8 -18
  57. package/templates/latest/preview/index.html +125 -285
  58. package/templates/latest/public/favicon.svg +1 -0
  59. package/templates/latest/vite.config.ts +2 -8
  60. package/templates/latest/app/components/app-sidebar.tsx +0 -182
  61. package/templates/latest/app/components/chart-area-interactive.tsx +0 -290
  62. package/templates/latest/app/components/data-table.tsx +0 -807
  63. package/templates/latest/app/components/nav-documents.tsx +0 -92
  64. package/templates/latest/app/components/nav-main.tsx +0 -40
  65. package/templates/latest/app/components/nav-secondary.tsx +0 -42
  66. package/templates/latest/app/components/nav-user.tsx +0 -111
  67. package/templates/latest/app/components/section-cards.tsx +0 -102
  68. package/templates/latest/app/components/site-header.tsx +0 -28
  69. package/templates/latest/app/components/ui/avatar.tsx +0 -53
  70. package/templates/latest/app/components/ui/badge.tsx +0 -46
  71. package/templates/latest/app/components/ui/breadcrumb.tsx +0 -109
  72. package/templates/latest/app/components/ui/chart.tsx +0 -352
  73. package/templates/latest/app/components/ui/checkbox.tsx +0 -30
  74. package/templates/latest/app/components/ui/drawer.tsx +0 -139
  75. package/templates/latest/app/components/ui/select.tsx +0 -183
  76. package/templates/latest/app/components/ui/table.tsx +0 -117
  77. package/templates/latest/app/components/ui/toggle-group.tsx +0 -73
  78. package/templates/latest/app/components/ui/toggle.tsx +0 -47
  79. package/templates/latest/app/data/data.json +0 -614
  80. package/templates/latest/app/data/mock-payments.json +0 -122
  81. package/templates/latest/app/data/mock-transactions.json +0 -128
  82. package/templates/latest/app/hooks/use-bluecopa-user.ts +0 -37
  83. package/templates/latest/app/lib/utils.ts +0 -6
  84. package/templates/latest/app/routes/apitest.tsx +0 -2118
  85. package/templates/latest/app/routes/comments.tsx +0 -588
  86. package/templates/latest/app/routes/dashboard.tsx +0 -36
  87. package/templates/latest/app/routes/payments.tsx +0 -342
  88. package/templates/latest/app/routes/statements.tsx +0 -493
  89. package/templates/latest/app/routes/websocket.tsx +0 -450
  90. package/templates/latest/app/routes.tsx +0 -22
  91. package/templates/latest/dist/assets/__federation_expose_App-OFfdinOR.js +0 -97
  92. package/templates/latest/dist/assets/__federation_fn_import-CzfA7kmP.js +0 -438
  93. package/templates/latest/dist/assets/__federation_shared_react-Bp6HVBS4.js +0 -16
  94. package/templates/latest/dist/assets/__federation_shared_react-dom-BCcRGiYp.js +0 -17
  95. package/templates/latest/dist/assets/client-CkHcT_xc.js +0 -76035
  96. package/templates/latest/dist/assets/index-B3cD3sP_.js +0 -60
  97. package/templates/latest/dist/assets/index-BzNimew1.js +0 -69
  98. package/templates/latest/dist/assets/index-DMFtQdNS.js +0 -412
  99. package/templates/latest/dist/assets/remoteEntry.css +0 -3996
  100. package/templates/latest/dist/assets/remoteEntry.js +0 -88
  101. package/templates/latest/dist/favicon.ico +0 -0
  102. package/templates/latest/dist/index.html +0 -19
@@ -1,31 +1,42 @@
1
- "use client"
1
+ "use client";
2
2
 
3
- import * as React from "react"
4
- import * as SheetPrimitive from "@radix-ui/react-dialog"
5
- import { XIcon } from "lucide-react"
3
+ import * as React from "react";
4
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
5
+ import { XIcon } from "lucide-react";
6
6
 
7
- import { cn } from "~/lib/utils"
7
+ import { cn } from "~/utils/utils";
8
8
 
9
9
  function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {
10
- return <SheetPrimitive.Root data-slot="sheet" {...props} />
10
+ return <SheetPrimitive.Root data-slot="sheet" {...props} />;
11
11
  }
12
12
 
13
13
  function SheetTrigger({
14
14
  ...props
15
15
  }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {
16
- return <SheetPrimitive.Trigger data-slot="sheet-trigger" {...props} />
16
+ return <SheetPrimitive.Trigger data-slot="sheet-trigger" {...props} />;
17
17
  }
18
18
 
19
19
  function SheetClose({
20
20
  ...props
21
21
  }: React.ComponentProps<typeof SheetPrimitive.Close>) {
22
- return <SheetPrimitive.Close data-slot="sheet-close" {...props} />
22
+ return <SheetPrimitive.Close data-slot="sheet-close" {...props} />;
23
23
  }
24
24
 
25
25
  function SheetPortal({
26
26
  ...props
27
27
  }: React.ComponentProps<typeof SheetPrimitive.Portal>) {
28
- return <SheetPrimitive.Portal data-slot="sheet-portal" {...props} />
28
+ const container =
29
+ typeof document !== "undefined"
30
+ ? document.querySelector<HTMLElement>(".mfe-root") ?? undefined
31
+ : undefined;
32
+
33
+ return (
34
+ <SheetPrimitive.Portal
35
+ data-slot="sheet-portal"
36
+ container={container}
37
+ {...props}
38
+ />
39
+ );
29
40
  }
30
41
 
31
42
  function SheetOverlay({
@@ -36,12 +47,12 @@ function SheetOverlay({
36
47
  <SheetPrimitive.Overlay
37
48
  data-slot="sheet-overlay"
38
49
  className={cn(
39
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
40
- className
50
+ "copa:data-[state=open]:animate-in copa:data-[state=closed]:animate-out copa:data-[state=closed]:fade-out-0 copa:data-[state=open]:fade-in-0 copa:fixed copa:inset-0 copa:z-50 copa:bg-black/50",
51
+ className,
41
52
  )}
42
53
  {...props}
43
54
  />
44
- )
55
+ );
45
56
  }
46
57
 
47
58
  function SheetContent({
@@ -50,7 +61,7 @@ function SheetContent({
50
61
  side = "right",
51
62
  ...props
52
63
  }: React.ComponentProps<typeof SheetPrimitive.Content> & {
53
- side?: "top" | "right" | "bottom" | "left"
64
+ side?: "top" | "right" | "bottom" | "left";
54
65
  }) {
55
66
  return (
56
67
  <SheetPortal>
@@ -58,47 +69,47 @@ function SheetContent({
58
69
  <SheetPrimitive.Content
59
70
  data-slot="sheet-content"
60
71
  className={cn(
61
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
72
+ "copa:bg-background copa:data-[state=open]:animate-in copa:data-[state=closed]:animate-out copa:fixed copa:z-50 copa:flex copa:flex-col copa:gap-4 copa:shadow-lg copa:transition copa:ease-in-out copa:data-[state=closed]:duration-300 copa:data-[state=open]:duration-500",
62
73
  side === "right" &&
63
- "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
74
+ "copa:data-[state=closed]:slide-out-to-right copa:data-[state=open]:slide-in-from-right copa:inset-y-0 copa:right-0 copa:h-full copa:w-3/4 copa:border-l copa:sm:max-w-sm",
64
75
  side === "left" &&
65
- "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
76
+ "copa:data-[state=closed]:slide-out-to-left copa:data-[state=open]:slide-in-from-left copa:inset-y-0 copa:left-0 copa:h-full copa:w-3/4 copa:border-r copa:sm:max-w-sm",
66
77
  side === "top" &&
67
- "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
78
+ "copa:data-[state=closed]:slide-out-to-top copa:data-[state=open]:slide-in-from-top copa:inset-x-0 copa:top-0 copa:h-auto copa:border-b",
68
79
  side === "bottom" &&
69
- "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
70
- className
80
+ "copa:data-[state=closed]:slide-out-to-bottom copa:data-[state=open]:slide-in-from-bottom copa:inset-x-0 copa:bottom-0 copa:h-auto copa:border-t",
81
+ className,
71
82
  )}
72
83
  {...props}
73
84
  >
74
85
  {children}
75
- <SheetPrimitive.Close className="ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none">
76
- <XIcon className="size-4" />
77
- <span className="sr-only">Close</span>
86
+ <SheetPrimitive.Close className="copa:ring-offset-background copa:focus:ring-ring copa:data-[state=open]:bg-secondary copa:absolute copa:top-4 copa:right-4 copa:rounded-xs copa:opacity-70 copa:transition-opacity copa:hover:opacity-100 copa:focus:ring-2 copa:focus:ring-offset-2 copa:focus:outline-hidden copa:disabled:pointer-events-none">
87
+ <XIcon className="copa:size-4" />
88
+ <span className="copa:sr-only">Close</span>
78
89
  </SheetPrimitive.Close>
79
90
  </SheetPrimitive.Content>
80
91
  </SheetPortal>
81
- )
92
+ );
82
93
  }
83
94
 
84
95
  function SheetHeader({ className, ...props }: React.ComponentProps<"div">) {
85
96
  return (
86
97
  <div
87
98
  data-slot="sheet-header"
88
- className={cn("flex flex-col gap-1.5 p-4", className)}
99
+ className={cn("copa:flex copa:flex-col copa:gap-1.5 copa:p-4", className)}
89
100
  {...props}
90
101
  />
91
- )
102
+ );
92
103
  }
93
104
 
94
105
  function SheetFooter({ className, ...props }: React.ComponentProps<"div">) {
95
106
  return (
96
107
  <div
97
108
  data-slot="sheet-footer"
98
- className={cn("mt-auto flex flex-col gap-2 p-4", className)}
109
+ className={cn("copa:mt-auto copa:flex copa:flex-col copa:gap-2 copa:p-4", className)}
99
110
  {...props}
100
111
  />
101
- )
112
+ );
102
113
  }
103
114
 
104
115
  function SheetTitle({
@@ -108,10 +119,10 @@ function SheetTitle({
108
119
  return (
109
120
  <SheetPrimitive.Title
110
121
  data-slot="sheet-title"
111
- className={cn("text-foreground font-semibold", className)}
122
+ className={cn("copa:text-foreground copa:font-semibold", className)}
112
123
  {...props}
113
124
  />
114
- )
125
+ );
115
126
  }
116
127
 
117
128
  function SheetDescription({
@@ -121,10 +132,10 @@ function SheetDescription({
121
132
  return (
122
133
  <SheetPrimitive.Description
123
134
  data-slot="sheet-description"
124
- className={cn("text-muted-foreground text-sm", className)}
135
+ className={cn("copa:text-muted-foreground copa:text-sm", className)}
125
136
  {...props}
126
137
  />
127
- )
138
+ );
128
139
  }
129
140
 
130
141
  export {
@@ -136,4 +147,4 @@ export {
136
147
  SheetFooter,
137
148
  SheetTitle,
138
149
  SheetDescription,
139
- }
150
+ };