vue-stack-tabs 1.1.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +526 -0
- package/README.md +141 -39
- package/README.ru.md +526 -0
- package/dist/iframe-bridge.d.ts +8 -0
- package/dist/iframe-bridge.html +77 -0
- package/dist/iframe-bridge.mjs +20 -0
- package/dist/iframe-child.html +19 -6
- package/dist/nuxt/favicon.svg +10 -0
- package/dist/nuxt/iframe-bridge.html +77 -0
- package/dist/nuxt/iframe-child.html +88 -0
- package/dist/nuxt/module.d.ts +6 -0
- package/dist/nuxt/module.mjs +28 -0
- package/dist/nuxt/plugin.mjs +9 -0
- package/dist/nuxt/runtime/plugin.d.ts +2 -0
- package/dist/nuxt/runtime/plugin.mjs +9 -0
- package/dist/src/lib/StackTabs.vue.d.ts +30 -16
- package/dist/src/lib/components/ContextMenu/ContextMenuItem.vue.d.ts +7 -1
- package/dist/src/lib/components/ContextMenu/index.vue.d.ts +5 -4
- package/dist/src/lib/components/PageLoading.vue.d.ts +2 -1
- package/dist/src/lib/components/StackKeepAlive/StackCacheRenderer.vue.d.ts +25 -0
- package/dist/src/lib/components/StackKeepAlive/StackKeepAlive.vue.d.ts +12 -0
- package/dist/src/lib/components/TabHeader/TabHeaderButton.vue.d.ts +11 -12
- package/dist/src/lib/components/TabHeader/TabHeaderItem.vue.d.ts +5 -4
- package/dist/src/lib/components/TabHeader/TabHeaderScroll.vue.d.ts +8 -22
- package/dist/src/lib/components/TabHeader/index.vue.d.ts +11 -164
- package/dist/src/lib/hooks/stackTabsContext.d.ts +49 -0
- package/dist/src/lib/hooks/tabPanel/evict.d.ts +21 -61
- package/dist/src/lib/hooks/tabPanel/navigationTransaction.d.ts +35 -0
- package/dist/src/lib/hooks/tabPanel/refresh.d.ts +17 -0
- package/dist/src/lib/hooks/tabPanel/scroll.d.ts +8 -8
- package/dist/src/lib/hooks/tabPanel/session.d.ts +9 -8
- package/dist/src/lib/hooks/tabPanel/state.d.ts +20 -72
- package/dist/src/lib/hooks/useIframeManager.d.ts +35 -0
- package/dist/src/lib/hooks/useTabActions.d.ts +5 -46
- package/dist/src/lib/hooks/useTabEventBus.d.ts +22 -9
- package/dist/src/lib/hooks/useTabPanel.d.ts +14 -73
- package/dist/src/lib/i18n/index.d.ts +6 -4
- package/dist/src/lib/i18n/lang/en.d.ts +5 -0
- package/dist/src/lib/i18n/lang/zh-CN.d.ts +5 -0
- package/dist/src/lib/i18n/stackTabsLocale.d.ts +2 -0
- package/dist/src/lib/iframe-bridge.d.ts +8 -0
- package/dist/src/lib/iframe.vue.d.ts +2 -1
- package/dist/src/lib/index.d.ts +4 -5
- package/dist/src/lib/model/TabModel.d.ts +11 -40
- package/dist/src/lib/nuxt/module.d.ts +6 -0
- package/dist/src/lib/nuxt/runtime/plugin.client.d.ts +2 -0
- package/dist/src/lib/nuxt/runtime/plugin.d.ts +2 -0
- package/dist/src/lib/utils/iframeBridge.d.ts +11 -3
- package/dist/src/lib/utils/stackTabsA11y.d.ts +8 -0
- package/dist/src/lib/utils/stackTabsMessage.d.ts +7 -0
- package/dist/src/lib/utils/tabInfoEncoder.d.ts +0 -15
- package/dist/src/lib/utils/typeGuards.d.ts +2 -0
- package/dist/src/lib/utils/urlParser.d.ts +24 -3
- package/dist/src/lib/versionLogger.d.ts +1 -0
- package/dist/style.css +2 -1
- package/dist/utils/iframeBridge.d.ts +39 -0
- package/dist/vue-stack-tabs.css +2 -1
- package/dist/vue-stack-tabs.es.js +1 -2220
- package/package.json +71 -50
- package/src/lib/StackTabs.vue +223 -196
- package/src/lib/assets/style/stackTab.scss +110 -13
- package/src/lib/components/ContextMenu/ContextMenuItem.vue +23 -11
- package/src/lib/components/ContextMenu/index.vue +94 -10
- package/src/lib/components/PageLoading.vue +9 -7
- package/src/lib/components/StackKeepAlive/StackCacheRenderer.vue +70 -0
- package/src/lib/components/StackKeepAlive/StackKeepAlive.vue +57 -0
- package/src/lib/components/TabHeader/TabHeaderButton.vue +19 -8
- package/src/lib/components/TabHeader/TabHeaderItem.vue +74 -17
- package/src/lib/components/TabHeader/TabHeaderScroll.vue +47 -25
- package/src/lib/components/TabHeader/index.vue +181 -13
- package/src/lib/hooks/stackTabsContext.ts +135 -0
- package/src/lib/hooks/tabPanel/evict.ts +122 -87
- package/src/lib/hooks/tabPanel/navigationTransaction.ts +61 -0
- package/src/lib/hooks/tabPanel/refresh.ts +109 -0
- package/src/lib/hooks/tabPanel/scroll.ts +57 -40
- package/src/lib/hooks/tabPanel/session.ts +84 -22
- package/src/lib/hooks/tabPanel/state.ts +41 -44
- package/src/lib/hooks/useIframeManager.ts +253 -0
- package/src/lib/hooks/useTabActions.ts +64 -30
- package/src/lib/hooks/useTabEventBus.ts +29 -19
- package/src/lib/hooks/useTabLoading.ts +3 -2
- package/src/lib/hooks/useTabPanel.tsx +290 -313
- package/src/lib/hooks/useTabRouter.ts +111 -97
- package/src/lib/i18n/index.ts +53 -45
- package/src/lib/i18n/lang/en.ts +6 -1
- package/src/lib/i18n/lang/zh-CN.ts +6 -1
- package/src/lib/i18n/stackTabsLocale.ts +8 -0
- package/src/lib/iframe-bridge.ts +12 -0
- package/src/lib/index.ts +14 -19
- package/src/lib/model/TabModel.ts +27 -82
- package/src/lib/nuxt/module.d.ts +4 -0
- package/src/lib/nuxt/module.ts +8 -3
- package/src/lib/nuxt/runtime/plugin.client.ts +1 -0
- package/src/lib/nuxt/runtime/plugin.ts +11 -0
- package/src/lib/utils/iframeBridge.ts +29 -5
- package/src/lib/utils/scrollUtils.ts +9 -4
- package/src/lib/utils/stackTabsA11y.ts +12 -0
- package/src/lib/utils/stackTabsMessage.ts +99 -0
- package/src/lib/utils/tabInfoEncoder.ts +70 -21
- package/src/lib/utils/typeGuards.ts +3 -0
- package/src/lib/utils/urlParser.ts +144 -14
- package/src/lib/versionLogger.ts +7 -19
- package/dist/src/lib/hooks/tabPanel/evict.spec.d.ts +0 -1
- package/dist/src/lib/hooks/useTabPanel.spec.d.ts +0 -1
- package/dist/src/lib/model/TabModel.spec.d.ts +0 -1
- package/dist/src/lib/utils/iframeBridge.spec.d.ts +0 -1
- package/dist/src/lib/utils/tabInfoEncoder.spec.d.ts +0 -1
- package/dist/src/lib/utils/urlParser.spec.d.ts +0 -1
- package/dist/vue-stack-tabs.umd.js +0 -1
- package/src/lib/hooks/tabPanel/evict.spec.ts +0 -85
- package/src/lib/hooks/useTabPanel.spec.ts +0 -34
- package/src/lib/model/TabModel.spec.ts +0 -40
- package/src/lib/utils/iframeBridge.spec.ts +0 -37
- package/src/lib/utils/tabInfoEncoder.spec.ts +0 -32
- package/src/lib/utils/urlParser.spec.ts +0 -45
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-stack-tabs",
|
|
3
|
-
"version": "1.1
|
|
4
|
-
"packageManager": "pnpm@
|
|
3
|
+
"version": "1.3.1",
|
|
4
|
+
"packageManager": "pnpm@11.21.0+sha512.521705bce689924eac72f5a3587122f362689ef6571e55ba80076fd637c11132ecffada26fad4ea79c485bfddbfd3d5a2a5b05805a77e893de71ec8a6cca3bb1",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
@@ -11,12 +11,15 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
|
-
"import": "./dist/vue-stack-tabs.es.js"
|
|
15
|
-
|
|
14
|
+
"import": "./dist/vue-stack-tabs.es.js"
|
|
15
|
+
},
|
|
16
|
+
"./iframe-bridge": {
|
|
17
|
+
"types": "./dist/iframe-bridge.d.ts",
|
|
18
|
+
"import": "./dist/iframe-bridge.mjs"
|
|
16
19
|
},
|
|
17
20
|
"./nuxt": {
|
|
18
|
-
"types": "./
|
|
19
|
-
"
|
|
21
|
+
"types": "./dist/nuxt/module.d.ts",
|
|
22
|
+
"import": "./dist/nuxt/module.mjs"
|
|
20
23
|
},
|
|
21
24
|
"./dist/style.css": "./dist/style.css",
|
|
22
25
|
"./dist/vue-stack-tabs.css": "./dist/vue-stack-tabs.css"
|
|
@@ -29,9 +32,9 @@
|
|
|
29
32
|
"optional": true
|
|
30
33
|
}
|
|
31
34
|
},
|
|
32
|
-
"main": "dist/vue-stack-tabs.
|
|
33
|
-
"module": "dist/vue-stack-tabs.es.js",
|
|
34
|
-
"typings": "dist/index.d.ts",
|
|
35
|
+
"main": "./dist/vue-stack-tabs.es.js",
|
|
36
|
+
"module": "./dist/vue-stack-tabs.es.js",
|
|
37
|
+
"typings": "./dist/index.d.ts",
|
|
35
38
|
"repository": {
|
|
36
39
|
"type": "git",
|
|
37
40
|
"url": "git+https://github.com/jktantan/vue-stack-tabs.git"
|
|
@@ -61,7 +64,7 @@
|
|
|
61
64
|
"lint:check": "eslint .",
|
|
62
65
|
"format": "prettier --write .",
|
|
63
66
|
"format:check": "prettier --check .",
|
|
64
|
-
"lib:build": "vite --config vite.config.lib.ts build && node -e \"require('fs').copyFileSync('dist/vue-stack-tabs.css','dist/style.css')\"",
|
|
67
|
+
"lib:build": "vite --config vite.config.lib.ts build && vite --config vite.config.iframe-bridge.ts build && vite --config vite.config.nuxt.ts build && node -e \"const fs=require('fs');fs.copyFileSync('dist/vue-stack-tabs.css','dist/style.css');fs.copyFileSync('dist/src/lib/iframe-bridge.d.ts','dist/iframe-bridge.d.ts');fs.mkdirSync('dist/utils',{recursive:true});fs.copyFileSync('dist/src/lib/utils/iframeBridge.d.ts','dist/utils/iframeBridge.d.ts');fs.mkdirSync('dist/nuxt',{recursive:true});fs.copyFileSync('dist/src/lib/nuxt/module.d.ts','dist/nuxt/module.d.ts');fs.mkdirSync('dist/nuxt/runtime',{recursive:true});fs.copyFileSync('dist/src/lib/nuxt/runtime/plugin.d.ts','dist/nuxt/runtime/plugin.d.ts');fs.copyFileSync('dist/nuxt/plugin.mjs','dist/nuxt/runtime/plugin.mjs')\"",
|
|
65
68
|
"test": "vitest run",
|
|
66
69
|
"test:watch": "vitest",
|
|
67
70
|
"test:coverage": "vitest run --coverage",
|
|
@@ -69,57 +72,75 @@
|
|
|
69
72
|
"test:packaged": "pnpm run lib:build && node scripts/verify-packaged.mjs"
|
|
70
73
|
},
|
|
71
74
|
"dependencies": {
|
|
72
|
-
"
|
|
73
|
-
"@mdit/plugin-tasklist": "^0.22.3",
|
|
74
|
-
"@noble/hashes": "^2.0.1",
|
|
75
|
-
"dayjs": "^1.11.19",
|
|
76
|
-
"defu": "^6.1.4",
|
|
77
|
-
"hex-encoding": "^2.0.3",
|
|
78
|
-
"js-base64": "^3.7.8",
|
|
79
|
-
"lz-string": "^1.5.0",
|
|
75
|
+
"defu": "^6.1.7",
|
|
80
76
|
"mitt": "^3.0.1",
|
|
81
|
-
"
|
|
77
|
+
"nostics": "^1.2.0",
|
|
82
78
|
"throttle-debounce": "^5.0.2",
|
|
83
|
-
"
|
|
84
|
-
"ulid": "^3.0.2",
|
|
85
|
-
"vitepress": "^1.6.4",
|
|
86
|
-
"vue": "^3.5.28",
|
|
79
|
+
"vue": "^3.5.42",
|
|
87
80
|
"vue-i18n-lite": "^1.0.2",
|
|
88
|
-
"vue-router": "^5.0
|
|
81
|
+
"vue-router": "^5.3.0"
|
|
89
82
|
},
|
|
90
83
|
"devDependencies": {
|
|
84
|
+
"@ctrl/tinycolor": "^4.2.0",
|
|
91
85
|
"@element-plus/icons-vue": "^2.3.2",
|
|
92
86
|
"@eslint/js": "^10.0.1",
|
|
93
|
-
"@
|
|
94
|
-
"@
|
|
87
|
+
"@floating-ui/core": "^1.8.0",
|
|
88
|
+
"@floating-ui/dom": "^1.8.0",
|
|
89
|
+
"@floating-ui/utils": "^0.2.12",
|
|
90
|
+
"@mdit/plugin-tasklist": "^1.1.0",
|
|
91
|
+
"@popperjs/core": "^2.11.8",
|
|
92
|
+
"@rushstack/eslint-patch": "^1.16.1",
|
|
93
|
+
"@tsconfig/node26": "^26.0.1",
|
|
95
94
|
"@types/lodash-es": "^4.17.12",
|
|
96
|
-
"@types/node": "^
|
|
95
|
+
"@types/node": "^26.4.0",
|
|
97
96
|
"@types/throttle-debounce": "^5.0.2",
|
|
98
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
99
|
-
"@vitejs/plugin-vue-jsx": "^5.1.
|
|
97
|
+
"@vitejs/plugin-vue": "^6.0.8",
|
|
98
|
+
"@vitejs/plugin-vue-jsx": "^5.1.6",
|
|
99
|
+
"@vitest/coverage-v8": "4.1.10",
|
|
100
|
+
"@vue/compiler-core": "^3.5.42",
|
|
101
|
+
"@vue/compiler-dom": "^3.5.42",
|
|
102
|
+
"@vue/devtools-api": "^8.2.1",
|
|
103
|
+
"@vue/devtools-kit": "^8.2.1",
|
|
104
|
+
"@vue/devtools-shared": "^8.2.1",
|
|
100
105
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
101
|
-
"@vue/eslint-config-typescript": "^14.
|
|
102
|
-
"@vue/
|
|
103
|
-
"@vue/
|
|
104
|
-
"@
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
106
|
+
"@vue/eslint-config-typescript": "^14.9.0",
|
|
107
|
+
"@vue/reactivity": "^3.5.42",
|
|
108
|
+
"@vue/runtime-core": "^3.5.42",
|
|
109
|
+
"@vue/runtime-dom": "^3.5.42",
|
|
110
|
+
"@vue/shared": "^3.5.42",
|
|
111
|
+
"@vue/test-utils": "^2.5.0",
|
|
112
|
+
"@vue/tsconfig": "^0.9.1",
|
|
113
|
+
"@vueuse/core": "^14.4.0",
|
|
114
|
+
"@vueuse/shared": "^14.4.0",
|
|
115
|
+
"async-validator": "^4.2.5",
|
|
116
|
+
"birpc": "^4.2.0",
|
|
117
|
+
"dayjs": "^1.11.23",
|
|
118
|
+
"element-plus": "^2.14.5",
|
|
119
|
+
"eslint": "^10.9.1",
|
|
120
|
+
"eslint-config-prettier": "^10.1.8",
|
|
121
|
+
"eslint-plugin-vue": "^10.10.0",
|
|
122
|
+
"globals": "^17.11.0",
|
|
123
|
+
"happy-dom": "^20.12.0",
|
|
124
|
+
"hookable": "^6.1.1",
|
|
125
|
+
"lodash-es": "^4.18.1",
|
|
110
126
|
"lodash-unified": "^1.0.3",
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
127
|
+
"memoize-one": "^6.0.0",
|
|
128
|
+
"normalize-wheel-es": "^1.2.0",
|
|
129
|
+
"normalize.css": "^8.0.1",
|
|
130
|
+
"npm-run-all2": "^9.0.3",
|
|
131
|
+
"perfect-debounce": "^2.1.0",
|
|
132
|
+
"prettier": "^3.9.6",
|
|
133
|
+
"sass-embedded": "^1.103.1",
|
|
134
|
+
"terser": "^5.51.2",
|
|
135
|
+
"typescript": "~7.0.2",
|
|
136
|
+
"typescript-eslint": "^8.69.0",
|
|
137
|
+
"unplugin-auto-import": "^21.1.0",
|
|
138
|
+
"unplugin-vue-components": "^32.1.0",
|
|
139
|
+
"vite": "^8.2.2",
|
|
140
|
+
"vite-plugin-dts": "5.0.3",
|
|
121
141
|
"vite-plugin-package-version": "^1.1.0",
|
|
122
|
-
"
|
|
123
|
-
"
|
|
142
|
+
"vitepress": "^1.6.4",
|
|
143
|
+
"vitest": "^4.1.11",
|
|
144
|
+
"vue-tsc": "^3.3.11"
|
|
124
145
|
}
|
|
125
146
|
}
|