@pubinfo/core 2.0.0-beta.30 → 2.0.0-beta.32
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/dist/{AppSetting-CVExa3_K.js → AppSetting-DhcdApoo.js} +17 -17
- package/dist/{HCheckList.vue_vue_type_script_setup_true_lang-B3wESRn7.js → HCheckList.vue_vue_type_script_setup_true_lang-Bi9jyf-Y.js} +2 -2
- package/dist/HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js +20 -0
- package/dist/HToggle-Di3WNnzE.js +34 -0
- package/dist/{PreferencesContent-p9KS2Pve.js → PreferencesContent-BdSTTSM-.js} +6 -6
- package/dist/{SettingBreadcrumb-DwvQtev2.js → SettingBreadcrumb-ChQx96br.js} +8 -8
- package/dist/{SettingCopyright-Wb3hkKZZ.js → SettingCopyright-CkMab5VK.js} +8 -8
- package/dist/{SettingEnableTransition-DT23T8dO.js → SettingEnableTransition-BSXU87vT.js} +15 -15
- package/dist/{SettingHome-C0K6wkyt.js → SettingHome-DwioPezC.js} +13 -13
- package/dist/{SettingMenu-CCKj46sg.js → SettingMenu-yvKu7Yoq.js} +25 -25
- package/dist/{SettingMode-pwpzZcxj.js → SettingMode-C99ADNad.js} +6 -6
- package/dist/{SettingNavSearch-zoiP1hL2.js → SettingNavSearch-mURLLetZ.js} +8 -8
- package/dist/{SettingOther-OIZZcjfo.js → SettingOther-BGoSdp7a.js} +9 -9
- package/dist/{SettingPage-CyljqOiV.js → SettingPage-Wwy5PtzC.js} +7 -7
- package/dist/{SettingTabbar-DCQai4_R.js → SettingTabbar-C2ya4r4U.js} +9 -9
- package/dist/{SettingThemes-DJIaIqy1.js → SettingThemes-7oYUooGR.js} +27 -27
- package/dist/{SettingToolbar-Dvv11piV.js → SettingToolbar-A6OiGfAD.js} +5 -5
- package/dist/{SettingTopbar-CMpP98WU.js → SettingTopbar-GDEPltxm.js} +9 -9
- package/dist/{SettingWidthMode-DVPAA6Xs.js → SettingWidthMode-qwkmTFIK.js} +15 -15
- package/dist/{TopThinMode-D8rMfa-C.js → TopThinMode-BkmPN66X.js} +1 -1
- package/dist/{_...all_-6l5FWUkL.js → _...all_-CdjdWhUr.js} +5 -5
- package/dist/assets/styles/index.d.ts +3 -3
- package/dist/{colors-DiWJrScm.js → colors-7rGvqeKK.js} +1 -1
- package/dist/{index-CfasTv4x.js → index-BC-gcL8e.js} +4 -4
- package/dist/{index-Md7zV10q.js → index-C-6XxK2D.js} +5 -5
- package/dist/{index-bsi-FZDt.js → index-CgLD0zqO.js} +169 -169
- package/dist/{index-BmMbAV1Y.js → index-CtyzB2cq.js} +13 -13
- package/dist/{index-Ckgil96Y.js → index-Cw1uN5m-.js} +2 -2
- package/dist/{index-Be7jJtXg.js → index-DVUDANdM.js} +5 -5
- package/dist/{index-lv9zqWqR.js → index-Dpq4uqWd.js} +22 -22
- package/dist/{index-CyyndQxa.js → index-DuoLZ3r3.js} +4394 -4294
- package/dist/{index-De_ME_Ws.js → index-sYaQXYQC.js} +2 -2
- package/dist/index.js +4 -4
- package/dist/{index.vue_vue_type_style_index_0_scoped_fa1c6ee4_lang-B3Eieo0k.js → index.vue_vue_type_style_index_0_scoped_051f4e99_lang-CuU-JtjC.js} +870 -856
- package/dist/interface.d.ts +12 -0
- package/dist/layout/ui-kit/HDialog.vue.d.ts +1 -1
- package/dist/layout/ui-kit/HSlideover.vue.d.ts +1 -1
- package/dist/layout/ui-kit/HTooltip.vue.d.ts +1 -1
- package/dist/{menu-CC5544p-.js → menu-BL6hH6OM.js} +1862 -1856
- package/dist/{pick-CJo2YiT-.js → pick-CAmKymZJ.js} +1 -1
- package/dist/request.js +34 -32
- package/dist/stores/plugin/persist.d.ts +2 -2
- package/dist/style.css +3 -3
- package/package.json +25 -26
- package/src/assets/styles/globals.css +188 -0
- package/src/assets/styles/index.ts +3 -3
- package/src/assets/styles/nprogress.css +68 -0
- package/src/assets/styles/rbac.css +51 -0
- package/src/assets/styles/resources/utils.css +53 -0
- package/src/assets/styles/resources/variables.css +5 -0
- package/src/components/NotAllowed/index.vue +4 -6
- package/src/components/PassStrengthValidator/index.vue +33 -48
- package/src/components/PassStrengthValidator/rule.vue +13 -25
- package/src/components/PubinfoIcon/index.vue +4 -8
- package/src/composables/watchDiff.ts +1 -1
- package/src/create.ts +10 -3
- package/src/interface.ts +19 -0
- package/src/layout/Layout.vue +113 -161
- package/src/layout/components/Content/IframeView.vue +1 -2
- package/src/layout/components/Content/LinkView.vue +2 -2
- package/src/layout/components/Content/index.vue +1 -2
- package/src/layout/components/Copyright/index.vue +7 -8
- package/src/layout/components/Header/TopMode/More.vue +24 -32
- package/src/layout/components/Header/TopMode/NotCursor.vue +20 -29
- package/src/layout/components/Header/TopMode/index.vue +1 -1
- package/src/layout/components/Header/index.vue +118 -206
- package/src/layout/components/Logo/index.vue +4 -19
- package/src/layout/components/Menu/item.vue +16 -25
- package/src/layout/components/SettingBar/AppSetting.vue +11 -11
- package/src/layout/components/SettingBar/components/DayNightToggle.vue +26 -120
- package/src/layout/components/SettingBar/components/SettingEnableTransition.vue +111 -136
- package/src/layout/components/SettingBar/components/SettingMode.vue +78 -88
- package/src/layout/components/SettingBar/components/SettingThemes.vue +48 -85
- package/src/layout/components/SettingBar/components/SettingWidthMode.vue +63 -71
- package/src/layout/components/SettingBar/index.vue +29 -62
- package/src/layout/components/Sidebar/MainSidebar.vue +81 -126
- package/src/layout/components/Sidebar/SubSidebar.vue +50 -59
- package/src/layout/components/Tools/Breadcrumb/index.vue +6 -12
- package/src/layout/components/Tools/DayNightSwitch.vue +40 -63
- package/src/layout/components/Tools/Preferences/PreferencesContent.vue +210 -277
- package/src/layout/components/Tools/Search.vue +5 -5
- package/src/layout/components/Tools/index.vue +1 -1
- package/src/layout/components/Topbar/Tabbar/MoreAction.vue +98 -145
- package/src/layout/components/Topbar/Tabbar/index.vue +259 -395
- package/src/layout/components/Topbar/Toolbar/Favorites.vue +4 -4
- package/src/layout/components/Topbar/Toolbar/index.vue +39 -56
- package/src/layout/components/Topbar/index.vue +16 -19
- package/src/layout/composables/useContext.ts +1 -1
- package/src/layout/composables/useMenu.ts +1 -1
- package/src/layout/composables/useTabbar.ts +1 -1
- package/src/layout/composables/useTitle.ts +1 -1
- package/src/layout/provider.ts +1 -1
- package/src/layout/ui-kit/HDialog.vue +1 -1
- package/src/layout/ui-kit/HDivider.vue +6 -35
- package/src/layout/ui-kit/HSlideover.vue +1 -1
- package/src/layout/ui-kit/HToggle.vue +49 -93
- package/src/layout/ui-kit/HTooltip.vue +1 -1
- package/src/locales/index.ts +1 -1
- package/src/pages/personal/profile/index.vue +1 -1
- package/src/pages/system/[...all].vue +4 -6
- package/src/pages/system/change-organization/index.vue +23 -37
- package/src/pages/system/change-password/components/ChangePasswordForm/index.vue +1 -1
- package/src/pages/system/change-password/index.vue +16 -29
- package/src/pages/system/not-permission/index.vue +4 -6
- package/src/route/guard/basic.ts +1 -1
- package/src/route/routes.ts +1 -1
- package/src/stores/modules/favorites.ts +1 -1
- package/src/stores/modules/menu.ts +1 -1
- package/src/stores/modules/route.ts +2 -2
- package/src/stores/modules/settings.ts +7 -7
- package/src/stores/modules/user.ts +2 -2
- package/src/stores/plugin/persist.ts +3 -3
- package/src/stores/plugin/sideEffect/tabbarStorage.ts +1 -1
- package/src/utils/crypto.ts +1 -1
- package/types/auto-imports.d.ts +1 -1
- package/types/components.d.ts +1 -0
- package/types/vue-router.d.ts +8 -8
- package/dist/HDivider-DgXBhPr0.js +0 -21
- package/dist/HToggle-Cd71WKvG.js +0 -34
- package/src/assets/styles/globals.scss +0 -189
- package/src/assets/styles/nprogress.scss +0 -63
- package/src/assets/styles/rbac.scss +0 -61
- package/src/assets/styles/resources/utils.scss +0 -53
- package/src/assets/styles/resources/variables.scss +0 -6
package/src/create.ts
CHANGED
|
@@ -25,6 +25,7 @@ export function createPubinfo(
|
|
|
25
25
|
const {
|
|
26
26
|
rootContainer = '#app',
|
|
27
27
|
immediate = true,
|
|
28
|
+
pure = false,
|
|
28
29
|
modules = [],
|
|
29
30
|
hooks: _hooks = {},
|
|
30
31
|
} = options;
|
|
@@ -38,7 +39,7 @@ export function createPubinfo(
|
|
|
38
39
|
history: createWebHashHistory(base),
|
|
39
40
|
...restRouterOptions,
|
|
40
41
|
routes: [
|
|
41
|
-
...constantRoutes,
|
|
42
|
+
...(pure ? [] : constantRoutes),
|
|
42
43
|
...routes,
|
|
43
44
|
],
|
|
44
45
|
});
|
|
@@ -63,7 +64,11 @@ export function createPubinfo(
|
|
|
63
64
|
const _modules = extractModules(modules);
|
|
64
65
|
|
|
65
66
|
await resolveModules(_modules.pre, context);
|
|
66
|
-
|
|
67
|
+
|
|
68
|
+
if (!pure) {
|
|
69
|
+
setupBasic(context);
|
|
70
|
+
}
|
|
71
|
+
|
|
67
72
|
await resolveModules(_modules.default, context);
|
|
68
73
|
await setup?.(context);
|
|
69
74
|
await resolveModules(_modules.post, context);
|
|
@@ -74,7 +79,9 @@ export function createPubinfo(
|
|
|
74
79
|
(async () => {
|
|
75
80
|
const { app, router } = await createApp();
|
|
76
81
|
await router.isReady();
|
|
77
|
-
|
|
82
|
+
if (!pure) {
|
|
83
|
+
await GetAPIValidateIp();
|
|
84
|
+
}
|
|
78
85
|
app.mount(rootContainer, true);
|
|
79
86
|
})();
|
|
80
87
|
}
|
package/src/interface.ts
CHANGED
|
@@ -15,17 +15,35 @@ export interface Context {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export interface Options {
|
|
18
|
+
/** 根节点 */
|
|
18
19
|
rootContainer?: string | Element
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 立即执行
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
19
25
|
immediate?: boolean
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 纯净模式
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
pure?: boolean
|
|
32
|
+
|
|
33
|
+
/** 模块插件注册 */
|
|
20
34
|
modules?: ModuleOptions[]
|
|
35
|
+
|
|
36
|
+
/** 生命周期 */
|
|
21
37
|
hooks?: Partial<Hooks>
|
|
22
38
|
}
|
|
23
39
|
|
|
24
40
|
export interface Module {
|
|
25
41
|
/** 唯一值 */
|
|
26
42
|
name: string
|
|
43
|
+
|
|
27
44
|
/** 初始化内容 */
|
|
28
45
|
setup?: (ctx: Context) => void
|
|
46
|
+
|
|
29
47
|
/**
|
|
30
48
|
* 插件调用顺序:
|
|
31
49
|
* - `enforce: pre` 插件
|
|
@@ -35,6 +53,7 @@ export interface Module {
|
|
|
35
53
|
* - `enforce: post` 插件
|
|
36
54
|
*/
|
|
37
55
|
enforce?: 'pre' | 'post'
|
|
56
|
+
|
|
38
57
|
/** 钩子函数 */
|
|
39
58
|
hooks?: Partial<Hooks>
|
|
40
59
|
}
|
package/src/layout/Layout.vue
CHANGED
|
@@ -114,208 +114,160 @@ watch(() => routeInfo.path, () => {
|
|
|
114
114
|
</div>
|
|
115
115
|
</template>
|
|
116
116
|
|
|
117
|
-
<style
|
|
118
|
-
[data-app-width-mode="adaption"] {
|
|
119
|
-
|
|
120
|
-
width: 100%;
|
|
121
|
-
}
|
|
117
|
+
<style scoped>
|
|
118
|
+
[data-app-width-mode="adaption"] #app-main {
|
|
119
|
+
--at-apply: w-full;
|
|
122
120
|
}
|
|
123
121
|
|
|
124
|
-
[data-app-width-mode="adaption-min-width"] {
|
|
125
|
-
|
|
126
|
-
width: max(var(--g-app-width), 100%);
|
|
127
|
-
}
|
|
122
|
+
[data-app-width-mode="adaption-min-width"] #app-main {
|
|
123
|
+
width: max(var(--g-app-width), 100%);
|
|
128
124
|
}
|
|
129
125
|
|
|
130
|
-
[data-app-width-mode="center"] {
|
|
131
|
-
|
|
132
|
-
width: var(--g-app-width);
|
|
133
|
-
}
|
|
126
|
+
[data-app-width-mode="center"] #app-main {
|
|
127
|
+
--at-apply: w-[--g-app-width];
|
|
134
128
|
}
|
|
135
129
|
|
|
136
|
-
[data-app-width-mode="center-max-width"] {
|
|
137
|
-
|
|
138
|
-
width: min(var(--g-app-width), 100%);
|
|
139
|
-
}
|
|
130
|
+
[data-app-width-mode="center-max-width"] #app-main {
|
|
131
|
+
width: min(var(--g-app-width), 100%);
|
|
140
132
|
}
|
|
141
133
|
|
|
142
|
-
[data-mode="mobile"] {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
134
|
+
[data-mode="mobile"] #app-main {
|
|
135
|
+
--at-apply: w-full;
|
|
136
|
+
}
|
|
146
137
|
|
|
147
|
-
|
|
148
|
-
|
|
138
|
+
[data-mode="mobile"] .sidebar-container {
|
|
139
|
+
transform: translateX(calc((var(--g-main-sidebar-width) + var(--g-sub-sidebar-width)) * -1));
|
|
140
|
+
}
|
|
149
141
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
142
|
+
[data-mode="mobile"] .sidebar-container.show {
|
|
143
|
+
transform: translateX(0);
|
|
144
|
+
}
|
|
154
145
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
146
|
+
[data-mode="mobile"] .main-container {
|
|
147
|
+
margin-left: 0 !important;
|
|
148
|
+
}
|
|
158
149
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
150
|
+
[data-mode="mobile"][data-menu-mode="single"] .sidebar-container {
|
|
151
|
+
transform: translateX(calc(var(--g-sub-sidebar-width) * -1));
|
|
152
|
+
}
|
|
162
153
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
154
|
+
[data-mode="mobile"][data-menu-mode="single"] .sidebar-container.show {
|
|
155
|
+
transform: translateX(0);
|
|
168
156
|
}
|
|
169
157
|
|
|
170
158
|
.layout {
|
|
171
|
-
|
|
159
|
+
--at-apply: h-full;
|
|
172
160
|
}
|
|
173
161
|
|
|
174
162
|
#app-main {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
background-color: var(--g-bg);
|
|
178
|
-
|
|
179
|
-
// 当前标签页全屏
|
|
180
|
-
&.main-page-maximize {
|
|
181
|
-
header,
|
|
182
|
-
.sidebar-container {
|
|
183
|
-
display: none;
|
|
184
|
-
}
|
|
163
|
+
--at-apply: h-full bg-[--g-bg] mx-auto my-0;
|
|
164
|
+
}
|
|
185
165
|
|
|
186
|
-
|
|
187
|
-
|
|
166
|
+
#app-main.main-page-maximize header,
|
|
167
|
+
#app-main.main-page-maximize .sidebar-container {
|
|
168
|
+
--at-apply: hidden;
|
|
169
|
+
}
|
|
188
170
|
|
|
189
|
-
|
|
190
|
-
|
|
171
|
+
#app-main.main-page-maximize .wrapper {
|
|
172
|
+
--at-apply: pt-0;
|
|
173
|
+
}
|
|
191
174
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
175
|
+
#app-main.main-page-maximize .wrapper .main-container {
|
|
176
|
+
--at-apply: ml-0;
|
|
177
|
+
}
|
|
195
178
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
}
|
|
179
|
+
#app-main.main-page-maximize .wrapper .main-container .topbar-container {
|
|
180
|
+
--at-apply: hidden;
|
|
181
|
+
}
|
|
201
182
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
183
|
+
#app-main.main-page-maximize .wrapper .main-container .main {
|
|
184
|
+
--at-apply: m-0;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
#app-main.main-page-maximize :deep([data-fixed-calc-width]) {
|
|
188
|
+
--at-apply: w-full -translate-x-2/4;
|
|
207
189
|
}
|
|
208
190
|
|
|
209
191
|
.wrapper {
|
|
210
|
-
|
|
211
|
-
width: 100%;
|
|
212
|
-
height: 100%;
|
|
192
|
+
--at-apply: relative w-full h-full;
|
|
213
193
|
transition: padding-top 0.3s;
|
|
194
|
+
}
|
|
214
195
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
width: calc(var(--g-main-sidebar-actual-width) + var(--g-sub-sidebar-actual-width));
|
|
222
|
-
box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color);
|
|
223
|
-
transition: width 0.3s, transform 0.3s, box-shadow 0.3s, top 0.3s;
|
|
224
|
-
}
|
|
196
|
+
.wrapper .sidebar-container {
|
|
197
|
+
--at-apply: fixed top-0 bottom-0 z-501 flex;
|
|
198
|
+
width: calc(var(--g-main-sidebar-actual-width) + var(--g-sub-sidebar-actual-width));
|
|
199
|
+
box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color);
|
|
200
|
+
transition: width 0.3s, transform 0.3s, box-shadow 0.3s, top 0.3s;
|
|
201
|
+
}
|
|
225
202
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
top: 0;
|
|
229
|
-
left: 0;
|
|
230
|
-
z-index: 500;
|
|
231
|
-
width: 100%;
|
|
232
|
-
height: 100%;
|
|
233
|
-
visibility: hidden;
|
|
234
|
-
background-image: radial-gradient(transparent 1px, rgb(0 0 0 / 30%) 1px);
|
|
235
|
-
background-size: 4px 4px;
|
|
236
|
-
backdrop-filter: saturate(50%) blur(4px);
|
|
237
|
-
opacity: 0;
|
|
238
|
-
transition: all 0.2s;
|
|
239
|
-
|
|
240
|
-
&.show {
|
|
241
|
-
visibility: visible;
|
|
242
|
-
opacity: 1;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
203
|
+
.wrapper .sidebar-mask {
|
|
204
|
+
--at-apply: fixed z-[500] w-full h-full invisible opacity-0 left-0 top-0;
|
|
245
205
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
206
|
+
background-size: 4px 4px;
|
|
207
|
+
backdrop-filter: saturate(50%) blur(4px);
|
|
208
|
+
transition: all 0.2s;
|
|
209
|
+
background-image: radial-gradient(transparent 1px, rgb(0 0 0 / 30%) 1px);
|
|
210
|
+
}
|
|
249
211
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
height: 0;
|
|
254
|
-
min-height: 100%;
|
|
255
|
-
margin-left: calc(var(--g-main-sidebar-actual-width) + var(--g-sub-sidebar-actual-width));
|
|
256
|
-
box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color);
|
|
257
|
-
transition: margin-left 0.3s, background-color 0.3s, box-shadow 0.3s;
|
|
258
|
-
|
|
259
|
-
.main {
|
|
260
|
-
position: relative;
|
|
261
|
-
flex: auto;
|
|
262
|
-
flex-basis: 0;
|
|
263
|
-
height: 0;
|
|
264
|
-
transition: 0.3s;
|
|
265
|
-
|
|
266
|
-
.exit-main-page-maximize {
|
|
267
|
-
--at-apply: bg-stone-7 dark:bg-stone-3 text-stone-3 dark:text-stone-7 op-50 hover:op-100 transition-opacity;
|
|
268
|
-
|
|
269
|
-
position: fixed;
|
|
270
|
-
top: -40px;
|
|
271
|
-
right: -40px;
|
|
272
|
-
z-index: 1000;
|
|
273
|
-
width: 80px;
|
|
274
|
-
height: 80px;
|
|
275
|
-
cursor: pointer;
|
|
276
|
-
border-radius: 50%;
|
|
277
|
-
|
|
278
|
-
svg {
|
|
279
|
-
position: absolute;
|
|
280
|
-
bottom: 16px;
|
|
281
|
-
left: 16px;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
212
|
+
.wrapper .sidebar-mask.show {
|
|
213
|
+
--at-apply: visible op-100;
|
|
214
|
+
}
|
|
285
215
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
216
|
+
.wrapper .main-sidebar-container:not(.main-sidebar-leave-active) + .sub-sidebar-container {
|
|
217
|
+
--at-apply: left-[--g-main-sidebar-width];
|
|
218
|
+
}
|
|
289
219
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
220
|
+
.wrapper .main-container {
|
|
221
|
+
--at-apply: flex flex-col h-0 min-h-full;
|
|
222
|
+
margin-left: calc(var(--g-main-sidebar-actual-width) + var(--g-sub-sidebar-actual-width));
|
|
223
|
+
box-shadow: -1px 0 0 0 var(--g-border-color), 1px 0 0 0 var(--g-border-color);
|
|
224
|
+
transition: margin-left 0.3s, background-color 0.3s, box-shadow 0.3s;
|
|
225
|
+
}
|
|
293
226
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
227
|
+
.wrapper .main-container .main {
|
|
228
|
+
--at-apply: relative flex-[auto] basis-0 h-0;
|
|
229
|
+
transition: 0.3s;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.wrapper .main-container .main .exit-main-page-maximize {
|
|
233
|
+
--at-apply: bg-stone-7 dark:bg-stone-3 text-stone-3 dark:text-stone-7
|
|
234
|
+
op-50 hover:op-100 transition-opacity fixed z-[1000] w-20 h-20 cursor-pointer
|
|
235
|
+
rounded-[50%] -right-10 -top-10;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.wrapper .main-container .main .exit-main-page-maximize svg {
|
|
239
|
+
--at-apply: absolute bottom-4 left-4;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.wrapper .main-container .topbar-container.has-tabbar + .main {
|
|
243
|
+
margin: var(--g-tabbar-height) 0 0;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.wrapper .main-container .topbar-container.has-toolbar + .main {
|
|
247
|
+
margin: var(--g-toolbar-height) 0 0;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.wrapper .main-container .topbar-container.has-tabbar.has-toolbar + .main {
|
|
251
|
+
margin: calc(var(--g-tabbar-height) + var(--g-toolbar-height)) 0 0;
|
|
298
252
|
}
|
|
299
253
|
|
|
300
254
|
header:not(.header-leave-active) + .wrapper {
|
|
301
|
-
|
|
255
|
+
--at-apply: pt-[--g-header-height];
|
|
256
|
+
}
|
|
302
257
|
|
|
303
|
-
|
|
304
|
-
|
|
258
|
+
header:not(.header-leave-active) + .wrapper .sidebar-container {
|
|
259
|
+
--at-apply: top-[--g-header-height];
|
|
260
|
+
}
|
|
305
261
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}
|
|
262
|
+
header:not(.header-leave-active) + .wrapper .sidebar-container :deep(.sidebar-logo) {
|
|
263
|
+
--at-apply: hidden;
|
|
264
|
+
}
|
|
310
265
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
266
|
+
header:not(.header-leave-active) + .wrapper .main-container .topbar-container {
|
|
267
|
+
--at-apply: top-[--g-header-height];
|
|
268
|
+
}
|
|
314
269
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
270
|
+
header:not(.header-leave-active) + .wrapper .main-container .topbar-container :deep(.tools) {
|
|
271
|
+
--at-apply: hidden;
|
|
320
272
|
}
|
|
321
273
|
</style>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { PageMain } from '@/components';
|
|
3
2
|
import { useClipboard } from '@vueuse/core';
|
|
4
3
|
import Message from 'vue-m-message';
|
|
5
4
|
import IconParkTwotonePlanet from '~icons/icon-park-twotone/planet';
|
|
6
5
|
import RiExternalLinkFill from '~icons/ri/external-link-fill';
|
|
6
|
+
import { PageMain } from '@/components';
|
|
7
7
|
import { useContext } from '../../composables/useContext';
|
|
8
8
|
|
|
9
9
|
defineOptions({
|
|
@@ -51,7 +51,7 @@ function open() {
|
|
|
51
51
|
</div>
|
|
52
52
|
</template>
|
|
53
53
|
|
|
54
|
-
<style
|
|
54
|
+
<style scoped>
|
|
55
55
|
.fade-enter-active,
|
|
56
56
|
.slide-left-enter-active,
|
|
57
57
|
.slide-right-enter-active,
|
|
@@ -33,17 +33,16 @@ const { settingsStore } = useContext();
|
|
|
33
33
|
</footer>
|
|
34
34
|
</template>
|
|
35
35
|
|
|
36
|
-
<style
|
|
36
|
+
<style scoped>
|
|
37
37
|
.copyright {
|
|
38
38
|
--at-apply: flex items-center justify-center flex-wrap my-4 px-4 text-sm text-stone-5;
|
|
39
|
+
}
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
41
|
+
.copyright span,a {
|
|
42
|
+
--at-apply: px-1;
|
|
43
|
+
}
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
45
|
+
.copyright a {
|
|
46
|
+
--at-apply: text-center no-underline text-stone-5 hover:text-dark dark:hover:text-light transition;
|
|
48
47
|
}
|
|
49
48
|
</style>
|
|
@@ -54,50 +54,42 @@ function menuClick(index: number, item: Menu.recordMainRaw) {
|
|
|
54
54
|
</VMenu>
|
|
55
55
|
</template>
|
|
56
56
|
|
|
57
|
-
<style
|
|
57
|
+
<style scoped>
|
|
58
58
|
.menu-more-container {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
padding-bottom: 0;
|
|
59
|
+
--at-apply: min-w-180px p-10px pb-0;
|
|
60
|
+
}
|
|
62
61
|
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
.menu-more-container .is-dev {
|
|
63
|
+
--at-apply: cursor-not-allowed;
|
|
64
|
+
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
.menu-more-container .is-dev i {
|
|
67
|
+
filter: grayscale(100%);
|
|
68
|
+
}
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
}
|
|
70
|
+
.menu-more-container .is-dev span {
|
|
71
|
+
opacity: 0.8;
|
|
74
72
|
}
|
|
75
73
|
</style>
|
|
76
74
|
|
|
77
|
-
<style
|
|
75
|
+
<style>
|
|
78
76
|
.v-popper--theme-more-appley {
|
|
77
|
+
--at-apply: z-1000;
|
|
79
78
|
z-index: 1000;
|
|
79
|
+
}
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
81
|
+
.v-popper--theme-more-appley .v-popper__inner {
|
|
82
|
+
--at-apply: border border-white border-solid rounded-8px;
|
|
83
|
+
background-image: linear-gradient(-43deg, #fff 0%, #eaf3ff 87%);
|
|
84
|
+
box-shadow: 8px 16px 28px -8px #8195b74f;
|
|
85
|
+
}
|
|
87
86
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
87
|
+
.v-popper--theme-more-appley .v-popper__arrow-container {
|
|
88
|
+
--at-apply: hidden;
|
|
91
89
|
}
|
|
92
90
|
|
|
93
|
-
.dark {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
background-image: linear-gradient(-43deg, #141414 0%, #141414 87%);
|
|
97
|
-
border: 1px solid #4b4f53;
|
|
98
|
-
border-radius: 8px;
|
|
99
|
-
box-shadow: none;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
91
|
+
.dark .v-popper--theme-more-appley .v-popper__inner {
|
|
92
|
+
--at-apply: border border-#4b4f53 border-solid rounded-8px shadow-[none];
|
|
93
|
+
background-image: linear-gradient(-43deg, #141414 0%, #141414 87%);
|
|
102
94
|
}
|
|
103
95
|
</style>
|
|
@@ -34,44 +34,35 @@ withDefaults(defineProps<{
|
|
|
34
34
|
</VMenu>
|
|
35
35
|
</template>
|
|
36
36
|
|
|
37
|
-
<style
|
|
37
|
+
<style scoped>
|
|
38
38
|
.not-cursor-container {
|
|
39
|
-
|
|
40
|
-
height: 100%;
|
|
39
|
+
--at-apply: size-full;
|
|
41
40
|
}
|
|
42
41
|
</style>
|
|
43
42
|
|
|
44
|
-
<style
|
|
43
|
+
<style>
|
|
45
44
|
.v-popper--theme-not-cursor {
|
|
46
|
-
|
|
45
|
+
--at-apply: z-1000;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.v-popper--theme-not-cursor .v-popper__inner {
|
|
49
|
+
--at-apply: w-228px h-123px border border-solid border-white rounded-md;
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
background-image: linear-gradient(-55deg, #fff 0%, #eaf3ff 87%);
|
|
52
|
-
border: 1px solid #fff;
|
|
53
|
-
border-radius: 6px;
|
|
54
|
-
box-shadow: 4px 8px 14px -4px #8195b74f;
|
|
51
|
+
background-image: linear-gradient(-55deg, #fff 0%, #eaf3ff 87%);
|
|
52
|
+
box-shadow: 4px 8px 14px -4px #8195b74f;
|
|
53
|
+
}
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
}
|
|
55
|
+
.v-popper--theme-not-cursor .v-popper__inner > div {
|
|
56
|
+
--at-apply: size-full;
|
|
57
|
+
}
|
|
61
58
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
.v-popper--theme-not-cursor .v-popper__arrow-container {
|
|
60
|
+
--at-apply: hidden;
|
|
61
|
+
display: none;
|
|
65
62
|
}
|
|
66
63
|
|
|
67
|
-
.dark {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
background-image: linear-gradient(-43deg, #141414 0%, #141414 87%);
|
|
71
|
-
border: 1px solid #4b4f53;
|
|
72
|
-
border-radius: 8px;
|
|
73
|
-
box-shadow: none;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
64
|
+
.dark .v-popper--theme-not-cursor .v-popper__inner {
|
|
65
|
+
--at-apply: shadow-[none] rounded-8px border border-solid border-[#4b4f53];
|
|
66
|
+
background-image: linear-gradient(-43deg, #141414 0%, #141414 87%);
|
|
76
67
|
}
|
|
77
68
|
</style>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { Menu } from '#/menu';
|
|
3
|
-
import { PubinfoIcon } from '@/components';
|
|
4
3
|
import { useElementSize } from '@vueuse/core';
|
|
5
4
|
import SolarWidget5BoldDuotone from '~icons/solar/widget-5-bold-duotone';
|
|
5
|
+
import { PubinfoIcon } from '@/components';
|
|
6
6
|
import { useContext } from '../../../composables/useContext';
|
|
7
7
|
import useMenu from '../../../composables/useMenu';
|
|
8
8
|
import More from './More.vue';
|