vue-stack-tabs 1.3.1 → 1.4.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.
Files changed (95) hide show
  1. package/README.en.md +119 -52
  2. package/README.md +103 -42
  3. package/README.ru.md +125 -54
  4. package/dist/{src/lib/StackTabs.vue.d.ts → StackTabs.vue.d.ts} +5 -5
  5. package/dist/{src/lib/components → components}/ContextMenu/index.vue.d.ts +1 -1
  6. package/dist/components/StackKeepAlive/emptyPlaceholder.d.ts +3 -0
  7. package/dist/{src/lib/components → components}/TabHeader/TabHeaderItem.vue.d.ts +9 -0
  8. package/dist/{src/lib/components → components}/TabHeader/index.vue.d.ts +3 -3
  9. package/dist/{src/lib/hooks → hooks}/stackTabsContext.d.ts +5 -2
  10. package/dist/hooks/tabPanel/pageComponentFactory.d.ts +20 -0
  11. package/dist/{src/lib/hooks → hooks}/tabPanel/scroll.d.ts +2 -0
  12. package/dist/hooks/useScrollShadow.d.ts +20 -0
  13. package/dist/{src/lib/hooks → hooks}/useTabActions.d.ts +7 -2
  14. package/dist/{src/lib/hooks → hooks}/useTabEventBus.d.ts +2 -1
  15. package/dist/{src/lib/hooks → hooks}/useTabPanel.d.ts +3 -1
  16. package/dist/iframe-bridge.mjs +1 -1
  17. package/dist/index.d.ts +22 -6
  18. package/dist/{src/lib/model → model}/TabModel.d.ts +21 -0
  19. package/dist/nuxt/module.mjs +10 -6
  20. package/dist/nuxt/runtime/plugin.mjs +1600 -4
  21. package/dist/style.css +1 -1
  22. package/dist/utils/iframeBridge.d.ts +7 -1
  23. package/dist/{src/lib/utils → utils}/scrollUtils.d.ts +7 -1
  24. package/dist/{src/lib/versionLogger.d.ts → versionLogger.d.ts} +1 -1
  25. package/dist/vue-stack-tabs.css +1 -1
  26. package/dist/vue-stack-tabs.es.js +1 -1
  27. package/package.json +64 -40
  28. package/src/lib/StackTabs.vue +16 -3
  29. package/src/lib/assets/style/common/var.scss +2 -0
  30. package/src/lib/assets/style/stackTab.scss +17 -3
  31. package/src/lib/components/ContextMenu/index.vue +12 -3
  32. package/src/lib/components/PageLoading.vue +10 -2
  33. package/src/lib/components/StackKeepAlive/StackCacheRenderer.vue +3 -9
  34. package/src/lib/components/StackKeepAlive/emptyPlaceholder.tsx +18 -0
  35. package/src/lib/components/TabHeader/index.vue +4 -3
  36. package/src/lib/hooks/stackTabsContext.ts +23 -18
  37. package/src/lib/hooks/tabPanel/pageComponentFactory.tsx +142 -0
  38. package/src/lib/hooks/tabPanel/refresh.ts +3 -0
  39. package/src/lib/hooks/tabPanel/scroll.ts +110 -7
  40. package/src/lib/hooks/tabPanel/session.ts +29 -3
  41. package/src/lib/hooks/useContextMenu.ts +57 -11
  42. package/src/lib/hooks/useIframeManager.ts +18 -2
  43. package/src/lib/hooks/useScrollShadow.ts +124 -0
  44. package/src/lib/hooks/useTabActions.ts +18 -8
  45. package/src/lib/hooks/useTabEventBus.ts +5 -3
  46. package/src/lib/hooks/useTabPanel.tsx +108 -180
  47. package/src/lib/hooks/useTabRouter.ts +11 -2
  48. package/src/lib/i18n/index.ts +3 -3
  49. package/src/lib/model/TabModel.ts +40 -1
  50. package/src/lib/nuxt/module.ts +10 -3
  51. package/src/lib/nuxt/runtime/plugin.ts +13 -2
  52. package/src/lib/utils/iframeBridge.ts +9 -1
  53. package/src/lib/utils/scrollUtils.ts +35 -2
  54. package/src/lib/utils/tabInfoEncoder.ts +21 -8
  55. package/src/lib/utils/urlParser.ts +3 -1
  56. package/src/lib/versionLogger.ts +6 -2
  57. package/dist/favicon.svg +0 -10
  58. package/dist/iframe-bridge.html +0 -77
  59. package/dist/iframe-child.html +0 -88
  60. package/dist/nuxt/favicon.svg +0 -10
  61. package/dist/nuxt/iframe-bridge.html +0 -77
  62. package/dist/nuxt/iframe-child.html +0 -88
  63. package/dist/nuxt/plugin.mjs +0 -9
  64. package/dist/src/lib/iframe-bridge.d.ts +0 -8
  65. package/dist/src/lib/index.d.ts +0 -22
  66. package/dist/src/lib/nuxt/module.d.ts +0 -6
  67. package/dist/src/lib/nuxt/runtime/plugin.client.d.ts +0 -2
  68. package/dist/src/lib/nuxt/runtime/plugin.d.ts +0 -2
  69. package/dist/src/lib/utils/iframeBridge.d.ts +0 -39
  70. package/src/lib/nuxt/runtime/plugin.client.ts +0 -10
  71. /package/dist/{src/lib/components → components}/ContextMenu/ContextMenuItem.vue.d.ts +0 -0
  72. /package/dist/{src/lib/components → components}/PageLoading.vue.d.ts +0 -0
  73. /package/dist/{src/lib/components → components}/StackKeepAlive/StackCacheRenderer.vue.d.ts +0 -0
  74. /package/dist/{src/lib/components → components}/StackKeepAlive/StackKeepAlive.vue.d.ts +0 -0
  75. /package/dist/{src/lib/components → components}/TabHeader/TabHeaderButton.vue.d.ts +0 -0
  76. /package/dist/{src/lib/components → components}/TabHeader/TabHeaderScroll.vue.d.ts +0 -0
  77. /package/dist/{src/lib/hooks → hooks}/tabPanel/evict.d.ts +0 -0
  78. /package/dist/{src/lib/hooks → hooks}/tabPanel/navigationTransaction.d.ts +0 -0
  79. /package/dist/{src/lib/hooks → hooks}/tabPanel/refresh.d.ts +0 -0
  80. /package/dist/{src/lib/hooks → hooks}/tabPanel/session.d.ts +0 -0
  81. /package/dist/{src/lib/hooks → hooks}/tabPanel/state.d.ts +0 -0
  82. /package/dist/{src/lib/hooks → hooks}/useContextMenu.d.ts +0 -0
  83. /package/dist/{src/lib/hooks → hooks}/useIframeManager.d.ts +0 -0
  84. /package/dist/{src/lib/hooks → hooks}/useTabLoading.d.ts +0 -0
  85. /package/dist/{src/lib/hooks → hooks}/useTabRouter.d.ts +0 -0
  86. /package/dist/{src/lib/i18n → i18n}/index.d.ts +0 -0
  87. /package/dist/{src/lib/i18n → i18n}/lang/en.d.ts +0 -0
  88. /package/dist/{src/lib/i18n → i18n}/lang/zh-CN.d.ts +0 -0
  89. /package/dist/{src/lib/i18n → i18n}/stackTabsLocale.d.ts +0 -0
  90. /package/dist/{src/lib/iframe.vue.d.ts → iframe.vue.d.ts} +0 -0
  91. /package/dist/{src/lib/utils → utils}/stackTabsA11y.d.ts +0 -0
  92. /package/dist/{src/lib/utils → utils}/stackTabsMessage.d.ts +0 -0
  93. /package/dist/{src/lib/utils → utils}/tabInfoEncoder.d.ts +0 -0
  94. /package/dist/{src/lib/utils → utils}/typeGuards.d.ts +0 -0
  95. /package/dist/{src/lib/utils → utils}/urlParser.d.ts +0 -0
