mtxuilib 0.1.569 → 0.1.577

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.
@@ -49,35 +49,35 @@ const extensions = [
49
49
  },
50
50
  }),
51
51
  ];
52
- const content = `
53
- <h2>
54
- Hi there,
55
- </h2>
56
- <p>
57
- this is a <em>basic</em> example of <strong>tiptap</strong>. Sure, there are all kind of basic text styles you’d probably expect from a text editor. But wait until you see the lists:
58
- </p>
59
- <ul>
60
- <li>
61
- That’s a bullet list with one …
62
- </li>
63
- <li>
64
- … or two list items.
65
- </li>
66
- </ul>
67
- <p>
68
- Isn’t that great? And all of that is editable. But wait, there’s more. Let’s try a code block:
69
- </p>
70
- <pre><code class="language-css">body {
71
- display: none;
72
- }</code></pre>
73
- <p>
74
- I know, I know, this is impressive. It’s only the tip of the iceberg though. Give it a try and click a little bit around. Don’t forget to check the other examples too.
75
- </p>
76
- <blockquote>
77
- Wow, that’s amazing. Good work, boy! 👏
78
- <br />
79
- — Mom
80
- </blockquote>
52
+ const content = `
53
+ <h2>
54
+ Hi there,
55
+ </h2>
56
+ <p>
57
+ this is a <em>basic</em> example of <strong>tiptap</strong>. Sure, there are all kind of basic text styles you’d probably expect from a text editor. But wait until you see the lists:
58
+ </p>
59
+ <ul>
60
+ <li>
61
+ That’s a bullet list with one …
62
+ </li>
63
+ <li>
64
+ … or two list items.
65
+ </li>
66
+ </ul>
67
+ <p>
68
+ Isn’t that great? And all of that is editable. But wait, there’s more. Let’s try a code block:
69
+ </p>
70
+ <pre><code class="language-css">body {
71
+ display: none;
72
+ }</code></pre>
73
+ <p>
74
+ I know, I know, this is impressive. It’s only the tip of the iceberg though. Give it a try and click a little bit around. Don’t forget to check the other examples too.
75
+ </p>
76
+ <blockquote>
77
+ Wow, that’s amazing. Good work, boy! 👏
78
+ <br />
79
+ — Mom
80
+ </blockquote>
81
81
  `;
82
82
  export default function TiptapDemo1() {
83
83
  return (_jsx(EditorProvider, { slotBefore: _jsx(MenuBar, {}), extensions: extensions, content: content, children: _jsx(_Fragment, {}) }));
@@ -1 +1,3 @@
1
+ import * as React from "react";
1
2
  export declare function useMounted(): boolean;
3
+ export declare function useMountedEffect(effect: React.EffectCallback): void;
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import { useEffect } from "react";
2
3
  export function useMounted() {
3
4
  const [mounted, setMounted] = React.useState(false);
4
5
  React.useEffect(() => {
@@ -6,3 +7,7 @@ export function useMounted() {
6
7
  }, []);
7
8
  return mounted;
8
9
  }
10
+ export function useMountedEffect(effect) {
11
+ const mounted = useMounted();
12
+ useEffect(effect, [mounted]);
13
+ }
@@ -0,0 +1 @@
1
+ export declare const useLeaveConfirm: (shouldPreventLeave: boolean) => void;
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { useEffect } from "react";
3
+ export const useLeaveConfirm = (shouldPreventLeave) => {
4
+ useEffect(() => {
5
+ const handleWindowClose = (e) => {
6
+ if (!shouldPreventLeave)
7
+ return;
8
+ e.preventDefault();
9
+ return (e.returnValue = "");
10
+ };
11
+ const handleBrowseAway = () => {
12
+ if (!shouldPreventLeave)
13
+ return;
14
+ if (window.confirm("You have unsaved changes. Are you sure you want to leave?")) {
15
+ return;
16
+ }
17
+ throw new Error("Route change was aborted");
18
+ };
19
+ window.addEventListener("beforeunload", handleWindowClose);
20
+ window.addEventListener("popstate", handleBrowseAway);
21
+ return () => {
22
+ window.removeEventListener("beforeunload", handleWindowClose);
23
+ window.removeEventListener("popstate", handleBrowseAway);
24
+ };
25
+ }, [shouldPreventLeave]);
26
+ };
@@ -1,31 +1,31 @@
1
- import * as React from 'react';
2
- declare function IconNextChat({ className, inverted, ...props }: React.ComponentProps<'svg'> & {
1
+ import * as React from "react";
2
+ declare function IconNextChat({ className, inverted, ...props }: React.ComponentProps<"svg"> & {
3
3
  inverted?: boolean;
4
4
  }): import("react/jsx-runtime").JSX.Element;
5
- declare function IconOpenAI({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
6
- declare function IconVercel({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
7
- declare function IconGitHub({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
8
- declare function IconSeparator({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
9
- declare function IconArrowDown({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
10
- declare function IconArrowRight({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
11
- declare function IconUser({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
12
- declare function IconPlus({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
13
- declare function IconArrowElbow({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
14
- declare function IconSpinner({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
15
- declare function IconMessage({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
16
- declare function IconTrash({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
17
- declare function IconRefresh({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
18
- declare function IconStop({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
19
- declare function IconSidebar({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
20
- declare function IconMoon({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
21
- declare function IconSun({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
22
- declare function IconCopy({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
23
- declare function IconCheck({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
24
- declare function IconDownload({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
25
- declare function IconClose({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
26
- declare function IconEdit({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
27
- declare function IconShare({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
28
- declare function IconUsers({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
29
- declare function IconExternalLink({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
30
- declare function IconChevronUpDown({ className, ...props }: React.ComponentProps<'svg'>): import("react/jsx-runtime").JSX.Element;
31
- export { IconEdit, IconNextChat, IconOpenAI, IconVercel, IconGitHub, IconSeparator, IconArrowDown, IconArrowRight, IconUser, IconPlus, IconArrowElbow, IconSpinner, IconMessage, IconTrash, IconRefresh, IconStop, IconSidebar, IconMoon, IconSun, IconCopy, IconCheck, IconDownload, IconClose, IconShare, IconUsers, IconExternalLink, IconChevronUpDown };
5
+ declare function IconOpenAI({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
6
+ declare function IconVercel({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
7
+ declare function IconGitHub({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
8
+ declare function IconSeparator({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
9
+ declare function IconArrowDown({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
10
+ declare function IconArrowRight({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
11
+ declare function IconUser({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
12
+ declare function IconPlus({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
13
+ declare function IconArrowElbow({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
14
+ declare function IconSpinner({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
15
+ declare function IconMessage({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
16
+ declare function IconTrash({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
17
+ declare function IconRefresh({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
18
+ declare function IconStop({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
19
+ declare function IconSidebar({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
20
+ declare function IconMoon({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
21
+ declare function IconSun({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
22
+ declare function IconCopy({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
23
+ declare function IconCheck({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
24
+ declare function IconDownload({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
25
+ declare function IconClose({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
26
+ declare function IconEdit({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
27
+ declare function IconShare({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
28
+ declare function IconUsers({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
29
+ declare function IconExternalLink({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
30
+ declare function IconChevronUpDown({ className, ...props }: React.ComponentProps<"svg">): import("react/jsx-runtime").JSX.Element;
31
+ export { IconEdit, IconNextChat, IconOpenAI, IconVercel, IconGitHub, IconSeparator, IconArrowDown, IconArrowRight, IconUser, IconPlus, IconArrowElbow, IconSpinner, IconMessage, IconTrash, IconRefresh, IconStop, IconSidebar, IconMoon, IconSun, IconCopy, IconCheck, IconDownload, IconClose, IconShare, IconUsers, IconExternalLink, IconChevronUpDown, };
@@ -1,87 +1,87 @@
1
- 'use client';
1
+ "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import * as React from 'react';
4
- import { cn } from '../lib/utils';
3
+ import * as React from "react";
4
+ import { cn } from "../lib/utils";
5
5
  function IconNextChat({ className, inverted, ...props }) {
6
6
  const id = React.useId();
7
- return (_jsxs("svg", { viewBox: "0 0 17 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: cn('size-4', className), ...props, children: [_jsxs("defs", { children: [_jsxs("linearGradient", { id: `gradient-${id}-1`, x1: "10.6889", y1: "10.3556", x2: "13.8445", y2: "14.2667", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { stopColor: inverted ? 'white' : 'black' }), _jsx("stop", { offset: 1, stopColor: inverted ? 'white' : 'black', stopOpacity: 0 })] }), _jsxs("linearGradient", { id: `gradient-${id}-2`, x1: "11.7555", y1: "4.8", x2: "11.7376", y2: "9.50002", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { stopColor: inverted ? 'white' : 'black' }), _jsx("stop", { offset: 1, stopColor: inverted ? 'white' : 'black', stopOpacity: 0 })] })] }), _jsx("path", { d: "M1 16L2.58314 11.2506C1.83084 9.74642 1.63835 8.02363 2.04013 6.39052C2.4419 4.75741 3.41171 3.32057 4.776 2.33712C6.1403 1.35367 7.81003 0.887808 9.4864 1.02289C11.1628 1.15798 12.7364 1.8852 13.9256 3.07442C15.1148 4.26363 15.842 5.83723 15.9771 7.5136C16.1122 9.18997 15.6463 10.8597 14.6629 12.224C13.6794 13.5883 12.2426 14.5581 10.6095 14.9599C8.97637 15.3616 7.25358 15.1692 5.74942 14.4169L1 16Z", fill: inverted ? 'black' : 'white', stroke: inverted ? 'black' : 'white', strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("mask", { id: "mask0_91_2047", style: { maskType: 'alpha' }, maskUnits: "userSpaceOnUse", x: 1, y: 0, width: 16, height: 16, children: _jsx("circle", { cx: 9, cy: 8, r: 8, fill: inverted ? 'black' : 'white' }) }), _jsxs("g", { mask: "url(#mask0_91_2047)", children: [_jsx("circle", { cx: 9, cy: 8, r: 8, fill: inverted ? 'black' : 'white' }), _jsx("path", { d: "M14.2896 14.0018L7.146 4.8H5.80005V11.1973H6.87681V6.16743L13.4444 14.6529C13.7407 14.4545 14.0231 14.2369 14.2896 14.0018Z", fill: `url(#gradient-${id}-1)` }), _jsx("rect", { x: "11.2222", y: "4.8", width: "1.06667", height: "6.4", fill: `url(#gradient-${id}-2)` })] })] }));
7
+ return (_jsxs("svg", { viewBox: "0 0 17 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: cn("size-4", className), ...props, children: [_jsxs("defs", { children: [_jsxs("linearGradient", { id: `gradient-${id}-1`, x1: "10.6889", y1: "10.3556", x2: "13.8445", y2: "14.2667", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { stopColor: inverted ? "white" : "black" }), _jsx("stop", { offset: 1, stopColor: inverted ? "white" : "black", stopOpacity: 0 })] }), _jsxs("linearGradient", { id: `gradient-${id}-2`, x1: "11.7555", y1: "4.8", x2: "11.7376", y2: "9.50002", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { stopColor: inverted ? "white" : "black" }), _jsx("stop", { offset: 1, stopColor: inverted ? "white" : "black", stopOpacity: 0 })] })] }), _jsx("path", { d: "M1 16L2.58314 11.2506C1.83084 9.74642 1.63835 8.02363 2.04013 6.39052C2.4419 4.75741 3.41171 3.32057 4.776 2.33712C6.1403 1.35367 7.81003 0.887808 9.4864 1.02289C11.1628 1.15798 12.7364 1.8852 13.9256 3.07442C15.1148 4.26363 15.842 5.83723 15.9771 7.5136C16.1122 9.18997 15.6463 10.8597 14.6629 12.224C13.6794 13.5883 12.2426 14.5581 10.6095 14.9599C8.97637 15.3616 7.25358 15.1692 5.74942 14.4169L1 16Z", fill: inverted ? "black" : "white", stroke: inverted ? "black" : "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("mask", { id: "mask0_91_2047", style: { maskType: "alpha" }, maskUnits: "userSpaceOnUse", x: 1, y: 0, width: 16, height: 16, children: _jsx("circle", { cx: 9, cy: 8, r: 8, fill: inverted ? "black" : "white" }) }), _jsxs("g", { mask: "url(#mask0_91_2047)", children: [_jsx("circle", { cx: 9, cy: 8, r: 8, fill: inverted ? "black" : "white" }), _jsx("path", { d: "M14.2896 14.0018L7.146 4.8H5.80005V11.1973H6.87681V6.16743L13.4444 14.6529C13.7407 14.4545 14.0231 14.2369 14.2896 14.0018Z", fill: `url(#gradient-${id}-1)` }), _jsx("rect", { x: "11.2222", y: "4.8", width: "1.06667", height: "6.4", fill: `url(#gradient-${id}-2)` })] })] }));
8
8
  }
