@pubinfo-pr/core 0.221.3 → 0.222.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 (73) hide show
  1. package/dist/{AppSetting-B7mE7iHt.js → AppSetting-2X1fMYsM.js} +17 -17
  2. package/dist/{HCheckList-DAkb0SBD.js → HCheckList-IpOaPgDS.js} +1 -1
  3. package/dist/HSlideover-DVQDc9q6.js +3151 -0
  4. package/dist/{HToggle-DEwBoDsw.js → HToggle-53efctOx.js} +1 -1
  5. package/dist/{PreferencesContent-CWHTBvHQ.js → PreferencesContent-DR7Bfby2.js} +6 -6
  6. package/dist/{SettingBreadcrumb-p3hD9w-9.js → SettingBreadcrumb-BdZkTm8U.js} +4 -4
  7. package/dist/{SettingCopyright-BgWvocrJ.js → SettingCopyright-CUTR3xEl.js} +3 -3
  8. package/dist/{SettingEnableTransition-Cf57pLUk.js → SettingEnableTransition-X3MmJab_.js} +3 -3
  9. package/dist/{SettingHome-tNMtRHoT.js → SettingHome-lZQWdmKO.js} +4 -4
  10. package/dist/{SettingMenu-Du4Xhle1.js → SettingMenu-CpmiIDE3.js} +5 -5
  11. package/dist/{SettingMode-DGWqKJHt.js → SettingMode-bW2Ola6n.js} +2 -2
  12. package/dist/{SettingNavSearch-C_8VmQmD.js → SettingNavSearch-zNci1-io.js} +3 -3
  13. package/dist/{SettingOther-B9iOz69R.js → SettingOther-B_fS7F1Q.js} +4 -4
  14. package/dist/{SettingPage-C0TfmEKp.js → SettingPage-D3Le0166.js} +2 -2
  15. package/dist/{SettingTabbar-C7ZQrcN4.js → SettingTabbar-DlAGfaVi.js} +5 -5
  16. package/dist/{SettingThemes-022eXO9f.js → SettingThemes-Doo4eAO8.js} +5 -5
  17. package/dist/{SettingToolbar-Bh9aXNpl.js → SettingToolbar-CULbO3xO.js} +3 -3
  18. package/dist/{SettingTopbar-DjB1Izhm.js → SettingTopbar-C6sVE2Ho.js} +5 -5
  19. package/dist/{SettingWidthMode-D7sRlBUK.js → SettingWidthMode-CilRvSU4.js} +3 -3
  20. package/dist/{auth-B65CJEOe.js → auth-BLGKOyc5.js} +193 -3
  21. package/dist/{change-organization-sU8aNfhI.js → change-organization-BGeqwF7P.js} +3 -3
  22. package/dist/{change-password-Dxzhg43p.js → change-password-DihoH7ST.js} +3 -3
  23. package/dist/{components-emseuaQx.js → components-zl6Vcs20.js} +6 -6
  24. package/dist/index.js +896 -424
  25. package/dist/{not-found-DbHOY5cU.js → not-found-BCjngLzt.js} +1 -1
  26. package/dist/{not-permission-DwERxb_u.js → not-permission-C26vTMvf.js} +1 -1
  27. package/dist/{profile-Dq66-Gsl.js → profile-BVXIFuBG.js} +1 -1
  28. package/dist/style.css +1 -1
  29. package/package.json +7 -7
  30. package/src/built-in/authentication/pages/change-organization/index.vue +22 -5
  31. package/src/built-in/authentication/pages/change-password/index.vue +30 -3
  32. package/src/built-in/layout-component/Layout.vue +81 -30
  33. package/src/built-in/layout-component/components/Copyright/index.vue +29 -3
  34. package/src/built-in/layout-component/components/Header/HeaderFullMenu/More.vue +17 -6
  35. package/src/built-in/layout-component/components/Header/HeaderFullMenu/NotCursor.vue +18 -7
  36. package/src/built-in/layout-component/components/Header/HeaderMenu.vue +2 -3
  37. package/src/built-in/layout-component/components/Header/index.vue +119 -22
  38. package/src/built-in/layout-component/components/Logo/index.vue +4 -1
  39. package/src/built-in/layout-component/components/Menu/item.vue +29 -6
  40. package/src/built-in/layout-component/components/SettingBar/AppSetting.vue +33 -13
  41. package/src/built-in/layout-component/components/SettingBar/components/DayNightToggle.vue +113 -25
  42. package/src/built-in/layout-component/components/SettingBar/components/SettingEnableTransition.vue +57 -4
  43. package/src/built-in/layout-component/components/SettingBar/components/SettingMode.vue +123 -20
  44. package/src/built-in/layout-component/components/SettingBar/components/SettingThemes.vue +102 -25
  45. package/src/built-in/layout-component/components/SettingBar/components/SettingWidthMode.vue +100 -16
  46. package/src/built-in/layout-component/components/SettingBar/index.vue +64 -10
  47. package/src/built-in/layout-component/components/Sidebar/MainSidebar.vue +76 -22
  48. package/src/built-in/layout-component/components/Sidebar/SubSidebar.vue +16 -10
  49. package/src/built-in/layout-component/components/Tools/Breadcrumb/index.vue +2 -2
  50. package/src/built-in/layout-component/components/Tools/DarkModeToggle.vue +26 -4
  51. package/src/built-in/layout-component/components/Tools/Preferences/PreferencesContent.vue +404 -51
  52. package/src/built-in/layout-component/components/Topbar/Tabbar/MoreAction.vue +68 -13
  53. package/src/built-in/layout-component/components/Topbar/Tabbar/index.vue +177 -49
  54. package/src/built-in/layout-component/components/Topbar/Toolbar/Favorites.vue +2 -2
  55. package/src/built-in/layout-component/components/Topbar/Toolbar/index.vue +45 -12
  56. package/src/built-in/layout-component/components/ui/HToggle.vue +55 -9
  57. package/src/features/components/PassStrengthValidator/index.vue +36 -10
  58. package/src/features/components/PassStrengthValidator/rule.vue +17 -4
  59. package/dist/HSlideover-CXBJxuQo.js +0 -1695
  60. package/dist/HeaderFullMenu-l2890Bzo.js +0 -250
  61. package/dist/HeaderThinMenu-5K6HXiQk.js +0 -438
  62. package/dist/overlayscrollbars-vue-mGyICRMi.js +0 -1460
  63. /package/dist/{HDivider-Ds5MMqtm.js → HDivider-BwvBr5OE.js} +0 -0
  64. /package/dist/{HInput-BrsX9848.js → HInput-KJ5nFBpF.js} +0 -0
  65. /package/dist/{core-4H5JBsa5.js → core-DJIGzMMM.js} +0 -0
  66. /package/dist/{engine-oniguruma-uxNZ2DGJ.js → engine-oniguruma-CaNXwGSv.js} +0 -0
  67. /package/dist/{json-CC4oV-bd.js → json-Bu_Zprin.js} +0 -0
  68. /package/dist/{question-line-D7ecIumZ.js → question-line-BG__Ycfv.js} +0 -0
  69. /package/dist/{reload-CbuQgTlC.js → reload-DHx5Vwus.js} +0 -0
  70. /package/dist/{right-DYiPS7dU.js → right-BxBlFUwj.js} +0 -0
  71. /package/dist/{vitesse-dark-CxkWMfh6.js → vitesse-dark-CTe40QT_.js} +0 -0
  72. /package/dist/{vitesse-light-DY25e6F3.js → vitesse-light-BWXC_WeB.js} +0 -0
  73. /package/dist/{wasm-DAU6f5s5.js → wasm-2zDVqo-C.js} +0 -0