@@ -88,6 +88,27 @@ export declare class Stack<T> {
88
88
  clear(): void;
89
89
  list(): T[];
90
90
  readonlyList(): readonly T[];
91
+ /**
92
+ * 查找首个匹配的元素。
93
+ * @returns 匹配的元素,未找到返回 undefined。
94
+ */
95
+ find(predicate: (element: T, index: number) => boolean): T | undefined;
96
+ /**
97
+ * 查找首个匹配元素的索引,未找到返回 -1。
98
+ */
99
+ findIndex(predicate: (element: T, index: number) => boolean): number;
100
+ /**
101
+ * 返回所有匹配元素组成的浅拷贝数组。
102
+ */
103
+ filter(predicate: (element: T, index: number) => boolean): T[];
104
+ /**
105
+ * 是否存在任意匹配元素。
106
+ */
107
+ some(predicate: (element: T, index: number) => boolean): boolean;
108
+ /**
109
+ * 从顶到底反向遍历每个元素,便于实现「从栈顶开始找」等场景。
110
+ */
111
+ forEachTopDown(visit: (element: T, index: number) => void): void;
91
112
  toJSON(): T[];
92
113
  toString(): string;
93
114
  }
@@ -1,14 +1,18 @@
1
- import { addImports as e, addPlugin as t, createResolver as n, defineNuxtModule as r } from "nuxt/kit";
1
+ import { addComponent as e, addImports as t, addPlugin as n, createResolver as r, defineNuxtModule as i } from "nuxt/kit";
2
2
  //#region src/lib/nuxt/module.ts
3
- var i = r({
3
+ var a = i({
4
4
  meta: {
5
5
  name: "vue-stack-tabs",
6
6
  configKey: "vueStackTabs"
7
7
  },
8
8
  defaults: { locale: "zh-CN" },
9
- setup(r, i) {
10
- let { resolve: a } = n(import.meta.url);
11
- i.options.runtimeConfig.public.vueStackTabs = { locale: r.locale }, t({ src: a("./runtime/plugin") }), e([
9
+ setup(i, a) {
10
+ let { resolve: o } = r(import.meta.url);
11
+ a.options.runtimeConfig.public.vueStackTabs = { locale: i.locale }, n({ src: o("./runtime/plugin") }), e({
12
+ name: "VueStackTabs",
13
+ export: "VueStackTabs",
14
+ filePath: o("../index.ts")
15
+ }), t([
12
16
  {
13
17
  name: "useTabActions",
14
18
  from: "vue-stack-tabs"
@@ -25,4 +29,4 @@ var i = r({
25
29
  }
26
30
  });
27
31
  //#endregion
28
- export { i as default };
32
+ export { a as default };