Add Zod v4 and ComponentMeta type
This commit is contained in:
parent
8dc5ab32ce
commit
f197c58296
@ -39,39 +39,171 @@
|
|||||||
"import": "./dist/utilities/visually-hidden/index.js",
|
"import": "./dist/utilities/visually-hidden/index.js",
|
||||||
"require": "./dist/utilities/visually-hidden/index.cjs"
|
"require": "./dist/utilities/visually-hidden/index.cjs"
|
||||||
},
|
},
|
||||||
"./separator": { "solid": "./src/components/separator/index.ts", "import": "./dist/components/separator/index.js", "require": "./dist/components/separator/index.cjs" },
|
"./separator": {
|
||||||
"./toggle": { "solid": "./src/components/toggle/index.ts", "import": "./dist/components/toggle/index.js", "require": "./dist/components/toggle/index.cjs" },
|
"solid": "./src/components/separator/index.ts",
|
||||||
"./switch": { "solid": "./src/components/switch/index.ts", "import": "./dist/components/switch/index.js", "require": "./dist/components/switch/index.cjs" },
|
"import": "./dist/components/separator/index.js",
|
||||||
"./checkbox": { "solid": "./src/components/checkbox/index.ts", "import": "./dist/components/checkbox/index.js", "require": "./dist/components/checkbox/index.cjs" },
|
"require": "./dist/components/separator/index.cjs"
|
||||||
"./progress": { "solid": "./src/components/progress/index.ts", "import": "./dist/components/progress/index.js", "require": "./dist/components/progress/index.cjs" },
|
},
|
||||||
"./text-field": { "solid": "./src/components/text-field/index.ts", "import": "./dist/components/text-field/index.js", "require": "./dist/components/text-field/index.cjs" },
|
"./toggle": {
|
||||||
"./radio-group": { "solid": "./src/components/radio-group/index.ts", "import": "./dist/components/radio-group/index.js", "require": "./dist/components/radio-group/index.cjs" },
|
"solid": "./src/components/toggle/index.ts",
|
||||||
"./toggle-group": { "solid": "./src/components/toggle-group/index.ts", "import": "./dist/components/toggle-group/index.js", "require": "./dist/components/toggle-group/index.cjs" },
|
"import": "./dist/components/toggle/index.js",
|
||||||
"./collapsible": { "solid": "./src/components/collapsible/index.ts", "import": "./dist/components/collapsible/index.js", "require": "./dist/components/collapsible/index.cjs" },
|
"require": "./dist/components/toggle/index.cjs"
|
||||||
"./accordion": { "solid": "./src/components/accordion/index.ts", "import": "./dist/components/accordion/index.js", "require": "./dist/components/accordion/index.cjs" },
|
},
|
||||||
"./alert-dialog": { "solid": "./src/components/alert-dialog/index.ts", "import": "./dist/components/alert-dialog/index.js", "require": "./dist/components/alert-dialog/index.cjs" },
|
"./switch": {
|
||||||
"./tabs": { "solid": "./src/components/tabs/index.ts", "import": "./dist/components/tabs/index.js", "require": "./dist/components/tabs/index.cjs" },
|
"solid": "./src/components/switch/index.ts",
|
||||||
"./slider": { "solid": "./src/components/slider/index.ts", "import": "./dist/components/slider/index.js", "require": "./dist/components/slider/index.cjs" },
|
"import": "./dist/components/switch/index.js",
|
||||||
"./pagination": { "solid": "./src/components/pagination/index.ts", "import": "./dist/components/pagination/index.js", "require": "./dist/components/pagination/index.cjs" },
|
"require": "./dist/components/switch/index.cjs"
|
||||||
"./drawer": { "solid": "./src/components/drawer/index.ts", "import": "./dist/components/drawer/index.js", "require": "./dist/components/drawer/index.cjs" },
|
},
|
||||||
"./select": { "solid": "./src/components/select/index.ts", "import": "./dist/components/select/index.js", "require": "./dist/components/select/index.cjs" },
|
"./checkbox": {
|
||||||
"./combobox": { "solid": "./src/components/combobox/index.ts", "import": "./dist/components/combobox/index.js", "require": "./dist/components/combobox/index.cjs" },
|
"solid": "./src/components/checkbox/index.ts",
|
||||||
"./listbox": { "solid": "./src/components/listbox/index.ts", "import": "./dist/components/listbox/index.js", "require": "./dist/components/listbox/index.cjs" },
|
"import": "./dist/components/checkbox/index.js",
|
||||||
"./dropdown-menu": { "solid": "./src/components/dropdown-menu/index.ts", "import": "./dist/components/dropdown-menu/index.js", "require": "./dist/components/dropdown-menu/index.cjs" },
|
"require": "./dist/components/checkbox/index.cjs"
|
||||||
"./context-menu": { "solid": "./src/components/context-menu/index.ts", "import": "./dist/components/context-menu/index.js", "require": "./dist/components/context-menu/index.cjs" },
|
},
|
||||||
"./toast": { "solid": "./src/components/toast/index.ts", "import": "./dist/components/toast/index.js", "require": "./dist/components/toast/index.cjs" },
|
"./progress": {
|
||||||
"./tooltip": { "solid": "./src/components/tooltip/index.ts", "import": "./dist/components/tooltip/index.js", "require": "./dist/components/tooltip/index.cjs" },
|
"solid": "./src/components/progress/index.ts",
|
||||||
"./alert": { "solid": "./src/components/alert/index.ts", "import": "./dist/components/alert/index.js", "require": "./dist/components/alert/index.cjs" },
|
"import": "./dist/components/progress/index.js",
|
||||||
"./badge": { "solid": "./src/components/badge/index.ts", "import": "./dist/components/badge/index.js", "require": "./dist/components/badge/index.cjs" },
|
"require": "./dist/components/progress/index.cjs"
|
||||||
"./skeleton": { "solid": "./src/components/skeleton/index.ts", "import": "./dist/components/skeleton/index.js", "require": "./dist/components/skeleton/index.cjs" },
|
},
|
||||||
"./popover": { "solid": "./src/components/popover/index.ts", "import": "./dist/components/popover/index.js", "require": "./dist/components/popover/index.cjs" },
|
"./text-field": {
|
||||||
"./breadcrumbs": { "solid": "./src/components/breadcrumbs/index.ts", "import": "./dist/components/breadcrumbs/index.js", "require": "./dist/components/breadcrumbs/index.cjs" },
|
"solid": "./src/components/text-field/index.ts",
|
||||||
"./link": { "solid": "./src/components/link/index.ts", "import": "./dist/components/link/index.js", "require": "./dist/components/link/index.cjs" },
|
"import": "./dist/components/text-field/index.js",
|
||||||
"./button": { "solid": "./src/components/button/index.ts", "import": "./dist/components/button/index.js", "require": "./dist/components/button/index.cjs" },
|
"require": "./dist/components/text-field/index.cjs"
|
||||||
"./hover-card": { "solid": "./src/components/hover-card/index.ts", "import": "./dist/components/hover-card/index.js", "require": "./dist/components/hover-card/index.cjs" },
|
},
|
||||||
"./image": { "solid": "./src/components/image/index.ts", "import": "./dist/components/image/index.js", "require": "./dist/components/image/index.cjs" },
|
"./radio-group": {
|
||||||
"./meter": { "solid": "./src/components/meter/index.ts", "import": "./dist/components/meter/index.js", "require": "./dist/components/meter/index.cjs" },
|
"solid": "./src/components/radio-group/index.ts",
|
||||||
"./number-field": { "solid": "./src/components/number-field/index.ts", "import": "./dist/components/number-field/index.js", "require": "./dist/components/number-field/index.cjs" }
|
"import": "./dist/components/radio-group/index.js",
|
||||||
|
"require": "./dist/components/radio-group/index.cjs"
|
||||||
|
},
|
||||||
|
"./toggle-group": {
|
||||||
|
"solid": "./src/components/toggle-group/index.ts",
|
||||||
|
"import": "./dist/components/toggle-group/index.js",
|
||||||
|
"require": "./dist/components/toggle-group/index.cjs"
|
||||||
|
},
|
||||||
|
"./collapsible": {
|
||||||
|
"solid": "./src/components/collapsible/index.ts",
|
||||||
|
"import": "./dist/components/collapsible/index.js",
|
||||||
|
"require": "./dist/components/collapsible/index.cjs"
|
||||||
|
},
|
||||||
|
"./accordion": {
|
||||||
|
"solid": "./src/components/accordion/index.ts",
|
||||||
|
"import": "./dist/components/accordion/index.js",
|
||||||
|
"require": "./dist/components/accordion/index.cjs"
|
||||||
|
},
|
||||||
|
"./alert-dialog": {
|
||||||
|
"solid": "./src/components/alert-dialog/index.ts",
|
||||||
|
"import": "./dist/components/alert-dialog/index.js",
|
||||||
|
"require": "./dist/components/alert-dialog/index.cjs"
|
||||||
|
},
|
||||||
|
"./tabs": {
|
||||||
|
"solid": "./src/components/tabs/index.ts",
|
||||||
|
"import": "./dist/components/tabs/index.js",
|
||||||
|
"require": "./dist/components/tabs/index.cjs"
|
||||||
|
},
|
||||||
|
"./slider": {
|
||||||
|
"solid": "./src/components/slider/index.ts",
|
||||||
|
"import": "./dist/components/slider/index.js",
|
||||||
|
"require": "./dist/components/slider/index.cjs"
|
||||||
|
},
|
||||||
|
"./pagination": {
|
||||||
|
"solid": "./src/components/pagination/index.ts",
|
||||||
|
"import": "./dist/components/pagination/index.js",
|
||||||
|
"require": "./dist/components/pagination/index.cjs"
|
||||||
|
},
|
||||||
|
"./drawer": {
|
||||||
|
"solid": "./src/components/drawer/index.ts",
|
||||||
|
"import": "./dist/components/drawer/index.js",
|
||||||
|
"require": "./dist/components/drawer/index.cjs"
|
||||||
|
},
|
||||||
|
"./select": {
|
||||||
|
"solid": "./src/components/select/index.ts",
|
||||||
|
"import": "./dist/components/select/index.js",
|
||||||
|
"require": "./dist/components/select/index.cjs"
|
||||||
|
},
|
||||||
|
"./combobox": {
|
||||||
|
"solid": "./src/components/combobox/index.ts",
|
||||||
|
"import": "./dist/components/combobox/index.js",
|
||||||
|
"require": "./dist/components/combobox/index.cjs"
|
||||||
|
},
|
||||||
|
"./listbox": {
|
||||||
|
"solid": "./src/components/listbox/index.ts",
|
||||||
|
"import": "./dist/components/listbox/index.js",
|
||||||
|
"require": "./dist/components/listbox/index.cjs"
|
||||||
|
},
|
||||||
|
"./dropdown-menu": {
|
||||||
|
"solid": "./src/components/dropdown-menu/index.ts",
|
||||||
|
"import": "./dist/components/dropdown-menu/index.js",
|
||||||
|
"require": "./dist/components/dropdown-menu/index.cjs"
|
||||||
|
},
|
||||||
|
"./context-menu": {
|
||||||
|
"solid": "./src/components/context-menu/index.ts",
|
||||||
|
"import": "./dist/components/context-menu/index.js",
|
||||||
|
"require": "./dist/components/context-menu/index.cjs"
|
||||||
|
},
|
||||||
|
"./toast": {
|
||||||
|
"solid": "./src/components/toast/index.ts",
|
||||||
|
"import": "./dist/components/toast/index.js",
|
||||||
|
"require": "./dist/components/toast/index.cjs"
|
||||||
|
},
|
||||||
|
"./tooltip": {
|
||||||
|
"solid": "./src/components/tooltip/index.ts",
|
||||||
|
"import": "./dist/components/tooltip/index.js",
|
||||||
|
"require": "./dist/components/tooltip/index.cjs"
|
||||||
|
},
|
||||||
|
"./alert": {
|
||||||
|
"solid": "./src/components/alert/index.ts",
|
||||||
|
"import": "./dist/components/alert/index.js",
|
||||||
|
"require": "./dist/components/alert/index.cjs"
|
||||||
|
},
|
||||||
|
"./badge": {
|
||||||
|
"solid": "./src/components/badge/index.ts",
|
||||||
|
"import": "./dist/components/badge/index.js",
|
||||||
|
"require": "./dist/components/badge/index.cjs"
|
||||||
|
},
|
||||||
|
"./skeleton": {
|
||||||
|
"solid": "./src/components/skeleton/index.ts",
|
||||||
|
"import": "./dist/components/skeleton/index.js",
|
||||||
|
"require": "./dist/components/skeleton/index.cjs"
|
||||||
|
},
|
||||||
|
"./popover": {
|
||||||
|
"solid": "./src/components/popover/index.ts",
|
||||||
|
"import": "./dist/components/popover/index.js",
|
||||||
|
"require": "./dist/components/popover/index.cjs"
|
||||||
|
},
|
||||||
|
"./breadcrumbs": {
|
||||||
|
"solid": "./src/components/breadcrumbs/index.ts",
|
||||||
|
"import": "./dist/components/breadcrumbs/index.js",
|
||||||
|
"require": "./dist/components/breadcrumbs/index.cjs"
|
||||||
|
},
|
||||||
|
"./link": {
|
||||||
|
"solid": "./src/components/link/index.ts",
|
||||||
|
"import": "./dist/components/link/index.js",
|
||||||
|
"require": "./dist/components/link/index.cjs"
|
||||||
|
},
|
||||||
|
"./button": {
|
||||||
|
"solid": "./src/components/button/index.ts",
|
||||||
|
"import": "./dist/components/button/index.js",
|
||||||
|
"require": "./dist/components/button/index.cjs"
|
||||||
|
},
|
||||||
|
"./hover-card": {
|
||||||
|
"solid": "./src/components/hover-card/index.ts",
|
||||||
|
"import": "./dist/components/hover-card/index.js",
|
||||||
|
"require": "./dist/components/hover-card/index.cjs"
|
||||||
|
},
|
||||||
|
"./image": {
|
||||||
|
"solid": "./src/components/image/index.ts",
|
||||||
|
"import": "./dist/components/image/index.js",
|
||||||
|
"require": "./dist/components/image/index.cjs"
|
||||||
|
},
|
||||||
|
"./meter": {
|
||||||
|
"solid": "./src/components/meter/index.ts",
|
||||||
|
"import": "./dist/components/meter/index.js",
|
||||||
|
"require": "./dist/components/meter/index.cjs"
|
||||||
|
},
|
||||||
|
"./number-field": {
|
||||||
|
"solid": "./src/components/number-field/index.ts",
|
||||||
|
"import": "./dist/components/number-field/index.js",
|
||||||
|
"require": "./dist/components/number-field/index.cjs"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsdown",
|
"build": "tsdown",
|
||||||
@ -83,7 +215,8 @@
|
|||||||
"solid-js": "^1.9.0"
|
"solid-js": "^1.9.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@floating-ui/dom": "^1.7.6"
|
"@floating-ui/dom": "^1.7.6",
|
||||||
|
"zod": "^4.3.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@solidjs/testing-library": "^0.8.10",
|
"@solidjs/testing-library": "^0.8.10",
|
||||||
|
|||||||
10
packages/core/src/meta.ts
Normal file
10
packages/core/src/meta.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/**
|
||||||
|
* Metadata for MCP component discovery.
|
||||||
|
* Every component exports a Meta object conforming to this shape.
|
||||||
|
*/
|
||||||
|
export interface ComponentMeta {
|
||||||
|
readonly name: string;
|
||||||
|
readonly description: string;
|
||||||
|
readonly parts: readonly string[];
|
||||||
|
readonly requiredParts: readonly string[];
|
||||||
|
}
|
||||||
@ -19,5 +19,5 @@ export default defineConfig({
|
|||||||
dts: true,
|
dts: true,
|
||||||
clean: true,
|
clean: true,
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
external: ["solid-js", "solid-js/web", "solid-js/store"],
|
external: ["solid-js", "solid-js/web", "solid-js/store", "zod", "zod/v4"],
|
||||||
});
|
});
|
||||||
|
|||||||
3
pnpm-lock.yaml
generated
3
pnpm-lock.yaml
generated
@ -32,6 +32,9 @@ importers:
|
|||||||
'@floating-ui/dom':
|
'@floating-ui/dom':
|
||||||
specifier: ^1.7.6
|
specifier: ^1.7.6
|
||||||
version: 1.7.6
|
version: 1.7.6
|
||||||
|
zod:
|
||||||
|
specifier: ^4.3.6
|
||||||
|
version: 4.3.6
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@solidjs/testing-library':
|
'@solidjs/testing-library':
|
||||||
specifier: ^0.8.10
|
specifier: ^0.8.10
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user