@julingbase/jly-arco-design 0.0.2 → 0.0.3

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 (424) hide show
  1. package/README.md +2 -8
  2. package/dist/arco-vue-icon.js.map +1 -1
  3. package/dist/arco-vue-icon.min.js.map +1 -1
  4. package/dist/arco-vue.js +30 -6
  5. package/dist/arco-vue.js.map +1 -1
  6. package/dist/arco-vue.min.js +471 -468
  7. package/dist/arco-vue.min.js.map +1 -1
  8. package/es/_components/auto-tooltip/style/index.less +10 -10
  9. package/es/_components/input-label/style/index.less +7 -7
  10. package/es/_components/input-label/style/input-label.less +70 -70
  11. package/es/_components/picker/style/index.less +191 -191
  12. package/es/_components/picker/style/token.less +58 -58
  13. package/es/_components/select-view/style/index.less +58 -58
  14. package/es/_components/select-view/style/token.less +4 -4
  15. package/es/affix/style/index.less +8 -8
  16. package/es/alert/style/index.less +198 -198
  17. package/es/alert/style/token.less +76 -76
  18. package/es/anchor/style/index.less +99 -99
  19. package/es/anchor/style/token.less +30 -30
  20. package/es/auto-complete/style/index.less +44 -44
  21. package/es/auto-complete/style/token.less +29 -29
  22. package/es/avatar/style/index.less +155 -155
  23. package/es/avatar/style/token.less +29 -29
  24. package/es/back-top/style/index.less +33 -33
  25. package/es/back-top/style/token.less +12 -12
  26. package/es/badge/style/index.less +178 -178
  27. package/es/badge/style/token.less +30 -30
  28. package/es/breadcrumb/style/index.less +76 -76
  29. package/es/breadcrumb/style/token.less +24 -24
  30. package/es/button/style/index.less +304 -304
  31. package/es/button/style/token.less +459 -459
  32. package/es/calendar/style/index.less +479 -479
  33. package/es/calendar/style/token.less +62 -62
  34. package/es/card/style/index.less +219 -219
  35. package/es/card/style/token.less +40 -40
  36. package/es/carousel/style/index.less +405 -405
  37. package/es/carousel/style/slide.less +175 -175
  38. package/es/carousel/style/token.less +33 -33
  39. package/es/cascader/style/index.less +234 -234
  40. package/es/cascader/style/token.less +24 -24
  41. package/es/checkbox/style/index.less +182 -182
  42. package/es/checkbox/style/token.less +37 -37
  43. package/es/collapse/style/index.less +180 -180
  44. package/es/collapse/style/token.less +34 -34
  45. package/es/color-picker/style/index.less +309 -309
  46. package/es/color-picker/style/token.less +70 -70
  47. package/es/comment/style/index.less +66 -66
  48. package/es/comment/style/token.less +17 -17
  49. package/es/date-picker/index.d.ts +1 -1
  50. package/es/date-picker/picker.d.ts +1 -1
  51. package/es/date-picker/range-picker.d.ts +1 -1
  52. package/es/date-picker/style/date.less +128 -128
  53. package/es/date-picker/style/index.less +309 -309
  54. package/es/date-picker/style/month.less +26 -26
  55. package/es/date-picker/style/quarter.less +8 -8
  56. package/es/date-picker/style/range.less +9 -9
  57. package/es/date-picker/style/shortcuts.less +25 -25
  58. package/es/date-picker/style/token.less +76 -76
  59. package/es/date-picker/style/week.less +68 -68
  60. package/es/date-picker/style/year.less +8 -8
  61. package/es/descriptions/descriptions.d.ts +1 -1
  62. package/es/descriptions/index.d.ts +3 -3
  63. package/es/descriptions/style/index.less +159 -159
  64. package/es/descriptions/style/token.less +45 -45
  65. package/es/divider/style/index.less +56 -56
  66. package/es/divider/style/token.less +15 -15
  67. package/es/drawer/style/index.less +230 -230
  68. package/es/drawer/style/token.less +16 -16
  69. package/es/dropdown/context.d.ts +2 -1
  70. package/es/dropdown/dropdown-button.d.ts +12 -3
  71. package/es/dropdown/dropdown-panel.js +18 -4
  72. package/es/dropdown/dropdown.d.ts +12 -3
  73. package/es/dropdown/dropdown.js +12 -2
  74. package/es/dropdown/index.d.ts +33 -9
  75. package/es/dropdown/style/index.less +106 -106
  76. package/es/dropdown/style/token.less +40 -40
  77. package/es/empty/style/index.less +26 -26
  78. package/es/empty/style/token.less +10 -10
  79. package/es/form/style/index.less +257 -257
  80. package/es/form/style/status.less +152 -152
  81. package/es/form/style/token.less +81 -81
  82. package/es/grid/style/col.less +95 -95
  83. package/es/grid/style/grid.less +5 -5
  84. package/es/grid/style/index.less +3 -3
  85. package/es/grid/style/row.less +44 -44
  86. package/es/image/style/image.less +158 -158
  87. package/es/image/style/index.less +5 -5
  88. package/es/image/style/preview.less +227 -227
  89. package/es/image/style/token.less +123 -123
  90. package/es/image/style/trigger.less +14 -14
  91. package/es/input/index.d.ts +4 -4
  92. package/es/input/input-password.d.ts +1 -1
  93. package/es/input/input.d.ts +1 -1
  94. package/es/input/style/group.less +63 -63
  95. package/es/input/style/index.less +121 -121
  96. package/es/input/style/input.less +185 -185
  97. package/es/input/style/password.less +11 -11
  98. package/es/input/style/search.less +18 -18
  99. package/es/input/style/size.less +149 -149
  100. package/es/input/style/textarea.less +37 -37
  101. package/es/input/style/token.less +131 -131
  102. package/es/input-number/style/index.less +160 -160
  103. package/es/input-number/style/token.less +19 -19
  104. package/es/input-tag/style/index.less +40 -40
  105. package/es/input-tag/style/input-tag.less +129 -129
  106. package/es/input-tag/style/token.less +83 -83
  107. package/es/layout/style/index.less +104 -104
  108. package/es/layout/style/token.less +13 -13
  109. package/es/link/style/index.less +120 -120
  110. package/es/link/style/token.less +48 -48
  111. package/es/list/style/index.less +183 -183
  112. package/es/list/style/token.less +55 -55
  113. package/es/mention/index.d.ts +3 -3
  114. package/es/mention/mention.d.ts +1 -1
  115. package/es/mention/style/index.less +21 -21
  116. package/es/mention/style/token.less +6 -6
  117. package/es/menu/style/index.less +622 -622
  118. package/es/menu/style/token.less +117 -117
  119. package/es/message/style/index.less +191 -191
  120. package/es/message/style/token.less +52 -52
  121. package/es/modal/style/index.less +283 -283
  122. package/es/modal/style/token.less +30 -30
  123. package/es/notification/style/index.less +249 -249
  124. package/es/notification/style/token.less +58 -58
  125. package/es/overflow-list/style/index.less +19 -19
  126. package/es/page-header/style/index.less +127 -127
  127. package/es/page-header/style/token.less +30 -30
  128. package/es/pagination/style/index.less +300 -300
  129. package/es/pagination/style/token.less +91 -91
  130. package/es/popconfirm/style/index.less +70 -70
  131. package/es/popconfirm/style/token.less +20 -20
  132. package/es/popover/style/index.less +38 -38
  133. package/es/popover/style/token.less +15 -15
  134. package/es/progress/style/index.less +378 -378
  135. package/es/progress/style/token.less +60 -60
  136. package/es/radio/index.d.ts +4 -4
  137. package/es/radio/radio-group.d.ts +1 -1
  138. package/es/radio/radio.d.ts +1 -1
  139. package/es/radio/style/index.less +266 -266
  140. package/es/radio/style/token.less +55 -55
  141. package/es/rate/style/index.less +87 -87
  142. package/es/rate/style/token.less +13 -13
  143. package/es/resize-box/style/index.less +60 -60
  144. package/es/resize-box/style/token.less +6 -6
  145. package/es/result/style/index.less +94 -94
  146. package/es/result/style/token.less +32 -32
  147. package/es/scrollbar/style/index.less +137 -137
  148. package/es/scrollbar/style/token.less +12 -12
  149. package/es/select/style/index.less +132 -132
  150. package/es/select/style/token.less +43 -43
  151. package/es/skeleton/style/index.less +66 -66
  152. package/es/skeleton/style/token.less +15 -15
  153. package/es/slider/style/index.less +282 -282
  154. package/es/slider/style/token.less +50 -50
  155. package/es/space/style/index.less +50 -50
  156. package/es/spin/style/dot-loading.less +64 -64
  157. package/es/spin/style/index.less +56 -56
  158. package/es/spin/style/token.less +17 -17
  159. package/es/split/style/index.less +53 -53
  160. package/es/split/style/token.less +7 -7
  161. package/es/statistic/style/index.less +47 -47
  162. package/es/statistic/style/token.less +15 -15
  163. package/es/steps/style/arrow.less +212 -212
  164. package/es/steps/style/circle.less +265 -265
  165. package/es/steps/style/dot.less +210 -210
  166. package/es/steps/style/index.less +74 -74
  167. package/es/steps/style/navigation.less +60 -60
  168. package/es/steps/style/token.less +144 -144
  169. package/es/style/animation/fade.less +57 -57
  170. package/es/style/animation/index.less +3 -3
  171. package/es/style/animation/slide.less +158 -158
  172. package/es/style/animation/zoom.less +217 -217
  173. package/es/style/color/colors.less +427 -427
  174. package/es/style/color/css-variables.less +389 -389
  175. package/es/style/color/get-rgb-str.js +17 -17
  176. package/es/style/color/palette-dark.js +10 -10
  177. package/es/style/color/palette.js +10 -10
  178. package/es/style/icon.less +86 -86
  179. package/es/style/index.less +11 -11
  180. package/es/style/mixins/icon-hover.less +14 -14
  181. package/es/style/mixins/index.less +13 -13
  182. package/es/style/normalize.less +353 -353
  183. package/es/style/theme/component.less +21 -21
  184. package/es/style/theme/css-variables.less +146 -146
  185. package/es/style/theme/global.less +416 -416
  186. package/es/style/theme/index.less +42 -42
  187. package/es/switch/index.d.ts +3 -3
  188. package/es/switch/style/index.less +332 -332
  189. package/es/switch/style/token.less +62 -62
  190. package/es/switch/switch.d.ts +1 -1
  191. package/es/table/style/filters-popup.less +51 -51
  192. package/es/table/style/index.less +868 -868
  193. package/es/table/style/token.less +134 -134
  194. package/es/table/table-operation-td.d.ts +4 -4
  195. package/es/tabs/style/index.less +730 -730
  196. package/es/tabs/style/rtl.less +104 -104
  197. package/es/tabs/style/token.less +146 -146
  198. package/es/tabs/style/vertical.less +156 -156
  199. package/es/tag/style/index.less +171 -171
  200. package/es/tag/style/token.less +171 -171
  201. package/es/textarea/style/index.less +64 -64
  202. package/es/time-picker/index.d.ts +3 -3
  203. package/es/time-picker/style/index.less +94 -94
  204. package/es/time-picker/style/token.less +17 -17
  205. package/es/time-picker/time-picker.d.ts +1 -1
  206. package/es/timeline/style/horizontal.less +87 -87
  207. package/es/timeline/style/index.less +272 -272
  208. package/es/timeline/style/token.less +25 -25
  209. package/es/tooltip/style/index.less +24 -24
  210. package/es/tooltip/style/token.less +14 -14
  211. package/es/transfer/style/index.less +294 -294
  212. package/es/transfer/style/token.less +48 -48
  213. package/es/tree/style/index.less +396 -396
  214. package/es/tree/style/token.less +51 -51
  215. package/es/tree-select/style/index.less +49 -49
  216. package/es/tree-select/style/token.less +7 -7
  217. package/es/trigger/style/index.less +57 -57
  218. package/es/trigger/style/token.less +5 -5
  219. package/es/typography/edit-content.d.ts +12 -12
  220. package/es/typography/style/index.less +207 -207
  221. package/es/typography/style/token.less +55 -55
  222. package/es/upload/style/index.less +515 -515
  223. package/es/upload/style/token.less +97 -97
  224. package/es/verification-code/style/index.less +32 -32
  225. package/es/verification-code/style/token.less +1 -1
  226. package/json/vetur-attributes.json +1403 -1399
  227. package/json/vetur-tags.json +573 -572
  228. package/json/web-types.json +4401 -4393
  229. package/lib/_components/auto-tooltip/style/index.less +10 -10
  230. package/lib/_components/input-label/style/index.less +7 -7
  231. package/lib/_components/input-label/style/input-label.less +70 -70
  232. package/lib/_components/picker/style/index.less +191 -191
  233. package/lib/_components/picker/style/token.less +58 -58
  234. package/lib/_components/select-view/style/index.less +58 -58
  235. package/lib/_components/select-view/style/token.less +4 -4
  236. package/lib/affix/style/index.less +8 -8
  237. package/lib/alert/style/index.less +198 -198
  238. package/lib/alert/style/token.less +76 -76
  239. package/lib/anchor/style/index.less +99 -99
  240. package/lib/anchor/style/token.less +30 -30
  241. package/lib/auto-complete/style/index.less +44 -44
  242. package/lib/auto-complete/style/token.less +29 -29
  243. package/lib/avatar/style/index.less +155 -155
  244. package/lib/avatar/style/token.less +29 -29
  245. package/lib/back-top/style/index.less +33 -33
  246. package/lib/back-top/style/token.less +12 -12
  247. package/lib/badge/style/index.less +178 -178
  248. package/lib/badge/style/token.less +30 -30
  249. package/lib/breadcrumb/style/index.less +76 -76
  250. package/lib/breadcrumb/style/token.less +24 -24
  251. package/lib/button/style/index.less +304 -304
  252. package/lib/button/style/token.less +459 -459
  253. package/lib/calendar/style/index.less +479 -479
  254. package/lib/calendar/style/token.less +62 -62
  255. package/lib/card/style/index.less +219 -219
  256. package/lib/card/style/token.less +40 -40
  257. package/lib/carousel/style/index.less +405 -405
  258. package/lib/carousel/style/slide.less +175 -175
  259. package/lib/carousel/style/token.less +33 -33
  260. package/lib/cascader/style/index.less +234 -234
  261. package/lib/cascader/style/token.less +24 -24
  262. package/lib/checkbox/style/index.less +182 -182
  263. package/lib/checkbox/style/token.less +37 -37
  264. package/lib/collapse/style/index.less +180 -180
  265. package/lib/collapse/style/token.less +34 -34
  266. package/lib/color-picker/style/index.less +309 -309
  267. package/lib/color-picker/style/token.less +70 -70
  268. package/lib/comment/style/index.less +66 -66
  269. package/lib/comment/style/token.less +17 -17
  270. package/lib/date-picker/style/date.less +128 -128
  271. package/lib/date-picker/style/index.less +309 -309
  272. package/lib/date-picker/style/month.less +26 -26
  273. package/lib/date-picker/style/quarter.less +8 -8
  274. package/lib/date-picker/style/range.less +9 -9
  275. package/lib/date-picker/style/shortcuts.less +25 -25
  276. package/lib/date-picker/style/token.less +76 -76
  277. package/lib/date-picker/style/week.less +68 -68
  278. package/lib/date-picker/style/year.less +8 -8
  279. package/lib/descriptions/style/index.less +159 -159
  280. package/lib/descriptions/style/token.less +45 -45
  281. package/lib/divider/style/index.less +56 -56
  282. package/lib/divider/style/token.less +15 -15
  283. package/lib/drawer/style/index.less +230 -230
  284. package/lib/drawer/style/token.less +16 -16
  285. package/lib/dropdown/dropdown-panel.js +18 -4
  286. package/lib/dropdown/dropdown.js +12 -2
  287. package/lib/dropdown/style/index.less +106 -106
  288. package/lib/dropdown/style/token.less +40 -40
  289. package/lib/empty/style/index.less +26 -26
  290. package/lib/empty/style/token.less +10 -10
  291. package/lib/form/style/index.less +257 -257
  292. package/lib/form/style/status.less +152 -152
  293. package/lib/form/style/token.less +81 -81
  294. package/lib/grid/style/col.less +95 -95
  295. package/lib/grid/style/grid.less +5 -5
  296. package/lib/grid/style/index.less +3 -3
  297. package/lib/grid/style/row.less +44 -44
  298. package/lib/image/style/image.less +158 -158
  299. package/lib/image/style/index.less +5 -5
  300. package/lib/image/style/preview.less +227 -227
  301. package/lib/image/style/token.less +123 -123
  302. package/lib/image/style/trigger.less +14 -14
  303. package/lib/input/style/group.less +63 -63
  304. package/lib/input/style/index.less +121 -121
  305. package/lib/input/style/input.less +185 -185
  306. package/lib/input/style/password.less +11 -11
  307. package/lib/input/style/search.less +18 -18
  308. package/lib/input/style/size.less +149 -149
  309. package/lib/input/style/textarea.less +37 -37
  310. package/lib/input/style/token.less +131 -131
  311. package/lib/input-number/style/index.less +160 -160
  312. package/lib/input-number/style/token.less +19 -19
  313. package/lib/input-tag/style/index.less +40 -40
  314. package/lib/input-tag/style/input-tag.less +129 -129
  315. package/lib/input-tag/style/token.less +83 -83
  316. package/lib/layout/style/index.less +104 -104
  317. package/lib/layout/style/token.less +13 -13
  318. package/lib/link/style/index.less +120 -120
  319. package/lib/link/style/token.less +48 -48
  320. package/lib/list/style/index.less +183 -183
  321. package/lib/list/style/token.less +55 -55
  322. package/lib/mention/style/index.less +21 -21
  323. package/lib/mention/style/token.less +6 -6
  324. package/lib/menu/style/index.less +622 -622
  325. package/lib/menu/style/token.less +117 -117
  326. package/lib/message/style/index.less +191 -191
  327. package/lib/message/style/token.less +52 -52
  328. package/lib/modal/style/index.less +283 -283
  329. package/lib/modal/style/token.less +30 -30
  330. package/lib/notification/style/index.less +249 -249
  331. package/lib/notification/style/token.less +58 -58
  332. package/lib/overflow-list/style/index.less +19 -19
  333. package/lib/page-header/style/index.less +127 -127
  334. package/lib/page-header/style/token.less +30 -30
  335. package/lib/pagination/style/index.less +300 -300
  336. package/lib/pagination/style/token.less +91 -91
  337. package/lib/popconfirm/style/index.less +70 -70
  338. package/lib/popconfirm/style/token.less +20 -20
  339. package/lib/popover/style/index.less +38 -38
  340. package/lib/popover/style/token.less +15 -15
  341. package/lib/progress/style/index.less +378 -378
  342. package/lib/progress/style/token.less +60 -60
  343. package/lib/radio/style/index.less +266 -266
  344. package/lib/radio/style/token.less +55 -55
  345. package/lib/rate/style/index.less +87 -87
  346. package/lib/rate/style/token.less +13 -13
  347. package/lib/resize-box/style/index.less +60 -60
  348. package/lib/resize-box/style/token.less +6 -6
  349. package/lib/result/style/index.less +94 -94
  350. package/lib/result/style/token.less +32 -32
  351. package/lib/scrollbar/style/index.less +137 -137
  352. package/lib/scrollbar/style/token.less +12 -12
  353. package/lib/select/style/index.less +132 -132
  354. package/lib/select/style/token.less +43 -43
  355. package/lib/skeleton/style/index.less +66 -66
  356. package/lib/skeleton/style/token.less +15 -15
  357. package/lib/slider/style/index.less +282 -282
  358. package/lib/slider/style/token.less +50 -50
  359. package/lib/space/style/index.less +50 -50
  360. package/lib/spin/style/dot-loading.less +64 -64
  361. package/lib/spin/style/index.less +56 -56
  362. package/lib/spin/style/token.less +17 -17
  363. package/lib/split/style/index.less +53 -53
  364. package/lib/split/style/token.less +7 -7
  365. package/lib/statistic/style/index.less +47 -47
  366. package/lib/statistic/style/token.less +15 -15
  367. package/lib/steps/style/arrow.less +212 -212
  368. package/lib/steps/style/circle.less +265 -265
  369. package/lib/steps/style/dot.less +210 -210
  370. package/lib/steps/style/index.less +74 -74
  371. package/lib/steps/style/navigation.less +60 -60
  372. package/lib/steps/style/token.less +144 -144
  373. package/lib/style/animation/fade.less +57 -57
  374. package/lib/style/animation/index.less +3 -3
  375. package/lib/style/animation/slide.less +158 -158
  376. package/lib/style/animation/zoom.less +217 -217
  377. package/lib/style/color/colors.less +427 -427
  378. package/lib/style/color/css-variables.less +389 -389
  379. package/lib/style/color/get-rgb-str.js +17 -17
  380. package/lib/style/color/palette-dark.js +10 -10
  381. package/lib/style/color/palette.js +10 -10
  382. package/lib/style/icon.less +86 -86
  383. package/lib/style/index.less +11 -11
  384. package/lib/style/mixins/icon-hover.less +14 -14
  385. package/lib/style/mixins/index.less +13 -13
  386. package/lib/style/normalize.less +353 -353
  387. package/lib/style/theme/component.less +21 -21
  388. package/lib/style/theme/css-variables.less +146 -146
  389. package/lib/style/theme/global.less +416 -416
  390. package/lib/style/theme/index.less +42 -42
  391. package/lib/switch/style/index.less +332 -332
  392. package/lib/switch/style/token.less +62 -62
  393. package/lib/table/style/filters-popup.less +51 -51
  394. package/lib/table/style/index.less +868 -868
  395. package/lib/table/style/token.less +134 -134
  396. package/lib/tabs/style/index.less +730 -730
  397. package/lib/tabs/style/rtl.less +104 -104
  398. package/lib/tabs/style/token.less +146 -146
  399. package/lib/tabs/style/vertical.less +156 -156
  400. package/lib/tag/style/index.less +171 -171
  401. package/lib/tag/style/token.less +171 -171
  402. package/lib/textarea/style/index.less +64 -64
  403. package/lib/time-picker/style/index.less +94 -94
  404. package/lib/time-picker/style/token.less +17 -17
  405. package/lib/timeline/style/horizontal.less +87 -87
  406. package/lib/timeline/style/index.less +272 -272
  407. package/lib/timeline/style/token.less +25 -25
  408. package/lib/tooltip/style/index.less +24 -24
  409. package/lib/tooltip/style/token.less +14 -14
  410. package/lib/transfer/style/index.less +294 -294
  411. package/lib/transfer/style/token.less +48 -48
  412. package/lib/tree/style/index.less +396 -396
  413. package/lib/tree/style/token.less +51 -51
  414. package/lib/tree-select/style/index.less +49 -49
  415. package/lib/tree-select/style/token.less +7 -7
  416. package/lib/trigger/style/index.less +57 -57
  417. package/lib/trigger/style/token.less +5 -5
  418. package/lib/typography/style/index.less +207 -207
  419. package/lib/typography/style/token.less +55 -55
  420. package/lib/upload/style/index.less +515 -515
  421. package/lib/upload/style/token.less +97 -97
  422. package/lib/verification-code/style/index.less +32 -32
  423. package/lib/verification-code/style/token.less +1 -1
  424. package/package.json +2 -2