9
9
  function IconOpenAI({ className, ...props }) {
10
- return (_jsxs("svg", { fill: "currentColor", viewBox: "0 0 24 24", role: "img", xmlns: "http://www.w3.org/2000/svg", className: cn('size-4', className), ...props, children: [_jsx("title", { children: "OpenAI icon" }), _jsx("path", { d: "M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z" })] }));
10
+ return (_jsxs("svg", { fill: "currentColor", viewBox: "0 0 24 24", role: "img", xmlns: "http://www.w3.org/2000/svg", className: cn("size-4", className), ...props, children: [_jsx("title", { children: "OpenAI icon" }), _jsx("path", { d: "M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z" })] }));
11
11
  }
12
12
  function IconVercel({ className, ...props }) {
13
- return (_jsx("svg", { "aria-label": "Vercel logomark", role: "img", viewBox: "0 0 74 64", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z", fill: "currentColor" }) }));
13
+ return (_jsx("svg", { "aria-label": "Vercel logomark", role: "img", viewBox: "0 0 74 64", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z", fill: "currentColor" }) }));
14
14
  }
15
15
  function IconGitHub({ className, ...props }) {
16
- return (_jsxs("svg", { role: "img", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn('size-4', className), ...props, children: [_jsx("title", { children: "GitHub" }), _jsx("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })] }));
16
+ return (_jsxs("svg", { role: "img", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn("size-4", className), ...props, children: [_jsx("title", { children: "GitHub" }), _jsx("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })] }));
17
17
  }
18
18
  function IconSeparator({ className, ...props }) {
19
- return (_jsx("svg", { fill: "none", shapeRendering: "geometricPrecision", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1", viewBox: "0 0 24 24", "aria-hidden": "true", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M16.88 3.549L7.12 20.451" }) }));
19
+ return (_jsx("svg", { fill: "none", shapeRendering: "geometricPrecision", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1", viewBox: "0 0 24 24", "aria-hidden": "true", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M16.88 3.549L7.12 20.451" }) }));
20
20
  }
21
21
  function IconArrowDown({ className, ...props }) {
22
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "m205.66 149.66-72 72a8 8 0 0 1-11.32 0l-72-72a8 8 0 0 1 11.32-11.32L120 196.69V40a8 8 0 0 1 16 0v156.69l58.34-58.35a8 8 0 0 1 11.32 11.32Z" }) }));
22
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "m205.66 149.66-72 72a8 8 0 0 1-11.32 0l-72-72a8 8 0 0 1 11.32-11.32L120 196.69V40a8 8 0 0 1 16 0v156.69l58.34-58.35a8 8 0 0 1 11.32 11.32Z" }) }));
23
23
  }
24
24
  function IconArrowRight({ className, ...props }) {
25
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "m221.66 133.66-72 72a8 8 0 0 1-11.32-11.32L196.69 136H40a8 8 0 0 1 0-16h156.69l-58.35-58.34a8 8 0 0 1 11.32-11.32l72 72a8 8 0 0 1 0 11.32Z" }) }));
25
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "m221.66 133.66-72 72a8 8 0 0 1-11.32-11.32L196.69 136H40a8 8 0 0 1 0-16h156.69l-58.35-58.34a8 8 0 0 1 11.32-11.32l72 72a8 8 0 0 1 0 11.32Z" }) }));
26
26
  }
