var.scss 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442
  1. /* Element Chalk Variables */
  2. @use 'sass:math';
  3. @use 'sass:map';
  4. @use '../mixins/function.scss' as *;
  5. // Special comment for theme configurator
  6. // type|skipAutoTranslation|Category|Order
  7. // skipAutoTranslation 1
  8. // types
  9. $types: primary, success, warning, danger, error, info;
  10. // Color
  11. $colors: () !default;
  12. $colors: map.deep-merge(
  13. (
  14. 'white': #ffffff,
  15. 'black': #000000,
  16. 'primary': (
  17. 'base': #409eff,
  18. ),
  19. 'success': (
  20. 'base': #67c23a,
  21. ),
  22. 'warning': (
  23. 'base': #e6a23c,
  24. ),
  25. 'danger': (
  26. 'base': #f56c6c,
  27. ),
  28. 'error': (
  29. 'base': #f56c6c,
  30. ),
  31. 'info': (
  32. 'base': #909399,
  33. ),
  34. ),
  35. $colors
  36. );
  37. $color-white: map.get($colors, 'white') !default;
  38. $color-black: map.get($colors, 'black') !default;
  39. $color-primary: map.get($colors, 'primary', 'base') !default;
  40. $color-success: map.get($colors, 'success', 'base') !default;
  41. $color-warning: map.get($colors, 'warning', 'base') !default;
  42. $color-danger: map.get($colors, 'danger', 'base') !default;
  43. $color-error: map.get($colors, 'error', 'base') !default;
  44. $color-info: map.get($colors, 'info', 'base') !default;
  45. // https://sass-lang.com/documentation/values/maps#immutability
  46. // mix colors with white/black to generate light/dark level
  47. @mixin set-color-mix-level(
  48. $type,
  49. $number,
  50. $mode: 'light',
  51. $mix-color: $color-white
  52. ) {
  53. $colors: map.deep-merge(
  54. (
  55. $type: (
  56. '#{$mode}-#{$number}':
  57. mix(
  58. $mix-color,
  59. map.get($colors, $type, 'base'),
  60. math.percentage(math.div($number, 10))
  61. ),
  62. ),
  63. ),
  64. $colors
  65. ) !global;
  66. }
  67. // $colors.primary.light-i
  68. // --el-color-primary-light-i
  69. // 10% 53a8ff
  70. // 20% 66b1ff
  71. // 30% 79bbff
  72. // 40% 8cc5ff
  73. // 50% a0cfff
  74. // 60% b3d8ff
  75. // 70% c6e2ff
  76. // 80% d9ecff
  77. // 90% ecf5ff
  78. @each $type in $types {
  79. @for $i from 1 through 9 {
  80. @include set-color-mix-level($type, $i, 'light', $color-white);
  81. }
  82. }
  83. // --el-color-primary-dark-2
  84. @each $type in $types {
  85. @include set-color-mix-level($type, 2, 'dark', $color-black);
  86. }
  87. $text-color: () !default;
  88. $text-color: map.merge(
  89. (
  90. 'primary': #303133,
  91. 'regular': #606266,
  92. 'secondary': #909399,
  93. 'placeholder': #a8abb2,
  94. 'disabled': #c0c4cc,
  95. ),
  96. $text-color
  97. );
  98. $border-color: () !default;
  99. $border-color: map.merge(
  100. (
  101. '': #dcdfe6,
  102. 'light': #e4e7ed,
  103. 'lighter': #ebeef5,
  104. 'extra-light': #f2f6fc,
  105. 'dark': #d4d7de,
  106. 'darker': #cdd0d6,
  107. ),
  108. $border-color
  109. );
  110. $fill-color: () !default;
  111. $fill-color: map.merge(
  112. (
  113. '': #f0f2f5,
  114. 'light': #f5f7fa,
  115. 'lighter': #fafafa,
  116. 'extra-light': #fafcff,
  117. 'dark': #ebedf0,
  118. 'darker': #e6e8eb,
  119. 'blank': #ffffff,
  120. ),
  121. $fill-color
  122. );
  123. // Background
  124. $bg-color: () !default;
  125. $bg-color: map.merge(
  126. (
  127. '': #ffffff,
  128. 'page': #f2f3f5,
  129. 'overlay': #ffffff,
  130. ),
  131. $bg-color
  132. );
  133. // Border
  134. $border-width: 1px !default;
  135. $border-style: solid !default;
  136. $border-color-hover: getCssVar('text-color', 'disabled') !default;
  137. $border-radius: () !default;
  138. $border-radius: map.merge(
  139. (
  140. 'base': 4px,
  141. 'small': 2px,
  142. 'round': 20px,
  143. 'circle': 100%,
  144. ),
  145. $border-radius
  146. );
  147. // Box-shadow
  148. $box-shadow: () !default;
  149. $box-shadow: map.merge(
  150. (
  151. '': (
  152. 0px 12px 32px 4px rgba(0, 0, 0, 0.04),
  153. 0px 8px 20px rgba(0, 0, 0, 0.08),
  154. ),
  155. 'light': (
  156. 0px 0px 12px rgba(0, 0, 0, 0.12),
  157. ),
  158. 'lighter': (
  159. 0px 0px 6px rgba(0, 0, 0, 0.12),
  160. ),
  161. 'dark': (
  162. 0px 16px 48px 16px rgba(0, 0, 0, 0.08),
  163. 0px 12px 32px rgba(0, 0, 0, 0.12),
  164. 0px 8px 16px -8px rgba(0, 0, 0, 0.16),
  165. ),
  166. ),
  167. $box-shadow
  168. );
  169. // Typography
  170. $font-family: () !default;
  171. $font-family: map.merge(
  172. (
  173. // default family
  174. '':
  175. "'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif"
  176. ),
  177. $font-family
  178. );
  179. $font-size: () !default;
  180. $font-size: map.merge(
  181. (
  182. 'extra-large': 20px,
  183. 'large': 18px,
  184. 'medium': 16px,
  185. 'base': 14px,
  186. 'small': 13px,
  187. 'extra-small': 12px,
  188. ),
  189. $font-size
  190. );
  191. // zIndex
  192. $z-index: () !default;
  193. $z-index: map.merge(
  194. (
  195. 'normal': 1,
  196. 'top': 1000,
  197. 'popper': 2000,
  198. ),
  199. $z-index
  200. );
  201. // Disable default
  202. $disabled: () !default;
  203. $disabled: map.merge(
  204. (
  205. 'bg-color': getCssVar('fill-color', 'light'),
  206. 'text-color': getCssVar('text-color', 'placeholder'),
  207. 'border-color': getCssVar('border-color', 'light'),
  208. ),
  209. $disabled
  210. );
  211. $common-component-size: () !default;
  212. $common-component-size: map.merge(
  213. (
  214. 'large': 40px,
  215. 'default': 32px,
  216. 'small': 24px,
  217. ),
  218. $common-component-size
  219. );
  220. // overlay
  221. $overlay-color: () !default;
  222. $overlay-color: map.merge(
  223. (
  224. '': rgba(0, 0, 0, 0.8),
  225. 'light': rgba(0, 0, 0, 0.7),
  226. 'lighter': rgba(0, 0, 0, 0.5),
  227. ),
  228. $overlay-color
  229. );
  230. // mask
  231. $mask-color: () !default;
  232. $mask-color: map.merge(
  233. (
  234. '': rgba(255, 255, 255, 0.9),
  235. 'extra-light': rgba(255, 255, 255, 0.3),
  236. ),
  237. $mask-color
  238. );
  239. // Components
  240. // ---
  241. // Checkbox
  242. // css3 var in packages/theme-chalk/src/checkbox.scss
  243. $checkbox: () !default;
  244. $checkbox: map.merge(
  245. (
  246. 'font-size': 14px,
  247. 'font-weight': getCssVar('font-weight-primary'),
  248. 'text-color': getCssVar('text-color-regular'),
  249. 'input-height': 14px,
  250. 'input-width': 14px,
  251. 'border-radius': getCssVar('border-radius-small'),
  252. 'bg-color': getCssVar('fill-color', 'blank'),
  253. 'input-border': getCssVar('border'),
  254. 'disabled-border-color': getCssVar('border-color'),
  255. 'disabled-input-fill': getCssVar('fill-color', 'light'),
  256. 'disabled-icon-color': getCssVar('text-color-placeholder'),
  257. 'disabled-checked-input-fill': getCssVar('border-color-extra-light'),
  258. 'disabled-checked-input-border-color': getCssVar('border-color'),
  259. 'disabled-checked-icon-color': getCssVar('text-color-placeholder'),
  260. 'checked-text-color': getCssVar('color-primary'),
  261. 'checked-input-border-color': getCssVar('color-primary'),
  262. 'checked-bg-color': getCssVar('color-primary'),
  263. 'checked-icon-color': getCssVar('color', 'white'),
  264. 'input-border-color-hover': getCssVar('color-primary'),
  265. ),
  266. $checkbox
  267. );
  268. $checkbox-button: () !default;
  269. $checkbox-button: map.merge(
  270. (
  271. 'checked-bg-color': getCssVar('color-primary'),
  272. 'checked-text-color': getCssVar('color-white'),
  273. 'checked-border-color': getCssVar('color-primary'),
  274. ),
  275. $checkbox-button
  276. );
  277. $checkbox-bordered-padding-left: () !default;
  278. $checkbox-bordered-padding-left: map.merge(
  279. (
  280. 'large': 12px,
  281. 'default': 10px,
  282. 'small': 8px,
  283. ),
  284. $checkbox-bordered-padding-left
  285. );
  286. $checkbox-bordered-padding-right: () !default;
  287. $checkbox-bordered-padding-right: map.merge(
  288. (
  289. 'large': 20px,
  290. 'default': 16px,
  291. 'small': 12px,
  292. ),
  293. $checkbox-bordered-padding-right
  294. );
  295. // Radio
  296. /// fontSize||Font|1
  297. $radio: () !default;
  298. $radio: map.merge(
  299. (
  300. 'font-size': getCssVar('font-size-base'),
  301. 'text-color': getCssVar('text-color-regular'),
  302. 'font-weight': getCssVar('font-weight-primary'),
  303. 'input-height': 14px,
  304. 'input-width': 14px,
  305. 'input-border-radius': getCssVar('border-radius-circle'),
  306. 'input-bg-color': getCssVar('fill-color', 'blank'),
  307. 'input-border': getCssVar('border'),
  308. 'input-border-color': getCssVar('border-color'),
  309. 'input-border-color-hover': getCssVar('color-primary'),
  310. ),
  311. $radio
  312. );
  313. $radio-height: () !default;
  314. $radio-height: map.merge($common-component-size, $radio-height);
  315. $radio-button: () !default;
  316. $radio-button: map.merge(
  317. (
  318. 'checked-bg-color': getCssVar('color-primary'),
  319. 'checked-text-color': getCssVar('color-white'),
  320. 'checked-border-color': getCssVar('color-primary'),
  321. 'disabled-checked-fill': getCssVar('border-color-extra-light'),
  322. ),
  323. $radio-button
  324. );
  325. $radio-disabled: () !default;
  326. $radio-disabled: map.merge(
  327. (
  328. 'input-border-color': getCssVar('disabled-border-color'),
  329. 'input-fill': getCssVar('disabled-bg-color'),
  330. 'icon-color': getCssVar('disabled-bg-color'),
  331. 'checked-input-border-color': getCssVar('disabled-border-color'),
  332. 'checked-input-fill': getCssVar('disabled-bg-color'),
  333. 'checked-icon-color': getCssVar('text-color-placeholder'),
  334. ),
  335. $radio-disabled
  336. );
  337. $radio-checked: () !default;
  338. $radio-checked: map.merge(
  339. (
  340. 'text-color': getCssVar('color-primary'),
  341. 'input-border-color': getCssVar('color-primary'),
  342. 'icon-color': getCssVar('color-primary'),
  343. ),
  344. $radio-checked
  345. );
  346. $radio-bordered-input-height: () !default;
  347. $radio-bordered-input-height: map.merge(
  348. (
  349. 'large': 14px,
  350. 'default': 12px,
  351. 'small': 12px,
  352. ),
  353. $radio-bordered-input-height
  354. );
  355. $radio-bordered-input-width: () !default;
  356. $radio-bordered-input-width: map.merge(
  357. (
  358. 'large': 14px,
  359. 'default': 12px,
  360. 'small': 12px,
  361. ),
  362. $radio-bordered-input-width
  363. );
  364. // Select
  365. $select: () !default;
  366. $select: map.merge(
  367. (
  368. 'border-color-hover': getCssVar('border-color-hover'),
  369. 'disabled-border': getCssVar('disabled-border-color'),
  370. 'font-size': getCssVar('font-size-base'),
  371. 'close-hover-color': getCssVar('text-color-secondary'),
  372. 'input-color': getCssVar('text-color-placeholder'),
  373. 'multiple-input-color': getCssVar('text-color-regular'),
  374. 'input-focus-border-color': getCssVar('color-primary'),
  375. 'input-font-size': 14px,
  376. ),
  377. $select
  378. );
  379. $select-option: () !default;
  380. $select-option: map.merge(
  381. (
  382. 'text-color': getCssVar('text-color-regular'),
  383. 'disabled-color': getCssVar('text-color-placeholder'),
  384. 'height': 34px,
  385. 'hover-background': getCssVar('fill-color', 'light'),
  386. 'selected-text-color': getCssVar('color-primary'),
  387. ),
  388. $select-option
  389. );
  390. $select-group: () !default;
  391. $select-group: map.merge(
  392. (
  393. 'text-color': getCssVar('color-info'),
  394. 'height': 30px,
  395. 'font-size': 12px,
  396. ),
  397. $select-group
  398. );
  399. $select-dropdown: () !default;
  400. $select-dropdown: map.merge(
  401. (
  402. 'bg-color': getCssVar('bg-color', 'overlay'),
  403. 'shadow': getCssVar('box-shadow-light'),
  404. 'empty-color': getCssVar('text-color-secondary'),
  405. 'max-height': 274px,
  406. 'padding': 6px 0,
  407. 'empty-padding': 10px 0,
  408. 'border': 1px solid getCssVar('border-color-light'),
  409. ),
  410. $select-dropdown
  411. );
  412. $select-tags-prefix-padding: () !default;
  413. $select-tags-prefix-padding: map.merge(
  414. (
  415. 'large': 8px,
  416. 'default': 6px,
  417. 'small': 4px,
  418. ),
  419. $select-tags-prefix-padding
  420. );
  421. // Alert
  422. // css3 var in packages/theme-chalk/src/alert.scss
  423. $alert: () !default;
  424. $alert: map.merge(
  425. (
  426. 'padding': 8px 16px,
  427. 'border-radius-base': getCssVar('border-radius-base'),
  428. 'title-font-size': 13px,
  429. 'description-font-size': 12px,
  430. 'close-font-size': 12px,
  431. 'close-customed-font-size': 13px,
  432. 'icon-size': 16px,
  433. 'icon-large-size': 28px,
  434. ),
  435. $alert
  436. );
  437. // MessageBox
  438. // css3 var in packages/theme-chalk/src/message-box.scss
  439. $messagebox: () !default;
  440. $messagebox: map.merge(
  441. (
  442. 'title-color': getCssVar('text-color-primary'),
  443. 'width': 420px,
  444. 'border-radius': 4px,
  445. 'font-size': getCssVar('font-size-large'),
  446. 'content-font-size': getCssVar('font-size-base'),
  447. 'content-color': getCssVar('text-color-regular'),
  448. 'error-font-size': 12px,
  449. 'padding-primary': 15px,
  450. ),
  451. $messagebox
  452. );
  453. // Message
  454. // css3 var in packages/theme-chalk/src/message.scss
  455. $message: () !default;
  456. $message: map.merge(
  457. (
  458. 'bg-color': getCssVar('color', 'info', 'light-9'),
  459. 'border-color': getCssVar('border-color-lighter'),
  460. 'padding': 15px 19px,
  461. 'close-size': 16px,
  462. 'close-icon-color': getCssVar('text-color-placeholder'),
  463. 'close-hover-color': getCssVar('text-color-secondary'),
  464. ),
  465. $message
  466. );
  467. // Notification
  468. // css3 var in packages/theme-chalk/src/notification.scss
  469. $notification: () !default;
  470. $notification: map.merge(
  471. (
  472. 'width': 330px,
  473. 'padding': 14px 26px 14px 13px,
  474. 'radius': 8px,
  475. 'shadow': getCssVar('box-shadow-light'),
  476. 'border-color': getCssVar('border-color-lighter'),
  477. 'icon-size': 24px,
  478. 'close-font-size':
  479. var(
  480. #{getCssVarName('message-close-size')},
  481. map.get($message, 'close-size')
  482. ),
  483. 'group-margin-left': 13px,
  484. 'group-margin-right': 8px,
  485. 'content-font-size': getCssVar('font-size-base'),
  486. 'content-color': getCssVar('text-color-regular'),
  487. 'title-font-size': 16px,
  488. 'title-color': getCssVar('text-color-primary'),
  489. 'close-color': getCssVar('text-color-secondary'),
  490. 'close-hover-color': getCssVar('text-color-regular'),
  491. ),
  492. $notification
  493. );
  494. // Input
  495. // css3 var in packages/theme-chalk/src/input.scss
  496. $input: () !default;
  497. $input: map.merge(
  498. (
  499. 'text-color': getCssVar('text-color-regular'),
  500. 'border': getCssVar('border'),
  501. 'hover-border': getCssVar('border-color-hover'),
  502. 'focus-border': getCssVar('color-primary'),
  503. 'transparent-border': 0 0 0 1px transparent inset,
  504. 'border-color': getCssVar('border-color'),
  505. 'border-radius': getCssVar('border-radius-base'),
  506. 'bg-color': getCssVar('fill-color', 'blank'),
  507. 'icon-color': getCssVar('text-color-placeholder'),
  508. 'placeholder-color': getCssVar('text-color-placeholder'),
  509. 'hover-border-color': getCssVar('border-color-hover'),
  510. 'clear-hover-color': getCssVar('text-color-secondary'),
  511. 'focus-border-color': getCssVar('color-primary'),
  512. 'width': 100%,
  513. ),
  514. $input
  515. );
  516. $input-disabled: () !default;
  517. $input-disabled: map.merge(
  518. (
  519. 'fill': getCssVar('disabled-bg-color'),
  520. 'border': getCssVar('disabled-border-color'),
  521. 'text-color': getCssVar('disabled-text-color'),
  522. 'placeholder-color': getCssVar('text-color-placeholder'),
  523. ),
  524. $input-disabled
  525. );
  526. $input-font-size: () !default;
  527. $input-font-size: map.merge(
  528. (
  529. 'large': 14px,
  530. 'default': 14px,
  531. 'small': 12px,
  532. ),
  533. $input-font-size
  534. );
  535. $input-height: () !default;
  536. $input-height: map.merge($common-component-size, $input-height);
  537. $input-line-height: () !default;
  538. $input-line-height: map.merge($common-component-size, $input-line-height);
  539. $input-number-width: () !default;
  540. $input-number-width: map.merge(
  541. (
  542. 'large': 180px,
  543. 'default': 150px,
  544. 'small': 120px,
  545. ),
  546. $input-number-width
  547. );
  548. $input-padding-horizontal: () !default;
  549. $input-padding-horizontal: map.merge(
  550. (
  551. 'large': 16px,
  552. 'default': 12px,
  553. 'small': 8px,
  554. ),
  555. $input-padding-horizontal
  556. );
  557. // Cascader
  558. // css3 var in packages/theme-chalk/src/cascader.scss
  559. $cascader: () !default;
  560. $cascader: map.merge(
  561. (
  562. 'menu-text-color': getCssVar('text-color-regular'),
  563. 'menu-selected-text-color': getCssVar('color-primary'),
  564. 'menu-fill': getCssVar('bg-color', 'overlay'),
  565. 'menu-font-size': getCssVar('font-size-base'),
  566. 'menu-radius': getCssVar('border-radius-base'),
  567. 'menu-border': solid 1px getCssVar('border-color-light'),
  568. 'menu-shadow': getCssVar('box-shadow-light'),
  569. 'node-background-hover': getCssVar('fill-color', 'light'),
  570. 'node-color-disabled': getCssVar('text-color-placeholder'),
  571. 'color-empty': getCssVar('text-color-placeholder'),
  572. 'tag-background': getCssVar('fill-color'),
  573. ),
  574. $cascader
  575. );
  576. //statistic
  577. // css3 var in packages/theme-chalk/src/statistic.scss
  578. $statistic: () !default;
  579. $statistic: map.merge(
  580. (
  581. 'title-font-weight': 400,
  582. 'title-font-size': getCssVar('font-size', 'extra-small'),
  583. 'title-color': getCssVar('text-color', 'regular'),
  584. 'content-font-weight': 400,
  585. 'content-font-size': getCssVar('font-size', 'extra-large'),
  586. 'content-color': getCssVar('text-color', 'primary'),
  587. ),
  588. $statistic
  589. );
  590. // Button
  591. // css3 var in packages/theme-chalk/src/button.scss
  592. $button: () !default;
  593. $button: map.merge(
  594. (
  595. 'font-weight': getCssVar('font-weight-primary'),
  596. 'border-color': getCssVar('border-color'),
  597. 'bg-color': getCssVar('fill-color', 'blank'),
  598. 'text-color': getCssVar('text-color', 'regular'),
  599. 'disabled-text-color': getCssVar('disabled-text-color'),
  600. 'disabled-bg-color': getCssVar('fill-color', 'blank'),
  601. 'disabled-border-color': getCssVar('border-color-light'),
  602. 'divide-border-color': rgba($color-white, 0.5),
  603. 'hover-text-color': getCssVar('color-primary'),
  604. 'hover-bg-color': getCssVar('color-primary', 'light-9'),
  605. 'hover-border-color': getCssVar('color-primary-light-7'),
  606. 'active-text-color': getCssVar('button-hover-text-color'),
  607. 'active-border-color': getCssVar('color-primary'),
  608. 'active-bg-color': getCssVar('button', 'hover-bg-color'),
  609. 'outline-color': getCssVar('color-primary', 'light-5'),
  610. 'hover-link-text-color': getCssVar('color-info'),
  611. 'active-color': getCssVar('text-color', 'primary'),
  612. ),
  613. $button
  614. );
  615. $button-border-width: $border-width !default;
  616. // need mix, so do not use css var
  617. $button-hover-tint-percent: 20%;
  618. $button-active-shade-percent: 10%;
  619. $button-border-color: () !default;
  620. $button-bg-color: () !default;
  621. $button-text-color: () !default;
  622. @each $type in $types {
  623. $button-border-color: map.merge(
  624. (
  625. $type: map.get($colors, $type, 'base'),
  626. ),
  627. $button-border-color
  628. ) !global;
  629. $button-bg-color: map.merge(
  630. (
  631. $type: map.get($colors, $type, 'base'),
  632. ),
  633. $button-bg-color
  634. ) !global;
  635. }
  636. $button-font-size: () !default;
  637. $button-font-size: map.merge(
  638. (
  639. 'large': getCssVar('font-size', 'base'),
  640. 'default': getCssVar('font-size', 'base'),
  641. 'small': 12px,
  642. ),
  643. $button-font-size
  644. );
  645. $button-border-radius: () !default;
  646. $button-border-radius: map.merge(
  647. (
  648. 'large': getCssVar('border-radius', 'base'),
  649. 'default': getCssVar('border-radius', 'base'),
  650. 'small': calc(#{getCssVar('border-radius', 'base')} - 1px),
  651. ),
  652. $button-border-radius
  653. );
  654. $button-padding-vertical: () !default;
  655. $button-padding-vertical: map.merge(
  656. (
  657. 'large': 13px,
  658. 'default': 9px,
  659. 'small': 6px,
  660. ),
  661. $button-padding-vertical
  662. );
  663. $button-padding-horizontal: () !default;
  664. $button-padding-horizontal: map.merge(
  665. (
  666. 'large': 20px,
  667. 'default': 16px,
  668. 'small': 12px,
  669. ),
  670. $button-padding-horizontal
  671. );
  672. // Switch
  673. // css3 var in packages/theme-chalk/src/switch.scss
  674. $switch: () !default;
  675. $switch: map.merge(
  676. (
  677. 'on-color': getCssVar('color-primary'),
  678. 'off-color': getCssVar('border-color'),
  679. ),
  680. $switch
  681. );
  682. // Dialog
  683. // css3 var in packages/theme-chalk/src/dialog.scss
  684. $dialog: () !default;
  685. $dialog: map.merge(
  686. (
  687. 'width': 50%,
  688. 'margin-top': 15vh,
  689. 'bg-color': getCssVar('bg-color'),
  690. 'box-shadow': getCssVar('box-shadow'),
  691. 'title-font-size': getCssVar('font-size-large'),
  692. 'content-font-size': 14px,
  693. 'font-line-height': getCssVar('font-line-height-primary'),
  694. 'padding-primary': 20px,
  695. 'border-radius': getCssVar('border-radius-small'),
  696. ),
  697. $dialog
  698. );
  699. // Table
  700. // css3 var in packages/theme-chalk/src/table.scss
  701. $table: () !default;
  702. $table: map.merge(
  703. (
  704. 'border-color': getCssVar('border-color-lighter'),
  705. 'border': 1px solid getCssVar('table-border-color'),
  706. 'text-color': getCssVar('text-color-regular'),
  707. 'header-text-color': getCssVar('text-color-secondary'),
  708. 'row-hover-bg-color': getCssVar('fill-color', 'light'),
  709. 'current-row-bg-color': getCssVar('color-primary-light-9'),
  710. 'header-bg-color': getCssVar('bg-color'),
  711. 'fixed-box-shadow': getCssVar('box-shadow', 'light'),
  712. 'bg-color': getCssVar('fill-color', 'blank'),
  713. 'tr-bg-color': getCssVar('fill-color', 'blank'),
  714. 'expanded-cell-bg-color': getCssVar('fill-color', 'blank'),
  715. 'fixed-left-column': inset 10px 0 10px -10px rgb(0 0 0 / 15%),
  716. 'fixed-right-column': inset -10px 0 10px -10px rgb(0 0 0 / 15%),
  717. ),
  718. $table
  719. );
  720. $table-font-size: () !default;
  721. $table-font-size: map.merge(
  722. (
  723. 'large': getCssVar('font-size', 'base'),
  724. 'default': 14px,
  725. 'small': 12px,
  726. ),
  727. $table-font-size
  728. );
  729. $table-padding: () !default;
  730. $table-padding: map.merge(
  731. (
  732. 'large': 12px 0,
  733. 'default': 8px 0,
  734. 'small': 4px 0,
  735. ),
  736. $table-padding
  737. );
  738. $table-cell-padding: () !default;
  739. $table-cell-padding: map.merge(
  740. (
  741. 'large': 0 16px,
  742. 'default': 0 12px,
  743. 'small': 0 8px,
  744. ),
  745. $table-cell-padding
  746. );
  747. // Pagination
  748. // css3 var in packages/theme-chalk/src/pagination.scss
  749. $pagination: () !default;
  750. $pagination: map.merge(
  751. (
  752. 'font-size': 14px,
  753. 'bg-color': getCssVar('fill-color', 'blank'),
  754. 'text-color': getCssVar('text-color-primary'),
  755. 'border-radius': 2px,
  756. 'button-color': getCssVar('text-color-primary'),
  757. 'button-width': 32px,
  758. 'button-height': 32px,
  759. 'button-disabled-color': getCssVar('text-color-placeholder'),
  760. 'button-disabled-bg-color': getCssVar('fill-color', 'blank'),
  761. 'button-bg-color': getCssVar('fill-color'),
  762. 'hover-color': getCssVar('color-primary'),
  763. 'font-size-small': 12px,
  764. 'button-width-small': 24px,
  765. 'button-height-small': 24px,
  766. 'item-gap': 16px,
  767. ),
  768. $pagination
  769. );
  770. // Popup
  771. // css3 var in packages/theme-chalk/src/popup.scss
  772. $popup: () !default;
  773. $popup: map.merge(
  774. (
  775. 'modal-bg-color': getCssVar('color-black'),
  776. 'modal-opacity': 0.5,
  777. ),
  778. $popup
  779. );
  780. // Popover
  781. // css3 var in packages/theme-chalk/src/popover.scss
  782. $popover: () !default;
  783. $popover: map.merge(
  784. (
  785. 'bg-color': getCssVar('bg-color', 'overlay'),
  786. 'font-size': getCssVar('font-size-base'),
  787. 'border-color': getCssVar('border-color-lighter'),
  788. 'padding': 12px,
  789. 'padding-large': 18px 20px,
  790. 'title-font-size': 16px,
  791. 'title-text-color': getCssVar('text-color-primary'),
  792. 'border-radius': 4px,
  793. ),
  794. $popover
  795. );
  796. // popper
  797. // Pay attention to the difference between 'popper' and 'popover'
  798. $popper: () !default;
  799. $popper: map.merge(
  800. (
  801. 'border-radius': var(#{getCssVarName('popover-border-radius')}, 4px),
  802. ),
  803. $popper
  804. );
  805. // skeleton
  806. $skeleton: () !default;
  807. $skeleton: map.merge(
  808. (
  809. 'color': getCssVar('fill-color'),
  810. 'to-color': getCssVar('fill-color', 'darker'),
  811. ),
  812. $skeleton
  813. );
  814. // Tag
  815. // css3 var in packages/theme-chalk/src/tag.scss
  816. $tag: () !default;
  817. $tag: map.merge(
  818. (
  819. 'font-size': 12px,
  820. 'border-radius': 4px,
  821. 'border-radius-rounded': 9999px,
  822. ),
  823. $tag
  824. );
  825. $tag-height: () !default;
  826. $tag-height: map.merge(
  827. (
  828. 'large': 32px,
  829. 'default': 24px,
  830. 'small': 20px,
  831. ),
  832. $tag-height
  833. );
  834. $tag-padding: () !default;
  835. $tag-padding: map.merge(
  836. (
  837. 'large': 12px,
  838. 'default': 10px,
  839. 'small': 8px,
  840. ),
  841. $tag-padding
  842. );
  843. $tag-icon-size: () !default;
  844. $tag-icon-size: map.merge(
  845. (
  846. 'large': 16px,
  847. 'default': 14px,
  848. 'small': 12px,
  849. ),
  850. $tag-icon-size
  851. );
  852. // Text
  853. // css3 var in packages/theme-chalk/src/text.scss
  854. $text: () !default;
  855. $text: map.merge(
  856. (
  857. 'font-size': getCssVar('font-size', 'base'),
  858. 'color': getCssVar('text-color', 'regular'),
  859. ),
  860. $text
  861. );
  862. $text-font-size: () !default;
  863. $text-font-size: map.merge(
  864. (
  865. 'large': getCssVar('font-size', 'medium'),
  866. 'default': getCssVar('font-size', 'base'),
  867. 'small': getCssVar('font-size', 'extra-small'),
  868. ),
  869. $text-font-size
  870. );
  871. // Tree
  872. // css3 var in packages/theme-chalk/src/tree.scss
  873. $tree: () !default;
  874. $tree: map.merge(
  875. (
  876. 'node-hover-bg-color': getCssVar('fill-color', 'light'),
  877. 'text-color': getCssVar('text-color-regular'),
  878. 'expand-icon-color': getCssVar('text-color-placeholder'),
  879. ),
  880. $tree
  881. );
  882. // Dropdown
  883. $dropdown: () !default;
  884. $dropdown: map.merge(
  885. (
  886. 'menu-box-shadow': getCssVar('box-shadow-light'),
  887. 'menuItem-hover-fill': getCssVar('color-primary-light-9'),
  888. 'menuItem-hover-color': getCssVar('color-primary'),
  889. 'menu-index': 10,
  890. ),
  891. $dropdown
  892. );
  893. // drawer
  894. $drawer: () !default;
  895. $drawer: map.merge(
  896. (
  897. 'bg-color':
  898. var(#{getCssVarName('dialog', 'bg-color')}, #{getCssVar('bg-color')}),
  899. 'padding-primary': var(#{getCssVarName('dialog', 'padding-primary')}, 20px),
  900. ),
  901. $drawer
  902. );
  903. // Badge
  904. // css3 var in packages/theme-chalk/src/badge.scss
  905. $badge: () !default;
  906. $badge: map.merge(
  907. (
  908. 'bg-color': getCssVar('color-danger'),
  909. 'radius': 10px,
  910. 'font-size': 12px,
  911. 'padding': 6px,
  912. 'size': 18px,
  913. ),
  914. $badge
  915. );
  916. // Card
  917. $card: () !default;
  918. $card: map.merge(
  919. (
  920. 'border-color': getCssVar('border-color', 'light'),
  921. 'border-radius': 4px,
  922. 'padding': 20px,
  923. 'bg-color': getCssVar('fill-color', 'blank'),
  924. ),
  925. $card
  926. );
  927. // Slider
  928. // css3 var in packages/theme-chalk/src/slider.scss
  929. $slider: () !default;
  930. $slider: map.merge(
  931. (
  932. 'main-bg-color': getCssVar('color-primary'),
  933. 'runway-bg-color': getCssVar('border-color-light'),
  934. 'stop-bg-color': getCssVar('color-white'),
  935. 'disabled-color': getCssVar('text-color-placeholder'),
  936. 'border-radius': 3px,
  937. 'height': 6px,
  938. 'button-size': 20px,
  939. 'button-wrapper-size': 36px,
  940. 'button-wrapper-offset': -15px,
  941. ),
  942. $slider
  943. );
  944. // Menu
  945. // css3 var in packages/theme-chalk/src/menu.scss
  946. $menu: () !default;
  947. $menu: map.merge(
  948. (
  949. 'active-color': getCssVar('color-primary'),
  950. 'text-color': getCssVar('text-color-primary'),
  951. 'hover-text-color': getCssVar('color-primary'),
  952. 'bg-color': getCssVar('fill-color', 'blank'),
  953. 'hover-bg-color': getCssVar('color-primary-light-9'),
  954. 'item-height': 56px,
  955. 'sub-item-height': calc(#{getCssVar('menu-item-height')} - 6px),
  956. 'horizontal-sub-item-height': 36px,
  957. 'item-font-size': getCssVar('font-size-base'),
  958. 'item-hover-fill': getCssVar('color-primary-light-9'),
  959. 'border-color': getCssVar('border-color'),
  960. 'base-level-padding': 20px,
  961. 'level-padding': 20px,
  962. 'icon-width': 24px,
  963. ),
  964. $menu
  965. );
  966. // Rate
  967. $rate: () !default;
  968. $rate: map.merge(
  969. (
  970. 'height': 20px,
  971. 'font-size': getCssVar('font-size-base'),
  972. 'icon-size': 18px,
  973. 'icon-margin': 6px,
  974. // seems not be used, to be removed
  975. // 'icon-color': getCssVar('text-color-placeholder),
  976. 'void-color': getCssVar('border-color', 'darker'),
  977. 'fill-color': #f7ba2a,
  978. 'disabled-void-color': getCssVar('fill-color'),
  979. 'text-color': getCssVar('text-color', 'primary'),
  980. ),
  981. $rate
  982. );
  983. // DatePicker
  984. // css3 var packages/theme-chalk/src/date-picker/var.scss
  985. $datepicker: () !default;
  986. $datepicker: map.merge(
  987. (
  988. 'text-color': getCssVar('text-color-regular'),
  989. 'off-text-color': getCssVar('text-color-placeholder'),
  990. 'header-text-color': getCssVar('text-color-regular'),
  991. 'icon-color': getCssVar('text-color-primary'),
  992. 'border-color': getCssVar('disabled-border-color'),
  993. 'inner-border-color': getCssVar('border-color-light'),
  994. 'inrange-bg-color': getCssVar('border-color-extra-light'),
  995. 'inrange-hover-bg-color': getCssVar('border-color-extra-light'),
  996. 'active-color': getCssVar('color-primary'),
  997. 'hover-text-color': getCssVar('color-primary'),
  998. ),
  999. $datepicker
  1000. );
  1001. $date-editor: () !default;
  1002. $date-editor: map.merge(
  1003. (
  1004. 'width': 220px,
  1005. 'monthrange-width': 300px,
  1006. 'daterange-width': 350px,
  1007. 'datetimerange-width': 400px,
  1008. ),
  1009. $date-editor
  1010. );
  1011. // Loading
  1012. // css3 var in packages/theme-chalk/src/loading.scss
  1013. $loading: () !default;
  1014. $loading: map.merge(
  1015. (
  1016. 'spinner-size': 42px,
  1017. 'fullscreen-spinner-size': 50px,
  1018. ),
  1019. $loading
  1020. );
  1021. // Scrollbar
  1022. // css3 var in packages/theme-chalk/src/scrollbar.scss
  1023. $scrollbar: () !default;
  1024. $scrollbar: map.merge(
  1025. (
  1026. 'opacity': 0.3,
  1027. 'bg-color': getCssVar('text-color-secondary'),
  1028. 'hover-opacity': 0.5,
  1029. 'hover-bg-color': getCssVar('text-color-secondary'),
  1030. ),
  1031. $scrollbar
  1032. );
  1033. // Carousel
  1034. // css3 var in packages/theme-chalk/src/carousel.scss
  1035. $carousel: () !default;
  1036. $carousel: map.merge(
  1037. (
  1038. 'arrow-font-size': 12px,
  1039. 'arrow-size': 36px,
  1040. 'arrow-background': rgba(31, 45, 61, 0.11),
  1041. 'arrow-hover-background': rgba(31, 45, 61, 0.23),
  1042. 'indicator-width': 30px,
  1043. 'indicator-height': 2px,
  1044. 'indicator-padding-horizontal': 4px,
  1045. 'indicator-padding-vertical': 12px,
  1046. 'indicator-out-color': getCssVar('border-color-hover'),
  1047. ),
  1048. $carousel
  1049. );
  1050. // Collapse
  1051. // css3 var in packages/theme-chalk/src/collapse.scss
  1052. $collapse: () !default;
  1053. $collapse: map.merge(
  1054. (
  1055. 'border-color': getCssVar('border-color-lighter'),
  1056. 'header-height': 48px,
  1057. 'header-bg-color': getCssVar('fill-color', 'blank'),
  1058. 'header-text-color': getCssVar('text-color-primary'),
  1059. 'header-font-size': 13px,
  1060. 'content-bg-color': getCssVar('fill-color', 'blank'),
  1061. 'content-font-size': 13px,
  1062. 'content-text-color': getCssVar('text-color-primary'),
  1063. ),
  1064. $collapse
  1065. );
  1066. // Transfer
  1067. // css3 var in packages/theme-chalk/src/transfer.scss
  1068. $transfer: () !default;
  1069. $transfer: map.merge(
  1070. (
  1071. 'border-color': getCssVar('border-color-lighter'),
  1072. 'border-radius': getCssVar('border-radius-base'),
  1073. 'panel-width': 200px,
  1074. 'panel-header-height': 40px,
  1075. 'panel-header-bg-color': getCssVar('fill-color', 'light'),
  1076. 'panel-footer-height': 40px,
  1077. 'panel-body-height': 278px,
  1078. 'item-height': 30px,
  1079. 'filter-height': 32px,
  1080. ),
  1081. $transfer
  1082. );
  1083. // Timeline
  1084. // css3 var in packages/theme-chalk/src/timeline-item.scss
  1085. $timeline: () !default;
  1086. $timeline: map.merge(
  1087. (
  1088. 'node-size-normal': 12px,
  1089. 'node-size-large': 14px,
  1090. 'node-color': getCssVar('border-color-light'),
  1091. ),
  1092. $timeline
  1093. );
  1094. // Tabs
  1095. // css3 var in packages/theme-chalk/src/tabs.scss
  1096. $tabs: () !default;
  1097. $tabs: map.merge(
  1098. (
  1099. 'header-height': 40px,
  1100. ),
  1101. $tabs
  1102. );
  1103. // Backtop
  1104. // css3 var in packages/theme-chalk/src/backtop.scss
  1105. $backtop: () !default;
  1106. $backtop: map.merge(
  1107. (
  1108. 'bg-color': getCssVar('bg-color', 'overlay'),
  1109. 'text-color': getCssVar('color-primary'),
  1110. 'hover-bg-color': getCssVar('border-color-extra-light'),
  1111. ),
  1112. $backtop
  1113. );
  1114. // Link
  1115. // css3 var in packages/theme-chalk/src/link.scss
  1116. $link: () !default;
  1117. $link: map.merge(
  1118. (
  1119. 'font-size': getCssVar('font-size-base'),
  1120. 'font-weight': getCssVar('font-weight-primary'),
  1121. 'text-color': getCssVar('text-color-regular'),
  1122. 'hover-text-color': getCssVar('color-primary'),
  1123. 'disabled-text-color': getCssVar('text-color-placeholder'),
  1124. ),
  1125. $link
  1126. );
  1127. $link-text-color: () !default;
  1128. @each $type in $types {
  1129. $link-text-color: map.merge(
  1130. $link-text-color,
  1131. (
  1132. $type: map.get($colors, $type, 'base'),
  1133. )
  1134. ) !global;
  1135. }
  1136. // Calendar
  1137. // css3 var in packages/theme-chalk/src/calendar.scss
  1138. $calendar: () !default;
  1139. $calendar: map.merge(
  1140. (
  1141. 'border':
  1142. var(
  1143. #{getCssVarName('table-border')},
  1144. 1px solid #{getCssVar('border-color-lighter')}
  1145. ),
  1146. 'header-border-bottom': getCssVar('calendar-border'),
  1147. 'selected-bg-color': getCssVar('color', 'primary', 'light-9'),
  1148. 'cell-width': 85px,
  1149. ),
  1150. $calendar
  1151. );
  1152. // Form
  1153. // css3 var in packages/theme-chalk/src/form.scss
  1154. $form: () !default;
  1155. $form: map.merge(
  1156. (
  1157. 'label-font-size': getCssVar('font-size-base'),
  1158. 'inline-content-width': 220px,
  1159. ),
  1160. $form
  1161. );
  1162. // Avatar
  1163. // css3 var in packages/theme-chalk/src/avatar.scss
  1164. $avatar: () !default;
  1165. $avatar: map.merge(
  1166. (
  1167. 'text-color': getCssVar('color-white'),
  1168. 'bg-color': getCssVar('text-color', 'disabled'),
  1169. 'text-size': 14px,
  1170. 'icon-size': 18px,
  1171. 'border-radius': getCssVar('border-radius-base'),
  1172. ),
  1173. $avatar
  1174. );
  1175. $avatar-size: () !default;
  1176. $avatar-size: map.merge(
  1177. (
  1178. 'large': 56px,
  1179. 'default': 40px,
  1180. 'small': 24px,
  1181. ),
  1182. $avatar-size
  1183. );
  1184. // Empty
  1185. // css3 var in packages/theme-chalk/src/empty.scss
  1186. $empty: () !default;
  1187. $empty: map.merge(
  1188. (
  1189. 'padding': 40px 0,
  1190. 'image-width': 160px,
  1191. 'description-margin-top': 20px,
  1192. 'bottom-margin-top': 20px,
  1193. 'fill-color-0': getCssVar('color-white'),
  1194. 'fill-color-1': #fcfcfd,
  1195. 'fill-color-2': #f8f9fb,
  1196. 'fill-color-3': #f7f8fc,
  1197. 'fill-color-4': #eeeff3,
  1198. 'fill-color-5': #edeef2,
  1199. 'fill-color-6': #e9ebef,
  1200. 'fill-color-7': #e5e7e9,
  1201. 'fill-color-8': #e0e3e9,
  1202. 'fill-color-9': #d5d7de,
  1203. ),
  1204. $empty
  1205. );
  1206. // Descriptions
  1207. // css3 var in packages/theme-chalk/src/descriptions.scss
  1208. $descriptions: () !default;
  1209. $descriptions: map.merge(
  1210. (
  1211. 'table-border': 1px solid getCssVar('border-color-lighter'),
  1212. 'item-bordered-label-background': getCssVar('fill-color', 'light'),
  1213. ),
  1214. $descriptions
  1215. );
  1216. // Result
  1217. // css3 var in packages/theme-chalk/src/result.scss
  1218. $result: () !default;
  1219. $result: map.merge(
  1220. (
  1221. 'padding': 40px 30px,
  1222. 'icon-font-size': 64px,
  1223. 'title-font-size': 20px,
  1224. 'title-margin-top': 20px,
  1225. 'subtitle-margin-top': 10px,
  1226. 'extra-margin-top': 30px,
  1227. ),
  1228. $result
  1229. );
  1230. // Upload
  1231. // css3 var in packages/theme-chalk/src/upload.scss
  1232. $upload: () !default;
  1233. $upload: map.merge(
  1234. (
  1235. 'dragger-padding-horizontal': 40px,
  1236. 'dragger-padding-vertical': 10px,
  1237. ),
  1238. $upload
  1239. );
  1240. // transition
  1241. $transition: () !default;
  1242. $transition: map.merge(
  1243. (
  1244. 'all': all getCssVar('transition-duration')
  1245. getCssVar('transition-function-ease-in-out-bezier'),
  1246. 'fade': opacity getCssVar('transition-duration')
  1247. getCssVar('transition-function-fast-bezier'),
  1248. 'md-fade': (
  1249. transform getCssVar('transition-duration')
  1250. getCssVar('transition-function-fast-bezier'),
  1251. opacity getCssVar('transition-duration')
  1252. getCssVar('transition-function-fast-bezier'),
  1253. ),
  1254. 'fade-linear': opacity getCssVar('transition-duration-fast') linear,
  1255. 'border': border-color getCssVar('transition-duration-fast')
  1256. getCssVar('transition-function-ease-in-out-bezier'),
  1257. 'box-shadow': box-shadow getCssVar('transition-duration-fast')
  1258. getCssVar('transition-function-ease-in-out-bezier'),
  1259. 'color': color getCssVar('transition-duration-fast')
  1260. getCssVar('transition-function-ease-in-out-bezier'),
  1261. ),
  1262. $transition
  1263. );
  1264. $transition-duration: () !default;
  1265. $transition-duration: map.merge(
  1266. (
  1267. '': 0.3s,
  1268. 'fast': 0.2s,
  1269. ),
  1270. $transition-duration
  1271. );
  1272. $transition-function: () !default;
  1273. $transition-function: map.merge(
  1274. (
  1275. 'ease-in-out-bezier': cubic-bezier(0.645, 0.045, 0.355, 1),
  1276. 'fast-bezier': cubic-bezier(0.23, 1, 0.32, 1),
  1277. ),
  1278. $transition-function
  1279. );
  1280. // header
  1281. $header: () !default;
  1282. $header: map.merge(
  1283. (
  1284. 'padding': 0 20px,
  1285. 'height': 60px,
  1286. ),
  1287. $header
  1288. );
  1289. // main
  1290. $main: () !default;
  1291. $main: map.merge(
  1292. (
  1293. 'padding': 20px,
  1294. ),
  1295. $main
  1296. );
  1297. // footer
  1298. $footer: () !default;
  1299. $footer: map.merge(
  1300. (
  1301. 'padding': 0 20px,
  1302. 'height': 60px,
  1303. ),
  1304. $footer
  1305. );
  1306. // Break-point
  1307. $sm: 768px !default;
  1308. $md: 992px !default;
  1309. $lg: 1200px !default;
  1310. $xl: 1920px !default;
  1311. $breakpoints: (
  1312. 'xs': '(max-width: #{$sm})',
  1313. 'sm': '(min-width: #{$sm})',
  1314. 'md': '(min-width: #{$md})',
  1315. 'lg': '(min-width: #{$lg})',
  1316. 'xl': '(min-width: #{$xl})',
  1317. ) !default;
  1318. $breakpoints-spec: (
  1319. 'xs-only': '(max-width: #{$sm - 1})',
  1320. 'sm-and-up': '(min-width: #{$sm})',
  1321. 'sm-only': '(min-width: #{$sm}) and (max-width: #{$md - 1})',
  1322. 'sm-and-down': '(max-width: #{$md - 1})',
  1323. 'md-and-up': '(min-width: #{$md})',
  1324. 'md-only': '(min-width: #{$md}) and (max-width: #{$lg - 1})',
  1325. 'md-and-down': '(max-width: #{$lg - 1})',
  1326. 'lg-and-up': '(min-width: #{$lg})',
  1327. 'lg-only': '(min-width: #{$lg}) and (max-width: #{$xl - 1})',
  1328. 'lg-and-down': '(max-width: #{$xl - 1})',
  1329. 'xl-only': '(min-width: #{$xl})',
  1330. ) !default;