@pubinfo/core 2.0.15 → 2.1.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/dist/{AppSetting-CF0Y36Kx.js → AppSetting-CmT5_15W.js} +17 -17
  2. package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-B7ZyR4n6.js → HCheckList.vue_vue_type_script_setup_true_lang-CHzkJth7.js} +1 -1
  3. package/dist/{HToggle-Dap0xf8L.js → HToggle-DpDYLh8y.js} +1 -1
  4. package/dist/HeaderThinMenu-D6jF8yl1.js +4 -0
  5. package/dist/{PreferencesContent-DWHQ2EOo.js → PreferencesContent-AXqWatOF.js} +6 -6
  6. package/dist/{SettingBreadcrumb-P-C21e5U.js → SettingBreadcrumb-CBWdS_nO.js} +3 -3
  7. package/dist/{SettingCopyright-XUQuMUND.js → SettingCopyright-D5Jhdu1J.js} +2 -2
  8. package/dist/{SettingEnableTransition-hJTXOtuP.js → SettingEnableTransition-DQJozSZH.js} +2 -2
  9. package/dist/{SettingHome-1C9Ph1Dl.js → SettingHome-DAwn9Ypx.js} +3 -3
  10. package/dist/{SettingMenu-B2h4e61Z.js → SettingMenu-DEQRAtWl.js} +4 -4
  11. package/dist/{SettingMode-bStWvnHg.js → SettingMode-bh3I8UBZ.js} +1 -1
  12. package/dist/{SettingNavSearch-BvTlahqj.js → SettingNavSearch-iYc-eRzY.js} +3 -3
  13. package/dist/{SettingOther-ihHycIPn.js → SettingOther-C2TS6okv.js} +3 -3
  14. package/dist/{SettingPage-d8HGOfhZ.js → SettingPage-B2_SNyn5.js} +2 -2
  15. package/dist/{SettingTabbar-YLshyP8G.js → SettingTabbar-BETdKJxz.js} +6 -6
  16. package/dist/{SettingThemes-Do-SwCzx.js → SettingThemes-ComNCP3P.js} +16 -15
  17. package/dist/{SettingToolbar-DHbr1d6B.js → SettingToolbar-D0DTBbbb.js} +3 -3
  18. package/dist/{SettingTopbar-QwqH9maD.js → SettingTopbar-BcO5Hcxm.js} +4 -4
  19. package/dist/{SettingWidthMode-CGmv4JQk.js → SettingWidthMode-wzTMq96A.js} +2 -2
  20. package/dist/built-in/devtools/index.d.ts +13 -0
  21. package/dist/built-in/index.d.ts +1 -0
  22. package/dist/built-in/layout-component/Layout.vue.d.ts +7 -1
  23. package/dist/built-in/layout-component/components/Topbar/index.vue.d.ts +1 -1
  24. package/dist/built-in/layout-component/composables/useLayoutVisible.d.ts +8 -0
  25. package/dist/built-in/layout-component/interface.d.ts +22 -0
  26. package/dist/built-in/pinia-plugin/plugins/persist.d.ts +2 -2
  27. package/dist/built-in/pinia-plugin/plugins/persistedstate/index.d.ts +3 -0
  28. package/dist/built-in/pinia-plugin/plugins/persistedstate/persistedstate.d.ts +15 -0
  29. package/dist/built-in/pinia-plugin/plugins/persistedstate/types.d.ts +150 -0
  30. package/dist/built-in/pinia-plugin/plugins/persistedstate/utils.d.ts +17 -0
  31. package/dist/core/ctx.d.ts +1 -0
  32. package/dist/core/interface.d.ts +26 -1
  33. package/dist/core/utils/index.d.ts +2 -0
  34. package/dist/features/composables/index.d.ts +1 -0
  35. package/dist/features/composables/partyLogin.d.ts +7 -1
  36. package/dist/features/stores/modules/settings.d.ts +6 -6
  37. package/dist/features/stores/modules/user.d.ts +14 -2
  38. package/dist/{index-WLA0JU4Y.js → index-6W8u4oWQ.js} +1 -1
  39. package/dist/{index-CEodMjIg.js → index-B9i7R1pn.js} +4 -5
  40. package/dist/{index-Ctu3_aXu.js → index-BXLF9xfN.js} +17666 -17025
  41. package/dist/{index-egA-td8O.js → index-C5X0cH7a.js} +3 -3
  42. package/dist/{index-Da79wYQP.js → index-CMSPnrUx.js} +1 -1
  43. package/dist/index-DSKHePRb.js +4 -0
  44. package/dist/{index-B8wbywmR.js → index-FATjHAwl.js} +1 -1
  45. package/dist/{index-B69sIuLj.js → index-_VKoUSGo.js} +1 -1
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.js +13 -12
  48. package/dist/{pick-BS5wr8z9.js → pick-BvMRfqim.js} +1 -1
  49. package/dist/{question-line-CfkciTFq.js → question-line-DCMVyZ3e.js} +2 -2
  50. package/dist/{right-Bfe2p1o0.js → right-aIVrXLnr.js} +4 -4
  51. package/dist/style.css +1 -1
  52. package/dist/utils/index.d.ts +0 -1
  53. package/package.json +10 -9
  54. package/src/built-in/devtools/index.ts +292 -0
  55. package/src/built-in/index.ts +1 -0
  56. package/src/built-in/layout-component/Layout.vue +93 -9
  57. package/src/built-in/layout-component/components/Header/index.vue +4 -11
  58. package/src/built-in/layout-component/components/Sidebar/MainSidebar.vue +3 -1
  59. package/src/built-in/layout-component/components/Sidebar/SubSidebar.vue +4 -21
  60. package/src/built-in/layout-component/components/Topbar/index.vue +4 -105
  61. package/src/built-in/layout-component/composables/useLayoutVisible.ts +87 -0
  62. package/src/built-in/layout-component/interface.ts +25 -0
  63. package/src/built-in/pinia-plugin/index.ts +2 -2
  64. package/src/built-in/pinia-plugin/plugins/persist.ts +15 -4
  65. package/src/built-in/pinia-plugin/plugins/persistedstate/README.md +551 -0
  66. package/src/built-in/pinia-plugin/plugins/persistedstate/index.ts +3 -0
  67. package/src/built-in/pinia-plugin/plugins/persistedstate/persistedstate.ts +575 -0
  68. package/src/built-in/pinia-plugin/plugins/persistedstate/types.ts +162 -0
  69. package/src/built-in/pinia-plugin/plugins/persistedstate/utils.ts +46 -0
  70. package/src/core/create.ts +1 -3
  71. package/src/core/ctx.ts +24 -1
  72. package/src/core/interface.ts +31 -1
  73. package/src/core/request.ts +0 -1
  74. package/src/core/resolver/icon.ts +1 -1
  75. package/src/core/utils/index.ts +2 -0
  76. package/src/features/assets/styles/globals.css +2 -1
  77. package/src/features/composables/index.ts +1 -0
  78. package/src/features/composables/log.ts +3 -5
  79. package/src/features/composables/partyLogin.ts +180 -38
  80. package/src/features/context/index.ts +1 -1
  81. package/src/features/stores/modules/keepAlive.ts +10 -14
  82. package/src/features/stores/modules/settings.ts +2 -7
  83. package/src/features/stores/modules/user.ts +57 -2
  84. package/src/index.ts +9 -5
  85. package/src/utils/index.ts +0 -1
  86. package/src/utils/proxy.ts +1 -1
  87. package/types/index.d.ts +1 -0
  88. package/types/pinia.d.ts +94 -0
  89. package/types/vue-router.d.ts +7 -0
  90. package/dist/HeaderThinMenu-Bu4X2-vs.js +0 -4
  91. package/dist/index-ondkWqUz.js +0 -4
  92. /package/dist/{utils → core/utils}/global.d.ts +0 -0
  93. /package/dist/core/{utils.d.ts → utils/utils.d.ts} +0 -0
  94. /package/src/{utils → core/utils}/global.ts +0 -0
  95. /package/src/core/{utils.ts → utils/utils.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { cK as k, cQ as B, cR as H, _ as w, b as A } from "./index-Ctu3_aXu.js";
1
+ import { cK as k, cQ as B, cR as H, _ as w, b as A } from "./index-BXLF9xfN.js";
2
2
  import { markRaw as E, createElementBlock as h, openBlock as a, createElementVNode as i, defineComponent as N, defineAsyncComponent as t, useModel as z, computed as u, watch as g, createBlock as S, createSlots as O, withCtx as p, Fragment as P, renderList as R, unref as c, resolveDynamicComponent as W, createVNode as f, createTextVNode as $ } from "vue";
3
3
  import D from "vue-m-message";
4
4
  import { useRoute as I } from "vue-router";
@@ -8,30 +8,30 @@ const F = {
8
8
  height: "1.2em"
9
9
  };
10
10
  function J(l, o) {
11
- return a(), h("svg", F, o[0] || (o[0] = [
11
+ return a(), h("svg", F, [...o[0] || (o[0] = [
12
12
  i("path", {
13
13
  fill: "currentColor",
14
14
  d: "M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"
15
15
  }, null, -1)
16
- ]));
16
+ ])]);
17
17
  }
18
18
  const K = E({ name: "ep-document-copy", render: J }), L = { class: "settong-warp" }, Q = /* @__PURE__ */ N({
19
19
  name: "AppSetting",
20
20
  components: {
21
- SettingThemes: t(() => import("./SettingThemes-Do-SwCzx.js")),
22
- SettingsMode: t(() => import("./SettingMode-bStWvnHg.js")),
23
- SettingWidthMode: t(() => import("./SettingWidthMode-CGmv4JQk.js")),
24
- SettingEnableTransition: t(() => import("./SettingEnableTransition-hJTXOtuP.js")),
25
- SettingMenu: t(() => import("./SettingMenu-B2h4e61Z.js")),
26
- SettingTopbar: t(() => import("./SettingTopbar-QwqH9maD.js")),
27
- SettingTabbar: t(() => import("./SettingTabbar-YLshyP8G.js")),
28
- SettingToolbar: t(() => import("./SettingToolbar-DHbr1d6B.js")),
29
- SettingBreadcrumb: t(() => import("./SettingBreadcrumb-P-C21e5U.js")),
30
- SettingPage: t(() => import("./SettingPage-d8HGOfhZ.js")),
31
- SettingNavSearch: t(() => import("./SettingNavSearch-BvTlahqj.js")),
32
- SettingCopyright: t(() => import("./SettingCopyright-XUQuMUND.js")),
33
- SettingHome: t(() => import("./SettingHome-1C9Ph1Dl.js")),
34
- SettingOther: t(() => import("./SettingOther-ihHycIPn.js"))
21
+ SettingThemes: t(() => import("./SettingThemes-ComNCP3P.js")),
22
+ SettingsMode: t(() => import("./SettingMode-bh3I8UBZ.js")),
23
+ SettingWidthMode: t(() => import("./SettingWidthMode-wzTMq96A.js")),
24
+ SettingEnableTransition: t(() => import("./SettingEnableTransition-DQJozSZH.js")),
25
+ SettingMenu: t(() => import("./SettingMenu-DEQRAtWl.js")),
26
+ SettingTopbar: t(() => import("./SettingTopbar-BcO5Hcxm.js")),
27
+ SettingTabbar: t(() => import("./SettingTabbar-BETdKJxz.js")),
28
+ SettingToolbar: t(() => import("./SettingToolbar-D0DTBbbb.js")),
29
+ SettingBreadcrumb: t(() => import("./SettingBreadcrumb-CBWdS_nO.js")),
30
+ SettingPage: t(() => import("./SettingPage-B2_SNyn5.js")),
31
+ SettingNavSearch: t(() => import("./SettingNavSearch-iYc-eRzY.js")),
32
+ SettingCopyright: t(() => import("./SettingCopyright-D5Jhdu1J.js")),
33
+ SettingHome: t(() => import("./SettingHome-DAwn9Ypx.js")),
34
+ SettingOther: t(() => import("./SettingOther-C2TS6okv.js"))
35
35
  },
36
36
  __name: "AppSetting",
37
37
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as c, watch as u, createElementBlock as n, openBlock as a, Fragment as s, renderList as m, normalizeClass as p, createBlock as b, unref as f, createTextVNode as h, toDisplayString as k } from "vue";
2
- import { cC as y } from "./index-Ctu3_aXu.js";
2
+ import { cC as y } from "./index-BXLF9xfN.js";
3
3
  import "pinia";
4
4
  const _ = { class: "inline-flex select-none items-center justify-center of-hidden rounded-md bg-stone-3 dark:bg-stone-7" }, g = ["disabled", "onClick"], w = /* @__PURE__ */ c({
5
5
  __name: "HCheckList",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as u, computed as c, createElementBlock as m, openBlock as r, withDirectives as i, createElementVNode as n, isRef as _, vModelCheckbox as f, unref as b } from "vue";
2
- import { b as g } from "./index-Ctu3_aXu.js";
2
+ import { b as g } from "./index-BXLF9xfN.js";
3
3
  const V = { class: "switch" }, k = /* @__PURE__ */ u({
4
4
  __name: "HToggle",
5
5
  props: {
@@ -0,0 +1,4 @@
1
+ import { cE as f } from "./index-BXLF9xfN.js";
2
+ export {
3
+ f as default
4
+ };
@@ -1,11 +1,11 @@
1
- import { _ as re } from "./HCheckList.vue_vue_type_script_setup_true_lang-B7ZyR4n6.js";
2
- import { y as ue, A as me, e as E, E as ce, aG as be, P as k, g as pe, cF as ye, cG as ge, cH as ve, cI as fe, cv as he, aY as we, cJ as Me, cw as Pe, m as Oe, ap as Ce, i as $e, p as ke, X as xe, j as ne, bb as Se, cK as Ve, cL as Te, cs as _e, cg as Ie, cM as Be, N as Ue, b as Ae } from "./index-Ctu3_aXu.js";
3
- import { _ as He } from "./HToggle-Dap0xf8L.js";
1
+ import { _ as re } from "./HCheckList.vue_vue_type_script_setup_true_lang-CHzkJth7.js";
2
+ import { y as ue, A as me, e as E, E as ce, aG as be, P as k, g as pe, cF as ye, cG as ge, cH as ve, cI as fe, cv as he, aY as we, cJ as Me, cw as Pe, m as Oe, ap as Ce, i as $e, p as ke, X as xe, j as ne, bb as Se, cK as Ve, cL as Te, cs as _e, cg as Ie, cM as Be, N as Ue, b as Ae } from "./index-BXLF9xfN.js";
3
+ import { _ as He } from "./HToggle-DpDYLh8y.js";
4
4
  import { defineComponent as te, shallowRef as U, computed as K, createVNode as a, Transition as Ee, withDirectives as ze, vShow as Le, ref as Re, createElementBlock as d, openBlock as r, createCommentVNode as u, createElementVNode as s, unref as e, isRef as je, Fragment as De, renderList as Fe, normalizeClass as v, normalizeStyle as Ne, withCtx as b, createTextVNode as V } from "vue";
5
5
  import { getThemes as Ge } from "@pubinfo/config/themes";
6
- import { E as X, a as J } from "./right-Bfe2p1o0.js";
7
- import { R as A } from "./question-line-CfkciTFq.js";
8
- import { p as $ } from "./pick-BS5wr8z9.js";
6
+ import { E as X, a as J } from "./right-aIVrXLnr.js";
7
+ import { R as A } from "./question-line-DCMVyZ3e.js";
8
+ import { p as $ } from "./pick-BvMRfqim.js";
9
9
  const H = (i, o, n, p, f) => ({
10
10
  backgroundColor: i,
11
11
  border: `${p.lineWidth}px ${p.lineType} ${o}`,
@@ -1,8 +1,8 @@
1
1
  import { _ as r } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { _ as p } from "./HCheckList.vue_vue_type_script_setup_true_lang-B7ZyR4n6.js";
3
- import { _ } from "./HToggle-Dap0xf8L.js";
2
+ import { _ as p } from "./HCheckList.vue_vue_type_script_setup_true_lang-CHzkJth7.js";
3
+ import { _ } from "./HToggle-DpDYLh8y.js";
4
4
  import { defineComponent as b, toRefs as f, createBlock as c, openBlock as g, withCtx as V, createElementVNode as n, createVNode as s, unref as t } from "vue";
5
- import { cK as v } from "./index-Ctu3_aXu.js";
5
+ import { cK as v } from "./index-BXLF9xfN.js";
6
6
  const M = { class: "setting-item" }, x = { class: "setting-item" }, B = { class: "setting-item" }, $ = /* @__PURE__ */ b({
7
7
  name: "SettingBreadcrumb",
8
8
  __name: "SettingBreadcrumb",
@@ -1,8 +1,8 @@
1
1
  import { _ as u } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
2
  import { _ as p } from "./HInput.vue_vue_type_script_setup_true_lang-DBqCXRnn.js";
3
- import { _ as r } from "./HToggle-Dap0xf8L.js";
3
+ import { _ as r } from "./HToggle-DpDYLh8y.js";
4
4
  import { defineComponent as b, toRef as V, createBlock as g, openBlock as _, withCtx as f, createElementVNode as o, createVNode as n, unref as t } from "vue";
5
- import { cK as v } from "./index-Ctu3_aXu.js";
5
+ import { cK as v } from "./index-BXLF9xfN.js";
6
6
  const y = { class: "setting-item" }, C = { class: "setting-item" }, U = { class: "setting-item" }, x = { class: "setting-item" }, w = { class: "setting-item" }, D = /* @__PURE__ */ b({
7
7
  name: "SettingCopyright",
8
8
  __name: "SettingCopyright",
@@ -1,6 +1,6 @@
1
1
  import { _ as g } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { cK as k, cM as x, b as C } from "./index-Ctu3_aXu.js";
3
- import { _ as T } from "./HToggle-Dap0xf8L.js";
2
+ import { cK as k, cM as x, b as C } from "./index-BXLF9xfN.js";
3
+ import { _ as T } from "./HToggle-DpDYLh8y.js";
4
4
  import { defineComponent as V, toRefs as h, reactive as E, createBlock as c, openBlock as o, withCtx as l, createElementVNode as d, createElementBlock as r, createCommentVNode as y, createVNode as H, unref as s, isRef as S, Fragment as B, renderList as M, normalizeClass as N } from "vue";
5
5
  const $ = { class: "flex items-center justify-center pb-4" }, L = {
6
6
  key: 0,
@@ -1,9 +1,9 @@
1
1
  import { _ as p } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
2
  import { _ as u } from "./HInput.vue_vue_type_script_setup_true_lang-DBqCXRnn.js";
3
- import { _ as c } from "./HToggle-Dap0xf8L.js";
4
- import { cK as f, cM as g } from "./index-Ctu3_aXu.js";
3
+ import { _ as c } from "./HToggle-DpDYLh8y.js";
4
+ import { cK as f, cM as g } from "./index-BXLF9xfN.js";
5
5
  import { defineComponent as V, toRefs as x, createBlock as H, openBlock as b, withCtx as i, createElementVNode as n, createVNode as s, createTextVNode as v, unref as e } from "vue";
6
- import { R as C } from "./question-line-CfkciTFq.js";
6
+ import { R as C } from "./question-line-DCMVyZ3e.js";
7
7
  const N = { class: "setting-item" }, R = { class: "label" }, S = { class: "setting-item" }, K = /* @__PURE__ */ V({
8
8
  name: "SettingHome",
9
9
  __name: "SettingHome",
@@ -1,9 +1,9 @@
1
1
  import { _ as v } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { _ as M } from "./HCheckList.vue_vue_type_script_setup_true_lang-B7ZyR4n6.js";
3
- import { _ } from "./HToggle-Dap0xf8L.js";
4
- import { cK as g, cM as y } from "./index-Ctu3_aXu.js";
2
+ import { _ as M } from "./HCheckList.vue_vue_type_script_setup_true_lang-CHzkJth7.js";
3
+ import { _ } from "./HToggle-DpDYLh8y.js";
4
+ import { cK as g, cM as y } from "./index-BXLF9xfN.js";
5
5
  import { defineComponent as f, toRef as c, createBlock as U, openBlock as b, withCtx as i, createElementVNode as s, createElementBlock as C, createCommentVNode as k, createVNode as d, createTextVNode as a, unref as l } from "vue";
6
- import { R as m } from "./question-line-CfkciTFq.js";
6
+ import { R as m } from "./question-line-DCMVyZ3e.js";
7
7
  const x = { class: "setting-item" }, H = { class: "label" }, S = { class: "setting-item" }, O = { class: "label" }, B = { class: "setting-item" }, R = { class: "label" }, w = { class: "setting-item" }, A = {
8
8
  key: 0,
9
9
  class: "setting-item"
@@ -1,5 +1,5 @@
1
1
  import { _ as u } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { cK as v, cM as f, b } from "./index-Ctu3_aXu.js";
2
+ import { cK as v, cM as f, b } from "./index-BXLF9xfN.js";
3
3
  import { defineComponent as g, toRef as k, reactive as x, createBlock as a, openBlock as n, withCtx as s, createElementVNode as o, createElementBlock as C, Fragment as M, renderList as S, unref as l, normalizeClass as h } from "vue";
4
4
  const y = { class: "menu-mode" }, $ = ["onClick"], B = /* @__PURE__ */ g({
5
5
  name: "SettingMode",
@@ -1,8 +1,8 @@
1
1
  import { _ } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { _ as c } from "./HToggle-Dap0xf8L.js";
3
- import { cK as p, cM as u } from "./index-Ctu3_aXu.js";
2
+ import { _ as c } from "./HToggle-DpDYLh8y.js";
3
+ import { cK as p, cM as u } from "./index-BXLF9xfN.js";
4
4
  import { defineComponent as f, toRef as b, createBlock as g, openBlock as v, withCtx as i, createElementVNode as n, createVNode as s, createTextVNode as V, unref as t } from "vue";
5
- import { R as S } from "./question-line-CfkciTFq.js";
5
+ import { R as S } from "./question-line-DCMVyZ3e.js";
6
6
  const x = { class: "setting-item" }, H = { class: "label" }, N = { class: "setting-item" }, $ = /* @__PURE__ */ f({
7
7
  name: "SettingNavSearch",
8
8
  __name: "SettingNavSearch",
@@ -1,9 +1,9 @@
1
1
  import { _ as c } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
2
  import { _ as x } from "./HInput.vue_vue_type_script_setup_true_lang-DBqCXRnn.js";
3
- import { cK as b, cM as S } from "./index-Ctu3_aXu.js";
4
- import { _ as H } from "./HToggle-Dap0xf8L.js";
3
+ import { cK as b, cM as S } from "./index-BXLF9xfN.js";
4
+ import { _ as H } from "./HToggle-DpDYLh8y.js";
5
5
  import { defineComponent as R, toRefs as T, createBlock as U, openBlock as C, withCtx as s, createElementVNode as o, createVNode as t, unref as n, isRef as i, createTextVNode as p } from "vue";
6
- import { R as f } from "./question-line-CfkciTFq.js";
6
+ import { R as f } from "./question-line-DCMVyZ3e.js";
7
7
  const N = { class: "setting-item" }, P = { class: "setting-item" }, $ = { class: "label" }, k = { class: "setting-item" }, B = { class: "label" }, D = { class: "setting-item" }, O = { class: "label" }, j = /* @__PURE__ */ R({
8
8
  name: "SettingOther",
9
9
  __name: "SettingOther",
@@ -1,7 +1,7 @@
1
1
  import { _ as l } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { _ as r } from "./HToggle-Dap0xf8L.js";
2
+ import { _ as r } from "./HToggle-DpDYLh8y.js";
3
3
  import { defineComponent as _, toRef as p, createBlock as c, openBlock as d, withCtx as u, createElementVNode as o, createVNode as g, unref as n } from "vue";
4
- import { cK as f } from "./index-Ctu3_aXu.js";
4
+ import { cK as f } from "./index-BXLF9xfN.js";
5
5
  const V = { class: "setting-item" }, C = /* @__PURE__ */ _({
6
6
  name: "SettingPage",
7
7
  __name: "SettingPage",
@@ -1,21 +1,21 @@
1
1
  import { _ as k } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { cK as w, cM as y } from "./index-Ctu3_aXu.js";
2
+ import { cK as w, cM as y } from "./index-BXLF9xfN.js";
3
3
  import { markRaw as x, createElementBlock as p, openBlock as r, createElementVNode as o, defineComponent as v, computed as $, resolveComponent as C, createBlock as V, mergeProps as h, withCtx as u, toDisplayString as g, unref as t, createVNode as a, Fragment as H, renderList as B, normalizeClass as M, toRef as S, createTextVNode as T } from "vue";
4
- import { _ as U } from "./HCheckList.vue_vue_type_script_setup_true_lang-B7ZyR4n6.js";
5
- import { _ as L } from "./HToggle-Dap0xf8L.js";
6
- import { R as N } from "./question-line-CfkciTFq.js";
4
+ import { _ as U } from "./HCheckList.vue_vue_type_script_setup_true_lang-CHzkJth7.js";
5
+ import { _ as L } from "./HToggle-DpDYLh8y.js";
6
+ import { R as N } from "./question-line-DCMVyZ3e.js";
7
7
  const R = {
8
8
  viewBox: "0 0 32 32",
9
9
  width: "1.2em",
10
10
  height: "1.2em"
11
11
  };
12
12
  function z(m, i) {
13
- return r(), p("svg", R, i[0] || (i[0] = [
13
+ return r(), p("svg", R, [...i[0] || (i[0] = [
14
14
  o("path", {
15
15
  fill: "currentColor",
16
16
  d: "m16 28l-7-7l1.4-1.4l5.6 5.6l5.6-5.6L23 21z"
17
17
  }, null, -1)
18
- ]));
18
+ ])]);
19
19
  }
20
20
  const D = x({ name: "carbon-chevron-sort-down", render: z }), E = { class: "w-full inline-flex" }, I = ["disabled"], q = { class: "block truncate" }, F = { class: "pointer-events-none absolute end-0 inset-y-0 flex items-center pe-2.5" }, K = { class: "max-h-60 w-full scroll-py-1 overflow-y-auto p-1 lg:w-48 focus:outline-none" }, P = ["disabled", "onClick"], Q = /* @__PURE__ */ v({
21
21
  __name: "HSelect",
@@ -1,34 +1,35 @@
1
1
  import { _ as T } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
2
  import { markRaw as g, createElementBlock as r, openBlock as n, createElementVNode as s, defineComponent as k, useModel as V, withDirectives as S, createStaticVNode as $, vModelCheckbox as w, toRef as D, computed as B, createBlock as N, withCtx as j, createVNode as u, unref as o, isRef as L, Fragment as b, renderList as _, normalizeClass as M, normalizeStyle as h, toDisplayString as z } from "vue";
3
3
  import { getThemes as F } from "@pubinfo/config/themes";
4
- import { b as x, cS as R, cK as A } from "./index-Ctu3_aXu.js";
4
+ import { b as x, cS as R, cK as A } from "./index-BXLF9xfN.js";
5
+ import "pinia";
5
6
  const E = {
6
7
  viewBox: "-5 -2 24 24",
7
8
  width: "1.2em",
8
9
  height: "1.2em"
9
10
  };
10
- function H(f, e) {
11
- return n(), r("svg", E, e[0] || (e[0] = [
11
+ function H(p, e) {
12
+ return n(), r("svg", E, [...e[0] || (e[0] = [
12
13
  s("path", {
13
14
  fill: "currentColor",
14
15
  d: "M3 0h8a3 3 0 0 1 3 3v15a2 2 0 0 1-3.348 1.477L7.674 16.76a1 1 0 0 0-1.348 0l-2.978 2.717A2 2 0 0 1 0 18V3a3 3 0 0 1 3-3"
15
16
  }, null, -1)
16
- ]));
17
+ ])]);
17
18
  }
18
19
  const I = g({ name: "jam-bookmark-f", render: H }), U = {
19
20
  viewBox: "0 0 16 16",
20
21
  width: "1.2em",
21
22
  height: "1.2em"
22
23
  };
23
- function W(f, e) {
24
- return n(), r("svg", U, e[0] || (e[0] = [
24
+ function W(p, e) {
25
+ return n(), r("svg", U, [...e[0] || (e[0] = [
25
26
  s("path", {
26
27
  fill: "currentColor",
27
28
  "fill-rule": "evenodd",
28
29
  d: "M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m3.78-9.72a.75.75 0 0 0-1.06-1.06L6.75 9.19L5.53 7.97a.75.75 0 0 0-1.06 1.06l1.75 1.75a.75.75 0 0 0 1.06 0z",
29
30
  "clip-rule": "evenodd"
30
31
  }, null, -1)
31
- ]));
32
+ ])]);
32
33
  }
33
34
  const J = g({ name: "pajamas-check-circle-filled", render: W }), K = {
34
35
  flex: "",
@@ -42,13 +43,13 @@ const J = g({ name: "pajamas-check-circle-filled", render: W }), K = {
42
43
  modelModifiers: {}
43
44
  },
44
45
  emits: ["update:modelValue"],
45
- setup(f) {
46
- const e = V(f, "modelValue");
46
+ setup(p) {
47
+ const e = V(p, "modelValue");
47
48
  return (v, l) => (n(), r("div", K, [
48
49
  s("div", O, [
49
50
  S(s("input", {
50
51
  id: "dn",
51
- "onUpdate:modelValue": l[0] || (l[0] = (p) => e.value = p),
52
+ "onUpdate:modelValue": l[0] || (l[0] = (f) => e.value = f),
52
53
  type: "checkbox",
53
54
  class: "dn"
54
55
  }, null, 512), [
@@ -65,8 +66,8 @@ const J = g({ name: "pajamas-check-circle-filled", render: W }), K = {
65
66
  }, Y = { class: "theme-point" }, Z = { class: "explosion" }, ee = /* @__PURE__ */ k({
66
67
  name: "SettingThemes",
67
68
  __name: "SettingThemes",
68
- setup(f) {
69
- const { isDark: e } = R(), { settingsStore: v } = A(), l = D(v.settings, "app"), p = [
69
+ setup(p) {
70
+ const { isDark: e } = R(), { settingsStore: v } = A(), l = D(v.settings, "app"), f = [
70
71
  "--ui-primary",
71
72
  "--ui-text",
72
73
  "--g-bg",
@@ -76,7 +77,7 @@ const J = g({ name: "pajamas-check-circle-filled", render: W }), K = {
76
77
  ], y = B(() => {
77
78
  const c = F();
78
79
  return Object.keys(c).map((t) => {
79
- const i = c[t], a = p.map((m) => i[m].startsWith("#") ? i[m] : `rgb(${i[m]})`), d = c[t].label;
80
+ const i = c[t], a = f.map((m) => i[m].startsWith("#") ? i[m] : `rgb(${i[m]})`), d = c[t].label;
80
81
  return {
81
82
  label: t,
82
83
  value: i,
@@ -136,7 +137,7 @@ const J = g({ name: "pajamas-check-circle-filled", render: W }), K = {
136
137
  });
137
138
  };
138
139
  }
139
- }), oe = /* @__PURE__ */ x(ee, [["__scopeId", "data-v-0ba0f196"]]);
140
+ }), re = /* @__PURE__ */ x(ee, [["__scopeId", "data-v-0ba0f196"]]);
140
141
  export {
141
- oe as default
142
+ re as default
142
143
  };
@@ -1,8 +1,8 @@
1
1
  import { _ as f } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { _ as c } from "./HToggle-Dap0xf8L.js";
3
- import { cK as b, cM as V } from "./index-Ctu3_aXu.js";
2
+ import { _ as c } from "./HToggle-DpDYLh8y.js";
3
+ import { cK as b, cM as V } from "./index-BXLF9xfN.js";
4
4
  import { defineComponent as g, toRef as v, createBlock as x, openBlock as _, withCtx as i, createElementVNode as s, createElementBlock as C, createCommentVNode as N, createVNode as o, createTextVNode as m, unref as t } from "vue";
5
- import { R as r } from "./question-line-CfkciTFq.js";
5
+ import { R as r } from "./question-line-DCMVyZ3e.js";
6
6
  const R = { class: "setting-item" }, S = { class: "label" }, T = {
7
7
  key: 0,
8
8
  class: "setting-item"
@@ -1,9 +1,9 @@
1
1
  import { _ as c } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { _ as u } from "./HToggle-Dap0xf8L.js";
3
- import { cK as b, cM as f } from "./index-Ctu3_aXu.js";
4
- import { _ as g } from "./HCheckList.vue_vue_type_script_setup_true_lang-B7ZyR4n6.js";
2
+ import { _ as u } from "./HToggle-DpDYLh8y.js";
3
+ import { cK as b, cM as f } from "./index-BXLF9xfN.js";
4
+ import { _ as g } from "./HCheckList.vue_vue_type_script_setup_true_lang-CHzkJth7.js";
5
5
  import { defineComponent as T, toRefs as V, createBlock as v, openBlock as x, withCtx as l, createElementVNode as n, createVNode as s, unref as t, createTextVNode as k } from "vue";
6
- import { R as C } from "./question-line-CfkciTFq.js";
6
+ import { R as C } from "./question-line-DCMVyZ3e.js";
7
7
  const H = { class: "setting-item" }, w = { class: "setting-item" }, N = { class: "label" }, D = /* @__PURE__ */ T({
8
8
  name: "SettingTopbar",
9
9
  __name: "SettingTopbar",
@@ -1,7 +1,7 @@
1
1
  import { _ as v } from "./HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js";
2
- import { cK as u, cM as k, b as w } from "./index-Ctu3_aXu.js";
2
+ import { cK as u, cM as k, b as w } from "./index-BXLF9xfN.js";
3
3
  import { defineComponent as x, toRef as g, reactive as b, createBlock as o, openBlock as t, withCtx as n, createElementVNode as s, createElementBlock as d, Fragment as r, renderList as C, unref as c, normalizeClass as M, createCommentVNode as E, createVNode as l } from "vue";
4
- import { E as y, a as B } from "./right-Bfe2p1o0.js";
4
+ import { E as y, a as B } from "./right-aIVrXLnr.js";
5
5
  const S = { class: "app-width-mode" }, H = ["onClick"], N = /* @__PURE__ */ x({
6
6
  name: "SettingWidthMode",
7
7
  __name: "SettingWidthMode",
@@ -0,0 +1,13 @@
1
+ import { ModuleOptions } from '../../core';
2
+ /**
3
+ * 内置 Devtools 模块。
4
+ *
5
+ * 注册时机:`enforce: 'post'`,确保在路由/请求等核心模块之后挂载。
6
+ *
7
+ * 行为:
8
+ * - setup:注册各类 devtools 面板。
9
+ * - setup:监听来自 Devtools iframe 的消息,响应接口调试请求。
10
+ * - hooks.http:response:当请求元信息中显式标记 `__devtools__` 时,
11
+ * 将响应(或错误响应)快照保存到 localStorage,供面板读取。
12
+ */
13
+ export declare function Devtools(): ModuleOptions;
@@ -1,5 +1,6 @@
1
1
  export * from './authentication';
2
2
  export * from './authorization';
3
+ export * from './devtools';
3
4
  export * from './layout-component';
4
5
  export * from './n-progress';
5
6
  export * from './pinia-plugin';
@@ -1,3 +1,4 @@
1
+ import { LayoutProps } from './interface';
1
2
  declare function __VLS_template(): {
2
3
  attrs: Partial<{}>;
3
4
  slots: {
@@ -12,7 +13,12 @@ declare function __VLS_template(): {
12
13
  rootEl: HTMLDivElement;
13
14
  };
14
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
- declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
16
+ declare const __VLS_component: import('vue').DefineComponent<LayoutProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<LayoutProps> & Readonly<{}>, {
17
+ showHeader: boolean;
18
+ showSidebar: boolean;
19
+ showTabbar: boolean;
20
+ showToolbar: boolean;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
16
22
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
23
  export default _default;
18
24
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,2 +1,2 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -0,0 +1,8 @@
1
+ import { LayoutProps } from '../interface';
2
+ export declare function createLayoutVisible(props: LayoutProps): void;
3
+ /**
4
+ * 判断布局组件内各个部分的展示
5
+ */
6
+ export declare function useLayoutVisible(_props?: LayoutProps): {
7
+ show: any;
8
+ };
@@ -0,0 +1,22 @@
1
+ export interface LayoutProps {
2
+ /**
3
+ * 是否展示头部
4
+ * @default true
5
+ */
6
+ showHeader?: boolean;
7
+ /**
8
+ * 是否展示侧边栏
9
+ * @default true
10
+ */
11
+ showSidebar?: boolean;
12
+ /**
13
+ * 是否展示标签栏
14
+ * @default true
15
+ */
16
+ showTabbar?: boolean;
17
+ /**
18
+ * 是否展示工具栏
19
+ * @default true
20
+ */
21
+ showToolbar?: boolean;
22
+ }
@@ -1,3 +1,3 @@
1
- import { PluginOptions, Serializer } from 'pinia-plugin-persistedstate';
1
+ import { Serializer, SyncedPersistedStateOptions } from './persistedstate';
2
2
  export declare function customSerializer(): Serializer;
3
- export declare function createPersistedStateOptions(): PluginOptions;
3
+ export declare function createPersistedStateOptions(): SyncedPersistedStateOptions;
@@ -0,0 +1,3 @@
1
+ export * from './persistedstate';
2
+ export * from './types';
3
+ export * from './utils';
@@ -0,0 +1,15 @@
1
+ import { PiniaPluginContext } from 'pinia';
2
+ import { SyncedPersistedStateOptions } from './types';
3
+ export type { PersistenceOptions, Serializer, StorageLike, SyncedPersistedStateOptions, } from './types';
4
+ /**
5
+ * 解析存储区域类型
6
+ * @param storage - Storage 实例
7
+ * @returns 存储区域类型或 undefined
8
+ */
9
+ /**
10
+ * 创建同步持久化状态插件
11
+ * 该插件支持跨标签页状态同步,并提供完整的持久化控制
12
+ * @param options - 插件配置选项
13
+ * @returns Pinia 插件函数
14
+ */
15
+ export declare function createSyncedPersistedState(options?: SyncedPersistedStateOptions): (context: PiniaPluginContext) => void;
@@ -0,0 +1,150 @@
1
+ import { PiniaPluginContext, StateTree } from 'pinia';
2
+ /**
3
+ * 存储区域类型:本地存储或会话存储
4
+ */
5
+ export type StorageArea = 'local' | 'session';
6
+ /**
7
+ * 类似 Storage 的接口,用于抽象存储操作
8
+ */
9
+ export interface StorageLike {
10
+ /** 获取指定键的值 */
11
+ getItem: (key: string) => string | null;
12
+ /** 设置指定键的值 */
13
+ setItem: (key: string, value: string) => void;
14
+ }
15
+ /**
16
+ * 序列化器接口,用于状态的序列化和反序列化
17
+ */
18
+ export interface Serializer {
19
+ /** 将状态对象序列化为字符串 */
20
+ serialize: (data: StateTree) => string;
21
+ /** 将字符串反序列化为状态对象 */
22
+ deserialize: (data: string) => StateTree;
23
+ }
24
+ /**
25
+ * 持久化配置接口
26
+ */
27
+ export interface Persistence<State extends StateTree = StateTree> {
28
+ /** 存储键名 */
29
+ key: string;
30
+ /** 是否开启调试模式 */
31
+ debug: boolean;
32
+ /** 存储实例 */
33
+ storage: StorageLike;
34
+ /** 序列化器 */
35
+ serializer: Serializer;
36
+ /** 恢复数据前的钩子 */
37
+ beforeHydrate?: (context: PiniaPluginContext) => void;
38
+ /** 恢复数据后的钩子 */
39
+ afterHydrate?: (context: PiniaPluginContext) => void;
40
+ /** 要持久化的状态字段(白名单) */
41
+ pick?: string[];
42
+ /** 不需要持久化的状态字段(黑名单) */
43
+ omit?: string[];
44
+ }
45
+ /**
46
+ * 插件基础配置选项
47
+ */
48
+ export interface BasePluginOptions {
49
+ /** 存储实例 */
50
+ storage?: StorageLike;
51
+ /** 序列化器 */
52
+ serializer?: Serializer;
53
+ /** 是否开启调试模式 */
54
+ debug?: boolean;
55
+ /** 存储键名生成函数 */
56
+ key?: (storeKey: string) => string;
57
+ /** 是否自动为所有 store 启用持久化 */
58
+ auto?: boolean;
59
+ }
60
+ /**
61
+ * 持久化选项类型(提供给 store 使用)
62
+ */
63
+ export type PersistenceOptions<State extends StateTree = StateTree> = Partial<Omit<Persistence<State>, 'key'>> & {
64
+ /** 自定义存储键名 */
65
+ key?: string;
66
+ };
67
+ /**
68
+ * 扩展的持久化选项,包含存储区域配置
69
+ */
70
+ export type ExtendedPersistenceOptions<State extends StateTree = StateTree> = PersistenceOptions<State> & {
71
+ /** 存储区域类型 */
72
+ storageArea?: StorageArea;
73
+ };
74
+ /**
75
+ * 自定义存储事件详情
76
+ */
77
+ export interface CustomStorageEventDetail {
78
+ /** 变化的键名,null 表示清空操作 */
79
+ key: string | null;
80
+ /** 新值 */
81
+ newValue: string | null;
82
+ /** 旧值 */
83
+ oldValue: string | null;
84
+ /** 存储区域 */
85
+ storageArea: StorageArea;
86
+ }
87
+ /**
88
+ * 标准化后的全局配置选项
89
+ */
90
+ export interface NormalizedGlobalOptions {
91
+ /** 键名生成函数 */
92
+ key: (storeKey: string) => string;
93
+ /** 序列化器 */
94
+ serializer: Serializer;
95
+ /** 存储实例 */
96
+ storage?: StorageLike;
97
+ /** 存储区域 */
98
+ storageArea?: StorageArea;
99
+ /** 是否开启调试 */
100
+ debug: boolean;
101
+ /** 是否自动持久化 */
102
+ auto: boolean;
103
+ }
104
+ /**
105
+ * 持久化条目,包含完整的配置信息
106
+ */
107
+ export interface PersistenceEntry<State extends StateTree = StateTree> {
108
+ /** 存储键名 */
109
+ key: string;
110
+ /** 存储实例 */
111
+ storage: StorageLike;
112
+ /** 序列化器 */
113
+ serializer: Serializer;
114
+ /** 存储区域 */
115
+ storageArea?: StorageArea;
116
+ /** 完整的存储键名(用于同步监听) */
117
+ fullKey?: string;
118
+ /** 是否开启调试 */
119
+ debug: boolean;
120
+ /** 恢复前钩子 */
121
+ beforeHydrate?: (context: PiniaPluginContext) => void;
122
+ /** 恢复后钩子 */
123
+ afterHydrate?: (context: PiniaPluginContext) => void;
124
+ /** 白名单字段 */
125
+ pick?: PersistenceOptions<State>['pick'];
126
+ /** 黑名单字段 */
127
+ omit?: PersistenceOptions<State>['omit'];
128
+ }
129
+ /**
130
+ * 存储绑定,关联 store 和持久化配置
131
+ */
132
+ export interface StorageBinding<State extends StateTree = StateTree> {
133
+ /** Pinia 插件上下文 */
134
+ context: PiniaPluginContext;
135
+ /** 持久化条目 */
136
+ entry: PersistenceEntry<State>;
137
+ /** 跳过持久化次数(用于避免循环) */
138
+ skipPersist: number;
139
+ /** 停止订阅的函数 */
140
+ stopSubscription: () => void;
141
+ /** 初始状态快照 */
142
+ initialState: StateTree;
143
+ }
144
+ /**
145
+ * 同步持久化状态插件的配置选项
146
+ */
147
+ export interface SyncedPersistedStateOptions extends BasePluginOptions {
148
+ /** 存储区域 */
149
+ storageArea?: StorageArea;
150
+ }