@mc-markets/ui 1.0.37 → 1.0.38

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 (83) hide show
  1. package/dist/index.js +38 -4
  2. package/dist/ui.css +1 -0
  3. package/package.json +17 -48
  4. package/packages/styles/README.md +0 -150
  5. package/packages/styles/element/form.scss +9 -15
  6. package/packages/styles/element/popper.scss +6 -0
  7. package/packages/styles/element/select.scss +35 -0
  8. package/packages/styles/index.scss +2 -1
  9. package/packages/styles/{theme-config.ts → theme-config.js} +35 -55
  10. package/packages/styles/variables.scss +17 -79
  11. package/dist/components/Alert/Alert.vue.d.ts +0 -18
  12. package/dist/components/Alert/index.d.ts +0 -3
  13. package/dist/components/Banner/Banner.vue.d.ts +0 -18
  14. package/dist/components/Banner/index.d.ts +0 -3
  15. package/dist/components/DatePicker/DatePicker.vue.d.ts +0 -17
  16. package/dist/components/DatePicker/index.d.ts +0 -3
  17. package/dist/components/Dialog/index.vue.d.ts +0 -51
  18. package/dist/components/Empty/Empty.vue.d.ts +0 -19
  19. package/dist/components/Empty/index.d.ts +0 -3
  20. package/dist/components/Icon/index.d.ts +0 -3
  21. package/dist/components/Icon/types.d.ts +0 -35
  22. package/dist/components/Notification/Notification.vue.d.ts +0 -18
  23. package/dist/components/Notification/index.d.ts +0 -3
  24. package/dist/components/Pagination/Pagination.vue.d.ts +0 -17
  25. package/dist/components/Pagination/index.d.ts +0 -3
  26. package/dist/components/Tab/Tab.vue.d.ts +0 -17
  27. package/dist/components/Tab/TabPane.vue.d.ts +0 -18
  28. package/dist/components/Tooltips/Tooltips.vue.d.ts +0 -18
  29. package/dist/components/Tooltips/index.d.ts +0 -3
  30. package/dist/index.d.ts +0 -24
  31. package/dist/node_modules/@babel/parser/typings/babel-parser.d.ts +0 -235
  32. package/dist/node_modules/@babel/types/lib/index.d.ts +0 -3308
  33. package/dist/node_modules/@ctrl/tinycolor/dist/conversion.d.ts +0 -61
  34. package/dist/node_modules/@ctrl/tinycolor/dist/css-color-names.d.ts +0 -4
  35. package/dist/node_modules/@ctrl/tinycolor/dist/format-input.d.ts +0 -37
  36. package/dist/node_modules/@ctrl/tinycolor/dist/from-ratio.d.ts +0 -14
  37. package/dist/node_modules/@ctrl/tinycolor/dist/index.d.ts +0 -207
  38. package/dist/node_modules/@ctrl/tinycolor/dist/interfaces.d.ts +0 -46
  39. package/dist/node_modules/@ctrl/tinycolor/dist/public_api.d.ts +0 -11
  40. package/dist/node_modules/@ctrl/tinycolor/dist/random.d.ts +0 -24
  41. package/dist/node_modules/@ctrl/tinycolor/dist/readability.d.ts +0 -46
  42. package/dist/node_modules/@ctrl/tinycolor/dist/to-ms-filter.d.ts +0 -5
  43. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +0 -514
  44. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +0 -327
  45. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +0 -103
  46. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +0 -47
  47. package/dist/node_modules/@types/lodash/common/array.d.ts +0 -2137
  48. package/dist/node_modules/@types/lodash/common/collection.d.ts +0 -1938
  49. package/dist/node_modules/@types/lodash/common/common.d.ts +0 -287
  50. package/dist/node_modules/@types/lodash/common/date.d.ts +0 -23
  51. package/dist/node_modules/@types/lodash/common/function.d.ts +0 -1455
  52. package/dist/node_modules/@types/lodash/common/lang.d.ts +0 -1700
  53. package/dist/node_modules/@types/lodash/common/math.d.ts +0 -405
  54. package/dist/node_modules/@types/lodash/common/number.d.ts +0 -131
  55. package/dist/node_modules/@types/lodash/common/object.d.ts +0 -2643
  56. package/dist/node_modules/@types/lodash/common/seq.d.ts +0 -210
  57. package/dist/node_modules/@types/lodash/common/string.d.ts +0 -788
  58. package/dist/node_modules/@types/lodash/common/util.d.ts +0 -1220
  59. package/dist/node_modules/@types/lodash/index.d.ts +0 -21
  60. package/dist/node_modules/@vue/compiler-core/dist/compiler-core.d.ts +0 -1093
  61. package/dist/node_modules/@vue/compiler-dom/dist/compiler-dom.d.ts +0 -45
  62. package/dist/node_modules/@vue/reactivity/dist/reactivity.d.ts +0 -756
  63. package/dist/node_modules/@vue/runtime-core/dist/runtime-core.d.ts +0 -1839
  64. package/dist/node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts +0 -1397
  65. package/dist/node_modules/@vue/shared/dist/shared.d.ts +0 -335
  66. package/dist/node_modules/@vueuse/core/index.d.ts +0 -4536
  67. package/dist/node_modules/@vueuse/core/node_modules/vue-demi/lib/index.d.ts +0 -22
  68. package/dist/node_modules/@vueuse/shared/index.d.ts +0 -1072
  69. package/dist/node_modules/@vueuse/shared/node_modules/vue-demi/lib/index.d.ts +0 -22
  70. package/dist/node_modules/async-validator/dist-types/index.d.ts +0 -43
  71. package/dist/node_modules/async-validator/dist-types/interface.d.ts +0 -135
  72. package/dist/node_modules/csstype/index.d.ts +0 -21297
  73. package/dist/node_modules/dayjs/index.d.ts +0 -429
  74. package/dist/node_modules/dayjs/locale/index.d.ts +0 -11
  75. package/dist/node_modules/dayjs/locale/types.d.ts +0 -33
  76. package/dist/node_modules/element-plus/es/index.d.ts +0 -26960
  77. package/dist/node_modules/element-plus/es/utils/vue3.3.polyfill.d.ts +0 -34
  78. package/dist/node_modules/memoize-one/dist/memoize-one.d.ts +0 -7
  79. package/dist/node_modules/vue/dist/vue.d.mts +0 -7
  80. package/dist/style.css +0 -1
  81. package/dist/styles/theme-config.d.ts +0 -83
  82. package/dist/types/auto-imports.d.ts +0 -84
  83. package/dist/types/components.d.ts +0 -55
