@intent-driven/adapter-mantine 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 +79 -0
- package/dist/index.cjs +561 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +251 -0
- package/dist/index.d.ts +251 -0
- package/dist/index.mjs +605 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js","../src/adapter.jsx","../src/provider.jsx"],"sourcesContent":["export { mantineAdapter } from \"./adapter.jsx\";\nexport { MantineAdapterProvider } from \"./provider.jsx\";\n","/**\n * Mantine UI-адаптер (§17 манифеста — адаптивный слой).\n *\n * Мапит declarative control-specs в компоненты @mantine/core и @mantine/dates.\n * Регистрируется один раз при bootstrap приложения через\n * `registerUIAdapter(mantineAdapter)`.\n *\n * Категории (ключи adapter'а):\n * - parameter: text/textarea/datetime/email/... — формы\n * - button: primary/secondary/danger — кнопки\n */\n\nimport {\n TextInput,\n Textarea,\n NumberInput,\n Select,\n Button,\n ActionIcon,\n Modal,\n Tabs,\n Title,\n Text,\n Badge,\n Avatar,\n Paper,\n Menu,\n} from \"@mantine/core\";\nimport { DateInput, TimeInput } from \"@mantine/dates\";\nimport { Icon, labels } from \"@intent-driven/renderer\";\nimport {\n Pencil,\n Trash2,\n Plus,\n Check,\n X,\n Send,\n Paperclip,\n Mic,\n Image as ImageIcon,\n Video,\n MapPin,\n Vote,\n CornerUpRight,\n BookmarkPlus,\n Bookmark,\n Pin,\n PinOff,\n Copy,\n Languages,\n BellOff,\n Bell,\n Phone,\n PhoneOff,\n Star,\n Search,\n Filter,\n ArrowUpDown,\n MessageCircle,\n Users,\n Megaphone,\n UserPlus,\n LogOut,\n ArrowUp,\n ArrowDown,\n Key,\n Settings,\n Download,\n Upload,\n Info,\n CircleSlash,\n AlertTriangle,\n Play,\n Pause,\n Square,\n Save,\n Unplug,\n Plug,\n Link2,\n Scissors,\n Move,\n MessageSquare,\n Lock,\n Lightbulb,\n Clock,\n RotateCcw,\n Smile,\n Eye,\n EyeOff,\n Share,\n Zap,\n MoreHorizontal,\n} from \"lucide-react\";\n\nconst { humanLabel } = labels;\n\n// ============================================================\n// Icon map: emoji → Lucide component\n// ============================================================\n\n/**\n * Маппинг emoji-кодов (из getIntentIcon) в компоненты lucide-react.\n * Позволяет рендерить профессиональные SVG-иконки вместо emoji, сохраняя\n * backward-совместимость с декларативным spec.icon = \"✎\" / \"🗑\".\n *\n * Не покрытые emoji рендерятся как fallback-текст в <Icon>.\n */\nconst EMOJI_TO_LUCIDE = {\n \"✎\": Pencil,\n \"🗑\": Trash2,\n \"➕\": Plus,\n \"+\": Plus,\n \"✓\": Check,\n \"✕\": X,\n \"×\": X,\n \"📤\": Send,\n \"📎\": Paperclip,\n \"🎤\": Mic,\n \"🎙\": Mic,\n \"🖼\": ImageIcon,\n \"🎬\": Video,\n \"📍\": MapPin,\n \"📌\": Pin,\n \"🗳\": Vote,\n \"↗\": CornerUpRight,\n \"⭐\": Star,\n \"☆\": BookmarkPlus,\n \"⎘\": Copy,\n \"🌐\": Languages,\n \"🔇\": BellOff,\n \"🔔\": Bell,\n \"📞\": Phone,\n \"📹\": Video,\n \"📵\": PhoneOff,\n \"🔍\": Search,\n \"⋯\": MoreHorizontal,\n \"…\": MoreHorizontal,\n \"⇅\": ArrowUpDown,\n \"⚙\": Settings,\n \"👤\": Users,\n \"👥\": Users,\n \"📢\": Megaphone,\n \"✉\": Send,\n \"⬆\": ArrowUp,\n \"⬇\": ArrowDown,\n \"🔑\": Key,\n \"←\": LogOut,\n \"→\": LogOut,\n \"ℹ\": Info,\n \"⚡\": Zap,\n \"●\": Eye,\n \"💬\": MessageCircle,\n \"🔒\": Lock,\n \"💡\": Lightbulb,\n \"⏰\": Clock,\n \"🔄\": RotateCcw,\n \"▶\": Play,\n \"⏸\": Pause,\n \"⏹\": Square,\n \"💾\": Save,\n \"🔗\": Link2,\n \"✂\": Scissors,\n \"✥\": Move,\n \"🚫\": CircleSlash,\n \"⚠\": AlertTriangle,\n \"📦\": BookmarkPlus,\n \"😊\": Smile,\n \"📊\": Vote,\n \"📅\": Clock,\n \"🎵\": Play,\n \"🎉\": Star,\n \"🔥\": Zap,\n};\n\nfunction resolveLucide(emoji) {\n return EMOJI_TO_LUCIDE[emoji] || null;\n}\n\n// ============================================================\n// Parameter controls\n// ============================================================\n\nfunction MantineTextInput({ spec, value, onChange, error }) {\n return (\n <TextInput\n label={humanLabel(spec.name, spec.label)}\n value={value ?? \"\"}\n onChange={(e) => onChange(e.currentTarget.value)}\n placeholder={spec.placeholder}\n required={spec.required}\n error={error}\n />\n );\n}\n\nfunction MantineEmail({ spec, value, onChange, error }) {\n return (\n <TextInput\n type=\"email\"\n label={humanLabel(spec.name, spec.label)}\n value={value ?? \"\"}\n onChange={(e) => onChange(e.currentTarget.value)}\n placeholder={spec.placeholder || \"name@example.com\"}\n required={spec.required}\n error={error}\n />\n );\n}\n\nfunction MantineUrl({ spec, value, onChange, error }) {\n return (\n <TextInput\n type=\"url\"\n label={humanLabel(spec.name, spec.label)}\n value={value ?? \"\"}\n onChange={(e) => onChange(e.currentTarget.value)}\n placeholder={spec.placeholder}\n required={spec.required}\n error={error}\n />\n );\n}\n\nfunction MantineTel({ spec, value, onChange, error }) {\n return (\n <TextInput\n type=\"tel\"\n label={humanLabel(spec.name, spec.label)}\n value={value ?? \"\"}\n onChange={(e) => onChange(e.currentTarget.value)}\n placeholder={spec.placeholder}\n required={spec.required}\n error={error}\n />\n );\n}\n\nfunction MantineTextarea({ spec, value, onChange, error }) {\n return (\n <Textarea\n label={humanLabel(spec.name, spec.label)}\n value={value ?? \"\"}\n onChange={(e) => onChange(e.currentTarget.value)}\n placeholder={spec.placeholder}\n required={spec.required}\n error={error}\n autosize\n minRows={2}\n maxRows={6}\n />\n );\n}\n\nfunction MantineNumber({ spec, value, onChange, error }) {\n return (\n <NumberInput\n label={humanLabel(spec.name, spec.label)}\n value={value === \"\" || value == null ? \"\" : value}\n onChange={(v) => onChange(v)}\n placeholder={spec.placeholder}\n required={spec.required}\n error={error}\n />\n );\n}\n\n/**\n * DateTime control — две стратегии по spec.name:\n * - pure time (startTime/endTime/time) → TimeInput (HH:MM)\n * - date и остальное → DateInput с календарём\n *\n * Mantine 9: DateInput использует string (\"YYYY-MM-DD\"), TimeInput —\n * обычный <input type=\"time\">. Value передаём/принимаем как string.\n */\nfunction MantineDateTime({ spec, value, onChange, error }) {\n const name = spec.name || \"\";\n const label = humanLabel(name, spec.label);\n const isTimeOnly = /time/i.test(name) && !/date/i.test(name);\n\n if (isTimeOnly) {\n return (\n <TimeInput\n label={label}\n value={value ?? \"\"}\n onChange={(e) => onChange(e.currentTarget.value)}\n required={spec.required}\n error={error}\n />\n );\n }\n\n return (\n <DateInput\n label={label}\n value={value ?? null}\n onChange={(v) => onChange(v || \"\")}\n placeholder=\"Выберите дату\"\n required={spec.required}\n error={error}\n valueFormat=\"DD.MM.YYYY\"\n clearable\n />\n );\n}\n\nfunction MantineSelect({ spec, value, onChange, error }) {\n const data = (spec.options || []).map((o) =>\n typeof o === \"string\" ? { value: o, label: o } : o\n );\n return (\n <Select\n label={humanLabel(spec.name, spec.label)}\n data={data}\n value={value ?? null}\n onChange={(v) => onChange(v || \"\")}\n placeholder={spec.placeholder || \"Выберите…\"}\n required={spec.required}\n error={error}\n clearable\n />\n );\n}\n\n// ============================================================\n// Buttons\n// ============================================================\n\n// Helper: icon может приехать как emoji-строка или как React-элемент.\n// Приводим к React-узлу через <Icon> если строка.\nfunction normalizeIcon(icon) {\n if (!icon) return undefined;\n if (typeof icon === \"string\") return <Icon emoji={icon} size={16} />;\n return icon;\n}\n\nfunction MantinePrimaryButton({ label, icon, onClick, disabled, title, size }) {\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n title={title}\n leftSection={normalizeIcon(icon)}\n color=\"indigo\"\n size={size || \"sm\"}\n >\n {label}\n </Button>\n );\n}\n\nfunction MantineSecondaryButton({ label, icon, onClick, disabled, title, size }) {\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n title={title}\n leftSection={normalizeIcon(icon)}\n variant=\"default\"\n size={size || \"sm\"}\n >\n {label}\n </Button>\n );\n}\n\nfunction MantineDangerButton({ label, icon, onClick, disabled, title, size }) {\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n title={title}\n leftSection={normalizeIcon(icon)}\n color=\"red\"\n size={size || \"sm\"}\n >\n {label}\n </Button>\n );\n}\n\n/**\n * Overflow menu — Mantine Menu. trigger-кнопка = ActionIcon с \"⋯\",\n * при клике открывается dropdown c списком items (label + иконка).\n *\n * items: [{ key, label, icon, onClick }]\n */\nfunction MantineOverflowMenu({ items, triggerIcon, triggerLabel }) {\n if (!items || items.length === 0) return null;\n\n // Группировка по иконке: элементы с одинаковой иконкой попадают в секцию.\n // Если секций > 1, разделяем Menu.Divider'ами для лучшей читаемости.\n const grouped = groupOverflowItems(items);\n const hasSections = grouped.length > 1;\n\n return (\n <Menu shadow=\"md\" width={240} position=\"bottom-end\" withArrow>\n <Menu.Target>\n <ActionIcon\n variant=\"default\"\n size=\"lg\"\n title={triggerLabel || \"Ещё\"}\n aria-label={triggerLabel || \"Ещё\"}\n >\n <Icon emoji={triggerIcon || \"⋯\"} size={18} />\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown style={{ maxHeight: \"60vh\", overflowY: \"auto\" }}>\n {grouped.map((section, si) => (\n <span key={si}>\n {hasSections && si > 0 && <Menu.Divider />}\n {hasSections && section.label && (\n <Menu.Label>{section.label}</Menu.Label>\n )}\n {section.items.map((item) => (\n item.divider\n ? <Menu.Divider key={item.key} />\n : <Menu.Item\n key={item.key}\n leftSection={item.icon ? <Icon emoji={item.icon} size={14} /> : undefined}\n onClick={item.onClick}\n >\n {item.label}\n </Menu.Item>\n ))}\n </span>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n}\n\n/**\n * Группировка overflow-элементов по иконке. Элементы с одинаковой иконкой\n * объединяются в секцию. Одиночные элементы (уникальная иконка) идут в\n * секцию «Другое» в конце.\n */\nfunction groupOverflowItems(items) {\n if (items.length <= 8) return [{ label: null, items }];\n const byIcon = new Map();\n const order = [];\n for (const item of items) {\n const key = item.icon || \"__none__\";\n if (!byIcon.has(key)) { byIcon.set(key, []); order.push(key); }\n byIcon.get(key).push(item);\n }\n const sections = [];\n const singles = [];\n for (const key of order) {\n const group = byIcon.get(key);\n if (group.length >= 2) {\n sections.push({ label: group[0].label?.split(\" \")[0] || null, items: group });\n } else {\n singles.push(...group);\n }\n }\n if (singles.length > 0) {\n sections.push({ label: sections.length > 0 ? \"Другое\" : null, items: singles });\n }\n return sections.length > 0 ? sections : [{ label: null, items }];\n}\n\n/**\n * IntentButton-адаптер. Рендерит кнопку намерения через Mantine.\n *\n * Две формы рендера:\n * - С текстовым label → Mantine Button (с leftSection-иконкой)\n * - Только иконка (длинные label или без label) → Mantine ActionIcon\n * (квадратная кнопка фиксированного размера, читабельная рядом)\n *\n * Variant выбирается по:\n * - spec.variant (явный hint: \"primary\" | \"secondary\" | \"danger\")\n * - spec.irreversibility (high → danger)\n * - иначе default (subtle)\n */\nfunction MantineIntentButton({ spec, onClick, disabled }) {\n const label = spec.label || spec.intentId;\n const icon = spec.icon;\n const LABEL_MAX = 14;\n const showLabel = label.length <= LABEL_MAX;\n\n const isDanger = spec.variant === \"danger\" || spec.irreversibility === \"high\";\n const isPrimary = spec.variant === \"primary\";\n\n // Default (не danger/primary): Mantine `variant=\"default\"` без color —\n // использует theme-adaptive border/background/foreground, корректно\n // переключается в dark. Явный `color=\"gray\"` — ломает это в dark mode.\n const color = isDanger ? \"red\" : isPrimary ? \"indigo\" : undefined;\n const variant = isDanger || isPrimary ? \"light\" : \"default\";\n\n // Только иконка → ActionIcon (квадратный, фиксированный размер)\n if (!showLabel || !label) {\n return (\n <ActionIcon\n onClick={onClick}\n disabled={disabled}\n title={label}\n size=\"lg\"\n variant={variant}\n color={color}\n >\n <Icon emoji={icon} size={18} />\n </ActionIcon>\n );\n }\n\n // С label → Button\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n title={label}\n size=\"sm\"\n variant={variant}\n color={color}\n leftSection={icon ? <Icon emoji={icon} size={16} /> : undefined}\n >\n {label}\n </Button>\n );\n}\n\n// ============================================================\n// Primitives: heading, text, badge, avatar, paper\n// ============================================================\n\n/**\n * Primitive-компоненты получают текст/значение и стилевые подсказки\n * напрямую (не через spec/ctx как parameter/button). Это самый низкий\n * слой — просто обёртки над Mantine типографикой.\n */\n\nfunction MantineHeading({ level = 2, children }) {\n // Mantine Title: order 1/2/3/4/5/6 — HTML h1-h6 + стиль по размеру.\n const order = Math.min(6, Math.max(1, level));\n return <Title order={order}>{children}</Title>;\n}\n\n// Presets используют Mantine color tokens, которые автоматически\n// адаптируются к темной теме (через CSS variables). Жёсткие оттенки\n// типа \"dark.9\" — запрещены, они не переключаются.\nconst TEXT_PRESETS = {\n body: { size: \"sm\" },\n secondary: { size: \"xs\", c: \"dimmed\" },\n muted: { size: \"xs\", c: \"dimmed\" },\n heading: { fw: 700, size: \"md\" },\n accent: { fw: 600, c: \"indigo\" },\n danger: { c: \"red\" },\n success: { c: \"green\" },\n};\n\nfunction MantineText({ children, preset, style }) {\n const props = (preset && TEXT_PRESETS[preset]) || {};\n return <Text {...props} style={style}>{children}</Text>;\n}\n\nfunction MantineBadge({ children, color }) {\n return (\n <Badge color={color || \"indigo\"} variant=\"light\" size=\"sm\" radius=\"sm\">\n {children}\n </Badge>\n );\n}\n\nfunction MantineAvatar({ src, name, size = 40 }) {\n // Mantine Avatar: если src пусто — показывает initials через name prop\n // (первые буквы). Если src — картинка. Mantine сам решает fallback.\n return (\n <Avatar\n src={src || undefined}\n name={name || \"?\"}\n color=\"initials\"\n size={size}\n radius=\"xl\"\n >\n {!src && name ? name[0]?.toUpperCase() : null}\n </Avatar>\n );\n}\n\nfunction MantinePaper({ children, padding, withBorder, style }) {\n return (\n <Paper\n p={padding ?? \"md\"}\n withBorder={withBorder !== false}\n radius=\"md\"\n style={style}\n >\n {children}\n </Paper>\n );\n}\n\n// ============================================================\n// Shell: Modal + Tabs\n// ============================================================\n\n/**\n * Обёртка Mantine Modal как ModalShell.\n *\n * Заменяет inline-стилизованную ModalShell в FormModal.jsx — через неё\n * автоматически улучшаются FormModal, ConfirmDialog, BulkWizard\n * (они все используют ModalShell).\n *\n * Props: { onClose, children, title? }\n */\nfunction MantineModalShell({ onClose, children, title }) {\n return (\n <Modal\n opened\n onClose={onClose}\n title={title}\n centered\n size=\"md\"\n padding=\"lg\"\n radius=\"md\"\n overlayProps={{ backgroundOpacity: 0.55, blur: 2 }}\n >\n {children}\n </Modal>\n );\n}\n\n/**\n * Mantine Tabs как shell.tabs.\n *\n * items: [{ value, label, active }]. onSelect(value) — клик по табу.\n * Кастом, потому что Mantine Tabs API немного отличается (controlled).\n */\nfunction MantineTabs({ items, active, onSelect, extra }) {\n return (\n <div style={{\n display: \"flex\",\n alignItems: \"center\",\n borderBottom: \"1px solid var(--mantine-color-default-border)\",\n background: \"var(--mantine-color-default)\",\n }}>\n <Tabs\n value={active || null}\n onChange={(v) => v && onSelect && onSelect(v)}\n variant=\"default\"\n style={{ flex: 1 }}\n >\n <Tabs.List style={{ border: \"none\" }}>\n {items.map(item => (\n <Tabs.Tab key={item.value} value={item.value}>\n {item.label}\n </Tabs.Tab>\n ))}\n </Tabs.List>\n </Tabs>\n {extra && <div style={{ marginRight: 8 }}>{extra}</div>}\n </div>\n );\n}\n\n// ============================================================\n// Adapter export\n// ============================================================\n\nexport const mantineAdapter = {\n name: \"mantine\",\n // §26.4 + §26.6: capability surface. Mantine-адаптер не реализует\n // chart/sparkline/statistic напрямую — primitive.jsx рендерит SVG-\n // fallback, капабилити явно документируют.\n capabilities: {\n primitive: {\n chart: { chartTypes: [\"line\", \"pie\"], fallback: \"svg\" },\n sparkline: { fallback: \"svg\" },\n statistic: false, // нет — используется chart-fallback или text-primitive\n heading: true, text: true, badge: true, avatar: true, paper: true,\n },\n shell: { modal: true, tabs: true },\n button: { primary: true, secondary: true, danger: true, intent: true, overflow: true },\n },\n parameter: {\n text: MantineTextInput,\n textarea: MantineTextarea,\n email: MantineEmail,\n url: MantineUrl,\n tel: MantineTel,\n number: MantineNumber,\n datetime: MantineDateTime,\n select: MantineSelect,\n // image и file оставляем на built-in — у них специфичная логика\n // FileReader→data URL (ImageControl.jsx). Адаптируем позже через\n // Mantine FileButton / Dropzone.\n },\n button: {\n primary: MantinePrimaryButton,\n secondary: MantineSecondaryButton,\n danger: MantineDangerButton,\n intent: MantineIntentButton,\n overflow: MantineOverflowMenu,\n },\n shell: {\n modal: MantineModalShell,\n tabs: MantineTabs,\n },\n primitive: {\n heading: MantineHeading,\n text: MantineText,\n badge: MantineBadge,\n avatar: MantineAvatar,\n paper: MantinePaper,\n },\n icon: {\n // resolve — функция (не компонент), используется <Icon> для lookup.\n // Принимает emoji-строку, возвращает React-компонент или null.\n resolve: resolveLucide,\n },\n};\n","import React from \"react\";\nimport {\n MantineProvider,\n ColorSchemeScript,\n localStorageColorSchemeManager,\n} from \"@mantine/core\";\nimport { DatesProvider } from \"@mantine/dates\";\nimport { registerUIAdapter } from \"@intent-driven/renderer\";\nimport { mantineAdapter } from \"./adapter.jsx\";\n\nimport \"@mantine/core/styles.css\";\nimport \"@mantine/dates/styles.css\";\n\n/**\n * Оборачивает приложение: регистрирует mantineAdapter в @intent-driven/renderer,\n * монтирует MantineProvider + DatesProvider с дефолтными настройками.\n */\nexport function MantineAdapterProvider({\n children,\n colorSchemeManager,\n theme = { primaryColor: \"indigo\" },\n datesSettings = { locale: \"ru\", firstDayOfWeek: 1, weekendDays: [0, 6] },\n defaultColorScheme = \"light\",\n}) {\n React.useEffect(() => {\n registerUIAdapter(mantineAdapter);\n }, []);\n\n return (\n <>\n <ColorSchemeScript defaultColorScheme={defaultColorScheme} />\n <MantineProvider\n defaultColorScheme={defaultColorScheme}\n colorSchemeManager={\n colorSchemeManager ?? localStorageColorSchemeManager({ key: \"idf_theme\" })\n }\n theme={theme}\n >\n <DatesProvider settings={datesSettings}>{children}</DatesProvider>\n </MantineProvider>\n </>\n );\n}\n"],"mappings":"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","names":["ImageIcon","import_core","import_dates","import_renderer","import_styles","import_jsx_runtime","React"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
declare namespace mantineAdapter {
|
|
2
|
+
export let name: string;
|
|
3
|
+
export namespace capabilities {
|
|
4
|
+
namespace primitive {
|
|
5
|
+
namespace chart {
|
|
6
|
+
let chartTypes: string[];
|
|
7
|
+
let fallback: string;
|
|
8
|
+
}
|
|
9
|
+
namespace sparkline {
|
|
10
|
+
let fallback_1: string;
|
|
11
|
+
export { fallback_1 as fallback };
|
|
12
|
+
}
|
|
13
|
+
let statistic: boolean;
|
|
14
|
+
let heading: boolean;
|
|
15
|
+
let text: boolean;
|
|
16
|
+
let badge: boolean;
|
|
17
|
+
let avatar: boolean;
|
|
18
|
+
let paper: boolean;
|
|
19
|
+
}
|
|
20
|
+
namespace shell {
|
|
21
|
+
let modal: boolean;
|
|
22
|
+
let tabs: boolean;
|
|
23
|
+
}
|
|
24
|
+
namespace button {
|
|
25
|
+
let primary: boolean;
|
|
26
|
+
let secondary: boolean;
|
|
27
|
+
let danger: boolean;
|
|
28
|
+
let intent: boolean;
|
|
29
|
+
let overflow: boolean;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export namespace parameter {
|
|
33
|
+
export { MantineTextInput as text };
|
|
34
|
+
export { MantineTextarea as textarea };
|
|
35
|
+
export { MantineEmail as email };
|
|
36
|
+
export { MantineUrl as url };
|
|
37
|
+
export { MantineTel as tel };
|
|
38
|
+
export { MantineNumber as number };
|
|
39
|
+
export { MantineDateTime as datetime };
|
|
40
|
+
export { MantineSelect as select };
|
|
41
|
+
}
|
|
42
|
+
export namespace button_1 {
|
|
43
|
+
export { MantinePrimaryButton as primary };
|
|
44
|
+
export { MantineSecondaryButton as secondary };
|
|
45
|
+
export { MantineDangerButton as danger };
|
|
46
|
+
export { MantineIntentButton as intent };
|
|
47
|
+
export { MantineOverflowMenu as overflow };
|
|
48
|
+
}
|
|
49
|
+
export { button_1 as button };
|
|
50
|
+
export namespace shell_1 {
|
|
51
|
+
export { MantineModalShell as modal };
|
|
52
|
+
export { MantineTabs as tabs };
|
|
53
|
+
}
|
|
54
|
+
export { shell_1 as shell };
|
|
55
|
+
export namespace primitive_1 {
|
|
56
|
+
export { MantineHeading as heading };
|
|
57
|
+
export { MantineText as text };
|
|
58
|
+
export { MantineBadge as badge };
|
|
59
|
+
export { MantineAvatar as avatar };
|
|
60
|
+
export { MantinePaper as paper };
|
|
61
|
+
}
|
|
62
|
+
export { primitive_1 as primitive };
|
|
63
|
+
export namespace icon {
|
|
64
|
+
export { resolveLucide as resolve };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
declare function MantineTextInput({ spec, value, onChange, error }: {
|
|
68
|
+
spec: any;
|
|
69
|
+
value: any;
|
|
70
|
+
onChange: any;
|
|
71
|
+
error: any;
|
|
72
|
+
}): any;
|
|
73
|
+
declare function MantineTextarea({ spec, value, onChange, error }: {
|
|
74
|
+
spec: any;
|
|
75
|
+
value: any;
|
|
76
|
+
onChange: any;
|
|
77
|
+
error: any;
|
|
78
|
+
}): any;
|
|
79
|
+
declare function MantineEmail({ spec, value, onChange, error }: {
|
|
80
|
+
spec: any;
|
|
81
|
+
value: any;
|
|
82
|
+
onChange: any;
|
|
83
|
+
error: any;
|
|
84
|
+
}): any;
|
|
85
|
+
declare function MantineUrl({ spec, value, onChange, error }: {
|
|
86
|
+
spec: any;
|
|
87
|
+
value: any;
|
|
88
|
+
onChange: any;
|
|
89
|
+
error: any;
|
|
90
|
+
}): any;
|
|
91
|
+
declare function MantineTel({ spec, value, onChange, error }: {
|
|
92
|
+
spec: any;
|
|
93
|
+
value: any;
|
|
94
|
+
onChange: any;
|
|
95
|
+
error: any;
|
|
96
|
+
}): any;
|
|
97
|
+
declare function MantineNumber({ spec, value, onChange, error }: {
|
|
98
|
+
spec: any;
|
|
99
|
+
value: any;
|
|
100
|
+
onChange: any;
|
|
101
|
+
error: any;
|
|
102
|
+
}): any;
|
|
103
|
+
/**
|
|
104
|
+
* DateTime control — две стратегии по spec.name:
|
|
105
|
+
* - pure time (startTime/endTime/time) → TimeInput (HH:MM)
|
|
106
|
+
* - date и остальное → DateInput с календарём
|
|
107
|
+
*
|
|
108
|
+
* Mantine 9: DateInput использует string ("YYYY-MM-DD"), TimeInput —
|
|
109
|
+
* обычный <input type="time">. Value передаём/принимаем как string.
|
|
110
|
+
*/
|
|
111
|
+
declare function MantineDateTime({ spec, value, onChange, error }: {
|
|
112
|
+
spec: any;
|
|
113
|
+
value: any;
|
|
114
|
+
onChange: any;
|
|
115
|
+
error: any;
|
|
116
|
+
}): any;
|
|
117
|
+
declare function MantineSelect({ spec, value, onChange, error }: {
|
|
118
|
+
spec: any;
|
|
119
|
+
value: any;
|
|
120
|
+
onChange: any;
|
|
121
|
+
error: any;
|
|
122
|
+
}): any;
|
|
123
|
+
declare function MantinePrimaryButton({ label, icon, onClick, disabled, title, size }: {
|
|
124
|
+
label: any;
|
|
125
|
+
icon: any;
|
|
126
|
+
onClick: any;
|
|
127
|
+
disabled: any;
|
|
128
|
+
title: any;
|
|
129
|
+
size: any;
|
|
130
|
+
}): any;
|
|
131
|
+
declare function MantineSecondaryButton({ label, icon, onClick, disabled, title, size }: {
|
|
132
|
+
label: any;
|
|
133
|
+
icon: any;
|
|
134
|
+
onClick: any;
|
|
135
|
+
disabled: any;
|
|
136
|
+
title: any;
|
|
137
|
+
size: any;
|
|
138
|
+
}): any;
|
|
139
|
+
declare function MantineDangerButton({ label, icon, onClick, disabled, title, size }: {
|
|
140
|
+
label: any;
|
|
141
|
+
icon: any;
|
|
142
|
+
onClick: any;
|
|
143
|
+
disabled: any;
|
|
144
|
+
title: any;
|
|
145
|
+
size: any;
|
|
146
|
+
}): any;
|
|
147
|
+
/**
|
|
148
|
+
* IntentButton-адаптер. Рендерит кнопку намерения через Mantine.
|
|
149
|
+
*
|
|
150
|
+
* Две формы рендера:
|
|
151
|
+
* - С текстовым label → Mantine Button (с leftSection-иконкой)
|
|
152
|
+
* - Только иконка (длинные label или без label) → Mantine ActionIcon
|
|
153
|
+
* (квадратная кнопка фиксированного размера, читабельная рядом)
|
|
154
|
+
*
|
|
155
|
+
* Variant выбирается по:
|
|
156
|
+
* - spec.variant (явный hint: "primary" | "secondary" | "danger")
|
|
157
|
+
* - spec.irreversibility (high → danger)
|
|
158
|
+
* - иначе default (subtle)
|
|
159
|
+
*/
|
|
160
|
+
declare function MantineIntentButton({ spec, onClick, disabled }: {
|
|
161
|
+
spec: any;
|
|
162
|
+
onClick: any;
|
|
163
|
+
disabled: any;
|
|
164
|
+
}): any;
|
|
165
|
+
/**
|
|
166
|
+
* Overflow menu — Mantine Menu. trigger-кнопка = ActionIcon с "⋯",
|
|
167
|
+
* при клике открывается dropdown c списком items (label + иконка).
|
|
168
|
+
*
|
|
169
|
+
* items: [{ key, label, icon, onClick }]
|
|
170
|
+
*/
|
|
171
|
+
declare function MantineOverflowMenu({ items, triggerIcon, triggerLabel }: {
|
|
172
|
+
items: any;
|
|
173
|
+
triggerIcon: any;
|
|
174
|
+
triggerLabel: any;
|
|
175
|
+
}): any;
|
|
176
|
+
/**
|
|
177
|
+
* Обёртка Mantine Modal как ModalShell.
|
|
178
|
+
*
|
|
179
|
+
* Заменяет inline-стилизованную ModalShell в FormModal.jsx — через неё
|
|
180
|
+
* автоматически улучшаются FormModal, ConfirmDialog, BulkWizard
|
|
181
|
+
* (они все используют ModalShell).
|
|
182
|
+
*
|
|
183
|
+
* Props: { onClose, children, title? }
|
|
184
|
+
*/
|
|
185
|
+
declare function MantineModalShell({ onClose, children, title }: {
|
|
186
|
+
onClose: any;
|
|
187
|
+
children: any;
|
|
188
|
+
title: any;
|
|
189
|
+
}): any;
|
|
190
|
+
/**
|
|
191
|
+
* Mantine Tabs как shell.tabs.
|
|
192
|
+
*
|
|
193
|
+
* items: [{ value, label, active }]. onSelect(value) — клик по табу.
|
|
194
|
+
* Кастом, потому что Mantine Tabs API немного отличается (controlled).
|
|
195
|
+
*/
|
|
196
|
+
declare function MantineTabs({ items, active, onSelect, extra }: {
|
|
197
|
+
items: any;
|
|
198
|
+
active: any;
|
|
199
|
+
onSelect: any;
|
|
200
|
+
extra: any;
|
|
201
|
+
}): any;
|
|
202
|
+
/**
|
|
203
|
+
* Primitive-компоненты получают текст/значение и стилевые подсказки
|
|
204
|
+
* напрямую (не через spec/ctx как parameter/button). Это самый низкий
|
|
205
|
+
* слой — просто обёртки над Mantine типографикой.
|
|
206
|
+
*/
|
|
207
|
+
declare function MantineHeading({ level, children }: {
|
|
208
|
+
level?: number;
|
|
209
|
+
children: any;
|
|
210
|
+
}): any;
|
|
211
|
+
declare function MantineText({ children, preset, style }: {
|
|
212
|
+
children: any;
|
|
213
|
+
preset: any;
|
|
214
|
+
style: any;
|
|
215
|
+
}): any;
|
|
216
|
+
declare function MantineBadge({ children, color }: {
|
|
217
|
+
children: any;
|
|
218
|
+
color: any;
|
|
219
|
+
}): any;
|
|
220
|
+
declare function MantineAvatar({ src, name, size }: {
|
|
221
|
+
src: any;
|
|
222
|
+
name: any;
|
|
223
|
+
size?: number;
|
|
224
|
+
}): any;
|
|
225
|
+
declare function MantinePaper({ children, padding, withBorder, style }: {
|
|
226
|
+
children: any;
|
|
227
|
+
padding: any;
|
|
228
|
+
withBorder: any;
|
|
229
|
+
style: any;
|
|
230
|
+
}): any;
|
|
231
|
+
declare function resolveLucide(emoji: any): any;
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Оборачивает приложение: регистрирует mantineAdapter в @intent-driven/renderer,
|
|
235
|
+
* монтирует MantineProvider + DatesProvider с дефолтными настройками.
|
|
236
|
+
*/
|
|
237
|
+
declare function MantineAdapterProvider({ children, colorSchemeManager, theme, datesSettings, defaultColorScheme, }: {
|
|
238
|
+
children: any;
|
|
239
|
+
colorSchemeManager: any;
|
|
240
|
+
theme?: {
|
|
241
|
+
primaryColor: string;
|
|
242
|
+
};
|
|
243
|
+
datesSettings?: {
|
|
244
|
+
locale: string;
|
|
245
|
+
firstDayOfWeek: number;
|
|
246
|
+
weekendDays: number[];
|
|
247
|
+
};
|
|
248
|
+
defaultColorScheme?: string;
|
|
249
|
+
}): any;
|
|
250
|
+
|
|
251
|
+
export { MantineAdapterProvider, mantineAdapter };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
declare namespace mantineAdapter {
|
|
2
|
+
export let name: string;
|
|
3
|
+
export namespace capabilities {
|
|
4
|
+
namespace primitive {
|
|
5
|
+
namespace chart {
|
|
6
|
+
let chartTypes: string[];
|
|
7
|
+
let fallback: string;
|
|
8
|
+
}
|
|
9
|
+
namespace sparkline {
|
|
10
|
+
let fallback_1: string;
|
|
11
|
+
export { fallback_1 as fallback };
|
|
12
|
+
}
|
|
13
|
+
let statistic: boolean;
|
|
14
|
+
let heading: boolean;
|
|
15
|
+
let text: boolean;
|
|
16
|
+
let badge: boolean;
|
|
17
|
+
let avatar: boolean;
|
|
18
|
+
let paper: boolean;
|
|
19
|
+
}
|
|
20
|
+
namespace shell {
|
|
21
|
+
let modal: boolean;
|
|
22
|
+
let tabs: boolean;
|
|
23
|
+
}
|
|
24
|
+
namespace button {
|
|
25
|
+
let primary: boolean;
|
|
26
|
+
let secondary: boolean;
|
|
27
|
+
let danger: boolean;
|
|
28
|
+
let intent: boolean;
|
|
29
|
+
let overflow: boolean;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export namespace parameter {
|
|
33
|
+
export { MantineTextInput as text };
|
|
34
|
+
export { MantineTextarea as textarea };
|
|
35
|
+
export { MantineEmail as email };
|
|
36
|
+
export { MantineUrl as url };
|
|
37
|
+
export { MantineTel as tel };
|
|
38
|
+
export { MantineNumber as number };
|
|
39
|
+
export { MantineDateTime as datetime };
|
|
40
|
+
export { MantineSelect as select };
|
|
41
|
+
}
|
|
42
|
+
export namespace button_1 {
|
|
43
|
+
export { MantinePrimaryButton as primary };
|
|
44
|
+
export { MantineSecondaryButton as secondary };
|
|
45
|
+
export { MantineDangerButton as danger };
|
|
46
|
+
export { MantineIntentButton as intent };
|
|
47
|
+
export { MantineOverflowMenu as overflow };
|
|
48
|
+
}
|
|
49
|
+
export { button_1 as button };
|
|
50
|
+
export namespace shell_1 {
|
|
51
|
+
export { MantineModalShell as modal };
|
|
52
|
+
export { MantineTabs as tabs };
|
|
53
|
+
}
|
|
54
|
+
export { shell_1 as shell };
|
|
55
|
+
export namespace primitive_1 {
|
|
56
|
+
export { MantineHeading as heading };
|
|
57
|
+
export { MantineText as text };
|
|
58
|
+
export { MantineBadge as badge };
|
|
59
|
+
export { MantineAvatar as avatar };
|
|
60
|
+
export { MantinePaper as paper };
|
|
61
|
+
}
|
|
62
|
+
export { primitive_1 as primitive };
|
|
63
|
+
export namespace icon {
|
|
64
|
+
export { resolveLucide as resolve };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
declare function MantineTextInput({ spec, value, onChange, error }: {
|
|
68
|
+
spec: any;
|
|
69
|
+
value: any;
|
|
70
|
+
onChange: any;
|
|
71
|
+
error: any;
|
|
72
|
+
}): any;
|
|
73
|
+
declare function MantineTextarea({ spec, value, onChange, error }: {
|
|
74
|
+
spec: any;
|
|
75
|
+
value: any;
|
|
76
|
+
onChange: any;
|
|
77
|
+
error: any;
|
|
78
|
+
}): any;
|
|
79
|
+
declare function MantineEmail({ spec, value, onChange, error }: {
|
|
80
|
+
spec: any;
|
|
81
|
+
value: any;
|
|
82
|
+
onChange: any;
|
|
83
|
+
error: any;
|
|
84
|
+
}): any;
|
|
85
|
+
declare function MantineUrl({ spec, value, onChange, error }: {
|
|
86
|
+
spec: any;
|
|
87
|
+
value: any;
|
|
88
|
+
onChange: any;
|
|
89
|
+
error: any;
|
|
90
|
+
}): any;
|
|
91
|
+
declare function MantineTel({ spec, value, onChange, error }: {
|
|
92
|
+
spec: any;
|
|
93
|
+
value: any;
|
|
94
|
+
onChange: any;
|
|
95
|
+
error: any;
|
|
96
|
+
}): any;
|
|
97
|
+
declare function MantineNumber({ spec, value, onChange, error }: {
|
|
98
|
+
spec: any;
|
|
99
|
+
value: any;
|
|
100
|
+
onChange: any;
|
|
101
|
+
error: any;
|
|
102
|
+
}): any;
|
|
103
|
+
/**
|
|
104
|
+
* DateTime control — две стратегии по spec.name:
|
|
105
|
+
* - pure time (startTime/endTime/time) → TimeInput (HH:MM)
|
|
106
|
+
* - date и остальное → DateInput с календарём
|
|
107
|
+
*
|
|
108
|
+
* Mantine 9: DateInput использует string ("YYYY-MM-DD"), TimeInput —
|
|
109
|
+
* обычный <input type="time">. Value передаём/принимаем как string.
|
|
110
|
+
*/
|
|
111
|
+
declare function MantineDateTime({ spec, value, onChange, error }: {
|
|
112
|
+
spec: any;
|
|
113
|
+
value: any;
|
|
114
|
+
onChange: any;
|
|
115
|
+
error: any;
|
|
116
|
+
}): any;
|
|
117
|
+
declare function MantineSelect({ spec, value, onChange, error }: {
|
|
118
|
+
spec: any;
|
|
119
|
+
value: any;
|
|
120
|
+
onChange: any;
|
|
121
|
+
error: any;
|
|
122
|
+
}): any;
|
|
123
|
+
declare function MantinePrimaryButton({ label, icon, onClick, disabled, title, size }: {
|
|
124
|
+
label: any;
|
|
125
|
+
icon: any;
|
|
126
|
+
onClick: any;
|
|
127
|
+
disabled: any;
|
|
128
|
+
title: any;
|
|
129
|
+
size: any;
|
|
130
|
+
}): any;
|
|
131
|
+
declare function MantineSecondaryButton({ label, icon, onClick, disabled, title, size }: {
|
|
132
|
+
label: any;
|
|
133
|
+
icon: any;
|
|
134
|
+
onClick: any;
|
|
135
|
+
disabled: any;
|
|
136
|
+
title: any;
|
|
137
|
+
size: any;
|
|
138
|
+
}): any;
|
|
139
|
+
declare function MantineDangerButton({ label, icon, onClick, disabled, title, size }: {
|
|
140
|
+
label: any;
|
|
141
|
+
icon: any;
|
|
142
|
+
onClick: any;
|
|
143
|
+
disabled: any;
|
|
144
|
+
title: any;
|
|
145
|
+
size: any;
|
|
146
|
+
}): any;
|
|
147
|
+
/**
|
|
148
|
+
* IntentButton-адаптер. Рендерит кнопку намерения через Mantine.
|
|
149
|
+
*
|
|
150
|
+
* Две формы рендера:
|
|
151
|
+
* - С текстовым label → Mantine Button (с leftSection-иконкой)
|
|
152
|
+
* - Только иконка (длинные label или без label) → Mantine ActionIcon
|
|
153
|
+
* (квадратная кнопка фиксированного размера, читабельная рядом)
|
|
154
|
+
*
|
|
155
|
+
* Variant выбирается по:
|
|
156
|
+
* - spec.variant (явный hint: "primary" | "secondary" | "danger")
|
|
157
|
+
* - spec.irreversibility (high → danger)
|
|
158
|
+
* - иначе default (subtle)
|
|
159
|
+
*/
|
|
160
|
+
declare function MantineIntentButton({ spec, onClick, disabled }: {
|
|
161
|
+
spec: any;
|
|
162
|
+
onClick: any;
|
|
163
|
+
disabled: any;
|
|
164
|
+
}): any;
|
|
165
|
+
/**
|
|
166
|
+
* Overflow menu — Mantine Menu. trigger-кнопка = ActionIcon с "⋯",
|
|
167
|
+
* при клике открывается dropdown c списком items (label + иконка).
|
|
168
|
+
*
|
|
169
|
+
* items: [{ key, label, icon, onClick }]
|
|
170
|
+
*/
|
|
171
|
+
declare function MantineOverflowMenu({ items, triggerIcon, triggerLabel }: {
|
|
172
|
+
items: any;
|
|
173
|
+
triggerIcon: any;
|
|
174
|
+
triggerLabel: any;
|
|
175
|
+
}): any;
|
|
176
|
+
/**
|
|
177
|
+
* Обёртка Mantine Modal как ModalShell.
|
|
178
|
+
*
|
|
179
|
+
* Заменяет inline-стилизованную ModalShell в FormModal.jsx — через неё
|
|
180
|
+
* автоматически улучшаются FormModal, ConfirmDialog, BulkWizard
|
|
181
|
+
* (они все используют ModalShell).
|
|
182
|
+
*
|
|
183
|
+
* Props: { onClose, children, title? }
|
|
184
|
+
*/
|
|
185
|
+
declare function MantineModalShell({ onClose, children, title }: {
|
|
186
|
+
onClose: any;
|
|
187
|
+
children: any;
|
|
188
|
+
title: any;
|
|
189
|
+
}): any;
|
|
190
|
+
/**
|
|
191
|
+
* Mantine Tabs как shell.tabs.
|
|
192
|
+
*
|
|
193
|
+
* items: [{ value, label, active }]. onSelect(value) — клик по табу.
|
|
194
|
+
* Кастом, потому что Mantine Tabs API немного отличается (controlled).
|
|
195
|
+
*/
|
|
196
|
+
declare function MantineTabs({ items, active, onSelect, extra }: {
|
|
197
|
+
items: any;
|
|
198
|
+
active: any;
|
|
199
|
+
onSelect: any;
|
|
200
|
+
extra: any;
|
|
201
|
+
}): any;
|
|
202
|
+
/**
|
|
203
|
+
* Primitive-компоненты получают текст/значение и стилевые подсказки
|
|
204
|
+
* напрямую (не через spec/ctx как parameter/button). Это самый низкий
|
|
205
|
+
* слой — просто обёртки над Mantine типографикой.
|
|
206
|
+
*/
|
|
207
|
+
declare function MantineHeading({ level, children }: {
|
|
208
|
+
level?: number;
|
|
209
|
+
children: any;
|
|
210
|
+
}): any;
|
|
211
|
+
declare function MantineText({ children, preset, style }: {
|
|
212
|
+
children: any;
|
|
213
|
+
preset: any;
|
|
214
|
+
style: any;
|
|
215
|
+
}): any;
|
|
216
|
+
declare function MantineBadge({ children, color }: {
|
|
217
|
+
children: any;
|
|
218
|
+
color: any;
|
|
219
|
+
}): any;
|
|
220
|
+
declare function MantineAvatar({ src, name, size }: {
|
|
221
|
+
src: any;
|
|
222
|
+
name: any;
|
|
223
|
+
size?: number;
|
|
224
|
+
}): any;
|
|
225
|
+
declare function MantinePaper({ children, padding, withBorder, style }: {
|
|
226
|
+
children: any;
|
|
227
|
+
padding: any;
|
|
228
|
+
withBorder: any;
|
|
229
|
+
style: any;
|
|
230
|
+
}): any;
|
|
231
|
+
declare function resolveLucide(emoji: any): any;
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Оборачивает приложение: регистрирует mantineAdapter в @intent-driven/renderer,
|
|
235
|
+
* монтирует MantineProvider + DatesProvider с дефолтными настройками.
|
|
236
|
+
*/
|
|
237
|
+
declare function MantineAdapterProvider({ children, colorSchemeManager, theme, datesSettings, defaultColorScheme, }: {
|
|
238
|
+
children: any;
|
|
239
|
+
colorSchemeManager: any;
|
|
240
|
+
theme?: {
|
|
241
|
+
primaryColor: string;
|
|
242
|
+
};
|
|
243
|
+
datesSettings?: {
|
|
244
|
+
locale: string;
|
|
245
|
+
firstDayOfWeek: number;
|
|
246
|
+
weekendDays: number[];
|
|
247
|
+
};
|
|
248
|
+
defaultColorScheme?: string;
|
|
249
|
+
}): any;
|
|
250
|
+
|
|
251
|
+
export { MantineAdapterProvider, mantineAdapter };
|