jvdm-ui 1.0.5 → 1.2.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/README.md +1 -1
- package/dist/atoms/index.d.ts +28 -3
- package/dist/atoms/index.js +1 -1
- package/dist/{chunk-WWOXGKLF.js → chunk-KG5YKCFX.js} +54 -9
- package/dist/chunk-KG5YKCFX.js.map +1 -0
- package/dist/{chunk-JYNDKPAH.js → chunk-M2CFFNC3.js} +3 -3
- package/dist/{chunk-JYNDKPAH.js.map → chunk-M2CFFNC3.js.map} +1 -1
- package/dist/{chunk-AHE2576G.js → chunk-W4Y7DKK7.js} +3 -3
- package/dist/{chunk-AHE2576G.js.map → chunk-W4Y7DKK7.js.map} +1 -1
- package/dist/client/code-block.d.ts +3 -1
- package/dist/client/code-block.js +91 -16
- package/dist/client/code-block.js.map +1 -1
- package/dist/client/copy-button.d.ts +18 -0
- package/dist/client/copy-button.js +123 -0
- package/dist/client/copy-button.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/molecules/index.d.ts +3 -1
- package/dist/molecules/index.js +2 -2
- package/dist/organisms/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-WWOXGKLF.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Theme, applyStoredTheme, useTheme } from './tokens/index.js';
|
|
2
|
-
export { AccessIcon, AlertIcon, Avatar, AvatarSize, BackIcon, Badge, BadgeTone, BoxIcon, BuildingIcon, Button, ButtonOptions, ButtonSize, ButtonVariant, CONTROL, CONTROL_SIZES, CalendarIcon, CarIcon, Card, CardPadding, Checkbox, ChevronIcon, CloseIcon, Combobox, ComboboxOption, ControlSize, DashboardIcon, DatePicker, DateTimePicker, Divider, EyeIcon, EyeOffIcon, FaceIcon, FactoryIcon, FileUpload, FormAlert, FunnelIcon, GavelIcon, IconButton, IconButtonSize, IconSize, Input, InstagramIcon, Kbd, Label, Link, LinkTone, LogoutIcon, MailIcon, MoonIcon, MoreIcon, MultiSelect, MultiSelectOption, NumberInput, PasswordInput, PencilIcon, PhoneIcon, PinInput, PlansIcon, PlusIcon, ProgressBar, ProgressTone, Props, Radio, RangeDatePicker, SearchIcon, Segmented, SegmentedOption, Select, ShieldCheckIcon, Skeleton, Slider, Spinner, SpinnerSize, StaffIcon, StudentsIcon, SunIcon, Svg, Switch, Textarea, ThemeToggle, Thumb, TimePicker, TrashIcon, WhatsappIcon, buttonClass } from './atoms/index.js';
|
|
2
|
+
export { AccessIcon, AlertIcon, Avatar, AvatarSize, BADGE_TONES, BackIcon, Badge, BadgeTone, BoxIcon, BuildingIcon, Button, ButtonOptions, ButtonSize, ButtonVariant, CONTROL, CONTROL_SIZES, CalendarIcon, CarIcon, Card, CardPadding, CheckIcon, Checkbox, ChevronIcon, CloseIcon, Combobox, ComboboxOption, ControlSize, CopyButton, CopyIcon, DashboardIcon, DatePicker, DateTimePicker, Divider, EyeIcon, EyeOffIcon, FaceIcon, FactoryIcon, FileUpload, FormAlert, FunnelIcon, GavelIcon, IconButton, IconButtonSize, IconSize, Input, InstagramIcon, Kbd, Label, Link, LinkTone, LogoutIcon, MailIcon, MoonIcon, MoreIcon, MultiSelect, MultiSelectOption, NumberInput, PasswordInput, PencilIcon, PhoneIcon, PinInput, PlansIcon, PlusIcon, ProgressBar, ProgressTone, Props, Radio, RangeDatePicker, SearchIcon, Segmented, SegmentedOption, Select, ShieldCheckIcon, Skeleton, Slider, Spinner, SpinnerSize, StaffIcon, StudentsIcon, SunIcon, Svg, Switch, Tag, Textarea, ThemeToggle, Thumb, TimePicker, TrashIcon, WhatsappIcon, buttonClass } from './atoms/index.js';
|
|
3
3
|
export { Accordion, AccordionItem, Banner, BannerTone, Breadcrumb, Callout, CalloutTone, CardTitle, CodeBlock, CommandItem, CommandMenu, ConfirmDialog, Crumb, Drawer, DropdownMenu, Empty, Field, FilterBar, Gallery, ImagePreview, LoadError, Menu, MenuAlign, MenuItemOptions, MenuItemTone, MetricCard, Modal, PageHeader, Pagination, Snackbar, SnackbarStack, StatCard, Step, Stepper, Tab, Tabs, Toast, ToastTone, Tooltip, TooltipSide, TreeNode, TreeView, menuItemClass } from './molecules/index.js';
|
|
4
4
|
export { AreaChart, AreaPoint, Bar, BarChart, Column, DataTable, DonutChart, DonutDatum, GRID_ROW, KanbanBoard, KanbanCard, KanbanColumn, LineChart, Sparkline, Timeline, TimelineItem } from './organisms/index.js';
|
|
5
5
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { applyStoredTheme, useTheme } from './chunk-CGDYSB4G.js';
|
|
2
|
-
export { Accordion, Banner, Breadcrumb, Callout, CardTitle, CommandMenu, Drawer, DropdownMenu, Empty, Field, FilterBar, Gallery, ImagePreview, LoadError, Menu, MetricCard, PageHeader, Pagination, SnackbarStack, StatCard, Stepper, Tabs, Toast, Tooltip, TreeView, menuItemClass } from './chunk-
|
|
3
|
-
export { AreaChart, BarChart, DataTable, DonutChart, GRID_ROW, KanbanBoard, LineChart, Sparkline, Timeline } from './chunk-
|
|
4
|
-
export { AccessIcon, AlertIcon, Avatar, BackIcon, Badge, BoxIcon, BuildingIcon, Button, CONTROL, CONTROL_SIZES, CalendarIcon, CarIcon, Card, Checkbox, ChevronIcon, CloseIcon, Combobox, DashboardIcon, DateTimePicker, Divider, EyeIcon, EyeOffIcon, FaceIcon, FactoryIcon, FormAlert, FunnelIcon, GavelIcon, IconButton, Input, InstagramIcon, Kbd, Label, Link, LogoutIcon, MailIcon, MoonIcon, MoreIcon, PasswordInput, PencilIcon, PhoneIcon, PlansIcon, PlusIcon, ProgressBar, Radio, RangeDatePicker, SearchIcon, Segmented, Select, ShieldCheckIcon, Skeleton, Slider, Spinner, StaffIcon, StudentsIcon, SunIcon, Svg, Switch, Textarea, ThemeToggle, Thumb, TrashIcon, WhatsappIcon, buttonClass } from './chunk-
|
|
2
|
+
export { Accordion, Banner, Breadcrumb, Callout, CardTitle, CommandMenu, Drawer, DropdownMenu, Empty, Field, FilterBar, Gallery, ImagePreview, LoadError, Menu, MetricCard, PageHeader, Pagination, SnackbarStack, StatCard, Stepper, Tabs, Toast, Tooltip, TreeView, menuItemClass } from './chunk-W4Y7DKK7.js';
|
|
3
|
+
export { AreaChart, BarChart, DataTable, DonutChart, GRID_ROW, KanbanBoard, LineChart, Sparkline, Timeline } from './chunk-M2CFFNC3.js';
|
|
4
|
+
export { AccessIcon, AlertIcon, Avatar, BADGE_TONES, BackIcon, Badge, BoxIcon, BuildingIcon, Button, CONTROL, CONTROL_SIZES, CalendarIcon, CarIcon, Card, CheckIcon, Checkbox, ChevronIcon, CloseIcon, Combobox, CopyIcon, DashboardIcon, DateTimePicker, Divider, EyeIcon, EyeOffIcon, FaceIcon, FactoryIcon, FormAlert, FunnelIcon, GavelIcon, IconButton, Input, InstagramIcon, Kbd, Label, Link, LogoutIcon, MailIcon, MoonIcon, MoreIcon, PasswordInput, PencilIcon, PhoneIcon, PlansIcon, PlusIcon, ProgressBar, Radio, RangeDatePicker, SearchIcon, Segmented, Select, ShieldCheckIcon, Skeleton, Slider, Spinner, StaffIcon, StudentsIcon, SunIcon, Svg, Switch, Tag, Textarea, ThemeToggle, Thumb, TrashIcon, WhatsappIcon, buttonClass } from './chunk-KG5YKCFX.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -59,9 +59,11 @@ declare function CardTitle({ children, hint }: {
|
|
|
59
59
|
hint?: ReactNode;
|
|
60
60
|
}): react.JSX.Element;
|
|
61
61
|
|
|
62
|
-
declare function CodeBlock({ code, language, className, }: {
|
|
62
|
+
declare function CodeBlock({ code, language, copyLabel, copiedLabel, className, }: {
|
|
63
63
|
code: string;
|
|
64
64
|
language?: string;
|
|
65
|
+
copyLabel?: string;
|
|
66
|
+
copiedLabel?: string;
|
|
65
67
|
className?: string;
|
|
66
68
|
}): react.JSX.Element;
|
|
67
69
|
|
package/dist/molecules/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Accordion, Banner, Breadcrumb, Callout, CardTitle, CommandMenu, Drawer, DropdownMenu, Empty, Field, FilterBar, Gallery, ImagePreview, LoadError, Menu, MetricCard, PageHeader, Pagination, SnackbarStack, StatCard, Stepper, Tabs, Toast, Tooltip, TreeView, menuItemClass } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { Accordion, Banner, Breadcrumb, Callout, CardTitle, CommandMenu, Drawer, DropdownMenu, Empty, Field, FilterBar, Gallery, ImagePreview, LoadError, Menu, MetricCard, PageHeader, Pagination, SnackbarStack, StatCard, Stepper, Tabs, Toast, Tooltip, TreeView, menuItemClass } from '../chunk-W4Y7DKK7.js';
|
|
2
|
+
import '../chunk-KG5YKCFX.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/organisms/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AreaChart, BarChart, DataTable, DonutChart, GRID_ROW, KanbanBoard, LineChart, Sparkline, Timeline } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { AreaChart, BarChart, DataTable, DonutChart, GRID_ROW, KanbanBoard, LineChart, Sparkline, Timeline } from '../chunk-M2CFFNC3.js';
|
|
2
|
+
import '../chunk-KG5YKCFX.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/atoms/avatar/index.tsx","../src/atoms/badge/index.tsx","../src/atoms/button/button-style.ts","../src/atoms/button/button/index.tsx","../src/atoms/card/index.tsx","../src/atoms/checkbox/index.tsx","../src/atoms/combobox/index.tsx","../src/atoms/date-time-picker/locales.ts","../src/atoms/date-time-picker/index.tsx","../src/atoms/divider/index.tsx","../src/atoms/form-alert/index.tsx","../src/atoms/icon/svg/index.tsx","../src/atoms/icon/access-icon/index.tsx","../src/atoms/icon/alert-icon/index.tsx","../src/atoms/icon/back-icon/index.tsx","../src/atoms/icon/box-icon/index.tsx","../src/atoms/icon/building-icon/index.tsx","../src/atoms/icon/calendar-icon/index.tsx","../src/atoms/icon/car-icon/index.tsx","../src/atoms/icon/chevron-icon/index.tsx","../src/atoms/icon/close-icon/index.tsx","../src/atoms/icon/dashboard-icon/index.tsx","../src/atoms/icon/eye-icon/index.tsx","../src/atoms/icon/eye-off-icon/index.tsx","../src/atoms/icon/face-icon/index.tsx","../src/atoms/icon/factory-icon/index.tsx","../src/atoms/icon/funnel-icon/index.tsx","../src/atoms/icon/gavel-icon/index.tsx","../src/atoms/icon/instagram-icon/index.tsx","../src/atoms/icon/logout-icon/index.tsx","../src/atoms/icon/mail-icon/index.tsx","../src/atoms/icon/moon-icon/index.tsx","../src/atoms/icon/pencil-icon/index.tsx","../src/atoms/icon/phone-icon/index.tsx","../src/atoms/icon/plans-icon/index.tsx","../src/atoms/icon/plus-icon/index.tsx","../src/atoms/icon/search-icon/index.tsx","../src/atoms/icon/shield-check-icon/index.tsx","../src/atoms/icon/staff-icon/index.tsx","../src/atoms/icon/students-icon/index.tsx","../src/atoms/icon/sun-icon/index.tsx","../src/atoms/icon/trash-icon/index.tsx","../src/atoms/icon/whatsapp-icon/index.tsx","../src/atoms/icon-button/index.tsx","../src/atoms/input/control.ts","../src/atoms/input/input/index.tsx","../src/atoms/input/select/index.tsx","../src/atoms/input/textarea/index.tsx","../src/atoms/kbd/index.tsx","../src/atoms/label/index.tsx","../src/atoms/link/index.tsx","../src/atoms/more-icon/index.tsx","../src/atoms/progress-bar/index.tsx","../src/atoms/range-date-picker/locales.ts","../src/atoms/range-date-picker/index.tsx","../src/atoms/radio/index.tsx","../src/atoms/segmented/index.tsx","../src/atoms/skeleton/index.tsx","../src/atoms/slider/index.tsx","../src/atoms/spinner/locales.ts","../src/atoms/spinner/index.tsx","../src/atoms/switch/index.tsx","../src/atoms/thumb/index.tsx"],"names":["jsx","SIZES","jsxs","TONES","locales","DatePicker"],"mappings":"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","file":"chunk-WWOXGKLF.js","sourcesContent":["function initials(name: string): string {\n const parts = name.trim().split(/\\s+/);\n const first = parts[0]?.[0] ?? \"\";\n const last = parts.length > 1 ? (parts[parts.length - 1][0] ?? \"\") : \"\";\n return (first + last).toUpperCase();\n}\n\nconst SIZES = {\n sm: \"size-8 text-xs\",\n md: \"size-10 text-sm\",\n lg: \"size-12 text-base\",\n} as const;\n\nexport type AvatarSize = keyof typeof SIZES;\n\nexport function Avatar({\n name,\n size = \"md\",\n label = name,\n}: {\n name: string;\n size?: AvatarSize;\n label?: string;\n}) {\n return (\n <span\n aria-label={label}\n className={`flex shrink-0 items-center justify-center rounded-md bg-raised font-medium text-ink-muted ${SIZES[size]}`}\n role=\"img\"\n >\n {initials(name)}\n </span>\n );\n}\n","import type { ReactNode } from \"react\";\n\nconst TONES = {\n neutral: \"bg-raised text-ink-soft\",\n accent: \"bg-accent-soft text-accent-ink\",\n ok: \"bg-ok-soft text-ok\",\n warn: \"bg-warn-soft text-warn\",\n danger: \"bg-danger-soft text-danger\",\n info: \"bg-info-soft text-info\",\n} as const;\n\nexport type BadgeTone = keyof typeof TONES;\n\nexport function Badge({\n tone = \"neutral\",\n children,\n className = \"\",\n}: {\n tone?: BadgeTone;\n children: ReactNode;\n className?: string;\n}) {\n return (\n <span\n className={`inline-flex items-center gap-1 rounded-xs px-2 py-0.5 text-2xs font-medium ${TONES[tone]} ${className}`}\n >\n {children}\n </span>\n );\n}\n","export type ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\" | \"icon\" | \"icon-sm\";\n\nconst VARIANTS: Record<ButtonVariant, string> = {\n primary: \"bg-accent font-medium text-on-accent hover:bg-accent-ink\",\n secondary: \"border border-line-strong hover:bg-raised\",\n ghost: \"text-ink-muted hover:bg-raised hover:text-ink-soft\",\n danger: \"border border-danger/50 text-danger hover:bg-danger-soft\",\n};\n\nconst SIZES: Record<ButtonSize, string> = {\n sm: \"gap-2 px-3 py-2 text-xs\",\n md: \"gap-2 px-4 py-3 text-sm\",\n lg: \"gap-2 px-4 py-4 text-base\",\n icon: \"h-10 w-10 shrink-0\",\n \"icon-sm\": \"h-8 w-8 shrink-0\",\n};\n\nconst BASE =\n \"inline-flex touch-manipulation select-none items-center justify-center rounded-md transition-[background-color,border-color,color,box-shadow,transform] duration-(--duration-fast) ease-out active:scale-95\" +\n \" focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent focus-visible:ring-2 focus-visible:ring-accent/30\" +\n \" disabled:pointer-events-none disabled:opacity-50\";\n\nexport type ButtonOptions = {\n variant?: ButtonVariant;\n size?: ButtonSize;\n className?: string;\n};\n\nexport function buttonClass({\n variant = \"secondary\",\n size = \"md\",\n className = \"\",\n}: ButtonOptions = {}) {\n return `${BASE} ${VARIANTS[variant]} ${SIZES[size]} ${className}`;\n}\n","import type { ComponentProps } from \"react\";\n\nimport { buttonClass, type ButtonOptions } from \"../button-style\";\n\nexport function Button({\n variant,\n size,\n className,\n ...props\n}: ButtonOptions & ComponentProps<\"button\">) {\n return <button type=\"button\" {...props} className={buttonClass({ variant, size, className })} />;\n}\n","import type { ReactNode } from \"react\";\n\nconst PADDINGS = {\n none: \"\",\n sm: \"p-4\",\n md: \"p-5\",\n lg: \"p-6\",\n} as const;\n\nexport type CardPadding = keyof typeof PADDINGS;\n\nexport function Card({\n children,\n padding = \"md\",\n className = \"\",\n}: {\n children: ReactNode;\n padding?: CardPadding;\n className?: string;\n}) {\n return (\n <div className={`rounded-md border border-line bg-surface ${PADDINGS[padding]} ${className}`}>\n {children}\n </div>\n );\n}\n","import type { ComponentProps, ReactNode } from \"react\";\n\nexport function Checkbox({\n label,\n className = \"\",\n ...props\n}: { label?: ReactNode; className?: string } & ComponentProps<\"input\">) {\n return (\n <label className={`inline-flex min-h-10 items-center gap-3 text-sm text-ink-soft ${className}`}>\n <input\n {...props}\n className=\"size-5 shrink-0 accent-accent focus-visible:ring-2 focus-visible:ring-accent/30 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent\"\n type=\"checkbox\"\n />\n {label ? <span>{label}</span> : null}\n </label>\n );\n}\n","import type { ChangeEvent, ComponentProps } from \"react\";\n\nexport type ComboboxOption = { value: string; label: string };\n\nexport function Combobox({\n options,\n onValueChange,\n className = \"\",\n ...props\n}: {\n options: readonly ComboboxOption[];\n onValueChange?: (value: string) => void;\n className?: string;\n} & ComponentProps<\"input\">) {\n const listId = `${props.id ?? props.name ?? \"combobox\"}-options`;\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n onValueChange?.(event.target.value);\n }\n\n return (\n <>\n <input\n {...props}\n className={`w-full min-w-0 rounded-md border border-line-strong bg-field px-4 py-3 text-base text-ink transition-[background-color,border-color,box-shadow] duration-(--duration-fast) ease-out outline-none focus:border-accent focus:ring-2 focus:ring-accent/30 sm:text-sm ${className}`}\n list={listId}\n onChange={handleChange}\n />\n <datalist id={listId}>\n {options.map((option) => (\n <option key={option.value} label={option.label} value={option.value} />\n ))}\n </datalist>\n </>\n );\n}\n","export const locales = { date: \"Date\", time: \"Time\" };\n","import { DatePicker } from \"../date-picker\";\nimport { TimePicker } from \"../time-picker\";\nimport { locales } from \"./locales\";\n\nexport function DateTimePicker({\n date,\n time,\n onDateChange,\n onTimeChange,\n className = \"\",\n}: {\n date?: string;\n time?: string;\n onDateChange?: (value: string) => void;\n onTimeChange?: (value: string) => void;\n className?: string;\n}) {\n return (\n <div className={`grid gap-3 sm:grid-cols-[1.4fr_1fr] ${className}`}>\n <DatePicker aria-label={locales.date} onValueChange={onDateChange} value={date} />\n <TimePicker aria-label={locales.time} onValueChange={onTimeChange} value={time} />\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function Divider({\n children,\n vertical = false,\n className = \"\",\n}: {\n children?: ReactNode;\n vertical?: boolean;\n className?: string;\n}) {\n if (vertical) {\n return <div aria-hidden=\"true\" className={`w-px self-stretch bg-line ${className}`} />;\n }\n\n if (!children) {\n return <hr className={`h-px border-0 bg-line ${className}`} />;\n }\n\n return (\n <div className={`flex items-center gap-3 ${className}`}>\n <span aria-hidden=\"true\" className=\"h-px flex-1 bg-line\" />\n <span className=\"text-2xs font-medium tracking-caps text-ink-dim uppercase\">{children}</span>\n <span aria-hidden=\"true\" className=\"h-px flex-1 bg-line\" />\n </div>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function FormAlert({\n className = \"\",\n children,\n}: {\n className?: string;\n children: ReactNode;\n}) {\n return (\n <p\n role=\"alert\"\n className={`rounded-md bg-danger-soft px-3 py-2 text-sm text-danger ${className}`}\n >\n {children}\n </p>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport type IconSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n\nconst SIZES: Record<IconSize, string> = {\n sm: \"h-3 w-3\",\n md: \"h-4 w-4\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\",\n \"2xl\": \"h-8 w-8\",\n};\n\nexport type Props = { size?: IconSize; className?: string };\n\nexport function Svg({ size = \"md\", className = \"\", children }: Props & { children: ReactNode }) {\n return (\n <svg\n className={`${SIZES[size]} shrink-0 ${className}`}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n {children}\n </svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function AccessIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M4 8V5.5A1.5 1.5 0 0 1 5.5 4H8\" />\n <path d=\"M16 4h2.5A1.5 1.5 0 0 1 20 5.5V8\" />\n <path d=\"M20 16v2.5a1.5 1.5 0 0 1-1.5 1.5H16\" />\n <path d=\"M8 20H5.5A1.5 1.5 0 0 1 4 18.5V16\" />\n <path d=\"M4 12h16\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function AlertIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M12 8.5v5\" />\n <path d=\"M12 16.7h.01\" />\n <path d=\"M10.3 3.9 2.6 17.4A1.9 1.9 0 0 0 4.3 20.3h15.4a1.9 1.9 0 0 0 1.7-2.9L13.7 3.9a1.9 1.9 0 0 0-3.4 0Z\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function BackIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"m14 6-6 6 6 6\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function BoxIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M20.5 8.2v7.6a1.6 1.6 0 0 1-.8 1.4l-6.9 3.8a1.6 1.6 0 0 1-1.6 0l-6.9-3.8a1.6 1.6 0 0 1-.8-1.4V8.2\" />\n <path d=\"m3.9 7.3 7.3-4a1.6 1.6 0 0 1 1.6 0l7.3 4a1 1 0 0 1 0 1.7l-7.3 4a1.6 1.6 0 0 1-1.6 0l-7.3-4a1 1 0 0 1 0-1.7Z\" />\n <path d=\"M12 12.8v8\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function BuildingIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M4.5 20.5V5a1.5 1.5 0 0 1 1.5-1.5h7A1.5 1.5 0 0 1 14.5 5v15.5\" />\n <path d=\"M14.5 10h4A1.5 1.5 0 0 1 20 11.5v9\" />\n <path d=\"M3 20.5h18M7.5 7.5h4M7.5 11h4M7.5 14.5h4M7.5 18h4\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function CalendarIcon(p: Props) {\n return (\n <Svg {...p}>\n <rect x=\"3.5\" y=\"5\" width=\"17\" height=\"16\" rx=\"2.5\" />\n <path d=\"M3.5 10h17M8 3.5v3M16 3.5v3\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function CarIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M3 13.5 5 8a2 2 0 0 1 1.9-1.4h10.2A2 2 0 0 1 19 8l2 5.5\" />\n <path d=\"M2.5 13.5h19v4a1 1 0 0 1-1 1h-17a1 1 0 0 1-1-1Z\" />\n <path d=\"M6 18.5v2M18 18.5v2M6 16h1.5M16.5 16H18\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function ChevronIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"m6 9 6 6 6-6\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function CloseIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M6 6l12 12M18 6 6 18\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function DashboardIcon(p: Props) {\n return (\n <Svg {...p}>\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function EyeIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function EyeOffIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M9.9 5.8A9.3 9.3 0 0 1 12 5.5c6 0 9.5 6.5 9.5 6.5a17 17 0 0 1-3.3 4.1\" />\n <path d=\"M6.4 7.6A17 17 0 0 0 2.5 12S6 18.5 12 18.5a9.5 9.5 0 0 0 3.7-.7\" />\n <path d=\"M10 10a2.8 2.8 0 0 0 4 4\" />\n <path d=\"m4 4 16 16\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function FaceIcon(p: Props) {\n return (\n <Svg {...p}>\n <circle cx=\"12\" cy=\"9.5\" r=\"3.6\" />\n <path d=\"M4.5 20c0-3.6 3.4-5.6 7.5-5.6s7.5 2 7.5 5.6\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function FactoryIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M2.5 20.5V11l6 3.5V11l6 3.5V6.5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v14Z\" />\n <path d=\"M2 20.5h20\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function FunnelIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M3 5h18l-7 8v6l-4 2v-8z\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function GavelIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"m13.4 6.6 4 4\" />\n <path d=\"M15.9 2.9a2 2 0 0 1 2.8 0l2.4 2.4a2 2 0 0 1 0 2.8l-2 2a2 2 0 0 1-2.8 0l-2.4-2.4a2 2 0 0 1 0-2.8Z\" />\n <path d=\"m14.2 9.8-7.6 7.6a2 2 0 0 0 0 2.8 2 2 0 0 0 2.8 0l7.6-7.6\" />\n <path d=\"M3.5 21.5h7\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function InstagramIcon(p: Props) {\n return (\n <Svg {...p}>\n <rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"4.5\" />\n <circle cx=\"12\" cy=\"12\" r=\"3.8\" />\n <path d=\"M17 7h.01\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function LogoutIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M9 4.5H6A1.5 1.5 0 0 0 4.5 6v12A1.5 1.5 0 0 0 6 19.5h3\" />\n <path d=\"M15.5 15.5 19.5 12l-4-3.5M19 12H9.5\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function MailIcon(p: Props) {\n return (\n <Svg {...p}>\n <rect x=\"2.5\" y=\"4.5\" width=\"19\" height=\"15\" rx=\"2.5\" />\n <path d=\"m3.5 7 7.4 5.2a2 2 0 0 0 2.2 0L20.5 7\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function MoonIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M20 14.2A8.2 8.2 0 0 1 9.8 4a8.2 8.2 0 1 0 10.2 10.2Z\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function PencilIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M4 20h4l10-10a2.8 2.8 0 0 0-4-4L4 16v4Z\" />\n <path d=\"M13.5 6.5l4 4\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function PhoneIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M8.4 3.5H5.2a1.9 1.9 0 0 0-1.9 2.1c.4 3.7 1.8 7.2 4.1 10.1a19 19 0 0 0 5.9 5.1 1.9 1.9 0 0 0 2.6-.7l1.4-2.3a1.9 1.9 0 0 0-.6-2.5l-2.2-1.4-2.3 2.3a14 14 0 0 1-3.9-3.9l2.3-2.3-1.4-2.2a1.9 1.9 0 0 0-1.6-.9Z\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function PlansIcon(p: Props) {\n return (\n <Svg {...p}>\n <rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2.5\" />\n <path d=\"M2.5 10h19\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function PlusIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M12 5v14M5 12h14\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function SearchIcon(p: Props) {\n return (\n <Svg {...p}>\n <circle cx=\"11\" cy=\"11\" r=\"6.5\" />\n <path d=\"m16 16 4.5 4.5\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function ShieldCheckIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M12 2.8 4.5 5.9v5.6c0 4.4 3.1 8.5 7.5 9.7 4.4-1.2 7.5-5.3 7.5-9.7V5.9Z\" />\n <path d=\"m9 11.8 2.2 2.2 4-4\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function StaffIcon(p: Props) {\n return (\n <Svg {...p}>\n <rect x=\"2.5\" y=\"4.5\" width=\"19\" height=\"15\" rx=\"2.5\" />\n <circle cx=\"8.5\" cy=\"10.5\" r=\"2.2\" />\n <path d=\"M5 16.4c0-1.7 1.6-2.6 3.5-2.6s3.5.9 3.5 2.6\" />\n <path d=\"M15 10h4\" />\n <path d=\"M15 14h4\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function StudentsIcon(p: Props) {\n return (\n <Svg {...p}>\n <circle cx=\"9\" cy=\"8\" r=\"3.2\" />\n <path d=\"M3.5 19c0-3 2.5-4.6 5.5-4.6s5.5 1.6 5.5 4.6\" />\n <path d=\"M16.5 6.6a3 3 0 0 1 0 5.6\" />\n <path d=\"M18 14.6c2 .6 3.2 2 3.2 4.4\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function SunIcon(p: Props) {\n return (\n <Svg {...p}>\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M12 2.5v2M12 19.5v2M4.6 4.6l1.4 1.4M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function TrashIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M5 7h14\" />\n <path d=\"M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\" />\n <path d=\"M7 7l1 13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1l1-13\" />\n <path d=\"M10 11v6\" />\n <path d=\"M14 11v6\" />\n </Svg>\n );\n}\n","import { Svg, type Props } from \"../svg\";\n\nexport function WhatsappIcon(p: Props) {\n return (\n <Svg {...p}>\n <path d=\"M3.4 20.6 4.7 16a8.2 8.2 0 1 1 3.3 3.2Z\" />\n <path d=\"M9 9.2c0 3 2.3 5.4 5.2 5.5.7 0 1.3-.5 1.4-1.2l-2-1-.8.9a5 5 0 0 1-2.2-2.3l.9-.8-1-2c-.7.1-1.2.7-1.2 1.4Z\" />\n </Svg>\n );\n}\n","import type { ComponentProps } from \"react\";\n\nimport { buttonClass, type ButtonVariant } from \"../button\";\n\nexport type IconButtonSize = \"icon\" | \"icon-sm\";\n\nexport function IconButton({\n label,\n variant = \"ghost\",\n size = \"icon\",\n className,\n ...props\n}: {\n label: string;\n variant?: ButtonVariant;\n size?: IconButtonSize;\n} & Omit<ComponentProps<\"button\">, \"aria-label\" | \"size\">) {\n return (\n <button\n type=\"button\"\n {...props}\n aria-label={label}\n title={label}\n className={buttonClass({ variant, size, className })}\n />\n );\n}\n","export const CONTROL =\n \"w-full min-w-0 rounded-md border border-line-strong bg-field text-base text-ink sm:text-sm\" +\n \" outline-none transition-[background-color,border-color,box-shadow] duration-(--duration-fast) ease-out focus:border-accent focus:ring-2 focus:ring-accent/30 aria-invalid:border-danger aria-invalid:ring-2 aria-invalid:ring-danger/20\";\n\nexport const CONTROL_SIZES = {\n md: \"px-4 py-3\",\n sm: \"px-3 py-2\",\n} as const;\n\nexport type ControlSize = keyof typeof CONTROL_SIZES;\n","import type { ComponentProps } from \"react\";\n\nimport { CONTROL, CONTROL_SIZES, type ControlSize } from \"../control\";\n\nexport function Input({\n size = \"md\",\n className = \"\",\n ...props\n}: { size?: ControlSize } & Omit<ComponentProps<\"input\">, \"size\">) {\n return <input {...props} className={`${CONTROL} ${CONTROL_SIZES[size]} ${className}`} />;\n}\n","import type { ComponentProps } from \"react\";\n\nimport { ChevronIcon } from \"../../icon\";\nimport { CONTROL, CONTROL_SIZES, type ControlSize } from \"../control\";\n\nexport function Select({\n size = \"md\",\n className = \"\",\n ...props\n}: { size?: ControlSize } & Omit<ComponentProps<\"select\">, \"size\">) {\n return (\n <span className=\"relative block\">\n <select\n {...props}\n className={`${CONTROL} ${CONTROL_SIZES[size]} appearance-none pr-10 ${className}`}\n />\n <ChevronIcon\n className=\"pointer-events-none absolute top-1/2 right-4 -translate-y-1/2 text-ink-muted\"\n size=\"md\"\n />\n </span>\n );\n}\n","import type { ComponentProps } from \"react\";\n\nimport { CONTROL, CONTROL_SIZES, type ControlSize } from \"../control\";\n\nexport function Textarea({\n size = \"md\",\n rows = 4,\n className = \"\",\n ...props\n}: { size?: ControlSize } & Omit<ComponentProps<\"textarea\">, \"size\">) {\n return (\n <textarea\n {...props}\n rows={rows}\n className={`${CONTROL} ${CONTROL_SIZES[size]} resize-y ${className}`}\n />\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function Kbd({ children, className = \"\" }: { children: ReactNode; className?: string }) {\n return (\n <kbd\n className={`inline-flex min-w-6 items-center justify-center rounded-xs border border-line-strong bg-raised px-1 py-0.5 font-mono text-2xs text-ink-soft ${className}`}\n >\n {children}\n </kbd>\n );\n}\n","import type { ReactNode } from \"react\";\n\nconst TONES = {\n muted: \"text-ink-muted\",\n dim: \"text-ink-dim\",\n accent: \"text-accent-ink\",\n} as const;\n\nexport function Label({\n children,\n tone = \"muted\",\n className = \"\",\n}: {\n children: ReactNode;\n tone?: keyof typeof TONES;\n className?: string;\n}) {\n return <span className={`text-2xs tracking-caps ${TONES[tone]} ${className}`}>{children}</span>;\n}\n","import type { ComponentProps } from \"react\";\n\nconst TONES = {\n accent: \"text-accent-ink decoration-accent/40 hover:decoration-accent\",\n ink: \"text-ink decoration-line-strong hover:decoration-ink-muted\",\n muted: \"text-ink-muted decoration-line hover:text-ink-soft hover:decoration-line-strong\",\n} as const;\n\nexport type LinkTone = keyof typeof TONES;\n\nexport function Link({\n tone = \"accent\",\n className = \"\",\n ...props\n}: { tone?: LinkTone } & ComponentProps<\"a\">) {\n return (\n <a\n {...props}\n className={`rounded-xs underline decoration-1 underline-offset-4 transition-colors duration-(--duration-fast) ease-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ${TONES[tone]} ${className}`}\n />\n );\n}\n","import { Svg } from \"../icon\";\n\nexport function MoreIcon() {\n return (\n <Svg size=\"lg\">\n <circle cx=\"12\" cy=\"5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"19\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n </Svg>\n );\n}\n","export type ProgressTone = \"accent\" | \"ok\" | \"warn\" | \"danger\";\n\nconst FILL: Record<ProgressTone, string> = {\n accent: \"bg-accent\",\n ok: \"bg-ok\",\n warn: \"bg-warn\",\n danger: \"bg-danger\",\n};\n\nconst HEIGHTS = { md: \"h-2\", xs: \"h-1\" } as const;\n\nexport function ProgressBar({\n value,\n tone = \"accent\",\n size = \"md\",\n dim = false,\n label,\n className = \"\",\n}: {\n value: number;\n tone?: ProgressTone;\n size?: keyof typeof HEIGHTS;\n dim?: boolean;\n label?: string;\n className?: string;\n}) {\n const pct = Math.max(0, Math.min(1, value)) * 100;\n\n return (\n <div\n aria-label={label}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={pct}\n className={`${HEIGHTS[size]} overflow-hidden rounded-full bg-raised ${className}`}\n role=\"progressbar\"\n >\n <div\n className={`h-full origin-left rounded-full transition-transform duration-(--duration-base) ease-out ${FILL[tone]} ${dim ? \"opacity-45\" : \"\"}`}\n style={{ transform: `scaleX(${pct / 100})` }}\n />\n </div>\n );\n}\n","export const locales = { start: \"Start date\", end: \"End date\" };\n","import { DatePicker } from \"../date-picker\";\nimport { locales } from \"./locales\";\n\nexport function RangeDatePicker({\n start,\n end,\n onStartChange,\n onEndChange,\n className = \"\",\n}: {\n start?: string;\n end?: string;\n onStartChange?: (value: string) => void;\n onEndChange?: (value: string) => void;\n className?: string;\n}) {\n return (\n <div className={`grid gap-3 sm:grid-cols-2 ${className}`}>\n <DatePicker aria-label={locales.start} onValueChange={onStartChange} value={start} />\n <DatePicker aria-label={locales.end} onValueChange={onEndChange} value={end} />\n </div>\n );\n}\n","import type { ComponentProps, ReactNode } from \"react\";\n\nexport function Radio({\n label,\n className = \"\",\n ...props\n}: { label?: ReactNode; className?: string } & ComponentProps<\"input\">) {\n return (\n <label className={`inline-flex min-h-10 items-center gap-3 text-sm text-ink-soft ${className}`}>\n <input\n {...props}\n className=\"size-5 shrink-0 accent-accent focus-visible:ring-2 focus-visible:ring-accent/30 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent\"\n type=\"radio\"\n />\n {label ? <span>{label}</span> : null}\n </label>\n );\n}\n","import type { ChangeEvent, ReactNode } from \"react\";\n\nexport type SegmentedOption<T extends string> = {\n value: T;\n label: ReactNode;\n disabled?: boolean;\n};\n\nexport function Segmented<T extends string>({\n name,\n options,\n value,\n defaultValue,\n onValueChange,\n label,\n className = \"\",\n}: {\n name: string;\n options: readonly SegmentedOption<T>[];\n value?: T;\n defaultValue?: T;\n onValueChange?: (value: T) => void;\n label?: string;\n className?: string;\n}) {\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n onValueChange?.(event.target.value as T);\n }\n\n return (\n <div\n role=\"group\"\n aria-label={label}\n className={`inline-flex gap-1 rounded-md border border-line bg-panel p-1 ${className}`}\n >\n {options.map((option) => (\n <label\n key={option.value}\n className=\"relative inline-flex min-h-8 cursor-pointer items-center justify-center rounded-sm px-3 text-xs text-ink-muted transition-colors duration-(--duration-fast) ease-out select-none not-has-checked:hover:bg-raised not-has-checked:hover:text-ink-soft has-checked:bg-accent has-checked:font-medium has-checked:text-on-accent has-focus-visible:outline-2 has-focus-visible:outline-offset-2 has-focus-visible:outline-accent has-disabled:cursor-not-allowed has-disabled:opacity-50\"\n >\n <input\n className=\"absolute size-0 opacity-0\"\n type=\"radio\"\n name={name}\n value={option.value}\n disabled={option.disabled}\n checked={value === undefined ? undefined : value === option.value}\n defaultChecked={value === undefined ? defaultValue === option.value : undefined}\n onChange={handleChange}\n />\n {option.label}\n </label>\n ))}\n </div>\n );\n}\n","export function Skeleton({ className = \"\" }: { className?: string }) {\n return <div className={`animate-pulse rounded-sm bg-raised ${className}`} />;\n}\n","import type { ComponentProps } from \"react\";\n\nexport function Slider({ className = \"\", ...props }: ComponentProps<\"input\">) {\n return (\n <input\n {...props}\n className={`h-6 w-full cursor-grab touch-manipulation bg-transparent accent-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent active:cursor-grabbing disabled:cursor-not-allowed disabled:opacity-50 ${className}`}\n type=\"range\"\n />\n );\n}\n","export const locales = {\n label: \"Loading\",\n};\n","import { locales } from \"./locales\";\n\nconst SIZES = {\n sm: \"h-3 w-3\",\n md: \"h-4 w-4\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\",\n \"2xl\": \"h-8 w-8\",\n} as const;\n\nexport type SpinnerSize = keyof typeof SIZES;\n\nexport function Spinner({\n size = \"md\",\n label = locales.label,\n className = \"\",\n}: {\n size?: SpinnerSize;\n label?: string;\n className?: string;\n}) {\n return (\n <svg\n className={`${SIZES[size]} shrink-0 animate-spin ${className}`}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n role=\"status\"\n aria-label={label}\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" strokeWidth=\"2.4\" opacity=\"0.2\" />\n <path\n d=\"M21 12a9 9 0 0 0-9-9\"\n stroke=\"currentColor\"\n strokeWidth=\"2.4\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function Switch({\n checked,\n onCheckedChange,\n label,\n disabled = false,\n className = \"\",\n}: {\n checked: boolean;\n onCheckedChange: (checked: boolean) => void;\n label?: ReactNode;\n disabled?: boolean;\n className?: string;\n}) {\n return (\n <label className={`inline-flex min-h-10 items-center gap-3 text-sm text-ink-soft ${className}`}>\n <button\n aria-checked={checked}\n className={`relative h-6 w-10 shrink-0 rounded-full transition-colors duration-(--duration-fast) ease-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent disabled:opacity-50 ${\n checked ? \"bg-accent\" : \"bg-raised\"\n }`}\n disabled={disabled}\n onClick={() => onCheckedChange(!checked)}\n role=\"switch\"\n type=\"button\"\n >\n <span\n className={`absolute top-1 left-1 size-4 rounded-full transition-[background-color,transform] duration-(--duration-fast) ease-out ${\n checked ? \"translate-x-4 bg-on-accent\" : \"translate-x-0 bg-ink\"\n }`}\n />\n </button>\n {label ? <span>{label}</span> : null}\n </label>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function Thumb({\n src,\n alt,\n fallback,\n className = \"\",\n}: {\n src?: string | null;\n alt: string;\n fallback?: ReactNode;\n className?: string;\n}) {\n return (\n <div\n className={`flex aspect-[4/3] items-center justify-center overflow-hidden rounded-md bg-raised text-ink-dim ${className}`}\n >\n {src ? (\n <img src={src} alt={alt} loading=\"lazy\" className=\"h-full w-full object-cover\" />\n ) : (\n fallback\n )}\n </div>\n );\n}\n"]}
|