27
27
  function IconUser({ className, ...props }) {
28
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8ZM72 96a56 56 0 1 1 56 56 56.06 56.06 0 0 1-56-56Z" }) }));
28
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8ZM72 96a56 56 0 1 1 56 56 56.06 56.06 0 0 1-56-56Z" }) }));
29
29
  }
30
30
  function IconPlus({ className, ...props }) {
31
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M224 128a8 8 0 0 1-8 8h-80v80a8 8 0 0 1-16 0v-80H40a8 8 0 0 1 0-16h80V40a8 8 0 0 1 16 0v80h80a8 8 0 0 1 8 8Z" }) }));
31
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M224 128a8 8 0 0 1-8 8h-80v80a8 8 0 0 1-16 0v-80H40a8 8 0 0 1 0-16h80V40a8 8 0 0 1 16 0v80h80a8 8 0 0 1 8 8Z" }) }));
32
32
  }
33
33
  function IconArrowElbow({ className, ...props }) {
34
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M200 32v144a8 8 0 0 1-8 8H67.31l34.35 34.34a8 8 0 0 1-11.32 11.32l-48-48a8 8 0 0 1 0-11.32l48-48a8 8 0 0 1 11.32 11.32L67.31 168H184V32a8 8 0 0 1 16 0Z" }) }));
34
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M200 32v144a8 8 0 0 1-8 8H67.31l34.35 34.34a8 8 0 0 1-11.32 11.32l-48-48a8 8 0 0 1 0-11.32l48-48a8 8 0 0 1 11.32 11.32L67.31 168H184V32a8 8 0 0 1 16 0Z" }) }));
35
35
  }
36
36
  function IconSpinner({ className, ...props }) {
37
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4 animate-spin', className), ...props, children: _jsx("path", { d: "M232 128a104 104 0 0 1-208 0c0-41 23.81-78.36 60.66-95.27a8 8 0 0 1 6.68 14.54C60.15 61.59 40 93.27 40 128a88 88 0 0 0 176 0c0-34.73-20.15-66.41-51.34-80.73a8 8 0 0 1 6.68-14.54C208.19 49.64 232 87 232 128Z" }) }));
37
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4 animate-spin", className), ...props, children: _jsx("path", { d: "M232 128a104 104 0 0 1-208 0c0-41 23.81-78.36 60.66-95.27a8 8 0 0 1 6.68 14.54C60.15 61.59 40 93.27 40 128a88 88 0 0 0 176 0c0-34.73-20.15-66.41-51.34-80.73a8 8 0 0 1 6.68-14.54C208.19 49.64 232 87 232 128Z" }) }));
38
38
  }
39
39
  function IconMessage({ className, ...props }) {
40
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M216 48H40a16 16 0 0 0-16 16v160a15.84 15.84 0 0 0 9.25 14.5A16.05 16.05 0 0 0 40 240a15.89 15.89 0 0 0 10.25-3.78.69.69 0 0 0 .13-.11L82.5 208H216a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16ZM40 224Zm176-32H82.5a16 16 0 0 0-10.3 3.75l-.12.11L40 224V64h176Z" }) }));
40
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M216 48H40a16 16 0 0 0-16 16v160a15.84 15.84 0 0 0 9.25 14.5A16.05 16.05 0 0 0 40 240a15.89 15.89 0 0 0 10.25-3.78.69.69 0 0 0 .13-.11L82.5 208H216a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16ZM40 224Zm176-32H82.5a16 16 0 0 0-10.3 3.75l-.12.11L40 224V64h176Z" }) }));
41
41
  }
42
42
  function IconTrash({ className, ...props }) {
43
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16ZM96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Zm48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Z" }) }));
43
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16ZM96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Zm48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Z" }) }));
44
44
  }
