提交 a9653bee 编写于 作者: ibizdev's avatar ibizdev

tony001 发布系统代码 [TrainSys,Mob]

上级 ba10527d
......@@ -6,6 +6,28 @@
并且此项目遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/).
## [Unreleased]
## [0.0.2] - 2023-11-12
### Fixed
- 修复表单重复器值规则无效
- 操作视图底部容器显示逻辑始终为true
- 数值选择器支持精度
- 工作流预制按钮 & 工作流按钮布局模式调整
- 样式调整
- 表单项支持动态标题
- 搜索栏支持搜索项占位
- 多数据部件支持项布局面板 & 优化触底加载文本
- 首页布局导航占位迁移
- 通用组件迁移
### Added
- 表单重复器按钮支持模型配置
- 新增日历视&图表视图
- 新增已支持部件视图
- 多数据视图打开工作流视图识别param09
- 编辑视图、多数据视图、分页导航视图、日历视图、图表石头部件视图支持
- 视图消息支持自定义按钮文本 `userTag`
## [0.0.1] - 2023-11-01
......
{
"name": "test-ionic",
"private": true,
"version": "0.0.1",
"version": "0.0.2",
"description": "An Ionic project",
"scripts": {
"dev": "vite",
......@@ -11,13 +11,13 @@
},
"dependencies": {
"@ibiz-template-package/vs-tree-ex": "^0.1.1",
"@ibiz-template/core": "0.2.6",
"@ibiz-template/mob-theme": "^0.2.6",
"@ibiz-template/mob-vue3-components": "0.0.1-alpha.17",
"@ibiz-template/model-helper": "0.2.9",
"@ibiz-template/runtime": "0.2.9",
"@ibiz-template/theme": "0.2.0",
"@ibiz-template/vue3-util": "0.2.9",
"@ibiz-template/core": "0.2.15",
"@ibiz-template/mob-theme": "^0.2.7",
"@ibiz-template/mob-vue3-components": "0.0.1-alpha.18",
"@ibiz-template/model-helper": "0.2.16",
"@ibiz-template/runtime": "0.2.16",
"@ibiz-template/theme": "0.2.13",
"@ibiz-template/vue3-util": "0.2.16",
"@ibiz/model-core": "^0.0.20",
"async-validator": "^4.2.5",
"dayjs": "^1.11.10",
......@@ -29,7 +29,7 @@
"qx-util": "^0.4.8",
"ramda": "^0.29.1",
"vant": "^4.7.2",
"vue": "^3.3.6",
"vue": "^3.3.8",
"vue-i18n": "^9.5.0",
"vue-router": "^4.2.5"
},
......
......@@ -7,28 +7,28 @@ settings:
dependencies:
'@ibiz-template-package/vs-tree-ex':
specifier: ^0.1.1
version: 0.1.1(vue@3.3.6)
version: 0.1.1(vue@3.3.8)
'@ibiz-template/core':
specifier: 0.2.6
version: 0.2.6(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
specifier: 0.2.15
version: 0.2.15(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/mob-theme':
specifier: ^0.2.6
version: 0.2.6
specifier: ^0.2.7
version: 0.2.7
'@ibiz-template/mob-vue3-components':
specifier: 0.0.1-alpha.17
version: 0.0.1-alpha.17(@ibiz-template/core@0.2.6)(@ibiz-template/model-helper@0.2.9)(@ibiz-template/runtime@0.2.9)(@ibiz-template/theme@0.2.0)(@ibiz-template/vue3-util@0.2.9)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(lodash-es@4.17.21)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vant@4.7.2)(vue-router@4.2.5)(vue@3.3.6)
specifier: 0.0.1-alpha.18
version: 0.0.1-alpha.18(@ibiz-template/core@0.2.15)(@ibiz-template/model-helper@0.2.16)(@ibiz-template/runtime@0.2.16)(@ibiz-template/theme@0.2.13)(@ibiz-template/vue3-util@0.2.16)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(lodash-es@4.17.21)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vant@4.7.2)(vue-router@4.2.5)(vue3-hash-calendar@1.1.3)(vue@3.3.8)
'@ibiz-template/model-helper':
specifier: 0.2.9
version: 0.2.9(@ibiz-template/runtime@0.2.9)(ramda@0.29.1)
specifier: 0.2.16
version: 0.2.16(@ibiz-template/runtime@0.2.16)(ramda@0.29.1)
'@ibiz-template/runtime':
specifier: 0.2.9
version: 0.2.9(@ibiz-template/core@0.2.6)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
specifier: 0.2.16
version: 0.2.16(@ibiz-template/core@0.2.15)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/theme':
specifier: 0.2.0
version: 0.2.0
specifier: 0.2.13
version: 0.2.13
'@ibiz-template/vue3-util':
specifier: 0.2.9
version: 0.2.9(@ibiz-template/core@0.2.6)(@ibiz-template/runtime@0.2.9)(@ibiz/model-core@0.0.20)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vue-router@4.2.5)(vue@3.3.6)
specifier: 0.2.16
version: 0.2.16(@ibiz-template/core@0.2.15)(@ibiz-template/runtime@0.2.16)(@ibiz/model-core@0.0.20)(path-browserify@1.0.1)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vue-router@4.2.5)(vue@3.3.8)
'@ibiz/model-core':
specifier: ^0.0.20
version: 0.0.20
......@@ -49,7 +49,7 @@ dependencies:
version: 4.17.21
pinia:
specifier: ^2.1.7
version: 2.1.7(typescript@5.2.2)(vue@3.3.6)
version: 2.1.7(typescript@5.2.2)(vue@3.3.8)
qs:
specifier: ^6.11.2
version: 6.11.2
......@@ -61,16 +61,16 @@ dependencies:
version: 0.29.1
vant:
specifier: ^4.7.2
version: 4.7.2(vue@3.3.6)
version: 4.7.2(vue@3.3.8)
vue:
specifier: ^3.3.6
version: 3.3.6(typescript@5.2.2)
specifier: ^3.3.8
version: 3.3.8(typescript@5.2.2)
vue-i18n:
specifier: ^9.5.0
version: 9.5.0(vue@3.3.6)
version: 9.5.0(vue@3.3.8)
vue-router:
specifier: ^4.2.5
version: 4.2.5(vue@3.3.6)
version: 4.2.5(vue@3.3.8)
devDependencies:
'@commitlint/cli':
......@@ -108,10 +108,10 @@ devDependencies:
version: 4.1.1(terser@5.22.0)(vite@4.5.0)
'@vitejs/plugin-vue':
specifier: ^4.4.0
version: 4.4.0(vite@4.5.0)(vue@3.3.6)
version: 4.4.0(vite@4.5.0)(vue@3.3.8)
'@vitejs/plugin-vue-jsx':
specifier: ^3.0.2
version: 3.0.2(vite@4.5.0)(vue@3.3.6)
version: 3.0.2(vite@4.5.0)(vue@3.3.8)
'@vue/babel-helper-vue-jsx-merge-props':
specifier: ^1.4.0
version: 1.4.0
......@@ -2082,17 +2082,17 @@ packages:
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
dev: true
/@ibiz-template-package/vs-tree-ex@0.1.1(vue@3.3.6):
/@ibiz-template-package/vs-tree-ex@0.1.1(vue@3.3.8):
resolution: {integrity: sha512-G6dLSIkxXlIMX6oUam8NdECMyIlpKP16aOnlLQFv6Hz11xjGe8vYstNqHXLMyhyyFTbpeAbitdaa0nklODy7/w==}
dependencies:
vue-demi: 0.14.6(vue@3.3.6)
vue-demi: 0.14.6(vue@3.3.8)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
dev: false
/@ibiz-template/core@0.2.6(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1):
resolution: {integrity: sha512-p3nHBTWJwNv7pkENoIUIvLGn/L8s+tRxSSWZqG/dwko3WYRU/vkZyhChl6RbbC+pz0A3k3b/WPVvCLWkEA30Eg==}
/@ibiz-template/core@0.2.15(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1):
resolution: {integrity: sha512-0y7SYmI9Zwl7AaRkomsl5cSw/6Fqz5DmhifdSwCXK3zbDRl7xPWQktA6bcxrFdxdP4hg6ugNliQ3B9th9NKBdQ==}
peerDependencies:
axios: ^1.4.0
lodash-es: ^4.17.21
......@@ -2110,14 +2110,14 @@ packages:
ramda: 0.29.1
dev: false
/@ibiz-template/mob-theme@0.2.6:
resolution: {integrity: sha512-ZIlg2qR8oe4Ts2K3lwg6sEZRnU5nDOflHPBFldr0LLzfOFjtZhbISh/GfXNNzKHOR4CR/ALFkZEkGDu8oTav4Q==}
/@ibiz-template/mob-theme@0.2.7:
resolution: {integrity: sha512-eMUGDtluZjhqhkYOACqasRpx9PDH4krHj8lfBMAXRpwzn4/fVuGwyJw5HesRiAzSO4SFL463O+A17/uVWzaxrw==}
dependencies:
'@ibiz-template/theme': 0.1.24
dev: false
/@ibiz-template/mob-vue3-components@0.0.1-alpha.17(@ibiz-template/core@0.2.6)(@ibiz-template/model-helper@0.2.9)(@ibiz-template/runtime@0.2.9)(@ibiz-template/theme@0.2.0)(@ibiz-template/vue3-util@0.2.9)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(lodash-es@4.17.21)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vant@4.7.2)(vue-router@4.2.5)(vue@3.3.6):
resolution: {integrity: sha512-eZycV5M49ikehzcw0P5AXQTyz7xrNkG7VS1APu89gysm+9Tkidb0iKGYhVB0E6Wg9Z0Wmq+10qvP4ca3YagH8g==}
/@ibiz-template/mob-vue3-components@0.0.1-alpha.18(@ibiz-template/core@0.2.15)(@ibiz-template/model-helper@0.2.16)(@ibiz-template/runtime@0.2.16)(@ibiz-template/theme@0.2.13)(@ibiz-template/vue3-util@0.2.16)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(lodash-es@4.17.21)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vant@4.7.2)(vue-router@4.2.5)(vue3-hash-calendar@1.1.3)(vue@3.3.8):
resolution: {integrity: sha512-Bz2j3jny8Fe0aGcn2PjrLBGaVpAlZ6svOwwGXJEQc+2pxZkzhE9kNjMdAbdwUHBhTiIsD5taSk4ewynDV056TQ==}
peerDependencies:
'@ibiz-template/core': ^0.1.3
'@ibiz-template/model-helper': ^0.1.3
......@@ -2133,31 +2133,33 @@ packages:
qs: ^6.11.1
qx-util: ^0.4.8
ramda: ^0.29.0
vant: ^4.6.3
vant: ^4.7.2
vue: ^3.3.4
vue-router: ^4.2.4
dependencies:
'@ibiz-template-package/vs-tree-ex': 0.1.1(vue@3.3.6)
'@ibiz-template/core': 0.2.6(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/model-helper': 0.2.9(@ibiz-template/runtime@0.2.9)(ramda@0.29.1)
'@ibiz-template/runtime': 0.2.9(@ibiz-template/core@0.2.6)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/theme': 0.2.0
'@ibiz-template/vue3-util': 0.2.9(@ibiz-template/core@0.2.6)(@ibiz-template/runtime@0.2.9)(@ibiz/model-core@0.0.20)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vue-router@4.2.5)(vue@3.3.6)
vue3-hash-calendar: ^1.1.3
dependencies:
'@ibiz-template-package/vs-tree-ex': 0.1.1(vue@3.3.8)
'@ibiz-template/core': 0.2.15(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/model-helper': 0.2.16(@ibiz-template/runtime@0.2.16)(ramda@0.29.1)
'@ibiz-template/runtime': 0.2.16(@ibiz-template/core@0.2.15)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/theme': 0.2.13
'@ibiz-template/vue3-util': 0.2.16(@ibiz-template/core@0.2.15)(@ibiz-template/runtime@0.2.16)(@ibiz/model-core@0.0.20)(path-browserify@1.0.1)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vue-router@4.2.5)(vue@3.3.8)
'@ibiz/model-core': 0.0.20
async-validator: 4.2.5
cherry-markdown: 0.8.26
dayjs: 1.11.10
echarts: 5.4.3
lodash-es: 4.17.21
pinia: 2.1.7(typescript@5.2.2)(vue@3.3.6)
pinia: 2.1.7(typescript@5.2.2)(vue@3.3.8)
qs: 6.11.2
qx-util: 0.4.8
ramda: 0.29.1
rolldate: 3.1.3
vant: 4.7.2(vue@3.3.6)
vue: 3.3.6(typescript@5.2.2)
vue-i18n: 9.5.0(vue@3.3.6)
vue-router: 4.2.5(vue@3.3.6)
vant: 4.7.2(vue@3.3.8)
vue: 3.3.8(typescript@5.2.2)
vue-i18n: 9.5.0(vue@3.3.8)
vue-router: 4.2.5(vue@3.3.8)
vue3-hash-calendar: 1.1.3(vue@3.3.8)
transitivePeerDependencies:
- '@vue/composition-api'
- bufferutil
......@@ -2166,23 +2168,23 @@ packages:
- utf-8-validate
dev: false
/@ibiz-template/model-helper@0.2.9(@ibiz-template/runtime@0.2.9)(ramda@0.29.1):
resolution: {integrity: sha512-85y0mHma/5KT3aW8XHqLAvkVE+1LhDB2/d+w0d4NF+avhjZTEhJQO0KJNwj/2UyDDV9mvBJJbg75+KfvLbmCQw==}
/@ibiz-template/model-helper@0.2.16(@ibiz-template/runtime@0.2.16)(ramda@0.29.1):
resolution: {integrity: sha512-LnZu3Fa8X466MDSoHODpVNhbq+Kd1vOmowbxj8AQyZ0iz70kUF1FjpMgi2r7EFMo3JKqsDKwddYhP3K5UN498A==}
peerDependencies:
'@ibiz-template/runtime': ^0.1.0
'@ibiz-template/runtime': ^0.2.13
ramda: ^0.29.0
dependencies:
'@ibiz-template/runtime': 0.2.9(@ibiz-template/core@0.2.6)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/runtime': 0.2.16(@ibiz-template/core@0.2.15)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz/model-core': 0.0.20
'@ibiz/rt-model-api': 0.1.22
'@ibiz/rt-model-api': 0.1.23
pluralize: 8.0.0
ramda: 0.29.1
dev: false
/@ibiz-template/runtime@0.2.9(@ibiz-template/core@0.2.6)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1):
resolution: {integrity: sha512-0WLnlyfMRglBiUK1Fiuv1udoFFB6x/llrV7a390SBIHfK1Q0+n5YUR4gzqslIKEiD1/vYdkzXBTXjM0NjNwZ3w==}
/@ibiz-template/runtime@0.2.16(@ibiz-template/core@0.2.15)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1):
resolution: {integrity: sha512-U+yVmQn0Gonpq5A99kQylq6nz6iXoRH26ykQ8HAazc5+JGuZvYQkOOkpGmQzrJktaaSfsE/mbyqyOIE/ztwj4A==}
peerDependencies:
'@ibiz-template/core': ^0.1.0
'@ibiz-template/core': ^0.2.13
'@ibiz/model-core': ^0.0.20
async-validator: ^4.2.5
dayjs: ^1.11.7
......@@ -2195,7 +2197,7 @@ packages:
qx-util: ^0.4.8
ramda: ^0.29.0
dependencies:
'@ibiz-template/core': 0.2.6(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/core': 0.2.15(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz/model-core': 0.0.20
async-validator: 4.2.5
dayjs: 1.11.10
......@@ -2213,40 +2215,42 @@ packages:
resolution: {integrity: sha512-DbKmxddgeUa1DoX2hPGbS9POE8DfyCqpJByZ9vzIDCPScRxDW9TV9N/kTINBedwSz+o+gx3IYH6u/9F+OHBNgw==}
dev: false
/@ibiz-template/theme@0.2.0:
resolution: {integrity: sha512-+vGZuIAH5tdLqfBJMoPUiKd3rqteIHU/NXChVWWLRChMxQolyfG8a47mo3MDmBcEqd4uxbmCV3ldW6U16rb9Mg==}
/@ibiz-template/theme@0.2.13:
resolution: {integrity: sha512-lMmNZJyAzv0udbqRbebuqT75BGc+sAIyO+qZT3sBKM6W2gpAvScZPWPjK/UVGdVpCinoQoNfMTF1xzuP7gXyJQ==}
dev: false
/@ibiz-template/vue3-util@0.2.9(@ibiz-template/core@0.2.6)(@ibiz-template/runtime@0.2.9)(@ibiz/model-core@0.0.20)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vue-router@4.2.5)(vue@3.3.6):
resolution: {integrity: sha512-zeM+6C2LmgnI7KsvvtjnmVdKXU/LIMbW36RZHU+7gz8ILoyk6Mvwjd670BTakClZG5fwjny8EKFES6ta+dmCGw==}
/@ibiz-template/vue3-util@0.2.16(@ibiz-template/core@0.2.15)(@ibiz-template/runtime@0.2.16)(@ibiz/model-core@0.0.20)(path-browserify@1.0.1)(pinia@2.1.7)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)(vue-router@4.2.5)(vue@3.3.8):
resolution: {integrity: sha512-aY59IGlRYJbIro4OUSVJ4Z4zhPcHX5r/byn5asSXTNKgL6SMtRXgKFklf4BHSh9RXWrCzpM0ZGPJqNOAbP38yw==}
peerDependencies:
'@ibiz-template/core': ^0.1.0
'@ibiz-template/runtime': ^0.1.0
'@ibiz-template/core': ^0.2.13
'@ibiz-template/runtime': ^0.2.13
'@ibiz/model-core': ^0.0.20
path-browserify: ^1.0.1
pinia: ^2.1.7
qs: ^6.11.1
qx-util: ^0.4.8
ramda: ^0.29.0
vue: ^3.3.4
vue-router: ^4.2.4
dependencies:
'@ibiz-template/core': 0.2.6(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/runtime': 0.2.9(@ibiz-template/core@0.2.6)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/core': 0.2.15(axios@1.4.0)(lodash-es@4.17.21)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz-template/runtime': 0.2.16(@ibiz-template/core@0.2.15)(@ibiz/model-core@0.0.20)(async-validator@4.2.5)(dayjs@1.11.10)(echarts@5.4.3)(handlebars@4.7.8)(lodash-es@4.17.21)(mqtt@2.18.9)(path-browserify@1.0.1)(qs@6.11.2)(qx-util@0.4.8)(ramda@0.29.1)
'@ibiz/model-core': 0.0.20
path-browserify: 1.0.1
pinia: 2.1.7(typescript@5.2.2)(vue@3.3.8)
qs: 6.11.2
qx-util: 0.4.8
ramda: 0.29.1
vue: 3.3.6(typescript@5.2.2)
vue-router: 4.2.5(vue@3.3.6)
vue: 3.3.8(typescript@5.2.2)
vue-router: 4.2.5(vue@3.3.8)
dev: false
/@ibiz/model-core@0.0.20:
resolution: {integrity: sha512-yukTtVxLYHYgxONNP2w41Ishl3r1mqE+qdt+GP0FEN29Q2NuXpc7AoVJkCqvPdXpvHkXf3e+NLpyHMpSHFfR6w==}
dev: false
/@ibiz/rt-model-api@0.1.22:
resolution: {integrity: sha512-X/IHoP8Fp3rjYCgmfm1i6MviDMEOKVFl/jGjAzJBo9rKnIdBgO+62Off2bJP932f6B5jksQnBCEK9KkdRGERyA==}
/@ibiz/rt-model-api@0.1.23:
resolution: {integrity: sha512-SOebM+KB04c6D0be3A9qrunvqCVbi9r86JM4JjKXhX7ixg2XrIC1oFPpWJbvlbMyttwS5JFfwVrzTPHlWULMHQ==}
dev: false
/@intlify/core-base@9.5.0:
......@@ -2704,12 +2708,12 @@ packages:
resolution: {integrity: sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==}
dev: false
/@vant/use@1.6.0(vue@3.3.6):
/@vant/use@1.6.0(vue@3.3.8):
resolution: {integrity: sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==}
peerDependencies:
vue: ^3.0.0
dependencies:
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: false
/@vitejs/plugin-legacy@4.1.1(terser@5.22.0)(vite@4.5.0):
......@@ -2732,7 +2736,7 @@ packages:
- supports-color
dev: true
/@vitejs/plugin-vue-jsx@3.0.2(vite@4.5.0)(vue@3.3.6):
/@vitejs/plugin-vue-jsx@3.0.2(vite@4.5.0)(vue@3.3.8):
resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
......@@ -2743,12 +2747,12 @@ packages:
'@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10)
'@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10)
vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0)
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
transitivePeerDependencies:
- supports-color
dev: true
/@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.6):
/@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.8):
resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
......@@ -2756,7 +2760,7 @@ packages:
vue: ^3.2.25
dependencies:
vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0)
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: true
/@volar/language-core@1.10.4:
......@@ -2804,39 +2808,39 @@ packages:
- supports-color
dev: true
/@vue/compiler-core@3.3.6:
resolution: {integrity: sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==}
/@vue/compiler-core@3.3.8:
resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==}
dependencies:
'@babel/parser': 7.23.0
'@vue/shared': 3.3.6
'@vue/shared': 3.3.8
estree-walker: 2.0.2
source-map-js: 1.0.2
/@vue/compiler-dom@3.3.6:
resolution: {integrity: sha512-1MxXcJYMHiTPexjLAJUkNs/Tw2eDf2tY3a0rL+LfuWyiKN2s6jvSwywH3PWD8bKICjfebX3GWx2Os8jkRDq3Ng==}
/@vue/compiler-dom@3.3.8:
resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==}
dependencies:
'@vue/compiler-core': 3.3.6
'@vue/shared': 3.3.6
'@vue/compiler-core': 3.3.8
'@vue/shared': 3.3.8
/@vue/compiler-sfc@3.3.6:
resolution: {integrity: sha512-/Kms6du2h1VrXFreuZmlvQej8B1zenBqIohP0690IUBkJjsFvJxY0crcvVRJ0UhMgSR9dewB+khdR1DfbpArJA==}
/@vue/compiler-sfc@3.3.8:
resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==}
dependencies:
'@babel/parser': 7.23.0
'@vue/compiler-core': 3.3.6
'@vue/compiler-dom': 3.3.6
'@vue/compiler-ssr': 3.3.6
'@vue/reactivity-transform': 3.3.6
'@vue/shared': 3.3.6
'@vue/compiler-core': 3.3.8
'@vue/compiler-dom': 3.3.8
'@vue/compiler-ssr': 3.3.8
'@vue/reactivity-transform': 3.3.8
'@vue/shared': 3.3.8
estree-walker: 2.0.2
magic-string: 0.30.5
postcss: 8.4.31
source-map-js: 1.0.2
/@vue/compiler-ssr@3.3.6:
resolution: {integrity: sha512-QTIHAfDCHhjXlYGkUg5KH7YwYtdUM1vcFl/FxFDlD6d0nXAmnjizka3HITp8DGudzHndv2PjKVS44vqqy0vP4w==}
/@vue/compiler-ssr@3.3.8:
resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==}
dependencies:
'@vue/compiler-dom': 3.3.6
'@vue/shared': 3.3.6
'@vue/compiler-dom': 3.3.8
'@vue/shared': 3.3.8
/@vue/devtools-api@6.5.0:
resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
......@@ -2873,8 +2877,8 @@ packages:
dependencies:
'@volar/language-core': 1.10.4
'@volar/source-map': 1.10.4
'@vue/compiler-dom': 3.3.6
'@vue/shared': 3.3.6
'@vue/compiler-dom': 3.3.8
'@vue/shared': 3.3.8
computeds: 0.0.1
minimatch: 9.0.3
muggle-string: 0.3.1
......@@ -2882,48 +2886,48 @@ packages:
vue-template-compiler: 2.7.14
dev: true
/@vue/reactivity-transform@3.3.6:
resolution: {integrity: sha512-RlJl4dHfeO7EuzU1iJOsrlqWyJfHTkJbvYz/IOJWqu8dlCNWtxWX377WI0VsbAgBizjwD+3ZjdnvSyyFW1YVng==}
/@vue/reactivity-transform@3.3.8:
resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==}
dependencies:
'@babel/parser': 7.23.0
'@vue/compiler-core': 3.3.6
'@vue/shared': 3.3.6
'@vue/compiler-core': 3.3.8
'@vue/shared': 3.3.8
estree-walker: 2.0.2
magic-string: 0.30.5
/@vue/reactivity@3.3.6:
resolution: {integrity: sha512-gtChAumfQz5lSy5jZXfyXbKrIYPf9XEOrIr6rxwVyeWVjFhJwmwPLtV6Yis+M9onzX++I5AVE9j+iPH60U+B8Q==}
/@vue/reactivity@3.3.8:
resolution: {integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==}
dependencies:
'@vue/shared': 3.3.6
'@vue/shared': 3.3.8
/@vue/runtime-core@3.3.6:
resolution: {integrity: sha512-qp7HTP1iw1UW2ZGJ8L3zpqlngrBKvLsDAcq5lA6JvEXHmpoEmjKju7ahM9W2p/h51h0OT5F2fGlP/gMhHOmbUA==}
/@vue/runtime-core@3.3.8:
resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==}
dependencies:
'@vue/reactivity': 3.3.6
'@vue/shared': 3.3.6
'@vue/reactivity': 3.3.8
'@vue/shared': 3.3.8
/@vue/runtime-dom@3.3.6:
resolution: {integrity: sha512-AoX3Cp8NqMXjLbIG9YR6n/pPLWE9TiDdk6wTJHFnl2GpHzDFH1HLBC9wlqqQ7RlnvN3bVLpzPGAAH00SAtOxHg==}
/@vue/runtime-dom@3.3.8:
resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==}
dependencies:
'@vue/runtime-core': 3.3.6
'@vue/shared': 3.3.6
'@vue/runtime-core': 3.3.8
'@vue/shared': 3.3.8
csstype: 3.1.2
/@vue/server-renderer@3.3.6(vue@3.3.6):
resolution: {integrity: sha512-kgLoN43W4ERdZ6dpyy+gnk2ZHtcOaIr5Uc/WUP5DRwutgvluzu2pudsZGoD2b7AEJHByUVMa9k6Sho5lLRCykw==}
/@vue/server-renderer@3.3.8(vue@3.3.8):
resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==}
peerDependencies:
vue: 3.3.6
vue: 3.3.8
dependencies:
'@vue/compiler-ssr': 3.3.6
'@vue/shared': 3.3.6
vue: 3.3.6(typescript@5.2.2)
'@vue/compiler-ssr': 3.3.8
'@vue/shared': 3.3.8
vue: 3.3.8(typescript@5.2.2)
/@vue/shared@3.3.4:
resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
dev: false
/@vue/shared@3.3.6:
resolution: {integrity: sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ==}
/@vue/shared@3.3.8:
resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==}
/@vue/typescript@1.8.20(typescript@5.2.2):
resolution: {integrity: sha512-F0XX1wK71Fo9ewtzLSCSo5dfOuwKrSi/dR2AlI00iTJ4Bfk0wq1BNTRgnlvfx4kz/vQovaGXqwpIkif14W9KrA==}
......@@ -7177,7 +7181,7 @@ packages:
engines: {node: '>=6'}
dev: true
/pinia@2.1.7(typescript@5.2.2)(vue@3.3.6):
/pinia@2.1.7(typescript@5.2.2)(vue@3.3.8):
resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==}
peerDependencies:
'@vue/composition-api': ^1.4.0
......@@ -7191,8 +7195,8 @@ packages:
dependencies:
'@vue/devtools-api': 6.5.0
typescript: 5.2.2
vue: 3.3.6(typescript@5.2.2)
vue-demi: 0.14.5(vue@3.3.6)
vue: 3.3.8(typescript@5.2.2)
vue-demi: 0.14.5(vue@3.3.8)
dev: false
/pluralize@8.0.0:
......@@ -8783,15 +8787,15 @@ packages:
spdx-expression-parse: 3.0.1
dev: true
/vant@4.7.2(vue@3.3.6):
/vant@4.7.2(vue@3.3.8):
resolution: {integrity: sha512-rRVyEA8HwDKaHDLnT8x9pHv2bYfziKO76yH13Us2aUMEhx5AM/rNDJIMz0mn4G4pTKRR/UTkuqk3kVFf1Mn0wA==}
peerDependencies:
vue: ^3.0.0
dependencies:
'@vant/popperjs': 1.3.0
'@vant/use': 1.6.0(vue@3.3.6)
'@vant/use': 1.6.0(vue@3.3.8)
'@vue/shared': 3.3.4
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: false
/vite-plugin-eslint@1.8.1(eslint@8.52.0)(vite@4.5.0):
......@@ -8845,7 +8849,7 @@ packages:
fsevents: 2.3.2
dev: true
/vue-demi@0.14.5(vue@3.3.6):
/vue-demi@0.14.5(vue@3.3.8):
resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==}
engines: {node: '>=12'}
hasBin: true
......@@ -8857,10 +8861,10 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: false
/vue-demi@0.14.6(vue@3.3.6):
/vue-demi@0.14.6(vue@3.3.8):
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
engines: {node: '>=12'}
hasBin: true
......@@ -8872,7 +8876,7 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: false
/vue-eslint-parser@9.3.2(eslint@8.52.0):
......@@ -8893,7 +8897,7 @@ packages:
- supports-color
dev: true
/vue-i18n@9.5.0(vue@3.3.6):
/vue-i18n@9.5.0(vue@3.3.8):
resolution: {integrity: sha512-NiI3Ph1qMstNf7uhYh8trQBOBFLxeJgcOxBq51pCcZ28Vs18Y7BDS58r8HGDKCYgXdLUYqPDXdKatIF4bvBVZg==}
engines: {node: '>= 16'}
peerDependencies:
......@@ -8902,16 +8906,16 @@ packages:
'@intlify/core-base': 9.5.0
'@intlify/shared': 9.5.0
'@vue/devtools-api': 6.5.0
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: false
/vue-router@4.2.5(vue@3.3.6):
/vue-router@4.2.5(vue@3.3.8):
resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==}
peerDependencies:
vue: ^3.2.0
dependencies:
'@vue/devtools-api': 6.5.0
vue: 3.3.6(typescript@5.2.2)
vue: 3.3.8(typescript@5.2.2)
dev: false
/vue-template-compiler@2.7.14:
......@@ -8933,19 +8937,27 @@ packages:
typescript: 5.2.2
dev: true
/vue@3.3.6(typescript@5.2.2):
resolution: {integrity: sha512-jJIDETeWJnoY+gfn4ZtMPMS5KtbP4ax+CT4dcQFhTnWEk8xMupFyQ0JxL28nvT/M4+p4a0ptxaV2WY0LiIxvRg==}
/vue3-hash-calendar@1.1.3(vue@3.3.8):
resolution: {integrity: sha512-BQyr3NtzlUOzEqb8e28TpIETtFdpvv6N90S4dSljYOqkK83hQKaMzKF2KEfuFqQwA1FOfK1eUS2lJgITSAnL4A==}
peerDependencies:
vue: ^3.0.0
dependencies:
vue: 3.3.8(typescript@5.2.2)
dev: false
/vue@3.3.8(typescript@5.2.2):
resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@vue/compiler-dom': 3.3.6
'@vue/compiler-sfc': 3.3.6
'@vue/runtime-dom': 3.3.6
'@vue/server-renderer': 3.3.6(vue@3.3.6)
'@vue/shared': 3.3.6
'@vue/compiler-dom': 3.3.8
'@vue/compiler-sfc': 3.3.8
'@vue/runtime-dom': 3.3.8
'@vue/server-renderer': 3.3.8(vue@3.3.8)
'@vue/shared': 3.3.8
typescript: 5.2.2
/w3c-hr-time@1.0.2:
......
......@@ -32,6 +32,7 @@
"styles": {
"@ibiz-template-package/vs-tree-ex": "../js/@ibiz-template-package/vs-tree-ex/0.1.1/vs-tree.css",
"cherry-markdown": "../js/cherry-markdown/0.8.26/cherry-markdown.min.css",
"@ibiz-template/vue3-util": "../js/@ibiz-template/vue3-util/index.min.css",
"@ibiz-template/mob-vue3-components": "../js/@ibiz-template/mob-vue3-components/index.min.css"
}
}
import {
useViewStack,
routerCallback,
} from '@ibiz-template/mob-vue3-components';
import { useViewStack } from '@ibiz-template/mob-vue3-components';
import { routerCallback } from '@ibiz-template/vue3-util';
import { Modal, ViewMode } from '@ibiz-template/runtime';
import { defineComponent, onUnmounted, ref } from 'vue';
import './App.scss';
......
import { App, Component, createApp } from 'vue';
import { App, Component, createApp, KeepAlive } from 'vue';
import MobVue3Components, {
i18n,
loadingDirective,
piniaInstance,
} from '@ibiz-template/mob-vue3-components';
import Vant, { allowMultipleToast } from 'vant';
import { piniaInstance } from '@ibiz-template/vue3-util';
import UserRegister from './user-register';
// 允许同时存在多个 toast
......@@ -25,6 +25,9 @@ export function createVueApp(
rootProps?: IData,
): App<Element> {
const app = createApp(rootComponent, rootProps);
app.component('KeepAlive', KeepAlive);
// 全局 Vue 异常处理
app.config.errorHandler = function (err: unknown): void {
ibiz.util.error.handle(err);
......
......@@ -7,10 +7,9 @@ import {
ModalUtil,
NotificationUtil,
OpenViewUtil,
OverlayContainer,
OverlayController,
} from '@ibiz-template/mob-vue3-components';
import { PluginFactory } from '@ibiz-template/vue3-util';
import { OverlayContainer, PluginFactory } from '@ibiz-template/vue3-util';
import App from './App';
import { attachEnvironmentConfig } from './attach-environment-config';
import { createVueApp } from './create-vue-app';
......
import { Router, createRouter, createWebHashHistory } from 'vue-router';
import {
AppRedirectView,
View404,
LoginView,
useViewStack,
} from '@ibiz-template/mob-vue3-components';
import { Modal, ViewMode } from '@ibiz-template/runtime';
import { isNilOrEmpty } from 'qx-util';
import { AppRedirectView } from '@ibiz-template/vue3-util';
import { AuthGuard } from '../guard';
import { RouterShell, HomeView } from '@/components';
......
因为 它太大了无法显示 源差异 。您可以改为 查看blob
因为 它太大了无法显示 源差异 。您可以改为 查看blob
import { computed as computed$1, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, Ref, ReactiveFlags, ReactiveEffect, EffectScope, ComputedRef, DebuggerOptions, reactive } from '@vue/reactivity';
export { ComputedGetter, ComputedRef, ComputedSetter, CustomRefFactory, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, EffectScheduler, EffectScope, MaybeRef, MaybeRefOrGetter, Raw, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags, Ref, ShallowReactive, ShallowRef, ShallowUnwrapRef, ToRef, ToRefs, TrackOpTypes, TriggerOpTypes, UnwrapNestedRefs, UnwrapRef, WritableComputedOptions, WritableComputedRef, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
import { IfAny, Prettify, SlotFlags, UnionToIntersection, LooseRequired } from '@vue/shared';
export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
export declare const computed: typeof computed$1;
export type Slot<T extends any = any> = (...args: IfAny<T, any[], [T] | (T extends undefined ? [] : never)>) => VNode[];
type InternalSlots = {
[name: string]: Slot | undefined;
};
export type Slots = Readonly<InternalSlots>;
declare const SlotSymbol: unique symbol;
export type SlotsType<T extends Record<string, any> = Record<string, any>> = {
[SlotSymbol]?: T;
};
type StrictUnwrapSlotsType<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<T>;
type UnwrapSlotsType<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<Prettify<{
[K in keyof T]: NonNullable<T[K]> extends (...args: any[]) => any ? T[K] : Slot<T[K]>;
}>>;
type RawSlots = {
[name: string]: unknown;
$stable?: boolean;
/* removed internal: _ctx */
/* removed internal: _ */
};
interface SchedulerJob extends Function {
id?: number;
pre?: boolean;
active?: boolean;
computed?: boolean;
/**
* Indicates whether the effect is allowed to recursively trigger itself
* when managed by the scheduler.
*
* By default, a job cannot trigger itself because some built-in method calls,
* e.g. Array.prototype.push actually performs reads as well (#1740) which
* can lead to confusing infinite loops.
* The allowed cases are component update functions and watch callbacks.
* Component update functions may update child component props, which in turn
* trigger flush: "pre" watch callbacks that mutates state that the parent
* relies on (#1801). Watch callbacks doesn't track its dependencies so if it
* triggers itself again, it's likely intentional and it is the user's
* responsibility to perform recursive state mutation that eventually
* stabilizes (#1727).
*/
allowRecurse?: boolean;
/**
* Attached by renderer.ts when setting up a component's render effect
* Used to obtain component information when reporting max recursive updates.
* dev only.
*/
ownerInstance?: ComponentInternalInstance;
}
type SchedulerJobs = SchedulerJob | SchedulerJob[];
export declare function nextTick<T = void>(this: T, fn?: (this: T) => void): Promise<void>;
export declare function queuePostFlushCb(cb: SchedulerJobs): void;
export type ObjectEmitsOptions = Record<string, ((...args: any[]) => any) | null>;
export type EmitsOptions = ObjectEmitsOptions | string[];
type EmitsToProps<T extends EmitsOptions> = T extends string[] ? {
[K in string & `on${Capitalize<T[number]>}`]?: (...args: any[]) => any;
} : T extends ObjectEmitsOptions ? {
[K in string & `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}` ? T[Uncapitalize<C>] extends null ? (...args: any[]) => any : (...args: T[Uncapitalize<C>] extends (...args: infer P) => any ? P : never) => any : never;
} : {};
type EmitFn<Options = ObjectEmitsOptions, Event extends keyof Options = keyof Options> = Options extends Array<infer V> ? (event: V, ...args: any[]) => void : {} extends Options ? (event: string, ...args: any[]) => void : UnionToIntersection<{
[key in Event]: Options[key] extends (...args: infer Args) => any ? (event: key, ...args: Args) => void : (event: key, ...args: any[]) => void;
}[Event]>;
/**
* Custom properties added to component instances in any way and can be accessed through `this`
*
* @example
* Here is an example of adding a property `$router` to every component instance:
* ```ts
* import { createApp } from 'vue'
* import { Router, createRouter } from 'vue-router'
*
* declare module '@vue/runtime-core' {
* interface ComponentCustomProperties {
* $router: Router
* }
* }
*
* // effectively adding the router to every component instance
* const app = createApp({})
* const router = createRouter()
* app.config.globalProperties.$router = router
*
* const vm = app.mount('#app')
* // we can access the router from the instance
* vm.$router.push('/')
* ```
*/
export interface ComponentCustomProperties {
}
type IsDefaultMixinComponent<T> = T extends ComponentOptionsMixin ? ComponentOptionsMixin extends T ? true : false : false;
type MixinToOptionTypes<T> = T extends ComponentOptionsBase<infer P, infer B, infer D, infer C, infer M, infer Mixin, infer Extends, any, any, infer Defaults, any, any, any> ? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> & IntersectionMixin<Mixin> & IntersectionMixin<Extends> : never;
type ExtractMixin<T> = {
Mixin: MixinToOptionTypes<T>;
}[T extends ComponentOptionsMixin ? 'Mixin' : never];
type IntersectionMixin<T> = IsDefaultMixinComponent<T> extends true ? OptionTypesType<{}, {}, {}, {}, {}> : UnionToIntersection<ExtractMixin<T>>;
type UnwrapMixinsType<T, Type extends OptionTypesKeys> = T extends OptionTypesType ? T[Type] : never;
type EnsureNonVoid<T> = T extends void ? {} : T;
type ComponentPublicInstanceConstructor<T extends ComponentPublicInstance<Props, RawBindings, D, C, M> = ComponentPublicInstance<any>, Props = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = {
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
new (...args: any[]): T;
};
export type CreateComponentPublicInstance<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>, PublicP = UnwrapMixinsType<PublicMixin, 'P'> & EnsureNonVoid<P>, PublicB = UnwrapMixinsType<PublicMixin, 'B'> & EnsureNonVoid<B>, PublicD = UnwrapMixinsType<PublicMixin, 'D'> & EnsureNonVoid<D>, PublicC extends ComputedOptions = UnwrapMixinsType<PublicMixin, 'C'> & EnsureNonVoid<C>, PublicM extends MethodOptions = UnwrapMixinsType<PublicMixin, 'M'> & EnsureNonVoid<M>, PublicDefaults = UnwrapMixinsType<PublicMixin, 'Defaults'> & EnsureNonVoid<Defaults>> = ComponentPublicInstance<PublicP, PublicB, PublicD, PublicC, PublicM, E, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, Defaults, {}, string, S>, I, S>;
export type ComponentPublicInstance<P = {}, // props type extracted from props option
B = {}, // raw bindings returned from setup()
D = {}, // return from data()
C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}> = {
$: ComponentInternalInstance;
$data: D;
$props: Prettify<MakeDefaultsOptional extends true ? Partial<Defaults> & Omit<P & PublicProps, keyof Defaults> : P & PublicProps>;
$attrs: Data;
$refs: Data;
$slots: UnwrapSlotsType<S>;
$root: ComponentPublicInstance | null;
$parent: ComponentPublicInstance | null;
$emit: EmitFn<E>;
$el: any;
$options: Options & MergedComponentOptionsOverride;
$forceUpdate: () => void;
$nextTick: typeof nextTick;
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R]) => any : (...args: any) => any, options?: WatchOptions): WatchStopHandle;
} & P & ShallowUnwrapRef<B> & UnwrapNestedRefs<D> & ExtractComputedReturns<C> & M & ComponentCustomProperties & InjectToObject<I>;
declare const enum LifecycleHooks {
BEFORE_CREATE = "bc",
CREATED = "c",
BEFORE_MOUNT = "bm",
MOUNTED = "m",
BEFORE_UPDATE = "bu",
UPDATED = "u",
BEFORE_UNMOUNT = "bum",
UNMOUNTED = "um",
DEACTIVATED = "da",
ACTIVATED = "a",
RENDER_TRIGGERED = "rtg",
RENDER_TRACKED = "rtc",
ERROR_CAPTURED = "ec",
SERVER_PREFETCH = "sp"
}
export interface SuspenseProps {
onResolve?: () => void;
onPending?: () => void;
onFallback?: () => void;
timeout?: string | number;
/**
* Allow suspense to be captured by parent suspense
*
* @default false
*/
suspensible?: boolean;
}
declare const SuspenseImpl: {
name: string;
__isSuspense: boolean;
process(n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals): void;
hydrate: typeof hydrateSuspense;
create: typeof createSuspenseBoundary;
normalize: typeof normalizeSuspenseChildren;
};
export declare const Suspense: {
new (): {
$props: VNodeProps & SuspenseProps;
$slots: {
default(): VNode[];
fallback(): VNode[];
};
};
__isSuspense: true;
};
export interface SuspenseBoundary {
vnode: VNode<RendererNode, RendererElement, SuspenseProps>;
parent: SuspenseBoundary | null;
parentComponent: ComponentInternalInstance | null;
isSVG: boolean;
container: RendererElement;
hiddenContainer: RendererElement;
anchor: RendererNode | null;
activeBranch: VNode | null;
pendingBranch: VNode | null;
deps: number;
pendingId: number;
timeout: number;
isInFallback: boolean;
isHydrating: boolean;
isUnmounted: boolean;
effects: Function[];
resolve(force?: boolean, sync?: boolean): void;
fallback(fallbackVNode: VNode): void;
move(container: RendererElement, anchor: RendererNode | null, type: MoveType): void;
next(): RendererNode | null;
registerDep(instance: ComponentInternalInstance, setupRenderEffect: SetupRenderEffectFn): void;
unmount(parentSuspense: SuspenseBoundary | null, doRemove?: boolean): void;
}
declare function createSuspenseBoundary(vnode: VNode, parentSuspense: SuspenseBoundary | null, parentComponent: ComponentInternalInstance | null, container: RendererElement, hiddenContainer: RendererElement, anchor: RendererNode | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, isHydrating?: boolean): SuspenseBoundary;
declare function hydrateSuspense(node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, hydrateNode: (node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
declare function normalizeSuspenseChildren(vnode: VNode): void;
export type RootHydrateFunction = (vnode: VNode<Node, Element>, container: (Element | ShadowRoot) & {
_vnode?: VNode;
}) => void;
export interface Renderer<HostElement = RendererElement> {
render: RootRenderFunction<HostElement>;
createApp: CreateAppFunction<HostElement>;
}
export interface HydrationRenderer extends Renderer<Element | ShadowRoot> {
hydrate: RootHydrateFunction;
}
export type RootRenderFunction<HostElement = RendererElement> = (vnode: VNode | null, container: HostElement, isSVG?: boolean) => void;
export interface RendererOptions<HostNode = RendererNode, HostElement = RendererElement> {
patchProp(el: HostElement, key: string, prevValue: any, nextValue: any, isSVG?: boolean, prevChildren?: VNode<HostNode, HostElement>[], parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, unmountChildren?: UnmountChildrenFn): void;
insert(el: HostNode, parent: HostElement, anchor?: HostNode | null): void;
remove(el: HostNode): void;
createElement(type: string, isSVG?: boolean, isCustomizedBuiltIn?: string, vnodeProps?: (VNodeProps & {
[key: string]: any;
}) | null): HostElement;
createText(text: string): HostNode;
createComment(text: string): HostNode;
setText(node: HostNode, text: string): void;
setElementText(node: HostElement, text: string): void;
parentNode(node: HostNode): HostElement | null;
nextSibling(node: HostNode): HostNode | null;
querySelector?(selector: string): HostElement | null;
setScopeId?(el: HostElement, id: string): void;
cloneNode?(node: HostNode): HostNode;
insertStaticContent?(content: string, parent: HostElement, anchor: HostNode | null, isSVG: boolean, start?: HostNode | null, end?: HostNode | null): [HostNode, HostNode];
}
export interface RendererNode {
[key: string]: any;
}
export interface RendererElement extends RendererNode {
}
interface RendererInternals<HostNode = RendererNode, HostElement = RendererElement> {
p: PatchFn;
um: UnmountFn;
r: RemoveFn;
m: MoveFn;
mt: MountComponentFn;
mc: MountChildrenFn;
pc: PatchChildrenFn;
pbc: PatchBlockChildrenFn;
n: NextFn;
o: RendererOptions<HostNode, HostElement>;
}
type PatchFn = (n1: VNode | null, // null means this is a mount
n2: VNode, container: RendererElement, anchor?: RendererNode | null, parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, isSVG?: boolean, slotScopeIds?: string[] | null, optimized?: boolean) => void;
type MountChildrenFn = (children: VNodeArrayChildren, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, start?: number) => void;
type PatchChildrenFn = (n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean) => void;
type PatchBlockChildrenFn = (oldChildren: VNode[], newChildren: VNode[], fallbackContainer: RendererElement, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null) => void;
type MoveFn = (vnode: VNode, container: RendererElement, anchor: RendererNode | null, type: MoveType, parentSuspense?: SuspenseBoundary | null) => void;
type NextFn = (vnode: VNode) => RendererNode | null;
type UnmountFn = (vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean) => void;
type RemoveFn = (vnode: VNode) => void;
type UnmountChildrenFn = (children: VNode[], parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean, start?: number) => void;
type MountComponentFn = (initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, optimized: boolean) => void;
type SetupRenderEffectFn = (instance: ComponentInternalInstance, initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, optimized: boolean) => void;
declare const enum MoveType {
ENTER = 0,
LEAVE = 1,
REORDER = 2
}
/**
* The createRenderer function accepts two generic arguments:
* HostNode and HostElement, corresponding to Node and Element types in the
* host environment. For example, for runtime-dom, HostNode would be the DOM
* `Node` interface and HostElement would be the DOM `Element` interface.
*
* Custom renderers can pass in the platform specific types like this:
*
* ``` js
* const { render, createApp } = createRenderer<Node, Element>({
* patchProp,
* ...nodeOps
* })
* ```
*/
export declare function createRenderer<HostNode = RendererNode, HostElement = RendererElement>(options: RendererOptions<HostNode, HostElement>): Renderer<HostElement>;
export declare function createHydrationRenderer(options: RendererOptions<Node, Element>): HydrationRenderer;
type MatchPattern = string | RegExp | (string | RegExp)[];
export interface KeepAliveProps {
include?: MatchPattern;
exclude?: MatchPattern;
max?: number | string;
isKey?: boolean;
}
export declare const KeepAlive: {
new (): {
$props: VNodeProps & KeepAliveProps;
$slots: {
default(): VNode[];
};
};
__isKeepAlive: true;
};
export declare function onActivated(hook: Function, target?: ComponentInternalInstance | null): void;
export declare function onDeactivated(hook: Function, target?: ComponentInternalInstance | null): void;
export declare const onBeforeMount: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onMounted: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onBeforeUpdate: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onUpdated: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onBeforeUnmount: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onUnmounted: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onServerPrefetch: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
type DebuggerHook = (e: DebuggerEvent) => void;
export declare const onRenderTriggered: (hook: DebuggerHook, target?: ComponentInternalInstance | null) => false | Function | undefined;
export declare const onRenderTracked: (hook: DebuggerHook, target?: ComponentInternalInstance | null) => false | Function | undefined;
type ErrorCapturedHook<TError = unknown> = (err: TError, instance: ComponentPublicInstance | null, info: string) => boolean | void;
export declare function onErrorCaptured<TError = Error>(hook: ErrorCapturedHook<TError>, target?: ComponentInternalInstance | null): void;
export type ComponentPropsOptions<P = Data> = ComponentObjectPropsOptions<P> | string[];
export type ComponentObjectPropsOptions<P = Data> = {
[K in keyof P]: Prop<P[K]> | null;
};
export type Prop<T, D = T> = PropOptions<T, D> | PropType<T>;
type DefaultFactory<T> = (props: Data) => T | null | undefined;
interface PropOptions<T = any, D = T> {
type?: PropType<T> | true | null;
required?: boolean;
default?: D | DefaultFactory<D> | null | undefined | object;
validator?(value: unknown): boolean;
/* removed internal: skipCheck */
/* removed internal: skipFactory */
}
export type PropType<T> = PropConstructor<T> | PropConstructor<T>[];
type PropConstructor<T = any> = {
new (...args: any[]): T & {};
} | {
(): T;
} | PropMethod<T>;
type PropMethod<T, TConstructor = any> = [T] extends [
((...args: any) => any) | undefined
] ? {
new (): TConstructor;
(): T;
readonly prototype: TConstructor;
} : never;
type RequiredKeys<T> = {
[K in keyof T]: T[K] extends {
required: true;
} | {
default: any;
} | BooleanConstructor | {
type: BooleanConstructor;
} ? T[K] extends {
default: undefined | (() => undefined);
} ? never : K : never;
}[keyof T];
type OptionalKeys<T> = Exclude<keyof T, RequiredKeys<T>>;
type DefaultKeys<T> = {
[K in keyof T]: T[K] extends {
default: any;
} | BooleanConstructor | {
type: BooleanConstructor;
} ? T[K] extends {
type: BooleanConstructor;
required: true;
} ? never : K : never;
}[keyof T];
type InferPropType<T> = [T] extends [null] ? any : [T] extends [{
type: null | true;
}] ? any : [T] extends [ObjectConstructor | {
type: ObjectConstructor;
}] ? Record<string, any> : [T] extends [BooleanConstructor | {
type: BooleanConstructor;
}] ? boolean : [T] extends [DateConstructor | {
type: DateConstructor;
}] ? Date : [T] extends [(infer U)[] | {
type: (infer U)[];
}] ? U extends DateConstructor ? Date | InferPropType<U> : InferPropType<U> : [T] extends [Prop<infer V, infer D>] ? unknown extends V ? IfAny<V, V, D> : V : T;
/**
* Extract prop types from a runtime props options object.
* The extracted types are **internal** - i.e. the resolved props received by
* the component.
* - Boolean props are always present
* - Props with default values are always present
*
* To extract accepted props from the parent, use {@link ExtractPublicPropTypes}.
*/
export type ExtractPropTypes<O> = {
[K in keyof Pick<O, RequiredKeys<O>>]: InferPropType<O[K]>;
} & {
[K in keyof Pick<O, OptionalKeys<O>>]?: InferPropType<O[K]>;
};
type PublicRequiredKeys<T> = {
[K in keyof T]: T[K] extends {
required: true;
} ? K : never;
}[keyof T];
type PublicOptionalKeys<T> = Exclude<keyof T, PublicRequiredKeys<T>>;
/**
* Extract prop types from a runtime props options object.
* The extracted types are **public** - i.e. the expected props that can be
* passed to component.
*/
export type ExtractPublicPropTypes<O> = {
[K in keyof Pick<O, PublicRequiredKeys<O>>]: InferPropType<O[K]>;
} & {
[K in keyof Pick<O, PublicOptionalKeys<O>>]?: InferPropType<O[K]>;
};
declare const enum BooleanFlags {
shouldCast = 0,
shouldCastTrue = 1
}
export type ExtractDefaultPropTypes<O> = O extends object ? {
[K in keyof Pick<O, DefaultKeys<O>>]: InferPropType<O[K]>;
} : {};
type NormalizedProp = null | (PropOptions & {
[BooleanFlags.shouldCast]?: boolean;
[BooleanFlags.shouldCastTrue]?: boolean;
});
type NormalizedProps = Record<string, NormalizedProp>;
type NormalizedPropsOptions = [NormalizedProps, string[]] | [];
/**
Runtime helper for applying directives to a vnode. Example usage:
const comp = resolveComponent('comp')
const foo = resolveDirective('foo')
const bar = resolveDirective('bar')
return withDirectives(h(comp), [
[foo, this.x],
[bar, this.y]
])
*/
export interface DirectiveBinding<V = any> {
instance: ComponentPublicInstance | null;
value: V;
oldValue: V | null;
arg?: string;
modifiers: DirectiveModifiers;
dir: ObjectDirective<any, V>;
}
export type DirectiveHook<T = any, Prev = VNode<any, T> | null, V = any> = (el: T, binding: DirectiveBinding<V>, vnode: VNode<any, T>, prevVNode: Prev) => void;
type SSRDirectiveHook = (binding: DirectiveBinding, vnode: VNode) => Data | undefined;
export interface ObjectDirective<T = any, V = any> {
created?: DirectiveHook<T, null, V>;
beforeMount?: DirectiveHook<T, null, V>;
mounted?: DirectiveHook<T, null, V>;
beforeUpdate?: DirectiveHook<T, VNode<any, T>, V>;
updated?: DirectiveHook<T, VNode<any, T>, V>;
beforeUnmount?: DirectiveHook<T, null, V>;
unmounted?: DirectiveHook<T, null, V>;
getSSRProps?: SSRDirectiveHook;
deep?: boolean;
}
export type FunctionDirective<T = any, V = any> = DirectiveHook<T, any, V>;
export type Directive<T = any, V = any> = ObjectDirective<T, V> | FunctionDirective<T, V>;
type DirectiveModifiers = Record<string, boolean>;
export type DirectiveArguments = Array<[Directive | undefined] | [Directive | undefined, any] | [Directive | undefined, any, string] | [Directive | undefined, any, string, DirectiveModifiers]>;
/**
* Adds directives to a VNode.
*/
export declare function withDirectives<T extends VNode>(vnode: T, directives: DirectiveArguments): T;
export declare const enum DeprecationTypes {
GLOBAL_MOUNT = "GLOBAL_MOUNT",
GLOBAL_MOUNT_CONTAINER = "GLOBAL_MOUNT_CONTAINER",
GLOBAL_EXTEND = "GLOBAL_EXTEND",
GLOBAL_PROTOTYPE = "GLOBAL_PROTOTYPE",
GLOBAL_SET = "GLOBAL_SET",
GLOBAL_DELETE = "GLOBAL_DELETE",
GLOBAL_OBSERVABLE = "GLOBAL_OBSERVABLE",
GLOBAL_PRIVATE_UTIL = "GLOBAL_PRIVATE_UTIL",
CONFIG_SILENT = "CONFIG_SILENT",
CONFIG_DEVTOOLS = "CONFIG_DEVTOOLS",
CONFIG_KEY_CODES = "CONFIG_KEY_CODES",
CONFIG_PRODUCTION_TIP = "CONFIG_PRODUCTION_TIP",
CONFIG_IGNORED_ELEMENTS = "CONFIG_IGNORED_ELEMENTS",
CONFIG_WHITESPACE = "CONFIG_WHITESPACE",
CONFIG_OPTION_MERGE_STRATS = "CONFIG_OPTION_MERGE_STRATS",
INSTANCE_SET = "INSTANCE_SET",
INSTANCE_DELETE = "INSTANCE_DELETE",
INSTANCE_DESTROY = "INSTANCE_DESTROY",
INSTANCE_EVENT_EMITTER = "INSTANCE_EVENT_EMITTER",
INSTANCE_EVENT_HOOKS = "INSTANCE_EVENT_HOOKS",
INSTANCE_CHILDREN = "INSTANCE_CHILDREN",
INSTANCE_LISTENERS = "INSTANCE_LISTENERS",
INSTANCE_SCOPED_SLOTS = "INSTANCE_SCOPED_SLOTS",
INSTANCE_ATTRS_CLASS_STYLE = "INSTANCE_ATTRS_CLASS_STYLE",
OPTIONS_DATA_FN = "OPTIONS_DATA_FN",
OPTIONS_DATA_MERGE = "OPTIONS_DATA_MERGE",
OPTIONS_BEFORE_DESTROY = "OPTIONS_BEFORE_DESTROY",
OPTIONS_DESTROYED = "OPTIONS_DESTROYED",
WATCH_ARRAY = "WATCH_ARRAY",
PROPS_DEFAULT_THIS = "PROPS_DEFAULT_THIS",
V_ON_KEYCODE_MODIFIER = "V_ON_KEYCODE_MODIFIER",
CUSTOM_DIR = "CUSTOM_DIR",
ATTR_FALSE_VALUE = "ATTR_FALSE_VALUE",
ATTR_ENUMERATED_COERCION = "ATTR_ENUMERATED_COERCION",
TRANSITION_CLASSES = "TRANSITION_CLASSES",
TRANSITION_GROUP_ROOT = "TRANSITION_GROUP_ROOT",
COMPONENT_ASYNC = "COMPONENT_ASYNC",
COMPONENT_FUNCTIONAL = "COMPONENT_FUNCTIONAL",
COMPONENT_V_MODEL = "COMPONENT_V_MODEL",
RENDER_FUNCTION = "RENDER_FUNCTION",
FILTERS = "FILTERS",
PRIVATE_APIS = "PRIVATE_APIS"
}
declare function warnDeprecation(key: DeprecationTypes, instance: ComponentInternalInstance | null, ...args: any[]): void;
type CompatConfig = Partial<Record<DeprecationTypes, boolean | 'suppress-warning'>> & {
MODE?: 2 | 3 | ((comp: Component | null) => 2 | 3);
};
declare function configureCompat(config: CompatConfig): void;
declare function isCompatEnabled(key: DeprecationTypes, instance: ComponentInternalInstance | null, enableForBuiltIn?: boolean): boolean;
/**
* Use this for features where legacy usage is still possible, but will likely
* lead to runtime error if compat is disabled. (warn in all cases)
*/
declare function softAssertCompatEnabled(key: DeprecationTypes, instance: ComponentInternalInstance | null, ...args: any[]): boolean;
/**
* Use this for features with the same syntax but with mutually exclusive
* behavior in 2 vs 3. Only warn if compat is enabled.
* e.g. render function
*/
declare function checkCompatEnabled(key: DeprecationTypes, instance: ComponentInternalInstance | null, ...args: any[]): boolean;
/**
* Interface for declaring custom options.
*
* @example
* ```ts
* declare module '@vue/runtime-core' {
* interface ComponentCustomOptions {
* beforeRouteUpdate?(
* to: Route,
* from: Route,
* next: () => void
* ): void
* }
* }
* ```
*/
export interface ComponentCustomOptions {
}
export type RenderFunction = () => VNodeChild;
export interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, E extends EmitsOptions, EE extends string = string, Defaults = {}, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}> extends LegacyOptions<Props, D, C, M, Mixin, Extends, I, II>, ComponentInternalOptions, ComponentCustomOptions {
setup?: (this: void, props: LooseRequired<Props & Prettify<UnwrapMixinsType<IntersectionMixin<Mixin> & IntersectionMixin<Extends>, 'P'>>>, ctx: SetupContext<E, S>) => Promise<RawBindings> | RawBindings | RenderFunction | void;
name?: string;
template?: string | object;
render?: Function;
components?: Record<string, Component>;
directives?: Record<string, Directive>;
inheritAttrs?: boolean;
emits?: (E | EE[]) & ThisType<void>;
slots?: S;
expose?: string[];
serverPrefetch?(): void | Promise<any>;
compilerOptions?: RuntimeCompilerOptions;
/* removed internal: ssrRender */
/* removed internal: __ssrInlineRender */
/* removed internal: __asyncLoader */
/* removed internal: __asyncResolved */
call?: (this: unknown, ...args: unknown[]) => never;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
__defaults?: Defaults;
}
/**
* Subset of compiler options that makes sense for the runtime.
*/
export interface RuntimeCompilerOptions {
isCustomElement?: (tag: string) => boolean;
whitespace?: 'preserve' | 'condense';
comments?: boolean;
delimiters?: [string, string];
}
export type ComponentOptionsWithoutProps<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, PE = Props & EmitsToProps<E>> = ComponentOptionsBase<PE, RawBindings, D, C, M, Mixin, Extends, E, EE, {}, I, II, S> & {
props?: undefined;
} & ThisType<CreateComponentPublicInstance<PE, RawBindings, D, C, M, Mixin, Extends, E, PE, {}, false, I, S>>;
export type ComponentOptionsWithArrayProps<PropNames extends string = string, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, Props = Prettify<Readonly<{
[key in PropNames]?: any;
} & EmitsToProps<E>>>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, {}, I, II, S> & {
props: PropNames[];
} & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, {}, false, I, S>>;
export type ComponentOptionsWithObjectProps<PropsOptions = ComponentObjectPropsOptions, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, Props = Prettify<Readonly<ExtractPropTypes<PropsOptions> & EmitsToProps<E>>>, Defaults = ExtractDefaultPropTypes<PropsOptions>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, I, II, S> & {
props: PropsOptions & ThisType<void>;
} & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, Defaults, false, I, S>>;
export type ComponentOptions<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = any, M extends MethodOptions = any, Mixin extends ComponentOptionsMixin = any, Extends extends ComponentOptionsMixin = any, E extends EmitsOptions = any, S extends SlotsType = any> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, string, S> & ThisType<CreateComponentPublicInstance<{}, RawBindings, D, C, M, Mixin, Extends, E, Readonly<Props>>>;
export type ComponentOptionsMixin = ComponentOptionsBase<any, any, any, any, any, any, any, any, any, any, any>;
export type ComputedOptions = Record<string, ComputedGetter<any> | WritableComputedOptions<any>>;
export interface MethodOptions {
[key: string]: Function;
}
type ExtractComputedReturns<T extends any> = {
[key in keyof T]: T[key] extends {
get: (...args: any[]) => infer TReturn;
} ? TReturn : T[key] extends (...args: any[]) => infer TReturn ? TReturn : never;
};
type ObjectWatchOptionItem = {
handler: WatchCallback | string;
} & WatchOptions;
type WatchOptionItem = string | WatchCallback | ObjectWatchOptionItem;
type ComponentWatchOptionItem = WatchOptionItem | WatchOptionItem[];
type ComponentWatchOptions = Record<string, ComponentWatchOptionItem>;
export type ComponentProvideOptions = ObjectProvideOptions | Function;
type ObjectProvideOptions = Record<string | symbol, unknown>;
export type ComponentInjectOptions = string[] | ObjectInjectOptions;
type ObjectInjectOptions = Record<string | symbol, string | symbol | {
from?: string | symbol;
default?: unknown;
}>;
type InjectToObject<T extends ComponentInjectOptions> = T extends string[] ? {
[K in T[number]]?: unknown;
} : T extends ObjectInjectOptions ? {
[K in keyof T]?: unknown;
} : never;
interface LegacyOptions<Props, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, I extends ComponentInjectOptions, II extends string> {
compatConfig?: CompatConfig;
[key: string]: any;
data?: (this: CreateComponentPublicInstance<Props, {}, {}, {}, MethodOptions, Mixin, Extends>, vm: CreateComponentPublicInstance<Props, {}, {}, {}, MethodOptions, Mixin, Extends>) => D;
computed?: C;
methods?: M;
watch?: ComponentWatchOptions;
provide?: ComponentProvideOptions;
inject?: I | II[];
filters?: Record<string, Function>;
mixins?: Mixin[];
extends?: Extends;
beforeCreate?(): void;
created?(): void;
beforeMount?(): void;
mounted?(): void;
beforeUpdate?(): void;
updated?(): void;
activated?(): void;
deactivated?(): void;
/** @deprecated use `beforeUnmount` instead */
beforeDestroy?(): void;
beforeUnmount?(): void;
/** @deprecated use `unmounted` instead */
destroyed?(): void;
unmounted?(): void;
renderTracked?: DebuggerHook;
renderTriggered?: DebuggerHook;
errorCaptured?: ErrorCapturedHook;
/**
* runtime compile only
* @deprecated use `compilerOptions.delimiters` instead.
*/
delimiters?: [string, string];
/**
* #3468
*
* type-only, used to assist Mixin's type inference,
* typescript will try to simplify the inferred `Mixin` type,
* with the `__differentiator`, typescript won't be able to combine different mixins,
* because the `__differentiator` will be different
*/
__differentiator?: keyof D | keyof C | keyof M;
}
type MergedHook<T = () => void> = T | T[];
type MergedComponentOptions = ComponentOptions & MergedComponentOptionsOverride;
type MergedComponentOptionsOverride = {
beforeCreate?: MergedHook;
created?: MergedHook;
beforeMount?: MergedHook;
mounted?: MergedHook;
beforeUpdate?: MergedHook;
updated?: MergedHook;
activated?: MergedHook;
deactivated?: MergedHook;
/** @deprecated use `beforeUnmount` instead */
beforeDestroy?: MergedHook;
beforeUnmount?: MergedHook;
/** @deprecated use `unmounted` instead */
destroyed?: MergedHook;
unmounted?: MergedHook;
renderTracked?: MergedHook<DebuggerHook>;
renderTriggered?: MergedHook<DebuggerHook>;
errorCaptured?: MergedHook<ErrorCapturedHook>;
};
type OptionTypesKeys = 'P' | 'B' | 'D' | 'C' | 'M' | 'Defaults';
type OptionTypesType<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Defaults = {}> = {
P: P;
B: B;
D: D;
C: C;
M: M;
Defaults: Defaults;
};
export interface InjectionKey<T> extends Symbol {
}
export declare function provide<T, K = InjectionKey<T> | string | number>(key: K, value: K extends InjectionKey<infer V> ? V : T): void;
export declare function inject<T>(key: InjectionKey<T> | string): T | undefined;
export declare function inject<T>(key: InjectionKey<T> | string, defaultValue: T, treatDefaultAsFactory?: false): T;
export declare function inject<T>(key: InjectionKey<T> | string, defaultValue: T | (() => T), treatDefaultAsFactory: true): T;
/**
* Returns true if `inject()` can be used without warning about being called in the wrong place (e.g. outside of
* setup()). This is used by libraries that want to use `inject()` internally without triggering a warning to the end
* user. One example is `useRoute()` in `vue-router`.
*/
export declare function hasInjectionContext(): boolean;
export interface App<HostElement = any> {
version: string;
config: AppConfig;
use<Options extends unknown[]>(plugin: Plugin<Options>, ...options: Options): this;
use<Options>(plugin: Plugin<Options>, options: Options): this;
mixin(mixin: ComponentOptions): this;
component(name: string): Component | undefined;
component(name: string, component: Component): this;
directive(name: string): Directive | undefined;
directive(name: string, directive: Directive): this;
mount(rootContainer: HostElement | string, isHydrate?: boolean, isSVG?: boolean): ComponentPublicInstance;
unmount(): void;
provide<T>(key: InjectionKey<T> | string, value: T): this;
/**
* Runs a function with the app as active instance. This allows using of `inject()` within the function to get access
* to variables provided via `app.provide()`.
*
* @param fn - function to run with the app as active instance
*/
runWithContext<T>(fn: () => T): T;
_uid: number;
_component: ConcreteComponent;
_props: Data | null;
_container: HostElement | null;
_context: AppContext;
_instance: ComponentInternalInstance | null;
/**
* v2 compat only
*/
filter?(name: string): Function | undefined;
filter?(name: string, filter: Function): this;
/* removed internal: _createRoot */
}
export type OptionMergeFunction = (to: unknown, from: unknown) => any;
export interface AppConfig {
readonly isNativeTag?: (tag: string) => boolean;
performance: boolean;
optionMergeStrategies: Record<string, OptionMergeFunction>;
globalProperties: ComponentCustomProperties & Record<string, any>;
errorHandler?: (err: unknown, instance: ComponentPublicInstance | null, info: string) => void;
warnHandler?: (msg: string, instance: ComponentPublicInstance | null, trace: string) => void;
/**
* Options to pass to `@vue/compiler-dom`.
* Only supported in runtime compiler build.
*/
compilerOptions: RuntimeCompilerOptions;
/**
* @deprecated use config.compilerOptions.isCustomElement
*/
isCustomElement?: (tag: string) => boolean;
/**
* Temporary config for opt-in to unwrap injected refs.
* @deprecated this no longer has effect. 3.3 always unwraps injected refs.
*/
unwrapInjectedRef?: boolean;
}
export interface AppContext {
app: App;
config: AppConfig;
mixins: ComponentOptions[];
components: Record<string, Component>;
directives: Record<string, Directive>;
provides: Record<string | symbol, any>;
/* removed internal: optionsCache */
/* removed internal: propsCache */
/* removed internal: emitsCache */
/* removed internal: reload */
/* removed internal: filters */
}
type PluginInstallFunction<Options> = Options extends unknown[] ? (app: App, ...options: Options) => any : (app: App, options: Options) => any;
export type Plugin<Options = any[]> = (PluginInstallFunction<Options> & {
install?: PluginInstallFunction<Options>;
}) | {
install: PluginInstallFunction<Options>;
};
export type CreateAppFunction<HostElement> = (rootComponent: Component, rootProps?: Data | null) => App<HostElement>;
type Hook<T = () => void> = T | T[];
export interface BaseTransitionProps<HostElement = RendererElement> {
mode?: 'in-out' | 'out-in' | 'default';
appear?: boolean;
persisted?: boolean;
onBeforeEnter?: Hook<(el: HostElement) => void>;
onEnter?: Hook<(el: HostElement, done: () => void) => void>;
onAfterEnter?: Hook<(el: HostElement) => void>;
onEnterCancelled?: Hook<(el: HostElement) => void>;
onBeforeLeave?: Hook<(el: HostElement) => void>;
onLeave?: Hook<(el: HostElement, done: () => void) => void>;
onAfterLeave?: Hook<(el: HostElement) => void>;
onLeaveCancelled?: Hook<(el: HostElement) => void>;
onBeforeAppear?: Hook<(el: HostElement) => void>;
onAppear?: Hook<(el: HostElement, done: () => void) => void>;
onAfterAppear?: Hook<(el: HostElement) => void>;
onAppearCancelled?: Hook<(el: HostElement) => void>;
}
export interface TransitionHooks<HostElement = RendererElement> {
mode: BaseTransitionProps['mode'];
persisted: boolean;
beforeEnter(el: HostElement): void;
enter(el: HostElement): void;
leave(el: HostElement, remove: () => void): void;
clone(vnode: VNode): TransitionHooks<HostElement>;
afterLeave?(): void;
delayLeave?(el: HostElement, earlyRemove: () => void, delayedLeave: () => void): void;
delayedLeave?(): void;
}
export interface TransitionState {
isMounted: boolean;
isLeaving: boolean;
isUnmounting: boolean;
leavingVNodes: Map<any, Record<string, VNode>>;
}
export declare function useTransitionState(): TransitionState;
export declare const BaseTransitionPropsValidators: {
mode: StringConstructor;
appear: BooleanConstructor;
persisted: BooleanConstructor;
onBeforeEnter: (ArrayConstructor | FunctionConstructor)[];
onEnter: (ArrayConstructor | FunctionConstructor)[];
onAfterEnter: (ArrayConstructor | FunctionConstructor)[];
onEnterCancelled: (ArrayConstructor | FunctionConstructor)[];
onBeforeLeave: (ArrayConstructor | FunctionConstructor)[];
onLeave: (ArrayConstructor | FunctionConstructor)[];
onAfterLeave: (ArrayConstructor | FunctionConstructor)[];
onLeaveCancelled: (ArrayConstructor | FunctionConstructor)[];
onBeforeAppear: (ArrayConstructor | FunctionConstructor)[];
onAppear: (ArrayConstructor | FunctionConstructor)[];
onAfterAppear: (ArrayConstructor | FunctionConstructor)[];
onAppearCancelled: (ArrayConstructor | FunctionConstructor)[];
};
export declare const BaseTransition: new () => {
$props: BaseTransitionProps<any>;
$slots: {
default(): VNode[];
};
};
export declare function resolveTransitionHooks(vnode: VNode, props: BaseTransitionProps<any>, state: TransitionState, instance: ComponentInternalInstance): TransitionHooks;
export declare function setTransitionHooks(vnode: VNode, hooks: TransitionHooks): void;
export declare function getTransitionRawChildren(children: VNode[], keepComment?: boolean, parentKey?: VNode['key']): VNode[];
type TeleportVNode = VNode<RendererNode, RendererElement, TeleportProps>;
export interface TeleportProps {
to: string | RendererElement | null | undefined;
disabled?: boolean;
}
declare const TeleportImpl: {
__isTeleport: boolean;
process(n1: TeleportVNode | null, n2: TeleportVNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, internals: RendererInternals): void;
remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, optimized: boolean, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: Boolean): void;
move: typeof moveTeleport;
hydrate: typeof hydrateTeleport;
};
declare const enum TeleportMoveTypes {
TARGET_CHANGE = 0,
TOGGLE = 1,
REORDER = 2
}
declare function moveTeleport(vnode: VNode, container: RendererElement, parentAnchor: RendererNode | null, { o: { insert }, m: move }: RendererInternals, moveType?: TeleportMoveTypes): void;
declare function hydrateTeleport(node: Node, vnode: TeleportVNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean, { o: { nextSibling, parentNode, querySelector } }: RendererInternals<Node, Element>, hydrateChildren: (node: Node | null, vnode: VNode, container: Element, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
export declare const Teleport: {
new (): {
$props: VNodeProps & TeleportProps;
$slots: {
default(): VNode[];
};
};
__isTeleport: true;
};
/**
* @private
*/
export declare function resolveComponent(name: string, maybeSelfReference?: boolean): ConcreteComponent | string;
declare const NULL_DYNAMIC_COMPONENT: unique symbol;
/**
* @private
*/
export declare function resolveDynamicComponent(component: unknown): VNodeTypes;
/**
* @private
*/
export declare function resolveDirective(name: string): Directive | undefined;
/* removed internal: resolveFilter$1 */
export declare const Fragment: {
new (): {
$props: VNodeProps;
};
__isFragment: true;
};
export declare const Text: unique symbol;
export declare const Comment: unique symbol;
export declare const Static: unique symbol;
export type VNodeTypes = string | VNode | Component | typeof Text | typeof Static | typeof Comment | typeof Fragment | typeof Teleport | typeof TeleportImpl | typeof Suspense | typeof SuspenseImpl;
export type VNodeRef = string | Ref | ((ref: Element | ComponentPublicInstance | null, refs: Record<string, any>) => void);
type VNodeNormalizedRefAtom = {
i: ComponentInternalInstance;
r: VNodeRef;
k?: string;
f?: boolean;
};
type VNodeNormalizedRef = VNodeNormalizedRefAtom | VNodeNormalizedRefAtom[];
type VNodeMountHook = (vnode: VNode) => void;
type VNodeUpdateHook = (vnode: VNode, oldVNode: VNode) => void;
export type VNodeProps = {
key?: string | number | symbol;
ref?: VNodeRef;
ref_for?: boolean;
ref_key?: string;
onVnodeBeforeMount?: VNodeMountHook | VNodeMountHook[];
onVnodeMounted?: VNodeMountHook | VNodeMountHook[];
onVnodeBeforeUpdate?: VNodeUpdateHook | VNodeUpdateHook[];
onVnodeUpdated?: VNodeUpdateHook | VNodeUpdateHook[];
onVnodeBeforeUnmount?: VNodeMountHook | VNodeMountHook[];
onVnodeUnmounted?: VNodeMountHook | VNodeMountHook[];
};
type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
export type VNodeArrayChildren = Array<VNodeArrayChildren | VNodeChildAtom>;
export type VNodeChild = VNodeChildAtom | VNodeArrayChildren;
export type VNodeNormalizedChildren = string | VNodeArrayChildren | RawSlots | null;
export interface VNode<HostNode = RendererNode, HostElement = RendererElement, ExtraProps = {
[key: string]: any;
}> {
/* removed internal: __v_isVNode */
type: VNodeTypes;
props: (VNodeProps & ExtraProps) | null;
key: string | number | symbol | null;
ref: VNodeNormalizedRef | null;
/**
* SFC only. This is assigned on vnode creation using currentScopeId
* which is set alongside currentRenderingInstance.
*/
scopeId: string | null;
/* removed internal: slotScopeIds */
children: VNodeNormalizedChildren;
component: ComponentInternalInstance | null;
dirs: DirectiveBinding[] | null;
transition: TransitionHooks<HostElement> | null;
el: HostNode | null;
anchor: HostNode | null;
target: HostElement | null;
targetAnchor: HostNode | null;
/* removed internal: staticCount */
suspense: SuspenseBoundary | null;
/* removed internal: ssContent */
/* removed internal: ssFallback */
shapeFlag: number;
patchFlag: number;
/* removed internal: dynamicProps */
/* removed internal: dynamicChildren */
appContext: AppContext | null;
/* removed internal: ctx */
/* removed internal: memo */
/* removed internal: isCompatRoot */
/* removed internal: ce */
}
/**
* Open a block.
* This must be called before `createBlock`. It cannot be part of `createBlock`
* because the children of the block are evaluated before `createBlock` itself
* is called. The generated code typically looks like this:
*
* ```js
* function render() {
* return (openBlock(),createBlock('div', null, [...]))
* }
* ```
* disableTracking is true when creating a v-for fragment block, since a v-for
* fragment always diffs its children.
*
* @private
*/
export declare function openBlock(disableTracking?: boolean): void;
/**
* Block tracking sometimes needs to be disabled, for example during the
* creation of a tree that needs to be cached by v-once. The compiler generates
* code like this:
*
* ``` js
* _cache[1] || (
* setBlockTracking(-1),
* _cache[1] = createVNode(...),
* setBlockTracking(1),
* _cache[1]
* )
* ```
*
* @private
*/
export declare function setBlockTracking(value: number): void;
/**
* @private
*/
export declare function createElementBlock(type: string | typeof Fragment, props?: Record<string, any> | null, children?: any, patchFlag?: number, dynamicProps?: string[], shapeFlag?: number): VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
/**
* Create a block root vnode. Takes the same exact arguments as `createVNode`.
* A block root keeps track of dynamic nodes within the block in the
* `dynamicChildren` array.
*
* @private
*/
export declare function createBlock(type: VNodeTypes | ClassComponent, props?: Record<string, any> | null, children?: any, patchFlag?: number, dynamicProps?: string[]): VNode;
export declare function isVNode(value: any): value is VNode;
declare let vnodeArgsTransformer: ((args: Parameters<typeof _createVNode>, instance: ComponentInternalInstance | null) => Parameters<typeof _createVNode>) | undefined;
/**
* Internal API for registering an arguments transform for createVNode
* used for creating stubs in the test-utils
* It is *internal* but needs to be exposed for test-utils to pick up proper
* typings
*/
export declare function transformVNodeArgs(transformer?: typeof vnodeArgsTransformer): void;
export declare function createBaseVNode(type: VNodeTypes | ClassComponent | typeof NULL_DYNAMIC_COMPONENT, props?: (Data & VNodeProps) | null, children?: unknown, patchFlag?: number, dynamicProps?: string[] | null, shapeFlag?: number, isBlockNode?: boolean, needFullChildrenNormalization?: boolean): VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
export declare const createVNode: typeof _createVNode;
declare function _createVNode(type: VNodeTypes | ClassComponent | typeof NULL_DYNAMIC_COMPONENT, props?: (Data & VNodeProps) | null, children?: unknown, patchFlag?: number, dynamicProps?: string[] | null, isBlockNode?: boolean): VNode;
export declare function guardReactiveProps(props: (Data & VNodeProps) | null): (Data & VNodeProps) | null;
export declare function cloneVNode<T, U>(vnode: VNode<T, U>, extraProps?: (Data & VNodeProps) | null, mergeRef?: boolean): VNode<T, U>;
/**
* @private
*/
export declare function createTextVNode(text?: string, flag?: number): VNode;
/**
* @private
*/
export declare function createStaticVNode(content: string, numberOfNodes: number): VNode;
/**
* @private
*/
export declare function createCommentVNode(text?: string, asBlock?: boolean): VNode;
declare function normalizeVNode(child: VNodeChild): VNode;
export declare function mergeProps(...args: (Data & VNodeProps)[]): Data;
type Data = Record<string, unknown>;
/**
* For extending allowed non-declared props on components in TSX
*/
export interface ComponentCustomProps {
}
/**
* Default allowed non-declared props on component in TSX
*/
export interface AllowedComponentProps {
class?: unknown;
style?: unknown;
}
interface ComponentInternalOptions {
/* removed internal: __scopeId */
/* removed internal: __cssModules */
/* removed internal: __hmrId */
/**
* Compat build only, for bailing out of certain compatibility behavior
*/
__isBuiltIn?: boolean;
/**
* This one should be exposed so that devtools can make use of it
*/
__file?: string;
/**
* name inferred from filename
*/
__name?: string;
}
export interface FunctionalComponent<P = {}, E extends EmitsOptions = {}, S extends Record<string, any> = any> extends ComponentInternalOptions {
(props: P, ctx: Omit<SetupContext<E, IfAny<S, {}, SlotsType<S>>>, 'expose'>): any;
props?: ComponentPropsOptions<P>;
emits?: E | (keyof E)[];
slots?: IfAny<S, Slots, SlotsType<S>>;
inheritAttrs?: boolean;
displayName?: string;
compatConfig?: CompatConfig;
}
interface ClassComponent {
new (...args: any[]): ComponentPublicInstance<any, any, any, any, any>;
__vccOpts: ComponentOptions;
}
/**
* Concrete component type matches its actual value: it's either an options
* object, or a function. Use this where the code expects to work with actual
* values, e.g. checking if its a function or not. This is mostly for internal
* implementation code.
*/
export type ConcreteComponent<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = ComponentOptions<Props, RawBindings, D, C, M> | FunctionalComponent<Props, any, any>;
/**
* A type used in public APIs where a component type is expected.
* The constructor type is an artificial type returned by defineComponent().
*/
export type Component<Props = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = ConcreteComponent<Props, RawBindings, D, C, M> | ComponentPublicInstanceConstructor<Props>;
type LifecycleHook<TFn = Function> = TFn[] | null;
export type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ? {
attrs: Data;
slots: UnwrapSlotsType<S>;
emit: EmitFn<E>;
expose: (exposed?: Record<string, any>) => void;
} : never;
/* removed internal: InternalRenderFunction */
/**
* We expose a subset of properties on the internal instance as they are
* useful for advanced external libraries and tools.
*/
export interface ComponentInternalInstance {
uid: number;
type: ConcreteComponent;
parent: ComponentInternalInstance | null;
root: ComponentInternalInstance;
appContext: AppContext;
/**
* Vnode representing this component in its parent's vdom tree
*/
vnode: VNode;
/* removed internal: next */
/**
* Root vnode of this component's own vdom tree
*/
subTree: VNode;
/**
* Render effect instance
*/
effect: ReactiveEffect;
/**
* Bound effect runner to be passed to schedulers
*/
update: SchedulerJob;
/* removed internal: render */
/* removed internal: ssrRender */
/* removed internal: provides */
/* removed internal: scope */
/* removed internal: accessCache */
/* removed internal: renderCache */
/* removed internal: components */
/* removed internal: directives */
/* removed internal: filters */
/* removed internal: propsOptions */
/* removed internal: emitsOptions */
/* removed internal: inheritAttrs */
/* removed internal: isCE */
/* removed internal: ceReload */
proxy: ComponentPublicInstance | null;
exposed: Record<string, any> | null;
exposeProxy: Record<string, any> | null;
/* removed internal: withProxy */
/* removed internal: ctx */
data: Data;
props: Data;
attrs: Data;
slots: InternalSlots;
refs: Data;
emit: EmitFn;
attrsProxy: Data | null;
slotsProxy: Slots | null;
/* removed internal: emitted */
/* removed internal: propsDefaults */
/* removed internal: setupState */
/* removed internal: devtoolsRawSetupState */
/* removed internal: setupContext */
/* removed internal: suspense */
/* removed internal: suspenseId */
/* removed internal: asyncDep */
/* removed internal: asyncResolved */
isMounted: boolean;
isUnmounted: boolean;
isDeactivated: boolean;
/* removed internal: f */
/* removed internal: n */
/* removed internal: ut */
}
declare function createComponentInstance(vnode: VNode, parent: ComponentInternalInstance | null, suspense: SuspenseBoundary | null): ComponentInternalInstance;
export declare const getCurrentInstance: () => ComponentInternalInstance | null;
declare function setupComponent(instance: ComponentInternalInstance, isSSR?: boolean): Promise<void> | undefined;
/**
* For runtime-dom to register the compiler.
* Note the exported method uses any to avoid d.ts relying on the compiler types.
*/
export declare function registerRuntimeCompiler(_compile: any): void;
export declare const isRuntimeOnly: () => boolean;
export type WatchEffect = (onCleanup: OnCleanup) => void;
export type WatchSource<T = any> = Ref<T> | ComputedRef<T> | (() => T);
export type WatchCallback<V = any, OV = any> = (value: V, oldValue: OV, onCleanup: OnCleanup) => any;
type MapSources<T, Immediate> = {
[K in keyof T]: T[K] extends WatchSource<infer V> ? Immediate extends true ? V | undefined : V : T[K] extends object ? Immediate extends true ? T[K] | undefined : T[K] : never;
};
type OnCleanup = (cleanupFn: () => void) => void;
export interface WatchOptionsBase extends DebuggerOptions {
flush?: 'pre' | 'post' | 'sync';
}
export interface WatchOptions<Immediate = boolean> extends WatchOptionsBase {
immediate?: Immediate;
deep?: boolean;
}
export type WatchStopHandle = () => void;
export declare function watchEffect(effect: WatchEffect, options?: WatchOptionsBase): WatchStopHandle;
export declare function watchPostEffect(effect: WatchEffect, options?: DebuggerOptions): WatchStopHandle;
export declare function watchSyncEffect(effect: WatchEffect, options?: DebuggerOptions): WatchStopHandle;
type MultiWatchSources = (WatchSource<unknown> | object)[];
export declare function watch<T extends MultiWatchSources, Immediate extends Readonly<boolean> = false>(sources: [...T], cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
export declare function watch<T extends Readonly<MultiWatchSources>, Immediate extends Readonly<boolean> = false>(source: T, cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
export declare function watch<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T>, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchOptions<Immediate>): WatchStopHandle;
export declare function watch<T extends object, Immediate extends Readonly<boolean> = false>(source: T, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchOptions<Immediate>): WatchStopHandle;
type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps;
type ResolveProps<PropsOrPropOptions, E extends EmitsOptions> = Readonly<PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps<E>);
export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = ResolveProps<PropsOrPropOptions, E>, Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>, S extends SlotsType = {}> = ComponentPublicInstanceConstructor<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, PP & Props, Defaults, true, {}, S> & Props> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, {}, string, S> & PP;
export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
props?: (keyof Props)[];
emits?: E | EE[];
slots?: S;
}): (props: Props & EmitsToProps<E>) => any;
export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
props?: ComponentObjectPropsOptions<Props>;
emits?: E | EE[];
slots?: S;
}): (props: Props & EmitsToProps<E>) => any;
export declare function defineComponent<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithoutProps<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<Props, E>, ExtractDefaultPropTypes<Props>, S>;
export declare function defineComponent<PropNames extends string, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string, Props = Readonly<{
[key in PropNames]?: any;
}>>(options: ComponentOptionsWithArrayProps<PropNames, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<Props, E>, ExtractDefaultPropTypes<Props>, S>;
export declare function defineComponent<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<PropsOptions, E>, ExtractDefaultPropTypes<PropsOptions>, S>;
type AsyncComponentResolveResult<T = Component> = T | {
default: T;
};
export type AsyncComponentLoader<T = any> = () => Promise<AsyncComponentResolveResult<T>>;
export interface AsyncComponentOptions<T = any> {
loader: AsyncComponentLoader<T>;
loadingComponent?: Component;
errorComponent?: Component;
delay?: number;
timeout?: number;
suspensible?: boolean;
onError?: (error: Error, retry: () => void, fail: () => void, attempts: number) => any;
}
export declare function defineAsyncComponent<T extends Component = {
new (): ComponentPublicInstance;
}>(source: AsyncComponentLoader<T> | AsyncComponentOptions<T>): T;
/**
* Vue `<script setup>` compiler macro for declaring component props. The
* expected argument is the same as the component `props` option.
*
* Example runtime declaration:
* ```js
* // using Array syntax
* const props = defineProps(['foo', 'bar'])
* // using Object syntax
* const props = defineProps({
* foo: String,
* bar: {
* type: Number,
* required: true
* }
* })
* ```
*
* Equivalent type-based declaration:
* ```ts
* // will be compiled into equivalent runtime declarations
* const props = defineProps<{
* foo?: string
* bar: number
* }>()
*
* @see {@link https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits}
* ```
*
* This is only usable inside `<script setup>`, is compiled away in the
* output and should **not** be actually called at runtime.
*/
export declare function defineProps<PropNames extends string = string>(props: PropNames[]): Prettify<Readonly<{
[key in PropNames]?: any;
}>>;
export declare function defineProps<PP extends ComponentObjectPropsOptions = ComponentObjectPropsOptions>(props: PP): Prettify<Readonly<ExtractPropTypes<PP>>>;
export declare function defineProps<TypeProps>(): DefineProps<TypeProps, BooleanKey<TypeProps>>;
type DefineProps<T, BKeys extends keyof T> = Readonly<T> & {
readonly [K in BKeys]-?: boolean;
};
type BooleanKey<T, K extends keyof T = keyof T> = K extends any ? [T[K]] extends [boolean | undefined] ? K : never : never;
/**
* Vue `<script setup>` compiler macro for declaring a component's emitted
* events. The expected argument is the same as the component `emits` option.
*
* Example runtime declaration:
* ```js
* const emit = defineEmits(['change', 'update'])
* ```
*
* Example type-based declaration:
* ```ts
* const emit = defineEmits<{
* (event: 'change'): void
* (event: 'update', id: number): void
* }>()
*
* emit('change')
* emit('update', 1)
* ```
*
* This is only usable inside `<script setup>`, is compiled away in the
* output and should **not** be actually called at runtime.
*
* @see {@link https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits}
*/
export declare function defineEmits<EE extends string = string>(emitOptions: EE[]): EmitFn<EE[]>;
export declare function defineEmits<E extends EmitsOptions = EmitsOptions>(emitOptions: E): EmitFn<E>;
export declare function defineEmits<T extends ((...args: any[]) => any) | Record<string, any[]>>(): T extends (...args: any[]) => any ? T : ShortEmits<T>;
type RecordToUnion<T extends Record<string, any>> = T[keyof T];
type ShortEmits<T extends Record<string, any>> = UnionToIntersection<RecordToUnion<{
[K in keyof T]: (evt: K, ...args: T[K]) => void;
}>>;
/**
* Vue `<script setup>` compiler macro for declaring a component's exposed
* instance properties when it is accessed by a parent component via template
* refs.
*
* `<script setup>` components are closed by default - i.e. variables inside
* the `<script setup>` scope is not exposed to parent unless explicitly exposed
* via `defineExpose`.
*
* This is only usable inside `<script setup>`, is compiled away in the
* output and should **not** be actually called at runtime.
*
* @see {@link https://vuejs.org/api/sfc-script-setup.html#defineexpose}
*/
export declare function defineExpose<Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed): void;
/**
* Vue `<script setup>` compiler macro for declaring a component's additional
* options. This should be used only for options that cannot be expressed via
* Composition API - e.g. `inheritAttrs`.
*
* @see {@link https://vuejs.org/api/sfc-script-setup.html#defineoptions}
*/
export declare function defineOptions<RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin>(options?: ComponentOptionsWithoutProps<{}, RawBindings, D, C, M, Mixin, Extends> & {
emits?: undefined;
expose?: undefined;
slots?: undefined;
}): void;
export declare function defineSlots<S extends Record<string, any> = Record<string, any>>(): StrictUnwrapSlotsType<SlotsType<S>>;
/**
* (**Experimental**) Vue `<script setup>` compiler macro for declaring a
* two-way binding prop that can be consumed via `v-model` from the parent
* component. This will declare a prop with the same name and a corresponding
* `update:propName` event.
*
* If the first argument is a string, it will be used as the prop name;
* Otherwise the prop name will default to "modelValue". In both cases, you
* can also pass an additional object which will be used as the prop's options.
*
* The options object can also specify an additional option, `local`. When set
* to `true`, the ref can be locally mutated even if the parent did not pass
* the matching `v-model`.
*
* @example
* ```ts
* // default model (consumed via `v-model`)
* const modelValue = defineModel<string>()
* modelValue.value = "hello"
*
* // default model with options
* const modelValue = defineModel<stirng>({ required: true })
*
* // with specified name (consumed via `v-model:count`)
* const count = defineModel<number>('count')
* count.value++
*
* // with specified name and default value
* const count = defineModel<number>('count', { default: 0 })
*
* // local mutable model, can be mutated locally
* // even if the parent did not pass the matching `v-model`.
* const count = defineModel<number>('count', { local: true, default: 0 })
* ```
*/
export declare function defineModel<T>(options: {
required: true;
} & PropOptions<T> & DefineModelOptions): Ref<T>;
export declare function defineModel<T>(options: {
default: any;
} & PropOptions<T> & DefineModelOptions): Ref<T>;
export declare function defineModel<T>(options?: PropOptions<T> & DefineModelOptions): Ref<T | undefined>;
export declare function defineModel<T>(name: string, options: {
required: true;
} & PropOptions<T> & DefineModelOptions): Ref<T>;
export declare function defineModel<T>(name: string, options: {
default: any;
} & PropOptions<T> & DefineModelOptions): Ref<T>;
export declare function defineModel<T>(name: string, options?: PropOptions<T> & DefineModelOptions): Ref<T | undefined>;
interface DefineModelOptions {
local?: boolean;
}
type NotUndefined<T> = T extends undefined ? never : T;
type InferDefaults<T> = {
[K in keyof T]?: InferDefault<T, T[K]>;
};
type NativeType = null | number | string | boolean | symbol | Function;
type InferDefault<P, T> = ((props: P) => T & {}) | (T extends NativeType ? T : never);
type PropsWithDefaults<T, Defaults extends InferDefaults<T>, BKeys extends keyof T> = Omit<T, keyof Defaults> & {
[K in keyof Defaults]-?: K extends keyof T ? Defaults[K] extends undefined ? T[K] : NotUndefined<T[K]> : never;
} & {
readonly [K in BKeys]-?: boolean;
};
/**
* Vue `<script setup>` compiler macro for providing props default values when
* using type-based `defineProps` declaration.
*
* Example usage:
* ```ts
* withDefaults(defineProps<{
* size?: number
* labels?: string[]
* }>(), {
* size: 3,
* labels: () => ['default label']
* })
* ```
*
* This is only usable inside `<script setup>`, is compiled away in the output
* and should **not** be actually called at runtime.
*
* @see {@link https://vuejs.org/guide/typescript/composition-api.html#typing-component-props}
*/
export declare function withDefaults<T, BKeys extends keyof T, Defaults extends InferDefaults<T>>(props: DefineProps<T, BKeys>, defaults: Defaults): PropsWithDefaults<T, Defaults, BKeys>;
export declare function useSlots(): SetupContext['slots'];
export declare function useAttrs(): SetupContext['attrs'];
export declare function useModel<T extends Record<string, any>, K extends keyof T>(props: T, name: K, options?: {
local?: boolean;
}): Ref<T[K]>;
/* removed internal: mergeDefaults */
/* removed internal: mergeModels */
/* removed internal: createPropsRestProxy */
/* removed internal: withAsyncContext */
type RawProps = VNodeProps & {
__v_isVNode?: never;
[Symbol.iterator]?: never;
} & Record<string, any>;
type RawChildren = string | number | boolean | VNode | VNodeArrayChildren | (() => any);
interface Constructor<P = any> {
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
new (...args: any[]): {
$props: P;
};
}
export declare function h(type: string, children?: RawChildren): VNode;
export declare function h(type: string, props?: RawProps | null, children?: RawChildren | RawSlots): VNode;
export declare function h(type: typeof Text | typeof Comment, children?: string | number | boolean): VNode;
export declare function h(type: typeof Text | typeof Comment, props?: null, children?: string | number | boolean): VNode;
export declare function h(type: typeof Fragment, children?: VNodeArrayChildren): VNode;
export declare function h(type: typeof Fragment, props?: RawProps | null, children?: VNodeArrayChildren): VNode;
export declare function h(type: typeof Teleport, props: RawProps & TeleportProps, children: RawChildren | RawSlots): VNode;
export declare function h(type: typeof Suspense, children?: RawChildren): VNode;
export declare function h(type: typeof Suspense, props?: (RawProps & SuspenseProps) | null, children?: RawChildren | RawSlots): VNode;
export declare function h<P, E extends EmitsOptions = {}, S extends Record<string, any> = {}>(type: FunctionalComponent<P, E, S>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
export declare function h(type: Component, children?: RawChildren): VNode;
export declare function h<P>(type: ConcreteComponent | string, children?: RawChildren): VNode;
export declare function h<P>(type: ConcreteComponent<P> | string, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren): VNode;
export declare function h<P>(type: Component<P>, props?: (RawProps & P) | null, children?: RawChildren | RawSlots): VNode;
export declare function h<P>(type: ComponentOptions<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
export declare function h(type: Constructor, children?: RawChildren): VNode;
export declare function h<P>(type: Constructor<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
export declare function h(type: DefineComponent, children?: RawChildren): VNode;
export declare function h<P>(type: DefineComponent<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
export declare const ssrContextKey: unique symbol;
export declare const useSSRContext: <T = Record<string, any>>() => T | undefined;
export declare function warn(msg: string, ...args: any[]): void;
/* removed internal: assertNumber */
export declare const enum ErrorCodes {
SETUP_FUNCTION = 0,
RENDER_FUNCTION = 1,
WATCH_GETTER = 2,
WATCH_CALLBACK = 3,
WATCH_CLEANUP = 4,
NATIVE_EVENT_HANDLER = 5,
COMPONENT_EVENT_HANDLER = 6,
VNODE_HOOK = 7,
DIRECTIVE_HOOK = 8,
TRANSITION_HOOK = 9,
APP_ERROR_HANDLER = 10,
APP_WARN_HANDLER = 11,
FUNCTION_REF = 12,
ASYNC_COMPONENT_LOADER = 13,
SCHEDULER = 14
}
type ErrorTypes = LifecycleHooks | ErrorCodes;
export declare function callWithErrorHandling(fn: Function, instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[]): any;
export declare function callWithAsyncErrorHandling(fn: Function | Function[], instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[]): any[];
export declare function handleError(err: unknown, instance: ComponentInternalInstance | null, type: ErrorTypes, throwInDev?: boolean): void;
export declare function initCustomFormatter(): void;
interface AppRecord {
id: number;
app: App;
version: string;
types: Record<string, string | Symbol>;
}
interface DevtoolsHook {
enabled?: boolean;
emit: (event: string, ...payload: any[]) => void;
on: (event: string, handler: Function) => void;
once: (event: string, handler: Function) => void;
off: (event: string, handler: Function) => void;
appRecords: AppRecord[];
/**
* Added at https://github.com/vuejs/devtools/commit/f2ad51eea789006ab66942e5a27c0f0986a257f9
* Returns wether the arg was buffered or not
*/
cleanupBuffer?: (matchArg: unknown) => boolean;
}
export declare let devtools: DevtoolsHook;
export declare function setDevtoolsHook(hook: DevtoolsHook, target: any): void;
type HMRComponent = ComponentOptions | ClassComponent;
export interface HMRRuntime {
createRecord: typeof createRecord;
rerender: typeof rerender;
reload: typeof reload;
}
declare function createRecord(id: string, initialDef: HMRComponent): boolean;
declare function rerender(id: string, newRender?: Function): void;
declare function reload(id: string, newComp: HMRComponent): void;
/**
* Note: rendering calls maybe nested. The function returns the parent rendering
* instance if present, which should be restored after the render is done:
*
* ```js
* const prev = setCurrentRenderingInstance(i)
* // ...render
* setCurrentRenderingInstance(prev)
* ```
*/
declare function setCurrentRenderingInstance(instance: ComponentInternalInstance | null): ComponentInternalInstance | null;
/**
* Set scope id when creating hoisted vnodes.
* @private compiler helper
*/
export declare function pushScopeId(id: string | null): void;
/**
* Technically we no longer need this after 3.0.8 but we need to keep the same
* API for backwards compat w/ code generated by compilers.
* @private
*/
export declare function popScopeId(): void;
/**
* Only for backwards compat
* @private
*/
export declare const withScopeId: (_id: string) => typeof withCtx;
/**
* Wrap a slot function to memoize current rendering instance
* @private compiler helper
*/
export declare function withCtx(fn: Function, ctx?: ComponentInternalInstance | null, isNonScopedSlot?: boolean): Function;
/**
* v-for string
* @private
*/
export declare function renderList(source: string, renderItem: (value: string, index: number) => VNodeChild): VNodeChild[];
/**
* v-for number
*/
export declare function renderList(source: number, renderItem: (value: number, index: number) => VNodeChild): VNodeChild[];
/**
* v-for array
*/
export declare function renderList<T>(source: T[], renderItem: (value: T, index: number) => VNodeChild): VNodeChild[];
/**
* v-for iterable
*/
export declare function renderList<T>(source: Iterable<T>, renderItem: (value: T, index: number) => VNodeChild): VNodeChild[];
/**
* v-for object
*/
export declare function renderList<T>(source: T, renderItem: <K extends keyof T>(value: T[K], key: K, index: number) => VNodeChild): VNodeChild[];
/**
* For prefixing keys in v-on="obj" with "on"
* @private
*/
export declare function toHandlers(obj: Record<string, any>, preserveCaseIfNecessary?: boolean): Record<string, any>;
/**
* Compiler runtime helper for rendering `<slot/>`
* @private
*/
export declare function renderSlot(slots: Slots, name: string, props?: Data, fallback?: () => VNodeArrayChildren, noSlotted?: boolean): VNode;
type SSRSlot = (...args: any[]) => VNode[] | undefined;
interface CompiledSlotDescriptor {
name: string;
fn: SSRSlot;
key?: string;
}
/**
* Compiler runtime helper for creating dynamic slots object
* @private
*/
export declare function createSlots(slots: Record<string, SSRSlot>, dynamicSlots: (CompiledSlotDescriptor | CompiledSlotDescriptor[] | undefined)[]): Record<string, SSRSlot>;
export declare function withMemo(memo: any[], render: () => VNode<any, any>, cache: any[], index: number): VNode<any, any, {
[key: string]: any;
}>;
export declare function isMemoSame(cached: VNode, memo: any[]): boolean;
declare function renderComponentRoot(instance: ComponentInternalInstance): VNode;
export type LegacyConfig = {
/**
* @deprecated `config.silent` option has been removed
*/
silent?: boolean;
/**
* @deprecated use __VUE_PROD_DEVTOOLS__ compile-time feature flag instead
* https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags
*/
devtools?: boolean;
/**
* @deprecated use `config.isCustomElement` instead
* https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement
*/
ignoredElements?: (string | RegExp)[];
/**
* @deprecated
* https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html
*/
keyCodes?: Record<string, number | number[]>;
/**
* @deprecated
* https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed
*/
productionTip?: boolean;
};
type LegacyPublicInstance = ComponentPublicInstance & LegacyPublicProperties;
interface LegacyPublicProperties {
$set(target: object, key: string, value: any): void;
$delete(target: object, key: string): void;
$mount(el?: string | Element): this;
$destroy(): void;
$scopedSlots: Slots;
$on(event: string | string[], fn: Function): this;
$once(event: string, fn: Function): this;
$off(event?: string | string[], fn?: Function): this;
$children: LegacyPublicProperties[];
$listeners: Record<string, Function | Function[]>;
}
/**
* @deprecated the default `Vue` export has been removed in Vue 3. The type for
* the default export is provided only for migration purposes. Please use
* named imports instead - e.g. `import { createApp } from 'vue'`.
*/
export type CompatVue = Pick<App, 'version' | 'component' | 'directive'> & {
configureCompat: typeof configureCompat;
new (options?: ComponentOptions): LegacyPublicInstance;
version: string;
config: AppConfig & LegacyConfig;
nextTick: typeof nextTick;
use(plugin: Plugin, ...options: any[]): CompatVue;
mixin(mixin: ComponentOptions): CompatVue;
component(name: string): Component | undefined;
component(name: string, component: Component): CompatVue;
directive(name: string): Directive | undefined;
directive(name: string, directive: Directive): CompatVue;
compile(template: string): RenderFunction;
/**
* @deprecated Vue 3 no longer supports extending constructors.
*/
extend: (options?: ComponentOptions) => CompatVue;
/**
* @deprecated Vue 3 no longer needs set() for adding new properties.
*/
set(target: any, key: string | number | symbol, value: any): void;
/**
* @deprecated Vue 3 no longer needs delete() for property deletions.
*/
delete(target: any, key: string | number | symbol): void;
/**
* @deprecated use `reactive` instead.
*/
observable: typeof reactive;
/**
* @deprecated filters have been removed from Vue 3.
*/
filter(name: string, arg?: any): null;
/* removed internal: cid */
/* removed internal: options */
/* removed internal: util */
/* removed internal: super */
};
declare function createCompatVue(createApp: CreateAppFunction<Element>, createSingletonApp: CreateAppFunction<Element>): CompatVue;
export declare const version: string;
declare module '@vue/reactivity' {
interface RefUnwrapBailTypes {
runtimeCoreBailTypes: VNode | {
$: ComponentInternalInstance;
};
}
}
export { createBaseVNode as createElementVNode, };
// Note: this file is auto concatenated to the end of the bundled d.ts during
// build.
type _defineProps = typeof defineProps
type _defineEmits = typeof defineEmits
type _defineExpose = typeof defineExpose
type _defineOptions = typeof defineOptions
type _defineSlots = typeof defineSlots
type _defineModel = typeof defineModel
type _withDefaults = typeof withDefaults
declare global {
const defineProps: _defineProps
const defineEmits: _defineEmits
const defineExpose: _defineExpose
const defineOptions: _defineOptions
const defineSlots: _defineSlots
const defineModel: _defineModel
const withDefaults: _withDefaults
}
因为 它太大了无法显示 源差异 。您可以改为 查看blob
......@@ -16,9 +16,9 @@ function IBizVitePlugin(): Plugin[] {
apply: 'build',
closeBundle() {
// 模板底包
const templatePackages = ['core', 'runtime', 'vue3-util', 'model-helper'];
const templatePackages = ['core', 'runtime', 'model-helper'];
// 组件底包
const componentPackages = ['mob-vue3-components'];
const componentPackages = ['vue3-util', 'mob-vue3-components'];
const cwd = process.cwd();
const baseModule = join(cwd, 'node_modules/@ibiz-template');
const baseOutModule = join(cwd, 'dist/extras/js/@ibiz-template');
......@@ -127,6 +127,19 @@ function IBizVitePlugin(): Plugin[] {
const devP: Plugin = {
name: 'iBizSys:System:Dev',
apply: 'serve',
configResolved() {
const baseModule = resolve(__dirname, '../node_modules');
if (!existsSync(baseModule)) {
return;
}
// vue/runtime-core 包有扩展修改,开发态拷贝到 node_modules 避免功能缺失
const cpDir = join(__dirname, 'extras/@vue/runtime-core/3.3.4/**');
const outDir = join(
baseModule,
'.pnpm/@vue+runtime-core@3.3.4/node_modules/@vue/runtime-core/dist',
);
cpy(cpDir, outDir);
},
transformIndexHtml(html) {
const tags: HtmlTagDescriptor[] = [];
const extraPath = resolve(__dirname, '../public/extras');
......
......@@ -50,6 +50,7 @@ export default defineConfig({
'vant',
'vue',
'vue-i18n',
'vue3-hash-calendar',
'vue-router',
],
},
......
......@@ -1481,16 +1481,16 @@
"codeName" : "VMGroup2",
"name" : "视图消息组2",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "视图消息2",
"name" : "视图消息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg3"
"id" : "ViewMsg2"
}
}, {
"name" : "视图消息",
"name" : "视图消息2",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg2"
"id" : "ViewMsg3"
}
} ]
}, {
......
......@@ -11877,16 +11877,16 @@
"codeName" : "VMGroup2",
"name" : "视图消息组2",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "视图消息2",
"name" : "视图消息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg3"
"id" : "ViewMsg2"
}
}, {
"name" : "视图消息",
"name" : "视图消息2",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg2"
"id" : "ViewMsg3"
}
} ]
}, {
......@@ -11921,16 +11921,16 @@
"id" : "ViewMsg4"
}
}, {
"name" : "消息类型-错误信息",
"name" : "消息类型-警告信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg6"
"id" : "ViewMsg5"
}
}, {
"name" : "消息类型-警告信息",
"name" : "消息类型-错误信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg5"
"id" : "ViewMsg6"
}
} ]
}, {
......@@ -11947,10 +11947,10 @@
"codeName" : "VMGroup4",
"name" : "视图消息位置测试",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "消息位置-视图内容区",
"name" : "消息位置-弹出",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg9"
"id" : "ViewMsg10"
}
}, {
"name" : "消息位置-视图上方",
......@@ -11959,10 +11959,10 @@
"id" : "ViewMsg7"
}
}, {
"name" : "消息位置-弹出",
"name" : "消息位置-视图内容区",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg10"
"id" : "ViewMsg9"
}
}, {
"name" : "消息位置-视图下方",
......@@ -11975,6 +11975,20 @@
"codeName" : "VMGroup8",
"name" : "【静态测试】",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "消息类型-错误信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg6"
},
"position" : "POPUP"
}, {
"name" : "消息类型-警告信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg5"
},
"position" : "POPUP"
}, {
"name" : "关闭模式-无删除-上方-常规",
"getPSAppViewMsg" : {
"modelref" : true,
......@@ -11987,12 +12001,6 @@
"id" : "ViewMsg4"
},
"position" : "POPUP"
}, {
"name" : "关闭模式-默认删除-上方-错误",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg12"
}
}, {
"name" : "消息位置-视图内容区",
"getPSAppViewMsg" : {
......@@ -12000,10 +12008,10 @@
"id" : "ViewMsg9"
}
}, {
"name" : "消息位置-视图下方",
"name" : "关闭模式-默认删除-上方-错误",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg8"
"id" : "ViewMsg12"
}
}, {
"name" : "关闭模式-本次删除-上方-警告",
......@@ -12012,19 +12020,11 @@
"id" : "ViewMsg13"
}
}, {
"name" : "消息类型-警告信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg5"
},
"position" : "POPUP"
}, {
"name" : "消息类型-错误信息",
"name" : "消息位置-视图下方",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg6"
},
"position" : "POPUP"
"id" : "ViewMsg8"
}
} ]
}, {
"codeName" : "VMGroup5",
......@@ -12036,32 +12036,32 @@
"id" : "ViewMsg12"
}
}, {
"name" : "关闭模式-删除",
"name" : "关闭模式-本次删除",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg11"
"id" : "ViewMsg13"
}
}, {
"name" : "关闭模式-本次删除",
"name" : "关闭模式-删除",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg13"
"id" : "ViewMsg11"
}
} ]
}, {
"codeName" : "VMGroup6",
"name" : "视图消息动态模式测试",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "动态模式-静态内容",
"name" : "动态模式-实体数据集",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg15"
"id" : "ViewMsg14"
}
}, {
"name" : "动态模式-实体数据集",
"name" : "动态模式-静态内容",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg14"
"id" : "ViewMsg15"
}
} ]
} ],
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册