{"_id":"@admin-core/page-vue","_rev":"4-05552bfd575485ee36ebd0f87faf5963","name":"@admin-core/page-vue","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@admin-core/page-vue","version":"1.0.0","keywords":["admin","page","vue"],"author":"","license":"MIT","_id":"@admin-core/page-vue@1.0.0","maintainers":[{"name":"jackbo_vip","email":"jackbovip@163.com"}],"dist":{"shasum":"2b8510bf02c08a758aed9fc39d5e1d8fcb65ff19","tarball":"https://registry.npmjs.org/@admin-core/page-vue/-/page-vue-1.0.0.tgz","fileCount":101,"integrity":"sha512-dCwysG1gOW2fG9+0GKXcrVBeT5yx3IeKeuvN9KqJM+GyazQVXcSZKXtvB6YuFXvCLNxWDSLjCVTsKMGZ2HbAaA==","signatures":[{"sig":"MEYCIQDfFKMIqBb65dwW4Hwmqo0EfY/uMgzfSI3Y2CBpmaa2gwIhAMHqf/jclaBXzGaymBg7OPM0YfJIMGWOn7mWyWxw67O9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1560268},"main":"./dist/index.cjs","type":"module","_from":"file:admin-core-page-vue-1.0.0.tgz","types":"./dist/index.d.ts","unpkg":"./dist/index.global.js","module":"./dist/index.js","browser":"./dist/index.global.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/page-vue.css","./style.css":"./dist/page-vue.css"},"scripts":{"dev":"vite build --watch","lint":"eslint -c ../../../internal/build-config/configs/eslint/vue-disable-import-order.config.js src --max-warnings=0","test":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts","build":"pnpm run typecheck && vite build && vite build --config vite.cdn.config.ts --mode production && vite build --config vite.cdn.config.ts --mode development","test:run":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts run","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"jackbo_vip","email":"jackbovip@163.com"},"jsdelivr":"./dist/index.global.js","_resolved":"/private/var/folders/3p/zv0xm6450s12v1tvvxvxwr_80000gn/T/e6086b5b002896345b3f33207e3000fb/admin-core-page-vue-1.0.0.tgz","_integrity":"sha512-dCwysG1gOW2fG9+0GKXcrVBeT5yx3IeKeuvN9KqJM+GyazQVXcSZKXtvB6YuFXvCLNxWDSLjCVTsKMGZ2HbAaA==","repository":{"url":"","type":"git","directory":"packages/page/vue"},"_npmVersion":"11.6.2","description":"Vue 3 页面容器适配包，支持路由页与组件页","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"@admin-core/form-vue":"1.0.0","@admin-core/page-core":"1.0.0","@admin-core/table-vue":"1.0.0","@admin-core/shared-vue":"1.0.0","@admin-core/page-shared":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.27","vite":"^7.3.1","jsdom":"^26.1.0","eslint":"^9.39.2","vitest":"^4.0.17","vue-tsc":"^3.2.3","typescript":"^5.9.3","@types/node":"^25.0.9","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.3","@admin-core/tsconfig":"1.0.0"},"peerDependencies":{"vue":">=3.3.0","vxe-pc-ui":">=4.0.0","vxe-table":">=4.0.0"},"bundleDependencies":["@admin-core/page-core","@admin-core/page-shared","@admin-core/shared-vue"],"_npmOperationalInternal":{"tmp":"tmp/page-vue_1.0.0_1772271786470_0.7077528228899586","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@admin-core/page-vue","version":"1.0.1","keywords":["admin","page","vue"],"author":"","license":"MIT","_id":"@admin-core/page-vue@1.0.1","maintainers":[{"name":"jackbo_vip","email":"jackbovip@163.com"}],"dist":{"shasum":"92611f678d90fd7cae8bd456108cb3a499914a08","tarball":"https://registry.npmjs.org/@admin-core/page-vue/-/page-vue-1.0.1.tgz","fileCount":101,"integrity":"sha512-+nFLekWIEcLGZ272IWQr+fSp4cZzPijB6l8uc4tnu2NPlJnfpPp9S7Wz4zHZbVIL26Ihrv7b+A0iEqKDrVbmAw==","signatures":[{"sig":"MEUCID6iaFlnbuLEfher9RHo5znm+NqYhwZDKRD4pyD0br2sAiEA+kwTQ7WTM7Q2ATwB9WgeZ/M8NLS78JkL8z0aaOi+RCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1559745},"main":"./dist/index.cjs","type":"module","_from":"file:admin-core-page-vue-1.0.1.tgz","types":"./dist/index.d.ts","unpkg":"./dist/index.global.js","module":"./dist/index.js","browser":"./dist/index.global.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/page-vue.css","./style.css":"./dist/page-vue.css"},"scripts":{"dev":"vite build --watch","lint":"eslint -c ../../../internal/build-config/configs/eslint/vue-disable-import-order.config.js src --max-warnings=0","test":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts","build":"pnpm run typecheck && vite build && vite build --config vite.cdn.config.ts --mode production && vite build --config vite.cdn.config.ts --mode development","test:run":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts run","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"jackbo_vip","email":"jackbovip@163.com"},"jsdelivr":"./dist/index.global.js","_resolved":"/private/var/folders/3p/zv0xm6450s12v1tvvxvxwr_80000gn/T/6bf9c6ab5579e25568edefb92fba44c0/admin-core-page-vue-1.0.1.tgz","_integrity":"sha512-+nFLekWIEcLGZ272IWQr+fSp4cZzPijB6l8uc4tnu2NPlJnfpPp9S7Wz4zHZbVIL26Ihrv7b+A0iEqKDrVbmAw==","repository":{"url":"","type":"git","directory":"packages/page/vue"},"_npmVersion":"11.6.2","description":"Vue 3 页面容器适配包，支持路由页与组件页","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"@admin-core/form-vue":"1.0.1","@admin-core/page-core":"1.0.1","@admin-core/table-vue":"1.0.1","@admin-core/shared-vue":"1.0.1","@admin-core/page-shared":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.27","vite":"^7.3.1","jsdom":"^26.1.0","eslint":"^9.39.2","vitest":"^4.0.17","vue-tsc":"^3.2.3","typescript":"^5.9.3","@types/node":"^25.0.9","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.3","@admin-core/tsconfig":"1.0.1"},"peerDependencies":{"vue":">=3.3.0","vxe-pc-ui":">=4.0.0","vxe-table":">=4.0.0"},"bundleDependencies":["@admin-core/page-core","@admin-core/page-shared","@admin-core/shared-vue"],"_npmOperationalInternal":{"tmp":"tmp/page-vue_1.0.1_1772288303695_0.7719117390140713","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@admin-core/page-vue","version":"1.0.2","keywords":["admin","page","vue"],"author":"","license":"MIT","_id":"@admin-core/page-vue@1.0.2","maintainers":[{"name":"jackbo_vip","email":"jackbovip@163.com"}],"dist":{"shasum":"fbc2245484f10b6c84c92ee5f8645256b7f1397b","tarball":"https://registry.npmjs.org/@admin-core/page-vue/-/page-vue-1.0.2.tgz","fileCount":101,"integrity":"sha512-1vMfjKxxz7XTdtxZMea9IF63rtk58hsCGfAwrQ2fxt7O6TKjoLmbKIcUjR8Gf1FUhCOisylGfWz79BM/zOZ64w==","signatures":[{"sig":"MEYCIQDmC9SCfwmcGufnU36QlHbqJ8grKj1qct9hMlOOSqc6XAIhAKLb+Uw4+58yQG4ABZLzAIAa2Uu7cmpgF/mdNd8ug6oV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1560914},"main":"./dist/index.cjs","type":"module","_from":"file:admin-core-page-vue-1.0.2.tgz","types":"./dist/index.d.ts","unpkg":"./dist/index.global.js","module":"./dist/index.js","browser":"./dist/index.global.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/page-vue.css","./style.css":"./dist/page-vue.css"},"scripts":{"dev":"vite build --watch","lint":"eslint -c ../../../internal/build-config/configs/eslint/vue-disable-import-order.config.js src --max-warnings=0","test":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts","build":"pnpm run typecheck && vite build && vite build --config vite.cdn.config.ts --mode production && vite build --config vite.cdn.config.ts --mode development","test:run":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts run","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"jackbo_vip","email":"jackbovip@163.com"},"jsdelivr":"./dist/index.global.js","_resolved":"/private/var/folders/3p/zv0xm6450s12v1tvvxvxwr_80000gn/T/86a33b90c8a009eed38ad91bcbea5f6d/admin-core-page-vue-1.0.2.tgz","_integrity":"sha512-1vMfjKxxz7XTdtxZMea9IF63rtk58hsCGfAwrQ2fxt7O6TKjoLmbKIcUjR8Gf1FUhCOisylGfWz79BM/zOZ64w==","repository":{"url":"","type":"git","directory":"packages/page/vue"},"_npmVersion":"11.6.2","description":"Vue 3 页面容器适配包，支持路由页与组件页","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"@admin-core/form-vue":"1.0.2","@admin-core/page-core":"1.0.2","@admin-core/table-vue":"1.0.2","@admin-core/shared-vue":"1.0.1","@admin-core/page-shared":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.27","vite":"^7.3.1","jsdom":"^26.1.0","eslint":"^9.39.2","vitest":"^4.0.17","vue-tsc":"^3.2.3","typescript":"^5.9.3","@types/node":"^25.0.9","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.3","@admin-core/tsconfig":"1.0.1"},"peerDependencies":{"vue":">=3.3.0","vxe-pc-ui":">=4.0.0","vxe-table":">=4.0.0"},"bundleDependencies":["@admin-core/page-core","@admin-core/page-shared","@admin-core/shared-vue"],"_npmOperationalInternal":{"tmp":"tmp/page-vue_1.0.2_1772358962390_0.5742187318427687","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@admin-core/page-vue","version":"1.0.3","description":"Vue 3 页面容器适配包，支持路由页与组件页","type":"module","sideEffects":["*.css"],"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","browser":"./dist/index.global.js","unpkg":"./dist/index.global.js","jsdelivr":"./dist/index.global.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/page-vue.css","./style.css":"./dist/page-vue.css"},"dependencies":{"@admin-core/form-vue":"1.0.2","@admin-core/page-core":"1.0.2","@admin-core/page-shared":"1.0.2","@admin-core/shared-vue":"1.0.2","@admin-core/table-vue":"1.0.3"},"devDependencies":{"@admin-core/tsconfig":"1.0.1","@types/node":"^25.0.9","@vitejs/plugin-vue":"^6.0.3","@vue/test-utils":"^2.4.6","eslint":"^9.39.2","jsdom":"^26.1.0","typescript":"^5.9.3","vite":"^7.3.1","vite-plugin-dts":"^4.5.4","vitest":"^4.0.17","vue":"^3.5.27","vue-tsc":"^3.2.3"},"peerDependencies":{"vue":">=3.3.0","vxe-pc-ui":">=4.0.0","vxe-table":">=4.0.0"},"keywords":["admin","page","vue"],"author":"","license":"MIT","repository":{"type":"git","url":"","directory":"packages/page/vue"},"publishConfig":{"access":"public"},"scripts":{"build":"pnpm run typecheck && vite build && vite build --config vite.cdn.config.ts --mode production && vite build --config vite.cdn.config.ts --mode development","dev":"vite build --watch","test":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts","test:run":"vitest -c ../../../internal/build-config/configs/vitest/dom.config.ts run","lint":"eslint -c ../../../internal/build-config/configs/eslint/vue-disable-import-order.config.js src --max-warnings=0","typecheck":"vue-tsc --noEmit"},"_id":"@admin-core/page-vue@1.0.3","bundleDependencies":["@admin-core/page-core","@admin-core/page-shared","@admin-core/shared-vue"],"_integrity":"sha512-vc4hg3k1ZuIpLbrUNA+UCmCHi/TP8nwIvQgSbeWeGEfp3RSZA+TOtwOERFIAiGKhhIpDR6KvqFqdPJkRyGifUg==","_resolved":"/private/var/folders/3p/zv0xm6450s12v1tvvxvxwr_80000gn/T/7d01d2540e0dd6261c30837811564615/admin-core-page-vue-1.0.3.tgz","_from":"file:admin-core-page-vue-1.0.3.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-vc4hg3k1ZuIpLbrUNA+UCmCHi/TP8nwIvQgSbeWeGEfp3RSZA+TOtwOERFIAiGKhhIpDR6KvqFqdPJkRyGifUg==","shasum":"13bea52e704a6c723af22e7188415157e6a29475","tarball":"https://registry.npmjs.org/@admin-core/page-vue/-/page-vue-1.0.3.tgz","fileCount":101,"unpackedSize":1560391,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFfUaQ3q5+CDo7+vUsD9pcSMopZrqOnJDWqvTPSFbjiIAiEA3ojeLQCkdhvyxYsp5ogOqbr2NI+o35JfETpProkkEpo="}]},"_npmUser":{"name":"jackbo_vip","email":"jackbovip@163.com"},"directories":{},"maintainers":[{"name":"jackbo_vip","email":"jackbovip@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/page-vue_1.0.3_1772361714283_0.4265023913118642"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-28T09:43:06.349Z","modified":"2026-03-01T10:41:54.639Z","1.0.0":"2026-02-28T09:43:06.646Z","1.0.1":"2026-02-28T14:18:23.876Z","1.0.2":"2026-03-01T09:56:02.575Z","1.0.3":"2026-03-01T10:41:54.495Z"},"license":"MIT","keywords":["admin","page","vue"],"repository":{"type":"git","url":"","directory":"packages/page/vue"},"description":"Vue 3 页面容器适配包，支持路由页与组件页","maintainers":[{"name":"jackbo_vip","email":"jackbovip@163.com"}],"readme":"# @admin-core/page-vue\n\n简体中文 | [English](./README.en.md)\n\n`@admin-core/page-core` 的 Vue UI 适配层，提供路由页与组件页渲染。\n\n## 安装\n\n```bash\npnpm add @admin-core/page-vue\n```\n\n- `@admin-core/form-vue` 与 `@admin-core/table-vue` 为 `@admin-core/page-vue` 的内部依赖，业务侧无需额外安装。\n\n### CDN（生产/开发）\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@admin-core/page-vue/dist/index.global.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@admin-core/page-vue/dist/index.global.dev.js\"></script>\n```\n\n## 快速开始\n\n```ts\nimport { useAdminPage } from '@admin-core/page-vue';\n\nconst [Page] = useAdminPage({\n  pages: [\n    { key: 'dashboard', type: 'component', title: '仪表盘', component: DashboardPage },\n    { key: 'user', type: 'route', path: '/system/user', title: '用户管理' },\n  ],\n  scroll: true,\n});\n```\n\n- `scroll` 可全局配置，也可在每个 page 上用 `page.scroll` 覆盖。\n\n## 初始化\n\n```ts\nimport { setupAdminPageVue } from '@admin-core/page-vue';\n\nsetupAdminPageVue({\n  locale: 'zh-CN',\n  logLevel: 'warn',\n});\n```\n\n- 默认会自动执行 `setupAdminFormVue` 与 `setupAdminTableVue`。\n- 可通过 `form: false` 或 `table: false` 关闭自动 setup。\n\n## 查询表单 + 表格组合页\n\n```ts\nimport { useAdminPageQueryTable } from '@admin-core/page-vue';\n\nconst [PageQueryTable, api] = useAdminPageQueryTable({\n  formOptions: {\n    schema: [{ fieldName: 'name', component: 'input', label: 'Name' }],\n  },\n  tableOptions: {\n    gridOptions: {\n      columns: [{ field: 'name', title: 'Name' }],\n      data: [],\n    },\n  },\n});\n```\n\n- 组合页默认使用 `AdminSearchForm` 作为上方查询区，`AdminTable` 作为下方表格区。\n- `api.formApi`、`api.tableApi` 会透传暴露，支持直接调用。\n- 默认会在 `submit` 时执行 `tableApi.query`，在 `reset` 时执行 `tableApi.reload`。\n\n## 查询表格组合页用法\n\n### 1) 非受控模式（推荐）\n\n```ts\nconst [PageQueryTable, pageApi] = useAdminPageQueryTable({\n  formOptions,\n  tableOptions,\n});\n```\n\n### 2) 受控模式（外部 API 注入）\n\n```ts\nimport { createFormApi } from '@admin-core/form-vue';\nimport { createTableApi } from '@admin-core/table-vue';\nimport { useAdminPageQueryTable } from '@admin-core/page-vue';\n\nconst formApi = createFormApi({});\nconst tableApi = createTableApi({});\n\nconst [PageQueryTable] = useAdminPageQueryTable({\n  formApi,\n  tableApi,\n  formOptions,\n  tableOptions,\n});\n```\n\n### 3) bridge 参数映射\n\n```ts\nconst [PageQueryTable] = useAdminPageQueryTable({\n  bridge: {\n    mapParams: (values, { action }) => ({\n      ...values,\n      page: action === 'submit' ? 1 : undefined,\n      timestamp: Date.now(),\n    }),\n    queryOnSubmit: true,\n    reloadOnReset: true,\n  },\n  formOptions,\n  tableOptions,\n});\n```\n\n## API 说明\n\n### `useAdminPageQueryTable(options)`\n\n返回值：\n\n- `[PageQueryTableComponent, pageApi]`\n- `pageApi.formApi`：透传表单 API\n- `pageApi.tableApi`：透传表格 API\n- `pageApi.query(params?)`：透传到 `tableApi.query`\n- `pageApi.reload(params?)`：透传到 `tableApi.reload`\n\n`options` 关键字段：\n\n- `formOptions?: AdminFormProps`\n- `tableOptions?: AdminTableVueProps<TData, TFormValues>`\n- `fixed?: boolean`：是否固定为“页面不滚动、表格区滚动”（默认 `true`）\n- `formApi?: AdminFormApi`（可选，外部受控）\n- `tableApi?: AdminTableApi<TData, TFormValues>`（可选，外部受控）\n- `api?: AdminPageQueryTableApi<TData, TFormValues>`（可选，整体受控）\n- `bridge?: boolean | PageFormTableBridgeOptions<TFormValues, AdminFormApi, AdminTableApi<...>>`\n\nbridge 默认值：\n\n- `enabled: true`\n- `queryOnSubmit: true`\n- `reloadOnReset: true`\n\n## 组件插槽（`AdminPageQueryTable`）\n\n- `form`：自定义顶部查询区，插槽参数 `{ formApi, tableApi }`\n- `table`：自定义底部表格区，插槽参数 `{ formApi, tableApi }`\n- 其他未命名插槽会透传给内置 `AdminTable`（用于列渲染等场景）\n","readmeFilename":"README.md"}