@@ -45,83 +45,180 @@ const { show } = useLayoutVisible();
45
45
  <style scoped>
46
46
  [data-app-width-mode="center"] header,
47
47
  [data-app-width-mode="center-max-width"] header {
48
- --at-apply: w-[--g-app-width] max-w-full;
48
+ width: var(--g-app-width);
49
+ max-width: 100%;
49
50
  }
50
51
 
51
52
  header {
52
- --at-apply: fixed top-0 right-0 left-0 z-1000 flex items-center w-full h-[--g-header-height] mx-auto my-0 px-5 py-0 text-[--g-header-color] bg-[--g-header-bg];
53
+ position: fixed;
54
+ top: 0;
55
+ right: 0;
56
+ left: 0;
57
+ z-index: 1000;
58
+ display: flex;
59
+ align-items: center;
60
+ width: 100%;
61
+ height: var(--g-header-height);
62
+ margin-left: auto;
63
+ margin-right: auto;
64
+ margin-top: 0;
65
+ margin-bottom: 0;
66
+ padding-left: 1.25rem; /* 20px */
67
+ padding-right: 1.25rem; /* 20px */
68
+ padding-top: 0;
69
+ padding-bottom: 0;
70
+ color: var(--g-header-color);
71
+ background-color: var(--g-header-bg);
53
72
  transition: background-color 0.3s;
54
73
  }
