{"_id":"@agentskillmania/skill-ui-portal","_rev":"3-bb50d8876a8f3511cf9a6284cd62a2fc","name":"@agentskillmania/skill-ui-portal","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@agentskillmania/skill-ui-portal","version":"0.1.0","author":{"name":"yusangeng","email":"yusangeng@outlook.com"},"license":"MIT","_id":"@agentskillmania/skill-ui-portal@0.1.0","maintainers":[{"name":"yusangeng","email":"yusangeng@outlook.com"}],"homepage":"https://github.com/agentskillmania/skill-ui#readme","bugs":{"url":"https://github.com/agentskillmania/skill-ui/issues"},"dist":{"shasum":"ed21edfe0e130f093316ebb77416c1694d37001c","tarball":"https://registry.npmjs.org/@agentskillmania/skill-ui-portal/-/skill-ui-portal-0.1.0.tgz","fileCount":185,"integrity":"sha512-EsB+d2sUPeEV7h9CdSoRrwMwbfDB5tAQ+K1Rk1kp/LQVCOfgIpEY/WUhzY2id4aOKXNSAK+FHb90SDOeasZwJg==","signatures":[{"sig":"MEYCIQCw8NEQn+5ej9v0dnZlR9DzgSFVEBpv22eelSEElh6h3wIhAJVBWX0I9jwuxpF2ABrvehXcKMvSN+HL97AyHuC2Lq6F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171648},"main":"dist/index.js","type":"module","_from":"file:agentskillmania-skill-ui-portal-0.1.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","storybook":"storybook dev -p 6006","test:unit":"vitest run test/unit","test:watch":"vitest watch test/unit","test:coverage":"vitest run test/unit --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"yusangeng","email":"yusangeng@outlook.com"},"_resolved":"/private/var/folders/dc/61lk2kgn1697rt0gd1s5jwf80000gn/T/84279077a27361d75b74f469b7cbdd9f/agentskillmania-skill-ui-portal-0.1.0.tgz","_integrity":"sha512-EsB+d2sUPeEV7h9CdSoRrwMwbfDB5tAQ+K1Rk1kp/LQVCOfgIpEY/WUhzY2id4aOKXNSAK+FHb90SDOeasZwJg==","repository":{"url":"git+https://github.com/agentskillmania/skill-ui.git","type":"git","directory":"packages/portal"},"_npmVersion":"11.6.1","description":"Portal/home page UI components for @agentskillmania — agents, skills, sessions browser.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lucide-react":"^0.460.0","@agentskillmania/skill-ui-theme":"0.1.0","@agentskillmania/skill-ui-shared":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.3.3","jsdom":"^29.0.1","react":"^19.0.0","vitest":"^2.0.0","i18next":"^24.0.0","react-dom":"^19.0.0","storybook":"^10.3.3","typescript":"^5.0.0","@types/react":"^19.0.0","react-i18next":"^15.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitest/coverage-v8":"^2.0.0","@storybook/addon-a11y":"^10.3.3","@storybook/addon-docs":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@chromatic-com/storybook":"^5.0.2","@testing-library/jest-dom":"^6.6.0"},"peerDependencies":{"antd":"^6.0.0","react":"^19.0.0","i18next":"^24.0.0","react-dom":"^19.0.0","react-i18next":"^15.0.0","@emotion/react":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-ui-portal_0.1.0_1786618103657_0.13216782251782822","host":"s3://npm-registry-packages-npm-production"},"deprecated":"RETIRED: removed from the skill-ui monorepo (unused — no internal or external consumers). Do not install."},"0.1.1":{"name":"@agentskillmania/skill-ui-portal","version":"0.1.1","author":{"name":"yusangeng","email":"yusangeng@outlook.com"},"license":"MIT","_id":"@agentskillmania/skill-ui-portal@0.1.1","maintainers":[{"name":"yusangeng","email":"yusangeng@outlook.com"}],"homepage":"https://github.com/agentskillmania/skill-ui#readme","bugs":{"url":"https://github.com/agentskillmania/skill-ui/issues"},"dist":{"shasum":"78cb0af05fb7eac4d3422c5e8ac88c86acb483e2","tarball":"https://registry.npmjs.org/@agentskillmania/skill-ui-portal/-/skill-ui-portal-0.1.1.tgz","fileCount":185,"integrity":"sha512-MeO1Yh1ZMiYWxnbc942sSF3eQ8ArkUfd6bEDZvjT0wfXaagtvkfPF0B+LqBhded4Xpy4+6qIhjovvV9idE1lvQ==","signatures":[{"sig":"MEQCIA5tB977YrSMT3GB7n2CMKbHJJfRG/PHT2l1fvd/pRr7AiB19hxGmG3c/LH5wHyCOWDuqndyf+bxGWvBvqMVq24Jxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171683},"main":"dist/index.js","type":"module","_from":"file:agentskillmania-skill-ui-portal-0.1.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","storybook":"storybook dev -p 6006","test:unit":"vitest run test/unit","test:watch":"vitest watch test/unit","test:coverage":"vitest run test/unit --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"yusangeng","email":"yusangeng@outlook.com"},"_resolved":"/private/var/folders/dc/61lk2kgn1697rt0gd1s5jwf80000gn/T/515679d3c93ec5ff082015067f77f555/agentskillmania-skill-ui-portal-0.1.1.tgz","_integrity":"sha512-MeO1Yh1ZMiYWxnbc942sSF3eQ8ArkUfd6bEDZvjT0wfXaagtvkfPF0B+LqBhded4Xpy4+6qIhjovvV9idE1lvQ==","repository":{"url":"git+https://github.com/agentskillmania/skill-ui.git","type":"git","directory":"packages/portal"},"_npmVersion":"11.6.1","description":"Portal/home page UI components for @agentskillmania — agents, skills, sessions browser.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"lucide-react":"^0.460.0","@ant-design/icons":"^6.1.1","@agentskillmania/skill-ui-theme":"0.1.0","@agentskillmania/skill-ui-shared":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.3.3","jsdom":"^29.0.1","react":"^19.0.0","vitest":"^2.0.0","i18next":"^24.0.0","react-dom":"^19.0.0","storybook":"^10.3.3","typescript":"^5.0.0","@types/react":"^19.0.0","react-i18next":"^15.0.0","@emotion/react":"^11.14.0","@types/react-dom":"^19.0.0","@vitest/coverage-v8":"^2.0.0","@storybook/addon-a11y":"^10.3.3","@storybook/addon-docs":"^10.3.3","@storybook/react-vite":"^10.3.3","@testing-library/react":"^16.3.2","@chromatic-com/storybook":"^5.0.2","@testing-library/jest-dom":"^6.6.0"},"peerDependencies":{"antd":"^6.0.0","react":"^19.0.0","i18next":"^24.0.0","react-dom":"^19.0.0","react-i18next":"^15.0.0","@emotion/react":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/skill-ui-portal_0.1.1_1786619708934_0.16715391352440023","host":"s3://npm-registry-packages-npm-production"},"deprecated":"RETIRED: removed from the skill-ui monorepo (unused — no internal or external consumers). Do not install."}},"time":{"created":"2026-08-13T10:48:23.537Z","modified":"2026-08-26T06:11:37.459Z","0.1.0":"2026-08-13T10:48:23.817Z","0.1.1":"2026-08-13T11:15:09.080Z"},"bugs":{"url":"https://github.com/agentskillmania/skill-ui/issues"},"author":{"name":"yusangeng","email":"yusangeng@outlook.com"},"license":"MIT","homepage":"https://github.com/agentskillmania/skill-ui#readme","repository":{"url":"git+https://github.com/agentskillmania/skill-ui.git","type":"git","directory":"packages/portal"},"description":"Portal/home page UI components for @agentskillmania — agents, skills, sessions browser.","maintainers":[{"name":"yusangeng","email":"yusangeng@outlook.com"}],"readme":"# @agentskillmania/skill-ui-portal\n\nPortal/home page UI components for the AgentSkillMania ecosystem.\n\n## Components\n\n- `Portal` — Main container with tabs, search, and resource grids/lists\n- `AgentCard` — Agent information card with chat/edit/delete actions\n- `SkillCard` — Skill information card with chat/edit/delete actions\n- `SessionRow` — Session list row with resume/delete actions\n- `PortalHeader` — Brand banner + global search\n\n## Hooks\n\n- `usePortalFilter` — Client-side filtering and search result generation\n\n## Usage\n\n```tsx\nimport { Portal, usePortalFilter } from '@agentskillmania/skill-ui-portal';\n\nfunction MyPage() {\n  const [activeTab, setActiveTab] = useState('skills');\n  // ... all state managed by consumer\n\n  return (\n    <Portal\n      activeTab={activeTab}\n      onTabChange={setActiveTab}\n      // ... all other props\n    />\n  );\n}\n```\n\n## Design Principle\n\n**Pure controlled component.** The Portal never manages data-related state internally.\nAll tab switching, searching, and pagination is controlled via props.\n","readmeFilename":"README.md"}