@@ -1,730 +1,730 @@
1
- @import './token.less';
2
- @import '../../style/mixins/index';
3
-
4
- @tabs-prefix-cls: ~'@{prefix}-tabs';
5
-
6
- .get-title-padding(@header-height, @font-size, @padding-vertical ) {
7
- // prettier-ignore
8
- @result: max(0, round((@header-height / 2) - @line-height-base * (@font-size / 2) - @padding-vertical));
9
- }
10
-
11
- // tabs icon style
12
-
13
- .icon-hover(@tabs-prefix-cls, @tabs-size-icon, @tabs-size-icon-bg);
14
-
15
- .@{tabs-prefix-cls} {
16
- & &-icon-hover {
17
- color: @tabs-color-icon;
18
- font-size: @tabs-size-icon;
19
- user-select: none;
20
- }
21
-
22
- &-dropdown-icon {
23
- margin-left: @tabs-spacing-nav-icon-header;
24
- font-size: @tabs-size-icon;
25
- user-select: none;
26
- }
27
-
28
- &-tab-close-btn {
29
- margin-left: @tabs-margin-close-icon-left;
30
- user-select: none;
31
- }
32
-
33
- &-nav-add-btn {
34
- display: inline-flex;
35
- align-items: center;
36
- justify-content: center;
37
- padding: 0 @tabs-margin-add-icon-left;
38
- font-size: @tabs-size-icon;
39
- user-select: none;
40
- }
41
-
42
- &-add {
43
- position: relative;
44
- }
45
-
46
- &-nav-button {
47
- &-left {
48
- margin-right: @tabs-spacing-nav-icon-header;
49
- margin-left: @tabs-padding-header-wrapper-horizontal;
50
- }
51
-
52
- &-right {
53
- margin-right: @tabs-padding-header-wrapper-horizontal;
54
- margin-left: @tabs-spacing-nav-icon-header;
55
- }
56
-
57
- &-up {
58
- margin-bottom: @tabs-padding-header-wrapper-horizontal;
59
- }
60
-
61
- &-down {
62
- margin-top: @tabs-padding-header-wrapper-horizontal;
63
- }
64
-
65
- &-disabled {
66
- color: @tabs-color-icon_disabled;
67
- cursor: not-allowed;
68
- }
69
- }
70
- }
71
-
72
- .@{tabs-prefix-cls} {
73
- position: relative;
74
- overflow: hidden;
75
-
76
- &-nav {
77
- position: relative;
78
- flex-shrink: 0;
79
-
80
- &::before {
81
- position: absolute;
82
- right: 0;
83
- bottom: 0;
84
- left: 0;
85
- display: block;
86
- clear: both;
87
- height: @tabs-line-size-header-border;
88
- background-color: @tabs-line-color-header-border;
89
- content: '';
90
- }
91
- }
92
-
93
- &-nav-tab {
94
- display: flex;
95
- flex: 1;
96
- overflow: hidden;
97
- }
98
-
99
- &-nav-tab-list {
100
- position: relative;
101
- display: inline-block;
102
- white-space: nowrap;
103
- transition: transform @transition-duration-2
104
- @transition-timing-function-standard;
105
- }
106
-
107
- &-nav-extra {
108
- display: flex;
109
- align-items: center;
110
- width: auto;
111
- line-height: @tabs-size-default-header-height;
112
-
113
- .@{tabs-prefix-cls}-nav-add-btn {
114
- padding-left: 0;
115
- }
116
- }
117
-
118
- &-tab {
119
- display: inline-flex;
120
- align-items: center;
121
- box-sizing: border-box;
122
- padding: .get-title-padding(
123
- @tabs-size-default-header-height,
124
- @tabs-size-default-font-size,
125
- @tabs-padding-title-text-vertical
126
- )
127
- [] 0;
128
- color: @tabs-color-title-text;
129
- font-size: @tabs-size-default-font-size;
130
- line-height: 1.5715;
131
- outline: none;
132
- cursor: pointer;
133
- transition: color @transition-duration-2 @transition-timing-function-linear;
134
-
135
- &-title {
136
- display: inline-block;
137
- }
138
-
139
- &:hover {
140
- color: @tabs-color-title-text_hover;
141
- font-weight: @tabs-line-font-title-text-weight_hover;
142
- }
143
-
144
- &-disabled,
145
- &-disabled:hover {
146
- color: @tabs-color-title-text_disabled;
147
- cursor: not-allowed;
148
- }
149
-
150
- &-active,
151
- &-active:hover {
152
- color: @tabs-color-title-text_active;
153
- font-weight: @tabs-line-font-title-text-weight_active;
154
-
155
- &.@{tabs-prefix-cls}-tab-disabled {
156
- color: @tabs-color-title-text_disabled_active;
157
- }
158
- }
159
- }
160
-
161
- &-nav-ink {
162
- position: absolute;
163
- top: initial;
164
- right: initial;
165
- bottom: 0;
166
- height: @tabs-line-size-ink-stroke;
167
- background-color: @tabs-line-color-ink-bg;
168
- transition: left @transition-duration-2 @transition-timing-function-standard,
169
- width @transition-duration-2 @transition-timing-function-standard;
170
-
171
- &.@{tabs-prefix-cls}-header-ink-no-animation {
172
- transition: none;
173
- }
174
-
175
- &-disabled {
176
- background-color: @tabs-line-color-ink-bg_disabled;
177
- }
178
- }
179
- }
180
-
181
- // card card-gutter 类型
182
-
183
- .@{tabs-prefix-cls} {
184
- // type = line
185
- &-nav-type-line &-nav-extra {
186
- line-height: @tabs-size-default-header-height_line;
187
- }
188
-
189
- &-nav-type-line &-tab {
190
- margin: 0 (@tabs-line-margin-title-horizontal / 2);
191
- padding: .get-title-padding(
192
- @tabs-size-default-header-height_line,
193
- @tabs-size-default-font-size,
194
- @tabs-padding-title-text-vertical
195
- )
196
- [] 0;
197
- line-height: 1.5715;
198
-
199
- &-title {
200
- position: relative;
201
- display: inline-block;
202
- padding: @tabs-padding-title-text-vertical 0;
203
-
204
- &::before {
205
- position: absolute;
206
- top: 0;
207
- right: -@tabs-padding-title-text-horizontal;
208
- bottom: 0;
209
- left: -@tabs-padding-title-text-horizontal;
210
- z-index: -1;
211
- background-color: @tabs-line-color-title-bg;
212
- border-radius: @tabs-line-border-radius;
213
- opacity: 1;
214
- transition: background-color @transition-duration-2
215
- @transition-timing-function-linear,
216
- opacity @transition-duration-2 @transition-timing-function-linear;
217
- content: '';
218
- }
219
- }
220
-
221
- &:hover {
222
- .@{tabs-prefix-cls}-tab-title::before {
223
- background-color: @tabs-line-color-title-bg_hover;
224
- }
225
- }
226
-
227
- &-active,
228
- &-active:hover {
229
- .@{tabs-prefix-cls}-tab-title::before {
230
- background-color: @tabs-line-color-title-bg_active;
231
- }
232
- }
233
-
234
- &-disabled,
235
- &-disabled:hover {
236
- .@{tabs-prefix-cls}-tab-title::before {
237
- opacity: 0;
238
- }
239
- }
240
-
241
- &:focus-visible {
242
- .@{tabs-prefix-cls}-tab-title::before {
243
- border: 2px solid @color-primary-6;
244
- }
245
- }
246
- }
247
-
248
- &-nav-type-line&-nav-horizontal > &-tab:first-of-type {
249
- margin-left: @tabs-line-margin-title-horizontal_first;
250
- }
251
-
252
- // headerPadding=false & type === line/text & horizontal
253
- &-nav-type-line&-nav-horizontal
254
- &-nav-tab-list-no-padding
255
- > &-tab:first-of-type,
256
- &-nav-text&-nav-horizontal &-nav-tab-list-no-padding > &-tab:first-of-type {
257
- margin-left: 0;
258
- }
259
-
260
- // type = card card-gutter
261
- &-nav-type-card,
262
- &-nav-type-card-gutter {
263
- .@{tabs-prefix-cls}-tab {
264
- position: relative;
265
- padding: .get-title-padding(
266
- (@tabs-size-default-header-height - @tabs-card-border-width * 2),
267
- @tabs-size-default-font-size_card,
268
- 0
269
- )
270
- [] @tabs-card-padding-title-horizontal;
271
- font-size: @tabs-size-default-font-size_card;
272
- border: @tabs-card-border-width solid @tabs-card-color-title-border;
273
- transition: padding @transition-duration-2
274
- @transition-timing-function-linear,
275
- color @transition-duration-2 @transition-timing-function-linear;
276
-
277
- &-closable {
278
- padding-right: @tabs-card-padding-title-right_editable;
279
- }
280
-
281
- &-closable:not(.@{tabs-prefix-cls}-tab-active):hover
282
- .@{prefix}-icon-hover:hover::before {
283
- background-color: @tabs-card-color-close-icon-bg_hover;
284
- }
285
-
286
- &:focus-visible::before {
287
- position: absolute;
288
- top: -1px;
289
- right: 0;
290
- bottom: -1px;
291
- left: -1px;
292
- border: 2px solid @color-primary-6;
293
- content: '';
294
- }
295
-
296
- &:last-child:focus-visible::before {
297
- right: -1px;
298
- }
299
- }
300
- }
301
-
302
- &-nav-type-card,
303
- &-nav-type-card-gutter {
304
- .@{tabs-prefix-cls}-nav-add-btn {
305
- height: @tabs-size-default-header-height;
306
- }
307
- }
308
-
309
- &-nav-type-card &-tab {
310
- background-color: @tabs-card-color-title-bg;
311
- border-right: none;
312
-
313
- &:last-child {
314
- border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
315
- border-top-right-radius: @tabs-card-border-radius;
316
- }
317
-
318
- &:first-child {
319
- border-top-left-radius: @tabs-card-border-radius;
320
- }
321
-
322
- &:hover {
323
- background-color: @tabs-card-color-title-bg_hover;
324
- }
325
-
326
- &-disabled,
327
- &-disabled:hover {
328
- background-color: @tabs-card-color-title-bg_disabled;
329
- }
330
-
331
- &-active,
332
- &-active:hover {
333
- background-color: @tabs-card-color-title-bg_active;
334
- border-bottom-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
335
- }
336
- }
337
-
338
- &-nav-type-card-gutter &-tab {
339
- margin-left: @tabs-card-gutter-spacing-horizontal;
340
- background-color: @tabs-card-gutter-color-title-bg;
341
- border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
342
- border-radius: @tabs-card-border-radius @tabs-card-border-radius 0 0;
343
-
344
- &:hover {
345
- background-color: @tabs-card-gutter-color-title-bg_hover;
346
- }
347
-
348
- &-disabled,
349
- &-disabled:hover {
350
- background-color: @tabs-card-gutter-color-title-bg_disabled;
351
- }
352
-
353
- &-active,
354
- &-active:hover {
355
- background-color: @tabs-card-gutter-color-title-bg_active;
356
- border-bottom-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
357
- }
358
-
359
- &:first-child {
360
- margin-left: 0;
361
- }
362
- }
363
-
364
- // type = text
365
- &-nav-type-text {
366
- &::before {
367
- display: none;
368
- }
369
-
370
- .@{tabs-prefix-cls}-tab {
371
- position: relative;
372
- margin: 0
373
- (
374
- @tabs-text-margin-title-horizontal +
375
- (@tabs-text-size-separator-width / 2)
376
- );
377
- padding: .get-title-padding(
378
- @tabs-size-default-header-height_text,
379
- @tabs-size-default-font-size,
380
- 0
381
- )
382
- [] 0;
383
- font-size: @tabs-size-default-font-size_text;
384
- line-height: 1.5715;
385
-
386
- &:not(:first-of-type)::before {
387
- position: absolute;
388
- top: 50%;
389
- left: -(@tabs-text-margin-title-horizontal +
390
- (@tabs-text-size-separator-width / 2));
391
- display: block;
392
- width: @tabs-text-size-separator-width;
393
- height: @tabs-text-size-separator-height;
394
- background-color: @tabs-text-color-separator-bg;
395
- transform: translateY(-50%);
396
- content: '';
397
- }
398
-
399
- &-title {
400
- padding-right: @tabs-text-margin-title-horizontal;
401
- padding-left: @tabs-text-margin-title-horizontal;
402
- background-color: @tabs-text-color-title-bg;
403
- }
404
-
405
- &-title:hover {
406
- background-color: @tabs-text-color-title-bg_hover;
407
- }
408
-
409
- &-active {
410
- .@{tabs-prefix-cls}-tab-title,
411
- .@{tabs-prefix-cls}-tab-title:hover {
412
- background-color: @tabs-text-color-title-bg_active;
413
- }
414
- }
415
-
416
- &-disabled {
417
- .@{tabs-prefix-cls}-tab-title,
418
- .@{tabs-prefix-cls}-tab-title:hover {
419
- background-color: @tabs-text-color-title-bg_disabled;
420
- }
421
- }
422
-
423
- &-active&-disabled {
424
- .@{tabs-prefix-cls}-tab-title,
425
- .@{tabs-prefix-cls}-tab-title:hover {
426
- background-color: @tabs-text-color-title-bg_disabled_active;
427
- }
428
- }
429
-
430
- &:focus-visible {
431
- .@{tabs-prefix-cls}-tab-title {
432
- margin: -2px;
433
- border: 2px solid @color-primary-6;
434
- }
435
- }
436
- }
437
- }
438
-
439
- &-nav-type-rounded {
440
- &::before {
441
- display: none;
442
- }
443
-
444
- .@{tabs-prefix-cls}-tab {
445
- margin: 0 (@tabs-rounded-margin-title-horizontal / 2);
446
- padding: .get-title-padding(
447
- @tabs-size-default-header-height_rounded,
448
- @tabs-size-default-font-size_rounded,
449
- 0
450
- )
451
- [] 0;
452
- padding-right: @tabs-rounded-padding-title-horizontal;
453
- padding-left: @tabs-rounded-padding-title-horizontal;
454
- font-size: @tabs-size-default-font-size_rounded;
455
- background-color: @tabs-rounded-color-title-bg;
456
- border-radius: @tabs-size-default-header-height_rounded;
457
-
458
- &:hover {
459
- background-color: @tabs-rounded-color-title-bg_hover;
460
- }
461
-
462
- &-disabled:hover {
463
- background-color: @tabs-rounded-color-title-bg_disabled;
464
- }
465
-
466
- &-active,
467
- &-active:hover {
468
- background-color: @tabs-rounded-color-title-bg_active;
469
- }
470
-
471
- &:focus-visible {
472
- border-color: @color-primary-6;
473
- }
474
- }
475
- }
476
-
477
- &-nav-type-capsule {
478
- &::before {
479
- display: none;
480
- }
481
-
482
- .@{tabs-prefix-cls}-nav-tab:not(.@{tabs-prefix-cls}-nav-tab-scroll) {
483
- justify-content: flex-end;
484
- }
485
-
486
- .@{tabs-prefix-cls}-nav-tab-list {
487
- padding: @tabs-capsule-padding-header-vertical
488
- @tabs-capsule-padding-header-horizontal;
489
- line-height: 1;
490
- background-color: @tabs-capsule-color-header-bg;
491
- border-radius: @tabs-capsule-border-header-radius;
492
- }
493
-
494
- .@{tabs-prefix-cls}-tab {
495
- position: relative;
496
- padding: 0 @tabs-capsule-padding-title-horizontal - 2;
497
- font-size: @tabs-size-default-font-size_capsule;
498
- line-height: (
499
- @tabs-size-default-header-height_capsule -
500
- @tabs-capsule-padding-header-vertical * 2
501
- );
502
- background-color: @tabs-capsule-color-title-bg;
503
-
504
- &:hover {
505
- background-color: @tabs-capsule-color-title-bg_hover;
506
- }
507
-
508
- &-disabled:hover {
509
- background-color: unset;
510
- }
511
-
512
- &-active,
513
- &-active:hover {
514
- background-color: @tabs-capsule-color-title-bg_active;
515
-
516
- &::before,
517
- & + .@{tabs-prefix-cls}-tab::before {
518
- opacity: 0;
519
- }
520
- }
521
-
522
- &:focus-visible {
523
- border-color: @color-primary-6;
524
- }
525
- }
526
-
527
- &.@{tabs-prefix-cls}-nav-horizontal
528
- .@{tabs-prefix-cls}-tab:not(:first-of-type) {
529
- margin-left: @tabs-capsule-margin-title-horizontal;
530
-
531
- &::before {
532
- position: absolute;
533
- top: 50%;
534
- left: -(@tabs-capsule-margin-title-horizontal / 2) - (
535
- @tabs-capsule-size-separator-width / 2
536
- ) - 2;
537
- display: block;
538
- width: @tabs-capsule-size-separator-width;
539
- height: @tabs-capsule-size-separator-height;
540
- background-color: @tabs-capsule-color-separator-bg;
541
- transform: translateY(-50%);
542
- transition: all @transition-duration-2
543
- @transition-timing-function-linear;
544
- content: '';
545
- }
546
- }
547
- }
548
- }
549
-
550
- // /** header */
551
-
552
- .@{tabs-prefix-cls} {
553
- &-nav {
554
- position: relative;
555
- display: flex;
556
- align-items: center;
557
- overflow: hidden;
558
- }
559
-
560
- &-content {
561
- box-sizing: border-box;
562
- width: 100%;
563
- padding-top: @tabs-content-padding;
564
- overflow: hidden;
565
-
566
- &-hide {
567
- display: none;
568
- }
569
-
570
- .@{tabs-prefix-cls}-content-list {
571
- display: flex;
572
- width: 100%;
573
- }
574
-
575
- .@{tabs-prefix-cls}-content-item {
576
- flex-shrink: 0;
577
- width: 100%;
578
- height: 0;
579
- overflow: hidden;
580
-
581
- &.@{tabs-prefix-cls}-content-item-active {
582
- height: auto;
583
- }
584
- }
585
- }
586
-
587
- &-type-card,
588
- &-type-card-gutter {
589
- > .@{tabs-prefix-cls}-content {
590
- border: @tabs-card-border-content-width solid
591
- @tabs-line-color-header-border;
592
- border-top: none;
593
- }
594
- }
595
-
596
- &-content-animation {
597
- transition: all @transition-duration-2 @transition-timing-function-standard;
598
- }
599
-
600
- &-horizontal&-justify {
601
- display: flex;
602
- flex-direction: column;
603
- height: 100%;
604
-
605
- .@{tabs-prefix-cls}-content,
606
- .@{tabs-prefix-cls}-content-list,
607
- .@{tabs-prefix-cls}-pane {
608
- height: 100%;
609
- }
610
- }
611
- }
612
-
613
- @sizes: mini, small, large;
614
-
615
- .for(@data, @i: 1) when (@i =< length(@data)) {
616
- @size: extract(@data, @i);
617
-
618
- .@{tabs-prefix-cls}-nav-size-@{size} {
619
- &.@{tabs-prefix-cls}-nav-type-line {
620
- @height: ~'tabs-size-@{size}-header-height_line';
621
- @font-size: ~'tabs-size-@{size}-font-size';
622
-
623
- .@{tabs-prefix-cls}-nav-extra {
624
- font-size: @@font-size;
625
- line-height: @@height;
626
- }
627
-
628
- .@{tabs-prefix-cls}-tab {
629
- padding-top: @padding;
630
- padding-bottom: @padding;
631
- font-size: @@font-size;
632
-
633
- @padding: .get-title-padding(
634
- @@height,
635
- @@font-size,
636
- @tabs-padding-title-text-vertical
637
- )
638
- [];
639
- }
640
-
641
- .@{tabs-prefix-cls}-nav-extra {
642
- font-size: @@font-size;
643
- line-height: @@height;
644
- }
645
- }
646
-
647
- &.@{tabs-prefix-cls}-nav-type-card,
648
- &.@{tabs-prefix-cls}-nav-type-card-gutter {
649
- @card-font-size: ~'tabs-size-@{size}-font-size_card';
650
- @card-height: ~'tabs-size-@{size}-header-height';
651
-
652
- .@{tabs-prefix-cls}-tab {
653
- padding-top: .get-title-padding(
654
- @@card-height - @tabs-card-border-width * 2,
655
- @@card-font-size,
656
- @tabs-padding-title-text-vertical
657
- )
658
- [];
659
- padding-bottom: $padding-top;
660
- font-size: @@card-font-size;
661
- }
662
-
663
- .@{tabs-prefix-cls}-nav-extra {
664
- font-size: @@card-font-size;
665
- line-height: @@card-height;
666
- }
667
-
668
- .@{tabs-prefix-cls}-nav-add-btn {
669
- height: @@card-height;
670
- }
671
- }
672
-
673
- &.@{tabs-prefix-cls}-nav-type-capsule {
674
- @capsule-font-size: ~'tabs-size-@{size}-font-size_capsule';
675
- @capsule-height: ~'tabs-size-@{size}-header-height_capsule';
676
-
677
- .@{tabs-prefix-cls}-tab {
678
- font-size: @@capsule-font-size;
679
- line-height: @@capsule-height - @tabs-capsule-padding-header-vertical * 2;
680
- }
681
-
682
- .@{tabs-prefix-cls}-nav-extra {
683
- font-size: @@capsule-font-size;
684
- line-height: @@capsule-height;
685
- }
686
- }
687
-
688
- &.@{tabs-prefix-cls}-nav-type-rounded {
689
- @rounded-font-size: ~'tabs-size-@{size}-font-size_rounded';
690
- @rounded-height: ~'tabs-size-@{size}-header-height_rounded';
691
-
692
- .@{tabs-prefix-cls}-tab {
693
- padding-top: .get-title-padding(
694
- @@rounded-height,
695
- @@rounded-font-size,
696
- 0
697
- )
698
- [];
699
- padding-bottom: $padding-top;
700
- font-size: @@rounded-font-size;
701
- }
702
-
703
- .@{tabs-prefix-cls}-nav-extra {
704
- font-size: @@rounded-font-size;
705
- line-height: @@rounded-height;
706
- }
707
- }
708
- }
709
-
710
- .for(@data, (@i + 1));
711
- }
712
-
713
- .for(@sizes);
714
-
715
- @import './vertical.less';
716
- @import './rtl.less';
717
-
718
- @{arco-theme-tag}[arco-theme='dark'] {
719
- .@{tabs-prefix-cls}-nav-type-capsule {
720
- .@{tabs-prefix-cls}-tab {
721
- &-active {
722
- background-color: var(~'@{arco-cssvars-prefix}-color-fill-3');
723
- }
724
-
725
- &:hover {
726
- background-color: var(~'@{arco-cssvars-prefix}-color-fill-3');
727
- }
728
- }
729
- }
730
- }
1
+ @import './token.less';
2
+ @import '../../style/mixins/index';
3
+
4
+ @tabs-prefix-cls: ~'@{prefix}-tabs';
5
+
6
+ .get-title-padding(@header-height, @font-size, @padding-vertical ) {
7
+ // prettier-ignore
8
+ @result: max(0, round((@header-height / 2) - @line-height-base * (@font-size / 2) - @padding-vertical));
9
+ }
10
+
11
+ // tabs icon style
12
+
13
+ .icon-hover(@tabs-prefix-cls, @tabs-size-icon, @tabs-size-icon-bg);
14
+
15
+ .@{tabs-prefix-cls} {
16
+ & &-icon-hover {
17
+ color: @tabs-color-icon;
18
+ font-size: @tabs-size-icon;
19
+ user-select: none;
20
+ }
21
+
22
+ &-dropdown-icon {
23
+ margin-left: @tabs-spacing-nav-icon-header;
24
+ font-size: @tabs-size-icon;
25
+ user-select: none;
26
+ }
27
+
28
+ &-tab-close-btn {
29
+ margin-left: @tabs-margin-close-icon-left;
30
+ user-select: none;
31
+ }
32
+
33
+ &-nav-add-btn {
34
+ display: inline-flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ padding: 0 @tabs-margin-add-icon-left;
38
+ font-size: @tabs-size-icon;
39
+ user-select: none;
40
+ }
41
+
42
+ &-add {
43
+ position: relative;
44
+ }
45
+
46
+ &-nav-button {
47
+ &-left {
48
+ margin-right: @tabs-spacing-nav-icon-header;
49
+ margin-left: @tabs-padding-header-wrapper-horizontal;
50
+ }
51
+
52
+ &-right {
53
+ margin-right: @tabs-padding-header-wrapper-horizontal;
54
+ margin-left: @tabs-spacing-nav-icon-header;
55
+ }
56
+
57
+ &-up {
58
+ margin-bottom: @tabs-padding-header-wrapper-horizontal;
59
+ }
60
+
61
+ &-down {
62
+ margin-top: @tabs-padding-header-wrapper-horizontal;
63
+ }
64
+
65
+ &-disabled {
66
+ color: @tabs-color-icon_disabled;
67
+ cursor: not-allowed;
68
+ }
69
+ }
70
+ }
71
+
72
+ .@{tabs-prefix-cls} {
73
+ position: relative;
74
+ overflow: hidden;
75
+
76
+ &-nav {
77
+ position: relative;
78
+ flex-shrink: 0;
79
+
80
+ &::before {
81
+ position: absolute;
82
+ right: 0;
83
+ bottom: 0;
84
+ left: 0;
85
+ display: block;
86
+ clear: both;
87
+ height: @tabs-line-size-header-border;
88
+ background-color: @tabs-line-color-header-border;
89
+ content: '';
90
+ }
91
+ }
92
+
93
+ &-nav-tab {
94
+ display: flex;
95
+ flex: 1;
96
+ overflow: hidden;
97
+ }
98
+
99
+ &-nav-tab-list {
100
+ position: relative;
101
+ display: inline-block;
102
+ white-space: nowrap;
103
+ transition: transform @transition-duration-2
104
+ @transition-timing-function-standard;
105
+ }
106
+
107
+ &-nav-extra {
108
+ display: flex;
109
+ align-items: center;
110
+ width: auto;
111
+ line-height: @tabs-size-default-header-height;
112
+
113
+ .@{tabs-prefix-cls}-nav-add-btn {
114
+ padding-left: 0;
115
+ }
116
+ }
117
+
118
+ &-tab {
119
+ display: inline-flex;
120
+ align-items: center;
121
+ box-sizing: border-box;
122
+ padding: .get-title-padding(
123
+ @tabs-size-default-header-height,
124
+ @tabs-size-default-font-size,
125
+ @tabs-padding-title-text-vertical
126
+ )
127
+ [] 0;
128
+ color: @tabs-color-title-text;
129
+ font-size: @tabs-size-default-font-size;
130
+ line-height: 1.5715;
131
+ outline: none;
132
+ cursor: pointer;
133
+ transition: color @transition-duration-2 @transition-timing-function-linear;
134
+
135
+ &-title {
136
+ display: inline-block;
137
+ }
138
+
139
+ &:hover {
140
+ color: @tabs-color-title-text_hover;
141
+ font-weight: @tabs-line-font-title-text-weight_hover;
142
+ }
143
+
144
+ &-disabled,
145
+ &-disabled:hover {
146
+ color: @tabs-color-title-text_disabled;
147
+ cursor: not-allowed;
148
+ }
149
+
150
+ &-active,
151
+ &-active:hover {
152
+ color: @tabs-color-title-text_active;
153
+ font-weight: @tabs-line-font-title-text-weight_active;
154
+
155
+ &.@{tabs-prefix-cls}-tab-disabled {
156
+ color: @tabs-color-title-text_disabled_active;
157
+ }
158
+ }
159
+ }
160
+
161
+ &-nav-ink {
162
+ position: absolute;
163
+ top: initial;
164
+ right: initial;
165
+ bottom: 0;
166
+ height: @tabs-line-size-ink-stroke;
167
+ background-color: @tabs-line-color-ink-bg;
168
+ transition: left @transition-duration-2 @transition-timing-function-standard,
169
+ width @transition-duration-2 @transition-timing-function-standard;
170
+
171
+ &.@{tabs-prefix-cls}-header-ink-no-animation {
172
+ transition: none;
173
+ }
174
+
175
+ &-disabled {
176
+ background-color: @tabs-line-color-ink-bg_disabled;
177
+ }
178
+ }
179
+ }
180
+
181
+ // card card-gutter 类型
182
+
183
+ .@{tabs-prefix-cls} {
184
+ // type = line
185
+ &-nav-type-line &-nav-extra {
186
+ line-height: @tabs-size-default-header-height_line;
187
+ }
188
+
189
+ &-nav-type-line &-tab {
190
+ margin: 0 (@tabs-line-margin-title-horizontal / 2);
191
+ padding: .get-title-padding(
192
+ @tabs-size-default-header-height_line,
193
+ @tabs-size-default-font-size,
194
+ @tabs-padding-title-text-vertical
195
+ )
196
+ [] 0;
197
+ line-height: 1.5715;
198
+
199
+ &-title {
200
+ position: relative;
201
+ display: inline-block;
202
+ padding: @tabs-padding-title-text-vertical 0;
203
+
204
+ &::before {
205
+ position: absolute;
206
+ top: 0;
207
+ right: -@tabs-padding-title-text-horizontal;
208
+ bottom: 0;
209
+ left: -@tabs-padding-title-text-horizontal;
210
+ z-index: -1;
211
+ background-color: @tabs-line-color-title-bg;
212
+ border-radius: @tabs-line-border-radius;
213
+ opacity: 1;
214
+ transition: background-color @transition-duration-2
215
+ @transition-timing-function-linear,
216
+ opacity @transition-duration-2 @transition-timing-function-linear;
217
+ content: '';
218
+ }
219
+ }
220
+
221
+ &:hover {
222
+ .@{tabs-prefix-cls}-tab-title::before {
223
+ background-color: @tabs-line-color-title-bg_hover;
224
+ }
225
+ }
226
+
227
+ &-active,
228
+ &-active:hover {
229
+ .@{tabs-prefix-cls}-tab-title::before {
230
+ background-color: @tabs-line-color-title-bg_active;
231
+ }
232
+ }
233
+
234
+ &-disabled,
235
+ &-disabled:hover {
236
+ .@{tabs-prefix-cls}-tab-title::before {
237
+ opacity: 0;
238
+ }
239
+ }
240
+
241
+ &:focus-visible {
242
+ .@{tabs-prefix-cls}-tab-title::before {
243
+ border: 2px solid @color-primary-6;
244
+ }
245
+ }
246
+ }
247
+
248
+ &-nav-type-line&-nav-horizontal > &-tab:first-of-type {
249
+ margin-left: @tabs-line-margin-title-horizontal_first;
250
+ }
251
+
252
+ // headerPadding=false & type === line/text & horizontal
253
+ &-nav-type-line&-nav-horizontal
254
+ &-nav-tab-list-no-padding
255
+ > &-tab:first-of-type,
256
+ &-nav-text&-nav-horizontal &-nav-tab-list-no-padding > &-tab:first-of-type {
257
+ margin-left: 0;
258
+ }
259
+
260
+ // type = card card-gutter
261
+ &-nav-type-card,
262
+ &-nav-type-card-gutter {
263
+ .@{tabs-prefix-cls}-tab {
264
+ position: relative;
265
+ padding: .get-title-padding(
266
+ (@tabs-size-default-header-height - @tabs-card-border-width * 2),
267
+ @tabs-size-default-font-size_card,
268
+ 0
269
+ )
270
+ [] @tabs-card-padding-title-horizontal;
271
+ font-size: @tabs-size-default-font-size_card;
272
+ border: @tabs-card-border-width solid @tabs-card-color-title-border;
273
+ transition: padding @transition-duration-2
274
+ @transition-timing-function-linear,
275
+ color @transition-duration-2 @transition-timing-function-linear;
276
+
277
+ &-closable {
278
+ padding-right: @tabs-card-padding-title-right_editable;
279
+ }
280
+
281
+ &-closable:not(.@{tabs-prefix-cls}-tab-active):hover
282
+ .@{prefix}-icon-hover:hover::before {
283
+ background-color: @tabs-card-color-close-icon-bg_hover;
284
+ }
285
+
286
+ &:focus-visible::before {
287
+ position: absolute;
288
+ top: -1px;
289
+ right: 0;
290
+ bottom: -1px;
291
+ left: -1px;
292
+ border: 2px solid @color-primary-6;
293
+ content: '';
294
+ }
295
+
296
+ &:last-child:focus-visible::before {
297
+ right: -1px;
298
+ }
299
+ }
300
+ }
301
+
302
+ &-nav-type-card,
303
+ &-nav-type-card-gutter {
304
+ .@{tabs-prefix-cls}-nav-add-btn {
305
+ height: @tabs-size-default-header-height;
306
+ }
307
+ }
308
+
309
+ &-nav-type-card &-tab {
310
+ background-color: @tabs-card-color-title-bg;
311
+ border-right: none;
312
+
313
+ &:last-child {
314
+ border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
315
+ border-top-right-radius: @tabs-card-border-radius;
316
+ }
317
+
318
+ &:first-child {
319
+ border-top-left-radius: @tabs-card-border-radius;
320
+ }
321
+
322
+ &:hover {
323
+ background-color: @tabs-card-color-title-bg_hover;
324
+ }
325
+
326
+ &-disabled,
327
+ &-disabled:hover {
328
+ background-color: @tabs-card-color-title-bg_disabled;
329
+ }
330
+
331
+ &-active,
332
+ &-active:hover {
333
+ background-color: @tabs-card-color-title-bg_active;
334
+ border-bottom-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
335
+ }
336
+ }
337
+
338
+ &-nav-type-card-gutter &-tab {
339
+ margin-left: @tabs-card-gutter-spacing-horizontal;
340
+ background-color: @tabs-card-gutter-color-title-bg;
341
+ border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
342
+ border-radius: @tabs-card-border-radius @tabs-card-border-radius 0 0;
343
+
344
+ &:hover {
345
+ background-color: @tabs-card-gutter-color-title-bg_hover;
346
+ }
347
+
348
+ &-disabled,
349
+ &-disabled:hover {
350
+ background-color: @tabs-card-gutter-color-title-bg_disabled;
351
+ }
352
+
353
+ &-active,
354
+ &-active:hover {
355
+ background-color: @tabs-card-gutter-color-title-bg_active;
356
+ border-bottom-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
357
+ }
358
+
359
+ &:first-child {
360
+ margin-left: 0;
361
+ }
362
+ }
363
+
364
+ // type = text
365
+ &-nav-type-text {
366
+ &::before {
367
+ display: none;
368
+ }
369
+
370
+ .@{tabs-prefix-cls}-tab {
371
+ position: relative;
372
+ margin: 0
373
+ (
374
+ @tabs-text-margin-title-horizontal +
375
+ (@tabs-text-size-separator-width / 2)
376
+ );
377
+ padding: .get-title-padding(
378
+ @tabs-size-default-header-height_text,
379
+ @tabs-size-default-font-size,
380
+ 0
381
+ )
382
+ [] 0;
383
+ font-size: @tabs-size-default-font-size_text;
384
+ line-height: 1.5715;
385
+
386
+ &:not(:first-of-type)::before {
387
+ position: absolute;
388
+ top: 50%;
389
+ left: -(@tabs-text-margin-title-horizontal +
390
+ (@tabs-text-size-separator-width / 2));
391
+ display: block;
392
+ width: @tabs-text-size-separator-width;
393
+ height: @tabs-text-size-separator-height;
394
+ background-color: @tabs-text-color-separator-bg;
395
+ transform: translateY(-50%);
396
+ content: '';
397
+ }
398
+
399
+ &-title {
400
+ padding-right: @tabs-text-margin-title-horizontal;
401
+ padding-left: @tabs-text-margin-title-horizontal;
402
+ background-color: @tabs-text-color-title-bg;
403
+ }
404
+
405
+ &-title:hover {
406
+ background-color: @tabs-text-color-title-bg_hover;
407
+ }
408
+
409
+ &-active {
410
+ .@{tabs-prefix-cls}-tab-title,
411
+ .@{tabs-prefix-cls}-tab-title:hover {
412
+ background-color: @tabs-text-color-title-bg_active;
413
+ }
414
+ }
415
+
416
+ &-disabled {
417
+ .@{tabs-prefix-cls}-tab-title,
418
+ .@{tabs-prefix-cls}-tab-title:hover {
419
+ background-color: @tabs-text-color-title-bg_disabled;
420
+ }
421
+ }
422
+
423
+ &-active&-disabled {
424
+ .@{tabs-prefix-cls}-tab-title,
425
+ .@{tabs-prefix-cls}-tab-title:hover {
426
+ background-color: @tabs-text-color-title-bg_disabled_active;
427
+ }
428
+ }
429
+
430
+ &:focus-visible {
431
+ .@{tabs-prefix-cls}-tab-title {
432
+ margin: -2px;
433
+ border: 2px solid @color-primary-6;
434
+ }
435
+ }
436
+ }
437
+ }
438
+
439
+ &-nav-type-rounded {
440
+ &::before {
441
+ display: none;
442
+ }
443
+
444
+ .@{tabs-prefix-cls}-tab {
445
+ margin: 0 (@tabs-rounded-margin-title-horizontal / 2);
446
+ padding: .get-title-padding(
447
+ @tabs-size-default-header-height_rounded,
448
+ @tabs-size-default-font-size_rounded,
449
+ 0
450
+ )
451
+ [] 0;
452
+ padding-right: @tabs-rounded-padding-title-horizontal;
453
+ padding-left: @tabs-rounded-padding-title-horizontal;
454
+ font-size: @tabs-size-default-font-size_rounded;
455
+ background-color: @tabs-rounded-color-title-bg;
456
+ border-radius: @tabs-size-default-header-height_rounded;
457
+
458
+ &:hover {
459
+ background-color: @tabs-rounded-color-title-bg_hover;
460
+ }
461
+
462
+ &-disabled:hover {
463
+ background-color: @tabs-rounded-color-title-bg_disabled;
464
+ }
465
+
466
+ &-active,
467
+ &-active:hover {
468
+ background-color: @tabs-rounded-color-title-bg_active;
469
+ }
470
+
471
+ &:focus-visible {
472
+ border-color: @color-primary-6;
473
+ }
474
+ }
475
+ }
476
+
477
+ &-nav-type-capsule {
478
+ &::before {
479
+ display: none;
480
+ }
481
+
482
+ .@{tabs-prefix-cls}-nav-tab:not(.@{tabs-prefix-cls}-nav-tab-scroll) {
483
+ justify-content: flex-end;
484
+ }
485
+
486
+ .@{tabs-prefix-cls}-nav-tab-list {
487
+ padding: @tabs-capsule-padding-header-vertical
488
+ @tabs-capsule-padding-header-horizontal;
489
+ line-height: 1;
490
+ background-color: @tabs-capsule-color-header-bg;
491
+ border-radius: @tabs-capsule-border-header-radius;
492
+ }
493
+
494
+ .@{tabs-prefix-cls}-tab {
495
+ position: relative;
496
+ padding: 0 @tabs-capsule-padding-title-horizontal - 2;
497
+ font-size: @tabs-size-default-font-size_capsule;
498
+ line-height: (
499
+ @tabs-size-default-header-height_capsule -
500
+ @tabs-capsule-padding-header-vertical * 2
501
+ );
502
+ background-color: @tabs-capsule-color-title-bg;
503
+
504
+ &:hover {
505
+ background-color: @tabs-capsule-color-title-bg_hover;
506
+ }
507
+
508
+ &-disabled:hover {
509
+ background-color: unset;
510
+ }
511
+
512
+ &-active,
513
+ &-active:hover {
514
+ background-color: @tabs-capsule-color-title-bg_active;
515
+
516
+ &::before,
517
+ & + .@{tabs-prefix-cls}-tab::before {
518
+ opacity: 0;
519
+ }
520
+ }
521
+
522
+ &:focus-visible {
523
+ border-color: @color-primary-6;
524
+ }
525
+ }
526
+
527
+ &.@{tabs-prefix-cls}-nav-horizontal
528
+ .@{tabs-prefix-cls}-tab:not(:first-of-type) {
529
+ margin-left: @tabs-capsule-margin-title-horizontal;
530
+
531
+ &::before {
532
+ position: absolute;
533
+ top: 50%;
534
+ left: -(@tabs-capsule-margin-title-horizontal / 2) - (
535
+ @tabs-capsule-size-separator-width / 2
536
+ ) - 2;
537
+ display: block;
538
+ width: @tabs-capsule-size-separator-width;
539
+ height: @tabs-capsule-size-separator-height;
540
+ background-color: @tabs-capsule-color-separator-bg;
541
+ transform: translateY(-50%);
542
+ transition: all @transition-duration-2
543
+ @transition-timing-function-linear;
544
+ content: '';
545
+ }
546
+ }
547
+ }
548
+ }
549
+
550
+ // /** header */
551
+
552
+ .@{tabs-prefix-cls} {
553
+ &-nav {
554
+ position: relative;
555
+ display: flex;
556
+ align-items: center;
557
+ overflow: hidden;
558
+ }
559
+
560
+ &-content {
561
+ box-sizing: border-box;
562
+ width: 100%;
563
+ padding-top: @tabs-content-padding;
564
+ overflow: hidden;
565
+
566
+ &-hide {
567
+ display: none;
568
+ }
569
+
570
+ .@{tabs-prefix-cls}-content-list {
571
+ display: flex;
572
+ width: 100%;
573
+ }
574
+
575
+ .@{tabs-prefix-cls}-content-item {
576
+ flex-shrink: 0;
577
+ width: 100%;
578
+ height: 0;
579
+ overflow: hidden;
580
+
581
+ &.@{tabs-prefix-cls}-content-item-active {
582
+ height: auto;
583
+ }
584
+ }
585
+ }
586
+
587
+ &-type-card,
588
+ &-type-card-gutter {
589
+ > .@{tabs-prefix-cls}-content {
590
+ border: @tabs-card-border-content-width solid
591
+ @tabs-line-color-header-border;
592
+ border-top: none;
593
+ }
594
+ }
595
+
596
+ &-content-animation {
597
+ transition: all @transition-duration-2 @transition-timing-function-standard;
598
+ }
599
+
600
+ &-horizontal&-justify {
601
+ display: flex;
602
+ flex-direction: column;
603
+ height: 100%;
604
+
605
+ .@{tabs-prefix-cls}-content,
606
+ .@{tabs-prefix-cls}-content-list,
607
+ .@{tabs-prefix-cls}-pane {
608
+ height: 100%;
609
+ }
610
+ }
611
+ }
612
+
613
+ @sizes: mini, small, large;
614
+
615
+ .for(@data, @i: 1) when (@i =< length(@data)) {
616
+ @size: extract(@data, @i);
617
+
618
+ .@{tabs-prefix-cls}-nav-size-@{size} {
619
+ &.@{tabs-prefix-cls}-nav-type-line {
620
+ @height: ~'tabs-size-@{size}-header-height_line';
621
+ @font-size: ~'tabs-size-@{size}-font-size';
622
+
623
+ .@{tabs-prefix-cls}-nav-extra {
624
+ font-size: @@font-size;
625
+ line-height: @@height;
626
+ }
627
+
628
+ .@{tabs-prefix-cls}-tab {
629
+ padding-top: @padding;
630
+ padding-bottom: @padding;
631
+ font-size: @@font-size;
632
+
633
+ @padding: .get-title-padding(
634
+ @@height,
635
+ @@font-size,
636
+ @tabs-padding-title-text-vertical
637
+ )
638
+ [];
639
+ }
640
+
641
+ .@{tabs-prefix-cls}-nav-extra {
642
+ font-size: @@font-size;
643
+ line-height: @@height;
644
+ }
645
+ }
646
+
647
+ &.@{tabs-prefix-cls}-nav-type-card,
648
+ &.@{tabs-prefix-cls}-nav-type-card-gutter {
649
+ @card-font-size: ~'tabs-size-@{size}-font-size_card';
650
+ @card-height: ~'tabs-size-@{size}-header-height';
651
+
652
+ .@{tabs-prefix-cls}-tab {
653
+ padding-top: .get-title-padding(
654
+ @@card-height - @tabs-card-border-width * 2,
655
+ @@card-font-size,
656
+ @tabs-padding-title-text-vertical
657
+ )
658
+ [];
659
+ padding-bottom: $padding-top;
660
+ font-size: @@card-font-size;
661
+ }
662
+
663
+ .@{tabs-prefix-cls}-nav-extra {
664
+ font-size: @@card-font-size;
665
+ line-height: @@card-height;
666
+ }
667
+
668
+ .@{tabs-prefix-cls}-nav-add-btn {
669
+ height: @@card-height;
670
+ }
671
+ }
672
+
673
+ &.@{tabs-prefix-cls}-nav-type-capsule {
674
+ @capsule-font-size: ~'tabs-size-@{size}-font-size_capsule';
675
+ @capsule-height: ~'tabs-size-@{size}-header-height_capsule';
676
+
677
+ .@{tabs-prefix-cls}-tab {
678
+ font-size: @@capsule-font-size;
679
+ line-height: @@capsule-height - @tabs-capsule-padding-header-vertical * 2;
680
+ }
681
+
682
+ .@{tabs-prefix-cls}-nav-extra {
683
+ font-size: @@capsule-font-size;
684
+ line-height: @@capsule-height;
685
+ }
686
+ }
687
+
688
+ &.@{tabs-prefix-cls}-nav-type-rounded {
689
+ @rounded-font-size: ~'tabs-size-@{size}-font-size_rounded';
690
+ @rounded-height: ~'tabs-size-@{size}-header-height_rounded';
691
+
692
+ .@{tabs-prefix-cls}-tab {
693
+ padding-top: .get-title-padding(
694
+ @@rounded-height,
695
+ @@rounded-font-size,
696
+ 0
697
+ )
698
+ [];
699
+ padding-bottom: $padding-top;
700
+ font-size: @@rounded-font-size;
701
+ }
702
+
703
+ .@{tabs-prefix-cls}-nav-extra {
704
+ font-size: @@rounded-font-size;
705
+ line-height: @@rounded-height;
706
+ }
707
+ }
708
+ }
709
+
710
+ .for(@data, (@i + 1));
711
+ }
712
+
713
+ .for(@sizes);
714
+
715
+ @import './vertical.less';
716
+ @import './rtl.less';
717
+
718
+ @{arco-theme-tag}[arco-theme='dark'] {
719
+ .@{tabs-prefix-cls}-nav-type-capsule {
720
+ .@{tabs-prefix-cls}-tab {
721
+ &-active {
722
+ background-color: var(~'@{arco-cssvars-prefix}-color-fill-3');
723
+ }
724
+
725
+ &:hover {
726
+ background-color: var(~'@{arco-cssvars-prefix}-color-fill-3');
727
+ }
728
+ }
729
+ }
730
+ }