@pubinfo/core 2.0.0-beta.31 → 2.0.0-beta.33

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 (124) hide show
  1. package/dist/{AppSetting-C1dyZ-8E.js → AppSetting-DhcdApoo.js} +17 -17
  2. 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
  3. package/dist/HDivider.vue_vue_type_script_setup_true_lang-DIHR-9Yv.js +20 -0
  4. package/dist/HToggle-Di3WNnzE.js +34 -0
  5. package/dist/{PreferencesContent-DgycKl9e.js → PreferencesContent-BdSTTSM-.js} +6 -6
  6. package/dist/{SettingBreadcrumb-BlgX0ZNE.js → SettingBreadcrumb-ChQx96br.js} +8 -8
  7. package/dist/{SettingCopyright-FmqadL1w.js → SettingCopyright-CkMab5VK.js} +8 -8
  8. package/dist/{SettingEnableTransition-dzMgw8cN.js → SettingEnableTransition-BSXU87vT.js} +15 -15
  9. package/dist/{SettingHome-BwlXsTTt.js → SettingHome-DwioPezC.js} +13 -13
  10. package/dist/{SettingMenu-B5tHMS24.js → SettingMenu-yvKu7Yoq.js} +25 -25
  11. package/dist/{SettingMode-Bh0mvh66.js → SettingMode-C99ADNad.js} +6 -6
  12. package/dist/{SettingNavSearch-D4g24uwl.js → SettingNavSearch-mURLLetZ.js} +8 -8
  13. package/dist/{SettingOther-DwTtu6As.js → SettingOther-BGoSdp7a.js} +9 -9
  14. package/dist/{SettingPage-cDQXtwcG.js → SettingPage-Wwy5PtzC.js} +7 -7
  15. package/dist/{SettingTabbar-m8X7jEJH.js → SettingTabbar-C2ya4r4U.js} +9 -9
  16. package/dist/{SettingThemes-CX9ISeD_.js → SettingThemes-7oYUooGR.js} +27 -27
  17. package/dist/{SettingToolbar-ByLjBezg.js → SettingToolbar-A6OiGfAD.js} +5 -5
  18. package/dist/{SettingTopbar-o8wBZolp.js → SettingTopbar-GDEPltxm.js} +9 -9
  19. package/dist/{SettingWidthMode-Ux60mKiv.js → SettingWidthMode-qwkmTFIK.js} +15 -15
  20. package/dist/{TopThinMode-17GrCZdo.js → TopThinMode-BkmPN66X.js} +1 -1
  21. package/dist/{_...all_-6l5FWUkL.js → _...all_-CdjdWhUr.js} +5 -5
  22. package/dist/assets/styles/index.d.ts +3 -3
  23. package/dist/{colors-DiWJrScm.js → colors-7rGvqeKK.js} +1 -1
  24. package/dist/{index-CfasTv4x.js → index-BC-gcL8e.js} +4 -4
  25. package/dist/{index-Md7zV10q.js → index-C-6XxK2D.js} +5 -5
  26. package/dist/{index-bsi-FZDt.js → index-CgLD0zqO.js} +169 -169
  27. package/dist/{index-BmMbAV1Y.js → index-CtyzB2cq.js} +13 -13
  28. package/dist/{index-Ckgil96Y.js → index-Cw1uN5m-.js} +2 -2
  29. package/dist/{index-Be7jJtXg.js → index-DVUDANdM.js} +5 -5
  30. package/dist/{index-Dzwhw1L9.js → index-Dpq4uqWd.js} +22 -22
  31. package/dist/{index-DgpcBgWl.js → index-DuoLZ3r3.js} +4394 -4294
  32. package/dist/{index-De_ME_Ws.js → index-sYaQXYQC.js} +2 -2
  33. package/dist/index.js +4 -4
  34. 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
  35. package/dist/interface.d.ts +17 -2
  36. package/dist/layout/ui-kit/HDialog.vue.d.ts +1 -1
  37. package/dist/layout/ui-kit/HSlideover.vue.d.ts +1 -1
  38. package/dist/layout/ui-kit/HTooltip.vue.d.ts +1 -1
  39. package/dist/{menu-CC5544p-.js → menu-BL6hH6OM.js} +1862 -1856
  40. package/dist/{pick-CJo2YiT-.js → pick-CAmKymZJ.js} +1 -1
  41. package/dist/request.js +34 -32
  42. package/dist/stores/plugin/persist.d.ts +2 -2
  43. package/dist/style.css +3 -3
  44. package/package.json +25 -26
  45. package/src/assets/styles/globals.css +188 -0
  46. package/src/assets/styles/index.ts +3 -3
  47. package/src/assets/styles/nprogress.css +68 -0
  48. package/src/assets/styles/rbac.css +51 -0
  49. package/src/assets/styles/resources/utils.css +53 -0
  50. package/src/assets/styles/resources/variables.css +5 -0
  51. package/src/components/NotAllowed/index.vue +4 -6
  52. package/src/components/PassStrengthValidator/index.vue +33 -48
  53. package/src/components/PassStrengthValidator/rule.vue +13 -25
  54. package/src/components/PubinfoIcon/index.vue +4 -8
  55. package/src/composables/watchDiff.ts +1 -1
  56. package/src/create.ts +10 -3
  57. package/src/interface.ts +24 -2
  58. package/src/layout/Layout.vue +113 -161
  59. package/src/layout/components/Content/IframeView.vue +1 -2
  60. package/src/layout/components/Content/LinkView.vue +2 -2
  61. package/src/layout/components/Content/index.vue +1 -2
  62. package/src/layout/components/Copyright/index.vue +7 -8
  63. package/src/layout/components/Header/TopMode/More.vue +24 -32
  64. package/src/layout/components/Header/TopMode/NotCursor.vue +20 -29
  65. package/src/layout/components/Header/TopMode/index.vue +1 -1
  66. package/src/layout/components/Header/index.vue +118 -206
  67. package/src/layout/components/Logo/index.vue +4 -19
  68. package/src/layout/components/Menu/item.vue +16 -25
  69. package/src/layout/components/SettingBar/AppSetting.vue +11 -11
  70. package/src/layout/components/SettingBar/components/DayNightToggle.vue +26 -120
  71. package/src/layout/components/SettingBar/components/SettingEnableTransition.vue +111 -136
  72. package/src/layout/components/SettingBar/components/SettingMode.vue +78 -88
  73. package/src/layout/components/SettingBar/components/SettingThemes.vue +48 -85
  74. package/src/layout/components/SettingBar/components/SettingWidthMode.vue +63 -71
  75. package/src/layout/components/SettingBar/index.vue +29 -62
  76. package/src/layout/components/Sidebar/MainSidebar.vue +81 -126
  77. package/src/layout/components/Sidebar/SubSidebar.vue +50 -59
  78. package/src/layout/components/Tools/Breadcrumb/index.vue +6 -12
  79. package/src/layout/components/Tools/DayNightSwitch.vue +40 -63
  80. package/src/layout/components/Tools/Preferences/PreferencesContent.vue +210 -277
  81. package/src/layout/components/Tools/Search.vue +5 -5
  82. package/src/layout/components/Tools/index.vue +1 -1
  83. package/src/layout/components/Topbar/Tabbar/MoreAction.vue +98 -145
  84. package/src/layout/components/Topbar/Tabbar/index.vue +259 -395
  85. package/src/layout/components/Topbar/Toolbar/Favorites.vue +4 -4
  86. package/src/layout/components/Topbar/Toolbar/index.vue +39 -56
  87. package/src/layout/components/Topbar/index.vue +16 -19
  88. package/src/layout/composables/useContext.ts +1 -1
  89. package/src/layout/composables/useMenu.ts +1 -1
  90. package/src/layout/composables/useTabbar.ts +1 -1
  91. package/src/layout/composables/useTitle.ts +1 -1
  92. package/src/layout/provider.ts +1 -1
  93. package/src/layout/ui-kit/HDialog.vue +1 -1
  94. package/src/layout/ui-kit/HDivider.vue +6 -35
  95. package/src/layout/ui-kit/HSlideover.vue +1 -1
  96. package/src/layout/ui-kit/HToggle.vue +49 -93
  97. package/src/layout/ui-kit/HTooltip.vue +1 -1
  98. package/src/locales/index.ts +1 -1
  99. package/src/pages/personal/profile/index.vue +1 -1
  100. package/src/pages/system/[...all].vue +4 -6
  101. package/src/pages/system/change-organization/index.vue +23 -37
  102. package/src/pages/system/change-password/components/ChangePasswordForm/index.vue +1 -1
  103. package/src/pages/system/change-password/index.vue +16 -29
  104. package/src/pages/system/not-permission/index.vue +4 -6
  105. package/src/route/guard/basic.ts +1 -1
  106. package/src/route/routes.ts +1 -1
  107. package/src/stores/modules/favorites.ts +1 -1
  108. package/src/stores/modules/menu.ts +1 -1
  109. package/src/stores/modules/route.ts +2 -2
  110. package/src/stores/modules/settings.ts +7 -7
  111. package/src/stores/modules/user.ts +2 -2
  112. package/src/stores/plugin/persist.ts +3 -3
  113. package/src/stores/plugin/sideEffect/tabbarStorage.ts +1 -1
  114. package/src/utils/crypto.ts +1 -1
  115. package/types/auto-imports.d.ts +1 -1
  116. package/types/components.d.ts +1 -0
  117. package/types/vue-router.d.ts +8 -8
  118. package/dist/HDivider-DgXBhPr0.js +0 -21
  119. package/dist/HToggle-Cd71WKvG.js +0 -34
  120. package/src/assets/styles/globals.scss +0 -189
  121. package/src/assets/styles/nprogress.scss +0 -63
  122. package/src/assets/styles/rbac.scss +0 -61
  123. package/src/assets/styles/resources/utils.scss +0 -53
  124. package/src/assets/styles/resources/variables.scss +0 -6
