@intent-driven/adapter-shadcn 0.1.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/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +82 -0
- package/dist/index.cjs +676 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +136 -0
- package/dist/index.d.ts +136 -0
- package/dist/index.mjs +709 -0
- package/dist/index.mjs.map +1 -0
- package/dist/theme.css +82 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js","../src/adapter.jsx","../src/provider.jsx"],"sourcesContent":["export { shadcnAdapter } from \"./adapter.jsx\";\nexport { ShadcnAdapterProvider } from \"./provider.jsx\";\n","/**\n * shadcn/ui адаптер — doodle-стилистика для lifequest.\n * Заменяет Mantine-адаптер через registerUIAdapter(shadcnAdapter).\n * Все компоненты стилизованы через Tailwind + doodle CSS variables.\n */\nimport * as React from \"react\";\nimport * as Dialog from \"@radix-ui/react-dialog\";\nimport * as DropdownMenu from \"@radix-ui/react-dropdown-menu\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { clsx } from \"clsx\";\nimport {\n Pencil, Trash2, Plus, Check, X, MoreHorizontal, Search,\n ChevronDown, Pin, PinOff, Reply, Send, Star, Bell, BellOff,\n Archive, Copy, Eye, Lock, Unlock, Settings, User, LogOut,\n Play, Square, Save, Download, Upload, RefreshCw, Filter,\n Calendar, Clock, Heart, ThumbsUp, ThumbsDown, Flag,\n MessageSquare, Phone, Video, Mic, MicOff, Volume2, VolumeX,\n Link, Unlink, Move, Maximize2, AlertTriangle, Info, HelpCircle,\n ArrowRight, ArrowLeft, Home, Target, Award, TrendingUp,\n Flame, Zap, BookOpen, Dumbbell, DollarSign, Briefcase, Users,\n Smile, Palette, Umbrella, Globe, Compass, CheckSquare,\n} from \"lucide-react\";\nimport \"./theme.css\";\n\n// ─── EMOJI → LUCIDE ───\n\nconst EMOJI_TO_LUCIDE = {\n \"✎\": Pencil, \"✏️\": Pencil, \"🗑\": Trash2, \"🗑️\": Trash2,\n \"➕\": Plus, \"+\": Plus, \"✓\": Check, \"✔\": Check, \"✔️\": Check,\n \"✕\": X, \"✗\": X, \"❌\": X, \"⋯\": MoreHorizontal, \"…\": MoreHorizontal,\n \"🔍\": Search, \"📌\": Pin, \"📍\": Pin, \"↩\": Reply, \"↩️\": Reply,\n \"📤\": Send, \"⭐\": Star, \"🔔\": Bell, \"🔕\": BellOff,\n \"📦\": Archive, \"📋\": Copy, \"👁\": Eye, \"🔒\": Lock, \"🔓\": Unlock,\n \"⚙\": Settings, \"⚙️\": Settings, \"👤\": User, \"🚪\": LogOut,\n \"▶\": Play, \"⏹\": Square, \"💾\": Save, \"📥\": Download, \"📤\": Upload,\n \"🔄\": RefreshCw, \"🔃\": RefreshCw, \"🗂\": Filter,\n \"📅\": Calendar, \"🕐\": Clock, \"❤️\": Heart, \"👍\": ThumbsUp, \"👎\": ThumbsDown,\n \"🚩\": Flag, \"💬\": MessageSquare, \"📞\": Phone, \"📹\": Video,\n \"🎤\": Mic, \"🔇\": MicOff, \"🔊\": Volume2, \"🔈\": VolumeX,\n \"🔗\": Link, \"✂\": Unlink, \"↔\": Move, \"⤢\": Maximize2,\n \"⚠\": AlertTriangle, \"⚠️\": AlertTriangle, \"ℹ\": Info, \"ℹ️\": Info, \"❓\": HelpCircle,\n \"→\": ArrowRight, \"←\": ArrowLeft, \"🏠\": Home,\n \"🎯\": Target, \"🏆\": Award, \"📈\": TrendingUp,\n \"🔥\": Flame, \"⚡\": Zap, \"📚\": BookOpen, \"💪\": Dumbbell,\n \"💰\": DollarSign, \"💼\": Briefcase, \"🤝\": Users,\n \"🧘\": Smile, \"🎨\": Palette, \"🏖️\": Umbrella, \"🌍\": Globe, \"🧭\": Compass,\n \"✅\": CheckSquare, \"☐\": CheckSquare,\n};\n\nfunction resolveLucide(emoji) {\n if (!emoji) return null;\n return EMOJI_TO_LUCIDE[emoji] || null;\n}\n\n// ─── Shared styles ───\n\nconst inputBase = [\n \"w-full rounded-[var(--radius-doodle)] border-2 border-dashed\",\n \"border-[var(--color-doodle-border)] bg-[var(--color-doodle-bg)]\",\n \"px-3 py-2 font-[var(--font-doodle)] text-[var(--color-doodle-ink)]\",\n \"placeholder:text-[var(--color-doodle-ink-light)]/50\",\n \"focus:outline-none focus:border-[var(--color-doodle-accent)] transition-colors\",\n].join(\" \");\n\n// ─── Parameter Controls ───\n\nfunction ShadcnTextInput({ spec, value, onChange }) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n {spec.label && <label style={{ fontSize: 13, fontWeight: 500, color: \"var(--color-doodle-ink-light)\", fontFamily: \"var(--font-doodle)\" }}>{spec.label}</label>}\n <input\n type={spec.type === \"email\" ? \"email\" : spec.type === \"url\" ? \"url\" : spec.type === \"tel\" ? \"tel\" : \"text\"}\n style={{\n width: \"100%\", borderRadius: \"var(--radius-doodle)\",\n border: \"1.5px solid var(--color-doodle-ink)\",\n background: \"var(--color-doodle-bg)\",\n padding: \"8px 12px\", fontFamily: \"var(--font-doodle)\",\n color: \"var(--color-doodle-ink)\", fontSize: 14,\n outline: \"none\",\n }}\n placeholder={spec.placeholder || \"\"}\n value={value || \"\"}\n onChange={e => onChange(e.target.value)}\n required={spec.required}\n />\n </div>\n );\n}\n\nfunction ShadcnTextarea({ spec, value, onChange }) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n {spec.label && <label style={{ fontSize: 13, fontWeight: 500, color: \"var(--color-doodle-ink-light)\", fontFamily: \"var(--font-doodle)\" }}>{spec.label}</label>}\n <textarea\n style={{\n width: \"100%\", borderRadius: \"var(--radius-doodle)\",\n border: \"1.5px solid var(--color-doodle-ink)\",\n background: \"var(--color-doodle-bg)\",\n padding: \"8px 12px\", fontFamily: \"var(--font-doodle)\",\n color: \"var(--color-doodle-ink)\", fontSize: 14,\n minHeight: 80, resize: \"vertical\", outline: \"none\",\n }}\n placeholder={spec.placeholder || \"\"}\n value={value || \"\"}\n onChange={e => onChange(e.target.value)}\n rows={3}\n />\n </div>\n );\n}\n\nfunction ShadcnNumber({ spec, value, onChange }) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n {spec.label && <label style={{ fontSize: 13, fontWeight: 500, color: \"var(--color-doodle-ink-light)\", fontFamily: \"var(--font-doodle)\" }}>{spec.label}</label>}\n <input\n type=\"number\"\n style={{\n width: \"100%\", borderRadius: \"var(--radius-doodle)\",\n border: \"1.5px solid var(--color-doodle-ink)\",\n background: \"var(--color-doodle-bg)\",\n padding: \"8px 12px\", fontFamily: \"var(--font-doodle)\",\n color: \"var(--color-doodle-ink)\", fontSize: 14, outline: \"none\",\n }}\n value={value ?? \"\"}\n onChange={e => onChange(e.target.value === \"\" ? null : Number(e.target.value))}\n min={spec.min}\n max={spec.max}\n />\n </div>\n );\n}\n\nfunction ShadcnDateTime({ spec, value, onChange }) {\n const isTimeOnly = spec.name && /time/i.test(spec.name) && !/date/i.test(spec.name);\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n {spec.label && <label style={{ fontSize: 13, fontWeight: 500, color: \"var(--color-doodle-ink-light)\", fontFamily: \"var(--font-doodle)\" }}>{spec.label}</label>}\n <input\n type={isTimeOnly ? \"time\" : \"date\"}\n style={{\n width: \"100%\", borderRadius: \"var(--radius-doodle)\",\n border: \"1.5px solid var(--color-doodle-ink)\",\n background: \"var(--color-doodle-bg)\",\n padding: \"8px 12px\", fontFamily: \"var(--font-doodle)\",\n color: \"var(--color-doodle-ink)\", fontSize: 14, outline: \"none\",\n }}\n value={value || \"\"}\n onChange={e => onChange(e.target.value)}\n />\n </div>\n );\n}\n\nfunction ShadcnSelect({ spec, value, onChange }) {\n const options = spec.options || [];\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n {spec.label && <label style={{ fontSize: 13, fontWeight: 500, color: \"var(--color-doodle-ink-light)\", fontFamily: \"var(--font-doodle)\" }}>{spec.label}</label>}\n <SelectPrimitive.Root value={value || \"\"} onValueChange={onChange}>\n <SelectPrimitive.Trigger\n style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\",\n width: \"100%\", borderRadius: \"var(--radius-doodle)\",\n border: \"2px dashed var(--color-doodle-border)\",\n background: \"var(--color-doodle-bg)\",\n padding: \"8px 12px\", fontFamily: \"var(--font-doodle)\",\n color: \"var(--color-doodle-ink)\", fontSize: 14, cursor: \"pointer\",\n }}\n >\n <SelectPrimitive.Value placeholder={spec.placeholder || \"Выбрать...\"} />\n <SelectPrimitive.Icon><ChevronDown size={16} /></SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n style={{\n background: \"var(--color-doodle-bg)\",\n border: \"2px solid var(--color-doodle-border)\",\n borderRadius: \"var(--radius-doodle)\",\n boxShadow: \"4px 4px 0 var(--color-doodle-border)\",\n zIndex: 9999, fontFamily: \"var(--font-doodle)\",\n }}\n position=\"popper\" sideOffset={4}\n >\n <SelectPrimitive.Viewport style={{ padding: 4 }}>\n {options.map(opt => (\n <SelectPrimitive.Item\n key={opt.value || opt}\n value={opt.value || opt}\n style={{\n padding: \"8px 12px\", borderRadius: 8, cursor: \"pointer\",\n color: \"var(--color-doodle-ink)\", outline: \"none\", fontSize: 14,\n }}\n >\n <SelectPrimitive.ItemText>{opt.label || opt}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n </div>\n );\n}\n\n// ─── Buttons ───\n\nconst btnBase = {\n borderRadius: \"var(--radius-doodle)\",\n fontFamily: \"var(--font-doodle)\",\n cursor: \"pointer\",\n transition: \"all 0.15s\",\n border: \"2px solid\",\n fontSize: 14,\n};\n\nfunction ShadcnPrimaryButton({ children, onClick, disabled, ...props }) {\n return (\n <button\n onClick={onClick} disabled={disabled}\n style={{\n ...btnBase, padding: \"8px 16px\", fontWeight: 700,\n background: \"var(--color-doodle-accent)\", color: \"white\",\n borderColor: \"var(--color-doodle-accent)\",\n boxShadow: \"2px 2px 0 var(--color-doodle-ink)\",\n opacity: disabled ? 0.5 : 1,\n }}\n {...props}\n >{children}</button>\n );\n}\n\nfunction ShadcnSecondaryButton({ children, onClick, disabled, ...props }) {\n return (\n <button\n onClick={onClick} disabled={disabled}\n style={{\n ...btnBase, padding: \"8px 16px\",\n background: \"transparent\", color: \"var(--color-doodle-ink)\",\n borderColor: \"var(--color-doodle-border)\", borderStyle: \"dashed\",\n opacity: disabled ? 0.5 : 1,\n }}\n {...props}\n >{children}</button>\n );\n}\n\nfunction ShadcnDangerButton({ children, onClick, disabled, ...props }) {\n return (\n <button\n onClick={onClick} disabled={disabled}\n style={{\n ...btnBase, padding: \"8px 16px\", fontWeight: 700,\n background: \"var(--color-doodle-warn)\", color: \"white\",\n borderColor: \"var(--color-doodle-warn)\",\n boxShadow: \"2px 2px 0 var(--color-doodle-ink)\",\n opacity: disabled ? 0.5 : 1,\n }}\n {...props}\n >{children}</button>\n );\n}\n\nfunction ShadcnIntentButton({ spec, onClick, disabled }) {\n const Icon = spec.icon ? resolveLucide(spec.icon) : null;\n const label = spec.label || spec.intentId;\n const isDanger = spec.irreversibility === \"high\" || spec.variant === \"danger\";\n\n return (\n <button\n onClick={onClick} disabled={disabled}\n style={{\n ...btnBase, display: \"inline-flex\", alignItems: \"center\", gap: 6,\n padding: \"6px 14px\", fontSize: 14,\n background: isDanger ? \"transparent\" : \"var(--color-doodle-bg)\",\n color: isDanger ? \"var(--color-doodle-warn)\" : \"var(--color-doodle-ink)\",\n borderColor: isDanger ? \"var(--color-doodle-warn)\" : \"var(--color-doodle-ink)\",\n borderStyle: \"solid\", borderWidth: 1.5,\n boxShadow: \"1.5px 1.5px 0 var(--color-doodle-ink)\",\n opacity: disabled ? 0.5 : 1,\n }}\n title={label}\n >\n {Icon && <Icon size={16} />}\n <span>{label}</span>\n </button>\n );\n}\n\nfunction ShadcnOverflowMenu({ items, triggerIcon, triggerLabel }) {\n if (!items || items.length === 0) return null;\n\n return (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <button style={{\n ...btnBase, padding: 8, background: \"transparent\",\n color: \"var(--color-doodle-ink)\",\n borderColor: \"var(--color-doodle-border)\", borderStyle: \"dashed\",\n }}>\n <MoreHorizontal size={16} />\n </button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Portal>\n <DropdownMenu.Content\n align=\"end\"\n collisionPadding={16}\n style={{\n background: \"var(--color-doodle-bg)\",\n border: \"2px solid var(--color-doodle-ink)\",\n borderRadius: \"var(--radius-doodle)\",\n boxShadow: \"3px 3px 0 var(--color-doodle-ink)\",\n padding: 4, zIndex: 9999, fontFamily: \"var(--font-doodle)\",\n minWidth: 180, maxWidth: \"90vw\",\n }}\n sideOffset={6}\n >\n {items.map((item, i) => {\n if (item.divider) return <DropdownMenu.Separator key={item.key} style={{ height: 1, background: \"var(--color-doodle-border)\", margin: \"4px 0\" }} />;\n const IconCmp = item.icon ? resolveLucide(item.icon) : null;\n return (\n <DropdownMenu.Item\n key={item.key || i}\n style={{\n display: \"flex\", alignItems: \"center\", gap: 8,\n padding: \"8px 12px\", borderRadius: 8, fontSize: 13,\n color: \"var(--color-doodle-ink)\", outline: \"none\", cursor: \"pointer\",\n }}\n onSelect={() => item.onClick?.()}\n >\n {IconCmp && <IconCmp size={14} />}\n <span>{item.label}</span>\n </DropdownMenu.Item>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n );\n}\n\n// ─── Shell ───\n\nfunction ShadcnModalShell({ opened, onClose, title, children }) {\n return (\n <Dialog.Root open={opened} onOpenChange={v => { if (!v) onClose(); }}>\n <Dialog.Portal>\n <Dialog.Overlay style={{\n position: \"fixed\", inset: 0, background: \"rgba(0,0,0,0.4)\",\n backdropFilter: \"blur(4px)\", zIndex: 9999,\n }} />\n <Dialog.Content style={{\n position: \"fixed\", left: \"50%\", top: \"50%\",\n transform: \"translate(-50%, -50%)\", zIndex: 9999,\n width: \"calc(100% - 32px)\", maxWidth: 420, maxHeight: \"85vh\",\n overflowY: \"auto\",\n background: \"var(--color-doodle-bg)\",\n border: \"2px solid var(--color-doodle-border)\",\n borderRadius: \"var(--radius-doodle)\",\n padding: \"var(--spacing-doodle)\",\n fontFamily: \"var(--font-doodle)\",\n boxShadow: \"4px 4px 0 var(--color-doodle-ink)\",\n }}>\n <Dialog.Title style={{\n fontSize: 18, fontWeight: 700,\n color: \"var(--color-doodle-ink)\",\n textDecoration: \"underline\", textDecorationStyle: \"wavy\",\n textDecorationColor: \"var(--color-doodle-border)\",\n textUnderlineOffset: 4, marginBottom: 16,\n }}>\n {title}\n </Dialog.Title>\n {children}\n <Dialog.Close asChild>\n <button style={{\n position: \"absolute\", top: 12, right: 12, background: \"none\",\n border: \"none\", color: \"var(--color-doodle-ink-light)\", cursor: \"pointer\",\n padding: 4,\n }}>\n <X size={18} />\n </button>\n </Dialog.Close>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\n\nfunction ShadcnTabs({ tabs, value, onChange }) {\n return (\n <TabsPrimitive.Root value={value} onValueChange={onChange}>\n <TabsPrimitive.List style={{\n display: \"flex\", borderBottom: \"2px dashed var(--color-doodle-border)\",\n fontFamily: \"var(--font-doodle)\", overflowX: \"auto\", gap: 0,\n }}>\n {tabs.map(tab => (\n <TabsPrimitive.Trigger\n key={tab.value}\n value={tab.value}\n style={{\n padding: \"8px 16px\", fontSize: 13, whiteSpace: \"nowrap\",\n background: \"transparent\", border: \"none\", cursor: \"pointer\",\n fontFamily: \"inherit\",\n borderBottom: \"2px solid transparent\", marginBottom: -2,\n color: \"var(--color-doodle-ink-light)\",\n }}\n >\n {tab.label}\n </TabsPrimitive.Trigger>\n ))}\n </TabsPrimitive.List>\n </TabsPrimitive.Root>\n );\n}\n\n// ─── Primitives ───\n\nfunction ShadcnHeading({ children, level = 2, ...props }) {\n const Tag = `h${Math.min(level, 6)}`;\n const sizes = { 1: 24, 2: 20, 3: 18, 4: 16, 5: 14, 6: 13 };\n return (\n <Tag style={{\n fontSize: sizes[level] || 18, fontWeight: 700,\n fontFamily: \"var(--font-doodle)\", color: \"var(--color-doodle-ink)\",\n textDecoration: \"underline\", textDecorationStyle: \"wavy\",\n textDecorationColor: \"var(--color-doodle-border)\",\n textUnderlineOffset: 4, margin: 0,\n }} {...props}>\n {children}\n </Tag>\n );\n}\n\nfunction ShadcnText({ children, preset, ...props }) {\n const colors = {\n dimmed: \"var(--color-doodle-ink-light)\",\n accent: \"var(--color-doodle-accent)\",\n danger: \"var(--color-doodle-warn)\",\n success: \"var(--color-doodle-accent)\",\n };\n return (\n <span style={{\n fontFamily: \"var(--font-doodle)\",\n color: colors[preset] || \"var(--color-doodle-ink)\",\n }} {...props}>\n {children}\n </span>\n );\n}\n\nfunction ShadcnBadge({ children, color, ...props }) {\n return (\n <span style={{\n display: \"inline-flex\", alignItems: \"center\",\n padding: \"2px 8px\", borderRadius: 20,\n fontSize: 12, fontWeight: 700, fontFamily: \"var(--font-doodle)\",\n border: `2px solid ${color || \"var(--color-doodle-border)\"}`,\n background: \"var(--color-doodle-highlight)\",\n color: color || \"var(--color-doodle-ink)\",\n }} {...props}>\n {children}\n </span>\n );\n}\n\nfunction ShadcnAvatar({ src, name, size = 32, ...props }) {\n const initials = (name || \"?\").split(\" \").map(w => w[0]).join(\"\").slice(0, 2).toUpperCase();\n return (\n <AvatarPrimitive.Root style={{\n display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\",\n borderRadius: \"50%\", overflow: \"hidden\",\n border: \"2px solid var(--color-doodle-border)\",\n background: \"var(--color-doodle-highlight)\",\n fontFamily: \"var(--font-doodle)\",\n width: size, height: size,\n }} {...props}>\n <AvatarPrimitive.Image src={src} alt={name} style={{ width: \"100%\", height: \"100%\", objectFit: \"cover\" }} />\n <AvatarPrimitive.Fallback style={{\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n width: \"100%\", height: \"100%\",\n color: \"var(--color-doodle-ink)\", fontSize: Math.round(size * 0.4), fontWeight: 700,\n }}>\n {initials}\n </AvatarPrimitive.Fallback>\n </AvatarPrimitive.Root>\n );\n}\n\nfunction ShadcnPaper({ children, ...props }) {\n return (\n <div style={{\n borderRadius: \"var(--radius-doodle)\",\n border: \"1.5px solid var(--color-doodle-ink)\",\n background: \"var(--color-doodle-bg)\",\n padding: \"var(--spacing-doodle)\",\n boxShadow: \"2px 2px 0 var(--color-doodle-ink)\",\n }} {...props}>\n {children}\n </div>\n );\n}\n\n// ─── Adapter Export ───\n\nexport const shadcnAdapter = {\n name: \"shadcn\",\n parameter: {\n text: ShadcnTextInput,\n textarea: ShadcnTextarea,\n email: ShadcnTextInput,\n url: ShadcnTextInput,\n tel: ShadcnTextInput,\n number: ShadcnNumber,\n datetime: ShadcnDateTime,\n select: ShadcnSelect,\n },\n button: {\n primary: ShadcnPrimaryButton,\n secondary: ShadcnSecondaryButton,\n danger: ShadcnDangerButton,\n intent: ShadcnIntentButton,\n overflow: ShadcnOverflowMenu,\n },\n shell: {\n modal: ShadcnModalShell,\n tabs: ShadcnTabs,\n },\n primitive: {\n heading: ShadcnHeading,\n text: ShadcnText,\n badge: ShadcnBadge,\n avatar: ShadcnAvatar,\n paper: ShadcnPaper,\n },\n icon: {\n resolve: resolveLucide,\n },\n};\n","import React from \"react\";\nimport { registerUIAdapter } from \"@intent-driven/renderer\";\nimport { shadcnAdapter } from \"./adapter.jsx\";\n\n/**\n * Оборачивает приложение: регистрирует shadcnAdapter в @intent-driven/renderer.\n * Doodle-стилистика подключается через theme.css — хост обязан явно\n * импортировать \"@intent-driven/adapter-shadcn/styles.css\" из своего entry-файла,\n * чтобы Vite/Tailwind-плагин правильно обработал @import \"tailwindcss\".\n */\nexport function ShadcnAdapterProvider({ children }) {\n React.useEffect(() => {\n registerUIAdapter(shadcnAdapter);\n }, []);\n return <>{children}</>;\n}\n"],"mappings":"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","names":["Icon","import_jsx_runtime","React"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
declare namespace shadcnAdapter {
|
|
2
|
+
let name: string;
|
|
3
|
+
namespace parameter {
|
|
4
|
+
export { ShadcnTextInput as text };
|
|
5
|
+
export { ShadcnTextarea as textarea };
|
|
6
|
+
export { ShadcnTextInput as email };
|
|
7
|
+
export { ShadcnTextInput as url };
|
|
8
|
+
export { ShadcnTextInput as tel };
|
|
9
|
+
export { ShadcnNumber as number };
|
|
10
|
+
export { ShadcnDateTime as datetime };
|
|
11
|
+
export { ShadcnSelect as select };
|
|
12
|
+
}
|
|
13
|
+
namespace button {
|
|
14
|
+
export { ShadcnPrimaryButton as primary };
|
|
15
|
+
export { ShadcnSecondaryButton as secondary };
|
|
16
|
+
export { ShadcnDangerButton as danger };
|
|
17
|
+
export { ShadcnIntentButton as intent };
|
|
18
|
+
export { ShadcnOverflowMenu as overflow };
|
|
19
|
+
}
|
|
20
|
+
namespace shell {
|
|
21
|
+
export { ShadcnModalShell as modal };
|
|
22
|
+
export { ShadcnTabs as tabs };
|
|
23
|
+
}
|
|
24
|
+
namespace primitive {
|
|
25
|
+
export { ShadcnHeading as heading };
|
|
26
|
+
export { ShadcnText as text };
|
|
27
|
+
export { ShadcnBadge as badge };
|
|
28
|
+
export { ShadcnAvatar as avatar };
|
|
29
|
+
export { ShadcnPaper as paper };
|
|
30
|
+
}
|
|
31
|
+
namespace icon {
|
|
32
|
+
export { resolveLucide as resolve };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
declare function ShadcnTextInput({ spec, value, onChange }: {
|
|
36
|
+
spec: any;
|
|
37
|
+
value: any;
|
|
38
|
+
onChange: any;
|
|
39
|
+
}): any;
|
|
40
|
+
declare function ShadcnTextarea({ spec, value, onChange }: {
|
|
41
|
+
spec: any;
|
|
42
|
+
value: any;
|
|
43
|
+
onChange: any;
|
|
44
|
+
}): any;
|
|
45
|
+
declare function ShadcnNumber({ spec, value, onChange }: {
|
|
46
|
+
spec: any;
|
|
47
|
+
value: any;
|
|
48
|
+
onChange: any;
|
|
49
|
+
}): any;
|
|
50
|
+
declare function ShadcnDateTime({ spec, value, onChange }: {
|
|
51
|
+
spec: any;
|
|
52
|
+
value: any;
|
|
53
|
+
onChange: any;
|
|
54
|
+
}): any;
|
|
55
|
+
declare function ShadcnSelect({ spec, value, onChange }: {
|
|
56
|
+
spec: any;
|
|
57
|
+
value: any;
|
|
58
|
+
onChange: any;
|
|
59
|
+
}): any;
|
|
60
|
+
declare function ShadcnPrimaryButton({ children, onClick, disabled, ...props }: {
|
|
61
|
+
[x: string]: any;
|
|
62
|
+
children: any;
|
|
63
|
+
onClick: any;
|
|
64
|
+
disabled: any;
|
|
65
|
+
}): any;
|
|
66
|
+
declare function ShadcnSecondaryButton({ children, onClick, disabled, ...props }: {
|
|
67
|
+
[x: string]: any;
|
|
68
|
+
children: any;
|
|
69
|
+
onClick: any;
|
|
70
|
+
disabled: any;
|
|
71
|
+
}): any;
|
|
72
|
+
declare function ShadcnDangerButton({ children, onClick, disabled, ...props }: {
|
|
73
|
+
[x: string]: any;
|
|
74
|
+
children: any;
|
|
75
|
+
onClick: any;
|
|
76
|
+
disabled: any;
|
|
77
|
+
}): any;
|
|
78
|
+
declare function ShadcnIntentButton({ spec, onClick, disabled }: {
|
|
79
|
+
spec: any;
|
|
80
|
+
onClick: any;
|
|
81
|
+
disabled: any;
|
|
82
|
+
}): any;
|
|
83
|
+
declare function ShadcnOverflowMenu({ items, triggerIcon, triggerLabel }: {
|
|
84
|
+
items: any;
|
|
85
|
+
triggerIcon: any;
|
|
86
|
+
triggerLabel: any;
|
|
87
|
+
}): any;
|
|
88
|
+
declare function ShadcnModalShell({ opened, onClose, title, children }: {
|
|
89
|
+
opened: any;
|
|
90
|
+
onClose: any;
|
|
91
|
+
title: any;
|
|
92
|
+
children: any;
|
|
93
|
+
}): any;
|
|
94
|
+
declare function ShadcnTabs({ tabs, value, onChange }: {
|
|
95
|
+
tabs: any;
|
|
96
|
+
value: any;
|
|
97
|
+
onChange: any;
|
|
98
|
+
}): any;
|
|
99
|
+
declare function ShadcnHeading({ children, level, ...props }: {
|
|
100
|
+
[x: string]: any;
|
|
101
|
+
children: any;
|
|
102
|
+
level?: number;
|
|
103
|
+
}): any;
|
|
104
|
+
declare function ShadcnText({ children, preset, ...props }: {
|
|
105
|
+
[x: string]: any;
|
|
106
|
+
children: any;
|
|
107
|
+
preset: any;
|
|
108
|
+
}): any;
|
|
109
|
+
declare function ShadcnBadge({ children, color, ...props }: {
|
|
110
|
+
[x: string]: any;
|
|
111
|
+
children: any;
|
|
112
|
+
color: any;
|
|
113
|
+
}): any;
|
|
114
|
+
declare function ShadcnAvatar({ src, name, size, ...props }: {
|
|
115
|
+
[x: string]: any;
|
|
116
|
+
src: any;
|
|
117
|
+
name: any;
|
|
118
|
+
size?: number;
|
|
119
|
+
}): any;
|
|
120
|
+
declare function ShadcnPaper({ children, ...props }: {
|
|
121
|
+
[x: string]: any;
|
|
122
|
+
children: any;
|
|
123
|
+
}): any;
|
|
124
|
+
declare function resolveLucide(emoji: any): any;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Оборачивает приложение: регистрирует shadcnAdapter в @intent-driven/renderer.
|
|
128
|
+
* Doodle-стилистика подключается через theme.css — хост обязан явно
|
|
129
|
+
* импортировать "@intent-driven/adapter-shadcn/styles.css" из своего entry-файла,
|
|
130
|
+
* чтобы Vite/Tailwind-плагин правильно обработал @import "tailwindcss".
|
|
131
|
+
*/
|
|
132
|
+
declare function ShadcnAdapterProvider({ children }: {
|
|
133
|
+
children: any;
|
|
134
|
+
}): any;
|
|
135
|
+
|
|
136
|
+
export { ShadcnAdapterProvider, shadcnAdapter };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
declare namespace shadcnAdapter {
|
|
2
|
+
let name: string;
|
|
3
|
+
namespace parameter {
|
|
4
|
+
export { ShadcnTextInput as text };
|
|
5
|
+
export { ShadcnTextarea as textarea };
|
|
6
|
+
export { ShadcnTextInput as email };
|
|
7
|
+
export { ShadcnTextInput as url };
|
|
8
|
+
export { ShadcnTextInput as tel };
|
|
9
|
+
export { ShadcnNumber as number };
|
|
10
|
+
export { ShadcnDateTime as datetime };
|
|
11
|
+
export { ShadcnSelect as select };
|
|
12
|
+
}
|
|
13
|
+
namespace button {
|
|
14
|
+
export { ShadcnPrimaryButton as primary };
|
|
15
|
+
export { ShadcnSecondaryButton as secondary };
|
|
16
|
+
export { ShadcnDangerButton as danger };
|
|
17
|
+
export { ShadcnIntentButton as intent };
|
|
18
|
+
export { ShadcnOverflowMenu as overflow };
|
|
19
|
+
}
|
|
20
|
+
namespace shell {
|
|
21
|
+
export { ShadcnModalShell as modal };
|
|
22
|
+
export { ShadcnTabs as tabs };
|
|
23
|
+
}
|
|
24
|
+
namespace primitive {
|
|
25
|
+
export { ShadcnHeading as heading };
|
|
26
|
+
export { ShadcnText as text };
|
|
27
|
+
export { ShadcnBadge as badge };
|
|
28
|
+
export { ShadcnAvatar as avatar };
|
|
29
|
+
export { ShadcnPaper as paper };
|
|
30
|
+
}
|
|
31
|
+
namespace icon {
|
|
32
|
+
export { resolveLucide as resolve };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
declare function ShadcnTextInput({ spec, value, onChange }: {
|
|
36
|
+
spec: any;
|
|
37
|
+
value: any;
|
|
38
|
+
onChange: any;
|
|
39
|
+
}): any;
|
|
40
|
+
declare function ShadcnTextarea({ spec, value, onChange }: {
|
|
41
|
+
spec: any;
|
|
42
|
+
value: any;
|
|
43
|
+
onChange: any;
|
|
44
|
+
}): any;
|
|
45
|
+
declare function ShadcnNumber({ spec, value, onChange }: {
|
|
46
|
+
spec: any;
|
|
47
|
+
value: any;
|
|
48
|
+
onChange: any;
|
|
49
|
+
}): any;
|
|
50
|
+
declare function ShadcnDateTime({ spec, value, onChange }: {
|
|
51
|
+
spec: any;
|
|
52
|
+
value: any;
|
|
53
|
+
onChange: any;
|
|
54
|
+
}): any;
|
|
55
|
+
declare function ShadcnSelect({ spec, value, onChange }: {
|
|
56
|
+
spec: any;
|
|
57
|
+
value: any;
|
|
58
|
+
onChange: any;
|
|
59
|
+
}): any;
|
|
60
|
+
declare function ShadcnPrimaryButton({ children, onClick, disabled, ...props }: {
|
|
61
|
+
[x: string]: any;
|
|
62
|
+
children: any;
|
|
63
|
+
onClick: any;
|
|
64
|
+
disabled: any;
|
|
65
|
+
}): any;
|
|
66
|
+
declare function ShadcnSecondaryButton({ children, onClick, disabled, ...props }: {
|
|
67
|
+
[x: string]: any;
|
|
68
|
+
children: any;
|
|
69
|
+
onClick: any;
|
|
70
|
+
disabled: any;
|
|
71
|
+
}): any;
|
|
72
|
+
declare function ShadcnDangerButton({ children, onClick, disabled, ...props }: {
|
|
73
|
+
[x: string]: any;
|
|
74
|
+
children: any;
|
|
75
|
+
onClick: any;
|
|
76
|
+
disabled: any;
|
|
77
|
+
}): any;
|
|
78
|
+
declare function ShadcnIntentButton({ spec, onClick, disabled }: {
|
|
79
|
+
spec: any;
|
|
80
|
+
onClick: any;
|
|
81
|
+
disabled: any;
|
|
82
|
+
}): any;
|
|
83
|
+
declare function ShadcnOverflowMenu({ items, triggerIcon, triggerLabel }: {
|
|
84
|
+
items: any;
|
|
85
|
+
triggerIcon: any;
|
|
86
|
+
triggerLabel: any;
|
|
87
|
+
}): any;
|
|
88
|
+
declare function ShadcnModalShell({ opened, onClose, title, children }: {
|
|
89
|
+
opened: any;
|
|
90
|
+
onClose: any;
|
|
91
|
+
title: any;
|
|
92
|
+
children: any;
|
|
93
|
+
}): any;
|
|
94
|
+
declare function ShadcnTabs({ tabs, value, onChange }: {
|
|
95
|
+
tabs: any;
|
|
96
|
+
value: any;
|
|
97
|
+
onChange: any;
|
|
98
|
+
}): any;
|
|
99
|
+
declare function ShadcnHeading({ children, level, ...props }: {
|
|
100
|
+
[x: string]: any;
|
|
101
|
+
children: any;
|
|
102
|
+
level?: number;
|
|
103
|
+
}): any;
|
|
104
|
+
declare function ShadcnText({ children, preset, ...props }: {
|
|
105
|
+
[x: string]: any;
|
|
106
|
+
children: any;
|
|
107
|
+
preset: any;
|
|
108
|
+
}): any;
|
|
109
|
+
declare function ShadcnBadge({ children, color, ...props }: {
|
|
110
|
+
[x: string]: any;
|
|
111
|
+
children: any;
|
|
112
|
+
color: any;
|
|
113
|
+
}): any;
|
|
114
|
+
declare function ShadcnAvatar({ src, name, size, ...props }: {
|
|
115
|
+
[x: string]: any;
|
|
116
|
+
src: any;
|
|
117
|
+
name: any;
|
|
118
|
+
size?: number;
|
|
119
|
+
}): any;
|
|
120
|
+
declare function ShadcnPaper({ children, ...props }: {
|
|
121
|
+
[x: string]: any;
|
|
122
|
+
children: any;
|
|
123
|
+
}): any;
|
|
124
|
+
declare function resolveLucide(emoji: any): any;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Оборачивает приложение: регистрирует shadcnAdapter в @intent-driven/renderer.
|
|
128
|
+
* Doodle-стилистика подключается через theme.css — хост обязан явно
|
|
129
|
+
* импортировать "@intent-driven/adapter-shadcn/styles.css" из своего entry-файла,
|
|
130
|
+
* чтобы Vite/Tailwind-плагин правильно обработал @import "tailwindcss".
|
|
131
|
+
*/
|
|
132
|
+
declare function ShadcnAdapterProvider({ children }: {
|
|
133
|
+
children: any;
|
|
134
|
+
}): any;
|
|
135
|
+
|
|
136
|
+
export { ShadcnAdapterProvider, shadcnAdapter };
|