@zhang_jifan/fanui 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ACCESSIBILITY.md +61 -0
- package/CHANGELOG.md +112 -0
- package/COMMERCIAL-LICENSE.md +71 -0
- package/DESIGN-SYSTEM.md +294 -0
- package/LICENSE +661 -0
- package/README.md +348 -0
- package/USAGE.md +1926 -0
- package/_index.scss +20 -0
- package/dist/fanui.cjs +15 -0
- package/dist/fanui.css +28209 -0
- package/dist/fanui.d.ts +353 -0
- package/dist/fanui.esm.js +71 -0
- package/dist/fanui.js +4782 -0
- package/dist/fanui.min.css +1 -0
- package/dist/fanui.mjs +71 -0
- package/dist/modules/fanui-advanced.css +830 -0
- package/dist/modules/fanui-advanced.min.css +129 -0
- package/dist/modules/fanui-alert.css +575 -0
- package/dist/modules/fanui-alert.min.css +122 -0
- package/dist/modules/fanui-badge.css +426 -0
- package/dist/modules/fanui-badge.min.css +77 -0
- package/dist/modules/fanui-base.css +1394 -0
- package/dist/modules/fanui-base.min.css +236 -0
- package/dist/modules/fanui-blog.css +762 -0
- package/dist/modules/fanui-blog.min.css +108 -0
- package/dist/modules/fanui-button.css +526 -0
- package/dist/modules/fanui-button.min.css +56 -0
- package/dist/modules/fanui-card.css +291 -0
- package/dist/modules/fanui-card.min.css +52 -0
- package/dist/modules/fanui-choice.css +539 -0
- package/dist/modules/fanui-choice.min.css +83 -0
- package/dist/modules/fanui-dashboard.css +1057 -0
- package/dist/modules/fanui-dashboard.min.css +160 -0
- package/dist/modules/fanui-data.css +687 -0
- package/dist/modules/fanui-data.min.css +125 -0
- package/dist/modules/fanui-feedback.css +432 -0
- package/dist/modules/fanui-feedback.min.css +79 -0
- package/dist/modules/fanui-form.css +779 -0
- package/dist/modules/fanui-form.min.css +123 -0
- package/dist/modules/fanui-glass.css +497 -0
- package/dist/modules/fanui-glass.min.css +46 -0
- package/dist/modules/fanui-input-plus.css +799 -0
- package/dist/modules/fanui-input-plus.min.css +124 -0
- package/dist/modules/fanui-interactive.css +960 -0
- package/dist/modules/fanui-interactive.min.css +138 -0
- package/dist/modules/fanui-layout.css +4399 -0
- package/dist/modules/fanui-layout.min.css +1172 -0
- package/dist/modules/fanui-marketing.css +1125 -0
- package/dist/modules/fanui-marketing.min.css +144 -0
- package/dist/modules/fanui-nav.css +458 -0
- package/dist/modules/fanui-nav.min.css +76 -0
- package/dist/modules/fanui-overlay.css +547 -0
- package/dist/modules/fanui-overlay.min.css +91 -0
- package/dist/modules/fanui-table.css +290 -0
- package/dist/modules/fanui-table.min.css +62 -0
- package/dist/modules/fanui-tabs.css +333 -0
- package/dist/modules/fanui-tabs.min.css +58 -0
- package/dist/modules/fanui-themes.css +2728 -0
- package/dist/modules/fanui-themes.min.css +40 -0
- package/dist/modules/fanui-tokens.css +587 -0
- package/dist/modules/fanui-tokens.min.css +3 -0
- package/dist/modules/fanui-utilities.css +6557 -0
- package/dist/modules/fanui-utilities.min.css +1762 -0
- package/dist/modules/sizes.json +103 -0
- package/docs/MIGRATION-v2.md +179 -0
- package/examples/01-script-tag.html +149 -0
- package/examples/02-react/README.md +39 -0
- package/examples/02-react/index.html +12 -0
- package/examples/02-react/package.json +20 -0
- package/examples/02-react/src/App.jsx +108 -0
- package/examples/02-react/src/main.jsx +13 -0
- package/examples/02-react/src/useFanUI.js +87 -0
- package/examples/02-react/vite.config.js +6 -0
- package/examples/03-vue3/README.md +67 -0
- package/examples/03-vue3/index.html +12 -0
- package/examples/03-vue3/package.json +19 -0
- package/examples/03-vue3/src/App.vue +93 -0
- package/examples/03-vue3/src/main.js +8 -0
- package/examples/03-vue3/src/useFanUI.js +85 -0
- package/examples/03-vue3/vite.config.js +6 -0
- package/examples/04-vue2-cdn.html +93 -0
- package/examples/README.md +34 -0
- package/package.json +127 -0
- package/src/_functions.scss +319 -0
- package/src/_mixins.scss +1202 -0
- package/src/_tokens.scss +180 -0
- package/src/_variables.scss +491 -0
- package/src/base/_animations.scss +210 -0
- package/src/base/_reset.scss +359 -0
- package/src/base/_rtl.scss +133 -0
- package/src/base/_typography.scss +353 -0
- package/src/components/_advanced.scss +763 -0
- package/src/components/_alert.scss +322 -0
- package/src/components/_badge.scss +279 -0
- package/src/components/_blog.scss +693 -0
- package/src/components/_button.scss +351 -0
- package/src/components/_capabilities.scss +463 -0
- package/src/components/_card.scss +281 -0
- package/src/components/_choice.scss +444 -0
- package/src/components/_dashboard.scss +950 -0
- package/src/components/_data.scss +618 -0
- package/src/components/_feedback.scss +403 -0
- package/src/components/_form.scss +408 -0
- package/src/components/_glass.scss +374 -0
- package/src/components/_input-plus.scss +730 -0
- package/src/components/_interactive.scss +885 -0
- package/src/components/_marketing.scss +982 -0
- package/src/components/_nav.scss +480 -0
- package/src/components/_overlay.scss +517 -0
- package/src/components/_table.scss +276 -0
- package/src/components/_tabs.scss +338 -0
- package/src/fanui.d.ts +353 -0
- package/src/fanui.js +4782 -0
- package/src/fanui.scss +79 -0
- package/src/glass/_switches.scss +36 -0
- package/src/glass/_tokens.scss +259 -0
- package/src/layout/_container.scss +111 -0
- package/src/layout/_flex.scss +164 -0
- package/src/layout/_grid.scss +180 -0
- package/src/themes/_accents.scss +201 -0
- package/src/themes/_palettes.scss +180 -0
- package/src/utilities/_borders.scss +104 -0
- package/src/utilities/_display.scss +145 -0
- package/src/utilities/_effects.scss +210 -0
- package/src/utilities/_sizing.scss +123 -0
- package/src/utilities/_spacing.scss +118 -0
- package/src/utilities/_texture.scss +323 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
@charset "UTF-8";*,*::before,*::after{box-sizing:border-box}
|
|
2
|
+
html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);scroll-behavior:smooth;font-size:100%;line-height:1;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";text-rendering:optimizeLegibility}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
|
|
3
|
+
body{margin:0;min-height:100vh;font-family:var(--fanui-font-base,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji);font-size:var(--fanui-font-size-base,14px);font-weight:400;line-height:var(--fanui-line-height-base,1.5715);color:var(--fanui-color-text);background-color:var(--fanui-color-bg);transition:color 300ms cubic-bezier(0.4,0,0.2,1) 0s,background-color 300ms cubic-bezier(0.4,0,0.2,1) 0s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
|
4
|
+
main,article,aside,figure,footer,header,hgroup,nav,section,details,summary,figcaption{display:block}
|
|
5
|
+
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ol,ul,pre{margin:0}
|
|
6
|
+
ol[class],ul[class],li[class]{list-style:none;padding:0}
|
|
7
|
+
a{color:var(--fanui-primary);text-decoration:none;background-color:transparent;transition:color 150ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
8
|
+
a:hover{color:var(--fanui-primary-hover);text-decoration:underline}
|
|
9
|
+
a:active{color:var(--fanui-primary-active)}
|
|
10
|
+
a:focus-visible{outline:0;box-shadow:0 0 0 var(--fanui-focus-ring-offset,1px) var(--fanui-color-surface,#fff),0 0 0 calc(var(--fanui-focus-ring-offset,1px) + var(--fanui-focus-ring-width,3px)) var(--fanui-focus-ring-color,rgba(14,116,144,0.3))}@media (forced-colors:active){a:focus-visible{outline:2px solid transparent;outline-offset:2px}}
|
|
11
|
+
a:focus-visible{border-radius:2px}
|
|
12
|
+
b,strong{font-weight:700}
|
|
13
|
+
small{font-size:0.875em}
|
|
14
|
+
sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}
|
|
15
|
+
sub{bottom:-0.25em}
|
|
16
|
+
sup{top:-0.5em}
|
|
17
|
+
img,picture,video,canvas,svg{display:block;max-width:100%}
|
|
18
|
+
img,video{height:auto;border-style:none}
|
|
19
|
+
svg{overflow:hidden;vertical-align:middle}
|
|
20
|
+
button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:inherit;color:inherit}
|
|
21
|
+
button,[type=button],[type=reset],[type=submit],[role=button]{-webkit-appearance:button;cursor:pointer;text-transform:none;background-color:transparent;background-image:none;border:0;padding:0}
|
|
22
|
+
::-moz-focus-inner{padding:0;border-style:none}
|
|
23
|
+
:-moz-ui-invalid{box-shadow:none}
|
|
24
|
+
fieldset{min-width:0;padding:0;margin:0;border:0}
|
|
25
|
+
legend{padding:0;display:table;max-width:100%;white-space:normal;color:inherit}
|
|
26
|
+
progress{vertical-align:baseline}
|
|
27
|
+
textarea{resize:vertical;overflow:auto}
|
|
28
|
+
[type=search]{outline-offset:-2px;-webkit-appearance:textfield;appearance:textfield}
|
|
29
|
+
[type=search]::-webkit-search-decoration{-webkit-appearance:none}
|
|
30
|
+
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
|
|
31
|
+
[type=number]::-webkit-outer-spin-button,[type=number]::-webkit-inner-spin-button{height:auto;-webkit-appearance:none;margin:0}
|
|
32
|
+
[type=number]{-moz-appearance:textfield}
|
|
33
|
+
[hidden],template{display:none !important}
|
|
34
|
+
iframe{border:0;display:block}
|
|
35
|
+
hr{box-sizing:content-box;height:0;overflow:visible;margin:1em 0;border:0;border-top:var(--fanui-border-width,1px) solid var(--fanui-color-border);opacity:1;color:inherit}
|
|
36
|
+
abbr[title]{text-decoration:underline dotted;cursor:help}
|
|
37
|
+
code,kbd,samp,pre{font-family:var(--fanui-font-mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,Courier New,monospace);font-size:1em}
|
|
38
|
+
pre{overflow:auto;-webkit-overflow-scrolling:touch}
|
|
39
|
+
summary{display:list-item;cursor:pointer}
|
|
40
|
+
details>summary::-webkit-details-marker{display:none}
|
|
41
|
+
table{border-collapse:collapse;border-spacing:0;text-indent:0}
|
|
42
|
+
th{text-align:inherit;text-align:-webkit-match-parent}
|
|
43
|
+
html{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,0.45) transparent}
|
|
44
|
+
html::-webkit-scrollbar{width:8px;height:8px}
|
|
45
|
+
html::-webkit-scrollbar-track{background:transparent}
|
|
46
|
+
html::-webkit-scrollbar-thumb{background:rgba(100,116,139,0.45);border-radius:9999px}
|
|
47
|
+
html::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,0.7)}
|
|
48
|
+
::selection{background-color:var(--fanui-primary-soft);color:var(--fanui-primary-active)}
|
|
49
|
+
.fanui-skip-link{position:fixed;top:-100%;left:var(--fanui-space-4);z-index:calc(var(--fanui-z-toast) + 1);padding:10px 18px;border-radius:var(--fanui-radius-md);background-color:var(--fanui-primary);color:var(--fanui-primary-fg);font-size:var(--fanui-font-size-sm);font-weight:var(--fanui-font-weight-semibold);text-decoration:none;box-shadow:var(--fanui-shadow-lg);transition:top 150ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
50
|
+
.fanui-skip-link:focus{top:var(--fanui-space-3);outline:3px solid var(--fanui-primary-ring);outline-offset:2px}
|
|
51
|
+
.fanui-visually-hidden,.fanui-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
|
|
52
|
+
.fanui-sr-only-focusable{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
|
|
53
|
+
.fanui-sr-only-focusable:active,.fanui-sr-only-focusable:focus{position:static !important;width:auto !important;height:auto !important;margin:0 !important;overflow:visible !important;clip:auto !important;white-space:normal !important}
|
|
54
|
+
.fanui-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}
|
|
55
|
+
.fanui-no-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}
|
|
56
|
+
:focus-visible{outline:2px solid var(--fanui-primary-ring);outline-offset:1px}@media (forced-colors:active){:focus-visible{outline:2px solid transparent}}
|
|
57
|
+
.fanui-font-sans{font-family:var(--fanui-font-sans)}
|
|
58
|
+
.fanui-font-serif{font-family:var(--fanui-font-serif)}
|
|
59
|
+
.fanui-font-mono{font-family:var(--fanui-font-mono)}
|
|
60
|
+
h1,h2,h3,h4,h5,h6,.fanui-h1,.fanui-h2,.fanui-h3,.fanui-h4,.fanui-h5,.fanui-h6{margin-top:0;margin-bottom:var(--fanui-heading-margin-bottom,0.5em);font-weight:600;line-height:1.25;color:var(--fanui-color-text-strong);text-wrap:balance}
|
|
61
|
+
h1,.fanui-h1{font-size:var(--fanui-font-size-3xl);letter-spacing:-0.02em}
|
|
62
|
+
h2,.fanui-h2{font-size:var(--fanui-font-size-2xl);letter-spacing:-0.015em}
|
|
63
|
+
h3,.fanui-h3{font-size:var(--fanui-font-size-xl)}
|
|
64
|
+
h4,.fanui-h4{font-size:var(--fanui-font-size-lg)}
|
|
65
|
+
h5,.fanui-h5{font-size:var(--fanui-font-size-md)}
|
|
66
|
+
h6,.fanui-h6{font-size:var(--fanui-font-size-base)}
|
|
67
|
+
.fanui-display-1{font-size:var(--fanui-font-size-6xl);font-weight:800;line-height:1.1;letter-spacing:-0.025em}
|
|
68
|
+
.fanui-display-2{font-size:var(--fanui-font-size-5xl);font-weight:800;line-height:1.15;letter-spacing:-0.02em}
|
|
69
|
+
.fanui-display-3{font-size:var(--fanui-font-size-4xl);font-weight:700;line-height:1.2;letter-spacing:-0.02em}
|
|
70
|
+
p{margin-top:0;margin-bottom:var(--fanui-paragraph-margin-bottom,1em)}
|
|
71
|
+
.fanui-lead{font-size:var(--fanui-font-size-md);line-height:var(--fanui-line-height-relaxed);color:var(--fanui-color-text-muted)}
|
|
72
|
+
.fanui-text-muted{color:var(--fanui-color-text-muted)}
|
|
73
|
+
.fanui-text-subtle{color:var(--fanui-color-text-subtle)}
|
|
74
|
+
.fanui-text-strong{color:var(--fanui-color-text-strong);font-weight:600}
|
|
75
|
+
.fanui-text-inverse{color:var(--fanui-color-text-inverse)}
|
|
76
|
+
.fanui-text-primary{color:var(--fanui-primary)}
|
|
77
|
+
.fanui-text-accent{color:var(--fanui-accent)}
|
|
78
|
+
.fanui-text-success{color:var(--fanui-success)}
|
|
79
|
+
.fanui-text-warning{color:var(--fanui-warning)}
|
|
80
|
+
.fanui-text-danger{color:var(--fanui-danger)}
|
|
81
|
+
.fanui-text-info{color:var(--fanui-info)}
|
|
82
|
+
.fanui-text-gradient{background-image:linear-gradient(to right,var(--fanui-primary),var(--fanui-accent));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
|
|
83
|
+
.fanui-fs-xs{font-size:var(--fanui-font-size-xs)}
|
|
84
|
+
.fanui-fs-sm{font-size:var(--fanui-font-size-sm)}
|
|
85
|
+
.fanui-fs-base{font-size:var(--fanui-font-size-base)}
|
|
86
|
+
.fanui-fs-md{font-size:var(--fanui-font-size-md)}
|
|
87
|
+
.fanui-fs-lg{font-size:var(--fanui-font-size-lg)}
|
|
88
|
+
.fanui-fs-xl{font-size:var(--fanui-font-size-xl)}
|
|
89
|
+
.fanui-fs-2xl{font-size:var(--fanui-font-size-2xl)}
|
|
90
|
+
.fanui-fs-3xl{font-size:var(--fanui-font-size-3xl)}
|
|
91
|
+
.fanui-fs-4xl{font-size:var(--fanui-font-size-4xl)}
|
|
92
|
+
.fanui-fs-5xl{font-size:var(--fanui-font-size-5xl)}
|
|
93
|
+
.fanui-fs-6xl{font-size:var(--fanui-font-size-6xl)}
|
|
94
|
+
.fanui-fs-lead-lg::first-letter{font-size:var(--fanui-font-size-5xl);font-weight:700;float:left;line-height:1;margin-inline-end:8px}
|
|
95
|
+
.fanui-lh-none{line-height:1}
|
|
96
|
+
.fanui-lh-tight{line-height:1.25}
|
|
97
|
+
.fanui-lh-snug{line-height:1.375}
|
|
98
|
+
.fanui-lh-normal{line-height:1.5}
|
|
99
|
+
.fanui-lh-base{line-height:1.5715}
|
|
100
|
+
.fanui-lh-relaxed{line-height:1.625}
|
|
101
|
+
.fanui-lh-loose{line-height:2}
|
|
102
|
+
.fanui-fw-light{font-weight:300}
|
|
103
|
+
.fanui-fw-normal{font-weight:400}
|
|
104
|
+
.fanui-fw-medium{font-weight:500}
|
|
105
|
+
.fanui-fw-semibold{font-weight:600}
|
|
106
|
+
.fanui-fw-bold{font-weight:700}
|
|
107
|
+
.fanui-fw-extrabold{font-weight:800}
|
|
108
|
+
.fanui-tracking-tighter{letter-spacing:-0.05em}
|
|
109
|
+
.fanui-tracking-tight{letter-spacing:-0.025em}
|
|
110
|
+
.fanui-tracking-normal{letter-spacing:0}
|
|
111
|
+
.fanui-tracking-wide{letter-spacing:0.025em}
|
|
112
|
+
.fanui-tracking-wider{letter-spacing:0.05em}
|
|
113
|
+
.fanui-tracking-widest{letter-spacing:0.1em}
|
|
114
|
+
.fanui-italic{font-style:italic}
|
|
115
|
+
.fanui-not-italic{font-style:normal}
|
|
116
|
+
.fanui-uppercase{text-transform:uppercase}
|
|
117
|
+
.fanui-lowercase{text-transform:lowercase}
|
|
118
|
+
.fanui-capitalize{text-transform:capitalize}
|
|
119
|
+
.fanui-underline{text-decoration:underline}
|
|
120
|
+
.fanui-line-through{text-decoration:line-through}
|
|
121
|
+
.fanui-no-underline{text-decoration:none}
|
|
122
|
+
.fanui-text-start{text-align:start}
|
|
123
|
+
.fanui-text-center{text-align:center}
|
|
124
|
+
.fanui-text-end{text-align:end}
|
|
125
|
+
.fanui-text-justify{text-align:justify}
|
|
126
|
+
.fanui-text-wrap{white-space:normal}
|
|
127
|
+
.fanui-text-nowrap{white-space:nowrap}
|
|
128
|
+
.fanui-text-pre{white-space:pre}
|
|
129
|
+
.fanui-text-pre-wrap{white-space:pre-wrap}
|
|
130
|
+
.fanui-text-break{word-break:break-word;overflow-wrap:anywhere}
|
|
131
|
+
.fanui-text-balance{text-wrap:balance}
|
|
132
|
+
.fanui-text-pretty{text-wrap:pretty}
|
|
133
|
+
.fanui-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
134
|
+
.fanui-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
|
|
135
|
+
.fanui-truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
|
|
136
|
+
.fanui-truncate-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
|
|
137
|
+
.fanui-list{padding-inline-start:1.25rem;margin-bottom:1em}
|
|
138
|
+
.fanui-list li{margin-bottom:0.25em}
|
|
139
|
+
.fanui-list-unstyled{list-style:none;padding-inline-start:0;margin-inline-start:0}
|
|
140
|
+
.fanui-list-inline{display:flex;flex-wrap:wrap;gap:var(--fanui-space-4);list-style:none;padding-inline-start:0}
|
|
141
|
+
.fanui-list-dashed{list-style:none;padding-inline-start:0}
|
|
142
|
+
.fanui-list-dashed>li{position:relative;padding-inline-start:1.25em}
|
|
143
|
+
.fanui-list-dashed>li::before{content:"";position:absolute;left:0.25em;top:0.65em;width:0.35em;height:0.35em;border-radius:50%;background-color:var(--fanui-primary)}
|
|
144
|
+
.fanui-blockquote{margin:0 0 1em;padding:var(--fanui-space-4) var(--fanui-space-5);border-inline-start:4px solid var(--fanui-primary);background-color:var(--fanui-color-surface-sunken);border-radius:0 var(--fanui-radius-base) var(--fanui-radius-base) 0;color:var(--fanui-color-text-muted)}
|
|
145
|
+
.fanui-blockquote footer{margin-top:var(--fanui-space-2);font-size:var(--fanui-font-size-sm);color:var(--fanui-color-text-subtle)}
|
|
146
|
+
.fanui-blockquote footer::before{content:"— "}
|
|
147
|
+
.fanui-code,.fanui-prose code{padding:0.15em 0.4em;font-family:var(--fanui-font-mono);font-size:0.875em;color:var(--fanui-danger);background-color:var(--fanui-color-surface-sunken);border:1px solid var(--fanui-color-border-subtle);border-radius:var(--fanui-radius-sm);white-space:nowrap}
|
|
148
|
+
.fanui-pre,.fanui-prose pre{display:block;margin:0 0 1em;padding:var(--fanui-space-4);font-family:var(--fanui-font-mono);font-size:var(--fanui-font-size-sm);line-height:var(--fanui-line-height-relaxed);color:var(--fanui-color-text);background-color:var(--fanui-color-surface-sunken);border:1px solid var(--fanui-color-border);border-radius:var(--fanui-radius-md);overflow-x:auto;tab-size:2}
|
|
149
|
+
.fanui-pre code,.fanui-prose pre code{padding:0;background:none;border:0;color:inherit;font-size:inherit;white-space:pre}
|
|
150
|
+
.fanui-kbd{display:inline-block;min-width:1.6em;padding:0.1em 0.4em;font-family:var(--fanui-font-mono);font-size:0.8125em;line-height:1.4;text-align:center;color:var(--fanui-color-text);background-color:var(--fanui-color-surface);border:1px solid var(--fanui-color-border-strong);border-bottom-width:2px;border-radius:var(--fanui-radius-sm);box-shadow:var(--fanui-shadow-xs)}
|
|
151
|
+
.fanui-mark{padding:0.1em 0.2em;background-color:rgba(245,158,11,0.28);color:inherit;border-radius:var(--fanui-radius-sm)}
|
|
152
|
+
.fanui-link{color:var(--fanui-primary);text-decoration:none;border-bottom:1px solid var(--fanui-primary-border);transition:color 150ms cubic-bezier(0.4,0,0.2,1) 0s,border-color 150ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
153
|
+
.fanui-link:hover{color:var(--fanui-primary-hover);border-bottom-color:var(--fanui-primary-hover);text-decoration:none}
|
|
154
|
+
.fanui-link--subtle{color:var(--fanui-color-text-muted);border-bottom-color:var(--fanui-color-border)}
|
|
155
|
+
.fanui-link--subtle:hover{color:var(--fanui-color-text);border-bottom-color:var(--fanui-color-border-strong)}
|
|
156
|
+
.fanui-anchor{position:relative;scroll-margin-top:var(--fanui-space-8)}
|
|
157
|
+
.fanui-anchor>.fanui-anchor__link{position:absolute;left:-1.25em;padding-inline-end:0.25em;color:var(--fanui-color-text-subtle);opacity:0;transition:opacity 150ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
158
|
+
.fanui-anchor>.fanui-anchor__link::before{content:"#"}
|
|
159
|
+
.fanui-anchor:hover>.fanui-anchor__link{opacity:1}
|
|
160
|
+
.fanui-prose{font-size:var(--fanui-font-size-md);line-height:var(--fanui-line-height-relaxed);color:var(--fanui-color-text);max-width:72ch}
|
|
161
|
+
.fanui-prose>* + *{margin-top:1em}
|
|
162
|
+
.fanui-prose>h2{margin-top:2em}
|
|
163
|
+
.fanui-prose>h3{margin-top:1.5em}
|
|
164
|
+
.fanui-prose>h2 + *,.fanui-prose>h3 + *{margin-top:0.5em}
|
|
165
|
+
.fanui-prose ul,.fanui-prose ol{padding-inline-start:1.4em}
|
|
166
|
+
.fanui-prose li + li{margin-top:0.35em}
|
|
167
|
+
.fanui-prose li>ul,.fanui-prose li>ol{margin-top:0.35em}
|
|
168
|
+
.fanui-prose img{border-radius:var(--fanui-radius-md);margin:1.5em 0}
|
|
169
|
+
.fanui-prose hr{margin:2.5em 0}
|
|
170
|
+
.fanui-prose table{width:100%;border-collapse:collapse;font-size:var(--fanui-font-size-base);margin:1.5em 0}
|
|
171
|
+
.fanui-prose table th,.fanui-prose table td{padding:8px 12px;text-align:start;border:1px solid var(--fanui-color-border)}
|
|
172
|
+
.fanui-prose table th{background-color:var(--fanui-color-surface-sunken);font-weight:600}@keyframes fanui-fade-in{from{opacity:0}
|
|
173
|
+
to{opacity:1}}@keyframes fanui-fade-out{from{opacity:1}
|
|
174
|
+
to{opacity:0}}@keyframes fanui-slide-in-up{from{opacity:0;transform:translateY(12px)}
|
|
175
|
+
to{opacity:1;transform:translateY(0)}}@keyframes fanui-slide-in-down{from{opacity:0;transform:translateY(-12px)}
|
|
176
|
+
to{opacity:1;transform:translateY(0)}}@keyframes fanui-slide-in-start{from{opacity:0;transform:translateX(-16px)}
|
|
177
|
+
to{opacity:1;transform:translateX(0)}}@keyframes fanui-slide-in-end{from{opacity:0;transform:translateX(16px)}
|
|
178
|
+
to{opacity:1;transform:translateX(0)}}@keyframes fanui-zoom-in{from{opacity:0;transform:scale(0.94)}
|
|
179
|
+
to{opacity:1;transform:scale(1)}}@keyframes fanui-zoom-out{from{opacity:1;transform:scale(1)}
|
|
180
|
+
to{opacity:0;transform:scale(0.94)}}@keyframes fanui-pop-in{from{opacity:0;transform:scale(0.86) translateY(8px)}
|
|
181
|
+
60%{opacity:1;transform:scale(1.02) translateY(0)}
|
|
182
|
+
to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fanui-spin{to{transform:rotate(360deg)}}@keyframes fanui-pulse{0%,100%{opacity:1}
|
|
183
|
+
50%{opacity:0.45}}@keyframes fanui-bounce{0%,100%{transform:translateY(0)}
|
|
184
|
+
50%{transform:translateY(-6px)}}@keyframes fanui-shake{0%,100%{transform:translateX(0)}
|
|
185
|
+
20%{transform:translateX(-6px)}
|
|
186
|
+
40%{transform:translateX(6px)}
|
|
187
|
+
60%{transform:translateX(-4px)}
|
|
188
|
+
80%{transform:translateX(4px)}}@keyframes fanui-progress-stripes{from{background-position:1rem 0}
|
|
189
|
+
to{background-position:0 0}}@keyframes fanui-progress-indeterminate{0%{left:-35%;width:35%}
|
|
190
|
+
60%{left:100%;width:60%}
|
|
191
|
+
100%{left:100%;width:60%}}@keyframes fanui-skeleton-shimmer{from{background-position:200% 0}
|
|
192
|
+
to{background-position:-200% 0}}@keyframes fanui-toast-in{from{opacity:0;transform:translateY(-8px) scale(0.98)}
|
|
193
|
+
to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fanui-ripple{from{transform:scale(0);opacity:0.45}
|
|
194
|
+
to{transform:scale(2.6);opacity:0}}@keyframes fanui-blink{0%,100%{opacity:1}
|
|
195
|
+
50%{opacity:0}}
|
|
196
|
+
.fanui-animate-fade-in{animation-name:fanui-fade-in;animation-duration:200ms;animation-timing-function:cubic-bezier(0,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
197
|
+
.fanui-animate-fade-out{animation-name:fanui-fade-out;animation-duration:200ms;animation-timing-function:cubic-bezier(0.4,0,1,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
198
|
+
.fanui-animate-slide-in-up{animation-name:fanui-slide-in-up;animation-duration:300ms;animation-timing-function:cubic-bezier(0,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
199
|
+
.fanui-animate-slide-in-down{animation-name:fanui-slide-in-down;animation-duration:300ms;animation-timing-function:cubic-bezier(0,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
200
|
+
.fanui-animate-slide-in-start{animation-name:fanui-slide-in-start;animation-duration:300ms;animation-timing-function:cubic-bezier(0,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
201
|
+
.fanui-animate-slide-in-end{animation-name:fanui-slide-in-end;animation-duration:300ms;animation-timing-function:cubic-bezier(0,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
202
|
+
.fanui-animate-zoom-in{animation-name:fanui-zoom-in;animation-duration:200ms;animation-timing-function:cubic-bezier(0,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
203
|
+
.fanui-animate-zoom-out{animation-name:fanui-zoom-out;animation-duration:200ms;animation-timing-function:cubic-bezier(0.4,0,1,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
204
|
+
.fanui-animate-pop-in{animation-name:fanui-pop-in;animation-duration:300ms;animation-timing-function:cubic-bezier(0.34,1.56,0.64,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
205
|
+
.fanui-animate-spin{animation-name:fanui-spin;animation-duration:900ms;animation-timing-function:linear;animation-fill-mode:infinite;animation-iteration-count:1}
|
|
206
|
+
.fanui-animate-pulse{animation-name:fanui-pulse;animation-duration:1.6s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-fill-mode:infinite;animation-iteration-count:1}
|
|
207
|
+
.fanui-animate-bounce{animation-name:fanui-bounce;animation-duration:1s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-fill-mode:infinite;animation-iteration-count:1}
|
|
208
|
+
.fanui-animate-shake{animation-name:fanui-shake;animation-duration:420ms;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-fill-mode:both;animation-iteration-count:1}
|
|
209
|
+
.fanui-animate-blink{animation-name:fanui-blink;animation-duration:1s;animation-timing-function:step-end;animation-fill-mode:infinite;animation-iteration-count:1}
|
|
210
|
+
.fanui-animate-spin,.fanui-animate-pulse,.fanui-animate-bounce,.fanui-animate-blink{animation-iteration-count:infinite}
|
|
211
|
+
.fanui-animate-infinite{animation-iteration-count:infinite}
|
|
212
|
+
.fanui-animate-once{animation-iteration-count:1}
|
|
213
|
+
.fanui-duration-instant{animation-duration:100ms;transition-duration:100ms}
|
|
214
|
+
.fanui-duration-fast{animation-duration:150ms;transition-duration:150ms}
|
|
215
|
+
.fanui-duration-base{animation-duration:200ms;transition-duration:200ms}
|
|
216
|
+
.fanui-duration-slow{animation-duration:300ms;transition-duration:300ms}
|
|
217
|
+
.fanui-duration-slower{animation-duration:500ms;transition-duration:500ms}
|
|
218
|
+
.fanui-ease-linear{animation-timing-function:linear;transition-timing-function:linear}
|
|
219
|
+
.fanui-ease-in{animation-timing-function:cubic-bezier(0.4,0,1,1);transition-timing-function:cubic-bezier(0.4,0,1,1)}
|
|
220
|
+
.fanui-ease-out{animation-timing-function:cubic-bezier(0,0,0.2,1);transition-timing-function:cubic-bezier(0,0,0.2,1)}
|
|
221
|
+
.fanui-ease-in-out{animation-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}
|
|
222
|
+
.fanui-ease-spring{animation-timing-function:cubic-bezier(0.34,1.56,0.64,1);transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)}
|
|
223
|
+
.fanui-delay-75{animation-delay:75ms}
|
|
224
|
+
.fanui-delay-150{animation-delay:150ms}
|
|
225
|
+
.fanui-delay-300{animation-delay:300ms}
|
|
226
|
+
.fanui-delay-500{animation-delay:500ms}
|
|
227
|
+
.fanui-paused{animation-play-state:paused}
|
|
228
|
+
.fanui-running{animation-play-state:running}
|
|
229
|
+
.fanui-transition-all{transition:all 200ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
230
|
+
.fanui-transition-color{transition:color 200ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
231
|
+
.fanui-transition-background-color{transition:background-color 200ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
232
|
+
.fanui-transition-border-color{transition:border-color 200ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
233
|
+
.fanui-transition-box-shadow{transition:box-shadow 200ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
234
|
+
.fanui-transition-opacity{transition:opacity 200ms cubic-bezier(0.4,0,0.2,1) 0s}
|
|
235
|
+
.fanui-transition-transform{transition:transform 200ms cubic-bezier(0.4,0,0.2,1) 0s}@media (prefers-reduced-motion:reduce){.fanui-animate-fade-in,.fanui-animate-fade-out,.fanui-animate-slide-in-up,.fanui-animate-slide-in-down,.fanui-animate-slide-in-start,.fanui-animate-slide-in-end,.fanui-animate-zoom-in,.fanui-animate-zoom-out,.fanui-animate-pop-in,.fanui-animate-shake{animation:none !important;opacity:1 !important;transform:none !important}
|
|
236
|
+
.fanui-animate-spin,.fanui-animate-pulse,.fanui-animate-bounce,.fanui-animate-blink{animation-duration:3s !important}}
|