{"_id":"@composy/emoji-picker-vue","name":"@composy/emoji-picker-vue","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@composy/emoji-picker-vue","version":"0.0.1","description":"Vue 3 components for @composy/emoji-picker-core","keywords":["emoji-picker","vue3","component","ldesign"],"author":{"name":"LDesign Team"},"license":"MIT","type":"module","sideEffects":false,"exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","require":"./lib/index.cjs","default":"./es/index.js"},"./components":{"types":"./es/components/index.d.ts","import":"./es/components/index.js","require":"./lib/components/index.cjs","default":"./es/components/index.js"},"./components/*":{"types":"./es/components/*.d.ts","import":"./es/components/*.js","require":"./lib/components/*.cjs","default":"./es/components/*.js"},"./composables":{"types":"./es/composables/index.d.ts","import":"./es/composables/index.js","require":"./lib/composables/index.cjs","default":"./es/composables/index.js"},"./composables/*":{"types":"./es/composables/*.d.ts","import":"./es/composables/*.js","require":"./lib/composables/*.cjs","default":"./es/composables/*.js"},"./plugins/*":{"types":"./es/plugins/*.d.ts","import":"./es/plugins/*.js","require":"./lib/plugins/*.cjs","default":"./es/plugins/*.js"},"./types":{"types":"./es/types/index.d.ts","import":"./es/types/index.js","require":"./lib/types/index.cjs","default":"./es/types/index.js"},"./types/*":{"types":"./es/types/*.d.ts","import":"./es/types/*.js","require":"./lib/types/*.cjs","default":"./es/types/*.js"},"./index.css":"./dist/index.css","./index.min.css":"./dist/index.min.css","./style/index.css":"./lib/style/index.css","./style/index.less":"./es/style/index.less","./package.json":"./package.json"},"main":"./lib/index.cjs","module":"./es/index.js","types":"./es/index.d.ts","unpkg":"./dist/index.js","jsdelivr":"./dist/index.js","scripts":{"build":"ldesign-builder build","postbuild":"node --experimental-strip-types ../../../../scripts/index.ts workspace:ensure-package-outputs --cwd .. --target vue","lint":"eslint . --cache","lint:check":"eslint . --cache --max-warnings 0","lint:fix":"eslint . --cache --fix","test":"ltesting run:unit","test:run":"ltesting run:unit"},"dependencies":{"@composy/emoji-picker-core":"^0.0.1"},"peerDependencies":{"vue":"^3.5.32"},"devDependencies":{"@antfu/eslint-config":"9.1.0","@composy/builder":"^0.0.1","@composy/testing":"^0.0.1","eslint":"10.7.0","typescript":"5.9.3","vue":"3.5.39"},"publishConfig":{"registry":"http://npm.longrise.cn:6286/"},"typings":"./es/index.d.ts","browser":"./dist/index.js","_id":"@composy/emoji-picker-vue@0.0.1","_nodeVersion":"23.11.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-OpQRMgOF16x0thqDY6yg3SM+X8Y4IuJfB9kdDygHWSsIOJwsjZTpJlfBF7EVSB/vIEpzxq9ozPyU+JF2wxrE8w==","shasum":"0be79394c48f304f3d346094f8027d3ba2989fdb","tarball":"https://registry.npmjs.org/@composy/emoji-picker-vue/-/emoji-picker-vue-0.0.1.tgz","fileCount":119,"unpackedSize":267514,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD1KrpDTGB/jos9zPYk+iFWAusigF1rU5r5yxVC3qnWaQIgZx9v4OIbK1m4euhgjsQVJrinWIhRo1A7ZTJ4xabpbgI="}]},"_npmUser":{"name":"swimly","email":"979741120@qq.com"},"directories":{},"maintainers":[{"name":"swimly","email":"979741120@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/emoji-picker-vue_0.0.1_1786949096083_0.863943269255224"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T06:44:55.946Z","0.0.1":"2026-08-17T06:44:56.222Z","modified":"2026-08-17T06:44:57.091Z"},"maintainers":[{"name":"swimly","email":"979741120@qq.com"}],"description":"Vue 3 components for @composy/emoji-picker-core","keywords":["emoji-picker","vue3","component","ldesign"],"author":{"name":"LDesign Team"},"license":"MIT","readme":"# @composy/emoji-picker-vue\n\nVue 3 表情选择器组件包，提供 `EmojiPicker`、`EmojiButton` 组件和组合式函数。\n\n## 安装\n\n```bash\nnpm install @composy/emoji-picker-vue\n```\n\n## 快速开始\n\n```vue\n<script setup>\nimport { EmojiPicker } from '@composy/emoji-picker-vue';\n\nfunction onSelect(emoji) {\n  console.log(emoji.native);\n}\n</script>\n\n<template>\n  <EmojiPicker theme=\"light\" @select=\"onSelect\" />\n</template>\n```\n\n## 组件\n\n### EmojiPicker\n\n| Prop | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `theme` | `'light' \\| 'dark' \\| 'auto'` | `'light'` | 主题 |\n| `perLine` | `number` | `8` | 每行数量 |\n| `showSearch` | `boolean` | `true` | 显示搜索 |\n| `showRecent` | `boolean` | `true` | 显示最近使用 |\n| `showFavorites` | `boolean` | `true` | 显示收藏 |\n| `showPreview` | `boolean` | `true` | 显示预览 |\n| `showSkinTones` | `boolean` | `true` | 显示肤色 |\n\n| Event | 参数 | 说明 |\n|-------|------|------|\n| `select` | `Emoji` | 选择表情 |\n| `ready` | `EmojiPicker` | 准备就绪 |\n| `skin-tone-change` | `SkinTone` | 肤色变更 |\n| `category-change` | `string` | 分类变更 |\n| `search` | `SearchResult` | 搜索结果 |\n| `favorite-add` | `Emoji` | 添加收藏 |\n| `favorite-remove` | `Emoji` | 取消收藏 |\n\n### EmojiButton\n\n带弹出器的按钮组件，点击弹出表情选择器。\n\n```vue\n<EmojiButton theme=\"light\" button-text=\"😀\" @select=\"onSelect\" />\n```\n\n## 组合式函数\n\n```typescript\nimport { useEmojiPicker, useRecentEmojis, useFavoriteEmojis, useEmojiSearch } from '@composy/emoji-picker-vue';\n```\n\n| 函数 | 说明 |\n|------|------|\n| `useEmojiPicker(opts)` | 创建表情选择器实例 |\n| `useRecentEmojis(picker)` | 获取最近使用表情 |\n| `useFavoriteEmojis(picker)` | 获取收藏表情 |\n| `useEmojiSearch(picker)` | 搜索表情 |\n\n## 插件\n\n### Vue Plugin\n\n```typescript\nimport { EmojiPickerPlugin } from '@composy/emoji-picker-vue';\napp.use(EmojiPickerPlugin);\n```\n\n### Engine Plugin\n\n```typescript\nimport { createEmojiPickerPlugin } from '@composy/emoji-picker-vue';\n// 集成到 LDesign Engine\n```\n\n## 构建产物\n\n- `dist/` — UMD 压缩包\n- `es/` — ESM（preserveModules）\n- `esm/` — ESM（preserveModules）\n- `lib/` — CJS（preserveModules）\n\n## 开发\n\n```bash\npnpm run type-check   # 类型检查\npnpm run lint:check   # ESLint 检查\npnpm run build        # 构建\npnpm run test:run     # 运行测试\n```\n","readmeFilename":"README.md","_rev":"1-785f61cc3a24e707442c6f501ab7487d"}