@maiyunnet/kebab 9.0.2 → 9.1.1
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/LICENSE +0 -0
- package/README.md +0 -0
- package/bin/kebab.js +0 -0
- package/doc/kebab-rag.md +616 -616
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/ai.d.ts +0 -0
- package/lib/ai.js +0 -0
- package/lib/buffer.d.ts +0 -0
- package/lib/buffer.js +0 -0
- package/lib/captcha/zcool-addict-italic.ttf +0 -0
- package/lib/captcha.d.ts +0 -0
- package/lib/captcha.js +0 -0
- package/lib/consistent.d.ts +0 -0
- package/lib/consistent.js +0 -0
- package/lib/core.d.ts +0 -0
- package/lib/core.js +0 -0
- package/lib/cron.d.ts +0 -0
- package/lib/cron.js +0 -0
- package/lib/crypto.d.ts +0 -0
- package/lib/crypto.js +0 -0
- package/lib/db/conn.d.ts +0 -0
- package/lib/db/conn.js +0 -0
- package/lib/db/pool.d.ts +0 -0
- package/lib/db/pool.js +0 -0
- package/lib/db/tran.d.ts +0 -0
- package/lib/db/tran.js +8 -8
- package/lib/db.d.ts +0 -0
- package/lib/db.js +0 -0
- package/lib/dns.d.ts +0 -0
- package/lib/dns.js +0 -0
- package/lib/fs.d.ts +0 -0
- package/lib/fs.js +0 -0
- package/lib/kv.d.ts +0 -0
- package/lib/kv.js +0 -0
- package/lib/lan.d.ts +0 -0
- package/lib/lan.js +0 -0
- package/lib/lang.d.ts +0 -0
- package/lib/lang.js +0 -0
- package/lib/net/cacert.pem +0 -0
- package/lib/net/formdata.d.ts +0 -0
- package/lib/net/formdata.js +0 -0
- package/lib/net/request.d.ts +0 -0
- package/lib/net/request.js +0 -0
- package/lib/net/response.d.ts +0 -0
- package/lib/net/response.js +0 -0
- package/lib/net.d.ts +0 -0
- package/lib/net.js +0 -0
- package/lib/ratelimit.d.ts +0 -0
- package/lib/ratelimit.js +0 -0
- package/lib/s3.d.ts +0 -0
- package/lib/s3.js +0 -0
- package/lib/scan.d.ts +0 -0
- package/lib/scan.js +0 -0
- package/lib/session.d.ts +0 -0
- package/lib/session.js +6 -1
- package/lib/socket.d.ts +0 -0
- package/lib/socket.js +0 -0
- package/lib/sql.d.ts +0 -0
- package/lib/sql.js +0 -0
- package/lib/ssh/sftp.d.ts +0 -0
- package/lib/ssh/sftp.js +0 -0
- package/lib/ssh/shell.d.ts +0 -0
- package/lib/ssh/shell.js +0 -0
- package/lib/ssh.d.ts +0 -0
- package/lib/ssh.js +0 -0
- package/lib/text/tld.json +0 -0
- package/lib/text.d.ts +0 -0
- package/lib/text.js +0 -0
- package/lib/time.d.ts +0 -0
- package/lib/time.js +0 -0
- package/lib/turnstile.d.ts +0 -0
- package/lib/turnstile.js +0 -0
- package/lib/vector.d.ts +0 -0
- package/lib/vector.js +0 -0
- package/lib/ws.d.ts +0 -0
- package/lib/ws.js +0 -0
- package/lib/zip.d.ts +0 -0
- package/lib/zip.js +0 -0
- package/lib/zlib.d.ts +0 -0
- package/lib/zlib.js +0 -0
- package/main.d.ts +0 -0
- package/main.js +0 -0
- package/package.json +9 -2
- package/sys/child.d.ts +0 -0
- package/sys/child.js +0 -0
- package/sys/cmd.d.ts +0 -0
- package/sys/cmd.js +69 -42
- package/sys/ctr.d.ts +16 -4
- package/sys/ctr.js +108 -45
- package/sys/master.d.ts +0 -0
- package/sys/master.js +0 -0
- package/sys/mod.d.ts +0 -0
- package/sys/mod.js +0 -0
- package/sys/monitor/watchdog.d.ts +0 -0
- package/sys/monitor/watchdog.js +0 -0
- package/sys/monitor.d.ts +0 -0
- package/sys/monitor.js +1 -1
- package/sys/route.d.ts +0 -0
- package/sys/route.js +31 -2
- package/www/example/ctr/main.d.ts +0 -0
- package/www/example/ctr/main.js +0 -0
- package/www/example/ctr/middle.d.ts +0 -0
- package/www/example/ctr/middle.js +0 -0
- package/www/example/ctr/test.d.ts +4 -0
- package/www/example/ctr/test.js +12 -3
- package/www/example/data/locale/en.test.json +0 -0
- package/www/example/data/locale/index.html +0 -0
- package/www/example/data/locale/ja.test.json +0 -0
- package/www/example/data/locale/sc.test.json +0 -0
- package/www/example/data/locale/tc.test.json +0 -0
- package/www/example/data/test.zip +0 -0
- package/www/example/kebab.json +0 -0
- package/www/example/mod/test.d.ts +0 -0
- package/www/example/mod/test.js +0 -0
- package/www/example/mod/testdata.d.ts +0 -0
- package/www/example/mod/testdata.js +0 -0
- package/www/example/route.json +0 -0
- package/www/example/stc/chunk-YJ3GYATF.js +81 -0
- package/www/example/stc/lib/ui/checkbox.d.ts +9 -0
- package/www/example/stc/lib/ui/checkbox.js +11 -0
- package/www/example/stc/lib/ui/checkbox.tsx +30 -0
- package/www/example/stc/lib/ui/input.d.ts +3 -0
- package/www/example/stc/lib/ui/input.js +10 -0
- package/www/example/stc/lib/ui/input.tsx +24 -0
- package/www/example/stc/lib/ui/label.d.ts +11 -0
- package/www/example/stc/lib/ui/label.js +13 -0
- package/www/example/stc/lib/ui/label.tsx +24 -0
- package/www/example/stc/lib/ui/switch.d.ts +9 -0
- package/www/example/stc/lib/ui/switch.js +11 -0
- package/www/example/stc/lib/ui/switch.tsx +31 -0
- package/www/example/stc/lib/utils.d.ts +7 -0
- package/www/example/stc/lib/utils.js +10 -0
- package/www/example/stc/view/hello.page.bundle.js +1 -0
- package/www/example/stc/view/hello.page.css +2 -0
- package/www/example/stc/view/hello.page.d.ts +17 -0
- package/www/example/stc/view/hello.page.js +15 -0
- package/www/example/stc/view/hello.page.tsx +49 -0
- package/www/example/stc/view/react-router.page.bundle.js +1 -0
- package/www/example/stc/view/react-router.page.css +2 -0
- package/www/example/stc/view/{react-router-page.d.ts → react-router.page.d.ts} +1 -1
- package/www/example/stc/view/{react-router-page.js → react-router.page.js} +1 -1
- package/www/example/stc/view/{react-router-page.tsx → react-router.page.tsx} +1 -1
- package/www/example/stc/view/react.page.bundle.js +26 -0
- package/www/example/stc/view/react.page.css +2 -0
- package/www/example/stc/view/{react-page.d.ts → react.page.d.ts} +16 -18
- package/www/example/stc/view/react.page.js +181 -0
- package/www/example/stc/view/{react-page.tsx → react.page.tsx} +259 -111
- package/www/example/view/test.ejs +0 -0
- package/www/example/ws/handler.d.ts +0 -0
- package/www/example/ws/handler.js +0 -0
- package/www/example/ws/main.d.ts +0 -0
- package/www/example/ws/main.js +0 -0
- package/www/example/ws/mproxy.d.ts +0 -0
- package/www/example/ws/mproxy.js +0 -0
- package/www/example/ws/rproxy.d.ts +0 -0
- package/www/example/ws/rproxy.js +0 -0
- package/www/example/ws/rsocket.d.ts +0 -0
- package/www/example/ws/rsocket.js +0 -0
- package/www/example/ws/test.d.ts +0 -0
- package/www/example/ws/test.js +0 -0
- package/www/example/stc/view/react-page.bundle.js +0 -97
- package/www/example/stc/view/react-page.css +0 -2
- package/www/example/stc/view/react-page.js +0 -136
- package/www/example/stc/view/react-router-page.bundle.js +0 -81
- package/www/example/stc/view/react-router-page.css +0 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Checkbox ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/checkbox
|
|
4
|
+
* 底层:@radix-ui/react-checkbox
|
|
5
|
+
*/
|
|
6
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
|
+
type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>;
|
|
8
|
+
export declare function Checkbox({ className, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* --- shadcn/ui Checkbox ---
|
|
4
|
+
* 来源:https://ui.shadcn.com/docs/components/checkbox
|
|
5
|
+
* 底层:@radix-ui/react-checkbox
|
|
6
|
+
*/
|
|
7
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
8
|
+
import { cn } from '../utils.js';
|
|
9
|
+
export function Checkbox({ className, ...props }) {
|
|
10
|
+
return (_jsx(CheckboxPrimitive.Root, { className: cn('peer h-4 w-4 shrink-0 rounded-sm border border-slate-300 shadow', 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-slate-400', 'disabled:cursor-not-allowed disabled:opacity-50', 'data-[state=checked]:bg-blue-600 data-[state=checked]:text-white data-[state=checked]:border-blue-600', className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: _jsx("svg", { className: "h-3 w-3", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("polyline", { points: "2,6 5,9 10,3" }) }) }) }));
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Checkbox ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/checkbox
|
|
4
|
+
* 底层:@radix-ui/react-checkbox
|
|
5
|
+
*/
|
|
6
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
|
+
import { cn } from '../utils.js';
|
|
8
|
+
|
|
9
|
+
type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>;
|
|
10
|
+
|
|
11
|
+
export function Checkbox({ className, ...props }: CheckboxProps) {
|
|
12
|
+
return (
|
|
13
|
+
<CheckboxPrimitive.Root
|
|
14
|
+
className={cn(
|
|
15
|
+
'peer h-4 w-4 shrink-0 rounded-sm border border-slate-300 shadow',
|
|
16
|
+
'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-slate-400',
|
|
17
|
+
'disabled:cursor-not-allowed disabled:opacity-50',
|
|
18
|
+
'data-[state=checked]:bg-blue-600 data-[state=checked]:text-white data-[state=checked]:border-blue-600',
|
|
19
|
+
className
|
|
20
|
+
)}
|
|
21
|
+
{...props}
|
|
22
|
+
>
|
|
23
|
+
<CheckboxPrimitive.Indicator className="flex items-center justify-center text-current">
|
|
24
|
+
<svg className="h-3 w-3" viewBox="0 0 12 12" fill="none" stroke="currentColor" strokeWidth="2">
|
|
25
|
+
<polyline points="2,6 5,9 10,3" />
|
|
26
|
+
</svg>
|
|
27
|
+
</CheckboxPrimitive.Indicator>
|
|
28
|
+
</CheckboxPrimitive.Root>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* --- shadcn/ui Input ---
|
|
4
|
+
* 来源:https://ui.shadcn.com/docs/components/input
|
|
5
|
+
* 纯 Tailwind 封装,无 Radix UI 依赖。
|
|
6
|
+
*/
|
|
7
|
+
import { cn } from '../utils.js';
|
|
8
|
+
export function Input({ className, ...props }) {
|
|
9
|
+
return (_jsx("input", { className: cn('flex h-9 w-full rounded-md border border-slate-300 bg-transparent px-3 py-1 text-sm shadow-sm transition-colors', 'file:border-0 file:bg-transparent file:text-sm file:font-medium', 'placeholder:text-slate-400', 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-blue-500', 'disabled:cursor-not-allowed disabled:opacity-50', className), ...props }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Input ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/input
|
|
4
|
+
* 纯 Tailwind 封装,无 Radix UI 依赖。
|
|
5
|
+
*/
|
|
6
|
+
import { cn } from '../utils.js';
|
|
7
|
+
|
|
8
|
+
type InputProps = React.InputHTMLAttributes<HTMLInputElement>;
|
|
9
|
+
|
|
10
|
+
export function Input({ className, ...props }: InputProps) {
|
|
11
|
+
return (
|
|
12
|
+
<input
|
|
13
|
+
className={cn(
|
|
14
|
+
'flex h-9 w-full rounded-md border border-slate-300 bg-transparent px-3 py-1 text-sm shadow-sm transition-colors',
|
|
15
|
+
'file:border-0 file:bg-transparent file:text-sm file:font-medium',
|
|
16
|
+
'placeholder:text-slate-400',
|
|
17
|
+
'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-blue-500',
|
|
18
|
+
'disabled:cursor-not-allowed disabled:opacity-50',
|
|
19
|
+
className
|
|
20
|
+
)}
|
|
21
|
+
{...props}
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Label ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/base/label
|
|
4
|
+
* 底层:@radix-ui/react-label
|
|
5
|
+
*/
|
|
6
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
7
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
8
|
+
declare const labelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
9
|
+
type LabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>;
|
|
10
|
+
export declare function Label({ className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* --- shadcn/ui Label ---
|
|
4
|
+
* 来源:https://ui.shadcn.com/docs/components/base/label
|
|
5
|
+
* 底层:@radix-ui/react-label
|
|
6
|
+
*/
|
|
7
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
8
|
+
import { cva } from 'class-variance-authority';
|
|
9
|
+
import { cn } from '../utils.js';
|
|
10
|
+
const labelVariants = cva('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70');
|
|
11
|
+
export function Label({ className, ...props }) {
|
|
12
|
+
return (_jsx(LabelPrimitive.Root, { className: cn(labelVariants(), className), ...props }));
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Label ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/base/label
|
|
4
|
+
* 底层:@radix-ui/react-label
|
|
5
|
+
*/
|
|
6
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
7
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
8
|
+
import { cn } from '../utils.js';
|
|
9
|
+
|
|
10
|
+
const labelVariants = cva(
|
|
11
|
+
'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
type LabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
|
|
15
|
+
VariantProps<typeof labelVariants>;
|
|
16
|
+
|
|
17
|
+
export function Label({ className, ...props }: LabelProps) {
|
|
18
|
+
return (
|
|
19
|
+
<LabelPrimitive.Root
|
|
20
|
+
className={cn(labelVariants(), className)}
|
|
21
|
+
{...props}
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Switch ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/switch
|
|
4
|
+
* 底层:@radix-ui/react-switch
|
|
5
|
+
*/
|
|
6
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
7
|
+
type SwitchProps = React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>;
|
|
8
|
+
export declare function Switch({ className, ...props }: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* --- shadcn/ui Switch ---
|
|
4
|
+
* 来源:https://ui.shadcn.com/docs/components/switch
|
|
5
|
+
* 底层:@radix-ui/react-switch
|
|
6
|
+
*/
|
|
7
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
8
|
+
import { cn } from '../utils.js';
|
|
9
|
+
export function Switch({ className, ...props }) {
|
|
10
|
+
return (_jsx(SwitchPrimitive.Root, { className: cn('peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2', 'disabled:cursor-not-allowed disabled:opacity-50', 'data-[state=checked]:bg-blue-600 data-[state=unchecked]:bg-slate-200', className), ...props, children: _jsx(SwitchPrimitive.Thumb, { className: cn('pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform', 'data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0') }) }));
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- shadcn/ui Switch ---
|
|
3
|
+
* 来源:https://ui.shadcn.com/docs/components/switch
|
|
4
|
+
* 底层:@radix-ui/react-switch
|
|
5
|
+
*/
|
|
6
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
7
|
+
import { cn } from '../utils.js';
|
|
8
|
+
|
|
9
|
+
type SwitchProps = React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>;
|
|
10
|
+
|
|
11
|
+
export function Switch({ className, ...props }: SwitchProps) {
|
|
12
|
+
return (
|
|
13
|
+
<SwitchPrimitive.Root
|
|
14
|
+
className={cn(
|
|
15
|
+
'peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors',
|
|
16
|
+
'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2',
|
|
17
|
+
'disabled:cursor-not-allowed disabled:opacity-50',
|
|
18
|
+
'data-[state=checked]:bg-blue-600 data-[state=unchecked]:bg-slate-200',
|
|
19
|
+
className
|
|
20
|
+
)}
|
|
21
|
+
{...props}
|
|
22
|
+
>
|
|
23
|
+
<SwitchPrimitive.Thumb
|
|
24
|
+
className={cn(
|
|
25
|
+
'pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform',
|
|
26
|
+
'data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0'
|
|
27
|
+
)}
|
|
28
|
+
/>
|
|
29
|
+
</SwitchPrimitive.Root>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as o,b as i,d as g,l as m,o as c}from"../chunk-YJ3GYATF.js";var n=o(g(),1),r=o(i(),1);var p=o(i(),1),e=o(c(),1);function l({_urlStc:t,_staticVer:u,greeting:b}){let[h,s]=(0,p.useState)(0);return(0,e.jsxs)("html",{lang:"zh-CN",children:[(0,e.jsxs)("head",{children:[(0,e.jsx)("meta",{charSet:"UTF-8"}),(0,e.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e.jsx)("title",{children:"Hello - Kebab"}),(0,e.jsx)("link",{href:`${t}view/hello.page.css?v=${u}`,rel:"stylesheet"})]}),(0,e.jsx)("body",{children:(0,e.jsxs)("div",{className:"p-8",children:[(0,e.jsx)("h1",{className:"text-2xl font-bold mb-4",children:b}),(0,e.jsx)("p",{className:"text-slate-500 mb-4",children:"\u70B9\u51FB\u6309\u94AE\u6D4B\u8BD5\u5BA2\u6237\u7AEF\u6C34\u5408\u662F\u5426\u6B63\u5E38\u5DE5\u4F5C\uFF1A"}),(0,e.jsxs)("div",{className:"flex items-center gap-4",children:[(0,e.jsx)("button",{onClick:()=>s(a=>a-1),className:"w-10 h-10 rounded-lg bg-slate-200 hover:bg-slate-300 font-bold text-xl cursor-pointer",children:"-"}),(0,e.jsx)("span",{className:"w-10 text-center tabular-nums text-lg",children:h}),(0,e.jsx)("button",{onClick:()=>s(a=>a+1),className:"w-10 h-10 rounded-lg bg-blue-500 hover:bg-blue-600 text-white font-bold text-xl cursor-pointer",children:"+"})]})]})})]})}var d=document.getElementById("__kebab_props__");if(d){let t=JSON.parse(d.textContent??"{}");typeof t._routerBase=="string"?(0,n.hydrateRoot)(document,(0,r.createElement)(m,{basename:t._routerBase},(0,r.createElement)(l,t))):(0,n.hydrateRoot)(document,(0,r.createElement)(l,t))}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-700:oklch(55.5% .163 48.998);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-28{width:calc(var(--spacing) * 28)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-green-100{background-color:var(--color-green-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-700{color:var(--color-amber-700)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-current{color:currentColor}.text-green-700{color:var(--color-green-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}@media (hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\:ring-slate-400:focus-visible{--tw-ring-color:var(--color-slate-400)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-blue-600[data-state=checked]{border-color:var(--color-blue-600)}.data-\[state\=checked\]\:bg-blue-600[data-state=checked]{background-color:var(--color-blue-600)}.data-\[state\=checked\]\:text-white[data-state=checked]{color:var(--color-white)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-slate-200[data-state=unchecked]{background-color:var(--color-slate-200)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- Kebab React 最简页面示例 ---
|
|
3
|
+
*
|
|
4
|
+
* 【写一个 React 页面最少需要什么】
|
|
5
|
+
* 1. 这个 .page.tsx 文件(组件 + IProps)
|
|
6
|
+
* 2. 一个 <link> 标签引入 CSS(如果不需要样式可省略)
|
|
7
|
+
* 3. 在 Ctr 方法里调用 _loadReactPage('view/hello', props)
|
|
8
|
+
* 其他一切由框架自动处理:SSR 渲染、import map、props 注入、客户端水合。
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactElement } from 'react';
|
|
11
|
+
interface IProps {
|
|
12
|
+
'_urlStc': string;
|
|
13
|
+
'_staticVer': string;
|
|
14
|
+
'greeting': string;
|
|
15
|
+
}
|
|
16
|
+
export default function HelloPage({ _urlStc, _staticVer, greeting }: IProps): ReactElement;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* --- Kebab React 最简页面示例 ---
|
|
4
|
+
*
|
|
5
|
+
* 【写一个 React 页面最少需要什么】
|
|
6
|
+
* 1. 这个 .page.tsx 文件(组件 + IProps)
|
|
7
|
+
* 2. 一个 <link> 标签引入 CSS(如果不需要样式可省略)
|
|
8
|
+
* 3. 在 Ctr 方法里调用 _loadReactPage('view/hello', props)
|
|
9
|
+
* 其他一切由框架自动处理:SSR 渲染、import map、props 注入、客户端水合。
|
|
10
|
+
*/
|
|
11
|
+
import { useState } from 'react';
|
|
12
|
+
export default function HelloPage({ _urlStc, _staticVer, greeting }) {
|
|
13
|
+
const [count, setCount] = useState(0);
|
|
14
|
+
return (_jsxs("html", { lang: "zh-CN", children: [_jsxs("head", { children: [_jsx("meta", { charSet: "UTF-8" }), _jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1.0" }), _jsx("title", { children: "Hello - Kebab" }), _jsx("link", { href: `${_urlStc}view/hello.page.css?v=${_staticVer}`, rel: "stylesheet" })] }), _jsx("body", { children: _jsxs("div", { className: "p-8", children: [_jsx("h1", { className: "text-2xl font-bold mb-4", children: greeting }), _jsx("p", { className: "text-slate-500 mb-4", children: "\u70B9\u51FB\u6309\u94AE\u6D4B\u8BD5\u5BA2\u6237\u7AEF\u6C34\u5408\u662F\u5426\u6B63\u5E38\u5DE5\u4F5C\uFF1A" }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { onClick: () => setCount(c => c - 1), className: "w-10 h-10 rounded-lg bg-slate-200 hover:bg-slate-300 font-bold text-xl cursor-pointer", children: "-" }), _jsx("span", { className: "w-10 text-center tabular-nums text-lg", children: count }), _jsx("button", { onClick: () => setCount(c => c + 1), className: "w-10 h-10 rounded-lg bg-blue-500 hover:bg-blue-600 text-white font-bold text-xl cursor-pointer", children: "+" })] })] }) })] }));
|
|
15
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --- Kebab React 最简页面示例 ---
|
|
3
|
+
*
|
|
4
|
+
* 【写一个 React 页面最少需要什么】
|
|
5
|
+
* 1. 这个 .page.tsx 文件(组件 + IProps)
|
|
6
|
+
* 2. 一个 <link> 标签引入 CSS(如果不需要样式可省略)
|
|
7
|
+
* 3. 在 Ctr 方法里调用 _loadReactPage('view/hello', props)
|
|
8
|
+
* 其他一切由框架自动处理:SSR 渲染、import map、props 注入、客户端水合。
|
|
9
|
+
*/
|
|
10
|
+
import { useState, type ReactElement } from 'react';
|
|
11
|
+
|
|
12
|
+
// --- 框架自动注入的常量 props,业务 props 按需加在后面 ---
|
|
13
|
+
interface IProps {
|
|
14
|
+
'_urlStc': string;
|
|
15
|
+
'_staticVer': string;
|
|
16
|
+
'greeting': string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default function HelloPage({ _urlStc, _staticVer, greeting }: IProps): ReactElement {
|
|
20
|
+
const [count, setCount] = useState(0);
|
|
21
|
+
return (
|
|
22
|
+
<html lang="zh-CN">
|
|
23
|
+
<head>
|
|
24
|
+
<meta charSet="UTF-8" />
|
|
25
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
26
|
+
<title>Hello - Kebab</title>
|
|
27
|
+
{/* 如不需要 Tailwind 可去掉此行 */}
|
|
28
|
+
<link href={`${_urlStc}view/hello.page.css?v=${_staticVer}`} rel="stylesheet" />
|
|
29
|
+
</head>
|
|
30
|
+
<body>
|
|
31
|
+
<div className="p-8">
|
|
32
|
+
<h1 className="text-2xl font-bold mb-4">{greeting}</h1>
|
|
33
|
+
<p className="text-slate-500 mb-4">点击按钮测试客户端水合是否正常工作:</p>
|
|
34
|
+
<div className="flex items-center gap-4">
|
|
35
|
+
<button
|
|
36
|
+
onClick={() => setCount(c => c - 1)}
|
|
37
|
+
className="w-10 h-10 rounded-lg bg-slate-200 hover:bg-slate-300 font-bold text-xl cursor-pointer"
|
|
38
|
+
>-</button>
|
|
39
|
+
<span className="w-10 text-center tabular-nums text-lg">{count}</span>
|
|
40
|
+
<button
|
|
41
|
+
onClick={() => setCount(c => c + 1)}
|
|
42
|
+
className="w-10 h-10 rounded-lg bg-blue-500 hover:bg-blue-600 text-white font-bold text-xl cursor-pointer"
|
|
43
|
+
>+</button>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</body>
|
|
47
|
+
</html>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as g,b as R,d as H,e as u,f as N,g as h,i as L,j as p,k as _,l as S,m as x,n as v,o as U}from"../chunk-YJ3GYATF.js";var w=g(H(),1),f=g(R(),1);var n=g(R(),1);var e=g(U(),1);function I({children:t,className:s=""}){return(0,e.jsx)("div",{className:`bg-white rounded-xl shadow-sm border border-slate-200 p-6 ${s}`,children:t})}function y({children:t,variant:s="default"}){return(0,e.jsx)("span",{className:`inline-flex px-2.5 py-0.5 rounded-md text-xs font-semibold ${{default:"bg-slate-100 text-slate-600",success:"bg-green-100 text-green-700",info:"bg-blue-100 text-blue-700"}[s]}`,children:t})}function P(){let t=({isActive:s})=>s?"px-3 py-1.5 rounded-lg bg-blue-500 text-white text-sm font-medium transition-colors":"px-3 py-1.5 rounded-lg text-slate-600 hover:bg-slate-100 text-sm font-medium transition-colors";return(0,e.jsxs)("nav",{className:"flex items-center gap-2 flex-wrap",children:[(0,e.jsx)(v,{to:"/",end:!0,className:t,children:"Home"}),(0,e.jsx)(v,{to:"/about",className:t,children:"About"}),(0,e.jsx)(v,{to:"/user",className:t,children:"Users"})]})}function C({serverTime:t,node:s}){let o=u(),[i,l]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{l(!0)},[]),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsx)("p",{className:"text-slate-600 text-sm",children:"Home page demonstrating SSR + BrowserRouter integration."}),(0,e.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-sm",children:[(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Server Render Time"}),(0,e.jsx)("div",{className:"font-mono text-slate-800",children:t})]}),(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Node.js Version"}),(0,e.jsx)("div",{className:"font-mono text-slate-800",children:s})]}),(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Current pathname (useLocation)"}),(0,e.jsx)("div",{className:"font-mono text-slate-800",children:o.pathname})]}),(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Hydration Status"}),(0,e.jsx)("div",{suppressHydrationWarning:!0,children:i?(0,e.jsx)(y,{variant:"success",children:"Hydrated"}):(0,e.jsx)(y,{children:"SSR"})})]})]}),(0,e.jsxs)("div",{className:"flex gap-2 flex-wrap mt-2",children:[(0,e.jsx)(x,{to:"/about",className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-500 hover:bg-blue-600 text-white text-xs font-medium transition-colors",children:"Go to About"}),(0,e.jsx)(x,{to:"/user",className:"inline-flex items-center px-3 py-1.5 rounded-lg border border-slate-300 hover:bg-slate-50 text-slate-700 text-xs font-medium transition-colors",children:"Go to Users"})]})]})}function $(){let t=N(),s=u();return(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("p",{className:"text-slate-600 text-sm",children:["About page: demonstrates ",(0,e.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:"useNavigate()"})," programmatic navigation."]}),(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3 text-sm",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Current pathname"}),(0,e.jsx)("div",{className:"font-mono text-slate-800",children:s.pathname})]}),(0,e.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[(0,e.jsx)("button",{onClick:()=>t("/"),className:"inline-flex items-center px-3 py-1.5 rounded-lg border border-slate-300 hover:bg-slate-50 text-slate-700 text-xs font-medium cursor-pointer transition-colors",children:"Back to Home"}),(0,e.jsx)("button",{onClick:()=>t("/user/42"),className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-500 hover:bg-blue-600 text-white text-xs font-medium cursor-pointer transition-colors",children:"Go to User #42"})]})]})}function A({users:t,urlBase:s}){let o=u(),[i,l]=(0,n.useState)(t),[r,c]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{i||(c(!0),fetch(`${s}test/react-router-page-data?path=/user`).then(a=>a.json()).then(a=>{a.result>0&&a.users&&l(a.users),c(!1)}).catch(()=>c(!1)))},[]),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsx)("p",{className:"text-slate-600 text-sm",children:"User list \u2014 click to view details (with nested /profile route)."}),(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3 text-sm",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Current pathname"}),(0,e.jsx)("div",{className:"font-mono text-slate-800",children:o.pathname})]}),r&&(0,e.jsx)("p",{className:"text-slate-400 text-sm",children:"Loading..."}),i&&(0,e.jsx)("ul",{className:"space-y-2",children:i.map(a=>(0,e.jsx)("li",{className:"flex items-center gap-3",children:(0,e.jsxs)(x,{to:`/user/${a.id}`,className:"inline-flex items-center px-3 py-1.5 rounded-lg border border-slate-200 hover:bg-slate-50 text-slate-700 text-xs font-medium transition-colors",children:[a.name," (id=",a.id,") \u2014 /user/",a.id]})},a.id))})]})}function T({user:t,urlBase:s}){let{id:o}=h(),i=N(),l=u(),[r,c]=(0,n.useState)(t?.id===o?t:void 0),[a,m]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{r?.id!==o&&(m(!0),fetch(`${s}test/react-router-page-data?path=/user/${encodeURIComponent(o??"")}`).then(d=>d.json()).then(d=>{d.result>0&&d.user&&c(d.user),m(!1)}).catch(()=>m(!1)))},[o]),(0,e.jsxs)("div",{className:"space-y-4",children:[a&&(0,e.jsx)("p",{className:"text-slate-400 text-sm",children:"Loading..."}),r&&(0,e.jsxs)("p",{className:"text-slate-700 text-sm font-medium",children:["User Detail: ",(0,e.jsx)("code",{className:"bg-slate-100 px-1.5 rounded font-mono",children:r.name}),"\xA0",(0,e.jsxs)("span",{className:"text-slate-400 text-xs",children:['(id="',o,'", email=',r.email,")"]})]}),(0,e.jsxs)("div",{className:"bg-slate-50 rounded-lg p-3 text-sm",children:[(0,e.jsx)("div",{className:"text-slate-500 text-xs mb-1",children:"Current pathname"}),(0,e.jsx)("div",{className:"font-mono text-slate-800",children:l.pathname})]}),(0,e.jsxs)("div",{className:"border border-dashed border-slate-300 rounded-lg p-4",children:[(0,e.jsxs)("p",{className:"text-slate-500 text-xs mb-3",children:["Nested route ",(0,e.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:"/user/:id/profile"})," (rendered via Outlet):"]}),(0,e.jsx)(L,{}),l.pathname===`/user/${o}`&&(0,e.jsx)(x,{to:`/user/${o}/profile`,className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-500 hover:bg-blue-600 text-white text-xs font-medium transition-colors",children:"View Profile"})]}),(0,e.jsx)("button",{onClick:()=>i("/user"),className:"inline-flex items-center px-3 py-1.5 rounded-lg border border-slate-300 hover:bg-slate-50 text-slate-700 text-xs font-medium cursor-pointer transition-colors",children:"Back to Users"})]})}function D(){let{id:t}=h(),s=u();return(0,e.jsxs)("div",{className:"bg-blue-50 rounded-lg p-3 mb-3 space-y-2 text-sm",children:[(0,e.jsx)(y,{variant:"info",children:"Nested Route Active"}),(0,e.jsxs)("div",{className:"text-slate-700",children:["Profile of user ",(0,e.jsx)("strong",{children:t})," (rendered via Outlet)"]}),(0,e.jsx)("div",{className:"font-mono text-slate-500 text-xs",children:s.pathname})]})}function W(){let t=u();return(0,e.jsxs)("div",{className:"space-y-3",children:[(0,e.jsx)("p",{className:"text-red-600 font-medium",children:"Page Not Found"}),(0,e.jsx)("div",{className:"text-slate-500 text-xs font-mono",children:t.pathname}),(0,e.jsx)(x,{to:"/",className:"inline-flex items-center px-3 py-1.5 rounded-lg bg-blue-500 text-white text-xs font-medium transition-colors hover:bg-blue-600",children:"Back to Home"})]})}function b({title:t,serverTime:s,node:o,users:i,user:l,_urlBase:r,_urlStc:c,_staticVer:a,_importMapJson:m,_hydrateScript:d,_propsJson:k}){return(0,e.jsxs)("html",{lang:"en",children:[(0,e.jsxs)("head",{children:[(0,e.jsx)("meta",{charSet:"UTF-8"}),(0,e.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),(0,e.jsx)("title",{suppressHydrationWarning:!0,children:t}),m?(0,e.jsx)("script",{src:"https://cdn.tailwindcss.com"}):(0,e.jsx)("link",{rel:"stylesheet",href:`${c}view/react-router-page.css?v=${a}`}),m&&(0,e.jsx)("script",{type:"importmap",dangerouslySetInnerHTML:{__html:m}})]}),(0,e.jsxs)("body",{className:"bg-slate-50 min-h-screen",children:[(0,e.jsxs)("div",{className:"max-w-2xl mx-auto px-4 py-10 space-y-6",children:[(0,e.jsxs)("div",{className:"flex items-start justify-between",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h1",{className:"text-2xl font-bold text-slate-900",children:"Kebab React Router"}),(0,e.jsxs)("p",{className:"text-slate-500 mt-1 text-sm",children:[(0,e.jsx)("code",{className:"bg-slate-100 px-1.5 py-0.5 rounded font-mono text-xs",children:"router: 'browser'"}),"\xA0mode \u2014 URL synced with routes"]})]}),(0,e.jsx)("a",{href:`${r}`,className:"text-xs text-slate-400 hover:text-slate-600 transition-colors mt-1",children:"Back to Index"})]}),(0,e.jsx)("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 px-4 py-3",children:(0,e.jsx)(P,{})}),(0,e.jsx)("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:(0,e.jsxs)(_,{children:[(0,e.jsx)(p,{path:"/",element:(0,e.jsx)(C,{serverTime:s,node:o})}),(0,e.jsx)(p,{path:"/about",element:(0,e.jsx)($,{})}),(0,e.jsx)(p,{path:"/user",element:(0,e.jsx)(A,{users:i,urlBase:r})}),(0,e.jsx)(p,{path:"/user/:id",element:(0,e.jsx)(T,{user:l,urlBase:r}),children:(0,e.jsx)(p,{path:"profile",element:(0,e.jsx)(D,{})})}),(0,e.jsx)(p,{path:"*",element:(0,e.jsx)(W,{})})]})}),(0,e.jsxs)(I,{className:"text-xs text-slate-500 space-y-1.5",children:[(0,e.jsx)("p",{className:"font-semibold text-slate-700 text-sm",children:"How It Works"}),(0,e.jsxs)("p",{children:["\u2022 Server: framework wraps with ",(0,e.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:"StaticRouter"})," to SSR the matching route"]}),(0,e.jsxs)("p",{children:["\u2022 Client: hydration script wraps with ",(0,e.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:"BrowserRouter"})," for URL-synced navigation"]}),(0,e.jsxs)("p",{children:["\u2022 Data: one backend method (",(0,e.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:"_getRouteData"}),") serves both SSR props and SPA API"]}),(0,e.jsxs)("p",{children:["\u2022 Deep links like ",(0,e.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:"/test/react-router-page/user/42"})," work out of the box"]})]})]}),k&&(0,e.jsx)("script",{id:"__kebab_props__",type:"application/json",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:k}}),d&&(0,e.jsx)("script",{type:"module",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:d}})]})]})}var B=document.getElementById("__kebab_props__");if(B){let t=JSON.parse(B.textContent??"{}");typeof t._routerBase=="string"?(0,w.hydrateRoot)(document,(0,f.createElement)(S,{basename:t._routerBase},(0,f.createElement)(b,t))):(0,w.hydrateRoot)(document,(0,f.createElement)(b,t))}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-700:oklch(55.5% .163 48.998);--color-green-100:oklch(96.2% .044 156.743);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-28{width:calc(var(--spacing) * 28)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-green-100{background-color:var(--color-green-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-700{color:var(--color-amber-700)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-current{color:currentColor}.text-green-700{color:var(--color-green-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}@media (hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\:ring-slate-400:focus-visible{--tw-ring-color:var(--color-slate-400)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-blue-600[data-state=checked]{border-color:var(--color-blue-600)}.data-\[state\=checked\]\:bg-blue-600[data-state=checked]{background-color:var(--color-blue-600)}.data-\[state\=checked\]\:text-white[data-state=checked]{color:var(--color-white)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-slate-200[data-state=unchecked]{background-color:var(--color-slate-200)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
/**
|
|
3
3
|
* --- Kebab React BrowserRouter 全页面示例组件 ---
|
|
4
4
|
*
|
|
5
|
-
* node ./source/main build -d
|
|
5
|
+
* node ./source/main build -d source/www/example/stc
|
|
6
6
|
*
|
|
7
7
|
* 【特性】
|
|
8
8
|
* 本组件演示 _loadReactPage 的 router: 'browser' 模式,实现地址栏与路由联动:
|