diff --git a/.gitignore b/.gitignore index a0dddc6..85ef4a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store node_modules /dist +/release # local env files .env.local diff --git a/examples/styles/variables.scss b/examples/styles/variables.scss index 99d06ac..9697f55 100644 --- a/examples/styles/variables.scss +++ b/examples/styles/variables.scss @@ -16,4 +16,58 @@ $black: #000; $text: #314659; $border: #e8e8e8; $border-light: rgba(#e8e8e8, 0.2); -$background: #fff; \ No newline at end of file +$background: #fff; + +// NEW STYLE + +// $color-primary: #F39800; + +$color-primary: #FDD108; + +$color-zy-yellow: #FDD108; +$color-zy-orage: #F39800; +$color-zy-green: #074137; + +$color-wx: #07c160; + +$color-blue: #2F86F6; +$color-green: #28AA91; +$color-red: #FF5257; +$color-blue-dark: #5878B4; +$color-ink: #2D2D2D; +$color-grey: #8C8C8C; + +$linear-yellow: linear-gradient(135deg, #FDD108 0%, #FFA000 100%); +$linear-orange: linear-gradient(135deg, #F39800 0%, #FF6400 100%);; +$linear-green: linear-gradient(135deg, #14C3A5 0%, #117361 100%);; + + + +$color-text: #2d2d2d; +$color-text-minor: #8c8c8c; +$color-black: #000; +$color-white: #fff; +$color-border: rgba(151, 151, 151, 0.2); +$color-field: rgba(151, 151, 151, 0.1); + +$color-success: #52c41a; +$color-warning: #fa8c16; +$color-error: #f5222d; + +$color-minor: #8c8c8c; +$color-border: #f0f0f0; +$color-disabled: #ccc; + +$bg-active: #f3f3f3; +$bg-disabled: #f5f5f5; + +$font-lg: 1.3125rem; +$font-md: 0.9375rem; +$font-sm: 0.6875rem; + +$h-gap-lg: 0.625rem; +$h-gap-md: 0.468rem; +$h-gap-sm: 0.3125rem; +$v-gap-lg: 1.4rem; +$v-gap-md: 0.9375rem; +$v-gap-sm: 0.625rem; \ No newline at end of file diff --git a/packages/button/index.scss b/packages/button/index.scss index d7df4d8..531ec97 100644 --- a/packages/button/index.scss +++ b/packages/button/index.scss @@ -1,63 +1,146 @@ -$primary-zeyi: #FCD404; - .zui-button { color: #323233; background-color: #fff; - border: 1px solid #ebedf0; - padding: 0.25rem 1rem; - font-size: 0.875rem; + padding: $h-gap-md $v-gap-md; + font-size: $font-md; + font-weight: normal; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif; cursor: pointer; - transition: background-color 70ms; - display: flex; - align-items: center; - justify-content: center; - &.sm { - padding: 0.125rem 0.25rem; - font-size: 0.625rem; + transition: all 70ms ease 20ms; + border-radius: 0.3125rem; + position: relative; + display: inline-block; + text-align: center; + border: none; + outline: none; + line-height: 1.5; + &::after { + line-height: 1.5; + padding: 0; + margin: 0; + border: none; + content: ""; + pointer-events: none; /* 防止点击触发 */ + box-sizing: border-box; + position: absolute; + width: 200%; + height: 200%; + left: 0; + top: 0; + border: 1px solid $color-border; + border-radius: 0.625rem; + transform: scale(0.5); + transform-origin: 0 0; } - &.lg { - padding: 0.625rem 1.25rem; - font-size: 1.125rem; + &.block { + display: block; + width: 100%; } - &:active { - background-color: #e6e6e6; - border-color: #e6e6e6; + &.sm { + padding: $h-gap-sm $v-gap-sm; + font-size: $font-sm; } - &.primary { - background-color: $primary-zeyi; - border-color: $primary-zeyi; - color: #FFF; - &:active { - background-color: darken($primary-zeyi, 3%); - border-color: darken($primary-zeyi, 3%); + &.md { + padding: $h-gap-md $v-gap-md; + font-size: $font-md; + } + &.lg { + padding: $h-gap-lg $v-gap-lg; + font-size: $font-lg; + } + &:active { + background-color: $bg-active; + &, &::after { + border-color: $bg-active; + } + } + &.primary { + background-color: $color-primary; + color: #FFF; + &:active { + background-color: darken($color-primary, 3%); + &, &::after { + border-color: darken($color-primary, 3%); + } + } + &, &::after { + border-color: $color-primary; + } + } + &.secondary { + background-color: lighten($color-primary, 40%); + color: $color-primary; + &:active { + background-color: lighten($color-primary, 30%); + color: darken($color-primary, 3%); + &, &::after { + border-color: lighten($color-primary, 30%); + } + } + &, &::after { + border-color: lighten($color-primary, 40%); + } + } + &.plain { + &.primary { + color: $color-primary; + background-color: transparent; + &:active { + background-color: rgba($color-primary, 0.1); + } } - } - &.secondary { - color: $primary-zeyi; - background-color: rgba($primary-zeyi, 7%); - border-color: rgba($primary-zeyi, 7%); - &:active { - background-color: rgba($primary-zeyi, 20%); - border-color: rgba($primary-zeyi, 20%); - } - } - &.link { - padding: 0.25rem 1rem; - background: inherit; - border: inherit; - color: $primary-zeyi; - &:active { - color: darken($primary-zeyi, 3%); + &.disabled { + background-color: rgba($bg-disabled, 0.1); + color: $color-disabled; + cursor: not-allowed; + &:active { + color: $color-disabled; + background-color: rgba($bg-disabled, 0.1); + &, &::after { + border-color: $bg-disabled; + } + } + &, &::after { + border-color: $bg-disabled; + } } } - &.disabled { - border-color: #f5f5f5; - background-color: #f5f5f5; - color: #ccc; - cursor: not-allowed; - &:active { - border-color: #f5f5f5; - background-color: #f5f5f5; + &.link { + padding: $h-gap-sm $v-gap-sm; + background: inherit; + border: inherit; + color: $color-primary; + &:active { + color: darken($color-primary, 5%); + } + &::after { + display: none; } - } + } + &.disabled { + background-color: $bg-disabled; + color: $color-disabled; + cursor: not-allowed; + &:active { + background-color: $bg-disabled; + &, &::after { + border-color: $bg-disabled; + } + } + &, &::after { + border-color: $bg-disabled; + } + } + &.round { + border-radius: 1.5rem; + &::after { + border-radius: 3rem; + } + } + &.square { + border-radius: 0; + &::after { + border-radius: 0; + } + } } \ No newline at end of file diff --git a/packages/button/index.vue b/packages/button/index.vue index 6f8685b..10e0b5c 100644 --- a/packages/button/index.vue +++ b/packages/button/index.vue @@ -1,7 +1,7 @@