package/dist/ui.css ADDED
@@ -0,0 +1 @@
1
+ @charset "UTF-8";:root{--el-color-white: #ffffff;--el-color-black: #000000;--el-color-primary-rgb: 64, 158, 255;--el-color-success-rgb: 103, 194, 58;--el-color-warning-rgb: 230, 162, 60;--el-color-danger-rgb: 245, 108, 108;--el-color-error-rgb: 245, 108, 108;--el-color-info-rgb: 144, 147, 153;--el-font-size-extra-large: 20px;--el-font-size-large: 18px;--el-font-size-medium: 16px;--el-font-size-base: 14px;--el-font-size-small: 13px;--el-font-size-extra-small: 12px;--el-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary: 500;--el-font-line-height-primary: 24px;--el-index-normal: 1;--el-index-top: 1000;--el-index-popper: 2000;--el-border-radius-base: 4px;--el-border-radius-small: 2px;--el-border-radius-round: 20px;--el-border-radius-circle: 100%;--el-transition-duration: .3s;--el-transition-duration-fast: .2s;--el-transition-function-ease-in-out-bezier: cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier: cubic-bezier(.23, 1, .32, 1);--el-transition-all: all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade: opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade: transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear: opacity var(--el-transition-duration-fast) linear;--el-transition-border: border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow: box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color: color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large: 40px;--el-component-size: 32px;--el-component-size-small: 24px}:root{color-scheme:light;--el-color-primary: #409eff;--el-color-primary-light-3: rgb(121, 187, 255);--el-color-primary-light-5: rgb(160, 207, 255);--el-color-primary-light-7: rgb(198, 226, 255);--el-color-primary-light-8: rgb(217, 236, 255);--el-color-primary-light-9: rgb(236, 245, 255);--el-color-primary-dark-2: rgb(51, 126, 204);--el-color-success: #67c23a;--el-color-success-light-3: rgb(149, 212, 117);--el-color-success-light-5: rgb(179, 225, 157);--el-color-success-light-7: rgb(209, 237, 196);--el-color-success-light-8: rgb(225, 243, 216);--el-color-success-light-9: rgb(240, 249, 235);--el-color-success-dark-2: rgb(82, 155, 46);--el-color-warning: #e6a23c;--el-color-warning-light-3: rgb(238, 190, 119);--el-color-warning-light-5: rgb(243, 209, 158);--el-color-warning-light-7: rgb(248, 227, 197);--el-color-warning-light-8: rgb(250, 236, 216);--el-color-warning-light-9: rgb(253, 246, 236);--el-color-warning-dark-2: rgb(184, 130, 48);--el-color-danger: #f56c6c;--el-color-danger-light-3: rgb(248, 152, 152);--el-color-danger-light-5: rgb(250, 182, 182);--el-color-danger-light-7: rgb(252, 211, 211);--el-color-danger-light-8: rgb(253, 226, 226);--el-color-danger-light-9: rgb(254, 240, 240);--el-color-danger-dark-2: rgb(196, 86, 86);--el-color-error: #f56c6c;--el-color-error-light-3: rgb(248, 152, 152);--el-color-error-light-5: rgb(250, 182, 182);--el-color-error-light-7: rgb(252, 211, 211);--el-color-error-light-8: rgb(253, 226, 226);--el-color-error-light-9: rgb(254, 240, 240);--el-color-error-dark-2: rgb(196, 86, 86);--el-color-info: #909399;--el-color-info-light-3: rgb(177, 179, 184);--el-color-info-light-5: rgb(200, 201, 204);--el-color-info-light-7: rgb(222, 223, 224);--el-color-info-light-8: rgb(233, 233, 235);--el-color-info-light-9: rgb(244, 244, 245);--el-color-info-dark-2: rgb(115, 118, 122);--el-bg-color: #ffffff;--el-bg-color-page: #f2f3f5;--el-bg-color-overlay: #ffffff;--el-text-color-primary: #303133;--el-text-color-regular: #606266;--el-text-color-secondary: #909399;--el-text-color-placeholder: #a8abb2;--el-text-color-disabled: #c0c4cc;--el-border-color: #dcdfe6;--el-border-color-light: #e4e7ed;--el-border-color-lighter: #ebeef5;--el-border-color-extra-light: #f2f6fc;--el-border-color-dark: #d4d7de;--el-border-color-darker: #cdd0d6;--el-fill-color: #f0f2f5;--el-fill-color-light: #f5f7fa;--el-fill-color-lighter: #fafafa;--el-fill-color-extra-light: #fafcff;--el-fill-color-dark: #ebedf0;--el-fill-color-darker: #e6e8eb;--el-fill-color-blank: #ffffff;--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color: var(--el-fill-color-light);--el-disabled-text-color: var(--el-text-color-placeholder);--el-disabled-border-color: var(--el-border-color-light);--el-overlay-color: rgba(0, 0, 0, .8);--el-overlay-color-light: rgba(0, 0, 0, .7);--el-overlay-color-lighter: rgba(0, 0, 0, .5);--el-mask-color: rgba(255, 255, 255, .9);--el-mask-color-extra-light: rgba(255, 255, 255, .3);--el-border-width: 1px;--el-border-style: solid;--el-border-color-hover: var(--el-text-color-disabled);--el-border: var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey: var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color: inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-button{--el-button-font-weight: var(--el-font-weight-primary);--el-button-border-color: var(--el-border-color);--el-button-bg-color: var(--el-fill-color-blank);--el-button-text-color: var(--el-text-color-regular);--el-button-disabled-text-color: var(--el-disabled-text-color);--el-button-disabled-bg-color: var(--el-fill-color-blank);--el-button-disabled-border-color: var(--el-border-color-light);--el-button-divide-border-color: rgba(255, 255, 255, .5);--el-button-hover-text-color: var(--el-color-primary);--el-button-hover-bg-color: var(--el-color-primary-light-9);--el-button-hover-border-color: var(--el-color-primary-light-7);--el-button-active-text-color: var(--el-button-hover-text-color);--el-button-active-border-color: var(--el-color-primary);--el-button-active-bg-color: var(--el-button-hover-bg-color);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-hover-link-text-color: var(--el-text-color-secondary);--el-button-active-color: var(--el-text-color-primary)}.el-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color)}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button{padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color: var(--el-color-primary);--el-button-hover-bg-color: var(--el-fill-color-blank);--el-button-hover-border-color: var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;inset:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{width:32px;border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:transparent;padding:2px;height:auto}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-primary);--el-button-border-color: var(--el-color-primary);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-active-color: var(--el-color-primary-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-primary-light-5);--el-button-hover-bg-color: var(--el-color-primary-light-3);--el-button-hover-border-color: var(--el-color-primary-light-3);--el-button-active-bg-color: var(--el-color-primary-dark-2);--el-button-active-border-color: var(--el-color-primary-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-primary-light-5);--el-button-disabled-border-color: var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color: var(--el-color-primary);--el-button-bg-color: var(--el-color-primary-light-9);--el-button-border-color: var(--el-color-primary-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-primary);--el-button-hover-border-color: var(--el-color-primary);--el-button-active-text-color: var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-success);--el-button-border-color: var(--el-color-success);--el-button-outline-color: var(--el-color-success-light-5);--el-button-active-color: var(--el-color-success-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-success-light-5);--el-button-hover-bg-color: var(--el-color-success-light-3);--el-button-hover-border-color: var(--el-color-success-light-3);--el-button-active-bg-color: var(--el-color-success-dark-2);--el-button-active-border-color: var(--el-color-success-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-success-light-5);--el-button-disabled-border-color: var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color: var(--el-color-success);--el-button-bg-color: var(--el-color-success-light-9);--el-button-border-color: var(--el-color-success-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-success);--el-button-hover-border-color: var(--el-color-success);--el-button-active-text-color: var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-warning);--el-button-border-color: var(--el-color-warning);--el-button-outline-color: var(--el-color-warning-light-5);--el-button-active-color: var(--el-color-warning-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-warning-light-5);--el-button-hover-bg-color: var(--el-color-warning-light-3);--el-button-hover-border-color: var(--el-color-warning-light-3);--el-button-active-bg-color: var(--el-color-warning-dark-2);--el-button-active-border-color: var(--el-color-warning-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-warning-light-5);--el-button-disabled-border-color: var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color: var(--el-color-warning);--el-button-bg-color: var(--el-color-warning-light-9);--el-button-border-color: var(--el-color-warning-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-warning);--el-button-hover-border-color: var(--el-color-warning);--el-button-active-text-color: var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-danger);--el-button-border-color: var(--el-color-danger);--el-button-outline-color: var(--el-color-danger-light-5);--el-button-active-color: var(--el-color-danger-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-danger-light-5);--el-button-hover-bg-color: var(--el-color-danger-light-3);--el-button-hover-border-color: var(--el-color-danger-light-3);--el-button-active-bg-color: var(--el-color-danger-dark-2);--el-button-active-border-color: var(--el-color-danger-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-danger-light-5);--el-button-disabled-border-color: var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color: var(--el-color-danger);--el-button-bg-color: var(--el-color-danger-light-9);--el-button-border-color: var(--el-color-danger-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-danger);--el-button-hover-border-color: var(--el-color-danger);--el-button-active-text-color: var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-info);--el-button-border-color: var(--el-color-info);--el-button-outline-color: var(--el-color-info-light-5);--el-button-active-color: var(--el-color-info-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-info-light-5);--el-button-hover-bg-color: var(--el-color-info-light-3);--el-button-hover-border-color: var(--el-color-info-light-3);--el-button-active-bg-color: var(--el-color-info-dark-2);--el-button-active-border-color: var(--el-color-info-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-info-light-5);--el-button-disabled-border-color: var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color: var(--el-color-info);--el-button-bg-color: var(--el-color-info-light-9);--el-button-border-color: var(--el-color-info-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-info);--el-button-hover-border-color: var(--el-color-info);--el-button-active-text-color: var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size: 40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size: 24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-card{--el-card-border-color: var(--el-border-color-light);--el-card-border-radius: 4px;--el-card-padding: 20px;--el-card-bg-color: var(--el-fill-color-blank)}.el-card{border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration)}.el-card.is-always-shadow{box-shadow:var(--el-box-shadow-light)}.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box}.iconfont[data-v-357c32d8]{display:inline-block;font-style:normal;vertical-align:baseline;text-align:center;text-transform:none;line-height:1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-spin[data-v-357c32d8]{animation:icon-spin-357c32d8 1s linear infinite}@keyframes icon-spin-357c32d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-pulse[data-v-357c32d8]{animation:icon-pulse-357c32d8 1s ease-in-out infinite}@keyframes icon-pulse-357c32d8{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.icon-flip-horizontal[data-v-357c32d8]{transform:scaleX(-1)}.icon-flip-vertical[data-v-357c32d8]{transform:scaleY(-1)}.icon-flip-both[data-v-357c32d8]{transform:scale(-1)}.icon-spin.icon-flip-horizontal[data-v-357c32d8]{animation:icon-spin-flip-horizontal-357c32d8 1s linear infinite}.icon-spin.icon-flip-vertical[data-v-357c32d8]{animation:icon-spin-flip-vertical-357c32d8 1s linear infinite}.icon-spin.icon-flip-both[data-v-357c32d8]{animation:icon-spin-flip-both-357c32d8 1s linear infinite}@keyframes icon-spin-flip-horizontal-357c32d8{0%{transform:rotate(0) scaleX(-1)}to{transform:rotate(360deg) scaleX(-1)}}@keyframes icon-spin-flip-vertical-357c32d8{0%{transform:rotate(0) scaleY(-1)}to{transform:rotate(360deg) scaleY(-1)}}@keyframes icon-spin-flip-both-357c32d8{0%{transform:rotate(0) scale(-1)}to{transform:rotate(360deg) scale(-1)}}
package/package.json CHANGED
@@ -1,61 +1,52 @@
1
1
  {
2
2
  "name": "@mc-markets/ui",
3
3
  "private": false,
4
- "version": "1.0.37",
4
+ "version": "1.0.38",
5
5
  "type": "module",
6
6
  "author": "chenyu",
7
- "description": "Element Plus 完整导出包,提供所有组件、指令和服务",
7
+ "description": "Vue 3 组件库,基于 Element Plus 的自定义组件",
8
8
  "main": "dist/index.js",
9
9
  "module": "dist/index.js",
10
- "types": "dist/index.d.ts",
11
10
  "exports": {
12
11
  ".": {
13
12
  "import": "./dist/index.js",
14
- "require": "./dist/index.js",
15
- "types": "./dist/index.d.ts"
13
+ "require": "./dist/index.js"
16
14
  },
17
15
  "./style": "./dist/style.css",
18
16
  "./styles": "./dist/style.css",
19
17
  "./dist/style.css": "./dist/style.css",
20
18
  "./scss-variables": "./packages/styles/variables.scss",
21
19
  "./styles/index": "./packages/styles/index.scss",
22
- "./theme-config": "./packages/styles/theme-config.ts",
20
+ "./theme-config": "./packages/styles/theme-config.js",
23
21
  "./element-plus": {
24
22
  "import": "./node_modules/element-plus/dist/index.full.mjs",
25
- "require": "./node_modules/element-plus/dist/index.full.js",
26
- "types": "./node_modules/element-plus/dist/index.d.ts"
23
+ "require": "./node_modules/element-plus/dist/index.full.js"
27
24
  },
28
25
  "./element-plus/style": "./node_modules/element-plus/dist/index.css",
29
- "./element-plus/styles": "./node_modules/element-plus/dist/index.css",
30
- "./locales": "./dist/locales/index.js",
31
- "./themes": "./dist/themes/index.js"
26
+ "./element-plus/styles": "./node_modules/element-plus/dist/index.css"
32
27
  },
33
28
  "files": [
34
29
  "dist",
35
30
  "packages/styles",
36
31
  "README.md",
37
- "USAGE.md",
38
32
  "node_modules/element-plus/dist"
39
33
  ],
40
34
  "keywords": [
41
35
  "vue3",
42
- "typescript",
36
+ "javascript",
43
37
  "ui",
44
38
  "component",
45
39
  "element-plus",
46
- "element-ui",
47
40
  "ui-library",
48
41
  "components"
49
42
  ],
50
43
  "license": "MIT",
51
44
  "scripts": {
52
45
  "dev": "vite",
53
- "dev:fast": "cross-env NODE_ENV=development vite --force",
54
46
  "dev:inspector": "cross-env VUE_INSPECTOR=true vite",
55
- "build": "tsc && vite build",
47
+ "build": "vite build",
56
48
  "preview": "vite preview",
57
- "type-check": "vue-tsc --noEmit",
58
- "lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix",
49
+ "lint": "eslint . --ext .vue,.js,.jsx --fix",
59
50
  "format": "prettier --write .",
60
51
  "test": "vitest",
61
52
  "test:coverage": "vitest --coverage",
@@ -64,11 +55,13 @@
64
55
  },
65
56
  "dependencies": {
66
57
  "@vueuse/core": "^10.5.0",
67
- "element-plus": "^2.8.0",
68
- "vue": "^3.3.0"
58
+ "element-plus": "^2.11.2",
59
+ "highlight.js": "^11.11.1",
60
+ "vue": "^3.3.0",
61
+ "vue-router": "^4.5.1"
69
62
  },
70
63
  "peerDependencies": {
71
- "element-plus": "^2.8.0",
64
+ "element-plus": "^2.11.2",
72
65
  "vue": "^3.3.0"
73
66
  },
74
67
  "peerDependenciesMeta": {
@@ -95,29 +88,16 @@
95
88
  "@antfu/eslint-config": "^0.38.4",
96
89
  "@iconify-json/ep": "^1.1.10",
97
90
  "@iconify/vue": "^4.1.1",
98
- "@types/nprogress": "^0.2.0",
99
- "@types/path-browserify": "^1.0.0",
100
- "@types/qs": "^6.9.7",
101
91
  "@vitejs/plugin-vue": "^4.1.0",
102
92
  "@vitejs/plugin-vue-jsx": "^3.0.1",
103
93
  "autoprefixer": "^10.4.14",
104
- "bumpp": "^9.1.0",
105
94
  "cross-env": "^7.0.3",
106
- "cz-conventional-changelog": "^3.3.0",
107
- "cz-git": "^1.6.1",
108
95
  "eslint": "^8.38.0",
109
96
  "eslint-plugin-prettier": "^4.2.1",
110
- "esno": "^0.16.3",
111
97
  "fs-extra": "^11.1.1",
112
- "http-server": "^14.1.1",
113
- "lint-staged": "^13.2.1",
114
- "npm-run-all": "^4.1.5",
115
- "plop": "^3.1.2",
116
98
  "postcss-html": "^1.5.0",
117
99
  "prettier": "^2.8.8",
118
- "sass": "^1.77.0",
119
- "simple-git-hooks": "^2.8.1",
120
- "sortablejs": "^1.15.0",
100
+ "sass": "^1.92.1",
121
101
  "stylelint": "^15.4.0",
122
102
  "stylelint-config-standard": "^32.0.0",
123
103
  "stylelint-config-standard-scss": "^8.0.0",
@@ -126,20 +106,9 @@
126
106
  "stylelint-stylistic": "^0.4.0",
127
107
  "svgo": "^3.0.2",
128
108
  "terser": "^5.16.9",
129
- "typescript": "^5.0.4",
130
109
  "unplugin-auto-import": "^0.15.3",
131
110
  "unplugin-vue-components": "^0.24.1",
132
- "vite": "^4.2.1",
133
- "vite-plugin-banner": "^0.7.0",
134
- "vite-plugin-compression": "^0.5.1",
135
- "vite-plugin-dts": "^4.2.1",
136
- "vite-plugin-mock": "^2.9.6",
137
- "vite-plugin-pages": "^0.29.0",
138
- "vite-plugin-spritesmith": "^0.1.1",
139
- "vite-plugin-svg-icons": "^2.0.1",
140
- "vite-plugin-vue-inspector": "^3.4.0",
141
- "vite-plugin-vue-meta-layouts": "^0.2.2",
142
- "vite-plugin-vue-setup-extend": "^0.4.0",
143
- "vue-tsc": "^1.2.0"
111
+ "vite": "^7.1.5",
112
+ "vite-plugin-vue-inspector": "^3.4.0"
144
113
  }
145
114
  }
@@ -1,150 +0,0 @@
1
- # @mc-markets/ui 样式系统
2
-
3
- ## 概述
4
-
5
- 本项目提供了完整的 Element Plus 主题定制解决方案,包括 SCSS 变量覆盖、CSS 变量配置和主题管理工具。
6
-
7
- ## 文件结构
8
-
9
- ```
10
- packages/styles/
11
- ├── index.scss # 样式入口文件
12
- ├── variables.scss # Element Plus 主题变量覆盖
13
- ├── variables.scss # SCSS 变量和 CSS 变量定义
14
- ├── theme-config.ts # 主题管理工具
15
- └── variables/ # 详细样式变量
16
- ├── index.scss
17
- ├── border-mode.css
18
- ├── color-modes-dark.css
19
- ├── primitives-style.css
20
- ├── radius-mode.css
21
- ├── spacing-mode.css
22
- ├── typography-desktop.css
23
- └── typography-mobile.css
24
- ```
25
-
26
- ## 使用方法
27
-
28
- ### 1. 导入完整样式
29
-
30
- ```typescript
31
- // 导入所有样式(推荐)
32
- import '@mc-markets/ui/styles/index'
33
-
34
- // 或者分别导入
35
- import '@mc-markets/ui/scss-variables'
36
- ```
37
-
38
- ### 2. 使用主题管理工具
39
-
40
- ```typescript
41
- import {
42
- setTheme,
43
- setPrimaryColor,
44
- toggleDark,
45
- themeConfigManager
46
- } from '@mc-markets/ui'
47
-
48
- // 设置主题
49
- setTheme({
50
- name: 'custom',
51
- primaryColor: '#1890ff',
52
- dark: false
53
- })
54
-
55
- // 动态修改主色调
56
- setPrimaryColor('#52c41a')
57
-
58
- // 切换暗色主题
59
- toggleDark()
60
-
61
- // 使用主题管理器
62
- const manager = themeConfigManager.getInstance()
63
- manager.setSuccessColor('#67c23a')
64
- ```
65
-
66
- ### 3. 在 Vue 组件中使用
67
-
68
- ```vue
69
- <template>
70
- <div class="custom-theme">
71
- <el-button type="primary">主要按钮</el-button>
72
- <el-button type="success">成功按钮</el-button>
73
- <el-button type="warning">警告按钮</el-button>
74
- </div>
75
- </template>
76
-
77
- <script setup>
78
- import { setPrimaryColor } from '@mc-markets/ui'
79
-
80
- // 动态设置主题色
81
- setPrimaryColor('#722ed1')
82
- </script>
83
- ```
84
-
85
- ### 4. 自定义 CSS 变量
86
-
87
- ```css
88
- /* 在你的样式文件中覆盖 CSS 变量 */
89
- :root {
90
- --el-color-primary: #1890ff;
91
- --el-color-success: #52c41a;
92
- --el-border-radius-base: 8px;
93
- }
94
- ```
95
-
96
- ## 样式覆盖原理
97
-
98
- ### SCSS 变量覆盖
99
-
100
- `variables.scss` 文件使用 Element Plus 的 `@use` 语法来覆盖默认变量:
101
-
102
- ```scss
103
- @use 'element-plus/theme-chalk/src/common/var.scss' with (
104
- $colors: (
105
- 'primary': (
106
- 'base': #000, // 覆盖主色调
107
- ),
108
- ),
109
- $font-size: (
110
- 'base': 14px, // 覆盖基础字体大小
111
- ),
112
- );
113
- ```
114
-
115
- ### CSS 变量覆盖
116
-
117
- `variables.scss` 文件定义了完整的 SCSS 变量和 CSS 变量系统,支持:
118
-
119
- - 亮色/暗色主题切换
120
- - 动态颜色调整
121
- - 自定义主题类
122
-
123
- ## 主题配置选项
124
-
125
- ### ThemeConfig 接口
126
-
127
- ```typescript
128
- interface ThemeConfig {
129
- name?: string // 主题名称
130
- dark?: boolean // 是否暗色主题
131
- cssVars?: Record<string, string> // 自定义CSS变量
132
- customClass?: string // 自定义类名
133
- primaryColor?: string // 主色调
134
- successColor?: string // 成功色
135
- warningColor?: string // 警告色
136
- dangerColor?: string // 危险色
137
- infoColor?: string // 信息色
138
- }
139
- ```
140
-
141
- ## 注意事项
142
-
143
- 1. **导入顺序**:确保在导入 Element Plus 样式之前导入自定义样式
144
- 2. **构建工具**:需要支持 SCSS 的构建工具(如 Vite、Webpack)
145
- 3. **浏览器兼容性**:CSS 变量需要现代浏览器支持
146
- 4. **性能考虑**:建议在生产环境中使用构建后的 CSS 文件
147
-
148
- ## 示例项目
149
-
150
- 查看 `src/components/ThemeDemo.vue` 文件了解完整的使用示例。
@@ -1,18 +1,3 @@
1
- .el-input {
2
- --el-input-text-color: var(--text-white);
3
- --el-input-border: var(--el-border);
4
- --el-input-hover-border: var(--el-border-color-hover);
5
- --el-input-focus-border: var(--el-color-primary);
6
- --el-input-transparent-border: 0 0 0 1px transparent inset;
7
- --el-input-border-color: var(--el-border-color);
8
- --el-input-border-radius: var(--el-border-radius-base);
9
- --el-input-bg-color: var(--el-fill-color-blank);
10
- --el-input-icon-color: var(--el-text-color-placeholder);
11
- --el-input-placeholder-color: var(--el-text-color-placeholder);
12
- --el-input-hover-border-color: var(--el-border-color-hover);
13
- --el-input-clear-hover-color: var(--el-text-color-secondary);
14
- --el-input-focus-border-color: var(--el-color-primary);
15
- }
16
1
 
17
2
  .el-form-item__label {
18
3
  height: var(--el-component-size);
@@ -25,3 +10,12 @@
25
10
  line-height: 20px;
26
11
  }
27
12
  }
