UNPKG

@nutui/nutui-react-taro

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

630 lines (621 loc) 20.2 kB
@charset "UTF-8"; :root, page { --nut-scale-f: 1; --nut-scale-font: var(--nut-scale-f, 1); --nut-scale-icon: var(--nut-scale-f, 1); --nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; --nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; --nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important; } .nut-overlay { position: fixed; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; background-color: var(--nutui-overlay-bg-color, var(--nutui-color-mask, rgba(0, 0, 0, 0.7))); } .nut-overflow-hidden { overflow: hidden !important; } @keyframes nut-fade-in { 0% { opacity: 0; } 1% { opacity: 0; } 100% { opacity: 1; } } @keyframes nut-fade-out { 0% { opacity: 1; } 1% { opacity: 1; } 100% { opacity: 0; } } .nut-overlay-slide-enter-active, .nut-overlay-slide-appear-active { animation-fill-mode: both; animation-name: nut-fade-in; animation-duration: var(--nutui-overlay-animation-duration, 0.3s); } .nut-overlay-slide-exit-active { animation-fill-mode: both; animation-name: nut-fade-out; animation-duration: var(--nutui-overlay-animation-duration, 0.3s); } [dir=rtl] .nut-overlay, .nut-rtl .nut-overlay { left: auto; right: 0; } .nut-popup { position: fixed; min-height: 26%; max-height: 100%; background-color: var(--nutui-overlay-content-bg-color, var(--nutui-color-background-overlay, #ffffff)); -webkit-overflow-scrolling: touch; font-size: var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))); } .nut-popup-title { display: flex; flex-direction: row; align-items: center; justify-content: center; border-bottom: var(--nutui-popup-title-border-bottom, 0); padding: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); position: relative; } .nut-popup-title-wrapper { display: flex; flex-direction: column; justify-content: center; align-items: center; } .nut-popup-title-title { color: var(--nutui-color-title, #1a1a1a); font-weight: var(--nutui-font-weight-bold, 600); font-size: var(--nutui-popup-title-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1))))); } .nut-popup-title-description { color: var(--nutui-color-text, #505259); font-size: var(--nutui-popup-description-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1))))); font-weight: var(--nutui-font-weight, 400); } .nut-popup-title-description-gap { margin-top: var(--nutui-popup-description-spacing, var(--nutui-spacing-base, calc(8px * var(--nut-scale-f, 1)))); } .nut-popup-title-left { position: absolute; top: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); left: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } .nut-popup-title-right { position: absolute; top: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); right: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); display: flex; align-items: center; justify-content: center; z-index: 1; width: var(--nutui-popup-icon-size, calc(20px * var(--nut-scale-f, 1))); height: var(--nutui-popup-icon-size, calc(20px * var(--nut-scale-f, 1))); color: var(--nutui-color-title, #1a1a1a); cursor: pointer; } .nut-popup-title-right:active { opacity: 0.7; } .nut-popup-title-right-top-left { top: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); left: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } .nut-popup-title-right-bottom-left { bottom: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); left: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } .nut-popup-title-right-bottom-right { right: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); bottom: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } .nut-popup-center { top: 50%; left: 50%; right: auto; bottom: auto; min-height: 10%; max-width: 295px; transform: translate(-50%, -50%); } .nut-popup-center.nut-popup-round { border-radius: var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))); } .nut-popup-bottom { bottom: 0; left: 0; right: auto; top: auto; width: 100%; } .nut-popup-bottom.nut-popup-round { border-radius: var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))) var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))) 0 0; } .nut-popup-bottom-top { position: absolute; } .nut-popup-right { top: 0; right: 0; left: auto; bottom: auto; width: 100px; height: 100%; } .nut-popup-right.nut-popup-round { border-radius: var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))) 0 0 var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))); } .nut-popup-left { top: 0; left: 0; right: auto; bottom: auto; width: 100px; height: 100%; } .nut-popup-left.nut-popup-round { border-radius: 0 var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))) var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))) 0; } .nut-popup-top { top: 0; left: 0; right: auto; bottom: auto; width: 100%; } .nut-popup-top.nut-popup-round { border-radius: 0 0 var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))) var(--nutui-popup-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))); } .nut-popup-slide { /* 从顶部滑出 */ /* 从右侧滑出 */ /* 从底部滑出 */ /* 从左侧滑出 */ } @keyframes popup-scale-fade-in { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } } @keyframes popup-scale-fade-out { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.8); } } .nut-popup-slide-none-enter-active { animation-fill-mode: both; animation-name: popup-scale-fade-in; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-none-exit-active { animation-fill-mode: both; animation-name: popup-scale-fade-out; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } @keyframes popup-fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes popup-fade-out { from { opacity: 1; } to { opacity: 0; } } .nut-popup-slide-center-enter-active { animation-fill-mode: both; animation-name: popup-fade-in; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-center-exit-active { animation-fill-mode: both; animation-name: popup-fade-out; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } @keyframes popup-slide-top-enter { from { transform: translate3d(0, -100%, 0); } to { transform: translate3d(0, 0%, 0); } } @keyframes popup-slide-top-exit { from { transform: translate3d(0, 0%, 0); } to { transform: translate3d(0, -100%, 0); } } .nut-popup-slide-top-enter-active, .nut-popup-slide-top-appear-active { transform: translate3d(0, 0%, 0); animation-fill-mode: both; animation-name: popup-slide-top-enter; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-top-exit-active { animation-fill-mode: both; animation-name: popup-slide-top-exit; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } @keyframes popup-slide-right-enter { from { transform: translate3d(100%, 0, 0); } to { transform: translate3d(0%, 0, 0); } } @keyframes popup-slide-right-exit { from { transform: translate3d(0%, 0, 0); } to { transform: translate3d(100%, 0, 0); } } .nut-popup-slide-right-enter-active, .nut-popup-slide-right-appear-active { transform: translate3d(0, 0, 0); animation-fill-mode: both; animation-name: popup-slide-right-enter; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-right-exit { animation-fill-mode: both; animation-name: popup-slide-right-exit; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } @keyframes popup-slide-bottom-enter { from { transform: translate3d(0, 100%, 0); } to { transform: translate3d(0, 0%, 0); } } @keyframes slide-bottom-exit { from { transform: translate3d(0, 0%, 0); } to { transform: translate3d(0, 100%, 0); } } .nut-popup-slide-bottom-enter-active, .nut-popup-slide-bottom-appear-active { transform: translate(0, 0); animation-fill-mode: both; animation-name: popup-slide-bottom-enter; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-bottom-exit { animation-fill-mode: both; animation-name: slide-bottom-exit; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } @keyframes popup-slide-left-enter { from { transform: translate3d(-100%, 0, 0); } to { transform: translate3d(0%, 0, 0); } } @keyframes popup-slide-left-exit { from { transform: translate3d(0%, 0, 0); } to { transform: translate3d(-100%, 0, 0); } } .nut-popup-slide-left-enter-active, .nut-popup-slide-left-appear-active { transform: translate(0, 0); animation-fill-mode: both; animation-name: popup-slide-left-enter; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-left-exit-active, .nut-popup-slide-left-exit-done { animation-fill-mode: both; animation-name: popup-slide-left-exit; animation-duration: var(--nutui-popup-animation-duration, 0.3s); } .nut-popup-slide-none-exit-done.nut-popup, .nut-popup-slide-center-exit-done.nut-popup, .nut-popup-slide-left-exit-done.nut-popup, .nut-popup-slide-right-exit-done.nut-popup, .nut-popup-slide-top-exit-done.nut-popup, .nut-popup-slide-bottom-exit-done.nut-popup { display: none; } .nut-popup .nut-overflow-hidden { overflow: hidden; } [dir=rtl] .nut-popup-title-left, .nut-rtl .nut-popup-title-left { left: auto; right: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-popup-title-right, .nut-rtl .nut-popup-title-right { right: auto; left: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-popup-title-right-top-left, .nut-rtl .nut-popup-title-right-top-left { left: auto; right: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-popup-title-right-bottom-left, .nut-rtl .nut-popup-title-right-bottom-left { left: auto; right: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-popup-title-right-bottom-right, .nut-rtl .nut-popup-title-right-bottom-right { right: auto; left: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-popup-title .nut-icon-ArrowLeft, .nut-rtl .nut-popup-title .nut-icon-ArrowLeft { transform: rotate(180deg); } [dir=rtl] .nut-popup-center, .nut-rtl .nut-popup-center { left: auto; right: 50%; transform: translate(50%, -50%); } [dir=rtl] .nut-popup-bottom, .nut-rtl .nut-popup-bottom { left: auto; right: 0; } [dir=rtl] .nut-popup-top, .nut-rtl .nut-popup-top { left: auto; right: 0; } .nut-calendar { position: relative; display: flex; flex-direction: column; flex: 1; font-size: var(--nutui-calendar-base-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1))))); background-color: var(--nutui-color-background-overlay, #ffffff); color: var(--nutui-color-title, #1a1a1a); overflow: hidden; height: 100%; } .nut-calendar.nut-calendar-title .nut-calendar-header .calendar-title { font-size: var(--nutui-calendar-base-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1))))); } .nut-calendar .nut-calendar-taro { height: 60vh; } .nut-calendar .popup-box { height: 100%; } .nut-calendar ::-webkit-scrollbar { display: none; } .nut-calendar-header { display: flex; flex-direction: column; text-align: center; } .nut-calendar-header-buttons { height: var(--nutui-calendar-header-height, calc(24px * var(--nut-scale-f, 1))); } .nut-calendar-title { color: var(--nutui-color-title, #1a1a1a); font-size: var(--nutui-calendar-title-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1))))); font-weight: var(--nutui-calendar-title-font-weight, var(--nutui-font-weight-bold, 600)); line-height: calc(50px * var(--nut-scale-f, 1)); } .nut-calendar-sub-title { padding: calc(7px * var(--nut-scale-f, 1)) 0; line-height: calc(22px * var(--nut-scale-f, 1)); font-size: var(--nutui-calendar-sub-title-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1))))); } .nut-calendar-weeks { display: flex; align-items: center; justify-content: space-around; height: calc(36px * var(--nut-scale-f, 1)); border-radius: 0 0 calc(12px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1)); box-shadow: 0 calc(4px * var(--nut-scale-f, 1)) calc(10px * var(--nut-scale-f, 1)) 0 rgba(0, 0, 0, 0.06); } .nut-calendar-week-item:first-of-type, .nut-calendar-week-item:last-of-type { color: var(--nutui-color-primary, #ff0f23); } .nut-calendar-content { flex: 1; width: 100%; display: block; overflow-y: auto; } .nut-calendar-pannel { position: relative; width: 100%; height: auto; display: block; box-sizing: border-box; } .nut-calendar-pannel .calendar-loading-tip { height: calc(50px * var(--nut-scale-f, 1)); line-height: calc(50px * var(--nut-scale-f, 1)); text-align: center; position: absolute; top: calc(-50px * var(--nut-scale-f, 1)); left: 0; right: 0; font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))); color: var(--nutui-color-text, #505259); } .nut-calendar-month { display: flex; flex-direction: column; text-align: center; } .nut-calendar-month-title { height: calc(23px * var(--nut-scale-f, 1)); line-height: calc(23px * var(--nut-scale-f, 1)); margin: calc(8px * var(--nut-scale-f, 1)) 0; } .nut-calendar-days { overflow: hidden; } .nut-calendar-day { display: flex; align-items: center; justify-content: center; flex-direction: column; position: relative; float: left; width: var(--nutui-calendar-day-width, 14.28%); height: var(--nutui-calendar-day-height, calc(60px * var(--nut-scale-f, 1))); font-weight: var(--nutui-calendar-day-font-weight, var(--nutui-font-weight-bold, 600)); margin-bottom: calc(4px * var(--nut-scale-f, 1)); } .nut-calendar-day-day, .nut-calendar-day-info-curr { color: var(--nutui-color-title, #1a1a1a); } .nut-calendar-day:nth-child(7n+0), .nut-calendar-day:nth-child(7n+1) { color: var(--nutui-color-primary, #ff0f23); } .nut-calendar-day:nth-child(7n+0) .nut-calendar-day-day, .nut-calendar-day:nth-child(7n+0) .nut-calendar-day-info-curr, .nut-calendar-day:nth-child(7n+1) .nut-calendar-day-day, .nut-calendar-day:nth-child(7n+1) .nut-calendar-day-info-curr { color: var(--nutui-color-primary, #ff0f23); } .nut-calendar-day-info, .nut-calendar-day-info-curr { position: absolute; bottom: calc(5px * var(--nut-scale-f, 1)); width: 100%; font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))); line-height: calc(14px * var(--nut-scale-f, 1)); } .nut-calendar-day-info-top { position: absolute; width: 100%; top: calc(5px * var(--nut-scale-f, 1)); } .nut-calendar-day-info-bottom { position: absolute; width: 100%; bottom: calc(5px * var(--nut-scale-f, 1)); } .nut-calendar-day-active { background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary, #ff0f23)); color: var(--nutui-color-primary-text, #ffffff) !important; border-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); } .nut-calendar-day-active.active-start { border-radius: 0; border-top-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); border-bottom-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); } .nut-calendar-day-active.active-end { border-radius: 0; border-top-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); } .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info { color: var(--nutui-color-primary-text, #ffffff); } .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-day, .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info-curr { color: var(--nutui-color-primary-text, #ffffff); } .nut-calendar-day-disabled { color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #b4b8bf)) !important; } .nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-day, .nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-info-curr { color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #b4b8bf)); } .nut-calendar-day-disabled .nut-calendar-day-info-curr { display: none; } .nut-calendar-day-choose { background-color: var(--nutui-calendar-choose-background-color, var(--nutui-color-primary-light-pressed, #ffe8ee)); color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23)); } .nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-day, .nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-info-curr { color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23)); } .nut-calendar-day-choose-disabled { background-color: var(--nutui-calendar-choose-disable-background-color, rgba(191, 191, 191, 0.09)); color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #b4b8bf)) !important; } .nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-day, .nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr { color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #b4b8bf)); } .nut-calendar-day-choose-disabled .nut-calendar-day-info-curr { display: none; } .nut-calendar-footer { display: flex; width: 100%; flex-direction: column; background-color: #ffffff; } .nut-calendar-footer .calendar-confirm-btn { height: calc(40px * var(--nut-scale-f, 1)); line-height: calc(40px * var(--nut-scale-f, 1)); margin: calc(6px * var(--nut-scale-f, 1)) calc(16px * var(--nut-scale-f, 1)); text-align: center; border-radius: var(--nutui-radius-base, calc(8px * var(--nut-scale-f, 1))); background: var(--nutui-button-primary-background-color, var(--nutui-color-primary, #ff0f23)); color: var(--nutui-color-primary-text, #ffffff); font-weight: var(--nutui-font-weight-bold, 600); } .nut-calendar-popup .nut-popup-title-right { top: calc(7px * var(--nut-scale-f, 1)) !important; } [dir=rtl] .nut-calendar-day, .nut-rtl .nut-calendar-day { float: right; } [dir=rtl] .nut-calendar-day-active.active-start, .nut-rtl .nut-calendar-day-active.active-start { border-top-left-radius: 0; border-top-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); border-bottom-left-radius: 0; border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-calendar-day-active.active-end, .nut-rtl .nut-calendar-day-active.active-end { border-top-right-radius: 0; border-top-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); border-bottom-right-radius: 0; border-bottom-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1))); }