tip.scss 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. @use "sass:map";
  2. @use "sass:list";
  3. $btnThemeList: (
  4. (
  5. name: "primary",
  6. borderColor: var(--vxe-ui-font-primary-color),
  7. bgColor: var(--vxe-ui-font-primary-tinge-color)
  8. ),
  9. (
  10. name: "success",
  11. borderColor: var(--vxe-ui-status-success-color),
  12. bgColor: var(--vxe-ui-status-success-tinge-color)
  13. ),
  14. (
  15. name: "info",
  16. borderColor: var(--vxe-ui-status-info-color),
  17. bgColor: var(--vxe-ui-status-info-tinge-color)
  18. ),
  19. (
  20. name: "warning",
  21. borderColor: var(--vxe-ui-status-warning-color),
  22. bgColor: var(--vxe-ui-status-warning-tinge-color)
  23. ),
  24. (
  25. name: "danger",
  26. borderColor: var(--vxe-ui-status-danger-color),
  27. bgColor: var(--vxe-ui-status-danger-tinge-color)
  28. ),
  29. (
  30. name: "error",
  31. borderColor: var(--vxe-ui-status-error-color),
  32. bgColor: var(--vxe-ui-status-error-tinge-color)
  33. )
  34. );
  35. .vxe-tip {
  36. position: relative;
  37. display: flex;
  38. flex-direction: row;
  39. color: var(--vxe-ui-font-color);
  40. margin-bottom: var(--vxe-ui-layout-padding-default);
  41. padding: var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-double);
  42. &::after {
  43. content: "";
  44. position: absolute;
  45. top: 0;
  46. left: 0;
  47. height: 100%;
  48. width: 5px;
  49. background-color: var(--vxe-ui-font-color);
  50. z-index: 1;
  51. }
  52. @for $index from 0 to list.length($btnThemeList) {
  53. $item: list.nth($btnThemeList, $index + 1);
  54. &.theme--#{map.get($item, name)} {
  55. background-color: map.get($item, bgColor);
  56. &::after {
  57. background-color: map.get($item, borderColor);
  58. }
  59. .vxe-tip--icon {
  60. color: map.get($item, borderColor);
  61. }
  62. }
  63. }
  64. &.has--title {
  65. padding: var(--vxe-ui-layout-padding-default) var(--vxe-ui-layout-padding-double) var(--vxe-ui-layout-padding-double) var(--vxe-ui-layout-padding-double);
  66. .vxe-tip--icon {
  67. font-size: 1.2em;
  68. line-height: 2em;
  69. }
  70. }
  71. }
  72. .vxe-tip--icon {
  73. flex-shrink: 0;
  74. padding-right: var(--vxe-ui-layout-padding-half);
  75. }
  76. .vxe-tip--body {
  77. flex-grow: 1;
  78. }
  79. .vxe-tip--title {
  80. font-size: 1.1em;
  81. line-height: 2em;
  82. font-weight: 700;
  83. }
  84. .vxe-tip {
  85. font-size: var(--vxe-ui-font-size-default);
  86. &.size--medium {
  87. font-size: var(--vxe-ui-font-size-medium);
  88. }
  89. &.size--small {
  90. font-size: var(--vxe-ui-font-size-small);
  91. }
  92. &.size--mini {
  93. font-size: var(--vxe-ui-font-size-mini);
  94. }
  95. }