create-newt-app 0.33.2 → 0.34.0
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.
- package/dist/index.js +155 -150
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { existsSync, promises } from "fs";
|
|
|
11
11
|
import path from "path";
|
|
12
12
|
import https from "node:https";
|
|
13
13
|
//#region package.json
|
|
14
|
-
var version = "0.
|
|
14
|
+
var version = "0.34.0";
|
|
15
15
|
var engines = { "node": ">=24.0.0" };
|
|
16
16
|
//#endregion
|
|
17
17
|
//#region src/templates/root/index.ts
|
|
@@ -31,7 +31,8 @@ const root$2 = { templates: [
|
|
|
31
31
|
"db:migrate": "turbo run migrate",
|
|
32
32
|
"db:generate": "turbo run generate"
|
|
33
33
|
},
|
|
34
|
-
"devDependencies": {
|
|
34
|
+
"devDependencies": {<% if (shadcn && linter === "oxc") { %>
|
|
35
|
+
"@shadcn/lint": "<%= versions["@shadcn/lint"] %>",<% } %>
|
|
35
36
|
"@types/node": "<%= versions["@types/node"] %>",
|
|
36
37
|
"turbo": "<%= versions.turbo %>",
|
|
37
38
|
"typescript": "<%= versions.typescript %>"
|
|
@@ -219,7 +220,9 @@ BETTER_AUTH_SECRET=generate-with-openssl-rand-base64-32
|
|
|
219
220
|
# This is NOT the Next.js you know
|
|
220
221
|
|
|
221
222
|
This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in \`node_modules/next/dist/docs/\` before writing any code. Heed deprecation notices.
|
|
222
|
-
<!-- END:nextjs-agent-rules
|
|
223
|
+
<!-- END:nextjs-agent-rules --><% if (shadcn) { %>
|
|
224
|
+
|
|
225
|
+
After making changes, run \`pnpm lint:check\` and fix all errors.<% } %>`
|
|
223
226
|
},
|
|
224
227
|
{
|
|
225
228
|
filename: "CLAUDE.md",
|
|
@@ -458,7 +461,7 @@ export default function Home() {
|
|
|
458
461
|
const { data: session, isPending } = authClient.useSession();
|
|
459
462
|
|
|
460
463
|
const { data: hello } = useQuery({
|
|
461
|
-
queryKey: ['hello'],
|
|
464
|
+
queryKey: ['hello', session?.user.id],
|
|
462
465
|
queryFn: () => fetch('/api/hello').then((r) => r.json()),
|
|
463
466
|
});
|
|
464
467
|
|
|
@@ -820,10 +823,8 @@ const api$1 = { templates: [
|
|
|
820
823
|
"outDir": "./dist",
|
|
821
824
|
"rootDir": "./src",
|
|
822
825
|
"skipLibCheck": true,
|
|
823
|
-
"
|
|
826
|
+
"strict": true,
|
|
824
827
|
"forceConsistentCasingInFileNames": true,
|
|
825
|
-
"noImplicitAny": false,
|
|
826
|
-
"strictBindCallApply": false,
|
|
827
828
|
"noFallthroughCasesInSwitch": false,
|
|
828
829
|
"types": [<% if (testing === 'jest') { %>"jest", <% } %><% if (testing === 'vitest') { %>"vitest/globals", <% } %>"node"]
|
|
829
830
|
},
|
|
@@ -1497,6 +1498,7 @@ const versions = {
|
|
|
1497
1498
|
"@nestjs/testing": "^11.0.1",
|
|
1498
1499
|
"@next/eslint-plugin-next": "^16.3.4",
|
|
1499
1500
|
"@oxlint/plugins": "^1.74.0",
|
|
1501
|
+
"@shadcn/lint": "^0.1.0",
|
|
1500
1502
|
"@shadcn/react": "^0.2.1",
|
|
1501
1503
|
"@stylexjs/babel-plugin": "0.19.0",
|
|
1502
1504
|
"@stylexjs/postcss-plugin": "0.19.0",
|
|
@@ -1522,6 +1524,7 @@ const versions = {
|
|
|
1522
1524
|
"class-variance-authority": "^0.7.1",
|
|
1523
1525
|
clsx: "^2.1.1",
|
|
1524
1526
|
cmdk: "^1.1.1",
|
|
1527
|
+
cn: "^0.3.0",
|
|
1525
1528
|
"date-fns": "^4.2.1",
|
|
1526
1529
|
dotenv: "^17.3.1",
|
|
1527
1530
|
"dotenv-cli": "^11.0.0",
|
|
@@ -1540,7 +1543,7 @@ const versions = {
|
|
|
1540
1543
|
next: "16.3.4",
|
|
1541
1544
|
"next-themes": "^0.4.6",
|
|
1542
1545
|
oxfmt: "^0.59.0",
|
|
1543
|
-
oxlint: "^1.
|
|
1546
|
+
oxlint: "^1.80.0",
|
|
1544
1547
|
pg: "^8.14.1",
|
|
1545
1548
|
prettier: "^3.7.4",
|
|
1546
1549
|
react: "^19.2.4",
|
|
@@ -1591,8 +1594,8 @@ const shadcnUi = {
|
|
|
1591
1594
|
"@shadcn/react": "<%= versions["@shadcn/react"] %>",
|
|
1592
1595
|
"shadcn": "<%= versions.shadcn %>",
|
|
1593
1596
|
"class-variance-authority": "<%= versions["class-variance-authority"] %>",
|
|
1594
|
-
"clsx": "<%= versions.clsx %>",
|
|
1595
1597
|
"cmdk": "<%= versions.cmdk %>",
|
|
1598
|
+
"cn": "<%= versions.cn %>",
|
|
1596
1599
|
"date-fns": "<%= versions["date-fns"] %>",
|
|
1597
1600
|
"embla-carousel-react": "<%= versions["embla-carousel-react"] %>",
|
|
1598
1601
|
"input-otp": "<%= versions["input-otp"] %>",
|
|
@@ -1602,7 +1605,6 @@ const shadcnUi = {
|
|
|
1602
1605
|
"react-resizable-panels": "<%= versions["react-resizable-panels"] %>",
|
|
1603
1606
|
"recharts": "<%= versions.recharts %>",
|
|
1604
1607
|
"sonner": "<%= versions.sonner %>",
|
|
1605
|
-
"tailwind-merge": "<%= versions["tailwind-merge"] %>",
|
|
1606
1608
|
"tw-animate-css": "<%= versions["tw-animate-css"] %>"
|
|
1607
1609
|
},
|
|
1608
1610
|
"peerDependencies": {
|
|
@@ -1623,12 +1625,7 @@ const shadcnUi = {
|
|
|
1623
1625
|
},
|
|
1624
1626
|
{
|
|
1625
1627
|
filename: "packages/ui/src/lib/utils.ts",
|
|
1626
|
-
template: `
|
|
1627
|
-
import { twMerge } from "tailwind-merge"
|
|
1628
|
-
|
|
1629
|
-
export function cn(...inputs: ClassValue[]) {
|
|
1630
|
-
return twMerge(clsx(inputs))
|
|
1631
|
-
}
|
|
1628
|
+
template: `export { cn } from "cn"
|
|
1632
1629
|
`
|
|
1633
1630
|
},
|
|
1634
1631
|
{
|
|
@@ -1820,7 +1817,10 @@ export default config;`
|
|
|
1820
1817
|
"extends": "@<%= projectName %>/typescript-config/react-library.json",
|
|
1821
1818
|
"compilerOptions": {
|
|
1822
1819
|
"outDir": "dist",
|
|
1823
|
-
"strictNullChecks": true
|
|
1820
|
+
"strictNullChecks": true,
|
|
1821
|
+
"paths": {
|
|
1822
|
+
"@<%= projectName %>/ui/*": ["./src/*"]
|
|
1823
|
+
}
|
|
1824
1824
|
},
|
|
1825
1825
|
"include": ["src"],
|
|
1826
1826
|
"exclude": ["node_modules", "dist"]
|
|
@@ -1936,13 +1936,13 @@ import { Button } from '@<%= projectName %>/ui/button';
|
|
|
1936
1936
|
import { Link } from '@<%= projectName %>/ui/link';
|
|
1937
1937
|
import { Logo } from '@<%= projectName %>/ui/logo';
|
|
1938
1938
|
import { ModeToggle } from '@<%= projectName %>/ui/mode-toggle';
|
|
1939
|
-
import { Card, CardContent, CardHeader
|
|
1939
|
+
import { Card, CardContent, CardHeader } from '@<%= projectName %>/ui/card';
|
|
1940
1940
|
|
|
1941
1941
|
export default function Home() {
|
|
1942
1942
|
const { data: session, isPending } = authClient.useSession();
|
|
1943
1943
|
|
|
1944
1944
|
const { data: hello } = useQuery({
|
|
1945
|
-
queryKey: ['hello'],
|
|
1945
|
+
queryKey: ['hello', session?.user.id],
|
|
1946
1946
|
queryFn: () => fetch('/api/hello').then((r) => r.json()),
|
|
1947
1947
|
});
|
|
1948
1948
|
|
|
@@ -1957,7 +1957,7 @@ export default function Home() {
|
|
|
1957
1957
|
</div>
|
|
1958
1958
|
|
|
1959
1959
|
<div className="flex items-center gap-3 py-2">
|
|
1960
|
-
<Logo className="w-10 h-auto
|
|
1960
|
+
<Logo className="w-10 h-auto" />
|
|
1961
1961
|
<div>
|
|
1962
1962
|
<h1 className="text-4xl font-black tracking-tight"><%= projectName %></h1>
|
|
1963
1963
|
<p className="text-sm text-muted-foreground tracking-widest uppercase">
|
|
@@ -1968,9 +1968,9 @@ export default function Home() {
|
|
|
1968
1968
|
|
|
1969
1969
|
<Card>
|
|
1970
1970
|
<CardHeader>
|
|
1971
|
-
<
|
|
1971
|
+
<p className="text-xs font-mono uppercase tracking-widest text-muted-foreground">
|
|
1972
1972
|
next.js
|
|
1973
|
-
</
|
|
1973
|
+
</p>
|
|
1974
1974
|
</CardHeader>
|
|
1975
1975
|
<CardContent>
|
|
1976
1976
|
<p className="font-mono text-sm text-muted-foreground">apps/web/app/layout.tsx</p>
|
|
@@ -1980,9 +1980,9 @@ export default function Home() {
|
|
|
1980
1980
|
|
|
1981
1981
|
<Card>
|
|
1982
1982
|
<CardHeader>
|
|
1983
|
-
<
|
|
1983
|
+
<p className="text-xs font-mono uppercase tracking-widest text-muted-foreground">
|
|
1984
1984
|
nest.js
|
|
1985
|
-
</
|
|
1985
|
+
</p>
|
|
1986
1986
|
</CardHeader>
|
|
1987
1987
|
<CardContent>
|
|
1988
1988
|
<p className="font-mono text-sm text-muted-foreground">GET /api/hello</p>
|
|
@@ -1994,9 +1994,9 @@ export default function Home() {
|
|
|
1994
1994
|
|
|
1995
1995
|
<Card>
|
|
1996
1996
|
<CardHeader>
|
|
1997
|
-
<
|
|
1997
|
+
<p className="text-xs font-mono uppercase tracking-widest text-muted-foreground">
|
|
1998
1998
|
better-auth
|
|
1999
|
-
</
|
|
1999
|
+
</p>
|
|
2000
2000
|
</CardHeader>
|
|
2001
2001
|
<CardContent>
|
|
2002
2002
|
{isPending ? (
|
|
@@ -2185,8 +2185,7 @@ export function AuthForm() {
|
|
|
2185
2185
|
{
|
|
2186
2186
|
filename: "packages/ui/src/components/accordion.tsx",
|
|
2187
2187
|
template: `import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion"
|
|
2188
|
-
|
|
2189
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2188
|
+
import { cn } from "cn"
|
|
2190
2189
|
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react"
|
|
2191
2190
|
|
|
2192
2191
|
function Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {
|
|
@@ -2264,8 +2263,8 @@ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
|
|
|
2264
2263
|
|
|
2265
2264
|
import * as React from "react"
|
|
2266
2265
|
import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog"
|
|
2266
|
+
import { cn } from "cn"
|
|
2267
2267
|
|
|
2268
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2269
2268
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
2270
2269
|
|
|
2271
2270
|
function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {
|
|
@@ -2453,8 +2452,7 @@ export {
|
|
|
2453
2452
|
filename: "packages/ui/src/components/alert.tsx",
|
|
2454
2453
|
template: `import * as React from "react"
|
|
2455
2454
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
2456
|
-
|
|
2457
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2455
|
+
import { cn } from "cn"
|
|
2458
2456
|
|
|
2459
2457
|
const alertVariants = cva(
|
|
2460
2458
|
"group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",
|
|
@@ -2531,7 +2529,7 @@ export { Alert, AlertTitle, AlertDescription, AlertAction }
|
|
|
2531
2529
|
},
|
|
2532
2530
|
{
|
|
2533
2531
|
filename: "packages/ui/src/components/aspect-ratio.tsx",
|
|
2534
|
-
template: `import { cn } from "
|
|
2532
|
+
template: `import { cn } from "cn"
|
|
2535
2533
|
|
|
2536
2534
|
function AspectRatio({
|
|
2537
2535
|
ratio,
|
|
@@ -2561,8 +2559,7 @@ export { AspectRatio }
|
|
|
2561
2559
|
|
|
2562
2560
|
import * as React from "react"
|
|
2563
2561
|
import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar"
|
|
2564
|
-
|
|
2565
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2562
|
+
import { cn } from "cn"
|
|
2566
2563
|
|
|
2567
2564
|
function Avatar({
|
|
2568
2565
|
className,
|
|
@@ -2673,8 +2670,7 @@ export {
|
|
|
2673
2670
|
template: `import { mergeProps } from "@base-ui/react/merge-props"
|
|
2674
2671
|
import { useRender } from "@base-ui/react/use-render"
|
|
2675
2672
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
2676
|
-
|
|
2677
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2673
|
+
import { cn } from "cn"
|
|
2678
2674
|
|
|
2679
2675
|
const badgeVariants = cva(
|
|
2680
2676
|
"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",
|
|
@@ -2729,8 +2725,7 @@ export { Badge, badgeVariants }
|
|
|
2729
2725
|
template: `import * as React from "react"
|
|
2730
2726
|
import { mergeProps } from "@base-ui/react/merge-props"
|
|
2731
2727
|
import { useRender } from "@base-ui/react/use-render"
|
|
2732
|
-
|
|
2733
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2728
|
+
import { cn } from "cn"
|
|
2734
2729
|
import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react"
|
|
2735
2730
|
|
|
2736
2731
|
function Breadcrumb({ className, ...props }: React.ComponentProps<"nav">) {
|
|
@@ -2857,8 +2852,7 @@ export {
|
|
|
2857
2852
|
filename: "packages/ui/src/components/button.tsx",
|
|
2858
2853
|
template: `import { Button as ButtonPrimitive } from "@base-ui/react/button"
|
|
2859
2854
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
2860
|
-
|
|
2861
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2855
|
+
import { cn } from "cn"
|
|
2862
2856
|
|
|
2863
2857
|
const buttonVariants = cva(
|
|
2864
2858
|
"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
@@ -2920,6 +2914,7 @@ export { Button, buttonVariants }
|
|
|
2920
2914
|
template: `"use client"
|
|
2921
2915
|
|
|
2922
2916
|
import * as React from "react"
|
|
2917
|
+
import { cn } from "cn"
|
|
2923
2918
|
import {
|
|
2924
2919
|
DayPicker,
|
|
2925
2920
|
getDefaultClassNames,
|
|
@@ -2927,7 +2922,6 @@ import {
|
|
|
2927
2922
|
type Locale,
|
|
2928
2923
|
} from "react-day-picker"
|
|
2929
2924
|
|
|
2930
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
2931
2925
|
import { Button, buttonVariants } from "@<%= projectName %>/ui/components/button"
|
|
2932
2926
|
import { ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon } from "lucide-react"
|
|
2933
2927
|
|
|
@@ -3143,8 +3137,7 @@ export { Calendar, CalendarDayButton }
|
|
|
3143
3137
|
{
|
|
3144
3138
|
filename: "packages/ui/src/components/card.tsx",
|
|
3145
3139
|
template: `import * as React from "react"
|
|
3146
|
-
|
|
3147
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
3140
|
+
import { cn } from "cn"
|
|
3148
3141
|
|
|
3149
3142
|
function Card({
|
|
3150
3143
|
className,
|
|
@@ -3252,11 +3245,11 @@ export {
|
|
|
3252
3245
|
template: `"use client"
|
|
3253
3246
|
|
|
3254
3247
|
import * as React from "react"
|
|
3248
|
+
import { cn } from "cn"
|
|
3255
3249
|
import useEmblaCarousel, {
|
|
3256
3250
|
type UseEmblaCarouselType,
|
|
3257
3251
|
} from "embla-carousel-react"
|
|
3258
3252
|
|
|
3259
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
3260
3253
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
3261
3254
|
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"
|
|
3262
3255
|
|
|
@@ -3498,11 +3491,10 @@ export {
|
|
|
3498
3491
|
template: `"use client"
|
|
3499
3492
|
|
|
3500
3493
|
import * as React from "react"
|
|
3494
|
+
import { cn } from "cn"
|
|
3501
3495
|
import * as RechartsPrimitive from "recharts"
|
|
3502
3496
|
import type { TooltipValueType } from "recharts"
|
|
3503
3497
|
|
|
3504
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
3505
|
-
|
|
3506
3498
|
// Format: { THEME_NAME: CSS_SELECTOR }
|
|
3507
3499
|
const THEMES = { light: "", dark: ".dark" } as const
|
|
3508
3500
|
|
|
@@ -3875,8 +3867,7 @@ export {
|
|
|
3875
3867
|
template: `"use client"
|
|
3876
3868
|
|
|
3877
3869
|
import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox"
|
|
3878
|
-
|
|
3879
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
3870
|
+
import { cn } from "cn"
|
|
3880
3871
|
import { CheckIcon } from "lucide-react"
|
|
3881
3872
|
|
|
3882
3873
|
function Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {
|
|
@@ -3934,8 +3925,8 @@ export { Collapsible, CollapsibleTrigger, CollapsibleContent }
|
|
|
3934
3925
|
|
|
3935
3926
|
import * as React from "react"
|
|
3936
3927
|
import { Command as CommandPrimitive } from "cmdk"
|
|
3928
|
+
import { cn } from "cn"
|
|
3937
3929
|
|
|
3938
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
3939
3930
|
import {
|
|
3940
3931
|
Dialog,
|
|
3941
3932
|
DialogContent,
|
|
@@ -4134,8 +4125,8 @@ export {
|
|
|
4134
4125
|
|
|
4135
4126
|
import * as React from "react"
|
|
4136
4127
|
import { Combobox as ComboboxPrimitive } from "@base-ui/react"
|
|
4128
|
+
import { cn } from "cn"
|
|
4137
4129
|
|
|
4138
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
4139
4130
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
4140
4131
|
import {
|
|
4141
4132
|
InputGroup,
|
|
@@ -4435,8 +4426,7 @@ export {
|
|
|
4435
4426
|
|
|
4436
4427
|
import * as React from "react"
|
|
4437
4428
|
import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu"
|
|
4438
|
-
|
|
4439
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
4429
|
+
import { cn } from "cn"
|
|
4440
4430
|
import { ChevronRightIcon, CheckIcon } from "lucide-react"
|
|
4441
4431
|
|
|
4442
4432
|
function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {
|
|
@@ -4710,8 +4700,8 @@ export {
|
|
|
4710
4700
|
|
|
4711
4701
|
import * as React from "react"
|
|
4712
4702
|
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog"
|
|
4703
|
+
import { cn } from "cn"
|
|
4713
4704
|
|
|
4714
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
4715
4705
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
4716
4706
|
import { XIcon } from "lucide-react"
|
|
4717
4707
|
|
|
@@ -4884,8 +4874,7 @@ export {
|
|
|
4884
4874
|
|
|
4885
4875
|
import * as React from "react"
|
|
4886
4876
|
import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer"
|
|
4887
|
-
|
|
4888
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
4877
|
+
import { cn } from "cn"
|
|
4889
4878
|
|
|
4890
4879
|
type DrawerContextProps = {
|
|
4891
4880
|
hasSnapPoints: boolean
|
|
@@ -5116,8 +5105,7 @@ export {
|
|
|
5116
5105
|
|
|
5117
5106
|
import * as React from "react"
|
|
5118
5107
|
import { Menu as MenuPrimitive } from "@base-ui/react/menu"
|
|
5119
|
-
|
|
5120
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
5108
|
+
import { cn } from "cn"
|
|
5121
5109
|
import { ChevronRightIcon, CheckIcon } from "lucide-react"
|
|
5122
5110
|
|
|
5123
5111
|
function DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {
|
|
@@ -5385,8 +5373,7 @@ export {
|
|
|
5385
5373
|
{
|
|
5386
5374
|
filename: "packages/ui/src/components/empty.tsx",
|
|
5387
5375
|
template: `import { cva, type VariantProps } from "class-variance-authority"
|
|
5388
|
-
|
|
5389
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
5376
|
+
import { cn } from "cn"
|
|
5390
5377
|
|
|
5391
5378
|
function Empty({ className, ...props }: React.ComponentProps<"div">) {
|
|
5392
5379
|
return (
|
|
@@ -5496,8 +5483,8 @@ export {
|
|
|
5496
5483
|
|
|
5497
5484
|
import { useMemo } from "react"
|
|
5498
5485
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
5486
|
+
import { cn } from "cn"
|
|
5499
5487
|
|
|
5500
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
5501
5488
|
import { Label } from "@<%= projectName %>/ui/components/label"
|
|
5502
5489
|
import { Separator } from "@<%= projectName %>/ui/components/separator"
|
|
5503
5490
|
|
|
@@ -5737,8 +5724,7 @@ export {
|
|
|
5737
5724
|
template: `"use client"
|
|
5738
5725
|
|
|
5739
5726
|
import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card"
|
|
5740
|
-
|
|
5741
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
5727
|
+
import { cn } from "cn"
|
|
5742
5728
|
|
|
5743
5729
|
function HoverCard({ ...props }: PreviewCardPrimitive.Root.Props) {
|
|
5744
5730
|
return <PreviewCardPrimitive.Root data-slot="hover-card" {...props} />
|
|
@@ -5792,8 +5778,8 @@ export { HoverCard, HoverCardTrigger, HoverCardContent }
|
|
|
5792
5778
|
template: `import { mergeProps } from "@base-ui/react/merge-props"
|
|
5793
5779
|
import { useRender } from "@base-ui/react/use-render"
|
|
5794
5780
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
5781
|
+
import { cn } from "cn"
|
|
5795
5782
|
|
|
5796
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
5797
5783
|
import { Separator } from "@<%= projectName %>/ui/components/separator"
|
|
5798
5784
|
|
|
5799
5785
|
const buttonGroupVariants = cva(
|
|
@@ -5884,8 +5870,8 @@ export {
|
|
|
5884
5870
|
|
|
5885
5871
|
import * as React from "react"
|
|
5886
5872
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
5873
|
+
import { cn } from "cn"
|
|
5887
5874
|
|
|
5888
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
5889
5875
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
5890
5876
|
import { Input } from "@<%= projectName %>/ui/components/input"
|
|
5891
5877
|
import { Textarea } from "@<%= projectName %>/ui/components/textarea"
|
|
@@ -6046,8 +6032,8 @@ export {
|
|
|
6046
6032
|
import { mergeProps } from "@base-ui/react/merge-props"
|
|
6047
6033
|
import { useRender } from "@base-ui/react/use-render"
|
|
6048
6034
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
6035
|
+
import { cn } from "cn"
|
|
6049
6036
|
|
|
6050
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6051
6037
|
import { Separator } from "@<%= projectName %>/ui/components/separator"
|
|
6052
6038
|
|
|
6053
6039
|
function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
@@ -6247,7 +6233,7 @@ export {
|
|
|
6247
6233
|
},
|
|
6248
6234
|
{
|
|
6249
6235
|
filename: "packages/ui/src/components/kbd.tsx",
|
|
6250
|
-
template: `import { cn } from "
|
|
6236
|
+
template: `import { cn } from "cn"
|
|
6251
6237
|
|
|
6252
6238
|
function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
|
|
6253
6239
|
return (
|
|
@@ -6278,8 +6264,7 @@ export { Kbd, KbdGroup }
|
|
|
6278
6264
|
{
|
|
6279
6265
|
filename: "packages/ui/src/components/native-select.tsx",
|
|
6280
6266
|
template: `import * as React from "react"
|
|
6281
|
-
|
|
6282
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6267
|
+
import { cn } from "cn"
|
|
6283
6268
|
import { ChevronDownIcon } from "lucide-react"
|
|
6284
6269
|
|
|
6285
6270
|
type NativeSelectProps = Omit<React.ComponentProps<"select">, "size"> & {
|
|
@@ -6342,7 +6327,7 @@ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption }
|
|
|
6342
6327
|
},
|
|
6343
6328
|
{
|
|
6344
6329
|
filename: "packages/ui/src/components/spinner.tsx",
|
|
6345
|
-
template: `import { cn } from "
|
|
6330
|
+
template: `import { cn } from "cn"
|
|
6346
6331
|
import { Loader2Icon } from "lucide-react"
|
|
6347
6332
|
|
|
6348
6333
|
function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
|
|
@@ -6359,9 +6344,8 @@ export { Spinner }
|
|
|
6359
6344
|
template: `"use client"
|
|
6360
6345
|
|
|
6361
6346
|
import * as React from "react"
|
|
6347
|
+
import { cn } from "cn"
|
|
6362
6348
|
import { OTPInput, OTPInputContext } from "input-otp"
|
|
6363
|
-
|
|
6364
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6365
6349
|
import { MinusIcon } from "lucide-react"
|
|
6366
6350
|
|
|
6367
6351
|
function InputOTP({
|
|
@@ -6449,8 +6433,7 @@ export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }
|
|
|
6449
6433
|
filename: "packages/ui/src/components/input.tsx",
|
|
6450
6434
|
template: `import * as React from "react"
|
|
6451
6435
|
import { Input as InputPrimitive } from "@base-ui/react/input"
|
|
6452
|
-
|
|
6453
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6436
|
+
import { cn } from "cn"
|
|
6454
6437
|
|
|
6455
6438
|
function Input({ className, type, ...props }: React.ComponentProps<"input">) {
|
|
6456
6439
|
return (
|
|
@@ -6474,8 +6457,7 @@ export { Input }
|
|
|
6474
6457
|
template: `"use client"
|
|
6475
6458
|
|
|
6476
6459
|
import * as React from "react"
|
|
6477
|
-
|
|
6478
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6460
|
+
import { cn } from "cn"
|
|
6479
6461
|
|
|
6480
6462
|
function Label({ className, ...props }: React.ComponentProps<"label">) {
|
|
6481
6463
|
return (
|
|
@@ -6500,8 +6482,8 @@ export { Label }
|
|
|
6500
6482
|
import * as React from "react"
|
|
6501
6483
|
import { Menu as MenuPrimitive } from "@base-ui/react/menu"
|
|
6502
6484
|
import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar"
|
|
6485
|
+
import { cn } from "cn"
|
|
6503
6486
|
|
|
6504
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6505
6487
|
import {
|
|
6506
6488
|
DropdownMenu,
|
|
6507
6489
|
DropdownMenuContent,
|
|
@@ -6781,8 +6763,7 @@ export {
|
|
|
6781
6763
|
filename: "packages/ui/src/components/navigation-menu.tsx",
|
|
6782
6764
|
template: `import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu"
|
|
6783
6765
|
import { cva } from "class-variance-authority"
|
|
6784
|
-
|
|
6785
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6766
|
+
import { cn } from "cn"
|
|
6786
6767
|
import { ChevronDownIcon } from "lucide-react"
|
|
6787
6768
|
|
|
6788
6769
|
function NavigationMenu({
|
|
@@ -6952,8 +6933,8 @@ export {
|
|
|
6952
6933
|
{
|
|
6953
6934
|
filename: "packages/ui/src/components/pagination.tsx",
|
|
6954
6935
|
template: `import * as React from "react"
|
|
6936
|
+
import { cn } from "cn"
|
|
6955
6937
|
|
|
6956
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
6957
6938
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
6958
6939
|
import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react"
|
|
6959
6940
|
|
|
@@ -7089,8 +7070,7 @@ export {
|
|
|
7089
7070
|
|
|
7090
7071
|
import * as React from "react"
|
|
7091
7072
|
import { Popover as PopoverPrimitive } from "@base-ui/react/popover"
|
|
7092
|
-
|
|
7093
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7073
|
+
import { cn } from "cn"
|
|
7094
7074
|
|
|
7095
7075
|
function Popover({ ...props }: PopoverPrimitive.Root.Props) {
|
|
7096
7076
|
return <PopoverPrimitive.Root data-slot="popover" {...props} />
|
|
@@ -7182,8 +7162,7 @@ export {
|
|
|
7182
7162
|
template: `"use client"
|
|
7183
7163
|
|
|
7184
7164
|
import { Progress as ProgressPrimitive } from "@base-ui/react/progress"
|
|
7185
|
-
|
|
7186
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7165
|
+
import { cn } from "cn"
|
|
7187
7166
|
|
|
7188
7167
|
function Progress({
|
|
7189
7168
|
className,
|
|
@@ -7270,8 +7249,7 @@ export {
|
|
|
7270
7249
|
|
|
7271
7250
|
import { Radio as RadioPrimitive } from "@base-ui/react/radio"
|
|
7272
7251
|
import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group"
|
|
7273
|
-
|
|
7274
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7252
|
+
import { cn } from "cn"
|
|
7275
7253
|
|
|
7276
7254
|
function RadioGroup({ className, ...props }: RadioGroupPrimitive.Props) {
|
|
7277
7255
|
return (
|
|
@@ -7310,10 +7288,9 @@ export { RadioGroup, RadioGroupItem }
|
|
|
7310
7288
|
filename: "packages/ui/src/components/resizable.tsx",
|
|
7311
7289
|
template: `"use client"
|
|
7312
7290
|
|
|
7291
|
+
import { cn } from "cn"
|
|
7313
7292
|
import * as ResizablePrimitive from "react-resizable-panels"
|
|
7314
7293
|
|
|
7315
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7316
|
-
|
|
7317
7294
|
function ResizablePanelGroup({
|
|
7318
7295
|
className,
|
|
7319
7296
|
...props
|
|
@@ -7366,8 +7343,7 @@ export { ResizableHandle, ResizablePanel, ResizablePanelGroup }
|
|
|
7366
7343
|
|
|
7367
7344
|
import * as React from "react"
|
|
7368
7345
|
import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area"
|
|
7369
|
-
|
|
7370
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7346
|
+
import { cn } from "cn"
|
|
7371
7347
|
|
|
7372
7348
|
function ScrollArea({
|
|
7373
7349
|
className,
|
|
@@ -7425,8 +7401,7 @@ export { ScrollArea, ScrollBar }
|
|
|
7425
7401
|
|
|
7426
7402
|
import * as React from "react"
|
|
7427
7403
|
import { Select as SelectPrimitive } from "@base-ui/react/select"
|
|
7428
|
-
|
|
7429
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7404
|
+
import { cn } from "cn"
|
|
7430
7405
|
import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react"
|
|
7431
7406
|
|
|
7432
7407
|
const Select = SelectPrimitive.Root
|
|
@@ -7629,8 +7604,7 @@ export {
|
|
|
7629
7604
|
template: `"use client"
|
|
7630
7605
|
|
|
7631
7606
|
import { Separator as SeparatorPrimitive } from "@base-ui/react/separator"
|
|
7632
|
-
|
|
7633
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7607
|
+
import { cn } from "cn"
|
|
7634
7608
|
|
|
7635
7609
|
function Separator({
|
|
7636
7610
|
className,
|
|
@@ -7659,8 +7633,8 @@ export { Separator }
|
|
|
7659
7633
|
|
|
7660
7634
|
import * as React from "react"
|
|
7661
7635
|
import { Dialog as SheetPrimitive } from "@base-ui/react/dialog"
|
|
7636
|
+
import { cn } from "cn"
|
|
7662
7637
|
|
|
7663
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7664
7638
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
7665
7639
|
import { XIcon } from "lucide-react"
|
|
7666
7640
|
|
|
@@ -7803,9 +7777,9 @@ import * as React from "react"
|
|
|
7803
7777
|
import { mergeProps } from "@base-ui/react/merge-props"
|
|
7804
7778
|
import { useRender } from "@base-ui/react/use-render"
|
|
7805
7779
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
7780
|
+
import { cn } from "cn"
|
|
7806
7781
|
|
|
7807
7782
|
import { useIsMobile } from "@<%= projectName %>/ui/hooks/use-mobile"
|
|
7808
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
7809
7783
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
7810
7784
|
import { Input } from "@<%= projectName %>/ui/components/input"
|
|
7811
7785
|
import { Separator } from "@<%= projectName %>/ui/components/separator"
|
|
@@ -8524,7 +8498,7 @@ export {
|
|
|
8524
8498
|
},
|
|
8525
8499
|
{
|
|
8526
8500
|
filename: "packages/ui/src/components/skeleton.tsx",
|
|
8527
|
-
template: `import { cn } from "
|
|
8501
|
+
template: `import { cn } from "cn"
|
|
8528
8502
|
|
|
8529
8503
|
function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
8530
8504
|
return (
|
|
@@ -8542,8 +8516,7 @@ export { Skeleton }
|
|
|
8542
8516
|
{
|
|
8543
8517
|
filename: "packages/ui/src/components/slider.tsx",
|
|
8544
8518
|
template: `import { Slider as SliderPrimitive } from "@base-ui/react/slider"
|
|
8545
|
-
|
|
8546
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8519
|
+
import { cn } from "cn"
|
|
8547
8520
|
|
|
8548
8521
|
function Slider({
|
|
8549
8522
|
className,
|
|
@@ -8653,8 +8626,7 @@ export { Toaster }
|
|
|
8653
8626
|
template: `"use client"
|
|
8654
8627
|
|
|
8655
8628
|
import { Switch as SwitchPrimitive } from "@base-ui/react/switch"
|
|
8656
|
-
|
|
8657
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8629
|
+
import { cn } from "cn"
|
|
8658
8630
|
|
|
8659
8631
|
function Switch({
|
|
8660
8632
|
className,
|
|
@@ -8689,8 +8661,7 @@ export { Switch }
|
|
|
8689
8661
|
template: `"use client"
|
|
8690
8662
|
|
|
8691
8663
|
import * as React from "react"
|
|
8692
|
-
|
|
8693
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8664
|
+
import { cn } from "cn"
|
|
8694
8665
|
|
|
8695
8666
|
function Table({ className, ...props }: React.ComponentProps<"table">) {
|
|
8696
8667
|
return (
|
|
@@ -8810,8 +8781,7 @@ export {
|
|
|
8810
8781
|
|
|
8811
8782
|
import { Tabs as TabsPrimitive } from "@base-ui/react/tabs"
|
|
8812
8783
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
8813
|
-
|
|
8814
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8784
|
+
import { cn } from "cn"
|
|
8815
8785
|
|
|
8816
8786
|
function Tabs({
|
|
8817
8787
|
className,
|
|
@@ -8893,8 +8863,7 @@ export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }
|
|
|
8893
8863
|
{
|
|
8894
8864
|
filename: "packages/ui/src/components/textarea.tsx",
|
|
8895
8865
|
template: `import * as React from "react"
|
|
8896
|
-
|
|
8897
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8866
|
+
import { cn } from "cn"
|
|
8898
8867
|
|
|
8899
8868
|
function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
|
|
8900
8869
|
return (
|
|
@@ -8920,8 +8889,8 @@ import * as React from "react"
|
|
|
8920
8889
|
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle"
|
|
8921
8890
|
import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group"
|
|
8922
8891
|
import { type VariantProps } from "class-variance-authority"
|
|
8892
|
+
import { cn } from "cn"
|
|
8923
8893
|
|
|
8924
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8925
8894
|
import { toggleVariants } from "@<%= projectName %>/ui/components/toggle"
|
|
8926
8895
|
|
|
8927
8896
|
const ToggleGroupContext = React.createContext<
|
|
@@ -9011,8 +8980,7 @@ export { ToggleGroup, ToggleGroupItem }
|
|
|
9011
8980
|
|
|
9012
8981
|
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle"
|
|
9013
8982
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
9014
|
-
|
|
9015
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
8983
|
+
import { cn } from "cn"
|
|
9016
8984
|
|
|
9017
8985
|
const toggleVariants = cva(
|
|
9018
8986
|
"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
@@ -9059,8 +9027,7 @@ export { Toggle, toggleVariants }
|
|
|
9059
9027
|
template: `"use client"
|
|
9060
9028
|
|
|
9061
9029
|
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip"
|
|
9062
|
-
|
|
9063
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
9030
|
+
import { cn } from "cn"
|
|
9064
9031
|
|
|
9065
9032
|
function TooltipProvider({
|
|
9066
9033
|
delay = 0,
|
|
@@ -9155,8 +9122,8 @@ export function ModeToggle() {
|
|
|
9155
9122
|
import { mergeProps } from "@base-ui/react/merge-props"
|
|
9156
9123
|
import { useRender } from "@base-ui/react/use-render"
|
|
9157
9124
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
9125
|
+
import { cn } from "cn"
|
|
9158
9126
|
|
|
9159
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
9160
9127
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
9161
9128
|
|
|
9162
9129
|
const attachmentVariants = cva(
|
|
@@ -9366,8 +9333,7 @@ export {
|
|
|
9366
9333
|
import { mergeProps } from "@base-ui/react/merge-props"
|
|
9367
9334
|
import { useRender } from "@base-ui/react/use-render"
|
|
9368
9335
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
9369
|
-
|
|
9370
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
9336
|
+
import { cn } from "cn"
|
|
9371
9337
|
|
|
9372
9338
|
function BubbleGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
9373
9339
|
return (
|
|
@@ -9498,8 +9464,7 @@ export { BubbleGroup, Bubble, BubbleContent, BubbleReactions }
|
|
|
9498
9464
|
import { mergeProps } from "@base-ui/react/merge-props"
|
|
9499
9465
|
import { useRender } from "@base-ui/react/use-render"
|
|
9500
9466
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
9501
|
-
|
|
9502
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
9467
|
+
import { cn } from "cn"
|
|
9503
9468
|
|
|
9504
9469
|
const markerVariants = cva(
|
|
9505
9470
|
"group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground",
|
|
@@ -9570,8 +9535,7 @@ export { Marker, MarkerIcon, MarkerContent, markerVariants }
|
|
|
9570
9535
|
{
|
|
9571
9536
|
filename: "packages/ui/src/components/message.tsx",
|
|
9572
9537
|
template: `import * as React from "react"
|
|
9573
|
-
|
|
9574
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
9538
|
+
import { cn } from "cn"
|
|
9575
9539
|
|
|
9576
9540
|
function MessageGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
9577
9541
|
return (
|
|
@@ -9674,8 +9638,8 @@ import {
|
|
|
9674
9638
|
useMessageScrollerScrollable,
|
|
9675
9639
|
useMessageScrollerVisibility,
|
|
9676
9640
|
} from "@shadcn/react/message-scroller"
|
|
9641
|
+
import { cn } from "cn"
|
|
9677
9642
|
|
|
9678
|
-
import { cn } from "@<%= projectName %>/ui/lib/utils"
|
|
9679
9643
|
import { Button } from "@<%= projectName %>/ui/components/button"
|
|
9680
9644
|
import { ArrowDownIcon } from "lucide-react"
|
|
9681
9645
|
|
|
@@ -9709,7 +9673,7 @@ function MessageScrollerViewport({
|
|
|
9709
9673
|
<MessageScrollerPrimitive.Viewport
|
|
9710
9674
|
data-slot="message-scroller-viewport"
|
|
9711
9675
|
className={cn(
|
|
9712
|
-
"size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent",
|
|
9676
|
+
"size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible",
|
|
9713
9677
|
className
|
|
9714
9678
|
)}
|
|
9715
9679
|
{...props}
|
|
@@ -10295,7 +10259,7 @@ export default function Home() {
|
|
|
10295
10259
|
const { data: session, isPending } = authClient.useSession();
|
|
10296
10260
|
|
|
10297
10261
|
const { data: hello } = useQuery({
|
|
10298
|
-
queryKey: ['hello'],
|
|
10262
|
+
queryKey: ['hello', session?.user.id],
|
|
10299
10263
|
queryFn: () => fetch('/api/hello').then((r) => r.json()),
|
|
10300
10264
|
});
|
|
10301
10265
|
|
|
@@ -10676,7 +10640,8 @@ var package_json_default$1 = {
|
|
|
10676
10640
|
},
|
|
10677
10641
|
"devDependencies": {
|
|
10678
10642
|
"@eslint/js": "<%= versions["@eslint/js"] %>",
|
|
10679
|
-
"@next/eslint-plugin-next": "<%= versions["@next/eslint-plugin-next"] %>"
|
|
10643
|
+
"@next/eslint-plugin-next": "<%= versions["@next/eslint-plugin-next"] %>",<% if (shadcn) { %>
|
|
10644
|
+
"@shadcn/lint": "<%= versions["@shadcn/lint"] %>",<% } %>
|
|
10680
10645
|
"eslint": "<%= versions.eslint %>",
|
|
10681
10646
|
"eslint-config-prettier": "<%= versions["eslint-config-prettier"] %>",
|
|
10682
10647
|
"eslint-plugin-only-warn": "<%= versions["eslint-plugin-only-warn"] %>",
|
|
@@ -10738,7 +10703,8 @@ import pluginReactHooks from "eslint-plugin-react-hooks";
|
|
|
10738
10703
|
import pluginReact from "eslint-plugin-react";
|
|
10739
10704
|
import globals from "globals";
|
|
10740
10705
|
import pluginNext from "@next/eslint-plugin-next";
|
|
10741
|
-
import { config as baseConfig } from "./base.js"
|
|
10706
|
+
import { config as baseConfig } from "./base.js";<% if (shadcn) { %>
|
|
10707
|
+
import { plugin as shadcn } from "@shadcn/lint";<% } %>
|
|
10742
10708
|
|
|
10743
10709
|
/**
|
|
10744
10710
|
* A custom ESLint configuration for libraries that use Next.js.
|
|
@@ -10786,7 +10752,16 @@ export const nextJsConfig = [
|
|
|
10786
10752
|
// React scope no longer necessary with new JSX transform.
|
|
10787
10753
|
"react/react-in-jsx-scope": "off",
|
|
10788
10754
|
},
|
|
10789
|
-
}
|
|
10755
|
+
},<% if (shadcn) { %>
|
|
10756
|
+
{
|
|
10757
|
+
plugins: { shadcn },
|
|
10758
|
+
rules: {
|
|
10759
|
+
"shadcn/no-restyle": ["error", { allow: ["layout"] }],
|
|
10760
|
+
"shadcn/no-raw-colors": "error",
|
|
10761
|
+
"shadcn/no-arbitrary-values": ["error", { allow: ["layout"] }],
|
|
10762
|
+
"shadcn/require-static-classes": "error",
|
|
10763
|
+
},
|
|
10764
|
+
},<% } %>
|
|
10790
10765
|
];`
|
|
10791
10766
|
};
|
|
10792
10767
|
//#endregion
|
|
@@ -10799,7 +10774,8 @@ import tseslint from "typescript-eslint";
|
|
|
10799
10774
|
import pluginReactHooks from "eslint-plugin-react-hooks";
|
|
10800
10775
|
import pluginReact from "eslint-plugin-react";
|
|
10801
10776
|
import globals from "globals";
|
|
10802
|
-
import { config as baseConfig } from "./base.js"
|
|
10777
|
+
import { config as baseConfig } from "./base.js";<% if (shadcn) { %>
|
|
10778
|
+
import { plugin as shadcn } from "@shadcn/lint";<% } %>
|
|
10803
10779
|
|
|
10804
10780
|
/**
|
|
10805
10781
|
* A custom ESLint configuration for libraries that use React.
|
|
@@ -10831,7 +10807,24 @@ export const config = [
|
|
|
10831
10807
|
"react/react-in-jsx-scope": "off",
|
|
10832
10808
|
"react/prop-types": "off",
|
|
10833
10809
|
},
|
|
10810
|
+
},<% if (shadcn) { %>
|
|
10811
|
+
{
|
|
10812
|
+
plugins: { shadcn },
|
|
10813
|
+
rules: {
|
|
10814
|
+
"shadcn/no-restyle": ["error", { allow: ["layout"] }],
|
|
10815
|
+
"shadcn/no-raw-colors": "error",
|
|
10816
|
+
"shadcn/no-arbitrary-values": ["error", { allow: ["layout"] }],
|
|
10817
|
+
"shadcn/require-static-classes": "error",
|
|
10818
|
+
},
|
|
10834
10819
|
},
|
|
10820
|
+
{
|
|
10821
|
+
files: ["src/components/**"],
|
|
10822
|
+
rules: {
|
|
10823
|
+
"shadcn/no-restyle": "off",
|
|
10824
|
+
"shadcn/no-arbitrary-values": "off",
|
|
10825
|
+
"shadcn/require-static-classes": "off",
|
|
10826
|
+
},
|
|
10827
|
+
},<% } %>
|
|
10835
10828
|
];`
|
|
10836
10829
|
};
|
|
10837
10830
|
//#endregion
|
|
@@ -10899,6 +10892,13 @@ var prettierrc_default = {
|
|
|
10899
10892
|
template: `{}`
|
|
10900
10893
|
};
|
|
10901
10894
|
//#endregion
|
|
10895
|
+
//#region src/templates/root/templates/prettierignore.ts
|
|
10896
|
+
var prettierignore_default = {
|
|
10897
|
+
filename: ".prettierignore",
|
|
10898
|
+
template: `pnpm-lock.yaml
|
|
10899
|
+
`
|
|
10900
|
+
};
|
|
10901
|
+
//#endregion
|
|
10902
10902
|
//#region src/templates/eslint-config/index.ts
|
|
10903
10903
|
const web = "apps/web";
|
|
10904
10904
|
const api = "apps/api";
|
|
@@ -10913,7 +10913,8 @@ const eslintConfig = {
|
|
|
10913
10913
|
eslint_config_default$2,
|
|
10914
10914
|
eslint_config_default$1,
|
|
10915
10915
|
eslint_config_default,
|
|
10916
|
-
prettierrc_default
|
|
10916
|
+
prettierrc_default,
|
|
10917
|
+
prettierignore_default
|
|
10917
10918
|
],
|
|
10918
10919
|
packages: [
|
|
10919
10920
|
{
|
|
@@ -11034,9 +11035,9 @@ var oxlintrc_default = {
|
|
|
11034
11035
|
"categories": {
|
|
11035
11036
|
"correctness": "error"
|
|
11036
11037
|
}<% if (antiSlop) { %>,
|
|
11037
|
-
"ignorePatterns": ["tools/oxlint/anti-slop/**"]
|
|
11038
|
-
"jsPlugins": [{ "name": "anti-slop", "specifier": "./tools/oxlint/anti-slop/index.ts" }],
|
|
11039
|
-
"rules": {
|
|
11038
|
+
"ignorePatterns": ["tools/oxlint/anti-slop/**"]<% } %><% if (antiSlop || shadcn) { %>,
|
|
11039
|
+
"jsPlugins": [<% if (antiSlop) { %>{ "name": "anti-slop", "specifier": "./tools/oxlint/anti-slop/index.ts" }<% } %><% if (antiSlop && shadcn) { %>, <% } %><% if (shadcn) { %>"@shadcn/lint"<% } %>],
|
|
11040
|
+
"rules": {<% if (antiSlop) { %>
|
|
11040
11041
|
"anti-slop/no-chained-type-assertions": "error",
|
|
11041
11042
|
"anti-slop/no-conditional-empty-object-spread": "error",
|
|
11042
11043
|
"anti-slop/no-known-value-widening": "error",
|
|
@@ -11051,12 +11052,16 @@ var oxlintrc_default = {
|
|
|
11051
11052
|
"anti-slop/no-unknown-type-aliases": "error",
|
|
11052
11053
|
"anti-slop/no-unsafe-dictionary-type": "error",
|
|
11053
11054
|
"anti-slop/no-widen-then-assert": "error",
|
|
11054
|
-
"anti-slop/require-safety-comment-for-type-assertion": "error"
|
|
11055
|
-
|
|
11055
|
+
"anti-slop/require-safety-comment-for-type-assertion": "error"<% if (shadcn) { %>,<% } %><% } %><% if (shadcn) { %>
|
|
11056
|
+
"shadcn/no-restyle": ["error", { "allow": ["layout"] }],
|
|
11057
|
+
"shadcn/no-raw-colors": "error",
|
|
11058
|
+
"shadcn/no-arbitrary-values": ["error", { "allow": ["layout"] }],
|
|
11059
|
+
"shadcn/require-static-classes": "error"<% } %>
|
|
11060
|
+
}<% } %><% if (shadcn) { %>,
|
|
11056
11061
|
"overrides": [
|
|
11057
11062
|
{
|
|
11058
11063
|
"files": ["packages/ui/src/components/**"],
|
|
11059
|
-
"rules": {
|
|
11064
|
+
"rules": {<% if (antiSlop) { %>
|
|
11060
11065
|
"anti-slop/no-chained-type-assertions": "off",
|
|
11061
11066
|
"anti-slop/no-conditional-empty-object-spread": "off",
|
|
11062
11067
|
"anti-slop/no-known-value-widening": "off",
|
|
@@ -11071,10 +11076,13 @@ var oxlintrc_default = {
|
|
|
11071
11076
|
"anti-slop/no-unknown-type-aliases": "off",
|
|
11072
11077
|
"anti-slop/no-unsafe-dictionary-type": "off",
|
|
11073
11078
|
"anti-slop/no-widen-then-assert": "off",
|
|
11074
|
-
"anti-slop/require-safety-comment-for-type-assertion": "off"
|
|
11079
|
+
"anti-slop/require-safety-comment-for-type-assertion": "off",<% } %>
|
|
11080
|
+
"shadcn/no-restyle": "off",
|
|
11081
|
+
"shadcn/no-arbitrary-values": "off",
|
|
11082
|
+
"shadcn/require-static-classes": "off"
|
|
11075
11083
|
}
|
|
11076
11084
|
}
|
|
11077
|
-
]<% }
|
|
11085
|
+
]<% } %>
|
|
11078
11086
|
}`
|
|
11079
11087
|
};
|
|
11080
11088
|
//#endregion
|
|
@@ -11877,10 +11885,8 @@ const nestDiOnly = { templates: [
|
|
|
11877
11885
|
"outDir": "./dist",
|
|
11878
11886
|
"rootDir": "./src",
|
|
11879
11887
|
"skipLibCheck": true,
|
|
11880
|
-
"
|
|
11888
|
+
"strict": true,
|
|
11881
11889
|
"forceConsistentCasingInFileNames": true,
|
|
11882
|
-
"noImplicitAny": false,
|
|
11883
|
-
"strictBindCallApply": false,
|
|
11884
11890
|
"noFallthroughCasesInSwitch": false,
|
|
11885
11891
|
"types": [<% if (testing === 'jest') { %>"jest", <% } %><% if (testing === 'vitest') { %>"vitest/globals", <% } %>"node"]
|
|
11886
11892
|
},
|
|
@@ -12818,7 +12824,7 @@ export default function Home() {
|
|
|
12818
12824
|
const { data: session, isPending } = authClient.useSession();
|
|
12819
12825
|
|
|
12820
12826
|
const { data: hello } = useQuery({
|
|
12821
|
-
queryKey: ['hello'],
|
|
12827
|
+
queryKey: ['hello', session?.user.id],
|
|
12822
12828
|
queryFn: () => fetch('/api/hello').then((r) => r.json()),
|
|
12823
12829
|
});
|
|
12824
12830
|
|
|
@@ -13014,9 +13020,8 @@ export function TodoList({
|
|
|
13014
13020
|
</span>
|
|
13015
13021
|
<Button
|
|
13016
13022
|
variant="ghost"
|
|
13017
|
-
size="sm"
|
|
13023
|
+
size="icon-sm"
|
|
13018
13024
|
onClick={() => deleteMutation.mutate(todo.id)}
|
|
13019
|
-
className="text-muted-foreground hover:text-destructive h-7 w-7 p-0"
|
|
13020
13025
|
>
|
|
13021
13026
|
×
|
|
13022
13027
|
</Button>
|
|
@@ -13046,13 +13051,13 @@ import { Link } from '@<%= projectName %>/ui/link';
|
|
|
13046
13051
|
import { Logo } from '@<%= projectName %>/ui/logo';
|
|
13047
13052
|
import { TodoList } from '@/app/todo-list';
|
|
13048
13053
|
import { ModeToggle } from '@<%= projectName %>/ui/mode-toggle';
|
|
13049
|
-
import { Card, CardContent, CardHeader
|
|
13054
|
+
import { Card, CardContent, CardHeader } from '@<%= projectName %>/ui/card';
|
|
13050
13055
|
|
|
13051
13056
|
export default function Home() {
|
|
13052
13057
|
const { data: session, isPending } = authClient.useSession();
|
|
13053
13058
|
|
|
13054
13059
|
const { data: hello } = useQuery({
|
|
13055
|
-
queryKey: ['hello'],
|
|
13060
|
+
queryKey: ['hello', session?.user.id],
|
|
13056
13061
|
queryFn: () => fetch('/api/hello').then((r) => r.json()),
|
|
13057
13062
|
});
|
|
13058
13063
|
|
|
@@ -13067,7 +13072,7 @@ export default function Home() {
|
|
|
13067
13072
|
</div>
|
|
13068
13073
|
|
|
13069
13074
|
<div className="flex items-center gap-3 py-2">
|
|
13070
|
-
<Logo className="w-10 h-auto
|
|
13075
|
+
<Logo className="w-10 h-auto" />
|
|
13071
13076
|
<div>
|
|
13072
13077
|
<h1 className="text-4xl font-black tracking-tight"><%= projectName %></h1>
|
|
13073
13078
|
<p className="text-sm text-muted-foreground tracking-widest uppercase">
|
|
@@ -13078,9 +13083,9 @@ export default function Home() {
|
|
|
13078
13083
|
|
|
13079
13084
|
<Card>
|
|
13080
13085
|
<CardHeader>
|
|
13081
|
-
<
|
|
13086
|
+
<p className="text-xs font-mono uppercase tracking-widest text-muted-foreground">
|
|
13082
13087
|
next.js
|
|
13083
|
-
</
|
|
13088
|
+
</p>
|
|
13084
13089
|
</CardHeader>
|
|
13085
13090
|
<CardContent>
|
|
13086
13091
|
<p className="font-mono text-sm text-muted-foreground">apps/web/app/layout.tsx</p>
|
|
@@ -13090,9 +13095,9 @@ export default function Home() {
|
|
|
13090
13095
|
|
|
13091
13096
|
<Card>
|
|
13092
13097
|
<CardHeader>
|
|
13093
|
-
<
|
|
13098
|
+
<p className="text-xs font-mono uppercase tracking-widest text-muted-foreground">
|
|
13094
13099
|
nest.js
|
|
13095
|
-
</
|
|
13100
|
+
</p>
|
|
13096
13101
|
</CardHeader>
|
|
13097
13102
|
<CardContent>
|
|
13098
13103
|
<p className="font-mono text-sm text-muted-foreground">GET /api/hello</p>
|
|
@@ -13104,9 +13109,9 @@ export default function Home() {
|
|
|
13104
13109
|
|
|
13105
13110
|
<Card>
|
|
13106
13111
|
<CardHeader>
|
|
13107
|
-
<
|
|
13112
|
+
<p className="text-xs font-mono uppercase tracking-widest text-muted-foreground">
|
|
13108
13113
|
better-auth
|
|
13109
|
-
</
|
|
13114
|
+
</p>
|
|
13110
13115
|
</CardHeader>
|
|
13111
13116
|
<CardContent>
|
|
13112
13117
|
{isPending ? (
|
|
@@ -13400,7 +13405,7 @@ export default function Home() {
|
|
|
13400
13405
|
const { data: session, isPending } = authClient.useSession();
|
|
13401
13406
|
|
|
13402
13407
|
const { data: hello } = useQuery({
|
|
13403
|
-
queryKey: ['hello'],
|
|
13408
|
+
queryKey: ['hello', session?.user.id],
|
|
13404
13409
|
queryFn: () => fetch('/api/hello').then((r) => r.json()),
|
|
13405
13410
|
});
|
|
13406
13411
|
|