45
45
  function IconRefresh({ className, ...props }) {
46
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M197.67 186.37a8 8 0 0 1 0 11.29C196.58 198.73 170.82 224 128 224c-37.39 0-64.53-22.4-80-39.85V208a8 8 0 0 1-16 0v-48a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16H55.44C67.76 183.35 93 208 128 208c36 0 58.14-21.46 58.36-21.68a8 8 0 0 1 11.31.05ZM216 40a8 8 0 0 0-8 8v23.85C192.53 54.4 165.39 32 128 32c-42.82 0-68.58 25.27-69.66 26.34a8 8 0 0 0 11.3 11.34C69.86 69.46 92 48 128 48c35 0 60.24 24.65 72.56 40H168a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8V48a8 8 0 0 0-8-8Z" }) }));
46
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M197.67 186.37a8 8 0 0 1 0 11.29C196.58 198.73 170.82 224 128 224c-37.39 0-64.53-22.4-80-39.85V208a8 8 0 0 1-16 0v-48a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16H55.44C67.76 183.35 93 208 128 208c36 0 58.14-21.46 58.36-21.68a8 8 0 0 1 11.31.05ZM216 40a8 8 0 0 0-8 8v23.85C192.53 54.4 165.39 32 128 32c-42.82 0-68.58 25.27-69.66 26.34a8 8 0 0 0 11.3 11.34C69.86 69.46 92 48 128 48c35 0 60.24 24.65 72.56 40H168a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8V48a8 8 0 0 0-8-8Z" }) }));
47
47
  }
48
48
  function IconStop({ className, ...props }) {
49
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88Zm24-120h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8Zm-8 48h-32v-32h32Z" }) }));
49
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88Zm24-120h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8Zm-8 48h-32v-32h32Z" }) }));
50
50
  }
51
51
  function IconSidebar({ className, ...props }) {
52
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M216 40H40a16 16 0 0 0-16 16v144a16 16 0 0 0 16 16h176a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16ZM40 56h40v144H40Zm176 144H96V56h120v144Z" }) }));
52
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M216 40H40a16 16 0 0 0-16 16v144a16 16 0 0 0 16 16h176a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16ZM40 56h40v144H40Zm176 144H96V56h120v144Z" }) }));
53
53
  }
54
54
  function IconMoon({ className, ...props }) {
55
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M233.54 142.23a8 8 0 0 0-8-2 88.08 88.08 0 0 1-109.8-109.8 8 8 0 0 0-10-10 104.84 104.84 0 0 0-52.91 37A104 104 0 0 0 136 224a103.09 103.09 0 0 0 62.52-20.88 104.84 104.84 0 0 0 37-52.91 8 8 0 0 0-1.98-7.98Zm-44.64 48.11A88 88 0 0 1 65.66 67.11a89 89 0 0 1 31.4-26A106 106 0 0 0 96 56a104.11 104.11 0 0 0 104 104 106 106 0 0 0 14.92-1.06 89 89 0 0 1-26.02 31.4Z" }) }));
55
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M233.54 142.23a8 8 0 0 0-8-2 88.08 88.08 0 0 1-109.8-109.8 8 8 0 0 0-10-10 104.84 104.84 0 0 0-52.91 37A104 104 0 0 0 136 224a103.09 103.09 0 0 0 62.52-20.88 104.84 104.84 0 0 0 37-52.91 8 8 0 0 0-1.98-7.98Zm-44.64 48.11A88 88 0 0 1 65.66 67.11a89 89 0 0 1 31.4-26A106 106 0 0 0 96 56a104.11 104.11 0 0 0 104 104 106 106 0 0 0 14.92-1.06 89 89 0 0 1-26.02 31.4Z" }) }));
56
56
  }
57
57
  function IconSun({ className, ...props }) {
58
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0Zm72 88a64 64 0 1 1-64-64 64.07 64.07 0 0 1 64 64Zm-16 0a48 48 0 1 0-48 48 48.05 48.05 0 0 0 48-48ZM58.34 69.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32ZM192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72Zm5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8Zm80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8Zm112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16Z" }) }));
58
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0Zm72 88a64 64 0 1 1-64-64 64.07 64.07 0 0 1 64 64Zm-16 0a48 48 0 1 0-48 48 48.05 48.05 0 0 0 48-48ZM58.34 69.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32ZM192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72Zm5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8Zm80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8Zm112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16Z" }) }));
59
59
  }
60
60
  function IconCopy({ className, ...props }) {
61
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8Zm-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z" }) }));
61
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8Zm-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z" }) }));
62
62
  }
63
63
  function IconCheck({ className, ...props }) {
64
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "m229.66 77.66-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z" }) }));
64
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "m229.66 77.66-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z" }) }));
65
65
  }
66
66
  function IconDownload({ className, ...props }) {
67
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M224 152v56a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16v-56a8 8 0 0 1 16 0v56h160v-56a8 8 0 0 1 16 0Zm-101.66 5.66a8 8 0 0 0 11.32 0l40-40a8 8 0 0 0-11.32-11.32L136 132.69V40a8 8 0 0 0-16 0v92.69l-26.34-26.35a8 8 0 0 0-11.32 11.32Z" }) }));
67
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M224 152v56a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16v-56a8 8 0 0 1 16 0v56h160v-56a8 8 0 0 1 16 0Zm-101.66 5.66a8 8 0 0 0 11.32 0l40-40a8 8 0 0 0-11.32-11.32L136 132.69V40a8 8 0 0 0-16 0v92.69l-26.34-26.35a8 8 0 0 0-11.32 11.32Z" }) }));
68
68
  }
69
69
  function IconClose({ className, ...props }) {
70
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { d: "M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z" }) }));
70
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 256 256", fill: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { d: "M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z" }) }));
71
71
  }
72
72
  function IconEdit({ className, ...props }) {
73
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: cn('size-4', className), ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }));
73
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: cn("size-4", className), ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }));
74
74
  }
75
75
  function IconShare({ className, ...props }) {
76
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn('size-4', className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "m237.66 106.35-80-80A8 8 0 0 0 144 32v40.35c-25.94 2.22-54.59 14.92-78.16 34.91-28.38 24.08-46.05 55.11-49.76 87.37a12 12 0 0 0 20.68 9.58c11-11.71 50.14-48.74 107.24-52V192a8 8 0 0 0 13.66 5.65l80-80a8 8 0 0 0 0-11.3ZM160 172.69V144a8 8 0 0 0-8-8c-28.08 0-55.43 7.33-81.29 21.8a196.17 196.17 0 0 0-36.57 26.52c5.8-23.84 20.42-46.51 42.05-64.86C99.41 99.77 127.75 88 152 88a8 8 0 0 0 8-8V51.32L220.69 112Z" }) }));
76
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn("size-4", className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "m237.66 106.35-80-80A8 8 0 0 0 144 32v40.35c-25.94 2.22-54.59 14.92-78.16 34.91-28.38 24.08-46.05 55.11-49.76 87.37a12 12 0 0 0 20.68 9.58c11-11.71 50.14-48.74 107.24-52V192a8 8 0 0 0 13.66 5.65l80-80a8 8 0 0 0 0-11.3ZM160 172.69V144a8 8 0 0 0-8-8c-28.08 0-55.43 7.33-81.29 21.8a196.17 196.17 0 0 0-36.57 26.52c5.8-23.84 20.42-46.51 42.05-64.86C99.41 99.77 127.75 88 152 88a8 8 0 0 0 8-8V51.32L220.69 112Z" }) }));
77
77
  }
