@raydenui/ui 0.9.7 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -49
- package/dist/Table-DCNSxua1.d.cts +31 -0
- package/dist/Table-DCNSxua1.d.ts +31 -0
- package/dist/blocks/ApplicationShellBlock.cjs +157 -0
- package/dist/blocks/ApplicationShellBlock.js +154 -0
- package/dist/blocks/CheckoutReviewBlock.cjs +16 -0
- package/dist/blocks/CheckoutReviewBlock.js +13 -0
- package/dist/blocks/CommandPaletteBlock.cjs +334 -0
- package/dist/blocks/CommandPaletteBlock.js +331 -0
- package/dist/blocks/CreateAccountBlock.cjs +147 -0
- package/dist/blocks/CreateAccountBlock.js +143 -0
- package/dist/blocks/EmptyStateBlock.cjs +19 -0
- package/dist/blocks/EmptyStateBlock.js +16 -0
- package/dist/blocks/FeatureOverviewBlock.cjs +54 -0
- package/dist/blocks/FeatureOverviewBlock.js +51 -0
- package/dist/blocks/HeaderBlock.cjs +230 -0
- package/dist/blocks/HeaderBlock.js +227 -0
- package/dist/blocks/KpiOverviewBlock.cjs +63 -0
- package/dist/blocks/KpiOverviewBlock.js +60 -0
- package/dist/blocks/LoginBlock.cjs +66 -0
- package/dist/blocks/LoginBlock.js +63 -0
- package/dist/blocks/NotificationsBlock.cjs +17 -0
- package/dist/blocks/NotificationsBlock.js +14 -0
- package/dist/blocks/PageHeaderBlock.cjs +121 -0
- package/dist/blocks/PageHeaderBlock.js +118 -0
- package/dist/blocks/PricingPlansBlock.cjs +146 -0
- package/dist/blocks/PricingPlansBlock.js +143 -0
- package/dist/blocks/ProductCollectionBlock.cjs +37 -0
- package/dist/blocks/ProductCollectionBlock.js +34 -0
- package/dist/blocks/ProductDetailBlock.cjs +30 -0
- package/dist/blocks/ProductDetailBlock.js +27 -0
- package/dist/blocks/ProductHeroBlock.cjs +83 -0
- package/dist/blocks/ProductHeroBlock.js +80 -0
- package/dist/blocks/ProfileSettingsBlock.cjs +130 -0
- package/dist/blocks/ProfileSettingsBlock.js +126 -0
- package/dist/blocks/QuickSendBlock.cjs +11 -0
- package/dist/blocks/QuickSendBlock.js +8 -0
- package/dist/blocks/RecentTransactionsBlock.cjs +13 -0
- package/dist/blocks/RecentTransactionsBlock.js +10 -0
- package/dist/blocks/SearchableTableBlock.cjs +91 -0
- package/dist/blocks/SearchableTableBlock.js +88 -0
- package/dist/blocks/ShoppingCartBlock.cjs +16 -0
- package/dist/blocks/ShoppingCartBlock.js +13 -0
- package/dist/blocks/SiteFooterBlock.cjs +69 -0
- package/dist/blocks/SiteFooterBlock.js +66 -0
- package/dist/blocks/TableBlock.cjs +20 -0
- package/dist/blocks/TableBlock.js +17 -0
- package/dist/blocks/TaskListBlock.cjs +198 -0
- package/dist/blocks/TaskListBlock.js +195 -0
- package/dist/blocks/WorkspaceSwitcherBlock.cjs +291 -0
- package/dist/blocks/WorkspaceSwitcherBlock.js +288 -0
- package/dist/blocks/commerce.cjs +44 -0
- package/dist/blocks/commerce.js +35 -0
- package/dist/blocks/index.cjs +53 -0
- package/dist/blocks/index.js +24 -0
- package/dist/blocks.d.cts +1820 -0
- package/dist/blocks.d.ts +1820 -0
- package/dist/chart.cjs +13 -0
- package/dist/chart.d.cts +59 -0
- package/dist/chart.d.ts +59 -0
- package/dist/chart.js +5 -0
- package/dist/components/Accordion/Accordion.cjs +94 -0
- package/dist/components/Accordion/Accordion.js +91 -0
- package/dist/components/Accordion/index.cjs +8 -0
- package/dist/components/Accordion/index.js +1 -0
- package/dist/components/ActivityFeed/ActivityContent.cjs +40 -0
- package/dist/components/ActivityFeed/ActivityContent.js +37 -0
- package/dist/components/ActivityFeed/ActivityItem.cjs +19 -0
- package/dist/components/ActivityFeed/ActivityItem.js +16 -0
- package/dist/components/ActivityFeed/index.cjs +7 -0
- package/dist/components/ActivityFeed/index.js +2 -0
- package/dist/components/Alert/Alert.cjs +42 -0
- package/dist/components/Alert/Alert.js +39 -0
- package/dist/components/Alert/index.cjs +5 -0
- package/dist/components/Alert/index.js +1 -0
- package/dist/components/Avatar/Avatar.cjs +101 -0
- package/dist/components/Avatar/Avatar.js +98 -0
- package/dist/components/Avatar/index.cjs +6 -0
- package/dist/components/Avatar/index.js +1 -0
- package/dist/components/Badge/Badge.cjs +53 -0
- package/dist/components/Badge/Badge.js +50 -0
- package/dist/components/Badge/index.cjs +5 -0
- package/dist/components/Badge/index.js +1 -0
- package/dist/components/Banner/Banner.cjs +83 -0
- package/dist/components/Banner/Banner.js +80 -0
- package/dist/components/Banner/index.cjs +5 -0
- package/dist/components/Banner/index.js +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.cjs +31 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +28 -0
- package/dist/components/Breadcrumb/index.cjs +5 -0
- package/dist/components/Breadcrumb/index.js +1 -0
- package/dist/components/Button/Button.cjs +88 -0
- package/dist/components/Button/Button.js +85 -0
- package/dist/components/Button/index.cjs +5 -0
- package/dist/components/Button/index.js +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.cjs +8 -0
- package/dist/components/ButtonGroup/ButtonGroup.js +5 -0
- package/dist/components/ButtonGroup/ButtonGroupItem.cjs +15 -0
- package/dist/components/ButtonGroup/ButtonGroupItem.js +12 -0
- package/dist/components/ButtonGroup/index.cjs +7 -0
- package/dist/components/ButtonGroup/index.js +2 -0
- package/dist/components/Card/Card.cjs +94 -0
- package/dist/components/Card/Card.js +91 -0
- package/dist/components/Card/index.cjs +9 -0
- package/dist/components/Card/index.js +1 -0
- package/dist/components/Chart/Chart.cjs +160 -0
- package/dist/components/Chart/Chart.js +153 -0
- package/dist/components/Chart/index.cjs +10 -0
- package/dist/components/Chart/index.js +2 -0
- package/dist/components/Chart/theme.cjs +67 -0
- package/dist/components/Chart/theme.js +62 -0
- package/dist/components/Chip/Chip.cjs +18 -0
- package/dist/components/Chip/Chip.js +15 -0
- package/dist/components/Chip/index.cjs +5 -0
- package/dist/components/Chip/index.js +1 -0
- package/dist/components/Counter/Counter.cjs +74 -0
- package/dist/components/Counter/Counter.js +71 -0
- package/dist/components/Counter/index.cjs +6 -0
- package/dist/components/Counter/index.js +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +343 -0
- package/dist/components/DatePicker/DatePicker.js +340 -0
- package/dist/components/DatePicker/index.cjs +5 -0
- package/dist/components/DatePicker/index.js +1 -0
- package/dist/components/Divider/Divider.cjs +31 -0
- package/dist/components/Divider/Divider.js +28 -0
- package/dist/components/Divider/index.cjs +5 -0
- package/dist/components/Divider/index.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs +108 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +105 -0
- package/dist/components/DropdownMenu/index.cjs +11 -0
- package/dist/components/DropdownMenu/index.js +1 -0
- package/dist/components/EmptyStateIllustration/EmptyStateIllustration.cjs +42 -0
- package/dist/components/EmptyStateIllustration/EmptyStateIllustration.js +39 -0
- package/dist/components/EmptyStateIllustration/illustrations.cjs +3322 -0
- package/dist/components/EmptyStateIllustration/illustrations.js +3319 -0
- package/dist/components/EmptyStateIllustration/index.cjs +7 -0
- package/dist/components/EmptyStateIllustration/index.js +2 -0
- package/dist/components/FileUpload/FileUpload.cjs +116 -0
- package/dist/components/FileUpload/FileUpload.js +113 -0
- package/dist/components/FileUpload/FileUploadDropZone.cjs +58 -0
- package/dist/components/FileUpload/FileUploadDropZone.js +55 -0
- package/dist/components/FileUpload/FileUploadIcons.cjs +55 -0
- package/dist/components/FileUpload/FileUploadIcons.js +50 -0
- package/dist/components/FileUpload/FileUploadItem.cjs +34 -0
- package/dist/components/FileUpload/FileUploadItem.js +31 -0
- package/dist/components/FileUpload/index.cjs +9 -0
- package/dist/components/FileUpload/index.js +3 -0
- package/dist/components/FormControl/Checkbox.cjs +27 -0
- package/dist/components/FormControl/Checkbox.js +24 -0
- package/dist/components/FormControl/Radio.cjs +15 -0
- package/dist/components/FormControl/Radio.js +12 -0
- package/dist/components/FormControl/Toggle.cjs +15 -0
- package/dist/components/FormControl/Toggle.js +12 -0
- package/dist/components/FormControl/index.cjs +9 -0
- package/dist/components/FormControl/index.js +3 -0
- package/dist/components/Icon/Icon.cjs +70 -0
- package/dist/components/Icon/Icon.js +34 -0
- package/dist/components/Icon/catalog.cjs +1672 -0
- package/dist/components/Icon/catalog.js +1669 -0
- package/dist/components/Icon/icons.cjs +5621 -0
- package/dist/components/Icon/icons.js +5610 -0
- package/dist/components/Icon/index.cjs +8 -0
- package/dist/components/Icon/index.js +2 -0
- package/dist/components/Input/Input.cjs +64 -0
- package/dist/components/Input/Input.js +61 -0
- package/dist/components/Input/index.cjs +5 -0
- package/dist/components/Input/index.js +1 -0
- package/dist/components/MetricsCard/MetricsCard.cjs +107 -0
- package/dist/components/MetricsCard/MetricsCard.js +104 -0
- package/dist/components/MetricsCard/index.cjs +5 -0
- package/dist/components/MetricsCard/index.js +1 -0
- package/dist/components/Modal/Modal.cjs +126 -0
- package/dist/components/Modal/Modal.js +123 -0
- package/dist/components/Modal/index.cjs +5 -0
- package/dist/components/Modal/index.js +1 -0
- package/dist/components/Pagination/Pagination.cjs +42 -0
- package/dist/components/Pagination/Pagination.js +39 -0
- package/dist/components/Pagination/index.cjs +5 -0
- package/dist/components/Pagination/index.js +1 -0
- package/dist/components/ProgressBar/ProgressBar.cjs +34 -0
- package/dist/components/ProgressBar/ProgressBar.js +31 -0
- package/dist/components/ProgressBar/index.cjs +5 -0
- package/dist/components/ProgressBar/index.js +1 -0
- package/dist/components/ProgressCircle/ProgressCircle.cjs +34 -0
- package/dist/components/ProgressCircle/ProgressCircle.js +31 -0
- package/dist/components/ProgressCircle/index.cjs +5 -0
- package/dist/components/ProgressCircle/index.js +1 -0
- package/dist/components/Select/Select.cjs +84 -0
- package/dist/components/Select/Select.js +80 -0
- package/dist/components/Select/SelectOption.cjs +26 -0
- package/dist/components/Select/SelectOption.js +23 -0
- package/dist/components/Select/index.cjs +7 -0
- package/dist/components/Select/index.js +2 -0
- package/dist/components/SidebarMenu/SidebarMenu.cjs +85 -0
- package/dist/components/SidebarMenu/SidebarMenu.js +81 -0
- package/dist/components/SidebarMenu/SidebarMenuItem.cjs +126 -0
- package/dist/components/SidebarMenu/SidebarMenuItem.js +122 -0
- package/dist/components/SidebarMenu/SidebarMenuSection.cjs +14 -0
- package/dist/components/SidebarMenu/SidebarMenuSection.js +11 -0
- package/dist/components/SidebarMenu/index.cjs +12 -0
- package/dist/components/SidebarMenu/index.js +4 -0
- package/dist/components/Slider/Slider.cjs +161 -0
- package/dist/components/Slider/Slider.js +158 -0
- package/dist/components/Slider/index.cjs +6 -0
- package/dist/components/Slider/index.js +1 -0
- package/dist/components/Spinner/Spinner.cjs +93 -0
- package/dist/components/Spinner/Spinner.js +90 -0
- package/dist/components/Spinner/index.cjs +5 -0
- package/dist/components/Spinner/index.js +1 -0
- package/dist/components/Stepper/Stepper.cjs +82 -0
- package/dist/components/Stepper/Stepper.js +79 -0
- package/dist/components/Stepper/index.cjs +7 -0
- package/dist/components/Stepper/index.js +1 -0
- package/dist/components/Table/Table.cjs +25 -0
- package/dist/components/Table/Table.js +22 -0
- package/dist/components/Table/index.cjs +10 -0
- package/dist/components/Table/index.js +1 -0
- package/dist/components/Table/useTableSelection.cjs +60 -0
- package/dist/components/Table/useTableSelection.js +57 -0
- package/dist/components/Tabs/Tab.cjs +70 -0
- package/dist/components/Tabs/Tab.js +67 -0
- package/dist/components/Tabs/Tabs.cjs +133 -0
- package/dist/components/Tabs/Tabs.js +129 -0
- package/dist/components/Tabs/index.cjs +7 -0
- package/dist/components/Tabs/index.js +2 -0
- package/dist/components/Tooltip/Tooltip.cjs +101 -0
- package/dist/components/Tooltip/Tooltip.js +98 -0
- package/dist/components/Tooltip/index.cjs +5 -0
- package/dist/components/Tooltip/index.js +1 -0
- package/dist/context/ThemeContext.cjs +97 -0
- package/dist/context/ThemeContext.js +92 -0
- package/dist/fonts/README.md +13 -0
- package/dist/fonts/hanken-grotesk-cyrillic-ext-italic.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-cyrillic-ext-normal.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-latin-ext-italic.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-latin-ext-normal.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-latin-italic.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-latin-normal.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-vietnamese-italic.woff2 +0 -0
- package/dist/fonts/hanken-grotesk-vietnamese-normal.woff2 +0 -0
- package/dist/fonts/hankengrotesk-LICENSE.txt +94 -0
- package/dist/fonts/manrope-LICENSE.txt +93 -0
- package/dist/fonts/manrope-cyrillic-ext-normal.woff2 +0 -0
- package/dist/fonts/manrope-cyrillic-normal.woff2 +0 -0
- package/dist/fonts/manrope-greek-normal.woff2 +0 -0
- package/dist/fonts/manrope-latin-ext-normal.woff2 +0 -0
- package/dist/fonts/manrope-latin-normal.woff2 +0 -0
- package/dist/fonts/manrope-vietnamese-normal.woff2 +0 -0
- package/dist/fonts.css +148 -0
- package/dist/hooks/form/index.cjs +11 -0
- package/dist/hooks/form/index.js +3 -0
- package/dist/hooks/form/useRaydenFormControl.cjs +81 -0
- package/dist/hooks/form/useRaydenFormControl.js +76 -0
- package/dist/hooks/form/useRaydenInput.cjs +38 -0
- package/dist/hooks/form/useRaydenInput.js +35 -0
- package/dist/hooks/form/useRaydenSelect.cjs +45 -0
- package/dist/hooks/form/useRaydenSelect.js +42 -0
- package/dist/hooks/index.cjs +17 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useBodyScrollLock.cjs +24 -0
- package/dist/hooks/useBodyScrollLock.js +21 -0
- package/dist/hooks/useCollisionAwareSide.cjs +72 -0
- package/dist/hooks/useCollisionAwareSide.js +69 -0
- package/dist/hooks/useControllableValue.cjs +16 -0
- package/dist/hooks/useControllableValue.js +13 -0
- package/dist/hooks/useDismissableLayer.cjs +100 -0
- package/dist/hooks/useDismissableLayer.js +97 -0
- package/dist/hooks/usePopupList.cjs +101 -0
- package/dist/hooks/usePopupList.js +98 -0
- package/dist/icons-8yD7I5jO.d.cts +430 -0
- package/dist/icons-8yD7I5jO.d.ts +430 -0
- package/dist/icons.cjs +2111 -418
- package/dist/icons.d.cts +1256 -429
- package/dist/icons.d.ts +1256 -429
- package/dist/icons.js +2089 -1
- package/dist/index.cjs +128 -15046
- package/dist/index.d.cts +697 -662
- package/dist/index.d.ts +697 -662
- package/dist/index.js +43 -14962
- package/dist/motion/Collapse.cjs +28 -0
- package/dist/motion/Collapse.js +25 -0
- package/dist/motion/MotionProvider.cjs +43 -0
- package/dist/motion/MotionProvider.js +38 -0
- package/dist/motion/Pressable.cjs +46 -0
- package/dist/motion/Pressable.js +43 -0
- package/dist/motion/Reveal.cjs +19 -0
- package/dist/motion/Reveal.js +16 -0
- package/dist/motion/SharedLayout.cjs +46 -0
- package/dist/motion/SharedLayout.js +43 -0
- package/dist/motion/index.cjs +19 -0
- package/dist/motion/index.js +6 -0
- package/dist/motion/presence.cjs +58 -0
- package/dist/motion/presence.js +55 -0
- package/dist/motion/presets.cjs +88 -0
- package/dist/motion/presets.js +84 -0
- package/dist/motion.d.cts +51 -0
- package/dist/motion.d.ts +51 -0
- package/dist/preset.cjs +356 -195
- package/dist/preset.d.cts +111 -32
- package/dist/preset.d.ts +111 -32
- package/dist/preset.js +353 -187
- package/dist/presets-Ba5QndHg.d.cts +144 -0
- package/dist/presets-Ba5QndHg.d.ts +144 -0
- package/dist/styles.css +1 -1
- package/dist/utils/cn.cjs +38 -0
- package/dist/utils/cn.js +35 -0
- package/dist/utils/resolveIcon.cjs +18 -0
- package/dist/utils/resolveIcon.js +15 -0
- package/package.json +79 -21
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { cn } from "../../utils/cn.js";
|
|
4
|
+
import { Icon } from "../Icon/index.js";
|
|
5
|
+
import { ProgressCircle } from "../ProgressCircle/index.js";
|
|
6
|
+
import { FileTypeIcon, getFileType } from "./FileUploadIcons.js";
|
|
7
|
+
// ─── Helpers ─────────────────────────────────────────────────────
|
|
8
|
+
function formatFileSize(bytes) {
|
|
9
|
+
if (bytes === 0)
|
|
10
|
+
return "0 B";
|
|
11
|
+
const k = 1024;
|
|
12
|
+
const sizes = ["B", "KB", "MB", "GB"];
|
|
13
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
14
|
+
const value = bytes / Math.pow(k, i);
|
|
15
|
+
return `${value % 1 === 0 ? value : value.toFixed(1)} ${sizes[i]}`;
|
|
16
|
+
}
|
|
17
|
+
function formatDate(date) {
|
|
18
|
+
return date.toLocaleDateString("en-US", {
|
|
19
|
+
month: "short",
|
|
20
|
+
day: "numeric",
|
|
21
|
+
year: "numeric",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// ─── Component ───────────────────────────────────────────────────
|
|
25
|
+
export const FileUploadItem = forwardRef(({ file, onRemove, onRetry, onDownload, className, ...rest }, ref) => {
|
|
26
|
+
const fileType = getFileType(file.name);
|
|
27
|
+
return (_jsxs("div", { ref: ref, className: cn("flex items-center gap-3 py-3 border-b border-grey-100 last:border-b-0", className), ...rest, children: [_jsx("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-lg border border-grey-200 bg-surface", children: _jsx(FileTypeIcon, { type: fileType }) }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx("span", { className: "truncate text-body-sm font-semibold text-grey-800", children: file.name }), file.status === "error" ? (_jsx("span", { className: "text-body-xs font-medium text-feedback-error", children: file.error ?? "Failed to upload" })) : (_jsx("span", { className: "text-body-xs text-on-surface-secondary", children: file.status === "complete" && file.uploadedAt
|
|
28
|
+
? `${formatDate(file.uploadedAt)} \u2022 ${formatFileSize(file.size)}`
|
|
29
|
+
: formatFileSize(file.size) }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [file.status === "pending" && (_jsx("button", { type: "button", className: "flex size-7 items-center justify-center rounded-md text-on-surface-muted hover:bg-grey-100 cursor-pointer", "aria-label": `Remove ${file.name}`, onClick: () => onRemove?.(file.id), children: _jsx(Icon, { name: "multiply", size: "md" }) })), file.status === "uploading" && (_jsxs(_Fragment, { children: [_jsx(ProgressCircle, { value: file.progress ?? 0, size: "xs", showText: true, label: `Uploading ${file.name}` }), _jsx("button", { type: "button", onClick: () => onRemove?.(file.id), className: "flex size-7 items-center justify-center rounded-md text-on-surface-secondary hover:bg-grey-100 cursor-pointer", "aria-label": "Cancel upload", children: _jsx(Icon, { name: "multiply", size: "sm" }) })] })), file.status === "complete" && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => onRemove?.(file.id), className: "flex size-7 items-center justify-center rounded-md text-on-surface-secondary hover:bg-grey-100 cursor-pointer", "aria-label": "Delete file", children: _jsx(Icon, { name: "bin", size: "md" }) }), _jsx("button", { type: "button", onClick: () => onDownload?.(file.id), className: "flex size-7 items-center justify-center rounded-md text-on-surface-secondary hover:bg-grey-100 cursor-pointer", "aria-label": "Download file", children: _jsx(Icon, { name: "download", size: "md" }) })] })), file.status === "error" && (_jsx("button", { type: "button", onClick: () => onRetry?.(file.id), className: "text-body-xs font-semibold text-primary-500 cursor-pointer hover:text-primary-400", children: "Try again" }))] })] }));
|
|
30
|
+
});
|
|
31
|
+
FileUploadItem.displayName = "FileUploadItem";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileUploadItem = exports.FileUploadDropZone = exports.FileUpload = void 0;
|
|
4
|
+
var FileUpload_1 = require("./FileUpload.cjs");
|
|
5
|
+
Object.defineProperty(exports, "FileUpload", { enumerable: true, get: function () { return FileUpload_1.FileUpload; } });
|
|
6
|
+
var FileUploadDropZone_1 = require("./FileUploadDropZone.cjs");
|
|
7
|
+
Object.defineProperty(exports, "FileUploadDropZone", { enumerable: true, get: function () { return FileUploadDropZone_1.FileUploadDropZone; } });
|
|
8
|
+
var FileUploadItem_1 = require("./FileUploadItem.cjs");
|
|
9
|
+
Object.defineProperty(exports, "FileUploadItem", { enumerable: true, get: function () { return FileUploadItem_1.FileUploadItem; } });
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Checkbox = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const cn_1 = require("../../utils/cn.cjs");
|
|
7
|
+
exports.Checkbox = (0, react_1.forwardRef)(({ label, description, position = "left", indeterminate = false, className, wrapperClassName, ...rest }, ref) => {
|
|
8
|
+
const descriptionId = (0, react_1.useId)();
|
|
9
|
+
const inputRef = (0, react_1.useRef)(null);
|
|
10
|
+
// `indeterminate` has no HTML attribute; it must be set on the element.
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
12
|
+
if (inputRef.current)
|
|
13
|
+
inputRef.current.indeterminate = indeterminate;
|
|
14
|
+
}, [indeterminate]);
|
|
15
|
+
const control = ((0, jsx_runtime_1.jsxs)("div", { className: "relative shrink-0 size-5", children: [(0, jsx_runtime_1.jsx)("input", { ref: (node) => {
|
|
16
|
+
inputRef.current = node;
|
|
17
|
+
if (typeof ref === "function")
|
|
18
|
+
ref(node);
|
|
19
|
+
else if (ref)
|
|
20
|
+
ref.current = node;
|
|
21
|
+
}, type: "checkbox", "aria-checked": indeterminate ? "mixed" : undefined, "aria-describedby": description ? descriptionId : undefined, className: (0, cn_1.cn)("peer size-5 appearance-none rounded border-[1.5px] border-control-border bg-surface cursor-pointer", "checked:bg-primary-400 checked:border-primary-400", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200", "disabled:cursor-not-allowed disabled:opacity-50", className), ...rest }), (0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 14 14", fill: "none", className: "pointer-events-none absolute inset-0 m-auto size-3 hidden peer-checked:block text-white", children: (0, jsx_runtime_1.jsx)("path", { d: "M11.5 3.5L5.5 10L2.5 7", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) })] }));
|
|
22
|
+
if (!label && !description) {
|
|
23
|
+
return control;
|
|
24
|
+
}
|
|
25
|
+
return ((0, jsx_runtime_1.jsxs)("label", { className: (0, cn_1.cn)("inline-flex items-center gap-3 cursor-pointer", wrapperClassName), children: [position === "left" && control, (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [label && (0, jsx_runtime_1.jsx)("span", { className: "text-base font-medium text-on-surface", children: label }), description && ((0, jsx_runtime_1.jsx)("span", { id: descriptionId, className: "text-sm text-on-surface-muted", children: description }))] }), position === "right" && control] }));
|
|
26
|
+
});
|
|
27
|
+
exports.Checkbox.displayName = "Checkbox";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useEffect, useId, useRef } from "react";
|
|
3
|
+
import { cn } from "../../utils/cn.js";
|
|
4
|
+
export const Checkbox = forwardRef(({ label, description, position = "left", indeterminate = false, className, wrapperClassName, ...rest }, ref) => {
|
|
5
|
+
const descriptionId = useId();
|
|
6
|
+
const inputRef = useRef(null);
|
|
7
|
+
// `indeterminate` has no HTML attribute; it must be set on the element.
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (inputRef.current)
|
|
10
|
+
inputRef.current.indeterminate = indeterminate;
|
|
11
|
+
}, [indeterminate]);
|
|
12
|
+
const control = (_jsxs("div", { className: "relative shrink-0 size-5", children: [_jsx("input", { ref: (node) => {
|
|
13
|
+
inputRef.current = node;
|
|
14
|
+
if (typeof ref === "function")
|
|
15
|
+
ref(node);
|
|
16
|
+
else if (ref)
|
|
17
|
+
ref.current = node;
|
|
18
|
+
}, type: "checkbox", "aria-checked": indeterminate ? "mixed" : undefined, "aria-describedby": description ? descriptionId : undefined, className: cn("peer size-5 appearance-none rounded border-[1.5px] border-control-border bg-surface cursor-pointer", "checked:bg-primary-400 checked:border-primary-400", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200", "disabled:cursor-not-allowed disabled:opacity-50", className), ...rest }), _jsx("svg", { viewBox: "0 0 14 14", fill: "none", className: "pointer-events-none absolute inset-0 m-auto size-3 hidden peer-checked:block text-white", children: _jsx("path", { d: "M11.5 3.5L5.5 10L2.5 7", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) })] }));
|
|
19
|
+
if (!label && !description) {
|
|
20
|
+
return control;
|
|
21
|
+
}
|
|
22
|
+
return (_jsxs("label", { className: cn("inline-flex items-center gap-3 cursor-pointer", wrapperClassName), children: [position === "left" && control, _jsxs("div", { className: "flex flex-col", children: [label && _jsx("span", { className: "text-base font-medium text-on-surface", children: label }), description && (_jsx("span", { id: descriptionId, className: "text-sm text-on-surface-muted", children: description }))] }), position === "right" && control] }));
|
|
23
|
+
});
|
|
24
|
+
Checkbox.displayName = "Checkbox";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Radio = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const cn_1 = require("../../utils/cn.cjs");
|
|
7
|
+
exports.Radio = (0, react_1.forwardRef)(({ label, description, position = "left", className, wrapperClassName, ...rest }, ref) => {
|
|
8
|
+
const descriptionId = (0, react_1.useId)();
|
|
9
|
+
const control = ((0, jsx_runtime_1.jsxs)("div", { className: "relative shrink-0 size-5", children: [(0, jsx_runtime_1.jsx)("input", { ref: ref, type: "radio", "aria-describedby": description ? descriptionId : undefined, className: (0, cn_1.cn)("peer size-5 appearance-none rounded-full border-[1.5px] border-control-border bg-surface cursor-pointer", "checked:border-primary-400", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200", "disabled:cursor-not-allowed disabled:opacity-50", className), ...rest }), (0, jsx_runtime_1.jsx)("div", { className: "pointer-events-none absolute inset-0 m-auto size-2.5 rounded-full bg-primary-400 hidden peer-checked:block" })] }));
|
|
10
|
+
if (!label && !description) {
|
|
11
|
+
return control;
|
|
12
|
+
}
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("label", { className: (0, cn_1.cn)("inline-flex items-center gap-3 cursor-pointer", wrapperClassName), children: [position === "left" && control, (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [label && (0, jsx_runtime_1.jsx)("span", { className: "text-base font-medium text-on-surface", children: label }), description && ((0, jsx_runtime_1.jsx)("span", { id: descriptionId, className: "text-sm text-on-surface-muted", children: description }))] }), position === "right" && control] }));
|
|
14
|
+
});
|
|
15
|
+
exports.Radio.displayName = "Radio";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useId } from "react";
|
|
3
|
+
import { cn } from "../../utils/cn.js";
|
|
4
|
+
export const Radio = forwardRef(({ label, description, position = "left", className, wrapperClassName, ...rest }, ref) => {
|
|
5
|
+
const descriptionId = useId();
|
|
6
|
+
const control = (_jsxs("div", { className: "relative shrink-0 size-5", children: [_jsx("input", { ref: ref, type: "radio", "aria-describedby": description ? descriptionId : undefined, className: cn("peer size-5 appearance-none rounded-full border-[1.5px] border-control-border bg-surface cursor-pointer", "checked:border-primary-400", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200", "disabled:cursor-not-allowed disabled:opacity-50", className), ...rest }), _jsx("div", { className: "pointer-events-none absolute inset-0 m-auto size-2.5 rounded-full bg-primary-400 hidden peer-checked:block" })] }));
|
|
7
|
+
if (!label && !description) {
|
|
8
|
+
return control;
|
|
9
|
+
}
|
|
10
|
+
return (_jsxs("label", { className: cn("inline-flex items-center gap-3 cursor-pointer", wrapperClassName), children: [position === "left" && control, _jsxs("div", { className: "flex flex-col", children: [label && _jsx("span", { className: "text-base font-medium text-on-surface", children: label }), description && (_jsx("span", { id: descriptionId, className: "text-sm text-on-surface-muted", children: description }))] }), position === "right" && control] }));
|
|
11
|
+
});
|
|
12
|
+
Radio.displayName = "Radio";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Toggle = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const cn_1 = require("../../utils/cn.cjs");
|
|
7
|
+
exports.Toggle = (0, react_1.forwardRef)(({ label, description, position = "left", className, wrapperClassName, ...rest }, ref) => {
|
|
8
|
+
const descriptionId = (0, react_1.useId)();
|
|
9
|
+
const control = ((0, jsx_runtime_1.jsxs)("div", { className: "relative shrink-0 w-9 h-5", children: [(0, jsx_runtime_1.jsx)("input", { ref: ref, type: "checkbox", role: "switch", "aria-describedby": description ? descriptionId : undefined, className: (0, cn_1.cn)("peer size-full appearance-none rounded-full bg-grey-200 cursor-pointer transition-colors", "checked:bg-primary-400", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200", "disabled:cursor-not-allowed disabled:opacity-50", className), ...rest }), (0, jsx_runtime_1.jsx)("div", { className: (0, cn_1.cn)("pointer-events-none absolute top-0.5 left-0.5 size-4 rounded-full bg-white dark:bg-grey-50 shadow-sm transition-transform", "peer-checked:translate-x-4") })] }));
|
|
10
|
+
if (!label && !description) {
|
|
11
|
+
return control;
|
|
12
|
+
}
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("label", { className: (0, cn_1.cn)("inline-flex items-center gap-3 cursor-pointer", wrapperClassName), children: [position === "left" && control, (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [label && (0, jsx_runtime_1.jsx)("span", { className: "text-base font-medium text-grey-900", children: label }), description && ((0, jsx_runtime_1.jsx)("span", { id: descriptionId, className: "text-sm text-grey-500", children: description }))] }), position === "right" && control] }));
|
|
14
|
+
});
|
|
15
|
+
exports.Toggle.displayName = "Toggle";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useId } from "react";
|
|
3
|
+
import { cn } from "../../utils/cn.js";
|
|
4
|
+
export const Toggle = forwardRef(({ label, description, position = "left", className, wrapperClassName, ...rest }, ref) => {
|
|
5
|
+
const descriptionId = useId();
|
|
6
|
+
const control = (_jsxs("div", { className: "relative shrink-0 w-9 h-5", children: [_jsx("input", { ref: ref, type: "checkbox", role: "switch", "aria-describedby": description ? descriptionId : undefined, className: cn("peer size-full appearance-none rounded-full bg-grey-200 cursor-pointer transition-colors", "checked:bg-primary-400", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200", "disabled:cursor-not-allowed disabled:opacity-50", className), ...rest }), _jsx("div", { className: cn("pointer-events-none absolute top-0.5 left-0.5 size-4 rounded-full bg-white dark:bg-grey-50 shadow-sm transition-transform", "peer-checked:translate-x-4") })] }));
|
|
7
|
+
if (!label && !description) {
|
|
8
|
+
return control;
|
|
9
|
+
}
|
|
10
|
+
return (_jsxs("label", { className: cn("inline-flex items-center gap-3 cursor-pointer", wrapperClassName), children: [position === "left" && control, _jsxs("div", { className: "flex flex-col", children: [label && _jsx("span", { className: "text-base font-medium text-grey-900", children: label }), description && (_jsx("span", { id: descriptionId, className: "text-sm text-grey-500", children: description }))] }), position === "right" && control] }));
|
|
11
|
+
});
|
|
12
|
+
Toggle.displayName = "Toggle";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Toggle = exports.Radio = exports.Checkbox = void 0;
|
|
4
|
+
var Checkbox_1 = require("./Checkbox.cjs");
|
|
5
|
+
Object.defineProperty(exports, "Checkbox", { enumerable: true, get: function () { return Checkbox_1.Checkbox; } });
|
|
6
|
+
var Radio_1 = require("./Radio.cjs");
|
|
7
|
+
Object.defineProperty(exports, "Radio", { enumerable: true, get: function () { return Radio_1.Radio; } });
|
|
8
|
+
var Toggle_1 = require("./Toggle.cjs");
|
|
9
|
+
Object.defineProperty(exports, "Toggle", { enumerable: true, get: function () { return Toggle_1.Toggle; } });
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Icon = void 0;
|
|
37
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
|
+
const react_1 = require("react");
|
|
39
|
+
const cn_1 = require("../../utils/cn.cjs");
|
|
40
|
+
const sizeMap = {
|
|
41
|
+
xs: 12,
|
|
42
|
+
sm: 16,
|
|
43
|
+
md: 20,
|
|
44
|
+
lg: 24,
|
|
45
|
+
xl: 32,
|
|
46
|
+
};
|
|
47
|
+
exports.Icon = (0, react_1.forwardRef)(({ size = "md", color = "currentColor", variant = "outline", className, style, ...rest }, ref) => {
|
|
48
|
+
// Remove name/icon from rest props before spreading to SVG
|
|
49
|
+
const { name, icon, ...svgProps } = rest;
|
|
50
|
+
// Support both name-based (dynamic) and icon-based (tree-shakeable) usage
|
|
51
|
+
const [loaded, setLoaded] = (0, react_1.useState)(null);
|
|
52
|
+
(0, react_1.useEffect)(() => {
|
|
53
|
+
if (!name || icon)
|
|
54
|
+
return;
|
|
55
|
+
let active = true;
|
|
56
|
+
// Name lookup is optional: the registry stays outside the initial component bundle.
|
|
57
|
+
void Promise.resolve().then(() => __importStar(require("./icons.cjs"))).then(({ icons }) => {
|
|
58
|
+
if (active && icons[name])
|
|
59
|
+
setLoaded({ name, record: icons[name] });
|
|
60
|
+
});
|
|
61
|
+
return () => {
|
|
62
|
+
active = false;
|
|
63
|
+
};
|
|
64
|
+
}, [name, icon]);
|
|
65
|
+
const iconRecord = icon ?? (loaded?.name === name ? loaded?.record : null);
|
|
66
|
+
const iconData = iconRecord?.[variant];
|
|
67
|
+
const px = typeof size === "number" ? size : sizeMap[size];
|
|
68
|
+
return ((0, jsx_runtime_1.jsx)("svg", { ref: ref, xmlns: "http://www.w3.org/2000/svg", viewBox: iconData?.viewBox ?? "0 0 24 24", width: px, height: px, fill: "none", className: (0, cn_1.cn)("shrink-0", className), style: { color, ...style }, "aria-hidden": "true", dangerouslySetInnerHTML: { __html: iconData?.paths ?? "" }, ...svgProps }));
|
|
69
|
+
});
|
|
70
|
+
exports.Icon.displayName = "Icon";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useEffect, useState } from "react";
|
|
3
|
+
import { cn } from "../../utils/cn.js";
|
|
4
|
+
const sizeMap = {
|
|
5
|
+
xs: 12,
|
|
6
|
+
sm: 16,
|
|
7
|
+
md: 20,
|
|
8
|
+
lg: 24,
|
|
9
|
+
xl: 32,
|
|
10
|
+
};
|
|
11
|
+
export const Icon = forwardRef(({ size = "md", color = "currentColor", variant = "outline", className, style, ...rest }, ref) => {
|
|
12
|
+
// Remove name/icon from rest props before spreading to SVG
|
|
13
|
+
const { name, icon, ...svgProps } = rest;
|
|
14
|
+
// Support both name-based (dynamic) and icon-based (tree-shakeable) usage
|
|
15
|
+
const [loaded, setLoaded] = useState(null);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (!name || icon)
|
|
18
|
+
return;
|
|
19
|
+
let active = true;
|
|
20
|
+
// Name lookup is optional: the registry stays outside the initial component bundle.
|
|
21
|
+
void import("./icons.js").then(({ icons }) => {
|
|
22
|
+
if (active && icons[name])
|
|
23
|
+
setLoaded({ name, record: icons[name] });
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
active = false;
|
|
27
|
+
};
|
|
28
|
+
}, [name, icon]);
|
|
29
|
+
const iconRecord = icon ?? (loaded?.name === name ? loaded?.record : null);
|
|
30
|
+
const iconData = iconRecord?.[variant];
|
|
31
|
+
const px = typeof size === "number" ? size : sizeMap[size];
|
|
32
|
+
return (_jsx("svg", { ref: ref, xmlns: "http://www.w3.org/2000/svg", viewBox: iconData?.viewBox ?? "0 0 24 24", width: px, height: px, fill: "none", className: cn("shrink-0", className), style: { color, ...style }, "aria-hidden": "true", dangerouslySetInnerHTML: { __html: iconData?.paths ?? "" }, ...svgProps }));
|
|
33
|
+
});
|
|
34
|
+
Icon.displayName = "Icon";
|