13
+
14
+
15
+ .el-input__wrapper{
16
+ padding: 1px 16px;
17
+ }
18
+
19
+ .el-form-item{
20
+ margin-bottom: 20px;
21
+ }
@@ -0,0 +1,6 @@
1
+ .el-popper{
2
+ &.is-light{
3
+ background:var(--bg-tertiary-hover);
4
+ border-color: var(--border-primary);
5
+ }
6
+ }
@@ -0,0 +1,35 @@
1
+ .el-select__wrapper{
2
+ padding: 4px 16px;
3
+ }
4
+ .el-select-dropdown{
5
+ padding: 12px;
6
+ }
7
+ .el-select-dropdown__list{
8
+ padding:0;
9
+ }
10
+ .el-select-dropdown__item{
11
+ padding:0px 12px;
12
+ height: 40px;
13
+ line-height: 40px;
14
+ border-radius: 6px;
15
+ font-size: var(--font-size-text-sm);
16
+ color: var(--text-primary);
17
+ &:hover,&.is-hovering{
18
+ background: var(--all-alphe-white-6, #FFFFFF0F);
19
+ }
20
+ }
21
+
22
+ .el-select-dropdown__header{
23
+ border: none;
24
+ padding: 0;
25
+ padding-bottom: 4px;
26
+ }
27
+
28
+
29
+
30
+ .el-select--small{
31
+ .el-select__wrapper{
32
+ padding: 4px 16px;
33
+ font-size: var(--font-size-text-sm);
34
+ }
35
+ }
@@ -12,6 +12,7 @@
12
12
  @use './variables.scss';
13
13
  @use './element/button.scss';
14
14
  @use './element/form.scss';
15
-
15
+ @use './element/popper.scss';
16
+ @use './element/select.scss';
16
17
  // 导入 Element Plus 基础样式
17
18
  // @import 'element-plus/dist/index.css';
@@ -5,32 +5,12 @@
5
5
  * @see https://element-plus.org/zh-CN/guide/theming.html
6
6
  */
7
7
 
8
- export interface ThemeConfig {
9
- /** 主题名称 */
10
- name?: string
11
- /** 是否暗色主题 */
12
- dark?: boolean
13
- /** 自定义CSS变量 */
14
- cssVars?: Record<string, string>
15
- /** 自定义类名 */
16
- customClass?: string
17
- /** 主色调 */
18
- primaryColor?: string
19
- /** 成功色 */
20
- successColor?: string
21
- /** 警告色 */
22
- warningColor?: string
23
- /** 危险色 */
24
- dangerColor?: string
25
- /** 信息色 */
26
- infoColor?: string
27
- }
28
-
29
8
  export class ThemeConfigManager {
30
- private static instance: ThemeConfigManager
31
- private currentTheme: ThemeConfig = { name: 'default', dark: false }
9
+ constructor() {
10
+ this.currentTheme = { name: 'default', dark: false }
11
+ }
32
12
 
33
- static getInstance(): ThemeConfigManager {
13
+ static getInstance() {
34
14
  if (!ThemeConfigManager.instance) {
35
15
  ThemeConfigManager.instance = new ThemeConfigManager()
36
16
  }
@@ -38,66 +18,66 @@ export class ThemeConfigManager {
38
18
  }
39
19
 
40
20
  /** 设置主题 */
41
- setTheme(theme: ThemeConfig): void {
21
+ setTheme(theme) {
42
22
  this.currentTheme = { ...this.currentTheme, ...theme }
43
23
  this.applyTheme()
44
24
  }
45
25
 
46
26
  /** 获取当前主题 */
47
- getTheme(): ThemeConfig {
27
+ getTheme() {
48
28
  return { ...this.currentTheme }
49
29
  }
50
30
 
51
31
  /** 切换暗色主题 */
52
- toggleDark(): void {
32
+ toggleDark() {
53
33
  this.currentTheme.dark = !this.currentTheme.dark
54
34
  this.applyTheme()
55
35
  }
56
36
 
57
37
  /** 设置主色调 */
58
- setPrimaryColor(color: string): void {
38
+ setPrimaryColor(color) {
59
39
  this.setCssVar('--el-color-primary', color)
60
40
  this.generateColorPalette(color, 'primary')
61
41
  }
62
42
 
63
43
  /** 设置成功色 */
64
- setSuccessColor(color: string): void {
44
+ setSuccessColor(color) {
65
45
  this.setCssVar('--el-color-success', color)
66
46
  this.generateColorPalette(color, 'success')
67
47
  }
68
48
 
69
49
  /** 设置警告色 */
70
- setWarningColor(color: string): void {
50
+ setWarningColor(color) {
71
51
  this.setCssVar('--el-color-warning', color)
72
52
  this.generateColorPalette(color, 'warning')
73
53
  }
74
54
 
75
55
  /** 设置危险色 */
76
- setDangerColor(color: string): void {
56
+ setDangerColor(color) {
77
57
  this.setCssVar('--el-color-danger', color)
78
58
  this.generateColorPalette(color, 'danger')
79
59
  }
80
60
 
81
61
  /** 设置信息色 */
82
- setInfoColor(color: string): void {
62
+ setInfoColor(color) {
83
63
  this.setCssVar('--el-color-info', color)
84
64
  this.generateColorPalette(color, 'info')
85
65
  }
86
66
 
87
67
  /** 设置CSS变量 */
88
- setCssVar(name: string, value: string): void {
68
+ setCssVar(name, value) {
89
69
  const root = document.documentElement
90
70
  root.style.setProperty(name, value)
91
71
  }
92
72
 
93
73
  /** 获取CSS变量 */
94
- getCssVar(name: string): string {
74
+ getCssVar(name) {
95
75
  const root = document.documentElement
96
76
  return getComputedStyle(root).getPropertyValue(name).trim()
97
77
  }
98
78
 
99
79
  /** 生成颜色调色板 */
100
- private generateColorPalette(color: string, type: 'primary' | 'success' | 'warning' | 'danger' | 'info'): void {
80
+ generateColorPalette(color, type) {
101
81
  const root = document.documentElement
102
82
  const baseColor = this.hexToRgb(color)
103
83
 
@@ -118,7 +98,7 @@ export class ThemeConfigManager {
118
98
  }
119
99
 
120
100
  /** 应用主题 */
121
- private applyTheme(): void {
101
+ applyTheme() {
122
102
  const root = document.documentElement
123
103
 
124
104
  // 应用暗色主题
@@ -159,7 +139,7 @@ export class ThemeConfigManager {
159
139
  }
160
140
 
161
141
  /** 十六进制颜色转RGB */
162
- private hexToRgb(hex: string): { r: number; g: number; b: number } | null {
142
+ hexToRgb(hex) {
163
143
  const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex)
164
144
  return result ? {
165
145
  r: parseInt(result[1], 16),
@@ -169,13 +149,13 @@ export class ThemeConfigManager {
169
149
  }
170
150
 
171
151
  /** RGB转十六进制 */
172
- private rgbToHex(r: number, g: number, b: number): string {
152
+ rgbToHex(r, g, b) {
173
153
  return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`
174
154
  }
175
155
 
176
156
  /** 生成浅色变体 */
177
- private generateLightColors(rgb: { r: number; g: number; b: number }): Record<number, string> {
178
- const colors: Record<number, string> = {}
157
+ generateLightColors(rgb) {
158
+ const colors = {}
179
159
 
180
160
  for (let i = 1; i <= 9; i++) {
181
161
  const factor = (10 - i) / 10
@@ -189,8 +169,8 @@ export class ThemeConfigManager {
189
169
  }
190
170
 
191
171
  /** 生成深色变体 */
192
- private generateDarkColors(rgb: { r: number; g: number; b: number }): Record<number, string> {
193
- const colors: Record<number, string> = {}
172
+ generateDarkColors(rgb) {
173
+ const colors = {}
194
174
 
195
175
  for (let i = 1; i <= 2; i++) {
196
176
  const factor = i / 10
@@ -204,7 +184,7 @@ export class ThemeConfigManager {
204
184
  }
205
185
 
206
186
  /** 重置主题 */
207
- resetTheme(): void {
187
+ resetTheme() {
208
188
  const root = document.documentElement
209
189
  root.className = ''
210
190
  root.style.cssText = ''
@@ -212,10 +192,10 @@ export class ThemeConfigManager {
212
192
  }
213
193
 
214
194
  /** 导出主题配置 */
215
- exportTheme(): string {
195
+ exportTheme() {
216
196
  const root = document.documentElement
217
197
  const computedStyle = getComputedStyle(root)
218
- const cssVars: Record<string, string> = {}
198
+ const cssVars = {}
219
199
 
220
200
  // 获取所有CSS变量
221
201
  for (let i = 0; i < computedStyle.length; i++) {
@@ -232,7 +212,7 @@ export class ThemeConfigManager {
232
212
  }
233
213
 
234
214
  /** 导入主题配置 */
235
- importTheme(config: string): void {
215
+ importTheme(config) {
236
216
  try {
237
217
  const themeConfig = JSON.parse(config)
238
218
  this.setTheme(themeConfig)
@@ -246,16 +226,16 @@ export class ThemeConfigManager {
246
226
  export const themeConfigManager = ThemeConfigManager.getInstance()
247
227
 
248
228
  // 导出便捷方法
249
- export const setTheme = (theme: ThemeConfig) => themeConfigManager.setTheme(theme)
229
+ export const setTheme = (theme) => themeConfigManager.setTheme(theme)
250
230
  export const getTheme = () => themeConfigManager.getTheme()
251
231
  export const toggleDark = () => themeConfigManager.toggleDark()
252
- export const setPrimaryColor = (color: string) => themeConfigManager.setPrimaryColor(color)
253
- export const setSuccessColor = (color: string) => themeConfigManager.setSuccessColor(color)
254
- export const setWarningColor = (color: string) => themeConfigManager.setWarningColor(color)
255
- export const setDangerColor = (color: string) => themeConfigManager.setDangerColor(color)
256
- export const setInfoColor = (color: string) => themeConfigManager.setInfoColor(color)
257
- export const setCssVar = (name: string, value: string) => themeConfigManager.setCssVar(name, value)
258
- export const getCssVar = (name: string) => themeConfigManager.getCssVar(name)
232
+ export const setPrimaryColor = (color) => themeConfigManager.setPrimaryColor(color)
233
+ export const setSuccessColor = (color) => themeConfigManager.setSuccessColor(color)
234
+ export const setWarningColor = (color) => themeConfigManager.setWarningColor(color)
235
+ export const setDangerColor = (color) => themeConfigManager.setDangerColor(color)
236
+ export const setInfoColor = (color) => themeConfigManager.setInfoColor(color)
237
+ export const setCssVar = (name, value) => themeConfigManager.setCssVar(name, value)
238
+ export const getCssVar = (name) => themeConfigManager.getCssVar(name)
259
239
  export const resetTheme = () => themeConfigManager.resetTheme()
260
240
  export const exportTheme = () => themeConfigManager.exportTheme()
261
- export const importTheme = (config: string) => themeConfigManager.importTheme(config)
241
+ export const importTheme = (config) => themeConfigManager.importTheme(config)