55
74
 
56
75
  .header-container {
57
- --at-apply: flex items-center justify-between w-[--g-header-width] h-full mx-auto my-0;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: space-between;
79
+ width: var(--g-header-width);
80
+ height: 100%;
81
+ margin-left: auto;
82
+ margin-right: auto;
83
+ margin-top: 0;
84
+ margin-bottom: 0;
58
85
  }
59
86
 
60
87
  :deep(.main) {
61
- --at-apply: flex flex-[auto] flex-nowrap items-center w-0 h-full;
88
+ display: flex;
89
+ flex: auto;
90
+ flex-wrap: nowrap;
91
+ align-items: center;
92
+ width: 0;
93
+ height: 100%;
62
94
  }
63
95
 
64
96
  :deep(.main .menu-active-arrow .item-container::before),
65
97
  :deep(.main .menu-active-arrow .menu-item::before) {
66
- --at-apply: absolute -translate-x-2/4 w-0 h-0 content-empty border-b-[color:var(--g-header-bg)] opacity-0 transition-all duration-[0.3s] border-b-[5px] border-x-[5px] border-x-transparent border-solid left-2/4 bottom-0;
98
+ position: absolute;
99
+ transform: translateX(-50%);
100
+ width: 0;
101
+ height: 0;
102
+ content: "";
103
+ border-bottom-color: var(--g-header-bg);
104
+ opacity: 0;
105
+ transition-property: all;
106
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
107
+ transition-duration: 150ms;
108
+ transition-duration: 0.3s;
109
+ border-bottom-width: 5px;
110
+ border-left-width: 5px;
111
+ border-right-width: 5px;
112
+ border-left-color: transparent;
113
+ border-right-color: transparent;
114
+ border-style: solid;
115
+ left: 50%;
116
+ bottom: 0;
67
117
  }
68
118
 
69
119
  :deep(.main .menu-active-arrow .item-container.active::before),
70
120
  :deep(.main .menu-active-arrow .menu-item.active::before) {
71
- --at-apply: bottom-2 op-100;
121
+ bottom: 0.5rem; /* 8px */
122
+ opacity: 1;
72
123
  }
73
124
 
74
125
  :deep(.main .menu-active-line .item-container::before),
75
126
  :deep(.main .menu-active-line .menu-item::before) {
76
- --at-apply: absolute -translate-x-2/4 w-0 h-1 content-empty bg-[--g-header-menu-active-bg] opacity-0 transition-all duration-[0.3s] rounded-sm left-2/4 bottom-1.5;
127
+ position: absolute;
128
+ transform: translateX(-50%);
129
+ width: 0;
130
+ height: 0.25rem; /* 4px */
131
+ content: "";
132
+ background-color: var(--g-header-menu-active-bg);
133
+ opacity: 0;
134
+ transition-property: all;
135
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
136
+ transition-duration: 150ms;
137
+ transition-duration: 0.3s;
138
+ border-radius: 0.125rem; /* 2px */
139
+ left: 50%;
140
+ bottom: 0.375rem; /* 6px */
77
141
  box-shadow: 0 0 0 1px var(--g-header-bg);
78
142
  }
79
143
 
80
144
  :deep(.main .menu-active-line .item-container.active::before),
81
145
  :deep(.main .menu-active-line .menu-item.active::before) {
82
- --at-apply: w-5 op-100;
146
+ width: 1.25rem; /* 20px */
147
+ opacity: 1;
83
148
  }
84
149
 
85
150
  :deep(.main .menu-active-dot .item-container::before),
