@fanvue/ui 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/Icons/NewMessageIcon.cjs +47 -0
- package/dist/cjs/components/Icons/NewMessageIcon.cjs.map +1 -0
- package/dist/cjs/components/Icons/ReverseIcon.cjs +64 -0
- package/dist/cjs/components/Icons/ReverseIcon.cjs.map +1 -0
- package/dist/cjs/components/Table/Table.cjs +341 -0
- package/dist/cjs/components/Table/Table.cjs.map +1 -0
- package/dist/cjs/components/Table/TablePagination.cjs +70 -0
- package/dist/cjs/components/Table/TablePagination.cjs.map +1 -0
- package/dist/cjs/index.cjs +26 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/components/Dialog/Dialog.mjs +1 -1
- package/dist/components/Dialog/Dialog.mjs.map +1 -1
- package/dist/components/Icons/NewMessageIcon.mjs +30 -0
- package/dist/components/Icons/NewMessageIcon.mjs.map +1 -0
- package/dist/components/Icons/ReverseIcon.mjs +47 -0
- package/dist/components/Icons/ReverseIcon.mjs.map +1 -0
- package/dist/components/Table/Table.mjs +324 -0
- package/dist/components/Table/Table.mjs.map +1 -0
- package/dist/components/Table/TablePagination.mjs +53 -0
- package/dist/components/Table/TablePagination.mjs.map +1 -0
- package/dist/index.d.ts +244 -40
- package/dist/index.mjs +26 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/components/Banner/Banner.cjs +0 -71
- package/dist/cjs/components/Banner/Banner.cjs.map +0 -1
- package/dist/components/Banner/Banner.mjs +0 -54
- package/dist/components/Banner/Banner.mjs.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
5
|
+
const React = require("react");
|
|
6
|
+
const cn = require("../../utils/cn.cjs");
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
8
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
9
|
+
if (e) {
|
|
10
|
+
for (const k in e) {
|
|
11
|
+
if (k !== "default") {
|
|
12
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: () => e[k]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
|
24
|
+
const TablePagination = React__namespace.forwardRef(
|
|
25
|
+
({ className, layout = "desktop", leadingSlot, paginationSlot, summary, ...props }, ref) => {
|
|
26
|
+
if (layout === "mobile") {
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
className: cn.cn("flex w-full max-w-full flex-col gap-3 px-4", className),
|
|
32
|
+
...props,
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center gap-2.5", children: [
|
|
35
|
+
leadingSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 shrink-0 items-center rounded-xs bg-surface-secondary", children: leadingSlot }) : null,
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
className: cn.cn(
|
|
40
|
+
"typography-regular-body-md min-w-0 flex-1 text-content-secondary",
|
|
41
|
+
leadingSlot == null && "text-left",
|
|
42
|
+
leadingSlot != null && "text-right"
|
|
43
|
+
),
|
|
44
|
+
children: summary
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
] }),
|
|
48
|
+
paginationSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: paginationSlot }) : null
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
54
|
+
"div",
|
|
55
|
+
{
|
|
56
|
+
ref,
|
|
57
|
+
className: cn.cn("flex w-full flex-wrap items-center gap-3 px-4", className),
|
|
58
|
+
...props,
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col items-start justify-center", children: leadingSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex min-w-0 rounded-xs bg-surface-secondary", children: leadingSlot }) : null }),
|
|
61
|
+
paginationSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center justify-center", children: paginationSlot }) : null,
|
|
62
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "typography-regular-body-md min-w-0 flex-1 text-right text-content-secondary", children: summary })
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
TablePagination.displayName = "TablePagination";
|
|
69
|
+
exports.TablePagination = TablePagination;
|
|
70
|
+
//# sourceMappingURL=TablePagination.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TablePagination.cjs","sources":["../../../../src/components/Table/TablePagination.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/utils/cn\";\n\n/** Layout preset for the pagination bar — desktop (range on the right) or stacked mobile. */\nexport type TablePaginationLayout = \"desktop\" | \"mobile\";\n\nexport interface TablePaginationProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Layout preset. @default \"desktop\" */\n layout?: TablePaginationLayout;\n /** Left (desktop) or top row (mobile) content, e.g. rows-per-page {@link Select}. */\n leadingSlot?: React.ReactNode;\n /** Center (desktop) or bottom row (mobile) content, e.g. {@link Pagination}. */\n paginationSlot?: React.ReactNode;\n /** Summary text or node (e.g. current range and total). */\n summary: React.ReactNode;\n}\n\n/**\n * Footer bar for data tables: rows-per-page control, page navigation, and range\n * summary. Pair `paginationSlot` with {@link Pagination} for numbered controls.\n *\n * @example\n * ```tsx\n * <TablePagination\n * leadingSlot={<Select size=\"32\" aria-label=\"Rows per page\">…</Select>}\n * paginationSlot={<Pagination totalPages={5} currentPage={2} onPageChange={setPage} />}\n * summary=\"20–30 of 100 rows\"\n * />\n * ```\n */\nexport const TablePagination = React.forwardRef<HTMLDivElement, TablePaginationProps>(\n ({ className, layout = \"desktop\", leadingSlot, paginationSlot, summary, ...props }, ref) => {\n if (layout === \"mobile\") {\n return (\n <div\n ref={ref}\n className={cn(\"flex w-full max-w-full flex-col gap-3 px-4\", className)}\n {...props}\n >\n <div className=\"flex w-full items-center gap-2.5\">\n {leadingSlot != null ? (\n <div className=\"flex min-w-0 shrink-0 items-center rounded-xs bg-surface-secondary\">\n {leadingSlot}\n </div>\n ) : null}\n <div\n className={cn(\n \"typography-regular-body-md min-w-0 flex-1 text-content-secondary\",\n leadingSlot == null && \"text-left\",\n leadingSlot != null && \"text-right\",\n )}\n >\n {summary}\n </div>\n </div>\n {paginationSlot != null ? (\n <div className=\"flex justify-center\">{paginationSlot}</div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"flex w-full flex-wrap items-center gap-3 px-4\", className)}\n {...props}\n >\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col items-start justify-center\">\n {leadingSlot != null ? (\n <div className=\"inline-flex min-w-0 rounded-xs bg-surface-secondary\">{leadingSlot}</div>\n ) : null}\n </div>\n {paginationSlot != null ? (\n <div className=\"flex shrink-0 items-center justify-center\">{paginationSlot}</div>\n ) : null}\n <div className=\"typography-regular-body-md min-w-0 flex-1 text-right text-content-secondary\">\n {summary}\n </div>\n </div>\n );\n },\n);\nTablePagination.displayName = \"TablePagination\";\n"],"names":["React","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8BO,MAAM,kBAAkBA,iBAAM;AAAA,EACnC,CAAC,EAAE,WAAW,SAAS,WAAW,aAAa,gBAAgB,SAAS,GAAG,MAAA,GAAS,QAAQ;AAC1F,QAAI,WAAW,UAAU;AACvB,aACEC,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA,WAAWC,GAAAA,GAAG,8CAA8C,SAAS;AAAA,UACpE,GAAG;AAAA,UAEJ,UAAA;AAAA,YAAAD,2BAAAA,KAAC,OAAA,EAAI,WAAU,oCACZ,UAAA;AAAA,cAAA,eAAe,OACdE,2BAAAA,IAAC,OAAA,EAAI,WAAU,sEACZ,uBACH,IACE;AAAA,cACJA,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWD,GAAAA;AAAAA,oBACT;AAAA,oBACA,eAAe,QAAQ;AAAA,oBACvB,eAAe,QAAQ;AAAA,kBAAA;AAAA,kBAGxB,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH,GACF;AAAA,YACC,kBAAkB,OACjBC,2BAAAA,IAAC,SAAI,WAAU,uBAAuB,0BAAe,IACnD;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAGV;AAEA,WACEF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAWC,GAAAA,GAAG,iDAAiD,SAAS;AAAA,QACvE,GAAG;AAAA,QAEJ,UAAA;AAAA,UAAAC,2BAAAA,IAAC,OAAA,EAAI,WAAU,mEACZ,UAAA,eAAe,OACdA,2BAAAA,IAAC,OAAA,EAAI,WAAU,uDAAuD,UAAA,YAAA,CAAY,IAChF,MACN;AAAA,UACC,kBAAkB,OACjBA,2BAAAA,IAAC,SAAI,WAAU,6CAA6C,0BAAe,IACzE;AAAA,UACJA,2BAAAA,IAAC,OAAA,EAAI,WAAU,+EACZ,UAAA,QAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACA,gBAAgB,cAAc;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -11,7 +11,6 @@ const useAudioRecorder = require("./components/AudioUpload/useAudioRecorder.cjs"
|
|
|
11
11
|
const Autocomplete = require("./components/Autocomplete/Autocomplete.cjs");
|
|
12
12
|
const Avatar = require("./components/Avatar/Avatar.cjs");
|
|
13
13
|
const Badge = require("./components/Badge/Badge.cjs");
|
|
14
|
-
const Banner = require("./components/Banner/Banner.cjs");
|
|
15
14
|
const BottomNavigation = require("./components/BottomNavigation/BottomNavigation.cjs");
|
|
16
15
|
const BottomNavigationAction = require("./components/BottomNavigation/BottomNavigationAction.cjs");
|
|
17
16
|
const Breadcrumb = require("./components/Breadcrumb/Breadcrumb.cjs");
|
|
@@ -100,6 +99,7 @@ const MinusIcon = require("./components/Icons/MinusIcon.cjs");
|
|
|
100
99
|
const MoonIcon = require("./components/Icons/MoonIcon.cjs");
|
|
101
100
|
const MoreIcon = require("./components/Icons/MoreIcon.cjs");
|
|
102
101
|
const MoreVerticalIcon = require("./components/Icons/MoreVerticalIcon.cjs");
|
|
102
|
+
const NewMessageIcon = require("./components/Icons/NewMessageIcon.cjs");
|
|
103
103
|
const PauseIcon = require("./components/Icons/PauseIcon.cjs");
|
|
104
104
|
const PhoneIcon = require("./components/Icons/PhoneIcon.cjs");
|
|
105
105
|
const PhoneOffIcon = require("./components/Icons/PhoneOffIcon.cjs");
|
|
@@ -110,6 +110,7 @@ const PrivacyIcon = require("./components/Icons/PrivacyIcon.cjs");
|
|
|
110
110
|
const RepeatIcon = require("./components/Icons/RepeatIcon.cjs");
|
|
111
111
|
const Reply2Icon = require("./components/Icons/Reply2Icon.cjs");
|
|
112
112
|
const ReplyIcon = require("./components/Icons/ReplyIcon.cjs");
|
|
113
|
+
const ReverseIcon = require("./components/Icons/ReverseIcon.cjs");
|
|
113
114
|
const SearchIcon = require("./components/Icons/SearchIcon.cjs");
|
|
114
115
|
const SendIcon = require("./components/Icons/SendIcon.cjs");
|
|
115
116
|
const SettingsIcon = require("./components/Icons/SettingsIcon.cjs");
|
|
@@ -162,6 +163,8 @@ const Snackbar = require("./components/Snackbar/Snackbar.cjs");
|
|
|
162
163
|
const Switch = require("./components/Switch/Switch.cjs");
|
|
163
164
|
const SwitchField = require("./components/SwitchField/SwitchField.cjs");
|
|
164
165
|
const SwitchToggle = require("./components/SwitchToggle/SwitchToggle.cjs");
|
|
166
|
+
const Table = require("./components/Table/Table.cjs");
|
|
167
|
+
const TablePagination = require("./components/Table/TablePagination.cjs");
|
|
165
168
|
const Tabs = require("./components/Tabs/Tabs.cjs");
|
|
166
169
|
const TabsContent = require("./components/Tabs/TabsContent.cjs");
|
|
167
170
|
const TabsList = require("./components/Tabs/TabsList.cjs");
|
|
@@ -184,7 +187,6 @@ exports.AvatarFallback = Avatar.AvatarFallback;
|
|
|
184
187
|
exports.AvatarImage = Avatar.AvatarImage;
|
|
185
188
|
exports.AvatarRoot = Avatar.AvatarRoot;
|
|
186
189
|
exports.Badge = Badge.Badge;
|
|
187
|
-
exports.Banner = Banner.Banner;
|
|
188
190
|
exports.BottomNavigation = BottomNavigation.BottomNavigation;
|
|
189
191
|
exports.BottomNavigationAction = BottomNavigationAction.BottomNavigationAction;
|
|
190
192
|
exports.Breadcrumb = Breadcrumb.Breadcrumb;
|
|
@@ -306,6 +308,7 @@ exports.MinusIcon = MinusIcon.MinusIcon;
|
|
|
306
308
|
exports.MoonIcon = MoonIcon.MoonIcon;
|
|
307
309
|
exports.MoreIcon = MoreIcon.MoreIcon;
|
|
308
310
|
exports.MoreVerticalIcon = MoreVerticalIcon.MoreVerticalIcon;
|
|
311
|
+
exports.NewMessageIcon = NewMessageIcon.NewMessageIcon;
|
|
309
312
|
exports.PauseIcon = PauseIcon.PauseIcon;
|
|
310
313
|
exports.PhoneIcon = PhoneIcon.PhoneIcon;
|
|
311
314
|
exports.PhoneOffIcon = PhoneOffIcon.PhoneOffIcon;
|
|
@@ -316,6 +319,7 @@ exports.PrivacyIcon = PrivacyIcon.PrivacyIcon;
|
|
|
316
319
|
exports.RepeatIcon = RepeatIcon.RepeatIcon;
|
|
317
320
|
exports.Reply2Icon = Reply2Icon.Reply2Icon;
|
|
318
321
|
exports.ReplyIcon = ReplyIcon.ReplyIcon;
|
|
322
|
+
exports.ReverseIcon = ReverseIcon.ReverseIcon;
|
|
319
323
|
exports.SearchIcon = SearchIcon.SearchIcon;
|
|
320
324
|
exports.SendIcon = SendIcon.SendIcon;
|
|
321
325
|
exports.SettingsIcon = SettingsIcon.SettingsIcon;
|
|
@@ -375,6 +379,26 @@ exports.Snackbar = Snackbar.Snackbar;
|
|
|
375
379
|
exports.Switch = Switch.Switch;
|
|
376
380
|
exports.SwitchField = SwitchField.SwitchField;
|
|
377
381
|
exports.SwitchToggle = SwitchToggle.SwitchToggle;
|
|
382
|
+
exports.Table = Table.Table;
|
|
383
|
+
exports.TableBody = Table.TableBody;
|
|
384
|
+
exports.TableCard = Table.TableCard;
|
|
385
|
+
exports.TableCell = Table.TableCell;
|
|
386
|
+
exports.TableCellGroup = Table.TableCellGroup;
|
|
387
|
+
exports.TableFooter = Table.TableFooter;
|
|
388
|
+
exports.TableHead = Table.TableHead;
|
|
389
|
+
exports.TableHeader = Table.TableHeader;
|
|
390
|
+
exports.TableLineClamp = Table.TableLineClamp;
|
|
391
|
+
exports.TableMediaThumbnail = Table.TableMediaThumbnail;
|
|
392
|
+
exports.TablePillProgressLayout = Table.TablePillProgressLayout;
|
|
393
|
+
exports.TableProgressTrack = Table.TableProgressTrack;
|
|
394
|
+
exports.TableRow = Table.TableRow;
|
|
395
|
+
exports.TableRowsPerPageSelect = Table.TableRowsPerPageSelect;
|
|
396
|
+
exports.TableScrollArea = Table.TableScrollArea;
|
|
397
|
+
exports.TableSortLabel = Table.TableSortLabel;
|
|
398
|
+
exports.TableStackedText = Table.TableStackedText;
|
|
399
|
+
exports.TableStatusDot = Table.TableStatusDot;
|
|
400
|
+
exports.TableToolbar = Table.TableToolbar;
|
|
401
|
+
exports.TablePagination = TablePagination.TablePagination;
|
|
378
402
|
exports.Tabs = Tabs.Tabs;
|
|
379
403
|
exports.TabsContent = TabsContent.TabsContent;
|
|
380
404
|
exports.TabsList = TabsList.TabsList;
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -36,7 +36,7 @@ const DialogContent = React.forwardRef(({ className, children, size = "md", over
|
|
|
36
36
|
style: { zIndex: "var(--fanvue-ui-portal-z-index, 50)", ...style },
|
|
37
37
|
className: cn(
|
|
38
38
|
// Base
|
|
39
|
-
"fixed flex flex-col overflow-hidden bg-bg-primary shadow-lg focus:outline-none",
|
|
39
|
+
"fixed flex flex-col overflow-hidden bg-bg-primary shadow-lg focus:outline-none dark:bg-surface-primary",
|
|
40
40
|
// Mobile: bottom sheet
|
|
41
41
|
"inset-x-0 bottom-0 max-h-[85vh] w-full rounded-t-lg",
|
|
42
42
|
// Animation (shared)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.mjs","sources":["../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { ArrowLeftIcon } from \"../Icons/ArrowLeftIcon\";\nimport { CloseIcon } from \"../Icons/CloseIcon\";\n\n/** Props for the {@link Dialog} root component. */\nexport interface DialogProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root> {\n /** Controlled open state. When provided, you must also supply `onOpenChange`. */\n open?: boolean;\n /** Called when the open state changes. Required when `open` is controlled. */\n onOpenChange?: (open: boolean) => void;\n /** The open state of the dialog when it is initially rendered (uncontrolled). */\n defaultOpen?: boolean;\n}\n\n/** Root component that manages open/close state for a dialog. */\nexport const Dialog = DialogPrimitive.Root;\n\n/** Props for the {@link DialogTrigger} component. */\nexport type DialogTriggerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;\n\n/** The element that opens the dialog when clicked. */\nexport const DialogTrigger = DialogPrimitive.Trigger;\n\n/** Convenience alias for Radix `Dialog.Close`. Closes the dialog when clicked. */\nexport const DialogClose = DialogPrimitive.Close;\n\n/** Props for the {@link DialogClose} component. */\nexport type DialogCloseProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;\n\nexport interface DialogOverlayProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> {}\n\n/**\n * Semi-transparent backdrop rendered behind the dialog content.\n * Rendered inside a portal automatically by {@link DialogContent}.\n */\nexport const DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n DialogOverlayProps\n>(({ className, style, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 bg-bg-overlay data-[state=closed]:animate-out data-[state=open]:animate-in\",\n className,\n )}\n style={{ zIndex: \"var(--fanvue-ui-portal-z-index, 50)\", ...style }}\n {...props}\n />\n));\nDialogOverlay.displayName = \"DialogOverlay\";\n\nexport interface DialogContentProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {\n /**\n * Width preset for the dialog.\n * - `\"sm\"` — 400px max-width (confirmations, simple forms)\n * - `\"md\"` — 440px max-width (default, standard dialogs)\n * - `\"lg\"` — 600px max-width (complex content, tables)\n *\n * @default \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /** When true, renders overlay automatically. @default true */\n overlay?: boolean;\n}\n\nconst SIZE_CLASSES: Record<NonNullable<DialogContentProps[\"size\"]>, string> = {\n sm: \"sm:max-w-[400px]\",\n md: \"sm:max-w-[440px]\",\n lg: \"sm:max-w-[600px]\",\n};\n\n/**\n * The dialog panel rendered inside a portal. Includes the overlay by default.\n *\n * On mobile viewports (<640px), the dialog slides up from the bottom as a sheet\n * with top-only border radius. On larger viewports it renders centered with\n * full border radius.\n *\n * @example\n * ```tsx\n * <Dialog>\n * <DialogTrigger asChild>\n * <Button>Open</Button>\n * </DialogTrigger>\n * <DialogContent>\n * <DialogHeader>\n * <DialogTitle>Title</DialogTitle>\n * </DialogHeader>\n * <DialogBody>Content here</DialogBody>\n * <DialogFooter>\n * <DialogClose asChild>\n * <Button variant=\"secondary\">Cancel</Button>\n * </DialogClose>\n * <Button>Accept</Button>\n * </DialogFooter>\n * </DialogContent>\n * </Dialog>\n * ```\n */\nexport const DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(({ className, children, size = \"md\", overlay = true, style, ...props }, ref) => (\n <DialogPrimitive.Portal>\n {overlay && <DialogOverlay />}\n <DialogPrimitive.Content\n ref={ref}\n style={{ zIndex: \"var(--fanvue-ui-portal-z-index, 50)\", ...style }}\n className={cn(\n // Base\n \"fixed flex flex-col overflow-hidden bg-bg-primary shadow-lg focus:outline-none\",\n // Mobile: bottom sheet\n \"inset-x-0 bottom-0 max-h-[85vh] w-full rounded-t-lg\",\n // Animation (shared)\n \"data-[state=open]:fade-in-0 data-[state=open]:animate-in\",\n \"data-[state=closed]:fade-out-0 data-[state=closed]:animate-out\",\n // Mobile: slide up from bottom\n \"data-[state=open]:slide-in-from-bottom-full\",\n \"data-[state=closed]:slide-out-to-bottom-full\",\n // Desktop: centered dialog\n \"sm:inset-auto sm:top-1/2 sm:left-1/2 sm:max-h-[85vh] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-lg\",\n // Desktop: scale in/out (cancel mobile slide)\n \"sm:data-[state=open]:slide-in-from-bottom-0 sm:data-[state=open]:zoom-in-95\",\n \"sm:data-[state=closed]:slide-out-to-bottom-0 sm:data-[state=closed]:zoom-out-95\",\n // Duration\n \"duration-200\",\n // Size\n SIZE_CLASSES[size],\n className,\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n));\nDialogContent.displayName = \"DialogContent\";\n\nexport interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Show the close (X) button in the header. @default true */\n showClose?: boolean;\n /** Show a back arrow button on the left side. Defaults to `true` when `onBack` is provided. */\n showBack?: boolean;\n /** Called when the back button is clicked. */\n onBack?: () => void;\n /** Accessible label for the back button. @default \"Go back\" */\n backLabel?: string;\n /** Accessible label for the close button. @default \"Close\" */\n closeLabel?: string;\n}\n\n/**\n * Header bar for the dialog. Renders the title with an optional back arrow\n * and close button.\n *\n * @example\n * ```tsx\n * <DialogHeader>\n * <DialogTitle>Settings</DialogTitle>\n * </DialogHeader>\n *\n * <DialogHeader showBack onBack={() => setStep(0)}>\n * <DialogTitle>Step 2</DialogTitle>\n * </DialogHeader>\n * ```\n */\nexport const DialogHeader = React.forwardRef<HTMLDivElement, DialogHeaderProps>(\n (\n {\n className,\n children,\n showClose = true,\n showBack,\n onBack,\n backLabel = \"Go back\",\n closeLabel = \"Close\",\n ...props\n },\n ref,\n ) => {\n const shouldShowBack = showBack ?? !!onBack;\n\n return (\n <div\n ref={ref}\n className={cn(\"flex h-16 shrink-0 items-center gap-2 px-6 py-4\", className)}\n {...props}\n >\n {shouldShowBack && (\n <IconButton\n variant=\"tertiary\"\n size=\"32\"\n icon={<ArrowLeftIcon />}\n onClick={onBack}\n disabled={!onBack}\n aria-label={backLabel}\n />\n )}\n <div className=\"min-w-0 flex-1\">{children}</div>\n {showClose && (\n <DialogPrimitive.Close asChild>\n <IconButton variant=\"tertiary\" size=\"32\" icon={<CloseIcon />} aria-label={closeLabel} />\n </DialogPrimitive.Close>\n )}\n </div>\n );\n },\n);\nDialogHeader.displayName = \"DialogHeader\";\n\n/** Props for the {@link DialogTitle} component. */\nexport type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;\n\n/**\n * Accessible title for the dialog. Must be rendered inside {@link DialogHeader}\n * or directly within {@link DialogContent}.\n */\nexport const DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n DialogTitleProps\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"typography-bold-heading-xs truncate text-content-primary\", className)}\n {...props}\n />\n));\nDialogTitle.displayName = \"DialogTitle\";\n\n/** Props for the {@link DialogDescription} component. */\nexport type DialogDescriptionProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Description\n>;\n\n/** Accessible description for the dialog. Rendered as secondary text. */\nexport const DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n DialogDescriptionProps\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"typography-regular-body-lg text-content-secondary\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = \"DialogDescription\";\n\nexport interface DialogBodyProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Scrollable content area (slot) between the header and footer.\n * Grows to fill available space and scrolls when content overflows.\n */\nexport const DialogBody = React.forwardRef<HTMLDivElement, DialogBodyProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex-1 overflow-y-auto px-6 py-4\", className)} {...props} />\n ),\n);\nDialogBody.displayName = \"DialogBody\";\n\nexport interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Footer bar for the dialog. Typically contains action buttons.\n * Children are laid out in a horizontal row with equal flex-basis.\n */\nexport const DialogFooter = React.forwardRef<HTMLDivElement, DialogFooterProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex shrink-0 items-center gap-3 px-6 pt-3 pb-6\",\n \"[&>*]:min-w-0 [&>*]:flex-1\",\n className,\n )}\n {...props}\n />\n ),\n);\nDialogFooter.displayName = \"DialogFooter\";\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog.mjs","sources":["../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { ArrowLeftIcon } from \"../Icons/ArrowLeftIcon\";\nimport { CloseIcon } from \"../Icons/CloseIcon\";\n\n/** Props for the {@link Dialog} root component. */\nexport interface DialogProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root> {\n /** Controlled open state. When provided, you must also supply `onOpenChange`. */\n open?: boolean;\n /** Called when the open state changes. Required when `open` is controlled. */\n onOpenChange?: (open: boolean) => void;\n /** The open state of the dialog when it is initially rendered (uncontrolled). */\n defaultOpen?: boolean;\n}\n\n/** Root component that manages open/close state for a dialog. */\nexport const Dialog = DialogPrimitive.Root;\n\n/** Props for the {@link DialogTrigger} component. */\nexport type DialogTriggerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;\n\n/** The element that opens the dialog when clicked. */\nexport const DialogTrigger = DialogPrimitive.Trigger;\n\n/** Convenience alias for Radix `Dialog.Close`. Closes the dialog when clicked. */\nexport const DialogClose = DialogPrimitive.Close;\n\n/** Props for the {@link DialogClose} component. */\nexport type DialogCloseProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;\n\nexport interface DialogOverlayProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> {}\n\n/**\n * Semi-transparent backdrop rendered behind the dialog content.\n * Rendered inside a portal automatically by {@link DialogContent}.\n */\nexport const DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n DialogOverlayProps\n>(({ className, style, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed inset-0 bg-bg-overlay data-[state=closed]:animate-out data-[state=open]:animate-in\",\n className,\n )}\n style={{ zIndex: \"var(--fanvue-ui-portal-z-index, 50)\", ...style }}\n {...props}\n />\n));\nDialogOverlay.displayName = \"DialogOverlay\";\n\nexport interface DialogContentProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {\n /**\n * Width preset for the dialog.\n * - `\"sm\"` — 400px max-width (confirmations, simple forms)\n * - `\"md\"` — 440px max-width (default, standard dialogs)\n * - `\"lg\"` — 600px max-width (complex content, tables)\n *\n * @default \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /** When true, renders overlay automatically. @default true */\n overlay?: boolean;\n}\n\nconst SIZE_CLASSES: Record<NonNullable<DialogContentProps[\"size\"]>, string> = {\n sm: \"sm:max-w-[400px]\",\n md: \"sm:max-w-[440px]\",\n lg: \"sm:max-w-[600px]\",\n};\n\n/**\n * The dialog panel rendered inside a portal. Includes the overlay by default.\n *\n * On mobile viewports (<640px), the dialog slides up from the bottom as a sheet\n * with top-only border radius. On larger viewports it renders centered with\n * full border radius.\n *\n * @example\n * ```tsx\n * <Dialog>\n * <DialogTrigger asChild>\n * <Button>Open</Button>\n * </DialogTrigger>\n * <DialogContent>\n * <DialogHeader>\n * <DialogTitle>Title</DialogTitle>\n * </DialogHeader>\n * <DialogBody>Content here</DialogBody>\n * <DialogFooter>\n * <DialogClose asChild>\n * <Button variant=\"secondary\">Cancel</Button>\n * </DialogClose>\n * <Button>Accept</Button>\n * </DialogFooter>\n * </DialogContent>\n * </Dialog>\n * ```\n */\nexport const DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(({ className, children, size = \"md\", overlay = true, style, ...props }, ref) => (\n <DialogPrimitive.Portal>\n {overlay && <DialogOverlay />}\n <DialogPrimitive.Content\n ref={ref}\n style={{ zIndex: \"var(--fanvue-ui-portal-z-index, 50)\", ...style }}\n className={cn(\n // Base\n \"fixed flex flex-col overflow-hidden bg-bg-primary shadow-lg focus:outline-none dark:bg-surface-primary\",\n // Mobile: bottom sheet\n \"inset-x-0 bottom-0 max-h-[85vh] w-full rounded-t-lg\",\n // Animation (shared)\n \"data-[state=open]:fade-in-0 data-[state=open]:animate-in\",\n \"data-[state=closed]:fade-out-0 data-[state=closed]:animate-out\",\n // Mobile: slide up from bottom\n \"data-[state=open]:slide-in-from-bottom-full\",\n \"data-[state=closed]:slide-out-to-bottom-full\",\n // Desktop: centered dialog\n \"sm:inset-auto sm:top-1/2 sm:left-1/2 sm:max-h-[85vh] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-lg\",\n // Desktop: scale in/out (cancel mobile slide)\n \"sm:data-[state=open]:slide-in-from-bottom-0 sm:data-[state=open]:zoom-in-95\",\n \"sm:data-[state=closed]:slide-out-to-bottom-0 sm:data-[state=closed]:zoom-out-95\",\n // Duration\n \"duration-200\",\n // Size\n SIZE_CLASSES[size],\n className,\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n));\nDialogContent.displayName = \"DialogContent\";\n\nexport interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Show the close (X) button in the header. @default true */\n showClose?: boolean;\n /** Show a back arrow button on the left side. Defaults to `true` when `onBack` is provided. */\n showBack?: boolean;\n /** Called when the back button is clicked. */\n onBack?: () => void;\n /** Accessible label for the back button. @default \"Go back\" */\n backLabel?: string;\n /** Accessible label for the close button. @default \"Close\" */\n closeLabel?: string;\n}\n\n/**\n * Header bar for the dialog. Renders the title with an optional back arrow\n * and close button.\n *\n * @example\n * ```tsx\n * <DialogHeader>\n * <DialogTitle>Settings</DialogTitle>\n * </DialogHeader>\n *\n * <DialogHeader showBack onBack={() => setStep(0)}>\n * <DialogTitle>Step 2</DialogTitle>\n * </DialogHeader>\n * ```\n */\nexport const DialogHeader = React.forwardRef<HTMLDivElement, DialogHeaderProps>(\n (\n {\n className,\n children,\n showClose = true,\n showBack,\n onBack,\n backLabel = \"Go back\",\n closeLabel = \"Close\",\n ...props\n },\n ref,\n ) => {\n const shouldShowBack = showBack ?? !!onBack;\n\n return (\n <div\n ref={ref}\n className={cn(\"flex h-16 shrink-0 items-center gap-2 px-6 py-4\", className)}\n {...props}\n >\n {shouldShowBack && (\n <IconButton\n variant=\"tertiary\"\n size=\"32\"\n icon={<ArrowLeftIcon />}\n onClick={onBack}\n disabled={!onBack}\n aria-label={backLabel}\n />\n )}\n <div className=\"min-w-0 flex-1\">{children}</div>\n {showClose && (\n <DialogPrimitive.Close asChild>\n <IconButton variant=\"tertiary\" size=\"32\" icon={<CloseIcon />} aria-label={closeLabel} />\n </DialogPrimitive.Close>\n )}\n </div>\n );\n },\n);\nDialogHeader.displayName = \"DialogHeader\";\n\n/** Props for the {@link DialogTitle} component. */\nexport type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;\n\n/**\n * Accessible title for the dialog. Must be rendered inside {@link DialogHeader}\n * or directly within {@link DialogContent}.\n */\nexport const DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n DialogTitleProps\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"typography-bold-heading-xs truncate text-content-primary\", className)}\n {...props}\n />\n));\nDialogTitle.displayName = \"DialogTitle\";\n\n/** Props for the {@link DialogDescription} component. */\nexport type DialogDescriptionProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Description\n>;\n\n/** Accessible description for the dialog. Rendered as secondary text. */\nexport const DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n DialogDescriptionProps\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"typography-regular-body-lg text-content-secondary\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = \"DialogDescription\";\n\nexport interface DialogBodyProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Scrollable content area (slot) between the header and footer.\n * Grows to fill available space and scrolls when content overflows.\n */\nexport const DialogBody = React.forwardRef<HTMLDivElement, DialogBodyProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex-1 overflow-y-auto px-6 py-4\", className)} {...props} />\n ),\n);\nDialogBody.displayName = \"DialogBody\";\n\nexport interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Footer bar for the dialog. Typically contains action buttons.\n * Children are laid out in a horizontal row with equal flex-basis.\n */\nexport const DialogFooter = React.forwardRef<HTMLDivElement, DialogFooterProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex shrink-0 items-center gap-3 px-6 pt-3 pb-6\",\n \"[&>*]:min-w-0 [&>*]:flex-1\",\n className,\n )}\n {...props}\n />\n ),\n);\nDialogFooter.displayName = \"DialogFooter\";\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../../utils/cn.mjs";
|
|
5
|
+
const NewMessageIcon = React.forwardRef(
|
|
6
|
+
({ className, ...props }, ref) => {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
"svg",
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
viewBox: "0 0 24 24",
|
|
12
|
+
fill: "none",
|
|
13
|
+
"aria-hidden": "true",
|
|
14
|
+
className: cn("size-6", className),
|
|
15
|
+
...props,
|
|
16
|
+
children: /* @__PURE__ */ jsxs("g", { fill: "currentColor", children: [
|
|
17
|
+
/* @__PURE__ */ jsx("path", { d: "M15.9998 22.3195C15.6598 22.3195 15.3298 22.2195 15.0398 22.0295L10.7798 19.1895H8.88977C8.65977 19.1895 8.43974 19.0795 8.29974 18.8995C8.15974 18.7095 8.10977 18.4694 8.16977 18.2495C8.22977 18.0095 8.25977 17.7695 8.25977 17.5095C8.25977 16.7095 7.95977 15.9395 7.41977 15.3395C6.80977 14.6495 5.93977 14.2595 5.00977 14.2595C4.11977 14.2595 3.28975 14.6094 2.67975 15.2394C2.48975 15.4394 2.19976 15.5195 1.93976 15.4395C1.67976 15.3595 1.46976 15.1495 1.40976 14.8795C1.30976 14.4395 1.25977 13.9595 1.25977 13.4395V7.43945C1.25977 3.99945 3.56977 1.68945 7.00977 1.68945H17.0098C20.4498 1.68945 22.7598 3.99945 22.7598 7.43945V13.4395C22.7598 15.1095 22.2098 16.5494 21.1598 17.5994C20.2798 18.4794 19.1098 19.0095 17.7598 19.1495V20.5695C17.7598 21.2195 17.3997 21.8094 16.8297 22.1194C16.5597 22.2494 16.2798 22.3195 15.9998 22.3195ZM9.74975 17.6794H10.9998C11.1498 17.6794 11.2898 17.7194 11.4198 17.8094L15.8698 20.7795C15.9698 20.8495 16.0698 20.8194 16.1198 20.7894C16.1698 20.7594 16.2598 20.6994 16.2598 20.5594V18.4294C16.2598 18.0194 16.5998 17.6794 17.0098 17.6794C18.2798 17.6794 19.3498 17.2795 20.0998 16.5295C20.8598 15.7695 21.2598 14.6994 21.2598 13.4294V7.42944C21.2598 4.84944 19.5898 3.17944 17.0098 3.17944H7.00977C4.42977 3.17944 2.75977 4.84944 2.75977 7.42944V13.3094C3.43977 12.9394 4.20977 12.7495 5.00977 12.7495C6.36977 12.7495 7.65976 13.3295 8.53976 14.3295C9.31976 15.1995 9.75977 16.3295 9.75977 17.4995C9.74977 17.5595 9.74975 17.6194 9.74975 17.6794Z" }),
|
|
18
|
+
/* @__PURE__ */ jsx("path", { d: "M5 22.25C3.82 22.25 2.69999 21.81 1.82999 21.02C1.47999 20.72 1.16999 20.35 0.929993 19.94C0.489993 19.22 0.25 18.37 0.25 17.5C0.25 16.25 0.729996 15.08 1.59 14.19C2.49 13.26 3.7 12.75 5 12.75C6.36 12.75 7.65 13.33 8.53 14.33C9.31 15.2 9.75 16.33 9.75 17.5C9.75 17.88 9.70001 18.26 9.60001 18.62C9.50001 19.07 9.30999 19.54 9.04999 19.95C8.21999 21.37 6.66 22.25 5 22.25ZM5 14.25C4.11 14.25 3.28001 14.6 2.67001 15.23C2.08001 15.84 1.75 16.64 1.75 17.5C1.75 18.09 1.91 18.67 2.22 19.17C2.38 19.45 2.58999 19.7 2.82999 19.91C3.42999 20.46 4.2 20.76 5 20.76C6.15 20.76 7.19 20.17 7.78 19.19C7.96 18.91 8.07999 18.6 8.14999 18.28C8.21999 18.02 8.25 17.77 8.25 17.51C8.25 16.71 7.95 15.94 7.41 15.34C6.81 14.64 5.93 14.25 5 14.25Z" }),
|
|
19
|
+
/* @__PURE__ */ jsx("path", { d: "M6.48999 18.2305H3.5C3.09 18.2305 2.75 17.8905 2.75 17.4805C2.75 17.0705 3.09 16.7305 3.5 16.7305H6.48999C6.89999 16.7305 7.23999 17.0705 7.23999 17.4805C7.23999 17.8905 6.90999 18.2305 6.48999 18.2305Z" }),
|
|
20
|
+
/* @__PURE__ */ jsx("path", { d: "M5 19.7595C4.59 19.7595 4.25 19.4195 4.25 19.0095V16.0195C4.25 15.6095 4.59 15.2695 5 15.2695C5.41 15.2695 5.75 15.6095 5.75 16.0195V19.0095C5.75 19.4295 5.41 19.7595 5 19.7595Z" })
|
|
21
|
+
] })
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
NewMessageIcon.displayName = "NewMessageIcon";
|
|
27
|
+
export {
|
|
28
|
+
NewMessageIcon
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=NewMessageIcon.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewMessageIcon.mjs","sources":["../../../src/components/Icons/NewMessageIcon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport type { IconProps } from \"./types\";\n\nexport const NewMessageIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ className, ...props }, ref) => {\n return (\n <svg\n ref={ref}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n className={cn(\"size-6\", className)}\n {...props}\n >\n <g fill=\"currentColor\">\n <path d=\"M15.9998 22.3195C15.6598 22.3195 15.3298 22.2195 15.0398 22.0295L10.7798 19.1895H8.88977C8.65977 19.1895 8.43974 19.0795 8.29974 18.8995C8.15974 18.7095 8.10977 18.4694 8.16977 18.2495C8.22977 18.0095 8.25977 17.7695 8.25977 17.5095C8.25977 16.7095 7.95977 15.9395 7.41977 15.3395C6.80977 14.6495 5.93977 14.2595 5.00977 14.2595C4.11977 14.2595 3.28975 14.6094 2.67975 15.2394C2.48975 15.4394 2.19976 15.5195 1.93976 15.4395C1.67976 15.3595 1.46976 15.1495 1.40976 14.8795C1.30976 14.4395 1.25977 13.9595 1.25977 13.4395V7.43945C1.25977 3.99945 3.56977 1.68945 7.00977 1.68945H17.0098C20.4498 1.68945 22.7598 3.99945 22.7598 7.43945V13.4395C22.7598 15.1095 22.2098 16.5494 21.1598 17.5994C20.2798 18.4794 19.1098 19.0095 17.7598 19.1495V20.5695C17.7598 21.2195 17.3997 21.8094 16.8297 22.1194C16.5597 22.2494 16.2798 22.3195 15.9998 22.3195ZM9.74975 17.6794H10.9998C11.1498 17.6794 11.2898 17.7194 11.4198 17.8094L15.8698 20.7795C15.9698 20.8495 16.0698 20.8194 16.1198 20.7894C16.1698 20.7594 16.2598 20.6994 16.2598 20.5594V18.4294C16.2598 18.0194 16.5998 17.6794 17.0098 17.6794C18.2798 17.6794 19.3498 17.2795 20.0998 16.5295C20.8598 15.7695 21.2598 14.6994 21.2598 13.4294V7.42944C21.2598 4.84944 19.5898 3.17944 17.0098 3.17944H7.00977C4.42977 3.17944 2.75977 4.84944 2.75977 7.42944V13.3094C3.43977 12.9394 4.20977 12.7495 5.00977 12.7495C6.36977 12.7495 7.65976 13.3295 8.53976 14.3295C9.31976 15.1995 9.75977 16.3295 9.75977 17.4995C9.74977 17.5595 9.74975 17.6194 9.74975 17.6794Z\" />\n <path d=\"M5 22.25C3.82 22.25 2.69999 21.81 1.82999 21.02C1.47999 20.72 1.16999 20.35 0.929993 19.94C0.489993 19.22 0.25 18.37 0.25 17.5C0.25 16.25 0.729996 15.08 1.59 14.19C2.49 13.26 3.7 12.75 5 12.75C6.36 12.75 7.65 13.33 8.53 14.33C9.31 15.2 9.75 16.33 9.75 17.5C9.75 17.88 9.70001 18.26 9.60001 18.62C9.50001 19.07 9.30999 19.54 9.04999 19.95C8.21999 21.37 6.66 22.25 5 22.25ZM5 14.25C4.11 14.25 3.28001 14.6 2.67001 15.23C2.08001 15.84 1.75 16.64 1.75 17.5C1.75 18.09 1.91 18.67 2.22 19.17C2.38 19.45 2.58999 19.7 2.82999 19.91C3.42999 20.46 4.2 20.76 5 20.76C6.15 20.76 7.19 20.17 7.78 19.19C7.96 18.91 8.07999 18.6 8.14999 18.28C8.21999 18.02 8.25 17.77 8.25 17.51C8.25 16.71 7.95 15.94 7.41 15.34C6.81 14.64 5.93 14.25 5 14.25Z\" />\n <path d=\"M6.48999 18.2305H3.5C3.09 18.2305 2.75 17.8905 2.75 17.4805C2.75 17.0705 3.09 16.7305 3.5 16.7305H6.48999C6.89999 16.7305 7.23999 17.0705 7.23999 17.4805C7.23999 17.8905 6.90999 18.2305 6.48999 18.2305Z\" />\n <path d=\"M5 19.7595C4.59 19.7595 4.25 19.4195 4.25 19.0095V16.0195C4.25 15.6095 4.59 15.2695 5 15.2695C5.41 15.2695 5.75 15.6095 5.75 16.0195V19.0095C5.75 19.4295 5.41 19.7595 5 19.7595Z\" />\n </g>\n </svg>\n );\n },\n);\n\nNewMessageIcon.displayName = \"NewMessageIcon\";\n"],"names":[],"mappings":";;;;AAIO,MAAM,iBAAiB,MAAM;AAAA,EAClC,CAAC,EAAE,WAAW,GAAG,MAAA,GAAS,QAAQ;AAChC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAW,GAAG,UAAU,SAAS;AAAA,QAChC,GAAG;AAAA,QAEJ,UAAA,qBAAC,KAAA,EAAE,MAAK,gBACN,UAAA;AAAA,UAAA,oBAAC,QAAA,EAAK,GAAE,q9CAAA,CAAq9C;AAAA,UAC79C,oBAAC,QAAA,EAAK,GAAE,ytBAAA,CAAytB;AAAA,UACjuB,oBAAC,QAAA,EAAK,GAAE,6MAAA,CAA6M;AAAA,UACrN,oBAAC,QAAA,EAAK,GAAE,oLAAA,CAAoL;AAAA,QAAA,EAAA,CAC9L;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEA,eAAe,cAAc;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../../utils/cn.mjs";
|
|
5
|
+
const ReverseIcon = React.forwardRef(
|
|
6
|
+
({ className, ...props }, ref) => {
|
|
7
|
+
return /* @__PURE__ */ jsxs(
|
|
8
|
+
"svg",
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
viewBox: "0 0 24 24",
|
|
12
|
+
fill: "none",
|
|
13
|
+
"aria-hidden": "true",
|
|
14
|
+
className: cn("size-6", className),
|
|
15
|
+
...props,
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ jsx(
|
|
18
|
+
"path",
|
|
19
|
+
{
|
|
20
|
+
fill: "currentcolor",
|
|
21
|
+
d: "M12.5 22.6903C12.21 22.6903 11.92 22.6803 11.63 22.6503C9.21998 22.4403 6.95998 21.3903 5.24998 19.6803C4.95998 19.3903 4.95998 18.9103 5.24998 18.6203C5.53998 18.3303 6.01998 18.3303 6.30998 18.6203C7.76998 20.0803 9.69998 20.9803 11.76 21.1603C13.82 21.3303 15.87 20.7803 17.56 19.5803C19.24 18.3903 20.46 16.6303 20.97 14.6303C21.49 12.6303 21.28 10.5103 20.39 8.65034C19.5 6.79034 17.97 5.30032 16.09 4.45032C14.21 3.61032 12.08 3.45033 10.1 4.02033C8.11998 4.59033 6.38998 5.84032 5.23998 7.56032C4.08998 9.27032 3.57998 11.3503 3.80998 13.3903C3.85998 13.8003 3.55998 14.1703 3.14998 14.2203C2.73998 14.2803 2.36998 13.9703 2.31998 13.5603C2.05998 11.1603 2.64998 8.73034 3.99998 6.73034C5.34998 4.72034 7.36998 3.25032 9.68998 2.59032C12.01 1.92032 14.51 2.10033 16.71 3.10033C18.91 4.09033 20.7 5.84033 21.75 8.02033C22.79 10.2003 23.04 12.6903 22.43 15.0303C21.82 17.3703 20.4 19.4303 18.43 20.8203C16.69 22.0303 14.61 22.6903 12.5 22.6903Z"
|
|
22
|
+
}
|
|
23
|
+
),
|
|
24
|
+
/* @__PURE__ */ jsx(
|
|
25
|
+
"path",
|
|
26
|
+
{
|
|
27
|
+
fill: "currentcolor",
|
|
28
|
+
d: "M15 16.1504C14.86 16.1504 14.72 16.1104 14.6 16.0304L11.6 14.1304C11.38 13.9904 11.25 13.7504 11.25 13.5004V9.40039C11.25 8.99039 11.59 8.65039 12 8.65039C12.41 8.65039 12.75 8.99039 12.75 9.40039V13.0904L15.4 14.7704C15.75 14.9904 15.85 15.4604 15.63 15.8104C15.49 16.0204 15.25 16.1504 15 16.1504Z"
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
/* @__PURE__ */ jsx(
|
|
32
|
+
"path",
|
|
33
|
+
{
|
|
34
|
+
fill: "currentcolor",
|
|
35
|
+
d: "M3.16993 14.7496C2.94993 14.7496 2.73993 14.6496 2.58993 14.4796L0.41993 11.8696C0.14993 11.5496 0.19993 11.0796 0.51993 10.8096C0.83993 10.5396 1.30993 10.5896 1.57993 10.9096L3.17993 12.8296L4.77993 10.9096C5.04993 10.5896 5.51993 10.5496 5.83993 10.8096C6.15993 11.0796 6.19993 11.5496 5.93993 11.8696L3.76993 14.4796C3.60993 14.6496 3.39993 14.7496 3.16993 14.7496Z"
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
ReverseIcon.displayName = "ReverseIcon";
|
|
44
|
+
export {
|
|
45
|
+
ReverseIcon
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=ReverseIcon.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReverseIcon.mjs","sources":["../../../src/components/Icons/ReverseIcon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport type { IconProps } from \"./types\";\n\nexport const ReverseIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ className, ...props }, ref) => {\n return (\n <svg\n ref={ref}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n className={cn(\"size-6\", className)}\n {...props}\n >\n <path\n fill=\"currentcolor\"\n d=\"M12.5 22.6903C12.21 22.6903 11.92 22.6803 11.63 22.6503C9.21998 22.4403 6.95998 21.3903 5.24998 19.6803C4.95998 19.3903 4.95998 18.9103 5.24998 18.6203C5.53998 18.3303 6.01998 18.3303 6.30998 18.6203C7.76998 20.0803 9.69998 20.9803 11.76 21.1603C13.82 21.3303 15.87 20.7803 17.56 19.5803C19.24 18.3903 20.46 16.6303 20.97 14.6303C21.49 12.6303 21.28 10.5103 20.39 8.65034C19.5 6.79034 17.97 5.30032 16.09 4.45032C14.21 3.61032 12.08 3.45033 10.1 4.02033C8.11998 4.59033 6.38998 5.84032 5.23998 7.56032C4.08998 9.27032 3.57998 11.3503 3.80998 13.3903C3.85998 13.8003 3.55998 14.1703 3.14998 14.2203C2.73998 14.2803 2.36998 13.9703 2.31998 13.5603C2.05998 11.1603 2.64998 8.73034 3.99998 6.73034C5.34998 4.72034 7.36998 3.25032 9.68998 2.59032C12.01 1.92032 14.51 2.10033 16.71 3.10033C18.91 4.09033 20.7 5.84033 21.75 8.02033C22.79 10.2003 23.04 12.6903 22.43 15.0303C21.82 17.3703 20.4 19.4303 18.43 20.8203C16.69 22.0303 14.61 22.6903 12.5 22.6903Z\"\n />\n <path\n fill=\"currentcolor\"\n d=\"M15 16.1504C14.86 16.1504 14.72 16.1104 14.6 16.0304L11.6 14.1304C11.38 13.9904 11.25 13.7504 11.25 13.5004V9.40039C11.25 8.99039 11.59 8.65039 12 8.65039C12.41 8.65039 12.75 8.99039 12.75 9.40039V13.0904L15.4 14.7704C15.75 14.9904 15.85 15.4604 15.63 15.8104C15.49 16.0204 15.25 16.1504 15 16.1504Z\"\n />\n <path\n fill=\"currentcolor\"\n d=\"M3.16993 14.7496C2.94993 14.7496 2.73993 14.6496 2.58993 14.4796L0.41993 11.8696C0.14993 11.5496 0.19993 11.0796 0.51993 10.8096C0.83993 10.5396 1.30993 10.5896 1.57993 10.9096L3.17993 12.8296L4.77993 10.9096C5.04993 10.5896 5.51993 10.5496 5.83993 10.8096C6.15993 11.0796 6.19993 11.5496 5.93993 11.8696L3.76993 14.4796C3.60993 14.6496 3.39993 14.7496 3.16993 14.7496Z\"\n />\n </svg>\n );\n },\n);\n\nReverseIcon.displayName = \"ReverseIcon\";\n"],"names":[],"mappings":";;;;AAIO,MAAM,cAAc,MAAM;AAAA,EAC/B,CAAC,EAAE,WAAW,GAAG,MAAA,GAAS,QAAQ;AAChC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAW,GAAG,UAAU,SAAS;AAAA,QAChC,GAAG;AAAA,QAEJ,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,GAAE;AAAA,YAAA;AAAA,UAAA;AAAA,UAEJ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,GAAE;AAAA,YAAA;AAAA,UAAA;AAAA,UAEJ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,GAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEA,YAAY,cAAc;"}
|