@xihan-ui/styles 1.0.0-alpha.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.
Files changed (114) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/LICENSE +21 -0
  3. package/README.md +27 -0
  4. package/css/accordion.css +108 -0
  5. package/css/affix.css +27 -0
  6. package/css/alert.css +108 -0
  7. package/css/anchor.css +137 -0
  8. package/css/avatar-group.css +82 -0
  9. package/css/avatar.css +55 -0
  10. package/css/back-top.css +61 -0
  11. package/css/badge.css +50 -0
  12. package/css/breadcrumb.css +127 -0
  13. package/css/button-group.css +131 -0
  14. package/css/button.css +98 -0
  15. package/css/calendar.css +219 -0
  16. package/css/card.css +116 -0
  17. package/css/carousel.css +193 -0
  18. package/css/cascader.css +397 -0
  19. package/css/checkbox-group.css +185 -0
  20. package/css/checkbox.css +91 -0
  21. package/css/clipboard.css +133 -0
  22. package/css/code-block.css +81 -0
  23. package/css/collapsible.css +63 -0
  24. package/css/color-picker.css +424 -0
  25. package/css/combobox.css +433 -0
  26. package/css/composer.css +127 -0
  27. package/css/context-menu.css +263 -0
  28. package/css/countdown.css +21 -0
  29. package/css/date-field.css +200 -0
  30. package/css/date-picker.css +231 -0
  31. package/css/descriptions.css +200 -0
  32. package/css/dialog.css +127 -0
  33. package/css/drawer.css +372 -0
  34. package/css/dynamic-input.css +157 -0
  35. package/css/editable.css +249 -0
  36. package/css/ellipsis.css +41 -0
  37. package/css/empty-state.css +78 -0
  38. package/css/field.css +65 -0
  39. package/css/file-upload.css +298 -0
  40. package/css/flex.css +95 -0
  41. package/css/float-button.css +121 -0
  42. package/css/form.css +185 -0
  43. package/css/gradient-text.css +62 -0
  44. package/css/grid.css +428 -0
  45. package/css/highlight.css +21 -0
  46. package/css/hover-card.css +146 -0
  47. package/css/icon-wrapper.css +64 -0
  48. package/css/icon.css +54 -0
  49. package/css/image.css +45 -0
  50. package/css/infinite-scroll.css +22 -0
  51. package/css/layers.css +2 -0
  52. package/css/layout.css +169 -0
  53. package/css/list.css +117 -0
  54. package/css/listbox.css +174 -0
  55. package/css/loading-bar.css +66 -0
  56. package/css/log.css +66 -0
  57. package/css/marquee.css +182 -0
  58. package/css/mention.css +222 -0
  59. package/css/menu.css +144 -0
  60. package/css/menubar.css +271 -0
  61. package/css/motion.css +58 -0
  62. package/css/navigation-menu.css +270 -0
  63. package/css/number-animation.css +32 -0
  64. package/css/number-field.css +219 -0
  65. package/css/page-header.css +85 -0
  66. package/css/pagination.css +148 -0
  67. package/css/pin-input.css +157 -0
  68. package/css/popconfirm.css +150 -0
  69. package/css/popover.css +150 -0
  70. package/css/popselect.css +207 -0
  71. package/css/progress.css +37 -0
  72. package/css/qr-code.css +50 -0
  73. package/css/radio-group.css +101 -0
  74. package/css/rating.css +141 -0
  75. package/css/reset.css +22 -0
  76. package/css/result.css +104 -0
  77. package/css/scroll-area.css +176 -0
  78. package/css/select.css +264 -0
  79. package/css/separator.css +17 -0
  80. package/css/skeleton.css +78 -0
  81. package/css/slider.css +197 -0
  82. package/css/spinner.css +74 -0
  83. package/css/splitter.css +127 -0
  84. package/css/statistic.css +67 -0
  85. package/css/steps.css +252 -0
  86. package/css/switch.css +61 -0
  87. package/css/table.css +404 -0
  88. package/css/tabs.css +157 -0
  89. package/css/tags-input.css +360 -0
  90. package/css/text-field.css +195 -0
  91. package/css/thread.css +107 -0
  92. package/css/time-field.css +200 -0
  93. package/css/time-picker.css +347 -0
  94. package/css/time.css +20 -0
  95. package/css/timeline.css +284 -0
  96. package/css/toast.css +195 -0
  97. package/css/toaster.css +69 -0
  98. package/css/toggle-group.css +160 -0
  99. package/css/toggle.css +103 -0
  100. package/css/tone.css +85 -0
  101. package/css/toolbar.css +114 -0
  102. package/css/tooltip.css +109 -0
  103. package/css/tour.css +305 -0
  104. package/css/transfer.css +318 -0
  105. package/css/tree-select.css +441 -0
  106. package/css/tree.css +204 -0
  107. package/css/typography.css +151 -0
  108. package/css/undefined.css +38 -0
  109. package/css/virtualizer.css +104 -0
  110. package/css/visually-hidden.css +13 -0
  111. package/css/watermark.css +48 -0
  112. package/index.css +113 -0
  113. package/index.unlayered.css +16164 -0
  114. package/package.json +163 -0