78
78
  function IconUsers({ className, ...props }) {
79
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn('size-4', className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "M117.25 157.92a60 60 0 1 0-66.5 0 95.83 95.83 0 0 0-47.22 37.71 8 8 0 1 0 13.4 8.74 80 80 0 0 1 134.14 0 8 8 0 0 0 13.4-8.74 95.83 95.83 0 0 0-47.22-37.71ZM40 108a44 44 0 1 1 44 44 44.05 44.05 0 0 1-44-44Zm210.14 98.7a8 8 0 0 1-11.07-2.33A79.83 79.83 0 0 0 172 168a8 8 0 0 1 0-16 44 44 0 1 0-16.34-84.87 8 8 0 1 1-5.94-14.85 60 60 0 0 1 55.53 105.64 95.83 95.83 0 0 1 47.22 37.71 8 8 0 0 1-2.33 11.07Z" }) }));
79
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn("size-4", className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "M117.25 157.92a60 60 0 1 0-66.5 0 95.83 95.83 0 0 0-47.22 37.71 8 8 0 1 0 13.4 8.74 80 80 0 0 1 134.14 0 8 8 0 0 0 13.4-8.74 95.83 95.83 0 0 0-47.22-37.71ZM40 108a44 44 0 1 1 44 44 44.05 44.05 0 0 1-44-44Zm210.14 98.7a8 8 0 0 1-11.07-2.33A79.83 79.83 0 0 0 172 168a8 8 0 0 1 0-16 44 44 0 1 0-16.34-84.87 8 8 0 1 1-5.94-14.85 60 60 0 0 1 55.53 105.64 95.83 95.83 0 0 1 47.22 37.71 8 8 0 0 1-2.33 11.07Z" }) }));
80
80
  }
81
81
  function IconExternalLink({ className, ...props }) {
82
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn('size-4', className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "M224 104a8 8 0 0 1-16 0V59.32l-66.33 66.34a8 8 0 0 1-11.32-11.32L196.68 48H152a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Zm-40 24a8 8 0 0 0-8 8v72H48V80h72a8 8 0 0 0 0-16H48a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-72a8 8 0 0 0-8-8Z" }) }));
82
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn("size-4", className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "M224 104a8 8 0 0 1-16 0V59.32l-66.33 66.34a8 8 0 0 1-11.32-11.32L196.68 48H152a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Zm-40 24a8 8 0 0 0-8 8v72H48V80h72a8 8 0 0 0 0-16H48a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-72a8 8 0 0 0-8-8Z" }) }));
83
83
  }
84
84
  function IconChevronUpDown({ className, ...props }) {
85
- return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn('size-4', className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "M181.66 170.34a8 8 0 0 1 0 11.32l-48 48a8 8 0 0 1-11.32 0l-48-48a8 8 0 0 1 11.32-11.32L128 212.69l42.34-42.35a8 8 0 0 1 11.32 0Zm-96-84.68L128 43.31l42.34 42.35a8 8 0 0 0 11.32-11.32l-48-48a8 8 0 0 0-11.32 0l-48 48a8 8 0 0 0 11.32 11.32Z" }) }));
85
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", className: cn("size-4", className), viewBox: "0 0 256 256", ...props, children: _jsx("path", { d: "M181.66 170.34a8 8 0 0 1 0 11.32l-48 48a8 8 0 0 1-11.32 0l-48-48a8 8 0 0 1 11.32-11.32L128 212.69l42.34-42.35a8 8 0 0 1 11.32 0Zm-96-84.68L128 43.31l42.34 42.35a8 8 0 0 0 11.32-11.32l-48-48a8 8 0 0 0-11.32 0l-48 48a8 8 0 0 0 11.32 11.32Z" }) }));
86
86
  }
