{"_id":"@composy/emoji-picker-core","name":"@composy/emoji-picker-core","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@composy/emoji-picker-core","version":"0.0.1","description":"LDesign emoji picker library with search, categories, recent and favorites","keywords":["emoji","picker","emoticon","ldesign"],"author":{"name":"LDesign Team"},"license":"MIT","repository":{"type":"git","url":"https://gitee.com/ldesign-v1/ldesign-emoji-picker"},"type":"module","sideEffects":false,"exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","require":"./lib/index.cjs","default":"./es/index.js"},"./core":{"types":"./es/core/index.d.ts","import":"./es/core/index.js","require":"./lib/core/index.cjs","default":"./es/core/index.js"},"./core/*":{"types":"./es/core/*.d.ts","import":"./es/core/*.js","require":"./lib/core/*.cjs","default":"./es/core/*.js"},"./data/*":{"types":"./es/data/*.d.ts","import":"./es/data/*.js","require":"./lib/data/*.cjs","default":"./es/data/*.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"},"./utils":{"types":"./es/utils/index.d.ts","import":"./es/utils/index.js","require":"./lib/utils/index.cjs","default":"./es/utils/index.js"},"./utils/*":{"types":"./es/utils/*.d.ts","import":"./es/utils/*.js","require":"./lib/utils/*.cjs","default":"./es/utils/*.js"},"./package.json":"./package.json"},"main":"./lib/index.cjs","module":"./es/index.js","types":"./es/index.d.ts","unpkg":"./dist/index.min.js","jsdelivr":"./dist/index.min.js","scripts":{"build":"ldesign-builder build","postbuild":"node --experimental-strip-types ../../../../scripts/index.ts workspace:ensure-package-outputs --cwd .. --target core","lint":"eslint . --cache","lint:check":"eslint . --cache --max-warnings 0","lint:fix":"eslint . --cache --fix","type-check":"tsc --noEmit","test":"ltesting run:unit","test:run":"ltesting run:unit"},"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"},"publishConfig":{"registry":"http://npm.longrise.cn:6286/"},"typings":"./es/index.d.ts","browser":"./dist/index.js","_id":"@composy/emoji-picker-core@0.0.1","_nodeVersion":"23.11.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-iqX6a9h6oISK8bpjg6lgWvrXK4Kc5bdDRLzkl0ZA+Bamlb7Gz/H6NCLR3wV1WOJNaINd1N3CEr834JHIsRAfsg==","shasum":"26139e6f7c77e17b65c17f92c5e2b75370b7ebe9","tarball":"https://registry.npmjs.org/@composy/emoji-picker-core/-/emoji-picker-core-0.0.1.tgz","fileCount":279,"unpackedSize":1358910,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCivNdx2ebh8rIYG6Ikmh0F4czaSoFn+fnJ5qYKh2ylXQIhAKqw2/2w/Iy/CMFhhuFSnKjGhlWYoH2LhlCOIfp8m7cN"}]},"_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-core_0.0.1_1786948404654_0.6801450444777777"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T06:33:24.478Z","0.0.1":"2026-08-17T06:33:24.787Z","modified":"2026-08-17T06:33:25.021Z"},"maintainers":[{"name":"swimly","email":"979741120@qq.com"}],"description":"LDesign emoji picker library with search, categories, recent and favorites","keywords":["emoji","picker","emoticon","ldesign"],"repository":{"type":"git","url":"https://gitee.com/ldesign-v1/ldesign-emoji-picker"},"author":{"name":"LDesign Team"},"license":"MIT","readme":"# @composy/emoji-picker-core\n\nLDesign 表情选择器核心包，提供框架无关的表情选择、搜索、分类、最近使用和收藏功能。\n\n## 安装\n\n```bash\nnpm install @composy/emoji-picker-core\n```\n\n## 快速开始\n\n```typescript\nimport { EmojiPicker } from '@composy/emoji-picker-core';\n\nconst picker = new EmojiPicker({\n  container: '#emoji-container',\n  theme: 'light',\n  onSelect: (emoji) => console.log(emoji.native),\n});\n```\n\n## API\n\n### EmojiPicker\n\n| 方法 | 说明 |\n|------|------|\n| `search(query)` | 搜索表情 |\n| `setCategory(id)` | 切换分类 |\n| `setSkinTone(tone)` | 设置肤色 |\n| `select(emoji)` | 选择表情 |\n| `toggleFavorite(emoji)` | 切换收藏 |\n| `setThemeTokens(tokens)` | 运行时更新主题 token |\n| `destroy()` | 销毁实例 |\n\n### EmojiPopover\n\n```typescript\nimport { EmojiPopover } from '@composy/emoji-picker-core';\n\nconst popover = new EmojiPopover({\n  trigger: '#emoji-btn',\n  placement: 'bottom',\n  onSelect: (emoji) => console.log(emoji.native),\n});\n```\n\n## CSS 变量\n\n组件使用 `--ldesign-emoji-picker-*` 命名空间，桥接到 LDesign 全局 token：\n\n| 变量 | 默认值 |\n|------|--------|\n| `--ldesign-emoji-picker-bg` | `var(--ld-bg-surface)` |\n| `--ldesign-emoji-picker-fg` | `var(--ld-text-primary)` |\n| `--ldesign-emoji-picker-border` | `var(--ld-border)` |\n| `--ldesign-emoji-picker-brand` | `var(--ld-primary-default)` |\n| `--ldesign-emoji-picker-radius` | `var(--size-radius-md)` |\n| `--ldesign-emoji-picker-spacing` | `var(--size-spacing-sm)` |\n\n## Class 命名\n\n所有 class 使用 `ldesign-emoji-picker` 前缀，遵循 BEM 规范：\n\n- `ldesign-emoji-picker` — 根容器\n- `ldesign-emoji-picker__search` — 搜索区域\n- `ldesign-emoji-picker__grid` — 表情网格\n- `ldesign-emoji-picker__emoji` — 表情按钮\n- `ldesign-emoji-picker--dark` — 暗色主题修饰符\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-2fd38f0c642372b71312746d1535da76"}