@2urgseui/core 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +373 -310
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +366 -303
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1917,7 +1917,7 @@ var FileDropzone = React20.forwardRef(
|
|
|
1917
1917
|
FileDropzone.displayName = "FileDropzone";
|
|
1918
1918
|
|
|
1919
1919
|
// source/components/primitive/FormField/form-field.tsx
|
|
1920
|
-
import * as
|
|
1920
|
+
import * as React32 from "react";
|
|
1921
1921
|
import {
|
|
1922
1922
|
Controller
|
|
1923
1923
|
} from "react-hook-form";
|
|
@@ -2033,10 +2033,119 @@ var Input = React22.forwardRef(
|
|
|
2033
2033
|
Input.displayName = "Input";
|
|
2034
2034
|
|
|
2035
2035
|
// source/components/primitive/Label/label.tsx
|
|
2036
|
-
import * as
|
|
2036
|
+
import * as React25 from "react";
|
|
2037
2037
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
2038
2038
|
import { cva as cva8 } from "class-variance-authority";
|
|
2039
|
-
import {
|
|
2039
|
+
import { CircleHelp } from "lucide-react";
|
|
2040
|
+
|
|
2041
|
+
// source/components/primitive/RichHtml/rich-html.tsx
|
|
2042
|
+
import * as React23 from "react";
|
|
2043
|
+
import DOMPurify from "dompurify";
|
|
2044
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2045
|
+
var defaultSanitizeConfig = {
|
|
2046
|
+
USE_PROFILES: { html: true }
|
|
2047
|
+
};
|
|
2048
|
+
var richHtmlChrome = cn(
|
|
2049
|
+
"max-w-none text-base leading-relaxed text-foreground",
|
|
2050
|
+
// Block flow
|
|
2051
|
+
"[&_p]:mb-3 [&_p:last-child]:mb-0 [&_blockquote]:my-4 [&_blockquote]:border-l-2 [&_blockquote]:border-muted [&_blockquote]:pl-4 [&_blockquote]:italic",
|
|
2052
|
+
// Lists
|
|
2053
|
+
"[&_ul]:my-3 [&_ul]:list-disc [&_ul]:pl-6 [&_ol]:my-3 [&_ol]:list-decimal [&_ol]:pl-6 [&_li]:my-1 [&_li]:pl-1",
|
|
2054
|
+
// Headings (common for TipTap / CMS output)
|
|
2055
|
+
"[&_h1]:mb-3 [&_h1]:mt-8 [&_h1]:text-3xl [&_h1]:font-semibold [&_h1]:first:mt-0",
|
|
2056
|
+
"[&_h2]:mb-2 [&_h2]:mt-6 [&_h2]:text-2xl [&_h2]:font-semibold [&_h2]:first:mt-0",
|
|
2057
|
+
"[&_h3]:mb-2 [&_h3]:mt-5 [&_h3]:text-xl [&_h3]:font-semibold [&_h3]:first:mt-0",
|
|
2058
|
+
"[&_h4]:mb-2 [&_h4]:mt-4 [&_h4]:text-lg [&_h4]:font-semibold [&_h4]:first:mt-0",
|
|
2059
|
+
// Links & media
|
|
2060
|
+
"[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2 [&_a]:outline-none [&_a]:focus-visible:ring-2 [&_a]:focus-visible:ring-ring [&_a]:focus-visible:ring-offset-2",
|
|
2061
|
+
"[&_img]:my-4 [&_img]:max-h-[min(480px,70vh)] [&_img]:max-w-full [&_img]:rounded-md [&_img]:object-contain",
|
|
2062
|
+
"[&_hr]:my-6 [&_hr]:border-border",
|
|
2063
|
+
// Code
|
|
2064
|
+
"[&_code]:rounded [&_code]:bg-muted [&_code]:px-1 [&_code]:py-0.5 [&_code]:text-[0.9em]",
|
|
2065
|
+
"[&_pre]:my-4 [&_pre]:overflow-x-auto [&_pre]:rounded-md [&_pre]:bg-muted [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-sm"
|
|
2066
|
+
);
|
|
2067
|
+
var RichHtml = React23.forwardRef(
|
|
2068
|
+
({
|
|
2069
|
+
html,
|
|
2070
|
+
sanitize = true,
|
|
2071
|
+
sanitizeConfig,
|
|
2072
|
+
className,
|
|
2073
|
+
suppressHydrationWarning,
|
|
2074
|
+
...props
|
|
2075
|
+
}, ref) => {
|
|
2076
|
+
const markup = React23.useMemo(() => {
|
|
2077
|
+
if (html === void 0 || html === null || html === "") {
|
|
2078
|
+
return "";
|
|
2079
|
+
}
|
|
2080
|
+
if (!sanitize) {
|
|
2081
|
+
return html;
|
|
2082
|
+
}
|
|
2083
|
+
if (typeof window === "undefined") {
|
|
2084
|
+
return "";
|
|
2085
|
+
}
|
|
2086
|
+
const config = {
|
|
2087
|
+
...defaultSanitizeConfig,
|
|
2088
|
+
...sanitizeConfig
|
|
2089
|
+
};
|
|
2090
|
+
return DOMPurify.sanitize(html, config);
|
|
2091
|
+
}, [html, sanitize, sanitizeConfig]);
|
|
2092
|
+
const resolvedSuppressHydration = suppressHydrationWarning ?? sanitize;
|
|
2093
|
+
if (html === void 0 || html === null || html === "") {
|
|
2094
|
+
return null;
|
|
2095
|
+
}
|
|
2096
|
+
return /* @__PURE__ */ jsx24(
|
|
2097
|
+
"div",
|
|
2098
|
+
{
|
|
2099
|
+
ref,
|
|
2100
|
+
suppressHydrationWarning: resolvedSuppressHydration,
|
|
2101
|
+
className: cn(richHtmlChrome, className),
|
|
2102
|
+
...props,
|
|
2103
|
+
dangerouslySetInnerHTML: { __html: markup }
|
|
2104
|
+
}
|
|
2105
|
+
);
|
|
2106
|
+
}
|
|
2107
|
+
);
|
|
2108
|
+
RichHtml.displayName = "RichHtml";
|
|
2109
|
+
|
|
2110
|
+
// source/components/primitive/ToolTip/tooltip.tsx
|
|
2111
|
+
import * as React24 from "react";
|
|
2112
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
2113
|
+
import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2114
|
+
var TooltipProvider = TooltipPrimitive.Provider;
|
|
2115
|
+
var Tooltip = ({ ...props }) => {
|
|
2116
|
+
return /* @__PURE__ */ jsx25(TooltipPrimitive.Root, { ...props });
|
|
2117
|
+
};
|
|
2118
|
+
Tooltip.displayName = "Tooltip";
|
|
2119
|
+
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
2120
|
+
TooltipTrigger.displayName = "TooltipTrigger";
|
|
2121
|
+
var TooltipContent = React24.forwardRef(({ className, sideOffset = 4, arrow = false, children, ...props }, ref) => {
|
|
2122
|
+
return /* @__PURE__ */ jsx25(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs15(
|
|
2123
|
+
TooltipPrimitive.Content,
|
|
2124
|
+
{
|
|
2125
|
+
ref,
|
|
2126
|
+
sideOffset,
|
|
2127
|
+
className: cn(
|
|
2128
|
+
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md",
|
|
2129
|
+
"animate-in fade-in-0 zoom-in-95",
|
|
2130
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
2131
|
+
"data-[side=bottom]:slide-in-from-top-2",
|
|
2132
|
+
"data-[side=left]:slide-in-from-right-2",
|
|
2133
|
+
"data-[side=right]:slide-in-from-left-2",
|
|
2134
|
+
"data-[side=top]:slide-in-from-bottom-2",
|
|
2135
|
+
className
|
|
2136
|
+
),
|
|
2137
|
+
...props,
|
|
2138
|
+
children: [
|
|
2139
|
+
children,
|
|
2140
|
+
arrow && /* @__PURE__ */ jsx25(TooltipPrimitive.Arrow, { className: "fill-popover" })
|
|
2141
|
+
]
|
|
2142
|
+
}
|
|
2143
|
+
) });
|
|
2144
|
+
});
|
|
2145
|
+
TooltipContent.displayName = "TooltipContent";
|
|
2146
|
+
|
|
2147
|
+
// source/components/primitive/Label/label.tsx
|
|
2148
|
+
import { jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2040
2149
|
var labelVariants = cva8(
|
|
2041
2150
|
"font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
2042
2151
|
{
|
|
@@ -2057,27 +2166,75 @@ var labelVariants = cva8(
|
|
|
2057
2166
|
}
|
|
2058
2167
|
}
|
|
2059
2168
|
);
|
|
2060
|
-
var
|
|
2169
|
+
var labelTooltipHtmlClassName = cn(
|
|
2170
|
+
"max-w-xs text-sm leading-snug",
|
|
2171
|
+
"[&_p]:mb-1 [&_p:last-child]:mb-0",
|
|
2172
|
+
"[&_a]:text-inherit [&_a]:underline [&_a]:underline-offset-2"
|
|
2173
|
+
);
|
|
2174
|
+
function looksLikeHtml(value) {
|
|
2175
|
+
return /<[a-z][\s\S]*>/i.test(value);
|
|
2176
|
+
}
|
|
2177
|
+
function LabelTooltipContent({ content }) {
|
|
2178
|
+
if (typeof content === "string") {
|
|
2179
|
+
if (looksLikeHtml(content)) {
|
|
2180
|
+
return /* @__PURE__ */ jsx26(
|
|
2181
|
+
RichHtml,
|
|
2182
|
+
{
|
|
2183
|
+
html: content,
|
|
2184
|
+
className: labelTooltipHtmlClassName
|
|
2185
|
+
}
|
|
2186
|
+
);
|
|
2187
|
+
}
|
|
2188
|
+
return content;
|
|
2189
|
+
}
|
|
2190
|
+
return content;
|
|
2191
|
+
}
|
|
2192
|
+
function LabelTooltip({ content }) {
|
|
2193
|
+
return /* @__PURE__ */ jsx26(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs16(Tooltip, { children: [
|
|
2194
|
+
/* @__PURE__ */ jsx26(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx26(
|
|
2195
|
+
"button",
|
|
2196
|
+
{
|
|
2197
|
+
type: "button",
|
|
2198
|
+
className: "inline-flex shrink-0 rounded-sm text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
2199
|
+
"aria-label": "More information",
|
|
2200
|
+
onClick: (e) => e.preventDefault(),
|
|
2201
|
+
children: /* @__PURE__ */ jsx26(CircleHelp, { className: "h-3.5 w-3.5", "aria-hidden": true })
|
|
2202
|
+
}
|
|
2203
|
+
) }),
|
|
2204
|
+
/* @__PURE__ */ jsx26(TooltipContent, { side: "top", children: /* @__PURE__ */ jsx26(LabelTooltipContent, { content }) })
|
|
2205
|
+
] }) });
|
|
2206
|
+
}
|
|
2207
|
+
function hasLabelTooltip(tooltip) {
|
|
2208
|
+
if (tooltip == null) return false;
|
|
2209
|
+
if (typeof tooltip === "string" && tooltip.trim() === "") return false;
|
|
2210
|
+
return true;
|
|
2211
|
+
}
|
|
2212
|
+
var Label2 = React25.forwardRef(({ className, tone, size, required, tooltip, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
|
|
2061
2213
|
LabelPrimitive.Root,
|
|
2062
2214
|
{
|
|
2063
2215
|
ref,
|
|
2064
|
-
className: cn(
|
|
2216
|
+
className: cn(
|
|
2217
|
+
labelVariants({ tone, size }),
|
|
2218
|
+
"inline-flex items-center gap-1",
|
|
2219
|
+
className
|
|
2220
|
+
),
|
|
2065
2221
|
...props,
|
|
2066
2222
|
children: [
|
|
2067
2223
|
children,
|
|
2068
|
-
|
|
2224
|
+
hasLabelTooltip(tooltip) && /* @__PURE__ */ jsx26(LabelTooltip, { content: tooltip }),
|
|
2225
|
+
required && /* @__PURE__ */ jsx26("span", { className: "text-destructive", children: "*" })
|
|
2069
2226
|
]
|
|
2070
2227
|
}
|
|
2071
2228
|
));
|
|
2072
2229
|
Label2.displayName = LabelPrimitive.Root.displayName;
|
|
2073
2230
|
|
|
2074
2231
|
// source/components/primitive/RadioGroup/radiogroup.tsx
|
|
2075
|
-
import * as
|
|
2232
|
+
import * as React26 from "react";
|
|
2076
2233
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2077
2234
|
import { Circle as Circle2 } from "lucide-react";
|
|
2078
|
-
import { jsx as
|
|
2079
|
-
var RadioGroup2 =
|
|
2080
|
-
return /* @__PURE__ */
|
|
2235
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2236
|
+
var RadioGroup2 = React26.forwardRef(({ className, ...props }, ref) => {
|
|
2237
|
+
return /* @__PURE__ */ jsx27(
|
|
2081
2238
|
RadioGroupPrimitive.Root,
|
|
2082
2239
|
{
|
|
2083
2240
|
ref,
|
|
@@ -2087,8 +2244,8 @@ var RadioGroup2 = React24.forwardRef(({ className, ...props }, ref) => {
|
|
|
2087
2244
|
);
|
|
2088
2245
|
});
|
|
2089
2246
|
RadioGroup2.displayName = "RadioGroup";
|
|
2090
|
-
var RadioGroupItem =
|
|
2091
|
-
return /* @__PURE__ */
|
|
2247
|
+
var RadioGroupItem = React26.forwardRef(({ className, ...props }, ref) => {
|
|
2248
|
+
return /* @__PURE__ */ jsx27(
|
|
2092
2249
|
RadioGroupPrimitive.Item,
|
|
2093
2250
|
{
|
|
2094
2251
|
ref,
|
|
@@ -2100,7 +2257,7 @@ var RadioGroupItem = React24.forwardRef(({ className, ...props }, ref) => {
|
|
|
2100
2257
|
className
|
|
2101
2258
|
),
|
|
2102
2259
|
...props,
|
|
2103
|
-
children: /* @__PURE__ */
|
|
2260
|
+
children: /* @__PURE__ */ jsx27(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx27(Circle2, { className: "h-2.5 w-2.5 shrink-0 fill-current text-current" }) })
|
|
2104
2261
|
}
|
|
2105
2262
|
);
|
|
2106
2263
|
});
|
|
@@ -2114,20 +2271,20 @@ import Image2 from "@tiptap/extension-image";
|
|
|
2114
2271
|
import Link from "@tiptap/extension-link";
|
|
2115
2272
|
|
|
2116
2273
|
// source/components/primitive/RichTextArea/richtext-toolbar.tsx
|
|
2117
|
-
import { jsx as
|
|
2274
|
+
import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2118
2275
|
function RichTextToolbar({ editor }) {
|
|
2119
2276
|
if (!editor) return null;
|
|
2120
|
-
return /* @__PURE__ */
|
|
2121
|
-
/* @__PURE__ */
|
|
2122
|
-
/* @__PURE__ */
|
|
2123
|
-
/* @__PURE__ */
|
|
2124
|
-
/* @__PURE__ */
|
|
2125
|
-
/* @__PURE__ */
|
|
2277
|
+
return /* @__PURE__ */ jsxs17("div", { className: "flex flex-wrap gap-2 border-b p-2", children: [
|
|
2278
|
+
/* @__PURE__ */ jsx28("button", { onClick: () => editor.chain().focus().toggleBold().run(), children: "Bold" }),
|
|
2279
|
+
/* @__PURE__ */ jsx28("button", { onClick: () => editor.chain().focus().toggleItalic().run(), children: "Italic" }),
|
|
2280
|
+
/* @__PURE__ */ jsx28("button", { onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(), children: "H2" }),
|
|
2281
|
+
/* @__PURE__ */ jsx28("button", { onClick: () => editor.chain().focus().toggleBulletList().run(), children: "List" }),
|
|
2282
|
+
/* @__PURE__ */ jsx28("button", { onClick: () => editor.chain().focus().toggleCodeBlock().run(), children: "Code" })
|
|
2126
2283
|
] });
|
|
2127
2284
|
}
|
|
2128
2285
|
|
|
2129
2286
|
// source/components/primitive/RichTextArea/richtext-editor.tsx
|
|
2130
|
-
import { jsx as
|
|
2287
|
+
import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2131
2288
|
var RichTextEditor = ({
|
|
2132
2289
|
value,
|
|
2133
2290
|
onChange,
|
|
@@ -2151,7 +2308,7 @@ var RichTextEditor = ({
|
|
|
2151
2308
|
}
|
|
2152
2309
|
});
|
|
2153
2310
|
if (!editor) return null;
|
|
2154
|
-
return /* @__PURE__ */
|
|
2311
|
+
return /* @__PURE__ */ jsxs18(
|
|
2155
2312
|
"div",
|
|
2156
2313
|
{
|
|
2157
2314
|
className: cn(
|
|
@@ -2161,8 +2318,8 @@ var RichTextEditor = ({
|
|
|
2161
2318
|
className
|
|
2162
2319
|
),
|
|
2163
2320
|
children: [
|
|
2164
|
-
/* @__PURE__ */
|
|
2165
|
-
/* @__PURE__ */
|
|
2321
|
+
/* @__PURE__ */ jsx29(RichTextToolbar, { editor }),
|
|
2322
|
+
/* @__PURE__ */ jsx29(
|
|
2166
2323
|
EditorContent,
|
|
2167
2324
|
{
|
|
2168
2325
|
editor,
|
|
@@ -2175,9 +2332,9 @@ var RichTextEditor = ({
|
|
|
2175
2332
|
};
|
|
2176
2333
|
|
|
2177
2334
|
// source/components/primitive/SearchableSelect/searchable-select.tsx
|
|
2178
|
-
import * as
|
|
2335
|
+
import * as React27 from "react";
|
|
2179
2336
|
import { Check as Check4, ChevronDown as ChevronDown3, Search as Search2 } from "lucide-react";
|
|
2180
|
-
import { jsx as
|
|
2337
|
+
import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2181
2338
|
function reactNodeToLabelString2(node) {
|
|
2182
2339
|
if (node == null || typeof node === "boolean") return "";
|
|
2183
2340
|
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
@@ -2207,12 +2364,12 @@ function SearchableSelectInner({
|
|
|
2207
2364
|
"aria-invalid": ariaInvalid,
|
|
2208
2365
|
innerRef
|
|
2209
2366
|
}) {
|
|
2210
|
-
const [open, setOpen] =
|
|
2211
|
-
const [search, setSearch] =
|
|
2212
|
-
const searchInputRef =
|
|
2367
|
+
const [open, setOpen] = React27.useState(false);
|
|
2368
|
+
const [search, setSearch] = React27.useState("");
|
|
2369
|
+
const searchInputRef = React27.useRef(null);
|
|
2213
2370
|
const filteredItems = items.filter((item) => filterItem(item, search));
|
|
2214
2371
|
const selectedItem = items.find((item) => item.value === value);
|
|
2215
|
-
|
|
2372
|
+
React27.useEffect(() => {
|
|
2216
2373
|
if (open) {
|
|
2217
2374
|
setTimeout(() => searchInputRef.current?.focus(), 0);
|
|
2218
2375
|
} else {
|
|
@@ -2232,9 +2389,9 @@ function SearchableSelectInner({
|
|
|
2232
2389
|
e.stopPropagation();
|
|
2233
2390
|
onValueChange?.("");
|
|
2234
2391
|
};
|
|
2235
|
-
return /* @__PURE__ */
|
|
2236
|
-
name && /* @__PURE__ */
|
|
2237
|
-
/* @__PURE__ */
|
|
2392
|
+
return /* @__PURE__ */ jsx30("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsxs19(Popover, { open, onOpenChange: setOpen, children: [
|
|
2393
|
+
name && /* @__PURE__ */ jsx30("input", { type: "hidden", name, value: value ?? "" }),
|
|
2394
|
+
/* @__PURE__ */ jsx30(PopoverTrigger, { asChild: true, className: "w-full", children: /* @__PURE__ */ jsxs19(
|
|
2238
2395
|
"button",
|
|
2239
2396
|
{
|
|
2240
2397
|
ref: innerRef,
|
|
@@ -2254,7 +2411,7 @@ function SearchableSelectInner({
|
|
|
2254
2411
|
className
|
|
2255
2412
|
),
|
|
2256
2413
|
children: [
|
|
2257
|
-
/* @__PURE__ */
|
|
2414
|
+
/* @__PURE__ */ jsx30(
|
|
2258
2415
|
"span",
|
|
2259
2416
|
{
|
|
2260
2417
|
className: cn(
|
|
@@ -2264,8 +2421,8 @@ function SearchableSelectInner({
|
|
|
2264
2421
|
children: selectedItem?.label ?? placeholder
|
|
2265
2422
|
}
|
|
2266
2423
|
),
|
|
2267
|
-
/* @__PURE__ */
|
|
2268
|
-
clearable && value && !disabled && /* @__PURE__ */
|
|
2424
|
+
/* @__PURE__ */ jsxs19("span", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
|
|
2425
|
+
clearable && value && !disabled && /* @__PURE__ */ jsx30(
|
|
2269
2426
|
"span",
|
|
2270
2427
|
{
|
|
2271
2428
|
role: "button",
|
|
@@ -2281,21 +2438,21 @@ function SearchableSelectInner({
|
|
|
2281
2438
|
children: "\xD7"
|
|
2282
2439
|
}
|
|
2283
2440
|
),
|
|
2284
|
-
/* @__PURE__ */
|
|
2441
|
+
/* @__PURE__ */ jsx30(ChevronDown3, { "aria-hidden": true, className: "h-4 w-4 shrink-0 text-slate-500 dark:text-slate-400" })
|
|
2285
2442
|
] })
|
|
2286
2443
|
]
|
|
2287
2444
|
}
|
|
2288
2445
|
) }),
|
|
2289
|
-
/* @__PURE__ */
|
|
2446
|
+
/* @__PURE__ */ jsxs19(
|
|
2290
2447
|
PopoverContent,
|
|
2291
2448
|
{
|
|
2292
2449
|
align: "start",
|
|
2293
2450
|
className: "w-[--radix-popover-trigger-width] min-w-[var(--radix-popover-trigger-width)] max-w-[var(--radix-popover-content-available-width)] p-0",
|
|
2294
2451
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
2295
2452
|
children: [
|
|
2296
|
-
/* @__PURE__ */
|
|
2297
|
-
/* @__PURE__ */
|
|
2298
|
-
/* @__PURE__ */
|
|
2453
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [
|
|
2454
|
+
/* @__PURE__ */ jsx30(Search2, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
|
|
2455
|
+
/* @__PURE__ */ jsx30(
|
|
2299
2456
|
"input",
|
|
2300
2457
|
{
|
|
2301
2458
|
ref: searchInputRef,
|
|
@@ -2306,9 +2463,9 @@ function SearchableSelectInner({
|
|
|
2306
2463
|
}
|
|
2307
2464
|
)
|
|
2308
2465
|
] }),
|
|
2309
|
-
/* @__PURE__ */
|
|
2466
|
+
/* @__PURE__ */ jsx30("div", { className: "max-h-60 overflow-y-auto p-1", children: filteredItems.length === 0 ? /* @__PURE__ */ jsx30("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: "No results found." }) : filteredItems.map((item) => {
|
|
2310
2467
|
const isSelected = item.value === value;
|
|
2311
|
-
return /* @__PURE__ */
|
|
2468
|
+
return /* @__PURE__ */ jsxs19(
|
|
2312
2469
|
"button",
|
|
2313
2470
|
{
|
|
2314
2471
|
type: "button",
|
|
@@ -2324,8 +2481,8 @@ function SearchableSelectInner({
|
|
|
2324
2481
|
isSelected && "bg-accent/50"
|
|
2325
2482
|
),
|
|
2326
2483
|
children: [
|
|
2327
|
-
/* @__PURE__ */
|
|
2328
|
-
/* @__PURE__ */
|
|
2484
|
+
/* @__PURE__ */ jsx30("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: isSelected && /* @__PURE__ */ jsx30(Check4, { className: "h-4 w-4" }) }),
|
|
2485
|
+
/* @__PURE__ */ jsx30("span", { className: "min-w-0 flex-1 whitespace-normal break-words", children: item.label })
|
|
2329
2486
|
]
|
|
2330
2487
|
},
|
|
2331
2488
|
item.value
|
|
@@ -2336,18 +2493,18 @@ function SearchableSelectInner({
|
|
|
2336
2493
|
)
|
|
2337
2494
|
] }) });
|
|
2338
2495
|
}
|
|
2339
|
-
var SearchableSelect =
|
|
2496
|
+
var SearchableSelect = React27.forwardRef((props, ref) => /* @__PURE__ */ jsx30(SearchableSelectInner, { ...props, innerRef: ref }));
|
|
2340
2497
|
SearchableSelect.displayName = "SearchableSelect";
|
|
2341
2498
|
|
|
2342
2499
|
// source/components/primitive/Select/select.tsx
|
|
2343
|
-
import * as
|
|
2500
|
+
import * as React28 from "react";
|
|
2344
2501
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
2345
2502
|
import { Check as Check5, ChevronDown as ChevronDown4, ChevronUp } from "lucide-react";
|
|
2346
|
-
import { jsx as
|
|
2503
|
+
import { jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2347
2504
|
var Select = SelectPrimitive.Root;
|
|
2348
2505
|
var SelectGroup = SelectPrimitive.Group;
|
|
2349
2506
|
var SelectValue = SelectPrimitive.Value;
|
|
2350
|
-
var SelectTrigger =
|
|
2507
|
+
var SelectTrigger = React28.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(
|
|
2351
2508
|
SelectPrimitive.Trigger,
|
|
2352
2509
|
{
|
|
2353
2510
|
ref,
|
|
@@ -2361,7 +2518,7 @@ var SelectTrigger = React26.forwardRef(({ className, children, ...props }, ref)
|
|
|
2361
2518
|
...props,
|
|
2362
2519
|
children: [
|
|
2363
2520
|
children,
|
|
2364
|
-
/* @__PURE__ */
|
|
2521
|
+
/* @__PURE__ */ jsx31(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx31(
|
|
2365
2522
|
ChevronDown4,
|
|
2366
2523
|
{
|
|
2367
2524
|
"aria-hidden": "true",
|
|
@@ -2372,7 +2529,7 @@ var SelectTrigger = React26.forwardRef(({ className, children, ...props }, ref)
|
|
|
2372
2529
|
}
|
|
2373
2530
|
));
|
|
2374
2531
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2375
|
-
var SelectScrollUpButton =
|
|
2532
|
+
var SelectScrollUpButton = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
2376
2533
|
SelectPrimitive.ScrollUpButton,
|
|
2377
2534
|
{
|
|
2378
2535
|
ref,
|
|
@@ -2381,11 +2538,11 @@ var SelectScrollUpButton = React26.forwardRef(({ className, ...props }, ref) =>
|
|
|
2381
2538
|
className
|
|
2382
2539
|
),
|
|
2383
2540
|
...props,
|
|
2384
|
-
children: /* @__PURE__ */
|
|
2541
|
+
children: /* @__PURE__ */ jsx31(ChevronUp, { className: "h-4 w-4" })
|
|
2385
2542
|
}
|
|
2386
2543
|
));
|
|
2387
2544
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2388
|
-
var SelectScrollDownButton =
|
|
2545
|
+
var SelectScrollDownButton = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
2389
2546
|
SelectPrimitive.ScrollDownButton,
|
|
2390
2547
|
{
|
|
2391
2548
|
ref,
|
|
@@ -2394,11 +2551,11 @@ var SelectScrollDownButton = React26.forwardRef(({ className, ...props }, ref) =
|
|
|
2394
2551
|
className
|
|
2395
2552
|
),
|
|
2396
2553
|
...props,
|
|
2397
|
-
children: /* @__PURE__ */
|
|
2554
|
+
children: /* @__PURE__ */ jsx31(ChevronDown4, { className: "h-4 w-4" })
|
|
2398
2555
|
}
|
|
2399
2556
|
));
|
|
2400
2557
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2401
|
-
var SelectContent =
|
|
2558
|
+
var SelectContent = React28.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx31(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs20(
|
|
2402
2559
|
SelectPrimitive.Content,
|
|
2403
2560
|
{
|
|
2404
2561
|
ref,
|
|
@@ -2410,8 +2567,8 @@ var SelectContent = React26.forwardRef(({ className, children, position = "poppe
|
|
|
2410
2567
|
position,
|
|
2411
2568
|
...props,
|
|
2412
2569
|
children: [
|
|
2413
|
-
/* @__PURE__ */
|
|
2414
|
-
/* @__PURE__ */
|
|
2570
|
+
/* @__PURE__ */ jsx31(SelectScrollUpButton, {}),
|
|
2571
|
+
/* @__PURE__ */ jsx31(
|
|
2415
2572
|
SelectPrimitive.Viewport,
|
|
2416
2573
|
{
|
|
2417
2574
|
className: cn(
|
|
@@ -2421,12 +2578,12 @@ var SelectContent = React26.forwardRef(({ className, children, position = "poppe
|
|
|
2421
2578
|
children
|
|
2422
2579
|
}
|
|
2423
2580
|
),
|
|
2424
|
-
/* @__PURE__ */
|
|
2581
|
+
/* @__PURE__ */ jsx31(SelectScrollDownButton, {})
|
|
2425
2582
|
]
|
|
2426
2583
|
}
|
|
2427
2584
|
) }));
|
|
2428
2585
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2429
|
-
var SelectLabel =
|
|
2586
|
+
var SelectLabel = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
2430
2587
|
SelectPrimitive.Label,
|
|
2431
2588
|
{
|
|
2432
2589
|
ref,
|
|
@@ -2435,13 +2592,13 @@ var SelectLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2435
2592
|
}
|
|
2436
2593
|
));
|
|
2437
2594
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2438
|
-
var SelectItem =
|
|
2595
|
+
var SelectItem = React28.forwardRef(({ value, className, children, ...props }, ref) => {
|
|
2439
2596
|
if (value === "") {
|
|
2440
2597
|
throw new Error(
|
|
2441
2598
|
'SelectItem: `value` must not be an empty string \u2014 Radix uses "" to reset the Select and show the placeholder. Omit that option and use `<SelectValue placeholder="\u2026">`, or assign a sentinel value such as `"none"`.'
|
|
2442
2599
|
);
|
|
2443
2600
|
}
|
|
2444
|
-
return /* @__PURE__ */
|
|
2601
|
+
return /* @__PURE__ */ jsxs20(
|
|
2445
2602
|
SelectPrimitive.Item,
|
|
2446
2603
|
{
|
|
2447
2604
|
ref,
|
|
@@ -2452,14 +2609,14 @@ var SelectItem = React26.forwardRef(({ value, className, children, ...props }, r
|
|
|
2452
2609
|
),
|
|
2453
2610
|
...props,
|
|
2454
2611
|
children: [
|
|
2455
|
-
/* @__PURE__ */
|
|
2456
|
-
/* @__PURE__ */
|
|
2612
|
+
/* @__PURE__ */ jsx31("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx31(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx31(Check5, { className: "h-4 w-4" }) }) }),
|
|
2613
|
+
/* @__PURE__ */ jsx31(SelectPrimitive.ItemText, { className: "whitespace-normal break-words", children })
|
|
2457
2614
|
]
|
|
2458
2615
|
}
|
|
2459
2616
|
);
|
|
2460
2617
|
});
|
|
2461
2618
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2462
|
-
var SelectSeparator =
|
|
2619
|
+
var SelectSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
2463
2620
|
SelectPrimitive.Separator,
|
|
2464
2621
|
{
|
|
2465
2622
|
ref,
|
|
@@ -2470,10 +2627,10 @@ var SelectSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
2470
2627
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
2471
2628
|
|
|
2472
2629
|
// source/components/primitive/Switch/switch.tsx
|
|
2473
|
-
import * as
|
|
2630
|
+
import * as React29 from "react";
|
|
2474
2631
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
2475
2632
|
import { cva as cva9 } from "class-variance-authority";
|
|
2476
|
-
import { jsx as
|
|
2633
|
+
import { jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2477
2634
|
var switchRootVariants = cva9(
|
|
2478
2635
|
[
|
|
2479
2636
|
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
|
|
@@ -2507,14 +2664,14 @@ var switchThumbVariants = cva9(
|
|
|
2507
2664
|
}
|
|
2508
2665
|
}
|
|
2509
2666
|
);
|
|
2510
|
-
var Switch =
|
|
2667
|
+
var Switch = React29.forwardRef(
|
|
2511
2668
|
({ className, label, description, error, size, id: idProp, ...props }, ref) => {
|
|
2512
|
-
const generatedId =
|
|
2669
|
+
const generatedId = React29.useId();
|
|
2513
2670
|
const id = idProp ?? generatedId;
|
|
2514
2671
|
const descriptionId = description ? `${id}-description` : void 0;
|
|
2515
2672
|
const errorId = error ? `${id}-error` : void 0;
|
|
2516
|
-
return /* @__PURE__ */
|
|
2517
|
-
/* @__PURE__ */
|
|
2673
|
+
return /* @__PURE__ */ jsxs21("div", { className: "flex items-start gap-3", children: [
|
|
2674
|
+
/* @__PURE__ */ jsx32(
|
|
2518
2675
|
SwitchPrimitives.Root,
|
|
2519
2676
|
{
|
|
2520
2677
|
ref,
|
|
@@ -2527,7 +2684,7 @@ var Switch = React27.forwardRef(
|
|
|
2527
2684
|
className
|
|
2528
2685
|
),
|
|
2529
2686
|
...props,
|
|
2530
|
-
children: /* @__PURE__ */
|
|
2687
|
+
children: /* @__PURE__ */ jsx32(
|
|
2531
2688
|
SwitchPrimitives.Thumb,
|
|
2532
2689
|
{
|
|
2533
2690
|
className: cn(switchThumbVariants({ size }))
|
|
@@ -2535,8 +2692,8 @@ var Switch = React27.forwardRef(
|
|
|
2535
2692
|
)
|
|
2536
2693
|
}
|
|
2537
2694
|
),
|
|
2538
|
-
(label || description || error) && /* @__PURE__ */
|
|
2539
|
-
label && /* @__PURE__ */
|
|
2695
|
+
(label || description || error) && /* @__PURE__ */ jsxs21("div", { className: "flex flex-col leading-tight", children: [
|
|
2696
|
+
label && /* @__PURE__ */ jsx32(
|
|
2540
2697
|
"label",
|
|
2541
2698
|
{
|
|
2542
2699
|
htmlFor: id,
|
|
@@ -2544,7 +2701,7 @@ var Switch = React27.forwardRef(
|
|
|
2544
2701
|
children: label
|
|
2545
2702
|
}
|
|
2546
2703
|
),
|
|
2547
|
-
description && /* @__PURE__ */
|
|
2704
|
+
description && /* @__PURE__ */ jsx32(
|
|
2548
2705
|
"p",
|
|
2549
2706
|
{
|
|
2550
2707
|
id: descriptionId,
|
|
@@ -2552,7 +2709,7 @@ var Switch = React27.forwardRef(
|
|
|
2552
2709
|
children: description
|
|
2553
2710
|
}
|
|
2554
2711
|
),
|
|
2555
|
-
error && /* @__PURE__ */
|
|
2712
|
+
error && /* @__PURE__ */ jsx32(
|
|
2556
2713
|
"p",
|
|
2557
2714
|
{
|
|
2558
2715
|
id: errorId,
|
|
@@ -2567,9 +2724,9 @@ var Switch = React27.forwardRef(
|
|
|
2567
2724
|
Switch.displayName = "Switch";
|
|
2568
2725
|
|
|
2569
2726
|
// source/components/primitive/Text/text.tsx
|
|
2570
|
-
import * as
|
|
2727
|
+
import * as React30 from "react";
|
|
2571
2728
|
import { cva as cva10 } from "class-variance-authority";
|
|
2572
|
-
import { jsx as
|
|
2729
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
2573
2730
|
var textVariants = cva10("text-foreground", {
|
|
2574
2731
|
variants: {
|
|
2575
2732
|
element: {
|
|
@@ -2618,7 +2775,7 @@ var textVariants = cva10("text-foreground", {
|
|
|
2618
2775
|
tone: "default"
|
|
2619
2776
|
}
|
|
2620
2777
|
});
|
|
2621
|
-
var Text =
|
|
2778
|
+
var Text = React30.forwardRef(
|
|
2622
2779
|
({
|
|
2623
2780
|
element = "p",
|
|
2624
2781
|
size,
|
|
@@ -2631,7 +2788,7 @@ var Text = React28.forwardRef(
|
|
|
2631
2788
|
}, ref) => {
|
|
2632
2789
|
const Comp = element;
|
|
2633
2790
|
const variantElement = element === "div" ? "p" : element;
|
|
2634
|
-
return /* @__PURE__ */
|
|
2791
|
+
return /* @__PURE__ */ jsx33(
|
|
2635
2792
|
Comp,
|
|
2636
2793
|
{
|
|
2637
2794
|
ref,
|
|
@@ -2654,8 +2811,8 @@ var Text = React28.forwardRef(
|
|
|
2654
2811
|
Text.displayName = "Text";
|
|
2655
2812
|
|
|
2656
2813
|
// source/components/primitive/TextArea/textarea.tsx
|
|
2657
|
-
import * as
|
|
2658
|
-
import { jsx as
|
|
2814
|
+
import * as React31 from "react";
|
|
2815
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2659
2816
|
var resizeClasses = {
|
|
2660
2817
|
none: "resize-none",
|
|
2661
2818
|
vertical: "resize-y",
|
|
@@ -2663,9 +2820,9 @@ var resizeClasses = {
|
|
|
2663
2820
|
both: "resize"
|
|
2664
2821
|
};
|
|
2665
2822
|
var layout = "block min-h-[120px] w-full min-w-0 px-4 py-2 text-sm md:text-base";
|
|
2666
|
-
var Textarea =
|
|
2823
|
+
var Textarea = React31.forwardRef(
|
|
2667
2824
|
({ className, error, resize = "vertical", ...props }, ref) => {
|
|
2668
|
-
return /* @__PURE__ */
|
|
2825
|
+
return /* @__PURE__ */ jsx34(
|
|
2669
2826
|
"textarea",
|
|
2670
2827
|
{
|
|
2671
2828
|
ref,
|
|
@@ -2687,7 +2844,7 @@ var Textarea = React29.forwardRef(
|
|
|
2687
2844
|
Textarea.displayName = "Textarea";
|
|
2688
2845
|
|
|
2689
2846
|
// source/components/primitive/FormField/form-field.tsx
|
|
2690
|
-
import { jsx as
|
|
2847
|
+
import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2691
2848
|
function stripThousands(s) {
|
|
2692
2849
|
return s.replace(/,/g, "");
|
|
2693
2850
|
}
|
|
@@ -2809,6 +2966,7 @@ function formFieldHasLabel(label) {
|
|
|
2809
2966
|
function FormField({
|
|
2810
2967
|
name,
|
|
2811
2968
|
label,
|
|
2969
|
+
labelTooltip,
|
|
2812
2970
|
register,
|
|
2813
2971
|
control,
|
|
2814
2972
|
rules,
|
|
@@ -2831,7 +2989,7 @@ function FormField({
|
|
|
2831
2989
|
className,
|
|
2832
2990
|
renderInput
|
|
2833
2991
|
}) {
|
|
2834
|
-
const generatedId =
|
|
2992
|
+
const generatedId = React32.useId();
|
|
2835
2993
|
const inputId = `field-${generatedId}`;
|
|
2836
2994
|
const descriptionId = description ? `${inputId}-description` : void 0;
|
|
2837
2995
|
const externalError = error ? String(error) : void 0;
|
|
@@ -2874,7 +3032,7 @@ function FormField({
|
|
|
2874
3032
|
);
|
|
2875
3033
|
}
|
|
2876
3034
|
if (control) {
|
|
2877
|
-
return /* @__PURE__ */
|
|
3035
|
+
return /* @__PURE__ */ jsx35(
|
|
2878
3036
|
Controller,
|
|
2879
3037
|
{
|
|
2880
3038
|
name,
|
|
@@ -2901,7 +3059,7 @@ function FormField({
|
|
|
2901
3059
|
onChange: field.onChange,
|
|
2902
3060
|
onBlur: field.onBlur,
|
|
2903
3061
|
ref: field.ref
|
|
2904
|
-
}) : /* @__PURE__ */
|
|
3062
|
+
}) : /* @__PURE__ */ jsx35(
|
|
2905
3063
|
FormFieldVariantControl,
|
|
2906
3064
|
{
|
|
2907
3065
|
variant,
|
|
@@ -2926,18 +3084,19 @@ function FormField({
|
|
|
2926
3084
|
maskInput: renderInput ? void 0 : maskInput
|
|
2927
3085
|
}
|
|
2928
3086
|
);
|
|
2929
|
-
const labelBlock = isCheckboxInline || !hasFieldLabel2 ? null : /* @__PURE__ */
|
|
3087
|
+
const labelBlock = isCheckboxInline || !hasFieldLabel2 ? null : /* @__PURE__ */ jsx35(
|
|
2930
3088
|
Label2,
|
|
2931
3089
|
{
|
|
2932
3090
|
id: variant === "radio" || variant === "richtext" ? legendId : void 0,
|
|
2933
3091
|
htmlFor: variant === "radio" || variant === "richtext" ? void 0 : inputId,
|
|
2934
3092
|
size: "sm",
|
|
2935
3093
|
required,
|
|
3094
|
+
tooltip: labelTooltip,
|
|
2936
3095
|
children: label
|
|
2937
3096
|
}
|
|
2938
3097
|
);
|
|
2939
|
-
const checkboxInline = isCheckboxInline ? hasFieldLabel2 ? /* @__PURE__ */
|
|
2940
|
-
/* @__PURE__ */
|
|
3098
|
+
const checkboxInline = isCheckboxInline ? hasFieldLabel2 ? /* @__PURE__ */ jsxs22("div", { className: "flex w-full min-w-0 items-start gap-2", children: [
|
|
3099
|
+
/* @__PURE__ */ jsx35(
|
|
2941
3100
|
Checkbox,
|
|
2942
3101
|
{
|
|
2943
3102
|
...checkboxProps,
|
|
@@ -2952,17 +3111,18 @@ function FormField({
|
|
|
2952
3111
|
"aria-invalid": hasError || void 0
|
|
2953
3112
|
}
|
|
2954
3113
|
),
|
|
2955
|
-
/* @__PURE__ */
|
|
3114
|
+
/* @__PURE__ */ jsx35(
|
|
2956
3115
|
Label2,
|
|
2957
3116
|
{
|
|
2958
3117
|
htmlFor: inputId,
|
|
2959
3118
|
required,
|
|
2960
3119
|
size: "sm",
|
|
3120
|
+
tooltip: labelTooltip,
|
|
2961
3121
|
className: "font-normal leading-snug",
|
|
2962
3122
|
children: label
|
|
2963
3123
|
}
|
|
2964
3124
|
)
|
|
2965
|
-
] }) : /* @__PURE__ */
|
|
3125
|
+
] }) : /* @__PURE__ */ jsx35(
|
|
2966
3126
|
Checkbox,
|
|
2967
3127
|
{
|
|
2968
3128
|
...checkboxProps,
|
|
@@ -2977,7 +3137,7 @@ function FormField({
|
|
|
2977
3137
|
"aria-invalid": hasError || void 0
|
|
2978
3138
|
}
|
|
2979
3139
|
) : null;
|
|
2980
|
-
return /* @__PURE__ */
|
|
3140
|
+
return /* @__PURE__ */ jsxs22(
|
|
2981
3141
|
"div",
|
|
2982
3142
|
{
|
|
2983
3143
|
className: cn(
|
|
@@ -2985,12 +3145,12 @@ function FormField({
|
|
|
2985
3145
|
className
|
|
2986
3146
|
),
|
|
2987
3147
|
children: [
|
|
2988
|
-
isCheckboxInline ? checkboxInline : /* @__PURE__ */
|
|
3148
|
+
isCheckboxInline ? checkboxInline : /* @__PURE__ */ jsxs22("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
|
|
2989
3149
|
labelBlock,
|
|
2990
3150
|
controlNode
|
|
2991
3151
|
] }),
|
|
2992
|
-
description && /* @__PURE__ */
|
|
2993
|
-
message && /* @__PURE__ */
|
|
3152
|
+
description && /* @__PURE__ */ jsx35(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
|
|
3153
|
+
message && /* @__PURE__ */ jsx35(Text, { id: errorId, size: "sm", tone: "destructive", children: message })
|
|
2994
3154
|
]
|
|
2995
3155
|
}
|
|
2996
3156
|
);
|
|
@@ -3015,7 +3175,7 @@ function FormField({
|
|
|
3015
3175
|
"aria-describedby": describedBy,
|
|
3016
3176
|
error: Boolean(externalError),
|
|
3017
3177
|
...registered
|
|
3018
|
-
}) : variant === "textarea" ? /* @__PURE__ */
|
|
3178
|
+
}) : variant === "textarea" ? /* @__PURE__ */ jsx35(
|
|
3019
3179
|
Textarea,
|
|
3020
3180
|
{
|
|
3021
3181
|
id: inputId,
|
|
@@ -3024,7 +3184,7 @@ function FormField({
|
|
|
3024
3184
|
...textareaProps,
|
|
3025
3185
|
...registered
|
|
3026
3186
|
}
|
|
3027
|
-
) : /* @__PURE__ */
|
|
3187
|
+
) : /* @__PURE__ */ jsx35(
|
|
3028
3188
|
Input,
|
|
3029
3189
|
{
|
|
3030
3190
|
id: inputId,
|
|
@@ -3034,13 +3194,22 @@ function FormField({
|
|
|
3034
3194
|
...registered
|
|
3035
3195
|
}
|
|
3036
3196
|
);
|
|
3037
|
-
return /* @__PURE__ */
|
|
3038
|
-
hasFieldLabel ? /* @__PURE__ */
|
|
3039
|
-
/* @__PURE__ */
|
|
3197
|
+
return /* @__PURE__ */ jsxs22("div", { className: cn("mt-4 flex w-full min-w-0 flex-col gap-2", className), children: [
|
|
3198
|
+
hasFieldLabel ? /* @__PURE__ */ jsxs22("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
|
|
3199
|
+
/* @__PURE__ */ jsx35(
|
|
3200
|
+
Label2,
|
|
3201
|
+
{
|
|
3202
|
+
htmlFor: inputId,
|
|
3203
|
+
required,
|
|
3204
|
+
size: "sm",
|
|
3205
|
+
tooltip: labelTooltip,
|
|
3206
|
+
children: label
|
|
3207
|
+
}
|
|
3208
|
+
),
|
|
3040
3209
|
registeredControl
|
|
3041
|
-
] }) : /* @__PURE__ */
|
|
3042
|
-
description && /* @__PURE__ */
|
|
3043
|
-
externalError && /* @__PURE__ */
|
|
3210
|
+
] }) : /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: registeredControl }),
|
|
3211
|
+
description && /* @__PURE__ */ jsx35(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
|
|
3212
|
+
externalError && /* @__PURE__ */ jsx35(Text, { id: `${inputId}-error`, size: "sm", tone: "destructive", children: externalError })
|
|
3044
3213
|
] });
|
|
3045
3214
|
}
|
|
3046
3215
|
function formValueToAsyncSelectOption(v) {
|
|
@@ -3078,7 +3247,7 @@ function FormFieldVariantControl({
|
|
|
3078
3247
|
}) {
|
|
3079
3248
|
switch (variant) {
|
|
3080
3249
|
case "textarea":
|
|
3081
|
-
return /* @__PURE__ */
|
|
3250
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3082
3251
|
Textarea,
|
|
3083
3252
|
{
|
|
3084
3253
|
...textareaProps,
|
|
@@ -3096,7 +3265,7 @@ function FormFieldVariantControl({
|
|
|
3096
3265
|
case "checkbox":
|
|
3097
3266
|
return null;
|
|
3098
3267
|
case "switch":
|
|
3099
|
-
return /* @__PURE__ */
|
|
3268
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3100
3269
|
Switch,
|
|
3101
3270
|
{
|
|
3102
3271
|
...switchProps,
|
|
@@ -3134,7 +3303,7 @@ function FormFieldVariantControl({
|
|
|
3134
3303
|
}
|
|
3135
3304
|
const value = field.value == null || field.value === "" ? void 0 : String(field.value);
|
|
3136
3305
|
if (searchable) {
|
|
3137
|
-
return /* @__PURE__ */
|
|
3306
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3138
3307
|
SearchableSelect,
|
|
3139
3308
|
{
|
|
3140
3309
|
items,
|
|
@@ -3159,7 +3328,7 @@ function FormFieldVariantControl({
|
|
|
3159
3328
|
}
|
|
3160
3329
|
) });
|
|
3161
3330
|
}
|
|
3162
|
-
return /* @__PURE__ */
|
|
3331
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsxs22(
|
|
3163
3332
|
Select,
|
|
3164
3333
|
{
|
|
3165
3334
|
...selectRootRest,
|
|
@@ -3168,7 +3337,7 @@ function FormFieldVariantControl({
|
|
|
3168
3337
|
disabled: field.disabled,
|
|
3169
3338
|
name: field.name,
|
|
3170
3339
|
children: [
|
|
3171
|
-
/* @__PURE__ */
|
|
3340
|
+
/* @__PURE__ */ jsx35(
|
|
3172
3341
|
SelectTrigger,
|
|
3173
3342
|
{
|
|
3174
3343
|
id: inputId,
|
|
@@ -3180,10 +3349,10 @@ function FormFieldVariantControl({
|
|
|
3180
3349
|
triggerClassName
|
|
3181
3350
|
),
|
|
3182
3351
|
onBlur: field.onBlur,
|
|
3183
|
-
children: /* @__PURE__ */
|
|
3352
|
+
children: /* @__PURE__ */ jsx35(SelectValue, { placeholder })
|
|
3184
3353
|
}
|
|
3185
3354
|
),
|
|
3186
|
-
/* @__PURE__ */
|
|
3355
|
+
/* @__PURE__ */ jsx35(SelectContent, { className: contentClassName, children: items.map((item) => /* @__PURE__ */ jsx35(
|
|
3187
3356
|
SelectItem,
|
|
3188
3357
|
{
|
|
3189
3358
|
value: item.value,
|
|
@@ -3206,7 +3375,7 @@ function FormFieldVariantControl({
|
|
|
3206
3375
|
if (!asyncSelectProps?.labelKey) {
|
|
3207
3376
|
throw new Error('FormField variant "async-select" requires asyncSelectProps.labelKey.');
|
|
3208
3377
|
}
|
|
3209
|
-
return /* @__PURE__ */
|
|
3378
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3210
3379
|
AsyncSelect,
|
|
3211
3380
|
{
|
|
3212
3381
|
...asyncSelectProps,
|
|
@@ -3230,7 +3399,7 @@ function FormFieldVariantControl({
|
|
|
3230
3399
|
className: radioClassName,
|
|
3231
3400
|
...radioGroupRest
|
|
3232
3401
|
} = radioProps;
|
|
3233
|
-
return /* @__PURE__ */
|
|
3402
|
+
return /* @__PURE__ */ jsx35(
|
|
3234
3403
|
RadioGroup2,
|
|
3235
3404
|
{
|
|
3236
3405
|
...radioGroupRest,
|
|
@@ -3245,8 +3414,8 @@ function FormFieldVariantControl({
|
|
|
3245
3414
|
"aria-describedby": describedBy,
|
|
3246
3415
|
"aria-invalid": hasError || void 0,
|
|
3247
3416
|
ref: field.ref,
|
|
3248
|
-
children: options.map((opt) => /* @__PURE__ */
|
|
3249
|
-
/* @__PURE__ */
|
|
3417
|
+
children: options.map((opt) => /* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2", children: [
|
|
3418
|
+
/* @__PURE__ */ jsx35(
|
|
3250
3419
|
RadioGroupItem,
|
|
3251
3420
|
{
|
|
3252
3421
|
value: opt.value,
|
|
@@ -3254,7 +3423,7 @@ function FormFieldVariantControl({
|
|
|
3254
3423
|
disabled: opt.disabled
|
|
3255
3424
|
}
|
|
3256
3425
|
),
|
|
3257
|
-
/* @__PURE__ */
|
|
3426
|
+
/* @__PURE__ */ jsx35(
|
|
3258
3427
|
Label2,
|
|
3259
3428
|
{
|
|
3260
3429
|
htmlFor: opt.id ?? `${inputId}-${opt.value}`,
|
|
@@ -3273,7 +3442,7 @@ function FormFieldVariantControl({
|
|
|
3273
3442
|
}
|
|
3274
3443
|
const { maxLength, groups, containerClassName, ...otpRest } = otpProps;
|
|
3275
3444
|
const slotGroups = groups?.length ? groups : defaultOtpGroups(maxLength);
|
|
3276
|
-
return /* @__PURE__ */
|
|
3445
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3277
3446
|
InputOTP,
|
|
3278
3447
|
{
|
|
3279
3448
|
...otpRest,
|
|
@@ -3292,15 +3461,15 @@ function FormFieldVariantControl({
|
|
|
3292
3461
|
hasError && inputOtpContainerInvalid,
|
|
3293
3462
|
containerClassName
|
|
3294
3463
|
),
|
|
3295
|
-
children: slotGroups.map((indices, gi) => /* @__PURE__ */
|
|
3296
|
-
gi > 0 ? /* @__PURE__ */
|
|
3297
|
-
/* @__PURE__ */
|
|
3464
|
+
children: slotGroups.map((indices, gi) => /* @__PURE__ */ jsxs22(React32.Fragment, { children: [
|
|
3465
|
+
gi > 0 ? /* @__PURE__ */ jsx35(InputOTPSeparator, {}) : null,
|
|
3466
|
+
/* @__PURE__ */ jsx35(InputOTPGroup, { children: indices.map((index) => /* @__PURE__ */ jsx35(InputOTPSlot, { index }, index)) })
|
|
3298
3467
|
] }, gi))
|
|
3299
3468
|
}
|
|
3300
3469
|
) });
|
|
3301
3470
|
}
|
|
3302
3471
|
case "richtext":
|
|
3303
|
-
return /* @__PURE__ */
|
|
3472
|
+
return /* @__PURE__ */ jsx35(
|
|
3304
3473
|
"div",
|
|
3305
3474
|
{
|
|
3306
3475
|
className: "w-full min-w-0",
|
|
@@ -3310,7 +3479,7 @@ function FormFieldVariantControl({
|
|
|
3310
3479
|
"aria-describedby": describedBy,
|
|
3311
3480
|
"aria-invalid": hasError || void 0,
|
|
3312
3481
|
onBlur: field.onBlur,
|
|
3313
|
-
children: /* @__PURE__ */
|
|
3482
|
+
children: /* @__PURE__ */ jsx35(
|
|
3314
3483
|
RichTextEditor,
|
|
3315
3484
|
{
|
|
3316
3485
|
value: field.value ?? "",
|
|
@@ -3322,7 +3491,7 @@ function FormFieldVariantControl({
|
|
|
3322
3491
|
}
|
|
3323
3492
|
);
|
|
3324
3493
|
case "dropzone":
|
|
3325
|
-
return /* @__PURE__ */
|
|
3494
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3326
3495
|
FileDropzone,
|
|
3327
3496
|
{
|
|
3328
3497
|
...dropzoneProps,
|
|
@@ -3356,7 +3525,7 @@ function FormFieldVariantControl({
|
|
|
3356
3525
|
const pattern = maskInput.pattern;
|
|
3357
3526
|
const rawStored = field.value == null || field.value === "" ? "" : String(field.value);
|
|
3358
3527
|
const displayValue = formFieldMaskFormatDisplay(pattern, rawStored);
|
|
3359
|
-
return /* @__PURE__ */
|
|
3528
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3360
3529
|
Input,
|
|
3361
3530
|
{
|
|
3362
3531
|
...restInputProps,
|
|
@@ -3393,7 +3562,7 @@ function FormFieldVariantControl({
|
|
|
3393
3562
|
useGrouping
|
|
3394
3563
|
);
|
|
3395
3564
|
const defaultInputMode = allowDecimal ? "decimal" : "numeric";
|
|
3396
|
-
return /* @__PURE__ */
|
|
3565
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3397
3566
|
Input,
|
|
3398
3567
|
{
|
|
3399
3568
|
...restInputProps,
|
|
@@ -3417,7 +3586,7 @@ function FormFieldVariantControl({
|
|
|
3417
3586
|
}
|
|
3418
3587
|
) });
|
|
3419
3588
|
}
|
|
3420
|
-
return /* @__PURE__ */
|
|
3589
|
+
return /* @__PURE__ */ jsx35("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx35(
|
|
3421
3590
|
Input,
|
|
3422
3591
|
{
|
|
3423
3592
|
...restInputProps,
|
|
@@ -3442,9 +3611,9 @@ function FormFieldVariantControl({
|
|
|
3442
3611
|
}
|
|
3443
3612
|
|
|
3444
3613
|
// source/components/primitive/Heading/heading.tsx
|
|
3445
|
-
import * as
|
|
3614
|
+
import * as React33 from "react";
|
|
3446
3615
|
import { cva as cva11 } from "class-variance-authority";
|
|
3447
|
-
import { jsx as
|
|
3616
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
3448
3617
|
var headingVariants = cva11(
|
|
3449
3618
|
"text-foreground tracking-tight",
|
|
3450
3619
|
{
|
|
@@ -3510,7 +3679,7 @@ var headingVariants = cva11(
|
|
|
3510
3679
|
}
|
|
3511
3680
|
}
|
|
3512
3681
|
);
|
|
3513
|
-
var Heading =
|
|
3682
|
+
var Heading = React33.forwardRef(
|
|
3514
3683
|
({
|
|
3515
3684
|
level = 1,
|
|
3516
3685
|
size,
|
|
@@ -3523,7 +3692,7 @@ var Heading = React31.forwardRef(
|
|
|
3523
3692
|
...props
|
|
3524
3693
|
}, ref) => {
|
|
3525
3694
|
const Tag = `h${level}`;
|
|
3526
|
-
return /* @__PURE__ */
|
|
3695
|
+
return /* @__PURE__ */ jsx36(
|
|
3527
3696
|
Tag,
|
|
3528
3697
|
{
|
|
3529
3698
|
ref,
|
|
@@ -3539,10 +3708,10 @@ var Heading = React31.forwardRef(
|
|
|
3539
3708
|
Heading.displayName = "Heading";
|
|
3540
3709
|
|
|
3541
3710
|
// source/components/primitive/InputGroup/input-group.tsx
|
|
3542
|
-
import * as
|
|
3543
|
-
import { jsx as
|
|
3544
|
-
var InputGroup =
|
|
3545
|
-
({ className, error, children, ...props }, ref) => /* @__PURE__ */
|
|
3711
|
+
import * as React34 from "react";
|
|
3712
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
3713
|
+
var InputGroup = React34.forwardRef(
|
|
3714
|
+
({ className, error, children, ...props }, ref) => /* @__PURE__ */ jsx37(
|
|
3546
3715
|
"div",
|
|
3547
3716
|
{
|
|
3548
3717
|
ref,
|
|
@@ -3560,7 +3729,7 @@ var InputGroup = React32.forwardRef(
|
|
|
3560
3729
|
)
|
|
3561
3730
|
);
|
|
3562
3731
|
InputGroup.displayName = "InputGroup";
|
|
3563
|
-
var InputGroupIcon =
|
|
3732
|
+
var InputGroupIcon = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
|
|
3564
3733
|
"span",
|
|
3565
3734
|
{
|
|
3566
3735
|
ref,
|
|
@@ -3573,8 +3742,8 @@ var InputGroupIcon = React32.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
3573
3742
|
}
|
|
3574
3743
|
));
|
|
3575
3744
|
InputGroupIcon.displayName = "InputGroupIcon";
|
|
3576
|
-
var InputGroupInput =
|
|
3577
|
-
({ className, type, ...props }, ref) => /* @__PURE__ */
|
|
3745
|
+
var InputGroupInput = React34.forwardRef(
|
|
3746
|
+
({ className, type, ...props }, ref) => /* @__PURE__ */ jsx37(
|
|
3578
3747
|
"input",
|
|
3579
3748
|
{
|
|
3580
3749
|
ref,
|
|
@@ -3593,10 +3762,10 @@ InputGroupInput.displayName = "InputGroupInput";
|
|
|
3593
3762
|
var inputGroupSelectTriggerTextAlignClass = "pl-12";
|
|
3594
3763
|
|
|
3595
3764
|
// source/components/primitive/Pagination/pagination.tsx
|
|
3596
|
-
import * as
|
|
3765
|
+
import * as React35 from "react";
|
|
3597
3766
|
import { ChevronLeft, ChevronRight as ChevronRight2, MoreHorizontal } from "lucide-react";
|
|
3598
|
-
import { jsx as
|
|
3599
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */
|
|
3767
|
+
import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3768
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx38(
|
|
3600
3769
|
"nav",
|
|
3601
3770
|
{
|
|
3602
3771
|
role: "navigation",
|
|
@@ -3606,7 +3775,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx36(
|
|
|
3606
3775
|
}
|
|
3607
3776
|
);
|
|
3608
3777
|
Pagination.displayName = "Pagination";
|
|
3609
|
-
var PaginationContent =
|
|
3778
|
+
var PaginationContent = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3610
3779
|
"ul",
|
|
3611
3780
|
{
|
|
3612
3781
|
ref,
|
|
@@ -3615,14 +3784,14 @@ var PaginationContent = React33.forwardRef(({ className, ...props }, ref) => /*
|
|
|
3615
3784
|
}
|
|
3616
3785
|
));
|
|
3617
3786
|
PaginationContent.displayName = "PaginationContent";
|
|
3618
|
-
var PaginationItem =
|
|
3787
|
+
var PaginationItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38("li", { ref, className: cn("", className), ...props }));
|
|
3619
3788
|
PaginationItem.displayName = "PaginationItem";
|
|
3620
3789
|
var PaginationLink = ({
|
|
3621
3790
|
className,
|
|
3622
3791
|
isActive,
|
|
3623
3792
|
size = "icon",
|
|
3624
3793
|
...props
|
|
3625
|
-
}) => /* @__PURE__ */
|
|
3794
|
+
}) => /* @__PURE__ */ jsx38(
|
|
3626
3795
|
"a",
|
|
3627
3796
|
{
|
|
3628
3797
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -3640,7 +3809,7 @@ PaginationLink.displayName = "PaginationLink";
|
|
|
3640
3809
|
var PaginationPrevious = ({
|
|
3641
3810
|
className,
|
|
3642
3811
|
...props
|
|
3643
|
-
}) => /* @__PURE__ */
|
|
3812
|
+
}) => /* @__PURE__ */ jsxs23(
|
|
3644
3813
|
PaginationLink,
|
|
3645
3814
|
{
|
|
3646
3815
|
"aria-label": "Go to previous page",
|
|
@@ -3648,8 +3817,8 @@ var PaginationPrevious = ({
|
|
|
3648
3817
|
size: "default",
|
|
3649
3818
|
...props,
|
|
3650
3819
|
children: [
|
|
3651
|
-
/* @__PURE__ */
|
|
3652
|
-
/* @__PURE__ */
|
|
3820
|
+
/* @__PURE__ */ jsx38(ChevronLeft, { className: "h-4 w-4" }),
|
|
3821
|
+
/* @__PURE__ */ jsx38("span", { children: "Previous" })
|
|
3653
3822
|
]
|
|
3654
3823
|
}
|
|
3655
3824
|
);
|
|
@@ -3657,7 +3826,7 @@ PaginationPrevious.displayName = "PaginationPrevious";
|
|
|
3657
3826
|
var PaginationNext = ({
|
|
3658
3827
|
className,
|
|
3659
3828
|
...props
|
|
3660
|
-
}) => /* @__PURE__ */
|
|
3829
|
+
}) => /* @__PURE__ */ jsxs23(
|
|
3661
3830
|
PaginationLink,
|
|
3662
3831
|
{
|
|
3663
3832
|
"aria-label": "Go to next page",
|
|
@@ -3665,8 +3834,8 @@ var PaginationNext = ({
|
|
|
3665
3834
|
size: "default",
|
|
3666
3835
|
...props,
|
|
3667
3836
|
children: [
|
|
3668
|
-
/* @__PURE__ */
|
|
3669
|
-
/* @__PURE__ */
|
|
3837
|
+
/* @__PURE__ */ jsx38("span", { children: "Next" }),
|
|
3838
|
+
/* @__PURE__ */ jsx38(ChevronRight2, { className: "h-4 w-4" })
|
|
3670
3839
|
]
|
|
3671
3840
|
}
|
|
3672
3841
|
);
|
|
@@ -3674,31 +3843,31 @@ PaginationNext.displayName = "PaginationNext";
|
|
|
3674
3843
|
var PaginationEllipsis = ({
|
|
3675
3844
|
className,
|
|
3676
3845
|
...props
|
|
3677
|
-
}) => /* @__PURE__ */
|
|
3846
|
+
}) => /* @__PURE__ */ jsxs23(
|
|
3678
3847
|
"span",
|
|
3679
3848
|
{
|
|
3680
3849
|
"aria-hidden": true,
|
|
3681
3850
|
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
3682
3851
|
...props,
|
|
3683
3852
|
children: [
|
|
3684
|
-
/* @__PURE__ */
|
|
3685
|
-
/* @__PURE__ */
|
|
3853
|
+
/* @__PURE__ */ jsx38(MoreHorizontal, { className: "h-4 w-4" }),
|
|
3854
|
+
/* @__PURE__ */ jsx38("span", { className: "sr-only", children: "More pages" })
|
|
3686
3855
|
]
|
|
3687
3856
|
}
|
|
3688
3857
|
);
|
|
3689
3858
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
3690
3859
|
|
|
3691
3860
|
// source/components/primitive/Progress/progress.tsx
|
|
3692
|
-
import * as
|
|
3861
|
+
import * as React36 from "react";
|
|
3693
3862
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
3694
|
-
import { jsx as
|
|
3863
|
+
import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3695
3864
|
var variantStyles = {
|
|
3696
3865
|
default: "bg-primary",
|
|
3697
3866
|
success: "bg-green-500",
|
|
3698
3867
|
warning: "bg-yellow-500",
|
|
3699
3868
|
error: "bg-red-500"
|
|
3700
3869
|
};
|
|
3701
|
-
var Progress =
|
|
3870
|
+
var Progress = React36.forwardRef(
|
|
3702
3871
|
({
|
|
3703
3872
|
className,
|
|
3704
3873
|
value = 0,
|
|
@@ -3712,15 +3881,15 @@ var Progress = React34.forwardRef(
|
|
|
3712
3881
|
const safeMax = max > 0 ? max : 100;
|
|
3713
3882
|
const safeValue = Math.min(Math.max(value, 0), safeMax);
|
|
3714
3883
|
const percentage = Math.min(safeValue / safeMax * 100, 100);
|
|
3715
|
-
return /* @__PURE__ */
|
|
3716
|
-
(label || showValue) && /* @__PURE__ */
|
|
3717
|
-
label && /* @__PURE__ */
|
|
3718
|
-
showValue && !indeterminate && /* @__PURE__ */
|
|
3884
|
+
return /* @__PURE__ */ jsxs24("div", { className: "flex flex-col gap-1", children: [
|
|
3885
|
+
(label || showValue) && /* @__PURE__ */ jsxs24("div", { className: "flex items-center justify-between", children: [
|
|
3886
|
+
label && /* @__PURE__ */ jsx39("span", { className: "text-sm font-medium", children: label }),
|
|
3887
|
+
showValue && !indeterminate && /* @__PURE__ */ jsxs24("span", { className: "text-xs text-muted-foreground", children: [
|
|
3719
3888
|
Math.round(percentage),
|
|
3720
3889
|
"%"
|
|
3721
3890
|
] })
|
|
3722
3891
|
] }),
|
|
3723
|
-
/* @__PURE__ */
|
|
3892
|
+
/* @__PURE__ */ jsx39(
|
|
3724
3893
|
ProgressPrimitive.Root,
|
|
3725
3894
|
{
|
|
3726
3895
|
ref,
|
|
@@ -3733,7 +3902,7 @@ var Progress = React34.forwardRef(
|
|
|
3733
3902
|
"aria-valuemax": safeMax,
|
|
3734
3903
|
"aria-valuenow": indeterminate ? void 0 : safeValue,
|
|
3735
3904
|
...props,
|
|
3736
|
-
children: /* @__PURE__ */
|
|
3905
|
+
children: /* @__PURE__ */ jsx39(
|
|
3737
3906
|
ProgressPrimitive.Indicator,
|
|
3738
3907
|
{
|
|
3739
3908
|
className: cn(
|
|
@@ -3753,94 +3922,25 @@ var Progress = React34.forwardRef(
|
|
|
3753
3922
|
);
|
|
3754
3923
|
Progress.displayName = "Progress";
|
|
3755
3924
|
|
|
3756
|
-
// source/components/primitive/RichHtml/rich-html.tsx
|
|
3757
|
-
import * as React35 from "react";
|
|
3758
|
-
import DOMPurify from "dompurify";
|
|
3759
|
-
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3760
|
-
var defaultSanitizeConfig = {
|
|
3761
|
-
USE_PROFILES: { html: true }
|
|
3762
|
-
};
|
|
3763
|
-
var richHtmlChrome = cn(
|
|
3764
|
-
"max-w-none text-base leading-relaxed text-foreground",
|
|
3765
|
-
// Block flow
|
|
3766
|
-
"[&_p]:mb-3 [&_p:last-child]:mb-0 [&_blockquote]:my-4 [&_blockquote]:border-l-2 [&_blockquote]:border-muted [&_blockquote]:pl-4 [&_blockquote]:italic",
|
|
3767
|
-
// Lists
|
|
3768
|
-
"[&_ul]:my-3 [&_ul]:list-disc [&_ul]:pl-6 [&_ol]:my-3 [&_ol]:list-decimal [&_ol]:pl-6 [&_li]:my-1 [&_li]:pl-1",
|
|
3769
|
-
// Headings (common for TipTap / CMS output)
|
|
3770
|
-
"[&_h1]:mb-3 [&_h1]:mt-8 [&_h1]:text-3xl [&_h1]:font-semibold [&_h1]:first:mt-0",
|
|
3771
|
-
"[&_h2]:mb-2 [&_h2]:mt-6 [&_h2]:text-2xl [&_h2]:font-semibold [&_h2]:first:mt-0",
|
|
3772
|
-
"[&_h3]:mb-2 [&_h3]:mt-5 [&_h3]:text-xl [&_h3]:font-semibold [&_h3]:first:mt-0",
|
|
3773
|
-
"[&_h4]:mb-2 [&_h4]:mt-4 [&_h4]:text-lg [&_h4]:font-semibold [&_h4]:first:mt-0",
|
|
3774
|
-
// Links & media
|
|
3775
|
-
"[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2 [&_a]:outline-none [&_a]:focus-visible:ring-2 [&_a]:focus-visible:ring-ring [&_a]:focus-visible:ring-offset-2",
|
|
3776
|
-
"[&_img]:my-4 [&_img]:max-h-[min(480px,70vh)] [&_img]:max-w-full [&_img]:rounded-md [&_img]:object-contain",
|
|
3777
|
-
"[&_hr]:my-6 [&_hr]:border-border",
|
|
3778
|
-
// Code
|
|
3779
|
-
"[&_code]:rounded [&_code]:bg-muted [&_code]:px-1 [&_code]:py-0.5 [&_code]:text-[0.9em]",
|
|
3780
|
-
"[&_pre]:my-4 [&_pre]:overflow-x-auto [&_pre]:rounded-md [&_pre]:bg-muted [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-sm"
|
|
3781
|
-
);
|
|
3782
|
-
var RichHtml = React35.forwardRef(
|
|
3783
|
-
({
|
|
3784
|
-
html,
|
|
3785
|
-
sanitize = true,
|
|
3786
|
-
sanitizeConfig,
|
|
3787
|
-
className,
|
|
3788
|
-
suppressHydrationWarning,
|
|
3789
|
-
...props
|
|
3790
|
-
}, ref) => {
|
|
3791
|
-
const markup = React35.useMemo(() => {
|
|
3792
|
-
if (html === void 0 || html === null || html === "") {
|
|
3793
|
-
return "";
|
|
3794
|
-
}
|
|
3795
|
-
if (!sanitize) {
|
|
3796
|
-
return html;
|
|
3797
|
-
}
|
|
3798
|
-
if (typeof window === "undefined") {
|
|
3799
|
-
return "";
|
|
3800
|
-
}
|
|
3801
|
-
const config = {
|
|
3802
|
-
...defaultSanitizeConfig,
|
|
3803
|
-
...sanitizeConfig
|
|
3804
|
-
};
|
|
3805
|
-
return DOMPurify.sanitize(html, config);
|
|
3806
|
-
}, [html, sanitize, sanitizeConfig]);
|
|
3807
|
-
const resolvedSuppressHydration = suppressHydrationWarning ?? sanitize;
|
|
3808
|
-
if (html === void 0 || html === null || html === "") {
|
|
3809
|
-
return null;
|
|
3810
|
-
}
|
|
3811
|
-
return /* @__PURE__ */ jsx38(
|
|
3812
|
-
"div",
|
|
3813
|
-
{
|
|
3814
|
-
ref,
|
|
3815
|
-
suppressHydrationWarning: resolvedSuppressHydration,
|
|
3816
|
-
className: cn(richHtmlChrome, className),
|
|
3817
|
-
...props,
|
|
3818
|
-
dangerouslySetInnerHTML: { __html: markup }
|
|
3819
|
-
}
|
|
3820
|
-
);
|
|
3821
|
-
}
|
|
3822
|
-
);
|
|
3823
|
-
RichHtml.displayName = "RichHtml";
|
|
3824
|
-
|
|
3825
3925
|
// source/components/primitive/ScrollArea/scroll-area.tsx
|
|
3826
|
-
import * as
|
|
3926
|
+
import * as React37 from "react";
|
|
3827
3927
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
3828
|
-
import { jsx as
|
|
3829
|
-
var ScrollArea =
|
|
3928
|
+
import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3929
|
+
var ScrollArea = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs25(
|
|
3830
3930
|
ScrollAreaPrimitive.Root,
|
|
3831
3931
|
{
|
|
3832
3932
|
ref,
|
|
3833
3933
|
className: cn("relative overflow-hidden", className),
|
|
3834
3934
|
...props,
|
|
3835
3935
|
children: [
|
|
3836
|
-
/* @__PURE__ */
|
|
3837
|
-
/* @__PURE__ */
|
|
3838
|
-
/* @__PURE__ */
|
|
3936
|
+
/* @__PURE__ */ jsx40(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
|
3937
|
+
/* @__PURE__ */ jsx40(ScrollBar, {}),
|
|
3938
|
+
/* @__PURE__ */ jsx40(ScrollAreaPrimitive.Corner, {})
|
|
3839
3939
|
]
|
|
3840
3940
|
}
|
|
3841
3941
|
));
|
|
3842
3942
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
3843
|
-
var ScrollBar =
|
|
3943
|
+
var ScrollBar = React37.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3844
3944
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
3845
3945
|
{
|
|
3846
3946
|
ref,
|
|
@@ -3852,16 +3952,16 @@ var ScrollBar = React36.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
3852
3952
|
className
|
|
3853
3953
|
),
|
|
3854
3954
|
...props,
|
|
3855
|
-
children: /* @__PURE__ */
|
|
3955
|
+
children: /* @__PURE__ */ jsx40(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
|
|
3856
3956
|
}
|
|
3857
3957
|
));
|
|
3858
3958
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
3859
3959
|
|
|
3860
3960
|
// source/components/primitive/Separator/separator.tsx
|
|
3861
|
-
import * as
|
|
3961
|
+
import * as React38 from "react";
|
|
3862
3962
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
3863
3963
|
import { cva as cva12 } from "class-variance-authority";
|
|
3864
|
-
import { jsx as
|
|
3964
|
+
import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3865
3965
|
var separatorVariants = cva12("shrink-0", {
|
|
3866
3966
|
variants: {
|
|
3867
3967
|
orientation: {
|
|
@@ -3879,7 +3979,7 @@ var separatorVariants = cva12("shrink-0", {
|
|
|
3879
3979
|
line: "solid"
|
|
3880
3980
|
}
|
|
3881
3981
|
});
|
|
3882
|
-
var Separator3 =
|
|
3982
|
+
var Separator3 = React38.forwardRef(
|
|
3883
3983
|
({
|
|
3884
3984
|
className,
|
|
3885
3985
|
orientation = "horizontal",
|
|
@@ -3891,13 +3991,13 @@ var Separator3 = React37.forwardRef(
|
|
|
3891
3991
|
}, ref) => {
|
|
3892
3992
|
const line = lineProp ?? variant ?? "solid";
|
|
3893
3993
|
if (label && orientation === "horizontal") {
|
|
3894
|
-
return /* @__PURE__ */
|
|
3994
|
+
return /* @__PURE__ */ jsxs26(
|
|
3895
3995
|
"div",
|
|
3896
3996
|
{
|
|
3897
3997
|
role: "separator",
|
|
3898
3998
|
className: "flex items-center gap-3",
|
|
3899
3999
|
children: [
|
|
3900
|
-
/* @__PURE__ */
|
|
4000
|
+
/* @__PURE__ */ jsx41(
|
|
3901
4001
|
"div",
|
|
3902
4002
|
{
|
|
3903
4003
|
className: cn(
|
|
@@ -3906,8 +4006,8 @@ var Separator3 = React37.forwardRef(
|
|
|
3906
4006
|
)
|
|
3907
4007
|
}
|
|
3908
4008
|
),
|
|
3909
|
-
/* @__PURE__ */
|
|
3910
|
-
/* @__PURE__ */
|
|
4009
|
+
/* @__PURE__ */ jsx41("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: label }),
|
|
4010
|
+
/* @__PURE__ */ jsx41(
|
|
3911
4011
|
"div",
|
|
3912
4012
|
{
|
|
3913
4013
|
className: cn(
|
|
@@ -3920,7 +4020,7 @@ var Separator3 = React37.forwardRef(
|
|
|
3920
4020
|
}
|
|
3921
4021
|
);
|
|
3922
4022
|
}
|
|
3923
|
-
return /* @__PURE__ */
|
|
4023
|
+
return /* @__PURE__ */ jsx41(
|
|
3924
4024
|
SeparatorPrimitive.Root,
|
|
3925
4025
|
{
|
|
3926
4026
|
ref,
|
|
@@ -3938,16 +4038,16 @@ var Separator3 = React37.forwardRef(
|
|
|
3938
4038
|
Separator3.displayName = "Separator";
|
|
3939
4039
|
|
|
3940
4040
|
// source/components/primitive/Sheet/sheet.tsx
|
|
3941
|
-
import * as
|
|
4041
|
+
import * as React39 from "react";
|
|
3942
4042
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
3943
4043
|
import { cva as cva13 } from "class-variance-authority";
|
|
3944
4044
|
import { X as X2 } from "lucide-react";
|
|
3945
|
-
import { jsx as
|
|
4045
|
+
import { jsx as jsx42, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3946
4046
|
var Sheet = SheetPrimitive.Root;
|
|
3947
4047
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
3948
4048
|
var SheetClose = SheetPrimitive.Close;
|
|
3949
4049
|
var SheetPortal = SheetPrimitive.Portal;
|
|
3950
|
-
var SheetOverlay =
|
|
4050
|
+
var SheetOverlay = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
3951
4051
|
SheetPrimitive.Overlay,
|
|
3952
4052
|
{
|
|
3953
4053
|
className: cn(
|
|
@@ -3975,9 +4075,9 @@ var sheetVariants = cva13(
|
|
|
3975
4075
|
}
|
|
3976
4076
|
}
|
|
3977
4077
|
);
|
|
3978
|
-
var SheetContent =
|
|
3979
|
-
/* @__PURE__ */
|
|
3980
|
-
/* @__PURE__ */
|
|
4078
|
+
var SheetContent = React39.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs27(SheetPortal, { children: [
|
|
4079
|
+
/* @__PURE__ */ jsx42(SheetOverlay, {}),
|
|
4080
|
+
/* @__PURE__ */ jsxs27(
|
|
3981
4081
|
SheetPrimitive.Content,
|
|
3982
4082
|
{
|
|
3983
4083
|
ref,
|
|
@@ -3985,9 +4085,9 @@ var SheetContent = React38.forwardRef(({ side = "right", className, children, ..
|
|
|
3985
4085
|
...props,
|
|
3986
4086
|
children: [
|
|
3987
4087
|
children,
|
|
3988
|
-
/* @__PURE__ */
|
|
3989
|
-
/* @__PURE__ */
|
|
3990
|
-
/* @__PURE__ */
|
|
4088
|
+
/* @__PURE__ */ jsxs27(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
4089
|
+
/* @__PURE__ */ jsx42(X2, { className: "h-4 w-4" }),
|
|
4090
|
+
/* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Close" })
|
|
3991
4091
|
] })
|
|
3992
4092
|
]
|
|
3993
4093
|
}
|
|
@@ -3997,7 +4097,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
3997
4097
|
var SheetHeader = ({
|
|
3998
4098
|
className,
|
|
3999
4099
|
...props
|
|
4000
|
-
}) => /* @__PURE__ */
|
|
4100
|
+
}) => /* @__PURE__ */ jsx42(
|
|
4001
4101
|
"div",
|
|
4002
4102
|
{
|
|
4003
4103
|
className: cn(
|
|
@@ -4011,7 +4111,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
4011
4111
|
var SheetFooter = ({
|
|
4012
4112
|
className,
|
|
4013
4113
|
...props
|
|
4014
|
-
}) => /* @__PURE__ */
|
|
4114
|
+
}) => /* @__PURE__ */ jsx42(
|
|
4015
4115
|
"div",
|
|
4016
4116
|
{
|
|
4017
4117
|
className: cn(
|
|
@@ -4022,7 +4122,7 @@ var SheetFooter = ({
|
|
|
4022
4122
|
}
|
|
4023
4123
|
);
|
|
4024
4124
|
SheetFooter.displayName = "SheetFooter";
|
|
4025
|
-
var SheetTitle =
|
|
4125
|
+
var SheetTitle = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
4026
4126
|
SheetPrimitive.Title,
|
|
4027
4127
|
{
|
|
4028
4128
|
ref,
|
|
@@ -4031,7 +4131,7 @@ var SheetTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
4031
4131
|
}
|
|
4032
4132
|
));
|
|
4033
4133
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
4034
|
-
var SheetDescription =
|
|
4134
|
+
var SheetDescription = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
4035
4135
|
SheetPrimitive.Description,
|
|
4036
4136
|
{
|
|
4037
4137
|
ref,
|
|
@@ -4048,13 +4148,13 @@ import { cva as cva15 } from "class-variance-authority";
|
|
|
4048
4148
|
import { PanelLeft } from "lucide-react";
|
|
4049
4149
|
|
|
4050
4150
|
// source/hooks/use-mobile.ts
|
|
4051
|
-
import * as
|
|
4151
|
+
import * as React40 from "react";
|
|
4052
4152
|
var MOBILE_MAX = 768;
|
|
4053
4153
|
function useIsMobile(breakpoint = MOBILE_MAX) {
|
|
4054
|
-
const [isMobile, setIsMobile] =
|
|
4154
|
+
const [isMobile, setIsMobile] = React40.useState(
|
|
4055
4155
|
() => typeof window !== "undefined" ? window.innerWidth < breakpoint : false
|
|
4056
4156
|
);
|
|
4057
|
-
|
|
4157
|
+
React40.useEffect(() => {
|
|
4058
4158
|
const mq = window.matchMedia(`(max-width: ${breakpoint - 1}px)`);
|
|
4059
4159
|
const onChange = () => setIsMobile(mq.matches);
|
|
4060
4160
|
onChange();
|
|
@@ -4065,9 +4165,9 @@ function useIsMobile(breakpoint = MOBILE_MAX) {
|
|
|
4065
4165
|
}
|
|
4066
4166
|
|
|
4067
4167
|
// source/components/primitive/Skeleton/skeleton.tsx
|
|
4068
|
-
import * as
|
|
4168
|
+
import * as React41 from "react";
|
|
4069
4169
|
import { cva as cva14 } from "class-variance-authority";
|
|
4070
|
-
import { jsx as
|
|
4170
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
4071
4171
|
var skeletonVariants = cva14(
|
|
4072
4172
|
"animate-pulse bg-muted",
|
|
4073
4173
|
{
|
|
@@ -4084,9 +4184,9 @@ var skeletonVariants = cva14(
|
|
|
4084
4184
|
}
|
|
4085
4185
|
}
|
|
4086
4186
|
);
|
|
4087
|
-
var Skeleton =
|
|
4187
|
+
var Skeleton = React41.forwardRef(
|
|
4088
4188
|
({ className, rounded, ...props }, ref) => {
|
|
4089
|
-
return /* @__PURE__ */
|
|
4189
|
+
return /* @__PURE__ */ jsx43(
|
|
4090
4190
|
"div",
|
|
4091
4191
|
{
|
|
4092
4192
|
ref,
|
|
@@ -4100,43 +4200,6 @@ var Skeleton = React40.forwardRef(
|
|
|
4100
4200
|
);
|
|
4101
4201
|
Skeleton.displayName = "Skeleton";
|
|
4102
4202
|
|
|
4103
|
-
// source/components/primitive/ToolTip/tooltip.tsx
|
|
4104
|
-
import * as React41 from "react";
|
|
4105
|
-
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
4106
|
-
import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
4107
|
-
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4108
|
-
var Tooltip = ({ ...props }) => {
|
|
4109
|
-
return /* @__PURE__ */ jsx43(TooltipPrimitive.Root, { ...props });
|
|
4110
|
-
};
|
|
4111
|
-
Tooltip.displayName = "Tooltip";
|
|
4112
|
-
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4113
|
-
TooltipTrigger.displayName = "TooltipTrigger";
|
|
4114
|
-
var TooltipContent = React41.forwardRef(({ className, sideOffset = 4, arrow = false, children, ...props }, ref) => {
|
|
4115
|
-
return /* @__PURE__ */ jsx43(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs27(
|
|
4116
|
-
TooltipPrimitive.Content,
|
|
4117
|
-
{
|
|
4118
|
-
ref,
|
|
4119
|
-
sideOffset,
|
|
4120
|
-
className: cn(
|
|
4121
|
-
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md",
|
|
4122
|
-
"animate-in fade-in-0 zoom-in-95",
|
|
4123
|
-
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
4124
|
-
"data-[side=bottom]:slide-in-from-top-2",
|
|
4125
|
-
"data-[side=left]:slide-in-from-right-2",
|
|
4126
|
-
"data-[side=right]:slide-in-from-left-2",
|
|
4127
|
-
"data-[side=top]:slide-in-from-bottom-2",
|
|
4128
|
-
className
|
|
4129
|
-
),
|
|
4130
|
-
...props,
|
|
4131
|
-
children: [
|
|
4132
|
-
children,
|
|
4133
|
-
arrow && /* @__PURE__ */ jsx43(TooltipPrimitive.Arrow, { className: "fill-popover" })
|
|
4134
|
-
]
|
|
4135
|
-
}
|
|
4136
|
-
) });
|
|
4137
|
-
});
|
|
4138
|
-
TooltipContent.displayName = "TooltipContent";
|
|
4139
|
-
|
|
4140
4203
|
// source/components/primitive/Sidebar/sidebar.tsx
|
|
4141
4204
|
import { jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4142
4205
|
var SIDEBAR_COOKIE_NAME = "sidebar:state";
|