87
- export { IconEdit, IconNextChat, IconOpenAI, IconVercel, IconGitHub, IconSeparator, IconArrowDown, IconArrowRight, IconUser, IconPlus, IconArrowElbow, IconSpinner, IconMessage, IconTrash, IconRefresh, IconStop, IconSidebar, IconMoon, IconSun, IconCopy, IconCheck, IconDownload, IconClose, IconShare, IconUsers, IconExternalLink, IconChevronUpDown };
87
+ export { IconEdit, IconNextChat, IconOpenAI, IconVercel, IconGitHub, IconSeparator, IconArrowDown, IconArrowRight, IconUser, IconPlus, IconArrowElbow, IconSpinner, IconMessage, IconTrash, IconRefresh, IconStop, IconSidebar, IconMoon, IconSun, IconCopy, IconCheck, IconDownload, IconClose, IconShare, IconUsers, IconExternalLink, IconChevronUpDown, };
@@ -0,0 +1,3 @@
1
+ export declare const DashLayout: ({ children }: {
2
+ children: React.ReactNode;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "mtxuilib/lib/utils";
4
+ import { ResizableHandle, ResizablePanel, ResizablePanelGroup, } from "mtxuilib/ui/resizable";
5
+ const defaultLayout = [20, 32, 48];
6
+ export const DashLayout = ({ children }) => {
7
+ return (_jsx("div", { className: "flex flex-col min-h-screen h-full", children: _jsxs(ResizablePanelGroup, { direction: "horizontal", onLayout: (sizes) => {
8
+ document.cookie = `react-resizable-panels:layout:mail=${JSON.stringify(sizes)}`;
9
+ }, className: "h-full items-stretch", children: [_jsx(ResizablePanel, { defaultSize: defaultLayout[0], collapsible: true, minSize: 15, maxSize: 20, onCollapse: () => {
10
+ document.cookie = `react-resizable-panels:collapsed=${JSON.stringify(true)}`;
11
+ }, onResize: () => {
12
+ document.cookie = `react-resizable-panels:collapsed=${JSON.stringify(false)}`;
13
+ }, className: cn(), children: _jsx("div", { className: "flex flex-1 flex-col md:flex-row", children: _jsx("aside", { className: "hidden md:block md:w-64 p-4 md:h-[calc(100vh-3.5rem)]", children: _jsx("nav", { children: _jsx("div", { className: "flex flex-col gap-1 overflow-y-auto" }) }) }) }) }), _jsx(ResizableHandle, { withHandle: true }), _jsx(ResizablePanel, { defaultSize: defaultLayout[1], minSize: 30, children: _jsx("main", { className: "flex-1 overflow-auto bg-card m-2 rounded-md", children: _jsx("div", { className: "h-full w-full", children: children }) }) }), _jsx(ResizableHandle, { withHandle: true }), _jsx(ResizablePanel, { defaultSize: defaultLayout[2], minSize: 30, children: "todo content" })] }) }));
14
+ };
@@ -0,0 +1 @@
1
+ export declare const MainHeader: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Home, LineChart, Package, Package2, PanelLeft, ShoppingCart, Users2, } from "lucide-react";
4
+ import { Button } from "mtxuilib/ui/button";
5
+ import { Sheet, SheetContent, SheetTrigger } from "mtxuilib/ui/sheet";
6
+ import Link from "next/link";
7
+ import { Suspense } from "react";
8
+ import { DashNav } from "./nav";
9
+ export const MainHeader = () => {
10
+ return (_jsxs("header", { className: "sticky top-0 flex h-14 items-center gap-4 border-b px-4 pt-1 ", children: [_jsxs(Sheet, { children: [_jsx(SheetTrigger, { asChild: true, children: _jsxs(Button, { size: "icon", variant: "outline", className: "sm:hidden", children: [_jsx(PanelLeft, { className: "h-5 w-5" }), _jsx("span", { className: "sr-only", children: "Toggle Menu" })] }) }), _jsx(SheetContent, { side: "left", className: "sm:max-w-xs", children: _jsxs("nav", { className: "grid gap-6 text-lg font-medium", children: [_jsxs(Link, { href: "#", className: "bg-primary text-primary-foreground group flex h-10 w-10 shrink-0 items-center justify-center gap-2 rounded-full text-lg font-semibold md:text-base", children: [_jsx(Package2, { className: "h-5 w-5 transition-all group-hover:scale-110" }), _jsx("span", { className: "sr-only", children: "Acme Inc" })] }), _jsxs(Link, { href: "#", className: "text-muted-foreground hover:text-foreground flex items-center gap-4 px-2.5", children: [_jsx(Home, { className: "h-5 w-5" }), "Dashboard"] }), _jsxs(Link, { href: "#", className: "text-foreground flex items-center gap-4 px-2.5", children: [_jsx(ShoppingCart, { className: "h-5 w-5" }), "Orders"] }), _jsxs(Link, { href: "#", className: "text-muted-foreground hover:text-foreground flex items-center gap-4 px-2.5", children: [_jsx(Package, { className: "h-5 w-5" }), "Products"] }), _jsxs(Link, { href: "#", className: "text-muted-foreground hover:text-foreground flex items-center gap-4 px-2.5", children: [_jsx(Users2, { className: "h-5 w-5" }), "Customers"] }), _jsxs(Link, { href: "#", className: "text-muted-foreground hover:text-foreground flex items-center gap-4 px-2.5", children: [_jsx(LineChart, { className: "h-5 w-5" }), "Settings"] })] }) })] }), _jsx("div", { className: "flex-1" }), _jsx("div", { className: "flex-1", children: _jsx(DashNav, {}) }), _jsx(Suspense, {})] }));
11
+ };
@@ -0,0 +1 @@
1
+ export declare const DashNav: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { MtLink } from "mtxuilib/common/mtlink";
4
+ import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuList, NavigationMenuTrigger, } from "mtxuilib/ui/navigation-menu";
5
+ export const DashNav = () => {
6
+ return (_jsx(_Fragment, { children: _jsx(NavigationMenu, { children: _jsxs(NavigationMenuList, { children: [_jsx(NavigationMenuItem, { children: _jsx(MtLink, { href: "/", variant: "ghost", children: "Home" }) }), _jsxs(NavigationMenuItem, { children: [_jsx(NavigationMenuTrigger, { className: "text-md", children: _jsx(MtLink, { variant: "ghost", href: "/", children: "\u7AD9\u70B9" }) }), _jsx(NavigationMenuContent, {})] })] }) }) }));
7
+ };
@@ -0,0 +1,3 @@
1
+ export default function WebLayout(props: {
2
+ children: React.ReactNode;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { WebLayoutHeader } from "./WebLayoutHeader";
4
+ export default function WebLayout(props) {
5
+ return (_jsxs(_Fragment, { children: [_jsx(WebLayoutHeader, {}), props.children] }));
6
+ }
@@ -0,0 +1 @@
1
+ export declare const WebLayoutHeader: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Link from "next/link";
4
+ import { Suspense } from "react";
5
+ import { cn } from "../../lib/utils";
6
+ import { SearchInput } from "../../ui/mt/inputs/SearchInput";
7
+ export const WebLayoutHeader = () => {
8
+ return (_jsxs("header", { className: cn("bg-background sticky top-0 z-30 flex h-14 items-center gap-4 border-b px-4 pt-1 ", "sm:static sm:h-auto sm:border-0 sm:bg-transparent sm:px-6", "fixed top-0 left-0", "bg-slate-200"), children: [_jsx("div", { className: "flex-1", children: _jsxs("nav", { className: "flex gap-4", children: [_jsx(Link, { href: "/", children: "\u9996\u9875" }), _jsx(Link, { href: "/t/news", children: "\u65B0\u95FB" }), _jsx(Link, { href: "/t/aigc", children: "AIGC" })] }) }), _jsx(SearchInput, {}), _jsx(Suspense, {})] }));
9
+ };
@@ -0,0 +1 @@
1
+ export declare function copyText(text: string): Promise<void>;
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ export async function copyText(text) {
3
+ if ("clipboard" in navigator) {
4
+ return navigator.clipboard.writeText(text);
5
+ }
6
+ else {
7
+ const textArea = document.createElement("textarea");
8
+ textArea.value = text;
9
+ textArea.style.opacity = "0";
10
+ document.body.appendChild(textArea);
11
+ textArea.focus();
12
+ textArea.select();
13
+ const success = document.execCommand("copy");
14
+ document.body.removeChild(textArea);
15
+ if (success) {
16
+ return Promise.resolve();
17
+ }
18
+ else {
19
+ return Promise.reject();
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,3 @@
1
+ declare function basicTimeFormat(time: string): string;
2
+ declare function timeFormatWithShortDate(time: string): string;
3
+ export { basicTimeFormat, timeFormatWithShortDate };
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ function basicTimeFormat(time) {
3
+ const date = new Date(time);
4
+ const dateString = date.toLocaleDateString("en-US", {
5
+ weekday: "short",
6
+ year: "numeric",
7
+ month: "short",
8
+ day: "numeric",
9
+ });
10
+ const timeString = date.toLocaleTimeString("en-US");
11
+ return `${dateString} at ${timeString}`;
12
+ }
13
+ function timeFormatWithShortDate(time) {
14
+ const date = new Date(time);
15
+ const dateString = date.getMonth() + 1 + "/" + date.getDate() + "/" + date.getFullYear();
16
+ const timeString = date.toLocaleTimeString("en-US");
17
+ return `${dateString} at ${timeString}`;
18
+ }
19
+ export { basicTimeFormat, timeFormatWithShortDate };
@@ -0,0 +1,16 @@
1
+ export declare const workbenchVariants: {
2
+ closed: {
3
+ width: number;
4
+ transition: {
5
+ duration: number;
6
+ ease: (t: number) => number;
7
+ };
8
+ };
9
+ open: {
10
+ width: string;
11
+ transition: {
12
+ duration: number;
13
+ ease: (t: number) => number;
14
+ };
15
+ };
16
+ };
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { cubicEasingFn } from "mtxuilib/ui/mt/utils/easings";
3
+ export const workbenchVariants = {
4
+ closed: {
5
+ width: 0,
6
+ transition: {
7
+ duration: 0.2,
8
+ ease: cubicEasingFn,
9
+ },
10
+ },
11
+ open: {
12
+ width: "var(--workbench-width)",
13
+ transition: {
14
+ duration: 0.2,
15
+ ease: cubicEasingFn,
16
+ },
17
+ },
18
+ };
@@ -1,144 +1,144 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- @layer base {
6
- :root {
7
- --background: 0 0% 100%;
8
- --foreground: 222.2 84% 4.9%;
9
-
10
- --muted: 210 40% 96.1%;
11
- --muted-foreground: 215.4 16.3% 46.9%;
12
-
13
- --popover: 0 0% 100%;
14
- --popover-foreground: 222.2 84% 4.9%;
15
-
16
- --card: 0 0% 100%;
17
- --card-foreground: 222.2 84% 4.9%;
18
-
19
- --border: 214.3 31.8% 91.4%;
20
- --input: 214.3 31.8% 91.4%;
21
-
22
- --primary: 222.2 47.4% 11.2%;
23
- --primary-foreground: 210 40% 98%;
24
-
25
- --secondary: 210 40% 96.1%;
26
- --secondary-foreground: 222.2 47.4% 11.2%;
27
-
28
- --accent: 210 40% 96.1%;
29
- --accent-foreground: 222.2 47.4% 11.2%;
30
-
31
- --destructive: 0 84.2% 60.2%;
32
- --destructive-foreground: 210 40% 98%;
33
-
34
- --ring: 215 20.2% 65.1%;
35
-
36
- --radius: 0.5rem;
37
-
38
- /* novel editor 相关样式开始 */
39
- --novel-highlight-default: #ffffff;
40
- --novel-highlight-purple: #f6f3f8;
41
- --novel-highlight-red: #fdebeb;
42
- --novel-highlight-yellow: #fbf4a2;
43
- --novel-highlight-blue: #c1ecf9;
44
- --novel-highlight-green: #acf79f;
45
- --novel-highlight-orange: #faebdd;
46
- --novel-highlight-pink: #faf1f5;
47
- --novel-highlight-gray: #f1f1ef;
48
- /* novel editor 相关样式结束 */
49
-
50
- /* shadcn siderbar */
51
- --sidebar-background: 0 0% 98%;
52
- --sidebar-foreground: 240 5.3% 26.1%;
53
- --sidebar-primary: 240 5.9% 10%;
54
- --sidebar-primary-foreground: 0 0% 98%;
55
- --sidebar-accent: 240 4.8% 95.9%;
56
- --sidebar-accent-foreground: 240 5.9% 10%;
57
- --sidebar-border: 220 13% 91%;
58
- --sidebar-ring: 217.2 91.2% 59.8%;
59
- }
60
-
61
- .dark {
62
- --background: 222.2 84% 4.9%;
63
- --foreground: 210 40% 98%;
64
-
65
- --muted: 217.2 32.6% 17.5%;
66
- --muted-foreground: 215 20.2% 65.1%;
67
-
68
- --popover: 222.2 84% 4.9%;
69
- --popover-foreground: 210 40% 98%;
70
-
71
- --card: 222.2 84% 4.9%;
72
- --card-foreground: 210 40% 98%;
73
-
74
- --border: 217.2 32.6% 17.5%;
75
- --input: 217.2 32.6% 17.5%;
76
-
77
- --primary: 210 40% 98%;
78
- --primary-foreground: 222.2 47.4% 11.2%;
79
-
80
- --secondary: 217.2 32.6% 17.5%;
81
- --secondary-foreground: 210 40% 98%;
82
-
83
- --accent: 217.2 32.6% 17.5%;
84
- --accent-foreground: 210 40% 98%;
85
-
86
- --destructive: 0 62.8% 30.6%;
87
- --destructive-foreground: 0 85.7% 97.3%;
88
- --ring: 217.2 32.6% 17.5%;
89
-
90
- /* novel editor 相关样式开始 */
91
- --novel-highlight-default: #000000;
92
- --novel-highlight-purple: #3f2c4b;
93
- --novel-highlight-red: #5c1a1a;
94
- --novel-highlight-yellow: #5c4b1a;
95
- --novel-highlight-blue: #1a3d5c;
96
- --novel-highlight-green: #1a5c20;
97
- --novel-highlight-orange: #5c3a1a;
98
- --novel-highlight-pink: #5c1a3a;
99
- --novel-highlight-gray: #3a3a3a;
100
- /* novel editor 相关样式结束 */
101
-
102
- /* shadcn siderbar */
103
- --sidebar-background: 240 5.9% 10%;
104
- --sidebar-foreground: 240 4.8% 95.9%;
105
- --sidebar-primary: 224.3 76.3% 48%;
106
- --sidebar-primary-foreground: 0 0% 100%;
107
- --sidebar-accent: 240 3.7% 15.9%;
108
- --sidebar-accent-foreground: 240 4.8% 95.9%;
109
- --sidebar-border: 240 3.7% 15.9%;
110
- --sidebar-ring: 217.2 91.2% 59.8%;
111
- }
112
- }
113
- /*
114
- 细化滚动条。
115
- 参考: https://github.com/mckaywrigley/chatbot-ui/blob/main/styles/globals.css
116
- */
117
-
118
- ::-webkit-scrollbar-track {
119
- background-color: transparent;
120
- }
121
-
122
- ::-webkit-scrollbar-thumb {
123
- background-color: #cfd8ea;
124
- border-radius: 10px;
125
- }
126
-
127
- ::-webkit-scrollbar-thumb:hover {
128
- background-color: #a6b8df;
129
- }
130
-
131
- ::-webkit-scrollbar-track:hover {
132
- background-color: transparent;
133
-
134
- /* background-color: #eaeaea; */
135
- }
136
-
137
- ::-webkit-scrollbar-corner {
138
- background-color: transparent;
139
- }
140
-
141
- ::-webkit-scrollbar {
142
- width: 6px;
143
- height: 6px;
144
- }
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer base {
6
+ :root {
7
+ --background: 0 0% 100%;
8
+ --foreground: 222.2 84% 4.9%;
9
+
10
+ --muted: 210 40% 96.1%;
11
+ --muted-foreground: 215.4 16.3% 46.9%;
12
+
13
+ --popover: 0 0% 100%;
14
+ --popover-foreground: 222.2 84% 4.9%;
15
+
16
+ --card: 0 0% 100%;
17
+ --card-foreground: 222.2 84% 4.9%;
18
+
19
+ --border: 214.3 31.8% 91.4%;
20
+ --input: 214.3 31.8% 91.4%;
21
+
22
+ --primary: 222.2 47.4% 11.2%;
23
+ --primary-foreground: 210 40% 98%;
24
+
25
+ --secondary: 210 40% 96.1%;
26
+ --secondary-foreground: 222.2 47.4% 11.2%;
27
+
28
+ --accent: 210 40% 96.1%;
29
+ --accent-foreground: 222.2 47.4% 11.2%;
30
+
31
+ --destructive: 0 84.2% 60.2%;
32
+ --destructive-foreground: 210 40% 98%;
33
+
34
+ --ring: 215 20.2% 65.1%;
35
+
36
+ --radius: 0.5rem;
37
+
38
+ /* novel editor 相关样式开始 */
39
+ --novel-highlight-default: #ffffff;
40
+ --novel-highlight-purple: #f6f3f8;
41
+ --novel-highlight-red: #fdebeb;
42
+ --novel-highlight-yellow: #fbf4a2;
43
+ --novel-highlight-blue: #c1ecf9;
44
+ --novel-highlight-green: #acf79f;
45
+ --novel-highlight-orange: #faebdd;
46
+ --novel-highlight-pink: #faf1f5;
47
+ --novel-highlight-gray: #f1f1ef;
48
+ /* novel editor 相关样式结束 */
49
+
50
+ /* shadcn siderbar */
51
+ --sidebar-background: 0 0% 98%;
52
+ --sidebar-foreground: 240 5.3% 26.1%;
53
+ --sidebar-primary: 240 5.9% 10%;
54
+ --sidebar-primary-foreground: 0 0% 98%;
55
+ --sidebar-accent: 240 4.8% 95.9%;
56
+ --sidebar-accent-foreground: 240 5.9% 10%;
57
+ --sidebar-border: 220 13% 91%;
58
+ --sidebar-ring: 217.2 91.2% 59.8%;
59
+ }
60
+
61
+ .dark {
62
+ --background: 222.2 84% 4.9%;
63
+ --foreground: 210 40% 98%;
64
+
65
+ --muted: 217.2 32.6% 17.5%;
66
+ --muted-foreground: 215 20.2% 65.1%;
67
+
68
+ --popover: 222.2 84% 4.9%;
69
+ --popover-foreground: 210 40% 98%;
70
+
71
+ --card: 222.2 84% 4.9%;
72
+ --card-foreground: 210 40% 98%;
73
+
74
+ --border: 217.2 32.6% 17.5%;
75
+ --input: 217.2 32.6% 17.5%;
76
+
77
+ --primary: 210 40% 98%;
78
+ --primary-foreground: 222.2 47.4% 11.2%;
79
+
80
+ --secondary: 217.2 32.6% 17.5%;
81
+ --secondary-foreground: 210 40% 98%;
82
+
83
+ --accent: 217.2 32.6% 17.5%;
84
+ --accent-foreground: 210 40% 98%;
85
+
86
+ --destructive: 0 62.8% 30.6%;
87
+ --destructive-foreground: 0 85.7% 97.3%;
88
+ --ring: 217.2 32.6% 17.5%;
89
+
90
+ /* novel editor 相关样式开始 */
91
+ --novel-highlight-default: #000000;
92
+ --novel-highlight-purple: #3f2c4b;
93
+ --novel-highlight-red: #5c1a1a;
94
+ --novel-highlight-yellow: #5c4b1a;
95
+ --novel-highlight-blue: #1a3d5c;
96
+ --novel-highlight-green: #1a5c20;
97
+ --novel-highlight-orange: #5c3a1a;
98
+ --novel-highlight-pink: #5c1a3a;
99
+ --novel-highlight-gray: #3a3a3a;
100
+ /* novel editor 相关样式结束 */
101
+
102
+ /* shadcn siderbar */
103
+ --sidebar-background: 240 5.9% 10%;
104
+ --sidebar-foreground: 240 4.8% 95.9%;
105
+ --sidebar-primary: 224.3 76.3% 48%;
106
+ --sidebar-primary-foreground: 0 0% 100%;
107
+ --sidebar-accent: 240 3.7% 15.9%;
108
+ --sidebar-accent-foreground: 240 4.8% 95.9%;
109
+ --sidebar-border: 240 3.7% 15.9%;
110
+ --sidebar-ring: 217.2 91.2% 59.8%;
111
+ }
112
+ }
113
+ /*
114
+ 细化滚动条。
115
+ 参考: https://github.com/mckaywrigley/chatbot-ui/blob/main/styles/globals.css
116
+ */
117
+
118
+ ::-webkit-scrollbar-track {
119
+ background-color: transparent;
120
+ }
121
+
122
+ ::-webkit-scrollbar-thumb {
123
+ background-color: #cfd8ea;
124
+ border-radius: 10px;
125
+ }
126
+
127
+ ::-webkit-scrollbar-thumb:hover {
128
+ background-color: #a6b8df;
129
+ }
130
+
131
+ ::-webkit-scrollbar-track:hover {
132
+ background-color: transparent;
133
+
134
+ /* background-color: #eaeaea; */
135
+ }
136
+
137
+ ::-webkit-scrollbar-corner {
138
+ background-color: transparent;
139
+ }
140
+
141
+ ::-webkit-scrollbar {
142
+ width: 6px;
143
+ height: 6px;
144
+ }
@@ -47,7 +47,7 @@ const CodeBlock = memo(({ language, value }) => {
47
47
  }
48
48
  const fileExtension = programmingLanguages[language] || ".file";
49
49
  const suggestedFileName = `file-${generateRandomString(3, true)}${fileExtension}`;
50
- const fileName = window.prompt("Enter file name" || "", suggestedFileName);
50
+ const fileName = window.prompt("Enter file name", suggestedFileName);
51
51
  if (!fileName) {
52
52
  return;
53
53
  }
@@ -1,2 +1,2 @@
1
- export declare const MtForm: <TFieldValues extends import("react-hook-form").FieldValues, TContext = any, TTransformedValues extends import("react-hook-form").FieldValues | undefined = undefined>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => import("react").JSX.Element;
1
+ export declare const MtForm: <TFieldValues extends import("react-hook-form").FieldValues, TContext = any, TTransformedValues extends import("react-hook-form").FieldValues | undefined = undefined>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
2
2
  export declare const MtInput: import("react").ForwardRefExoticComponent<import("../input").InputProps & import("react").RefAttributes<HTMLInputElement>>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mtxuilib",
3
3
  "private": false,
4
- "version": "0.1.569",
4
+ "version": "0.1.577",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -249,4 +249,4 @@
249
249
  "tsc-alias": "^1.8.10",
250
250
  "ts-node": "^10.9.2"
251
251
  }
252
- }
252
+ }
@@ -1 +0,0 @@
1
- export declare function useMounted(): boolean;
@@ -1,8 +0,0 @@
1
- import * as React from "react";
2
- export function useMounted() {
3
- const [mounted, setMounted] = React.useState(false);
4
- React.useEffect(() => {
5
- setMounted(true);
6
- }, []);
7
- return mounted;
8
- }