@@ -31,207 +31,113 @@ const enabled = defineModel();
31
31
  </div>
32
32
  </template>
33
33
 
34
- <style scoped lang="scss">
34
+ <style scoped>
35
35
  .toggleWrapper {
36
- overflow: hidden;
36
+ --at-apply: overflow-hidden;
37
37
  transform: scale(0.5);
38
38
  }
39
39
 
40
40
  .toggleWrapper input {
41
- position: absolute;
42
- left: -99em;
41
+ --at-apply: absolute left-[-99em];
43
42
  }
44
43
 
45
44
  .toggle {
46
- position: relative;
47
- display: inline-block;
48
- width: 90px;
49
- height: 50px;
50
- cursor: pointer;
51
- background-color: #83d8ff;
52
- border-radius: 84px;
45
+ --at-apply: relative inline-block w-[90px] h-[50px] cursor-pointer bg-[#83d8ff] rounded-[84px];
53
46
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
54
47
  }
55
48
 
56
49
  .toggle::before {
57
- position: absolute;
58
- top: 15px;
59
- left: -50px;
60
- font-size: 18px;
61
- content: "Day";
50
+ --at-apply: absolute left-[-50px] text-lg content-["Day"] top-[15px];;
62
51
  }
63
52
 
64
53
  .toggle::after {
65
- position: absolute;
66
- top: 15px;
67
- right: -60px;
68
- font-size: 18px;
69
- color: #384f6d;
70
- content: "Night";
54
+ --at-apply: absolute right-[-60px] text-lg text-[#384f6d] content-["Night"] top-[15px];
71
55
  }
72
56
 
73
57
  .toggle__handler {
74
- position: relative;
75
- top: 3px;
76
- left: 3px;
77
- z-index: 1;
78
- display: inline-block;
79
- width: 44px;
80
- height: 44px;
81
- background-color: #ffdb98;
82
- border-radius: 50px;
58
+ --at-apply: relative z-[1] inline-block w-11 h-11 bg-[#ffdb98] rounded-[50px] left-[3px] top-[3px];
83
59
  box-shadow: 0 2px 6px rgb(0 0 0 / 30%);
84
60
  transition: all 400ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
85
61
  transform: rotate(-45deg);
86
62
  }
87
63
 
88
64
  .toggle__handler .crater {
89
- position: absolute;
90
- background-color: #e8cda5;
91
- border-radius: 100%;
92
- opacity: 0;
93
- transition: opacity 200ms ease-in-out;
65
+ --at-apply: absolute bg-[#e8cda5] opacity-0 transition-opacity duration-200 ease-[ease-in-out] rounded-[100%];
94
66
  }
95
67
 
96
68
  .toggle__handler .crater--1 {
97
- top: 18px;
98
- left: 10px;
99
- width: 4px;
100
- height: 4px;
69
+ --at-apply: w-1 h-1 left-2.5 top-[18px];
101
70
  }
102
-
103
71
  .toggle__handler .crater--2 {
104
- top: 28px;
105
- left: 22px;
106
- width: 6px;
107
- height: 6px;
72
+ --at-apply: w-1.5 h-1.5 left-[22px] top-7;
108
73
  }
109
-
110
74
  .toggle__handler .crater--3 {
111
- top: 10px;
112
- left: 25px;
113
- width: 8px;
114
- height: 8px;
75
+ --at-apply: w-2 h-2 left-[25px] top-2.5;
115
76
  }
116
77
 
117
78
  .star {
118
- position: absolute;
119
- background-color: #fff;
120
- border-radius: 50%;
121
- transition: all 300ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
79
+ --at-apply: absolute bg-white transition-all duration-300 ease-[cubic-bezier(0.445,0.05,0.55,0.95)] rounded-[50%];
122
80
  }
123
-
124
81
  .star--1 {
125
- top: 10px;
126
- left: 35px;
127
- z-index: 0;
128
- width: 30px;
129
- height: 3px;
82
+ --at-apply: z-0 w-[30px] h-[3px] left-[35px] top-2.5;
130
83
  }
131
-
132
84
  .star--2 {
133
- top: 18px;
134
- left: 28px;
135
- z-index: 1;
136
- width: 30px;
137
- height: 3px;
85
+ --at-apply: z-[1] w-[30px] h-[3px] left-7 top-[18px];
138
86
  }
139
-
140
87
  .star--3 {
141
- top: 27px;
142
- left: 40px;
143
- z-index: 0;
144
- width: 30px;
145
- height: 3px;
88
+ --at-apply: z-0 w-[30px] h-[3px] left-10 top-[27px];
146
89
  }
147
-
148
90
  .star--4,
149
91
  .star--5,
150
92
  .star--6 {
151
- opacity: 0;
93
+ --at-apply: opacity-0;
152
94
  transition: all 300ms 0 cubic-bezier(0.445, 0.05, 0.55, 0.95);
153
95
  }
154
-
155
96
  .star--4 {
156
- top: 16px;
157
- left: 11px;
158
- z-index: 0;
159
- width: 2px;
160
- height: 2px;
97
+ --at-apply: z-0 w-0.5 h-0.5 left-[11px] top-4;
161
98
  transform: translate3d(3px, 0, 0);
162
99
  }
163
-
164
100
  .star--5 {
165
- top: 32px;
166
- left: 17px;
167
- z-index: 0;
168
- width: 3px;
169
- height: 3px;
101
+ --at-apply: z-0 w-[3px] h-[3px] left-[17px] top-8;
170
102
  transform: translate3d(3px, 0, 0);
171
103
  }
172
-
173
104
  .star--6 {
174
- top: 36px;
175
- left: 28px;
176
- z-index: 0;
177
- width: 2px;
178
- height: 2px;
105
+ --at-apply: z-0 w-0.5 h-0.5 left-7 top-9;
179
106
  transform: translate3d(3px, 0, 0);
180
107
  }
181
-
182
108
  input:checked + .toggle {
183
- background-color: #749dd6;
184
- }
185
-
186
- input:checked + .toggle::before {
187
- color: #749ed7;
109
+ --at-apply: bg-[#749dd6] before:text-[#749ed7] after:text-white;
188
110
  }
189
-
190
- input:checked + .toggle::after {
191
- color: #fff;
192
- }
193
-
194
111
  input:checked + .toggle .toggle__handler {
195
- background-color: #ffe5b5;
112
+ --at-apply: bg-[#ffe5b5];
196
113
  transform: translate3d(40px, 0, 0) rotate(0);
197
114
  }
198
-
199
115
  input:checked + .toggle .toggle__handler .crater {
200
- opacity: 1;
116
+ --at-apply: opacity-100;
201
117
  }
202
-
203
118
  input:checked + .toggle .star--1 {
204
- width: 2px;
205
- height: 2px;
119
+ --at-apply: w-0.5 h-0.5;
206
120
  }
207
-
208
121
  input:checked + .toggle .star--2 {
209
- width: 4px;
210
- height: 4px;
122
+ --at-apply: w-1 h-1;
211
123
  transform: translate3d(-5px, 0, 0);
212
124
  }
213
-
214
125
  input:checked + .toggle .star--3 {
215
- width: 2px;
216
- height: 2px;
126
+ --at-apply: w-0.5 h-0.5;
217
127
  transform: translate3d(-7px, 0, 0);
218
128
  }
219
-
220
129
  input:checked + .toggle .star--4,
221
130
  input:checked + .toggle .star--5,
222
131
  input:checked + .toggle .star--6 {
223
- opacity: 1;
132
+ --at-apply: opacity-100;
224
133
  transform: translate3d(0, 0, 0);
225
134
  }
226
-
227
135
  input:checked + .toggle .star--4 {
228
136
  transition: all 300ms 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
229
137
  }
230
-
231
138
  input:checked + .toggle .star--5 {
232
139
  transition: all 300ms 300ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
233
140
  }
234
-
235
141
  input:checked + .toggle .star--6 {
236
142
  transition: all 300ms 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
237
143
  }
@@ -71,145 +71,120 @@ const transitionModeList = reactive<
71
71
  </HDivider>
72
72
  </template>
73
73
 
74
- <style lang="scss" scoped>
74
+ <style scoped>
75
75
  .transition-mode {
76
76
  --at-apply: flex items-center justify-center gap-4 pb-4;
77
+ }
78
+
79
+ .transition-mode .mode {
80
+ --at-apply: relative flex items-center justify-center w-14 h-10 rounded-2 ring-1 ring-stone-2 dark:ring-stone-7 cursor-pointer;
81
+ }
82
+
83
+ .transition-mode .mode.active {
84
+ --at-apply: ring-ui-primary ring-2;
85
+ }
86
+
87
+ .transition-mode .mode::after {
88
+ --at-apply: content-empty absolute w-3/5 h-3/5 top-1/5 left-1/5 rounded-2 bg-stone-2 dark:bg-stone-9 transition;
89
+ }
90
+
91
+ .transition-mode .mode.mode-fade::after {
92
+ animation: transition-mode-fade-after 1.5s infinite;
93
+ }
94
+
95
+ @keyframes transition-mode-fade-after {
96
+ 0% {
97
+ opacity: 1;
98
+ }
99
+ 30%, 35% {
100
+ opacity: 0;
101
+ }
102
+ 65% {
103
+ opacity: 1;
104
+ }
105
+ }
106
+
107
+ .transition-mode .mode.mode-slide-left::after {
108
+ animation: transition-mode-slide-left 1.5s infinite;
109
+ }
110
+
111
+ @keyframes transition-mode-slide-left {
112
+ 0% {
113
+ opacity: 1;
114
+ }
115
+ 30% {
116
+ opacity: 0;
117
+ transform: translate(-30%, 0);
118
+ }
119
+ 35% {
120
+ opacity: 0;
121
+ transform: translate(30%, 0);
122
+ }
123
+ 65% {
124
+ opacity: 1;
125
+ }
126
+ }
77
127
 
78
- .mode {
79
- --at-apply: relative flex items-center justify-center w-14 h-10 rounded-2 ring-1 ring-stone-2 dark:ring-stone-7 cursor-pointer;
80
-
81
- &.active {
82
- --at-apply: ring-ui-primary ring-2;
83
- }
84
-
85
- &::after {
86
- --at-apply: content-empty absolute w-3/5 h-3/5 top-1/5 left-1/5 rounded-2 bg-stone-2 dark:bg-stone-9 transition;
87
- }
88
-
89
- &.mode-fade {
90
- &::after {
91
- animation: transition-mode-fade-after 1.5s infinite;
92
- }
93
-
94
- @keyframes transition-mode-fade-after {
95
- 0% {
96
- opacity: 1;
97
- }
98
-
99
- 30%,
100
- 35% {
101
- opacity: 0;
102
- }
103
-
104
- 65% {
105
- opacity: 1;
106
- }
107
- }
108
- }
109
-
110
- &.mode-slide-left {
111
- &::after {
112
- animation: transition-mode-slide-left 1.5s infinite;
113
- }
114
-
115
- @keyframes transition-mode-slide-left {
116
- 0% {
117
- opacity: 1;
118
- }
119
-
120
- 30% {
121
- opacity: 0;
122
- transform: translate(-30%, 0);
123
- }
124
-
125
- 35% {
126
- opacity: 0;
127
- transform: translate(30%, 0);
128
- }
129
-
130
- 65% {
131
- opacity: 1;
132
- }
133
- }
134
- }
135
-
136
- &.mode-slide-right {
137
- &::after {
138
- animation: transition-mode-slide-right 1.5s infinite;
139
- }
140
-
141
- @keyframes transition-mode-slide-right {
142
- 0% {
143
- opacity: 1;
144
- }
145
-
146
- 30% {
147
- opacity: 0;
148
- transform: translate(30%, 0);
149
- }
150
-
151
- 35% {
152
- opacity: 0;
153
- transform: translate(-30%, 0);
154
- }
155
-
156
- 100% {
157
- opacity: 1;
158
- }
159
- }
160
- }
161
-
162
- &.mode-slide-top {
163
- &::after {
164
- animation: transition-mode-slide-top 1.5s infinite;
165
- }
166
-
167
- @keyframes transition-mode-slide-top {
168
- 0% {
169
- opacity: 1;
170
- }
171
-
172
- 30% {
173
- opacity: 0;
174
- transform: translate(0, -30%);
175
- }
176
-
177
- 35% {
178
- opacity: 0;
179
- transform: translate(0, 30%);
180
- }
181
-
182
- 100% {
183
- opacity: 1;
184
- }
185
- }
186
- }
187
-
188
- &.mode-slide-bottom {
189
- &::after {
190
- animation: transition-mode-slide-bottom 1.5s infinite;
191
- }
192
-
193
- @keyframes transition-mode-slide-bottom {
194
- 0% {
195
- opacity: 1;
196
- }
197
-
198
- 30% {
199
- opacity: 0;
200
- transform: translate(0, 30%);
201
- }
202
-
203
- 35% {
204
- opacity: 0;
205
- transform: translate(0, -30%);
206
- }
207
-
208
- 100% {
209
- opacity: 1;
210
- }
211
- }
212
- }
128
+ .transition-mode .mode.mode-slide-right::after {
129
+ animation: transition-mode-slide-right 1.5s infinite;
130
+ }
131
+
132
+ @keyframes transition-mode-slide-right {
133
+ 0% {
134
+ opacity: 1;
135
+ }
136
+ 30% {
137
+ opacity: 0;
138
+ transform: translate(30%, 0);
139
+ }
140
+ 35% {
141
+ opacity: 0;
142
+ transform: translate(-30%, 0);
143
+ }
144
+ 100% {
145
+ opacity: 1;
146
+ }
147
+ }
148
+
149
+ .transition-mode .mode.mode-slide-top::after {
150
+ animation: transition-mode-slide-top 1.5s infinite;
151
+ }
152
+
153
+ @keyframes transition-mode-slide-top {
154
+ 0% {
155
+ opacity: 1;
156
+ }
157
+ 30% {
158
+ opacity: 0;
159
+ transform: translate(0, -30%);
160
+ }
161
+ 35% {
162
+ opacity: 0;
163
+ transform: translate(0, 30%);
164
+ }
165
+ 100% {
166
+ opacity: 1;
167
+ }
168
+ }
169
+
170
+ .transition-mode .mode.mode-slide-bottom::after {
171
+ animation: transition-mode-slide-bottom 1.5s infinite;
172
+ }
173
+
174
+ @keyframes transition-mode-slide-bottom {
175
+ 0% {
176
+ opacity: 1;
177
+ }
178
+ 30% {
179
+ opacity: 0;
180
+ transform: translate(0, 30%);
181
+ }
182
+ 35% {
183
+ opacity: 0;
184
+ transform: translate(0, -30%);
185
+ }
186
+ 100% {
187
+ opacity: 1;
213
188
  }
214
189
  }
215
190
  </style>
@@ -69,96 +69,86 @@ function clickHandle(item: Settings.menu['menuMode']) {
69
69
  </HDivider>
70
70
  </template>
71
71
 
72
- <style scoped lang="scss">
72
+ <style scoped>
73
73
  .menu-mode {
74
74
  --at-apply: flex items-center justify-center gap-4 pb-4;
75
+ }
75
76
 
76
- .mode {
77
- --at-apply: relative w-16 h-12 rounded-2 ring-1 ring-stone-2 dark:ring-stone-7 cursor-pointer transition;
78
-
79
- &.active {
80
- --at-apply: ring-ui-primary ring-2;
81
- }
82
-
83
- &::before,
84
- &::after,
85
- .mode-container {
86
- --at-apply: absolute pointer-events-none;
87
- }
88
-
89
- &::before {
90
- --at-apply: content-empty bg-ui-primary;
91
- }
92
-
93
- &::after {
94
- --at-apply: content-empty bg-ui-primary/60;
95
- }
96
-
97
- .mode-container {
98
- --at-apply: bg-ui-primary/20 border-dashed border-ui-primary;
99
-
100
- &::before {
101
- --at-apply: content-empty absolute w-full h-full;
102
- }
103
- }
104
-
105
- &-side {
106
- &::before {
107
- --at-apply: top-2 bottom-2 left-2 w-2 rounded-tl-1 rounded-bl-1;
108
- }
109
-
110
- &::after {
111
- --at-apply: top-2 bottom-2 left-4.5 w-3;
112
- }
113
-
114
- .mode-container {
115
- --at-apply: inset-t-2 inset-r-2 inset-b-2 inset-l-8 rounded-tr-1 rounded-br-1;
116
- }
117
- }
118
-
119
- &-head {
120
- &::before {
121
- --at-apply: top-2 left-2 right-2 h-2 rounded-tl-1 rounded-tr-1;
122
- }
123
-
124
- &::after {
125
- --at-apply: top-4.5 left-2 bottom-2 w-3 rounded-bl-1;
126
- }
127
-
128
- .mode-container {
129
- --at-apply: inset-t-4.5 inset-r-2 inset-b-2 inset-l-5.5 rounded-br-1;
130
- }
131
- }
132
-
133
- &-single {
134
- &::after {
135
- --at-apply: top-2 left-2 bottom-2 w-3 rounded-tl-1 rounded-bl-1;
136
- }
137
-
138
- .mode-container {
139
- --at-apply: inset-t-2 inset-r-2 inset-b-2 inset-l-5.5 rounded-tr-1 rounded-br-1;
140
- }
141
- }
142
-
143
- &-only-side {
144
- &::before {
145
- --at-apply: top-2 bottom-2 left-2 w-2 rounded-tl-1 rounded-bl-1;
146
- }
147
-
148
- .mode-container {
149
- --at-apply: inset-t-2 inset-r-2 inset-b-2 inset-l-4.5 rounded-tr-1 rounded-br-1;
150
- }
151
- }
152
-
153
- &-only-head {
154
- &::before {
155
- --at-apply: top-2 left-2 right-2 h-2 rounded-tl-1 rounded-tr-1;
156
- }
157
-
158
- .mode-container {
159
- --at-apply: inset-t-4.5 inset-r-2 inset-b-2 inset-l-2 rounded-bl-1 rounded-br-1;
160
- }
161
- }
162
- }
77
+ .menu-mode .mode {
78
+ --at-apply: relative w-16 h-12 rounded-2 ring-1 ring-stone-2 dark:ring-stone-7 cursor-pointer transition;
79
+ }
80
+
81
+ .menu-mode .mode.active {
82
+ --at-apply: ring-ui-primary ring-2;
83
+ }
84
+
85
+ .menu-mode .mode::before,
86
+ .menu-mode .mode::after,
87
+ .menu-mode .mode .mode-container {
88
+ --at-apply: absolute pointer-events-none;
89
+ }
90
+
91
+ .menu-mode .mode::before {
92
+ --at-apply: content-empty bg-ui-primary;
93
+ }
94
+
95
+ .menu-mode .mode::after {
96
+ --at-apply: content-empty bg-ui-primary/60;
97
+ }
98
+
99
+ .menu-mode .mode .mode-container {
100
+ --at-apply: bg-ui-primary/20 border-dashed border-ui-primary;
101
+ }
102
+
103
+ .menu-mode .mode .mode-container::before {
104
+ --at-apply: content-empty absolute w-full h-full;
105
+ }
106
+
107
+ .menu-mode .mode-side::before {
108
+ --at-apply: top-2 bottom-2 left-2 w-2 rounded-tl-1 rounded-bl-1;
109
+ }
110
+
111
+ .menu-mode .mode-side::after {
112
+ --at-apply: top-2 bottom-2 left-4.5 w-3;
113
+ }
114
+
115
+ .menu-mode .mode-side .mode-container {
116
+ --at-apply: inset-t-2 inset-r-2 inset-b-2 inset-l-8 rounded-tr-1 rounded-br-1;
117
+ }
118
+
119
+ .menu-mode .mode-head::before {
120
+ --at-apply: top-2 left-2 right-2 h-2 rounded-tl-1 rounded-tr-1;
121
+ }
122
+
123
+ .menu-mode .mode-head::after {
124
+ --at-apply: top-4.5 left-2 bottom-2 w-3 rounded-bl-1;
125
+ }
126
+
127
+ .menu-mode .mode-head .mode-container {
128
+ --at-apply: inset-t-4.5 inset-r-2 inset-b-2 inset-l-5.5 rounded-br-1;
129
+ }
130
+
131
+ .menu-mode .mode-single::after {
132
+ --at-apply: top-2 left-2 bottom-2 w-3 rounded-tl-1 rounded-bl-1;
133
+ }
134
+
135
+ .menu-mode .mode-single .mode-container {
136
+ --at-apply: inset-t-2 inset-r-2 inset-b-2 inset-l-5.5 rounded-tr-1 rounded-br-1;
137
+ }
138
+
139
+ .menu-mode .mode-only-side::before {
140
+ --at-apply: top-2 bottom-2 left-2 w-2 rounded-tl-1 rounded-bl-1;
141
+ }
142
+
143
+ .menu-mode .mode-only-side .mode-container {
144
+ --at-apply: inset-t-2 inset-r-2 inset-b-2 inset-l-4.5 rounded-tr-1 rounded-br-1;
145
+ }
146
+
147
+ .menu-mode .mode-only-head::before {
148
+ --at-apply: top-2 left-2 right-2 h-2 rounded-tl-1 rounded-tr-1;
149
+ }
150
+
151
+ .menu-mode .mode-only-head .mode-container {
152
+ --at-apply: inset-t-4.5 inset-r-2 inset-b-2 inset-l-2 rounded-bl-1 rounded-br-1;
163
153
  }
164
154
  </style>