Commit 893f3c79e762a19e4364964835ebd30cb466c848
1 parent
e8d6f885
refactor(css): refactored windicss to tailwindcss
Showing
16 changed files
with
1816 additions
and
42 deletions
Too many changes to show.
To preserve performance only 16 of 17 files are displayed.
.vscode/settings.json
@@ -122,11 +122,13 @@ | @@ -122,11 +122,13 @@ | ||
122 | "vben", | 122 | "vben", |
123 | "windi", | 123 | "windi", |
124 | "browserslist", | 124 | "browserslist", |
125 | + "tailwindcss", | ||
125 | "esnext", | 126 | "esnext", |
126 | "antv", | 127 | "antv", |
127 | "tinymce", | 128 | "tinymce", |
128 | "qrcode", | 129 | "qrcode", |
129 | "sider", | 130 | "sider", |
130 | - "pinia" | 131 | + "pinia", |
132 | + "sider" | ||
131 | ] | 133 | ] |
132 | } | 134 | } |
CHANGELOG.zh_CN.md
build/vite/plugin/index.ts
@@ -5,7 +5,6 @@ import vueJsx from '@vitejs/plugin-vue-jsx'; | @@ -5,7 +5,6 @@ import vueJsx from '@vitejs/plugin-vue-jsx'; | ||
5 | import legacy from '@vitejs/plugin-legacy'; | 5 | import legacy from '@vitejs/plugin-legacy'; |
6 | 6 | ||
7 | import purgeIcons from 'vite-plugin-purge-icons'; | 7 | import purgeIcons from 'vite-plugin-purge-icons'; |
8 | -import windiCSS from 'vite-plugin-windicss'; | ||
9 | 8 | ||
10 | import { configHtmlPlugin } from './html'; | 9 | import { configHtmlPlugin } from './html'; |
11 | import { configPwaConfig } from './pwa'; | 10 | import { configPwaConfig } from './pwa'; |
@@ -46,9 +45,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { | @@ -46,9 +45,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { | ||
46 | // vite-plugin-svg-icons | 45 | // vite-plugin-svg-icons |
47 | vitePlugins.push(configSvgIconsPlugin(isBuild)); | 46 | vitePlugins.push(configSvgIconsPlugin(isBuild)); |
48 | 47 | ||
49 | - // vite-plugin-windicss | ||
50 | - vitePlugins.push(windiCSS()); | ||
51 | - | ||
52 | // vite-plugin-mock | 48 | // vite-plugin-mock |
53 | VITE_USE_MOCK && vitePlugins.push(configMockPlugin(isBuild)); | 49 | VITE_USE_MOCK && vitePlugins.push(configMockPlugin(isBuild)); |
54 | 50 |
jest.config.mjs
@@ -17,7 +17,6 @@ export default { | @@ -17,7 +17,6 @@ export default { | ||
17 | ], | 17 | ], |
18 | transform: { | 18 | transform: { |
19 | '^.+\\.tsx?$': 'ts-jest', | 19 | '^.+\\.tsx?$': 'ts-jest', |
20 | - '^.+\\.(vue)$': 'vue-jest', | ||
21 | }, | 20 | }, |
22 | transformIgnorePatterns: ['<rootDir>/tests/__mocks__/', '/node_modules/'], | 21 | transformIgnorePatterns: ['<rootDir>/tests/__mocks__/', '/node_modules/'], |
23 | // A map from regular expressions to module names that allow to stub out resources with a single module | 22 | // A map from regular expressions to module names that allow to stub out resources with a single module |
package.json
@@ -87,9 +87,8 @@ | @@ -87,9 +87,8 @@ | ||
87 | "@vitejs/plugin-vue": "^1.2.3", | 87 | "@vitejs/plugin-vue": "^1.2.3", |
88 | "@vitejs/plugin-vue-jsx": "^1.1.5", | 88 | "@vitejs/plugin-vue-jsx": "^1.1.5", |
89 | "@vue/compiler-sfc": "3.0.11", | 89 | "@vue/compiler-sfc": "3.0.11", |
90 | - "@vue/test-utils": "^2.0.0-rc.6", | 90 | + "@vue/test-utils": "^2.0.0-rc.7", |
91 | "autoprefixer": "^10.2.6", | 91 | "autoprefixer": "^10.2.6", |
92 | - "babel-jest": "^27.0.2", | ||
93 | "commitizen": "^4.2.4", | 92 | "commitizen": "^4.2.4", |
94 | "conventional-changelog-cli": "^2.1.1", | 93 | "conventional-changelog-cli": "^2.1.1", |
95 | "cross-env": "^7.0.3", | 94 | "cross-env": "^7.0.3", |
@@ -109,6 +108,7 @@ | @@ -109,6 +108,7 @@ | ||
109 | "jest": "^27.0.4", | 108 | "jest": "^27.0.4", |
110 | "less": "^4.1.1", | 109 | "less": "^4.1.1", |
111 | "lint-staged": "^11.0.0", | 110 | "lint-staged": "^11.0.0", |
111 | + "npm-run-all": "^4.1.5", | ||
112 | "postcss": "^8.3.5", | 112 | "postcss": "^8.3.5", |
113 | "prettier": "^2.3.1", | 113 | "prettier": "^2.3.1", |
114 | "pretty-quick": "^3.1.1", | 114 | "pretty-quick": "^3.1.1", |
@@ -118,10 +118,11 @@ | @@ -118,10 +118,11 @@ | ||
118 | "stylelint-config-prettier": "^8.0.2", | 118 | "stylelint-config-prettier": "^8.0.2", |
119 | "stylelint-config-standard": "^22.0.0", | 119 | "stylelint-config-standard": "^22.0.0", |
120 | "stylelint-order": "^4.1.0", | 120 | "stylelint-order": "^4.1.0", |
121 | + "tailwindcss": "^2.2.2", | ||
121 | "ts-jest": "^27.0.3", | 122 | "ts-jest": "^27.0.3", |
122 | "ts-node": "^10.0.0", | 123 | "ts-node": "^10.0.0", |
123 | "typescript": "4.3.4", | 124 | "typescript": "4.3.4", |
124 | - "vite": "2.3.7", | 125 | + "vite": "2.3.8", |
125 | "vite-plugin-compression": "^0.2.5", | 126 | "vite-plugin-compression": "^0.2.5", |
126 | "vite-plugin-html": "^2.0.7", | 127 | "vite-plugin-html": "^2.0.7", |
127 | "vite-plugin-imagemin": "^0.3.2", | 128 | "vite-plugin-imagemin": "^0.3.2", |
@@ -131,9 +132,7 @@ | @@ -131,9 +132,7 @@ | ||
131 | "vite-plugin-style-import": "^1.0.0", | 132 | "vite-plugin-style-import": "^1.0.0", |
132 | "vite-plugin-svg-icons": "^0.7.1", | 133 | "vite-plugin-svg-icons": "^0.7.1", |
133 | "vite-plugin-theme": "^0.8.1", | 134 | "vite-plugin-theme": "^0.8.1", |
134 | - "vite-plugin-windicss": "^1.0.4", | ||
135 | "vue-eslint-parser": "^7.6.0", | 135 | "vue-eslint-parser": "^7.6.0", |
136 | - "vue-jest": "^5.0.0-alpha.10", | ||
137 | "vue-tsc": "^0.1.7" | 136 | "vue-tsc": "^0.1.7" |
138 | }, | 137 | }, |
139 | "resolutions": { | 138 | "resolutions": { |
postcss.config.js
src/design/tailwind.css
0 → 100644
1 | +/*! tailwindcss v2.2.0 | MIT License | https://tailwindcss.com */ | ||
2 | + | ||
3 | +/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ | ||
4 | + | ||
5 | +/* | ||
6 | +Document | ||
7 | +======== | ||
8 | +*/ | ||
9 | + | ||
10 | +/** | ||
11 | +Use a better box model (opinionated). | ||
12 | +*/ | ||
13 | + | ||
14 | +*, | ||
15 | +::before, | ||
16 | +::after { | ||
17 | + box-sizing: border-box; | ||
18 | +} | ||
19 | + | ||
20 | +/** | ||
21 | +Use a more readable tab size (opinionated). | ||
22 | +*/ | ||
23 | + | ||
24 | +html { | ||
25 | + -moz-tab-size: 4; | ||
26 | + -o-tab-size: 4; | ||
27 | + tab-size: 4; | ||
28 | +} | ||
29 | + | ||
30 | +/** | ||
31 | +1. Correct the line height in all browsers. | ||
32 | +2. Prevent adjustments of font size after orientation changes in iOS. | ||
33 | +*/ | ||
34 | + | ||
35 | +html { | ||
36 | + line-height: 1.15; | ||
37 | + /* 1 */ | ||
38 | + -webkit-text-size-adjust: 100%; | ||
39 | + /* 2 */ | ||
40 | +} | ||
41 | + | ||
42 | +/* | ||
43 | +Sections | ||
44 | +======== | ||
45 | +*/ | ||
46 | + | ||
47 | +/** | ||
48 | +Remove the margin in all browsers. | ||
49 | +*/ | ||
50 | + | ||
51 | +body { | ||
52 | + margin: 0; | ||
53 | +} | ||
54 | + | ||
55 | +/** | ||
56 | +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) | ||
57 | +*/ | ||
58 | + | ||
59 | +body { | ||
60 | + font-family: system-ui, -apple-system, | ||
61 | + /* Firefox supports this but not yet `system-ui` */ 'Segoe UI', Roboto, Helvetica, Arial, | ||
62 | + sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'; | ||
63 | +} | ||
64 | + | ||
65 | +/* | ||
66 | +Grouping content | ||
67 | +================ | ||
68 | +*/ | ||
69 | + | ||
70 | +/** | ||
71 | +1. Add the correct height in Firefox. | ||
72 | +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) | ||
73 | +*/ | ||
74 | + | ||
75 | +hr { | ||
76 | + height: 0; | ||
77 | + /* 1 */ | ||
78 | + color: inherit; | ||
79 | + /* 2 */ | ||
80 | +} | ||
81 | + | ||
82 | +/* | ||
83 | +Text-level semantics | ||
84 | +==================== | ||
85 | +*/ | ||
86 | + | ||
87 | +/** | ||
88 | +Add the correct text decoration in Chrome, Edge, and Safari. | ||
89 | +*/ | ||
90 | + | ||
91 | +abbr[title] { | ||
92 | + -webkit-text-decoration: underline dotted; | ||
93 | + text-decoration: underline dotted; | ||
94 | +} | ||
95 | + | ||
96 | +/** | ||
97 | +Add the correct font weight in Edge and Safari. | ||
98 | +*/ | ||
99 | + | ||
100 | +b, | ||
101 | +strong { | ||
102 | + font-weight: bolder; | ||
103 | +} | ||
104 | + | ||
105 | +/** | ||
106 | +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) | ||
107 | +2. Correct the odd 'em' font sizing in all browsers. | ||
108 | +*/ | ||
109 | + | ||
110 | +code, | ||
111 | +kbd, | ||
112 | +samp, | ||
113 | +pre { | ||
114 | + font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; | ||
115 | + /* 1 */ | ||
116 | + font-size: 1em; | ||
117 | + /* 2 */ | ||
118 | +} | ||
119 | + | ||
120 | +/** | ||
121 | +Add the correct font size in all browsers. | ||
122 | +*/ | ||
123 | + | ||
124 | +small { | ||
125 | + font-size: 80%; | ||
126 | +} | ||
127 | + | ||
128 | +/** | ||
129 | +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. | ||
130 | +*/ | ||
131 | + | ||
132 | +sub, | ||
133 | +sup { | ||
134 | + font-size: 75%; | ||
135 | + line-height: 0; | ||
136 | + position: relative; | ||
137 | + vertical-align: baseline; | ||
138 | +} | ||
139 | + | ||
140 | +sub { | ||
141 | + bottom: -0.25em; | ||
142 | +} | ||
143 | + | ||
144 | +sup { | ||
145 | + top: -0.5em; | ||
146 | +} | ||
147 | + | ||
148 | +/* | ||
149 | +Tabular data | ||
150 | +============ | ||
151 | +*/ | ||
152 | + | ||
153 | +/** | ||
154 | +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) | ||
155 | +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) | ||
156 | +*/ | ||
157 | + | ||
158 | +table { | ||
159 | + text-indent: 0; | ||
160 | + /* 1 */ | ||
161 | + border-color: inherit; | ||
162 | + /* 2 */ | ||
163 | +} | ||
164 | + | ||
165 | +/* | ||
166 | +Forms | ||
167 | +===== | ||
168 | +*/ | ||
169 | + | ||
170 | +/** | ||
171 | +1. Change the font styles in all browsers. | ||
172 | +2. Remove the margin in Firefox and Safari. | ||
173 | +*/ | ||
174 | + | ||
175 | +button, | ||
176 | +input, | ||
177 | +optgroup, | ||
178 | +select, | ||
179 | +textarea { | ||
180 | + font-family: inherit; | ||
181 | + /* 1 */ | ||
182 | + font-size: 100%; | ||
183 | + /* 1 */ | ||
184 | + line-height: 1.15; | ||
185 | + /* 1 */ | ||
186 | + margin: 0; | ||
187 | + /* 2 */ | ||
188 | +} | ||
189 | + | ||
190 | +/** | ||
191 | +Remove the inheritance of text transform in Edge and Firefox. | ||
192 | +1. Remove the inheritance of text transform in Firefox. | ||
193 | +*/ | ||
194 | + | ||
195 | +button, | ||
196 | +select { | ||
197 | + /* 1 */ | ||
198 | + text-transform: none; | ||
199 | +} | ||
200 | + | ||
201 | +/** | ||
202 | +Correct the inability to style clickable types in iOS and Safari. | ||
203 | +*/ | ||
204 | + | ||
205 | +button, | ||
206 | +[type='button'], | ||
207 | +[type='reset'], | ||
208 | +[type='submit'] { | ||
209 | + -webkit-appearance: button; | ||
210 | +} | ||
211 | + | ||
212 | +/** | ||
213 | +Remove the inner border and padding in Firefox. | ||
214 | +*/ | ||
215 | + | ||
216 | +::-moz-focus-inner { | ||
217 | + border-style: none; | ||
218 | + padding: 0; | ||
219 | +} | ||
220 | + | ||
221 | +/** | ||
222 | +Restore the focus styles unset by the previous rule. | ||
223 | +*/ | ||
224 | + | ||
225 | +:-moz-focusring { | ||
226 | + outline: 1px dotted ButtonText; | ||
227 | +} | ||
228 | + | ||
229 | +/** | ||
230 | +Remove the additional ':invalid' styles in Firefox. | ||
231 | +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 | ||
232 | +*/ | ||
233 | + | ||
234 | +:-moz-ui-invalid { | ||
235 | + box-shadow: none; | ||
236 | +} | ||
237 | + | ||
238 | +/** | ||
239 | +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. | ||
240 | +*/ | ||
241 | + | ||
242 | +legend { | ||
243 | + padding: 0; | ||
244 | +} | ||
245 | + | ||
246 | +/** | ||
247 | +Add the correct vertical alignment in Chrome and Firefox. | ||
248 | +*/ | ||
249 | + | ||
250 | +progress { | ||
251 | + vertical-align: baseline; | ||
252 | +} | ||
253 | + | ||
254 | +/** | ||
255 | +Correct the cursor style of increment and decrement buttons in Safari. | ||
256 | +*/ | ||
257 | + | ||
258 | +::-webkit-inner-spin-button, | ||
259 | +::-webkit-outer-spin-button { | ||
260 | + height: auto; | ||
261 | +} | ||
262 | + | ||
263 | +/** | ||
264 | +1. Correct the odd appearance in Chrome and Safari. | ||
265 | +2. Correct the outline style in Safari. | ||
266 | +*/ | ||
267 | + | ||
268 | +[type='search'] { | ||
269 | + -webkit-appearance: textfield; | ||
270 | + /* 1 */ | ||
271 | + outline-offset: -2px; | ||
272 | + /* 2 */ | ||
273 | +} | ||
274 | + | ||
275 | +/** | ||
276 | +Remove the inner padding in Chrome and Safari on macOS. | ||
277 | +*/ | ||
278 | + | ||
279 | +::-webkit-search-decoration { | ||
280 | + -webkit-appearance: none; | ||
281 | +} | ||
282 | + | ||
283 | +/** | ||
284 | +1. Correct the inability to style clickable types in iOS and Safari. | ||
285 | +2. Change font properties to 'inherit' in Safari. | ||
286 | +*/ | ||
287 | + | ||
288 | +::-webkit-file-upload-button { | ||
289 | + -webkit-appearance: button; | ||
290 | + /* 1 */ | ||
291 | + font: inherit; | ||
292 | + /* 2 */ | ||
293 | +} | ||
294 | + | ||
295 | +/* | ||
296 | +Interactive | ||
297 | +=========== | ||
298 | +*/ | ||
299 | + | ||
300 | +/* | ||
301 | +Add the correct display in Chrome and Safari. | ||
302 | +*/ | ||
303 | + | ||
304 | +summary { | ||
305 | + display: list-item; | ||
306 | +} | ||
307 | + | ||
308 | +/** | ||
309 | + * Manually forked from SUIT CSS Base: https://github.com/suitcss/base | ||
310 | + * A thin layer on top of normalize.css that provides a starting point more | ||
311 | + * suitable for web applications. | ||
312 | + */ | ||
313 | + | ||
314 | +/** | ||
315 | + * Removes the default spacing and border for appropriate elements. | ||
316 | + */ | ||
317 | + | ||
318 | +blockquote, | ||
319 | +dl, | ||
320 | +dd, | ||
321 | +h1, | ||
322 | +h2, | ||
323 | +h3, | ||
324 | +h4, | ||
325 | +h5, | ||
326 | +h6, | ||
327 | +hr, | ||
328 | +figure, | ||
329 | +p, | ||
330 | +pre { | ||
331 | + margin: 0; | ||
332 | +} | ||
333 | + | ||
334 | +button { | ||
335 | + background-color: transparent; | ||
336 | + background-image: none; | ||
337 | +} | ||
338 | + | ||
339 | +/** | ||
340 | + * Work around a Firefox/IE bug where the transparent `button` background | ||
341 | + * results in a loss of the default `button` focus styles. | ||
342 | + */ | ||
343 | + | ||
344 | +button:focus { | ||
345 | + outline: 1px dotted; | ||
346 | + outline: 5px auto -webkit-focus-ring-color; | ||
347 | +} | ||
348 | + | ||
349 | +fieldset { | ||
350 | + margin: 0; | ||
351 | + padding: 0; | ||
352 | +} | ||
353 | + | ||
354 | +ol, | ||
355 | +ul { | ||
356 | + list-style: none; | ||
357 | + margin: 0; | ||
358 | + padding: 0; | ||
359 | +} | ||
360 | + | ||
361 | +/** | ||
362 | + * Tailwind custom reset styles | ||
363 | + */ | ||
364 | + | ||
365 | +/** | ||
366 | + * 1. Use the user's configured `sans` font-family (with Tailwind's default | ||
367 | + * sans-serif font stack as a fallback) as a sane default. | ||
368 | + * 2. Use Tailwind's default "normal" line-height so the user isn't forced | ||
369 | + * to override it to ensure consistency even when using the default theme. | ||
370 | + */ | ||
371 | + | ||
372 | +html { | ||
373 | + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, | ||
374 | + 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', | ||
375 | + 'Segoe UI Symbol', 'Noto Color Emoji'; | ||
376 | + /* 1 */ | ||
377 | + line-height: 1.5; | ||
378 | + /* 2 */ | ||
379 | +} | ||
380 | + | ||
381 | +/** | ||
382 | + * Inherit font-family and line-height from `html` so users can set them as | ||
383 | + * a class directly on the `html` element. | ||
384 | + */ | ||
385 | + | ||
386 | +body { | ||
387 | + font-family: inherit; | ||
388 | + line-height: inherit; | ||
389 | +} | ||
390 | + | ||
391 | +/** | ||
392 | + * 1. Prevent padding and border from affecting element width. | ||
393 | + * | ||
394 | + * We used to set this in the html element and inherit from | ||
395 | + * the parent element for everything else. This caused issues | ||
396 | + * in shadow-dom-enhanced elements like <details> where the content | ||
397 | + * is wrapped by a div with box-sizing set to `content-box`. | ||
398 | + * | ||
399 | + * https://github.com/mozdevs/cssremedy/issues/4 | ||
400 | + * | ||
401 | + * | ||
402 | + * 2. Allow adding a border to an element by just adding a border-width. | ||
403 | + * | ||
404 | + * By default, the way the browser specifies that an element should have no | ||
405 | + * border is by setting it's border-style to `none` in the user-agent | ||
406 | + * stylesheet. | ||
407 | + * | ||
408 | + * In order to easily add borders to elements by just setting the `border-width` | ||
409 | + * property, we change the default border-style for all elements to `solid`, and | ||
410 | + * use border-width to hide them instead. This way our `border` utilities only | ||
411 | + * need to set the `border-width` property instead of the entire `border` | ||
412 | + * shorthand, making our border utilities much more straightforward to compose. | ||
413 | + * | ||
414 | + * https://github.com/tailwindcss/tailwindcss/pull/116 | ||
415 | + */ | ||
416 | + | ||
417 | +*, | ||
418 | +::before, | ||
419 | +::after { | ||
420 | + box-sizing: border-box; | ||
421 | + /* 1 */ | ||
422 | + border-width: 0; | ||
423 | + /* 2 */ | ||
424 | + border-style: solid; | ||
425 | + /* 2 */ | ||
426 | + border-color: currentColor; | ||
427 | + /* 2 */ | ||
428 | +} | ||
429 | + | ||
430 | +/* | ||
431 | + * Ensure horizontal rules are visible by default | ||
432 | + */ | ||
433 | + | ||
434 | +hr { | ||
435 | + border-top-width: 1px; | ||
436 | +} | ||
437 | + | ||
438 | +/** | ||
439 | + * Undo the `border-style: none` reset that Normalize applies to images so that | ||
440 | + * our `border-{width}` utilities have the expected effect. | ||
441 | + * | ||
442 | + * The Normalize reset is unnecessary for us since we default the border-width | ||
443 | + * to 0 on all elements. | ||
444 | + * | ||
445 | + * https://github.com/tailwindcss/tailwindcss/issues/362 | ||
446 | + */ | ||
447 | + | ||
448 | +img { | ||
449 | + border-style: solid; | ||
450 | +} | ||
451 | + | ||
452 | +textarea { | ||
453 | + resize: vertical; | ||
454 | +} | ||
455 | + | ||
456 | +input::-moz-placeholder, | ||
457 | +textarea::-moz-placeholder { | ||
458 | + opacity: 1; | ||
459 | + color: #a1a1aa; | ||
460 | +} | ||
461 | + | ||
462 | +input:-ms-input-placeholder, | ||
463 | +textarea:-ms-input-placeholder { | ||
464 | + opacity: 1; | ||
465 | + color: #a1a1aa; | ||
466 | +} | ||
467 | + | ||
468 | +input::placeholder, | ||
469 | +textarea::placeholder { | ||
470 | + opacity: 1; | ||
471 | + color: #a1a1aa; | ||
472 | +} | ||
473 | + | ||
474 | +button, | ||
475 | +[role='button'] { | ||
476 | + cursor: pointer; | ||
477 | +} | ||
478 | + | ||
479 | +table { | ||
480 | + border-collapse: collapse; | ||
481 | +} | ||
482 | + | ||
483 | +h1, | ||
484 | +h2, | ||
485 | +h3, | ||
486 | +h4, | ||
487 | +h5, | ||
488 | +h6 { | ||
489 | + font-size: inherit; | ||
490 | + font-weight: inherit; | ||
491 | +} | ||
492 | + | ||
493 | +/** | ||
494 | + * Reset links to optimize for opt-in styling instead of | ||
495 | + * opt-out. | ||
496 | + */ | ||
497 | + | ||
498 | +a { | ||
499 | + color: inherit; | ||
500 | + text-decoration: inherit; | ||
501 | +} | ||
502 | + | ||
503 | +/** | ||
504 | + * Reset form element properties that are easy to forget to | ||
505 | + * style explicitly so you don't inadvertently introduce | ||
506 | + * styles that deviate from your design system. These styles | ||
507 | + * supplement a partial reset that is already applied by | ||
508 | + * normalize.css. | ||
509 | + */ | ||
510 | + | ||
511 | +button, | ||
512 | +input, | ||
513 | +optgroup, | ||
514 | +select, | ||
515 | +textarea { | ||
516 | + padding: 0; | ||
517 | + line-height: inherit; | ||
518 | + color: inherit; | ||
519 | +} | ||
520 | + | ||
521 | +/** | ||
522 | + * Use the configured 'mono' font family for elements that | ||
523 | + * are expected to be rendered with a monospace font, falling | ||
524 | + * back to the system monospace stack if there is no configured | ||
525 | + * 'mono' font family. | ||
526 | + */ | ||
527 | + | ||
528 | +pre, | ||
529 | +code, | ||
530 | +kbd, | ||
531 | +samp { | ||
532 | + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', | ||
533 | + 'Courier New', monospace; | ||
534 | +} | ||
535 | + | ||
536 | +/** | ||
537 | + * 1. Make replaced elements `display: block` by default as that's | ||
538 | + * the behavior you want almost all of the time. Inspired by | ||
539 | + * CSS Remedy, with `svg` added as well. | ||
540 | + * | ||
541 | + * https://github.com/mozdevs/cssremedy/issues/14 | ||
542 | + * | ||
543 | + * 2. Add `vertical-align: middle` to align replaced elements more | ||
544 | + * sensibly by default when overriding `display` by adding a | ||
545 | + * utility like `inline`. | ||
546 | + * | ||
547 | + * This can trigger a poorly considered linting error in some | ||
548 | + * tools but is included by design. | ||
549 | + * | ||
550 | + * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210 | ||
551 | + */ | ||
552 | + | ||
553 | +img, | ||
554 | +svg, | ||
555 | +video, | ||
556 | +canvas, | ||
557 | +audio, | ||
558 | +iframe, | ||
559 | +embed, | ||
560 | +object { | ||
561 | + display: block; | ||
562 | + /* 1 */ | ||
563 | + vertical-align: middle; | ||
564 | + /* 2 */ | ||
565 | +} | ||
566 | + | ||
567 | +/** | ||
568 | + * Constrain images and videos to the parent width and preserve | ||
569 | + * their intrinsic aspect ratio. | ||
570 | + * | ||
571 | + * https://github.com/mozdevs/cssremedy/issues/14 | ||
572 | + */ | ||
573 | + | ||
574 | +img, | ||
575 | +video { | ||
576 | + max-width: 100%; | ||
577 | + height: auto; | ||
578 | +} | ||
579 | + | ||
580 | +*, | ||
581 | +::before, | ||
582 | +::after { | ||
583 | + --tw-translate-x: 0; | ||
584 | + --tw-translate-y: 0; | ||
585 | + --tw-rotate: 0; | ||
586 | + --tw-skew-x: 0; | ||
587 | + --tw-skew-y: 0; | ||
588 | + --tw-scale-x: 1; | ||
589 | + --tw-scale-y: 1; | ||
590 | + --tw-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) | ||
591 | + rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) | ||
592 | + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); | ||
593 | + --tw-border-opacity: 1; | ||
594 | + border-color: rgba(228, 228, 231, var(--tw-border-opacity)); | ||
595 | + --tw-shadow: 0 0 #0000; | ||
596 | + --tw-ring-inset: var(--tw-empty, /*!*/ /*!*/); | ||
597 | + --tw-ring-offset-width: 0px; | ||
598 | + --tw-ring-offset-color: #fff; | ||
599 | + --tw-ring-color: rgba(59, 130, 246, 0.5); | ||
600 | + --tw-ring-offset-shadow: 0 0 #0000; | ||
601 | + --tw-ring-shadow: 0 0 #0000; | ||
602 | + --tw-blur: var(--tw-empty, /*!*/ /*!*/); | ||
603 | + --tw-brightness: var(--tw-empty, /*!*/ /*!*/); | ||
604 | + --tw-contrast: var(--tw-empty, /*!*/ /*!*/); | ||
605 | + --tw-grayscale: var(--tw-empty, /*!*/ /*!*/); | ||
606 | + --tw-hue-rotate: var(--tw-empty, /*!*/ /*!*/); | ||
607 | + --tw-invert: var(--tw-empty, /*!*/ /*!*/); | ||
608 | + --tw-saturate: var(--tw-empty, /*!*/ /*!*/); | ||
609 | + --tw-sepia: var(--tw-empty, /*!*/ /*!*/); | ||
610 | + --tw-drop-shadow: var(--tw-empty, /*!*/ /*!*/); | ||
611 | + --tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) | ||
612 | + var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); | ||
613 | + --tw-backdrop-blur: var(--tw-empty, /*!*/ /*!*/); | ||
614 | + --tw-backdrop-brightness: var(--tw-empty, /*!*/ /*!*/); | ||
615 | + --tw-backdrop-contrast: var(--tw-empty, /*!*/ /*!*/); | ||
616 | + --tw-backdrop-grayscale: var(--tw-empty, /*!*/ /*!*/); | ||
617 | + --tw-backdrop-hue-rotate: var(--tw-empty, /*!*/ /*!*/); | ||
618 | + --tw-backdrop-invert: var(--tw-empty, /*!*/ /*!*/); | ||
619 | + --tw-backdrop-opacity: var(--tw-empty, /*!*/ /*!*/); | ||
620 | + --tw-backdrop-saturate: var(--tw-empty, /*!*/ /*!*/); | ||
621 | + --tw-backdrop-sepia: var(--tw-empty, /*!*/ /*!*/); | ||
622 | + --tw-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) | ||
623 | + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) | ||
624 | + var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) | ||
625 | + var(--tw-backdrop-sepia); | ||
626 | +} | ||
627 | + | ||
628 | +* > .enter-x:nth-child(1) { | ||
629 | + transform: translateX(50px); | ||
630 | +} | ||
631 | + | ||
632 | +* > .-enter-x:nth-child(1) { | ||
633 | + transform: translateX(-50px); | ||
634 | +} | ||
635 | + | ||
636 | +* > .enter-x:nth-child(1), | ||
637 | +* > .-enter-x:nth-child(1) { | ||
638 | + z-index: 9; | ||
639 | + opacity: 0; | ||
640 | + -webkit-animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
641 | + animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
642 | + -webkit-animation-fill-mode: forwards; | ||
643 | + animation-fill-mode: forwards; | ||
644 | + -webkit-animation-delay: 0.1s; | ||
645 | + animation-delay: 0.1s; | ||
646 | +} | ||
647 | + | ||
648 | +* > .enter-y:nth-child(1) { | ||
649 | + transform: translateY(50px); | ||
650 | +} | ||
651 | + | ||
652 | +* > .enter-y:nth-child(1), | ||
653 | +* > .-enter-y:nth-child(1) { | ||
654 | + z-index: 9; | ||
655 | + opacity: 0; | ||
656 | + -webkit-animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
657 | + animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
658 | + -webkit-animation-fill-mode: forwards; | ||
659 | + animation-fill-mode: forwards; | ||
660 | + -webkit-animation-delay: 0.1s; | ||
661 | + animation-delay: 0.1s; | ||
662 | +} | ||
663 | + | ||
664 | +* > .enter-x:nth-child(2) { | ||
665 | + transform: translateX(50px); | ||
666 | +} | ||
667 | + | ||
668 | +* > .-enter-x:nth-child(2) { | ||
669 | + transform: translateX(-50px); | ||
670 | +} | ||
671 | + | ||
672 | +* > .enter-x:nth-child(2), | ||
673 | +* > .-enter-x:nth-child(2) { | ||
674 | + z-index: 8; | ||
675 | + opacity: 0; | ||
676 | + -webkit-animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
677 | + animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
678 | + -webkit-animation-fill-mode: forwards; | ||
679 | + animation-fill-mode: forwards; | ||
680 | + -webkit-animation-delay: 0.2s; | ||
681 | + animation-delay: 0.2s; | ||
682 | +} | ||
683 | + | ||
684 | +* > .enter-y:nth-child(2) { | ||
685 | + transform: translateY(50px); | ||
686 | +} | ||
687 | + | ||
688 | +* > .enter-y:nth-child(2), | ||
689 | +* > .-enter-y:nth-child(2) { | ||
690 | + z-index: 8; | ||
691 | + opacity: 0; | ||
692 | + -webkit-animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
693 | + animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
694 | + -webkit-animation-fill-mode: forwards; | ||
695 | + animation-fill-mode: forwards; | ||
696 | + -webkit-animation-delay: 0.2s; | ||
697 | + animation-delay: 0.2s; | ||
698 | +} | ||
699 | + | ||
700 | +* > .enter-x:nth-child(3) { | ||
701 | + transform: translateX(50px); | ||
702 | +} | ||
703 | + | ||
704 | +* > .-enter-x:nth-child(3) { | ||
705 | + transform: translateX(-50px); | ||
706 | +} | ||
707 | + | ||
708 | +* > .enter-x:nth-child(3), | ||
709 | +* > .-enter-x:nth-child(3) { | ||
710 | + z-index: 7; | ||
711 | + opacity: 0; | ||
712 | + -webkit-animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
713 | + animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
714 | + -webkit-animation-fill-mode: forwards; | ||
715 | + animation-fill-mode: forwards; | ||
716 | + -webkit-animation-delay: 0.3s; | ||
717 | + animation-delay: 0.3s; | ||
718 | +} | ||
719 | + | ||
720 | +* > .enter-y:nth-child(3) { | ||
721 | + transform: translateY(50px); | ||
722 | +} | ||
723 | + | ||
724 | +* > .enter-y:nth-child(3), | ||
725 | +* > .-enter-y:nth-child(3) { | ||
726 | + z-index: 7; | ||
727 | + opacity: 0; | ||
728 | + -webkit-animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
729 | + animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
730 | + -webkit-animation-fill-mode: forwards; | ||
731 | + animation-fill-mode: forwards; | ||
732 | + -webkit-animation-delay: 0.3s; | ||
733 | + animation-delay: 0.3s; | ||
734 | +} | ||
735 | + | ||
736 | +* > .enter-x:nth-child(4) { | ||
737 | + transform: translateX(50px); | ||
738 | +} | ||
739 | + | ||
740 | +* > .-enter-x:nth-child(4) { | ||
741 | + transform: translateX(-50px); | ||
742 | +} | ||
743 | + | ||
744 | +* > .enter-x:nth-child(4), | ||
745 | +* > .-enter-x:nth-child(4) { | ||
746 | + z-index: 6; | ||
747 | + opacity: 0; | ||
748 | + -webkit-animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
749 | + animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
750 | + -webkit-animation-fill-mode: forwards; | ||
751 | + animation-fill-mode: forwards; | ||
752 | + -webkit-animation-delay: 0.4s; | ||
753 | + animation-delay: 0.4s; | ||
754 | +} | ||
755 | + | ||
756 | +* > .enter-y:nth-child(4) { | ||
757 | + transform: translateY(50px); | ||
758 | +} | ||
759 | + | ||
760 | +* > .enter-y:nth-child(4), | ||
761 | +* > .-enter-y:nth-child(4) { | ||
762 | + z-index: 6; | ||
763 | + opacity: 0; | ||
764 | + -webkit-animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
765 | + animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
766 | + -webkit-animation-fill-mode: forwards; | ||
767 | + animation-fill-mode: forwards; | ||
768 | + -webkit-animation-delay: 0.4s; | ||
769 | + animation-delay: 0.4s; | ||
770 | +} | ||
771 | + | ||
772 | +* > .enter-x:nth-child(5) { | ||
773 | + transform: translateX(50px); | ||
774 | +} | ||
775 | + | ||
776 | +* > .-enter-x:nth-child(5) { | ||
777 | + transform: translateX(-50px); | ||
778 | +} | ||
779 | + | ||
780 | +* > .enter-x:nth-child(5), | ||
781 | +* > .-enter-x:nth-child(5) { | ||
782 | + z-index: 5; | ||
783 | + opacity: 0; | ||
784 | + -webkit-animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
785 | + animation: enter-x-animation 0.4s ease-in-out 0.3s; | ||
786 | + -webkit-animation-fill-mode: forwards; | ||
787 | + animation-fill-mode: forwards; | ||
788 | + -webkit-animation-delay: 0.5s; | ||
789 | + animation-delay: 0.5s; | ||
790 | +} | ||
791 | + | ||
792 | +* > .enter-y:nth-child(5) { | ||
793 | + transform: translateY(50px); | ||
794 | +} | ||
795 | + | ||
796 | +* > .enter-y:nth-child(5), | ||
797 | +* > .-enter-y:nth-child(5) { | ||
798 | + z-index: 5; | ||
799 | + opacity: 0; | ||
800 | + -webkit-animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
801 | + animation: enter-y-animation 0.4s ease-in-out 0.3s; | ||
802 | + -webkit-animation-fill-mode: forwards; | ||
803 | + animation-fill-mode: forwards; | ||
804 | + -webkit-animation-delay: 0.5s; | ||
805 | + animation-delay: 0.5s; | ||
806 | +} | ||
807 | + | ||
808 | +@-webkit-keyframes enter-x-animation { | ||
809 | + to { | ||
810 | + opacity: 1; | ||
811 | + transform: translateX(0); | ||
812 | + } | ||
813 | +} | ||
814 | + | ||
815 | +@keyframes enter-x-animation { | ||
816 | + to { | ||
817 | + opacity: 1; | ||
818 | + transform: translateX(0); | ||
819 | + } | ||
820 | +} | ||
821 | + | ||
822 | +@-webkit-keyframes enter-y-animation { | ||
823 | + to { | ||
824 | + opacity: 1; | ||
825 | + transform: translateY(0); | ||
826 | + } | ||
827 | +} | ||
828 | + | ||
829 | +@keyframes enter-y-animation { | ||
830 | + to { | ||
831 | + opacity: 1; | ||
832 | + transform: translateY(0); | ||
833 | + } | ||
834 | +} | ||
835 | + | ||
836 | +.container { | ||
837 | + width: 100%; | ||
838 | +} | ||
839 | + | ||
840 | +@media (min-width: 576px) { | ||
841 | + .container { | ||
842 | + max-width: 576px; | ||
843 | + } | ||
844 | +} | ||
845 | + | ||
846 | +@media (min-width: 768px) { | ||
847 | + .container { | ||
848 | + max-width: 768px; | ||
849 | + } | ||
850 | +} | ||
851 | + | ||
852 | +@media (min-width: 992px) { | ||
853 | + .container { | ||
854 | + max-width: 992px; | ||
855 | + } | ||
856 | +} | ||
857 | + | ||
858 | +@media (min-width: 1200px) { | ||
859 | + .container { | ||
860 | + max-width: 1200px; | ||
861 | + } | ||
862 | +} | ||
863 | + | ||
864 | +@media (min-width: 1600px) { | ||
865 | + .container { | ||
866 | + max-width: 1600px; | ||
867 | + } | ||
868 | +} | ||
869 | + | ||
870 | +.visible { | ||
871 | + visibility: visible; | ||
872 | +} | ||
873 | + | ||
874 | +.invisible { | ||
875 | + visibility: hidden; | ||
876 | +} | ||
877 | + | ||
878 | +.static { | ||
879 | + position: static; | ||
880 | +} | ||
881 | + | ||
882 | +.fixed { | ||
883 | + position: fixed; | ||
884 | +} | ||
885 | + | ||
886 | +.absolute { | ||
887 | + position: absolute; | ||
888 | +} | ||
889 | + | ||
890 | +.relative { | ||
891 | + position: relative; | ||
892 | +} | ||
893 | + | ||
894 | +.inset-0 { | ||
895 | + top: 0px; | ||
896 | + right: 0px; | ||
897 | + bottom: 0px; | ||
898 | + left: 0px; | ||
899 | +} | ||
900 | + | ||
901 | +.top-0 { | ||
902 | + top: 0px; | ||
903 | +} | ||
904 | + | ||
905 | +.left-1\/2 { | ||
906 | + left: 50%; | ||
907 | +} | ||
908 | + | ||
909 | +.left-5 { | ||
910 | + left: 1.25rem; | ||
911 | +} | ||
912 | + | ||
913 | +.top-5 { | ||
914 | + top: 1.25rem; | ||
915 | +} | ||
916 | + | ||
917 | +.bottom-5 { | ||
918 | + bottom: 1.25rem; | ||
919 | +} | ||
920 | + | ||
921 | +.top-4 { | ||
922 | + top: 1rem; | ||
923 | +} | ||
924 | + | ||
925 | +.right-4 { | ||
926 | + right: 1rem; | ||
927 | +} | ||
928 | + | ||
929 | +.top-3 { | ||
930 | + top: 0.75rem; | ||
931 | +} | ||
932 | + | ||
933 | +.right-7 { | ||
934 | + right: 1.75rem; | ||
935 | +} | ||
936 | + | ||
937 | +.m-3 { | ||
938 | + margin: 0.75rem; | ||
939 | +} | ||
940 | + | ||
941 | +.m-10 { | ||
942 | + margin: 2.5rem; | ||
943 | +} | ||
944 | + | ||
945 | +.m-4 { | ||
946 | + margin: 1rem; | ||
947 | +} | ||
948 | + | ||
949 | +.m-5 { | ||
950 | + margin: 1.25rem; | ||
951 | +} | ||
952 | + | ||
953 | +.mx-auto { | ||
954 | + margin-left: auto; | ||
955 | + margin-right: auto; | ||
956 | +} | ||
957 | + | ||
958 | +.\!my-4 { | ||
959 | + margin-top: 1rem !important; | ||
960 | + margin-bottom: 1rem !important; | ||
961 | +} | ||
962 | + | ||
963 | +.mx-4 { | ||
964 | + margin-left: 1rem; | ||
965 | + margin-right: 1rem; | ||
966 | +} | ||
967 | + | ||
968 | +.my-4 { | ||
969 | + margin-top: 1rem; | ||
970 | + margin-bottom: 1rem; | ||
971 | +} | ||
972 | + | ||
973 | +.my-auto { | ||
974 | + margin-top: auto; | ||
975 | + margin-bottom: auto; | ||
976 | +} | ||
977 | + | ||
978 | +.\!my-2 { | ||
979 | + margin-top: 0.5rem !important; | ||
980 | + margin-bottom: 0.5rem !important; | ||
981 | +} | ||
982 | + | ||
983 | +.mx-1 { | ||
984 | + margin-left: 0.25rem; | ||
985 | + margin-right: 0.25rem; | ||
986 | +} | ||
987 | + | ||
988 | +.my-3 { | ||
989 | + margin-top: 0.75rem; | ||
990 | + margin-bottom: 0.75rem; | ||
991 | +} | ||
992 | + | ||
993 | +.\!mx-auto { | ||
994 | + margin-left: auto !important; | ||
995 | + margin-right: auto !important; | ||
996 | +} | ||
997 | + | ||
998 | +.mx-12 { | ||
999 | + margin-left: 3rem; | ||
1000 | + margin-right: 3rem; | ||
1001 | +} | ||
1002 | + | ||
1003 | +.my-2 { | ||
1004 | + margin-top: 0.5rem; | ||
1005 | + margin-bottom: 0.5rem; | ||
1006 | +} | ||
1007 | + | ||
1008 | +.my-5 { | ||
1009 | + margin-top: 1.25rem; | ||
1010 | + margin-bottom: 1.25rem; | ||
1011 | +} | ||
1012 | + | ||
1013 | +.mx-2 { | ||
1014 | + margin-left: 0.5rem; | ||
1015 | + margin-right: 0.5rem; | ||
1016 | +} | ||
1017 | + | ||
1018 | +.ml-1 { | ||
1019 | + margin-left: 0.25rem; | ||
1020 | +} | ||
1021 | + | ||
1022 | +.ml-2 { | ||
1023 | + margin-left: 0.5rem; | ||
1024 | +} | ||
1025 | + | ||
1026 | +.mr-2 { | ||
1027 | + margin-right: 0.5rem; | ||
1028 | +} | ||
1029 | + | ||
1030 | +.mr-1 { | ||
1031 | + margin-right: 0.25rem; | ||
1032 | +} | ||
1033 | + | ||
1034 | +.mt-1 { | ||
1035 | + margin-top: 0.25rem; | ||
1036 | +} | ||
1037 | + | ||
1038 | +.mt-2 { | ||
1039 | + margin-top: 0.5rem; | ||
1040 | +} | ||
1041 | + | ||
1042 | +.\!mt-4 { | ||
1043 | + margin-top: 1rem !important; | ||
1044 | +} | ||
1045 | + | ||
1046 | +.mb-1 { | ||
1047 | + margin-bottom: 0.25rem; | ||
1048 | +} | ||
1049 | + | ||
1050 | +.\!mr-4 { | ||
1051 | + margin-right: 1rem !important; | ||
1052 | +} | ||
1053 | + | ||
1054 | +.mt-4 { | ||
1055 | + margin-top: 1rem; | ||
1056 | +} | ||
1057 | + | ||
1058 | +.mb-4 { | ||
1059 | + margin-bottom: 1rem; | ||
1060 | +} | ||
1061 | + | ||
1062 | +.mt-5 { | ||
1063 | + margin-top: 1.25rem; | ||
1064 | +} | ||
1065 | + | ||
1066 | +.mt-10 { | ||
1067 | + margin-top: 2.5rem; | ||
1068 | +} | ||
1069 | + | ||
1070 | +.ml-4 { | ||
1071 | + margin-left: 1rem; | ||
1072 | +} | ||
1073 | + | ||
1074 | +.mr-5 { | ||
1075 | + margin-right: 1.25rem; | ||
1076 | +} | ||
1077 | + | ||
1078 | +.mr-4 { | ||
1079 | + margin-right: 1rem; | ||
1080 | +} | ||
1081 | + | ||
1082 | +.-mt-16 { | ||
1083 | + margin-top: -4rem; | ||
1084 | +} | ||
1085 | + | ||
1086 | +.mb-6 { | ||
1087 | + margin-bottom: 1.5rem; | ||
1088 | +} | ||
1089 | + | ||
1090 | +.mr-10 { | ||
1091 | + margin-right: 2.5rem; | ||
1092 | +} | ||
1093 | + | ||
1094 | +.mb-2 { | ||
1095 | + margin-bottom: 0.5rem; | ||
1096 | +} | ||
1097 | + | ||
1098 | +.mr-0 { | ||
1099 | + margin-right: 0px; | ||
1100 | +} | ||
1101 | + | ||
1102 | +.\!ml-4 { | ||
1103 | + margin-left: 1rem !important; | ||
1104 | +} | ||
1105 | + | ||
1106 | +.ml-5 { | ||
1107 | + margin-left: 1.25rem; | ||
1108 | +} | ||
1109 | + | ||
1110 | +.block { | ||
1111 | + display: block; | ||
1112 | +} | ||
1113 | + | ||
1114 | +.\!block { | ||
1115 | + display: block !important; | ||
1116 | +} | ||
1117 | + | ||
1118 | +.inline-block { | ||
1119 | + display: inline-block; | ||
1120 | +} | ||
1121 | + | ||
1122 | +.inline { | ||
1123 | + display: inline; | ||
1124 | +} | ||
1125 | + | ||
1126 | +.flex { | ||
1127 | + display: flex; | ||
1128 | +} | ||
1129 | + | ||
1130 | +.inline-flex { | ||
1131 | + display: inline-flex; | ||
1132 | +} | ||
1133 | + | ||
1134 | +.table { | ||
1135 | + display: table; | ||
1136 | +} | ||
1137 | + | ||
1138 | +.\!table { | ||
1139 | + display: table !important; | ||
1140 | +} | ||
1141 | + | ||
1142 | +.grid { | ||
1143 | + display: grid; | ||
1144 | +} | ||
1145 | + | ||
1146 | +.contents { | ||
1147 | + display: contents; | ||
1148 | +} | ||
1149 | + | ||
1150 | +.list-item { | ||
1151 | + display: list-item; | ||
1152 | +} | ||
1153 | + | ||
1154 | +.hidden { | ||
1155 | + display: none; | ||
1156 | +} | ||
1157 | + | ||
1158 | +.h-full { | ||
1159 | + height: 100%; | ||
1160 | +} | ||
1161 | + | ||
1162 | +.h-20 { | ||
1163 | + height: 5rem; | ||
1164 | +} | ||
1165 | + | ||
1166 | +.h-screen { | ||
1167 | + height: 100vh; | ||
1168 | +} | ||
1169 | + | ||
1170 | +.h-16 { | ||
1171 | + height: 4rem; | ||
1172 | +} | ||
1173 | + | ||
1174 | +.h-2\/5 { | ||
1175 | + height: 40%; | ||
1176 | +} | ||
1177 | + | ||
1178 | +.\!h-full { | ||
1179 | + height: 100% !important; | ||
1180 | +} | ||
1181 | + | ||
1182 | +.h-10 { | ||
1183 | + height: 2.5rem; | ||
1184 | +} | ||
1185 | + | ||
1186 | +.h-32 { | ||
1187 | + height: 8rem; | ||
1188 | +} | ||
1189 | + | ||
1190 | +.h-64 { | ||
1191 | + height: 16rem; | ||
1192 | +} | ||
1193 | + | ||
1194 | +.max-h-80 { | ||
1195 | + max-height: 20rem; | ||
1196 | +} | ||
1197 | + | ||
1198 | +.min-h-full { | ||
1199 | + min-height: 100%; | ||
1200 | +} | ||
1201 | + | ||
1202 | +.w-full { | ||
1203 | + width: 100%; | ||
1204 | +} | ||
1205 | + | ||
1206 | +.w-2\/3 { | ||
1207 | + width: 66.666667%; | ||
1208 | +} | ||
1209 | + | ||
1210 | +.w-1\/3 { | ||
1211 | + width: 33.333333%; | ||
1212 | +} | ||
1213 | + | ||
1214 | +.w-screen { | ||
1215 | + width: 100vw; | ||
1216 | +} | ||
1217 | + | ||
1218 | +.w-2\/5 { | ||
1219 | + width: 40%; | ||
1220 | +} | ||
1221 | + | ||
1222 | +.w-1\/2 { | ||
1223 | + width: 50%; | ||
1224 | +} | ||
1225 | + | ||
1226 | +.\!w-full { | ||
1227 | + width: 100% !important; | ||
1228 | +} | ||
1229 | + | ||
1230 | +.w-12 { | ||
1231 | + width: 3rem; | ||
1232 | +} | ||
1233 | + | ||
1234 | +.w-1\/4 { | ||
1235 | + width: 25%; | ||
1236 | +} | ||
1237 | + | ||
1238 | +.w-3\/4 { | ||
1239 | + width: 75%; | ||
1240 | +} | ||
1241 | + | ||
1242 | +.flex-1 { | ||
1243 | + flex: 1 1 0%; | ||
1244 | +} | ||
1245 | + | ||
1246 | +.flex-shrink { | ||
1247 | + flex-shrink: 1; | ||
1248 | +} | ||
1249 | + | ||
1250 | +.flex-grow-0 { | ||
1251 | + flex-grow: 0; | ||
1252 | +} | ||
1253 | + | ||
1254 | +.border-collapse { | ||
1255 | + border-collapse: collapse; | ||
1256 | +} | ||
1257 | + | ||
1258 | +.translate-x-1\/2 { | ||
1259 | + --tw-translate-x: 50%; | ||
1260 | + transform: var(--tw-transform); | ||
1261 | +} | ||
1262 | + | ||
1263 | +.cursor-pointer { | ||
1264 | + cursor: pointer; | ||
1265 | +} | ||
1266 | + | ||
1267 | +.cursor-not-allowed { | ||
1268 | + cursor: not-allowed; | ||
1269 | +} | ||
1270 | + | ||
1271 | +.resize { | ||
1272 | + resize: both; | ||
1273 | +} | ||
1274 | + | ||
1275 | +.flex-col { | ||
1276 | + flex-direction: column; | ||
1277 | +} | ||
1278 | + | ||
1279 | +.flex-wrap { | ||
1280 | + flex-wrap: wrap; | ||
1281 | +} | ||
1282 | + | ||
1283 | +.items-center { | ||
1284 | + align-items: center; | ||
1285 | +} | ||
1286 | + | ||
1287 | +.justify-end { | ||
1288 | + justify-content: flex-end; | ||
1289 | +} | ||
1290 | + | ||
1291 | +.justify-center { | ||
1292 | + justify-content: center; | ||
1293 | +} | ||
1294 | + | ||
1295 | +.justify-between { | ||
1296 | + justify-content: space-between; | ||
1297 | +} | ||
1298 | + | ||
1299 | +.justify-around { | ||
1300 | + justify-content: space-around; | ||
1301 | +} | ||
1302 | + | ||
1303 | +.justify-evenly { | ||
1304 | + justify-content: space-evenly; | ||
1305 | +} | ||
1306 | + | ||
1307 | +.overflow-auto { | ||
1308 | + overflow: auto; | ||
1309 | +} | ||
1310 | + | ||
1311 | +.overflow-hidden { | ||
1312 | + overflow: hidden; | ||
1313 | +} | ||
1314 | + | ||
1315 | +.truncate { | ||
1316 | + overflow: hidden; | ||
1317 | + text-overflow: ellipsis; | ||
1318 | + white-space: nowrap; | ||
1319 | +} | ||
1320 | + | ||
1321 | +.rounded-md { | ||
1322 | + border-radius: 0.375rem; | ||
1323 | +} | ||
1324 | + | ||
1325 | +.border { | ||
1326 | + border-width: 1px; | ||
1327 | +} | ||
1328 | + | ||
1329 | +.\!border { | ||
1330 | + border-width: 1px !important; | ||
1331 | +} | ||
1332 | + | ||
1333 | +.border-t-0 { | ||
1334 | + border-top-width: 0px; | ||
1335 | +} | ||
1336 | + | ||
1337 | +.border-solid { | ||
1338 | + border-style: solid; | ||
1339 | +} | ||
1340 | + | ||
1341 | +.border-primary { | ||
1342 | + --tw-border-opacity: 1; | ||
1343 | + border-color: rgba(9, 96, 189, var(--tw-border-opacity)); | ||
1344 | +} | ||
1345 | + | ||
1346 | +.bg-black { | ||
1347 | + --tw-bg-opacity: 1; | ||
1348 | + background-color: rgba(0, 0, 0, var(--tw-bg-opacity)); | ||
1349 | +} | ||
1350 | + | ||
1351 | +.bg-gray-700 { | ||
1352 | + --tw-bg-opacity: 1; | ||
1353 | + background-color: rgba(63, 63, 70, var(--tw-bg-opacity)); | ||
1354 | +} | ||
1355 | + | ||
1356 | +.bg-white { | ||
1357 | + --tw-bg-opacity: 1; | ||
1358 | + background-color: rgba(255, 255, 255, var(--tw-bg-opacity)); | ||
1359 | +} | ||
1360 | + | ||
1361 | +.p-2 { | ||
1362 | + padding: 0.5rem; | ||
1363 | +} | ||
1364 | + | ||
1365 | +.p-5 { | ||
1366 | + padding: 1.25rem; | ||
1367 | +} | ||
1368 | + | ||
1369 | +.p-4 { | ||
1370 | + padding: 1rem; | ||
1371 | +} | ||
1372 | + | ||
1373 | +.p-1 { | ||
1374 | + padding: 0.25rem; | ||
1375 | +} | ||
1376 | + | ||
1377 | +.p-3 { | ||
1378 | + padding: 0.75rem; | ||
1379 | +} | ||
1380 | + | ||
1381 | +.p-10 { | ||
1382 | + padding: 2.5rem; | ||
1383 | +} | ||
1384 | + | ||
1385 | +.px-4 { | ||
1386 | + padding-left: 1rem; | ||
1387 | + padding-right: 1rem; | ||
1388 | +} | ||
1389 | + | ||
1390 | +.px-2 { | ||
1391 | + padding-left: 0.5rem; | ||
1392 | + padding-right: 0.5rem; | ||
1393 | +} | ||
1394 | + | ||
1395 | +.py-1 { | ||
1396 | + padding-top: 0.25rem; | ||
1397 | + padding-bottom: 0.25rem; | ||
1398 | +} | ||
1399 | + | ||
1400 | +.py-2 { | ||
1401 | + padding-top: 0.5rem; | ||
1402 | + padding-bottom: 0.5rem; | ||
1403 | +} | ||
1404 | + | ||
1405 | +.py-1\.5 { | ||
1406 | + padding-top: 0.375rem; | ||
1407 | + padding-bottom: 0.375rem; | ||
1408 | +} | ||
1409 | + | ||
1410 | +.py-5 { | ||
1411 | + padding-top: 1.25rem; | ||
1412 | + padding-bottom: 1.25rem; | ||
1413 | +} | ||
1414 | + | ||
1415 | +.px-5 { | ||
1416 | + padding-left: 1.25rem; | ||
1417 | + padding-right: 1.25rem; | ||
1418 | +} | ||
1419 | + | ||
1420 | +.py-8 { | ||
1421 | + padding-top: 2rem; | ||
1422 | + padding-bottom: 2rem; | ||
1423 | +} | ||
1424 | + | ||
1425 | +.py-4 { | ||
1426 | + padding-top: 1rem; | ||
1427 | + padding-bottom: 1rem; | ||
1428 | +} | ||
1429 | + | ||
1430 | +.pl-2 { | ||
1431 | + padding-left: 0.5rem; | ||
1432 | +} | ||
1433 | + | ||
1434 | +.pt-5 { | ||
1435 | + padding-top: 1.25rem; | ||
1436 | +} | ||
1437 | + | ||
1438 | +.pl-4 { | ||
1439 | + padding-left: 1rem; | ||
1440 | +} | ||
1441 | + | ||
1442 | +.pt-4 { | ||
1443 | + padding-top: 1rem; | ||
1444 | +} | ||
1445 | + | ||
1446 | +.text-center { | ||
1447 | + text-align: center; | ||
1448 | +} | ||
1449 | + | ||
1450 | +.text-right { | ||
1451 | + text-align: right; | ||
1452 | +} | ||
1453 | + | ||
1454 | +.text-4xl { | ||
1455 | + font-size: 2.25rem; | ||
1456 | + line-height: 2.5rem; | ||
1457 | +} | ||
1458 | + | ||
1459 | +.text-5xl { | ||
1460 | + font-size: 3rem; | ||
1461 | + line-height: 1; | ||
1462 | +} | ||
1463 | + | ||
1464 | +.text-3xl { | ||
1465 | + font-size: 1.875rem; | ||
1466 | + line-height: 2.25rem; | ||
1467 | +} | ||
1468 | + | ||
1469 | +.text-2xl { | ||
1470 | + font-size: 1.5rem; | ||
1471 | + line-height: 2rem; | ||
1472 | +} | ||
1473 | + | ||
1474 | +.text-lg { | ||
1475 | + font-size: 1.125rem; | ||
1476 | + line-height: 1.75rem; | ||
1477 | +} | ||
1478 | + | ||
1479 | +.font-medium { | ||
1480 | + font-weight: 500; | ||
1481 | +} | ||
1482 | + | ||
1483 | +.font-normal { | ||
1484 | + font-weight: 400; | ||
1485 | +} | ||
1486 | + | ||
1487 | +.font-bold { | ||
1488 | + font-weight: 700; | ||
1489 | +} | ||
1490 | + | ||
1491 | +.uppercase { | ||
1492 | + text-transform: uppercase; | ||
1493 | +} | ||
1494 | + | ||
1495 | +.italic { | ||
1496 | + font-style: italic; | ||
1497 | +} | ||
1498 | + | ||
1499 | +.text-white { | ||
1500 | + --tw-text-opacity: 1; | ||
1501 | + color: rgba(255, 255, 255, var(--tw-text-opacity)); | ||
1502 | +} | ||
1503 | + | ||
1504 | +.text-gray-300 { | ||
1505 | + --tw-text-opacity: 1; | ||
1506 | + color: rgba(212, 212, 216, var(--tw-text-opacity)); | ||
1507 | +} | ||
1508 | + | ||
1509 | +.text-primary { | ||
1510 | + --tw-text-opacity: 1; | ||
1511 | + color: rgba(9, 96, 189, var(--tw-text-opacity)); | ||
1512 | +} | ||
1513 | + | ||
1514 | +.underline { | ||
1515 | + text-decoration: underline; | ||
1516 | +} | ||
1517 | + | ||
1518 | +.shadow { | ||
1519 | + --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); | ||
1520 | + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), | ||
1521 | + var(--tw-shadow); | ||
1522 | +} | ||
1523 | + | ||
1524 | +.shadow-md { | ||
1525 | + --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | ||
1526 | + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), | ||
1527 | + var(--tw-shadow); | ||
1528 | +} | ||
1529 | + | ||
1530 | +.blur { | ||
1531 | + --tw-blur: blur(8px); | ||
1532 | + filter: var(--tw-filter); | ||
1533 | +} | ||
1534 | + | ||
1535 | +.transition { | ||
1536 | + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, | ||
1537 | + transform, filter, -webkit-backdrop-filter; | ||
1538 | + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, | ||
1539 | + transform, filter, backdrop-filter; | ||
1540 | + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, | ||
1541 | + transform, filter, backdrop-filter, -webkit-backdrop-filter; | ||
1542 | + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); | ||
1543 | + transition-duration: 150ms; | ||
1544 | +} | ||
1545 | + | ||
1546 | +.hover\:border-primary:hover { | ||
1547 | + --tw-border-opacity: 1; | ||
1548 | + border-color: rgba(9, 96, 189, var(--tw-border-opacity)); | ||
1549 | +} | ||
1550 | + | ||
1551 | +@media (min-width: 576px) { | ||
1552 | + .sm\:w-3\/4 { | ||
1553 | + width: 75%; | ||
1554 | + } | ||
1555 | + | ||
1556 | + .sm\:px-10 { | ||
1557 | + padding-left: 2.5rem; | ||
1558 | + padding-right: 2.5rem; | ||
1559 | + } | ||
1560 | + | ||
1561 | + .sm\:px-8 { | ||
1562 | + padding-left: 2rem; | ||
1563 | + padding-right: 2rem; | ||
1564 | + } | ||
1565 | +} | ||
1566 | + | ||
1567 | +@media (min-width: 768px) { | ||
1568 | + .md\:\!mx-4 { | ||
1569 | + margin-left: 1rem !important; | ||
1570 | + margin-right: 1rem !important; | ||
1571 | + } | ||
1572 | + | ||
1573 | + .md\:\!my-0 { | ||
1574 | + margin-top: 0px !important; | ||
1575 | + margin-bottom: 0px !important; | ||
1576 | + } | ||
1577 | + | ||
1578 | + .md\:mx-2 { | ||
1579 | + margin-left: 0.5rem; | ||
1580 | + margin-right: 0.5rem; | ||
1581 | + } | ||
1582 | + | ||
1583 | + .md\:mx-16 { | ||
1584 | + margin-left: 4rem; | ||
1585 | + margin-right: 4rem; | ||
1586 | + } | ||
1587 | + | ||
1588 | + .md\:mr-20 { | ||
1589 | + margin-right: 5rem; | ||
1590 | + } | ||
1591 | + | ||
1592 | + .md\:\!mt-0 { | ||
1593 | + margin-top: 0px !important; | ||
1594 | + } | ||
1595 | + | ||
1596 | + .md\:\!mr-4 { | ||
1597 | + margin-right: 1rem !important; | ||
1598 | + } | ||
1599 | + | ||
1600 | + .md\:ml-6 { | ||
1601 | + margin-left: 1.5rem; | ||
1602 | + } | ||
1603 | + | ||
1604 | + .md\:mt-0 { | ||
1605 | + margin-top: 0px; | ||
1606 | + } | ||
1607 | + | ||
1608 | + .md\:mr-10 { | ||
1609 | + margin-right: 2.5rem; | ||
1610 | + } | ||
1611 | + | ||
1612 | + .md\:block { | ||
1613 | + display: block; | ||
1614 | + } | ||
1615 | + | ||
1616 | + .md\:flex { | ||
1617 | + display: flex; | ||
1618 | + } | ||
1619 | + | ||
1620 | + .md\:h-4\/5 { | ||
1621 | + height: 80%; | ||
1622 | + } | ||
1623 | + | ||
1624 | + .md\:w-1\/3 { | ||
1625 | + width: 33.333333%; | ||
1626 | + } | ||
1627 | + | ||
1628 | + .md\:w-1\/4 { | ||
1629 | + width: 25%; | ||
1630 | + } | ||
1631 | + | ||
1632 | + .md\:\!w-1\/3 { | ||
1633 | + width: 33.333333% !important; | ||
1634 | + } | ||
1635 | + | ||
1636 | + .md\:text-lg { | ||
1637 | + font-size: 1.125rem; | ||
1638 | + line-height: 1.75rem; | ||
1639 | + } | ||
1640 | + | ||
1641 | + .md\:opacity-100 { | ||
1642 | + opacity: 1; | ||
1643 | + } | ||
1644 | +} | ||
1645 | + | ||
1646 | +@media (min-width: 992px) { | ||
1647 | + .lg\:flex { | ||
1648 | + display: flex; | ||
1649 | + } | ||
1650 | + | ||
1651 | + .lg\:w-2\/4 { | ||
1652 | + width: 50%; | ||
1653 | + } | ||
1654 | +} | ||
1655 | + | ||
1656 | +@media (min-width: 1200px) { | ||
1657 | + .xl\:my-0 { | ||
1658 | + margin-top: 0px; | ||
1659 | + margin-bottom: 0px; | ||
1660 | + } | ||
1661 | + | ||
1662 | + .xl\:ml-20 { | ||
1663 | + margin-left: 5rem; | ||
1664 | + } | ||
1665 | + | ||
1666 | + .xl\:flex { | ||
1667 | + display: flex; | ||
1668 | + } | ||
1669 | + | ||
1670 | + .xl\:hidden { | ||
1671 | + display: none; | ||
1672 | + } | ||
1673 | + | ||
1674 | + .xl\:h-auto { | ||
1675 | + height: auto; | ||
1676 | + } | ||
1677 | + | ||
1678 | + .xl\:w-6\/12 { | ||
1679 | + width: 50%; | ||
1680 | + } | ||
1681 | + | ||
1682 | + .xl\:w-auto { | ||
1683 | + width: auto; | ||
1684 | + } | ||
1685 | + | ||
1686 | + .xl\:w-1\/5 { | ||
1687 | + width: 20%; | ||
1688 | + } | ||
1689 | + | ||
1690 | + .xl\:w-4\/5 { | ||
1691 | + width: 80%; | ||
1692 | + } | ||
1693 | + | ||
1694 | + .xl\:flex-col { | ||
1695 | + flex-direction: column; | ||
1696 | + } | ||
1697 | + | ||
1698 | + .xl\:justify-start { | ||
1699 | + justify-content: flex-start; | ||
1700 | + } | ||
1701 | + | ||
1702 | + .xl\:p-4 { | ||
1703 | + padding: 1rem; | ||
1704 | + } | ||
1705 | + | ||
1706 | + .xl\:py-0 { | ||
1707 | + padding-top: 0px; | ||
1708 | + padding-bottom: 0px; | ||
1709 | + } | ||
1710 | + | ||
1711 | + .xl\:text-left { | ||
1712 | + text-align: left; | ||
1713 | + } | ||
1714 | + | ||
1715 | + .xl\:text-xl { | ||
1716 | + font-size: 1.25rem; | ||
1717 | + line-height: 1.75rem; | ||
1718 | + } | ||
1719 | + | ||
1720 | + .xl\:text-3xl { | ||
1721 | + font-size: 1.875rem; | ||
1722 | + line-height: 2.25rem; | ||
1723 | + } | ||
1724 | + | ||
1725 | + .xl\:text-gray-600 { | ||
1726 | + --tw-text-opacity: 1; | ||
1727 | + color: rgba(82, 82, 91, var(--tw-text-opacity)); | ||
1728 | + } | ||
1729 | + | ||
1730 | + .xl\:shadow-none { | ||
1731 | + --tw-shadow: 0 0 #0000; | ||
1732 | + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), | ||
1733 | + var(--tw-shadow); | ||
1734 | + } | ||
1735 | +} | ||
1736 | + | ||
1737 | +@media (min-width: 1600px) { | ||
1738 | + .\32xl\:text-3xl { | ||
1739 | + font-size: 1.875rem; | ||
1740 | + line-height: 2.25rem; | ||
1741 | + } | ||
1742 | +} |
src/main.ts
src/utils/mitt.ts
@@ -27,6 +27,7 @@ export interface Emitter { | @@ -27,6 +27,7 @@ export interface Emitter { | ||
27 | 27 | ||
28 | emit<T = any>(type: EventType, event?: T): void; | 28 | emit<T = any>(type: EventType, event?: T): void; |
29 | emit(type: '*', event?: any): void; | 29 | emit(type: '*', event?: any): void; |
30 | + clear(): void; | ||
30 | } | 31 | } |
31 | 32 | ||
32 | /** | 33 | /** |
@@ -88,5 +89,12 @@ export default function mitt(all?: EventHandlerMap): Emitter { | @@ -88,5 +89,12 @@ export default function mitt(all?: EventHandlerMap): Emitter { | ||
88 | handler(type, evt); | 89 | handler(type, evt); |
89 | }); | 90 | }); |
90 | }, | 91 | }, |
92 | + | ||
93 | + /** | ||
94 | + * Clear all | ||
95 | + */ | ||
96 | + clear() { | ||
97 | + this.all.clear(); | ||
98 | + }, | ||
91 | }; | 99 | }; |
92 | } | 100 | } |
src/views/dashboard/analysis/components/GrowCard.vue
@@ -5,8 +5,8 @@ | @@ -5,8 +5,8 @@ | ||
5 | size="small" | 5 | size="small" |
6 | :loading="$attrs.loading" | 6 | :loading="$attrs.loading" |
7 | :title="item.title" | 7 | :title="item.title" |
8 | - class="md:w-1/4 w-full !md:mt-0 !mt-4" | ||
9 | - :class="[index + 1 < 4 && '!md:mr-4']" | 8 | + class="md:w-1/4 w-full md:!mt-0 !mt-4" |
9 | + :class="[index + 1 < 4 && 'md:!mr-4']" | ||
10 | :canExpan="false" | 10 | :canExpan="false" |
11 | > | 11 | > |
12 | <template #extra> | 12 | <template #extra> |
src/views/dashboard/analysis/index.vue
@@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
6 | <div class="md:flex enter-y"> | 6 | <div class="md:flex enter-y"> |
7 | <VisitRadar class="md:w-1/3 w-full" :loading="loading" /> | 7 | <VisitRadar class="md:w-1/3 w-full" :loading="loading" /> |
8 | 8 | ||
9 | - <VisitSource class="md:w-1/3 !md:mx-4 !md:my-0 !my-4 w-full" :loading="loading" /> | 9 | + <VisitSource class="md:w-1/3 md:!mx-4 md:!my-0 !my-4 w-full" :loading="loading" /> |
10 | <SalesProductPie class="md:w-1/3 w-full" :loading="loading" /> | 10 | <SalesProductPie class="md:w-1/3 w-full" :loading="loading" /> |
11 | </div> | 11 | </div> |
12 | </div> | 12 | </div> |
src/views/dashboard/workbench/components/ProjectCard.vue
@@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
5 | </template> | 5 | </template> |
6 | 6 | ||
7 | <template v-for="item in items" :key="item"> | 7 | <template v-for="item in items" :key="item"> |
8 | - <CardGrid class="!md:w-1/3 !w-full"> | 8 | + <CardGrid class="md:!w-1/3 !w-full"> |
9 | <span class="flex"> | 9 | <span class="flex"> |
10 | <Icon :icon="item.icon" :color="item.color" size="30" /> | 10 | <Icon :icon="item.icon" :color="item.color" size="30" /> |
11 | <span class="text-lg ml-4">{{ item.title }}</span> | 11 | <span class="text-lg ml-4">{{ item.title }}</span> |
src/views/dashboard/workbench/index.vue
@@ -10,7 +10,11 @@ | @@ -10,7 +10,11 @@ | ||
10 | <QuickNav :loading="loading" class="enter-y" /> | 10 | <QuickNav :loading="loading" class="enter-y" /> |
11 | 11 | ||
12 | <Card class="!my-4 enter-y" :loading="loading"> | 12 | <Card class="!my-4 enter-y" :loading="loading"> |
13 | - <img class="xl:h-50 h-30 mx-auto" src="../../../assets/svg/illustration.svg" /> | 13 | + <img |
14 | + style="height: 216px" | ||
15 | + class="h-20 mx-auto" | ||
16 | + src="../../../assets/svg/illustration.svg" | ||
17 | + /> | ||
14 | </Card> | 18 | </Card> |
15 | 19 | ||
16 | <SaleRadar :loading="loading" class="enter-y" /> | 20 | <SaleRadar :loading="loading" class="enter-y" /> |
src/views/sys/login/LoginForm.vue
@@ -53,7 +53,7 @@ | @@ -53,7 +53,7 @@ | ||
53 | {{ t('sys.login.mobileSignInFormTitle') }} | 53 | {{ t('sys.login.mobileSignInFormTitle') }} |
54 | </Button> | 54 | </Button> |
55 | </ACol> | 55 | </ACol> |
56 | - <ACol :md="8" :xs="24" class="!my-2 !md:my-0 xs:mx-0 md:mx-2"> | 56 | + <ACol :md="8" :xs="24" class="!my-2 md:!my-0 xs:mx-0 md:mx-2"> |
57 | <Button block @click="setLoginState(LoginStateEnum.QR_CODE)"> | 57 | <Button block @click="setLoginState(LoginStateEnum.QR_CODE)"> |
58 | {{ t('sys.login.qrSignInFormTitle') }} | 58 | {{ t('sys.login.qrSignInFormTitle') }} |
59 | </Button> | 59 | </Button> |
stylelint.config.js
@@ -18,7 +18,18 @@ module.exports = { | @@ -18,7 +18,18 @@ module.exports = { | ||
18 | 'at-rule-no-unknown': [ | 18 | 'at-rule-no-unknown': [ |
19 | true, | 19 | true, |
20 | { | 20 | { |
21 | - ignoreAtRules: ['function', 'if', 'each', 'include', 'mixin'], | 21 | + ignoreAtRules: [ |
22 | + 'tailwind', | ||
23 | + 'apply', | ||
24 | + 'variants', | ||
25 | + 'responsive', | ||
26 | + 'screen', | ||
27 | + 'function', | ||
28 | + 'if', | ||
29 | + 'each', | ||
30 | + 'include', | ||
31 | + 'mixin', | ||
32 | + ], | ||
22 | }, | 33 | }, |
23 | ], | 34 | ], |
24 | 'no-empty-source': null, | 35 | 'no-empty-source': null, |
windi.config.ts renamed to tailwind.config.js
1 | -import lineClamp from 'windicss/plugin/line-clamp'; | ||
2 | -import colors from 'windicss/colors'; | 1 | +const colors = require('tailwindcss/colors'); |
3 | 2 | ||
4 | -import { defineConfig } from 'vite-plugin-windicss'; | ||
5 | -import { primaryColor } from './build/config/themeConfig'; | ||
6 | - | ||
7 | -export default defineConfig({ | ||
8 | - darkMode: 'class', | ||
9 | - plugins: [lineClamp, createEnterPlugin()], | 3 | +module.exports = { |
4 | + mode: 'jit', | ||
5 | + // darkMode: 'class', | ||
6 | + plugins: [createEnterPlugin()], | ||
7 | + purge: { | ||
8 | + enabled: false, | ||
9 | + content: ['./index.html', './src/**/*.{vue,ts,tsx}'], | ||
10 | + }, | ||
10 | theme: { | 11 | theme: { |
11 | extend: { | 12 | extend: { |
12 | - colors: { | ||
13 | - ...colors, | ||
14 | - primary: primaryColor, | 13 | + zIndex: { |
14 | + '-1': '-1', | ||
15 | }, | 15 | }, |
16 | - screens: { | ||
17 | - sm: '576px', | ||
18 | - md: '768px', | ||
19 | - lg: '992px', | ||
20 | - xl: '1200px', | ||
21 | - '2xl': '1600px', | 16 | + }, |
17 | + colors: { | ||
18 | + ...colors, | ||
19 | + primary: { | ||
20 | + DEFAULT: '#0960bd', | ||
21 | + // dark: primaryColorDark, | ||
22 | }, | 22 | }, |
23 | }, | 23 | }, |
24 | + screens: { | ||
25 | + sm: '576px', | ||
26 | + md: '768px', | ||
27 | + lg: '992px', | ||
28 | + xl: '1200px', | ||
29 | + '2xl': '1600px', | ||
30 | + }, | ||
24 | }, | 31 | }, |
25 | -}); | ||
26 | - | 32 | +}; |
27 | /** | 33 | /** |
28 | * Used for animation when the element is displayed | 34 | * Used for animation when the element is displayed |
29 | * @param maxOutput The larger the maxOutput output, the larger the generated css volume | 35 | * @param maxOutput The larger the maxOutput output, the larger the generated css volume |
30 | */ | 36 | */ |
31 | -function createEnterPlugin(maxOutput = 10) { | ||
32 | - const createCss = (index: number, d = 'x') => { | 37 | +function createEnterPlugin(maxOutput = 6) { |
38 | + const createCss = (index, d = 'x') => { | ||
33 | const upd = d.toUpperCase(); | 39 | const upd = d.toUpperCase(); |
34 | return { | 40 | return { |
35 | [`*> .enter-${d}:nth-child(${index})`]: { | 41 | [`*> .enter-${d}:nth-child(${index})`]: { |