86
151
  :deep(.main .menu-active-dot .menu-item::before) {
87
- --at-apply: absolute -translate-x-2/4 w-2.5 h-2.5 content-empty bg-[--g-header-menu-active-bg]
88
- opacity-0 transition-all duration-[0.3s] rounded-[50%] left-2/4 bottom-0;
152
+ position: absolute;
153
+ transform: translateX(-50%);
154
+ content: "";
155
+ background-color: var(--g-header-menu-active-bg);
156
+ opacity: 0;
157
+ transition-property: all;
158
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
159
+ transition-duration: 150ms;
160
+ transition-duration: 0.3s;
161
+ border-radius: 50%;
162
+ left: 50%;
163
+ bottom: 0;
164
+ width: 0.625rem;
165
+ height: 0.625rem;
89
166
  box-shadow: 0 0 0 1px var(--g-main-sidebar-bg);
90
167
  }
91
168
 
92
169
  :deep(.main .menu-active-dot .item-container.active::before),
93
170
  :deep(.main .menu-active-dot .menu-item.active::before) {
94
- --at-apply: bottom-1 op-100;
171
+ bottom: 0.25rem; /* 4px */
172
+ opacity: 1;
95
173
  }
96
174
 
97
175
  :deep(.menu-container) {
98
- --at-apply: flex-1 h-full overflow-x-auto mx-[30px] my-0 px-5 py-0;
176
+ flex: 1 1 0%;
177
+ height: 100%;
178
+ overflow-x: auto;
179
+ margin-left: 30px;
180
+ margin-right: 30px;
181
+ margin-top: 0;
182
+ margin-bottom: 0;
183
+ padding-left: 1.25rem; /* 20px */
184
+ padding-right: 1.25rem; /* 20px */
185
+ padding-top: 0;
186
+ padding-bottom: 0;
99
187
  scrollbar-width: none;
100
188
  mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent);
101
189
  }
102
190
 
103
191
  :deep(.menu-container::-webkit-scrollbar) {
104
- --at-apply: hidden;
192
+ display: none;
105
193
  }
106
194
 
107
195
  :deep(.menu-container.nothin) {
108
- --at-apply: flex;
196
+ display: flex;
109
197
  }
110
198
 
111
199
  :deep(.menu-container .menu-item-container-layout) {
112
- --at-apply: flex flex-row w-auto;
200
+ display: flex;
201
+ flex-direction: row;
202
+ width: auto;
113
203
  }
114
204
 
115
205
  :deep(.menu) {
116
- --at-apply: inline-flex h-full bg-[--g-header-bg];
206
+ display: inline-flex;
207
+ height: 100%;
208
+ background-color: var(--g-header-bg);
117
209
  }
118
210
 
119
211
  :deep(.menu .menu-item .v-popper--theme-not-cursor) {
120
- --at-apply: h-full;
212
+ height: 100%;
121
213
  }
122
214
 
123
215
  :deep(.menu .menu-item .menu-item-container) {
124
- --at-apply: px-1.5 py-0 text-[--g-header-menu-color] bg-[--g-header-menu-bg];
216
+ padding-left: 0.375rem;
217
+ padding-right: 0.375rem;
218
+ padding-top: 0;
219
+ padding-bottom: 0;
220
+ color: var(--g-header-menu-color);
221
+ background-color: var(--g-header-menu-bg);
125
222
  }
126
223
 