@@ -0,0 +1,151 @@
1
+ @layer xihan.components {
2
+ [data-scope='typography'][data-part='root'] {
3
+ /* 尺寸档只换这几个私有槽,各段从根上继承它们,换档不必给每个部件各写一条选择器 */
4
+ --xh-_typography-body-size: var(--xh-text-body-size);
5
+ --xh-_typography-block-gap: var(--xh-space-4);
6
+ --xh-_typography-heading-gap: var(--xh-space-6);
7
+ --xh-_typography-h1: var(--xh-font-size-3xl);
8
+ --xh-_typography-h2: var(--xh-font-size-2xl);
9
+ --xh-_typography-h3: var(--xh-font-size-xl);
10
+ --xh-_typography-h4: var(--xh-font-size-lg);
11
+ --xh-_typography-h5: var(--xh-font-size-md);
12
+ --xh-_typography-h6: var(--xh-font-size-sm);
13
+ /* 读行宽度:整块正文不收窄就会拉成一行行难读的长句 */
14
+ --xh-_typography-measure: 68ch;
15
+ /* 行内代码跟着所在那行的字号缩,用相对单位而不是档位 */
16
+ --xh-_typography-code-size: 0.9em;
17
+
18
+ /* 建块级格式化上下文,段落的外边距不越过根往外塌 */
19
+ display: flow-root;
20
+ max-inline-size: var(--xh-typography-measure, var(--xh-_typography-measure));
21
+ color: var(--xh-typography-fg, var(--xh-fg-default));
22
+ font-size: var(--xh-typography-font-size, var(--xh-_typography-body-size));
23
+ font-weight: var(--xh-typography-font-weight, var(--xh-text-body-weight));
24
+ line-height: var(--xh-typography-leading, var(--xh-text-body-leading));
25
+ }
26
+
27
+ /* 上面声明了 display,会盖掉 UA 的 [hidden] 规则,收起态要在这里接回来 */
28
+ [data-scope='typography'][data-part='root'][hidden] {
29
+ display: none;
30
+ }
31
+
32
+ /* —— 尺寸 —— */
33
+ /* 小档整体降一级字号档位 */
34
+ [data-scope='typography'][data-part='root'][data-size='sm'] {
35
+ --xh-_typography-body-size: var(--xh-font-size-sm);
36
+ --xh-_typography-block-gap: var(--xh-space-3);
37
+ --xh-_typography-heading-gap: var(--xh-space-5);
38
+ --xh-_typography-h1: var(--xh-font-size-2xl);
39
+ --xh-_typography-h2: var(--xh-font-size-xl);
40
+ --xh-_typography-h3: var(--xh-font-size-lg);
41
+ --xh-_typography-h4: var(--xh-font-size-md);
42
+ --xh-_typography-h5: var(--xh-font-size-sm);
43
+ --xh-_typography-h6: var(--xh-font-size-xs);
44
+ }
45
+
46
+ /* 大档只放大正文与段距:标题档位在 3xl 见顶,六档保持原样 */
47
+ [data-scope='typography'][data-part='root'][data-size='lg'] {
48
+ --xh-_typography-body-size: var(--xh-font-size-lg);
49
+ --xh-_typography-block-gap: var(--xh-space-5);
50
+ --xh-_typography-heading-gap: var(--xh-space-8);
51
+ }
52
+
53
+ /* —— 块级段落 —— */
54
+ /* 库里没有全局 preflight,作者写的 hN / p 带着 UA 外边距,在这儿抹平 */
55
+ [data-scope='typography'][data-part='heading'],
56
+ [data-scope='typography'][data-part='paragraph'] {
57
+ margin: 0;
58
+ }
59
+
60
+ [data-scope='typography'][data-part='heading'] {
61
+ color: var(--xh-typography-heading-fg, var(--xh-fg-default));
62
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h3));
63
+ font-weight: var(--xh-typography-heading-font-weight, var(--xh-font-weight-semibold));
64
+ line-height: var(--xh-typography-heading-leading, var(--xh-leading-tight));
65
+ /* 标题折行时把各行拉得一样长 */
66
+ text-wrap: balance;
67
+ }
68
+
69
+ /* —— 标题档位 —— */
70
+ /* 使用者槽位排在档位之前:写死一个值即盖过全部六档 */
71
+ [data-scope='typography'][data-part='heading'][data-level='1'] {
72
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h1));
73
+ }
74
+
75
+ [data-scope='typography'][data-part='heading'][data-level='2'] {
76
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h2));
77
+ }
78
+
79
+ [data-scope='typography'][data-part='heading'][data-level='3'] {
80
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h3));
81
+ }
82
+
83
+ [data-scope='typography'][data-part='heading'][data-level='4'] {
84
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h4));
85
+ }
86
+
87
+ [data-scope='typography'][data-part='heading'][data-level='5'] {
88
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h5));
89
+ }
90
+
91
+ [data-scope='typography'][data-part='heading'][data-level='6'] {
92
+ font-size: var(--xh-typography-heading-font-size, var(--xh-_typography-h6));
93
+ }
94
+
95
+ /* —— 段间距 —— */
96
+ /* 间距画在后一块的上边,块与块之间只留一份,正文末尾也不多出一截 */
97
+ [data-scope='typography']:is([data-part='heading'], [data-part='paragraph'])
98
+ + [data-scope='typography']:is([data-part='heading'], [data-part='paragraph']) {
99
+ margin-block-start: var(--xh-typography-block-gap, var(--xh-_typography-block-gap));
100
+ }
101
+
102
+ /* 标题上面留得更开,它带起的是下面一整段 */
103
+ [data-scope='typography']:is([data-part='heading'], [data-part='paragraph'])
104
+ + [data-scope='typography'][data-part='heading'] {
105
+ margin-block-start: var(--xh-typography-heading-gap, var(--xh-_typography-heading-gap));
106
+ }
107
+
108
+ /* —— 行内文字 —— */
109
+ /* 不写形态与语气时就是一段普通正文,这里只声明形态各自加的那一层 */
110
+ [data-scope='typography'][data-part='text'][data-variant='muted'] {
111
+ color: var(--xh-typography-text-fg, var(--xh-fg-muted));
112
+ }
113
+
114
+ [data-scope='typography'][data-part='text'][data-variant='strong'] {
115
+ font-weight: var(--xh-typography-text-font-weight, var(--xh-font-weight-semibold));
116
+ }
117
+
118
+ [data-scope='typography'][data-part='text'][data-variant='code'] {
119
+ padding-block: var(--xh-typography-code-py, var(--xh-space-0_5));
120
+ padding-inline: var(--xh-typography-code-px, var(--xh-space-1));
121
+ border-radius: var(--xh-typography-code-radius, var(--xh-radius-sm));
122
+ background: var(--xh-typography-code-bg, var(--xh-bg-subtle));
123
+ font-family: var(--xh-font-family-mono);
124
+ font-size: var(--xh-typography-code-font-size, var(--xh-_typography-code-size));
125
+ }
126
+
127
+ /* 语气排在形态之后:两个轴一起写时,用哪族颜色由语气说了算 */
128
+ [data-scope='typography'][data-part='text'][data-tone] {
129
+ color: var(--xh-typography-text-fg, var(--xh-_tone-fg));
130
+ }
131
+
132
+ /* —— 行内链接 —— */
133
+ [data-scope='typography'][data-part='link'] {
134
+ border-radius: var(--xh-typography-link-radius, var(--xh-radius-sm));
135
+ color: var(--xh-typography-link-fg, var(--xh-fg-brand));
136
+ text-decoration: underline;
137
+ text-underline-offset: var(--xh-typography-link-underline-offset, var(--xh-space-0_5));
138
+ }
139
+
140
+ /* 悬停只在能用指针的设备上生效,触摸端不留一个按不掉的悬停态 */
141
+ @media (hover: hover) {
142
+ [data-scope='typography'][data-part='link']:hover {
143
+ color: var(--xh-typography-link-fg-hover, var(--xh-fg-brand-strong));
144
+ }
145
+ }
146
+
147
+ [data-scope='typography'][data-part='link']:focus-visible {
148
+ outline: var(--xh-ring-width) solid var(--xh-ring-focus);
149
+ outline-offset: var(--xh-ring-offset);
150
+ }
151
+ }
@@ -0,0 +1,38 @@
1
+ /*
2
+ * 元素升级前的形态。
3
+ *
4
+ * 收起态由元素在 wire() 里用内联 display 做,而 data-scope / data-part 也是那一刻才打上,
5
+ * 所以 JS 到达之前浮层子树既没有皮肤也没有收起——内容会以裸文本堆在页面流里,
6
+ * 并被搜索引擎与读屏当作正文。SSR / SSG 直出时这段时间尤其长。
7
+ *
8
+ * 这里按作者写的 data-xh-part 选中,那是升级前唯一存在的标记。
9
+ */
10
+ @layer xihan.components {
11
+ :where(
12
+ xh-cascader,
13
+ xh-color-picker,
14
+ xh-combobox,
15
+ xh-context-menu,
16
+ xh-date-picker,
17
+ xh-dialog,
18
+ xh-drawer,
19
+ xh-hover-card,
20
+ xh-menu,
21
+ xh-menubar,
22
+ xh-navigation-menu,
23
+ xh-popover,
24
+ xh-select,
25
+ xh-time-picker,
26
+ xh-tooltip,
27
+ xh-tour,
28
+ xh-tree-select
29
+ ):not(:defined)
30
+ :where(
31
+ [data-xh-part='backdrop'],
32
+ [data-xh-part='content'],
33
+ [data-xh-part='positioner'],
34
+ [data-xh-part='viewport']
35
+ ) {
36
+ display: none;
37
+ }
38
+ }
@@ -0,0 +1,104 @@
1
+ @layer xihan.components {
2
+ /* 定位分工:条目在**主轴**上的位移、以及 content 在主轴上的总长,
3
+ 由连接层每帧写进内联样式(竖向是 inset-block-start / block-size,横向是
4
+ inset-inline-start / inline-size)。这份皮肤一个都不碰:内联优先级高于样式表,
5
+ 写了不但是死声明,换向的那一帧还会跟连接层清空另一轴的动作抢位置。
6
+ 皮肤只管另一条轴(交叉轴)、滚动能力与焦点表现。
7
+
8
+ 刻意不写任何过渡与动画:条目的位移每帧都在变,一加过渡整列就永远追在滚动后面;
9
+ 条目的进出走的是 [hidden](display:none),也没有退场动画可言。
10
+
11
+ 主轴尺寸这里同样不给:给了就把动态测量钉死在这个值上——量到的永远等于钉上去的,
12
+ measureElement 再也收敛不了。等高列表由作者按 api 给出的 size 自己写。 */
13
+
14
+ [data-scope='virtualizer'][data-part='root'] {
15
+ display: block;
16
+ /* 作者给 root 定了尺寸后,长列表不该漫出这个框 */
17
+ overflow: hidden;
18
+ }
19
+
20
+ /* 真正滚动的那层。滚动能力一点不减——键盘(PageUp/PageDown、方向键、Home/End)
21
+ 与滚轮走的都还是浏览器原生通路,组件只是跟着滚动量换一批该渲的下标。 */
22
+ [data-scope='virtualizer'][data-part='viewport'] {
23
+ display: block;
24
+ inline-size: 100%;
25
+ block-size: 100%;
26
+ /* 逻辑等价物 overflow-inline / overflow-block 至今只有个别引擎实现,
27
+ 这两条是本文件里仅有的物理属性,换成逻辑写法会在多数浏览器上直接失效 */
28
+ overflow-x: auto;
29
+ overflow-y: auto;
30
+ /* 滚到尽头时不把剩余的滚动传给外层:长列表嵌在页面里时,
31
+ 滚到底还继续带着整页走会让人找不着北 */
32
+ overscroll-behavior: contain;
33
+ }
34
+
35
+ /* 单向列表把另一条轴关掉:那一向既没有内容也没有位移,能滚就成了滚不回来的暗格 */
36
+ [data-scope='virtualizer'][data-part='viewport'][data-orientation='vertical'] {
37
+ overflow-x: hidden;
38
+ }
39
+
40
+ [data-scope='virtualizer'][data-part='viewport'][data-orientation='horizontal'] {
41
+ overflow-y: hidden;
42
+ }
43
+
44
+ /* 视口带 tabindex=0(长列表里可能一个可聚焦元素都没有),因此要有焦点环。
45
+ 偏移取负:环画在视口内侧,否则会被 root 的 overflow:hidden 裁掉半圈 */
46
+ [data-scope='virtualizer'][data-part='viewport']:focus-visible {
47
+ outline: var(--xh-ring-width) solid var(--xh-ring-focus);
48
+ outline-offset: calc(-1 * var(--xh-ring-width));
49
+ }
50
+
51
+ /* 撑出总长的那层,同时是条目的定位上下文——条目是绝对定位的,
52
+ 没有它就会以最近的定位祖先(多半是页面某处)为参照,整列飘走。 */
53
+ [data-scope='virtualizer'][data-part='content'] {
54
+ position: relative;
55
+ display: block;
56
+ inline-size: 100%;
57
+ }
58
+
59
+ /* 主轴长度来自内联样式,交叉轴铺满视口 */
60
+ [data-scope='virtualizer'][data-part='content'][data-orientation='horizontal'] {
61
+ inline-size: auto;
62
+ block-size: 100%;
63
+ }
64
+
65
+ /* 条目。主轴位移来自内联样式,这里只给定位模式与单列时的交叉轴。
66
+ 多列(lanes > 1)时交叉轴改由连接层写进内联样式,会盖过下面这两条。 */
67
+ [data-scope='virtualizer'][data-part='item'] {
68
+ position: absolute;
69
+ display: block;
70
+ box-sizing: border-box;
71
+ }
72
+
73
+ [data-scope='virtualizer'][data-part='item'][data-orientation='vertical'] {
74
+ inset-inline-start: 0;
75
+ inline-size: 100%;
76
+ }
77
+
78
+ [data-scope='virtualizer'][data-part='item'][data-orientation='horizontal'] {
79
+ inset-block-start: 0;
80
+ block-size: 100%;
81
+ }
82
+
83
+ /* 除视口外全是纯容器:既不进 Tab 序列也不承载焦点,作者若给它们加了 tabindex,
84
+ 该显形的也该是视口那圈环,不是这里再多画一圈。
85
+ 条目内部的可聚焦内容(按钮、链接)有它们自己的焦点环,不受这条影响。 */
86
+ [data-scope='virtualizer'][data-part='root']:focus-visible,
87
+ [data-scope='virtualizer'][data-part='content']:focus-visible,
88
+ [data-scope='virtualizer'][data-part='item']:focus-visible {
89
+ outline: none;
90
+ }
91
+
92
+ /* root 上还有一个 data-scrolling 标记(手正在滚时在场)。这份皮肤刻意不用它:
93
+ 滚动期间关掉 pointer-events 之类的常见招数会让"滚一下就点"落空,
94
+ 留给作者按自己的取舍去接。 */
95
+
96
+ /* display 会盖掉 UA 的 [hidden]{display:none},凡是被赋了 display 的角色节点都要显式让位。
97
+ 连接层只在条目上写 hidden(不在窗口里的那些),其余三个是防作者自己写 hidden */
98
+ [data-scope='virtualizer'][data-part='root'][hidden],
99
+ [data-scope='virtualizer'][data-part='viewport'][hidden],
100
+ [data-scope='virtualizer'][data-part='content'][hidden],
101
+ [data-scope='virtualizer'][data-part='item'][hidden] {
102
+ display: none;
103
+ }
104
+ }
@@ -0,0 +1,13 @@
1
+ @layer xihan.components {
2
+ .xh-visually-hidden {
3
+ position: absolute;
4
+ inline-size: 1px;
5
+ block-size: 1px;
6
+ padding: 0;
7
+ margin: -1px;
8
+ overflow: hidden;
9
+ clip-path: inset(50%);
10
+ white-space: nowrap;
11
+ border: 0;
12
+ }
13
+ }
@@ -0,0 +1,48 @@
1
+ @layer xihan.components {
2
+ /*
3
+ * 盖水印的那块地。层叠上下文就地隔离,印子只压在这块地里,不会盖到组件外面去。
4
+ */
5
+ [data-scope='watermark'][data-part='root'] {
6
+ position: relative;
7
+ isolation: isolate;
8
+ }
9
+
10
+ /* 被盖住的内容排在印子下面 */
11
+ [data-scope='watermark'][data-part='content'] {
12
+ position: relative;
13
+ z-index: 0;
14
+ }
15
+
16
+ /*
17
+ * 印子。图样由连接层算成一张 SVG,这里当遮罩用而不是当背景图铺:
18
+ * 遮罩只取图样的透明度,颜色从下面这个槽来,深浅主题各自跟着走;
19
+ * 当背景图铺就得把颜色写死在 SVG 里,换主题时那张图不会跟着变。
20
+ * 两条前缀都写:一部分 WebKit 只认带前缀那条。
21
+ *
22
+ * 没有可印的文字时 root 落 data-state="empty",整层不画。
23
+ */
24
+ [data-scope='watermark'][data-part='root'][data-state='ready']::after {
25
+ content: '';
26
+
27
+ position: absolute;
28
+ z-index: 1;
29
+ inset: 0;
30
+
31
+ /* 它只是一层印子:不吃点击,底下的内容照常点、照常选 */
32
+ pointer-events: none;
33
+ background-color: var(--xh-watermark-fg, var(--xh-fg-muted));
34
+ -webkit-mask-image: var(--xh-watermark-image, none);
35
+ mask-image: var(--xh-watermark-image, none);
36
+ -webkit-mask-repeat: repeat;
37
+ mask-repeat: repeat;
38
+ -webkit-mask-size: var(--xh-watermark-tile, auto);
39
+ mask-size: var(--xh-watermark-tile, auto);
40
+ }
41
+
42
+ /* 遮罩不支持时整层不画:只剩底色的话,盖上去的会是一整块实心色 */
43
+ @supports not ((mask-image: none) or (-webkit-mask-image: none)) {
44
+ [data-scope='watermark'][data-part='root'][data-state='ready']::after {
45
+ display: none;
46
+ }
47
+ }
48
+ }
package/index.css ADDED
@@ -0,0 +1,113 @@
1
+ /* 令牌先于一切:皮肤里不写兜底值,令牌缺席就是缺陷,不是降级。
2
+ tokens.css 自带 @layer xihan.tokens,层序由 layers.css 定。 */
3
+ @import '@xihan-ui/tokens/tokens.css';
4
+
5
+ /* 层序声明必须最先,其余按层归属排列。 */
6
+ @import './css/affix.css';
7
+ @import './css/avatar-group.css';
8
+ @import './css/back-top.css';
9
+ @import './css/button-group.css';
10
+ @import './css/countdown.css';
11
+ @import './css/descriptions.css';
12
+ @import './css/dynamic-input.css';
13
+ @import './css/ellipsis.css';
14
+ @import './css/flex.css';
15
+ @import './css/float-button.css';
16
+ @import './css/gradient-text.css';
17
+ @import './css/grid.css';
18
+ @import './css/highlight.css';
19
+ @import './css/icon-wrapper.css';
20
+ @import './css/infinite-scroll.css';
21
+ @import './css/layers.css';
22
+ @import './css/layout.css';
23
+ @import './css/list.css';
24
+ @import './css/log.css';
25
+ @import './css/marquee.css';
26
+ @import './css/mention.css';
27
+ @import './css/number-animation.css';
28
+ @import './css/page-header.css';
29
+ @import './css/popconfirm.css';
30
+ @import './css/popselect.css';
31
+ @import './css/qr-code.css';
32
+ @import './css/reset.css';
33
+ @import './css/motion.css';
34
+ @import './css/result.css';
35
+ @import './css/statistic.css';
36
+ @import './css/time.css';
37
+ @import './css/timeline.css';
38
+ @import './css/typography.css';
39
+ @import './css/undefined.css';
40
+ @import './css/visually-hidden.css';
41
+ @import './css/tone.css';
42
+ @import './css/alert.css';
43
+ @import './css/empty-state.css';
44
+ @import './css/skeleton.css';
45
+ @import './css/spinner.css';
46
+ @import './css/accordion.css';
47
+ @import './css/anchor.css';
48
+ @import './css/avatar.css';
49
+ @import './css/badge.css';
50
+ @import './css/breadcrumb.css';
51
+ @import './css/button.css';
52
+ @import './css/calendar.css';
53
+ @import './css/card.css';
54
+ @import './css/carousel.css';
55
+ @import './css/cascader.css';
56
+ @import './css/checkbox.css';
57
+ @import './css/checkbox-group.css';
58
+ @import './css/clipboard.css';
59
+ @import './css/code-block.css';
60
+ @import './css/collapsible.css';
61
+ @import './css/color-picker.css';
62
+ @import './css/combobox.css';
63
+ @import './css/composer.css';
64
+ @import './css/context-menu.css';
65
+ @import './css/date-field.css';
66
+ @import './css/date-picker.css';
67
+ @import './css/dialog.css';
68
+ @import './css/drawer.css';
69
+ @import './css/editable.css';
70
+ @import './css/field.css';
71
+ @import './css/file-upload.css';
72
+ @import './css/form.css';
73
+ @import './css/hover-card.css';
74
+ @import './css/icon.css';
75
+ @import './css/image.css';
76
+ @import './css/listbox.css';
77
+ @import './css/loading-bar.css';
78
+ @import './css/menu.css';
79
+ @import './css/menubar.css';
80
+ @import './css/navigation-menu.css';
81
+ @import './css/number-field.css';
82
+ @import './css/pagination.css';
83
+ @import './css/pin-input.css';
84
+ @import './css/popover.css';
85
+ @import './css/progress.css';
86
+ @import './css/radio-group.css';
87
+ @import './css/rating.css';
88
+ @import './css/scroll-area.css';
89
+ @import './css/select.css';
90
+ @import './css/separator.css';
91
+ @import './css/slider.css';
92
+ @import './css/splitter.css';
93
+ @import './css/steps.css';
94
+ @import './css/switch.css';
95
+ @import './css/table.css';
96
+ @import './css/tabs.css';
97
+ @import './css/tags-input.css';
98
+ @import './css/text-field.css';
99
+ @import './css/thread.css';
100
+ @import './css/time-field.css';
101
+ @import './css/time-picker.css';
102
+ @import './css/toast.css';
103
+ @import './css/toaster.css';
104
+ @import './css/toggle.css';
105
+ @import './css/toggle-group.css';
106
+ @import './css/toolbar.css';
107
+ @import './css/tooltip.css';
108
+ @import './css/tour.css';
109
+ @import './css/transfer.css';
110
+ @import './css/tree.css';
111
+ @import './css/tree-select.css';
112
+ @import './css/virtualizer.css';
113
+ @import './css/watermark.css';