127
224
  :deep(.menu .menu-item .menu-item-container:hover) {
@@ -134,7 +231,7 @@ header {
134
231
  }
135
232
 
136
233
  :deep(.menu .menu-item.is-dev .menu-item-container) {
137
- --at-apply: cursor-not-allowed;
234
+ cursor: not-allowed;
138
235
  }
139
236
 
140
237
  :deep(.menu .menu-item.is-dev .menu-item-container i) {
@@ -142,7 +239,7 @@ header {
142
239
  }
143
240
 
144
241
  :deep(.menu .menu-item.is-dev .menu-item-container span) {
145
- --at-apply: op-80;
242
+ opacity: 0.8;
146
243
  }
147
244
 
148
245
  :deep(.menu .menu-item.active .menu-item-container) {
@@ -151,7 +248,7 @@ header {
151
248
  }
152
249
 
153
250
  :deep(.tools) {
154
- --at-apply: p-0;
251
+ padding: 0;
155
252
  }
156
253
 
157
254
  :deep(.tools .buttons .item .icon) {
@@ -159,7 +256,7 @@ header {
159
256
  }
160
257
 
161
258
  :deep(.tools .user-container) {
162
- --at-apply: text-16px;
259
+ font-size: 16px;
163
260
  color: var(--g-header-color);
164
261
  }
165
262
 
@@ -50,6 +50,9 @@ const to = computed(() => {
50
50
 
51
51
  <style scoped>
52
52
  span {
53
- --at-apply: text-2xl text-[--g-header-color] tracking-px;
53
+ font-size: 1.5rem; /* 24px */
54
+ line-height: 2rem; /* 32px */
55
+ color: var(--g-header-color) /* var(--g-header-color) */;
56
+ letter-spacing: 1px;
54
57
  }
55
58
  </style>
@@ -171,28 +171,51 @@ defineExpose({
171
171
 
172
172
  <style scoped>
173
173
  .badge :deep(> span) {
174
- --at-apply: right-0;
174
+ right: 0;
175
175
  left: initial !important;
176
176
  }
177
177
 
178
178
  .sharp-corner {
179
- --at-apply: relative ml-1 w-[10px];
179
+ position: relative;
180
+ margin-left: 0.25rem; /* 4px */
181
+ width: 10px;
180
182
  }
181
183
 
182
184
  .sharp-corner::before {
183
- --at-apply: absolute h-1.5px w-[6px] bg-current transition-transform-200 content-empty -translate-y-[1px];
185
+ position: absolute;
186
+ height: 1.5px;
187
+ width: 6px;
188
+ background-color: currentColor /* currentColor */;
189
+ transition-property: transform;
190
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
191
+ transition-duration: 200ms;
192
+ content: "";
193
+ transform: translateY(-1px);
184
194
  }
185
195
 
186
196
  .sharp-corner::after {
187
- --at-apply: absolute h-1.5px w-[6px] bg-current transition-transform-200 content-empty -translate-y-[1px];
197
+ position: absolute;
198
+ height: 1.5px;
199
+ width: 6px;
200
+ background-color: currentColor /* currentColor */;
201
+ transition-property: transform;
202
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
203
+ transition-duration: 200ms;
204
+ content: "";
205
+ transform: translateY(-1px);
188
206
  }
189
207
 
190
208
  .sub-sidebar-container .menu-item-container-layout:has(.system-point) {
191
- --at-apply: relative;
209
+ position: relative;
192
210
  }
193
211
 
194
212
  .sub-sidebar-container .menu-item-container-layout:has(.system-point)::before {
195
- --at-apply: absolute w-1.5 h-1.5 content-empty rounded-[50%] left-3;
213
+ position: absolute;
214
+ width: 0.375rem; /* 6px */
215
+ height: 0.375rem; /* 6px */
216
+ content: "";
217
+ border-radius: 50%;
218
+ left: 0.75rem; /* 12px */
196
219
  background: var(--g-sub-sidebar-menu-active-color);
197
220
  }
198
221
  </style>
@@ -111,7 +111,7 @@ function excludesComponents(all: string[], excludes: string[]) {
111
111
  </template>
112
112
  </div>
113
113
  <template v-if="isSupported" #footer>
114
- <HButton block @click="handleCopy">
114
+ <HButton class="block" @click="handleCopy">
115
115
  <EpDocumentCopy />
116
116
  复制配置
117
117
  </HButton>
@@ -121,26 +121,46 @@ function excludesComponents(all: string[], excludes: string[]) {
121
121
 
122
122
  <style scoped>
123
123
  :deep(.setting-item) {
124
- --at-apply:
125
- flex
126
- items-center
127
- justify-between
128
- gap-4
129
- px-4
130
- py-2
131
- rounded-2
132
- transition;
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: space-between;
127
+ padding-left: 1rem; /* 16px */
128
+ padding-right: 1rem; /* 16px */
129
+ transition-property: color, background-color, border-color,
130
+ text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
131
+ backdrop-filter;
132
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
133
+ transition-duration: 150ms;
134
+ gap: 1rem; /* 16px */
135
+ padding-top: 0.5rem; /* 8px */
136
+ padding-bottom: 0.5rem; /* 8px */
137
+ border-radius: 0.5rem; /* 8px */
133
138
  }
134
139
 
135
140
  :deep(.setting-item:hover) {
136
- --at-apply: bg-stone-1 dark:bg-stone-1 dark:bg-stone-9;
141
+ & {
142
+ background-color: #f5f5f4;
143
+ }
144
+ .dark & {
145
+ background-color: #f5f5f4;
146
+ background-color: #1c1917;
147
+ }
137
148
  }
138
149
 
139
150
  :deep(.setting-item .label) {
140
- --at-apply: flex items-center flex-shrink-0 gap-2 text-sm;
151
+ display: flex;
152
+ align-items: center;
153
+ flex-shrink: 0;
154
+ gap: 0.5rem; /* 8px */
155
+ font-size: 0.875rem; /* 14px */
156
+ line-height: 1.25rem; /* 20px */
141
157
  }
142
158
 
143
159
  :deep(.setting-item .label i) {
144
- --at-apply: text-xl text-orange cursor-help;
160
+ font-size: 1.25rem; /* 20px */
161
+ line-height: 1.75rem; /* 28px */
162
+ --un-text-opacity: 1;
163
+ color: #fb923c;
164
+ cursor: help;
145
165
  }
146
166
  </style>
@@ -33,103 +33,191 @@ const enabled = defineModel();
33
33
 
34
34
  <style scoped>
35
35
  .toggleWrapper {
36
- --at-apply: overflow-hidden;
36
+ overflow: hidden;
37
37
  transform: scale(0.5);
38
38
  }
39
39
 
40
40
  .toggleWrapper input {
41
- --at-apply: absolute left-[-99em];
41
+ position: absolute;
42
+ left: -99em;
42
43
  }
43
44
 
44
45
  .toggle {
45
- --at-apply: relative inline-block w-[90px] h-[50px] cursor-pointer bg-[#83d8ff] rounded-[84px];
46
+ position: relative;
47
+ display: inline-block;
48
+ width: 90px;
49
+ height: 50px;
50
+ cursor: pointer;
51
+ --un-bg-opacity: 1;
52
+ background-color: #83d8ff;
53
+ border-radius: 84px;
46
54
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
47
55
  }
48
56
 
49
57
  .toggle::before {
50
- --at-apply: absolute left-[-50px] text-lg content-["Day"] top-[15px];;
58
+ position: absolute;
59
+ left: -50px;
60
+ font-size: 1.125rem; /* 18px */
61
+ line-height: 1.75rem; /* 28px */
62
+ content: "Day";
63
+ top: 15px;
51
64
  }
52
65
 
53
66
  .toggle::after {
54
- --at-apply: absolute right-[-60px] text-lg text-[#384f6d] content-["Night"] top-[15px];
67
+ position: absolute;
68
+ right: -60px;
69
+ font-size: 1.125rem; /* 18px */
70
+ line-height: 1.75rem; /* 28px */
71
+ --un-text-opacity: 1;
72
+ color: #384f6d;
73
+ content: "Night";
74
+ top: 15px;
55
75
  }
56
76
 
57
77
  .toggle__handler {
58
- --at-apply: relative z-[1] inline-block w-11 h-11 bg-[#ffdb98] rounded-[50px] left-[3px] top-[3px];
78
+ position: relative;
79
+ z-index: 1;
80
+ display: inline-block;
81
+ width: 2.75rem; /* 44px */
82
+ height: 2.75rem; /* 44px */
83
+ --un-bg-opacity: 1;
84
+ background-color: #ffdb98;
85
+ border-radius: 50px;
86
+ left: 3px;
87
+ top: 3px;
59
88
  box-shadow: 0 2px 6px rgb(0 0 0 / 30%);
60
89
  transition: all 400ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
61
90
  transform: rotate(-45deg);
62
91
  }
63
92
 
64
93
  .toggle__handler .crater {
65
- --at-apply: absolute bg-[#e8cda5] opacity-0 transition-opacity duration-200 ease-[ease-in-out] rounded-[100%];
94
+ position: absolute;
95
+ background-color: #e8cda5;
96
+ opacity: 0;
97
+ transition-property: opacity;
98
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
99
+ transition-duration: 150ms;
100
+ transition-duration: 200ms;
101
+ transition-timing-function: ease-in-out;
102
+ border-radius: 100%;
66
103
  }
67
104
 
68
105
  .toggle__handler .crater--1 {
69
- --at-apply: w-1 h-1 left-2.5 top-[18px];
106
+ width: 0.25rem; /* 4px */
107
+ height: 0.25rem; /* 4px */
108
+ left: 0.625rem; /* 10px */
109
+ top: 18px;
70
110
  }
71
111
  .toggle__handler .crater--2 {
72
- --at-apply: w-1.5 h-1.5 left-[22px] top-7;
112
+ width: 0.375rem; /* 6px */
113
+ height: 0.375rem; /* 6px */
114
+ left: 22px;
115
+ top: 1.75rem; /* 28px */
73
116
  }
74
117
  .toggle__handler .crater--3 {
75
- --at-apply: w-2 h-2 left-[25px] top-2.5;
118
+ width: 0.5rem; /* 8px */
119
+ height: 0.5rem; /* 8px */
120
+ left: 25px;
121
+ top: 0.625rem; /* 10px */
76
122
  }
77
123
 
78
124
  .star {
79
- --at-apply: absolute bg-white transition-all duration-300 ease-[cubic-bezier(0.445,0.05,0.55,0.95)] rounded-[50%];
125
+ position: absolute;
126
+ background-color: #fff;
127
+ transition-property: all;
128
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
129
+ transition-duration: 150ms;
130
+ transition-duration: 300ms;
131
+ transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
132
+ border-radius: 50%;
80
133
  }
81
134
  .star--1 {
82
- --at-apply: z-0 w-[30px] h-[3px] left-[35px] top-2.5;
135
+ z-index: 0;
136
+ width: 30px;
137
+ height: 3px;
138
+ left: 35px;
139
+ top: 0.625rem; /* 10px */
83
140
  }
84
141
  .star--2 {
85
- --at-apply: z-[1] w-[30px] h-[3px] left-7 top-[18px];
142
+ z-index: 1;
143
+ width: 30px;
144
+ height: 3px;
145
+ left: 1.75rem; /* 28px */
146
+ top: 18px;
86
147
  }
87
148
  .star--3 {
88
- --at-apply: z-0 w-[30px] h-[3px] left-10 top-[27px];
149
+ z-index: 0;
150
+ width: 30px;
151
+ height: 3px;
152
+ left: 2.5rem; /* 40px */
153
+ top: 27px;
89
154
  }
90
155
  .star--4,
91
156
  .star--5,
92
157
  .star--6 {
93
- --at-apply: opacity-0;
158
+ opacity: 0;
94
159
  transition: all 300ms 0 cubic-bezier(0.445, 0.05, 0.55, 0.95);
95
160
  }
96
161
  .star--4 {
97
- --at-apply: z-0 w-0.5 h-0.5 left-[11px] top-4;
162
+ z-index: 0;
163
+ width: 0.125rem; /* 2px */
164
+ height: 0.125rem; /* 2px */
165
+ left: 11px;
166
+ top: 1rem; /* 16px */
98
167
  transform: translate3d(3px, 0, 0);
99
168
  }
100
169
  .star--5 {
101
- --at-apply: z-0 w-[3px] h-[3px] left-[17px] top-8;
170
+ z-index: 0;
171
+ width: 3px;
172
+ height: 3px;
173
+ left: 17px;
174
+ top: 2rem; /* 32px */
102
175
  transform: translate3d(3px, 0, 0);
103
176
  }
104
177
  .star--6 {
105
- --at-apply: z-0 w-0.5 h-0.5 left-7 top-9;
178
+ z-index: 0;
179
+ width: 0.125rem; /* 2px */
180
+ height: 0.125rem; /* 2px */
181
+ left: 1.75rem; /* 28px */
182
+ top: 2.25rem; /* 36px */
106
183
  transform: translate3d(3px, 0, 0);
107
184
  }
108
185
  input:checked + .toggle {
109
- --at-apply: bg-[#749dd6] before:text-[#749ed7] after:text-white;
186
+ & {
187
+ background-color: #749dd6;
188
+ }
189
+ &::after {
190
+ color: #fff;
191
+ }
192
+ &::before {
193
+ color: #749ed7;
194
+ }
110
195
  }
111
196
  input:checked + .toggle .toggle__handler {
112
- --at-apply: bg-[#ffe5b5];
197
+ background-color: #ffe5b5;
113
198
  transform: translate3d(40px, 0, 0) rotate(0);
114
199
  }
115
200
  input:checked + .toggle .toggle__handler .crater {
116
- --at-apply: opacity-100;
201
+ opacity: 1;
117
202
  }
118
203
  input:checked + .toggle .star--1 {
119
- --at-apply: w-0.5 h-0.5;
204
+ width: 0.125rem; /* 2px */
205
+ height: 0.125rem; /* 2px */
120
206
  }
121
207
  input:checked + .toggle .star--2 {
122
- --at-apply: w-1 h-1;
208
+ width: 0.25rem; /* 4px */
209
+ height: 0.25rem; /* 4px */
123
210
  transform: translate3d(-5px, 0, 0);
124
211
  }
125
212
  input:checked + .toggle .star--3 {
126
- --at-apply: w-0.5 h-0.5;
213
+ width: 0.125rem; /* 2px */
214
+ height: 0.125rem; /* 2px */
127
215
  transform: translate3d(-7px, 0, 0);
128
216
  }
129
217
  input:checked + .toggle .star--4,
130
218
  input:checked + .toggle .star--5,
131
219
  input:checked + .toggle .star--6 {
132
- --at-apply: opacity-100;
220
+ opacity: 1;
133
221
  transform: translate3d(0, 0, 0);
134
222
  }
135
223
  input:checked + .toggle .star--4 {
@@ -73,19 +73,72 @@ const transitionModeList = reactive<
73
73
 
74
74
  <style scoped>
75
75
  .transition-mode {
76
- --at-apply: flex items-center justify-center gap-4 pb-4;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ gap: 1rem; /* 16px */
80
+ padding-bottom: 1rem; /* 16px */
77
81
  }
78
82
 
79
83
  .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;
84
+ & {
85
+ position: relative;
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ width: 3.5rem; /* 56px */
90
+ height: 2.5rem; /* 40px */
91
+ border-radius: 0.5rem; /* 8px */
92
+ --un-ring-width: 1px;
93
+ --un-ring-offset-shadow: var(--un-ring-inset) 0 0 0
94
+ var(--un-ring-offset-width) var(--un-ring-offset-color);
95
+ --un-ring-shadow: var(--un-ring-inset) 0 0 0
96
+ calc(var(--un-ring-width) + var(--un-ring-offset-width))
97
+ var(--un-ring-color);
98
+ box-shadow: var(--un-ring-offset-shadow), var(--un-ring-shadow),
99
+ var(--un-shadow);
100
+ --un-ring-opacity: 1;
101
+ --un-ring-color: rgb(231 229 228 / var(--un-ring-opacity)) /* #e7e5e4 */;
102
+ cursor: pointer;
103
+ }
104
+ .dark & {
105
+ --un-ring-opacity: 1;
106
+ --un-ring-color: rgb(68 64 60 / var(--un-ring-opacity)) /* #44403c */;
107
+ }
81
108
  }
82
109
 
83
110
  .transition-mode .mode.active {
84
- --at-apply: ring-ui-primary ring-2;
111
+ --un-ring-opacity: 1;
112
+ --un-ring-color: rgb(var(--ui-primary) / var(--un-ring-opacity))
113
+ /* rgb(var(--ui-primary)) */;
114
+ --un-ring-width: 2px;
115
+ --un-ring-offset-shadow: var(--un-ring-inset) 0 0 0
116
+ var(--un-ring-offset-width) var(--un-ring-offset-color);
117
+ --un-ring-shadow: var(--un-ring-inset) 0 0 0
118
+ calc(var(--un-ring-width) + var(--un-ring-offset-width))
119
+ var(--un-ring-color);
120
+ box-shadow: var(--un-ring-offset-shadow), var(--un-ring-shadow),
121
+ var(--un-shadow);
85
122
  }
86
123
 
87
124
  .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;
125
+ content: "";
126
+ position: absolute;
127
+ width: 60%;
128
+ height: 60%;
129
+ top: 20%;
130
+ left: 20%;
131
+ border-radius: 0.5rem; /* 8px */
132
+ background-color: #e7e5e4;
133
+ transition-property: color, background-color, border-color,
134
+ text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
135
+ backdrop-filter;
136
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
137
+ transition-duration: 150ms;
138
+ }
139
+
140
+ .dark .transition-mode .mode::after {
141
+ background-color: #1c1917;
89
142
  }
90
143
 
91
144
  .transition-mode .mode.mode-fade::after {