UNPKG

@nutui/nutui-react

Version:

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

220 lines (218 loc) 9.3 kB
: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; } /* #ifdef harmony */ /* #endif */ /* #ifndef harmony */ /* #endif */ .nut-dialog { display: flex; flex-direction: column; align-items: center; width: var(--nutui-dialog-width, calc(295px * var(--nut-scale-f, 1))); min-width: var(--nutui-dialog-min-width, calc(240px * var(--nut-scale-f, 1))); /* #ifndef harmony dynamic*/ max-height: 67%; /* #endif */ min-height: var(--nutui-dialog-min-height, calc(124px * var(--nut-scale-f, 1))); padding: var(--nutui-dialog-padding, calc(24px * var(--nut-scale-f, 1))); box-sizing: border-box; } .nut-dialog-outer { position: fixed; max-height: 100%; background-color: var(--nutui-dialog-background, var(--nutui-color-background-overlay, #ffffff)); /* #ifndef dynamic*/ transition: transform 0.2s, -webkit-transform 0.2s; /* #endif */ -webkit-overflow-scrolling: touch; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); border-radius: var(--nutui-dialog-border-radius, var(--nutui-radius-xl, calc(12px * var(--nut-scale-f, 1)))); animation-duration: 0.3s; } .nut-dialog-close { position: absolute !important; z-index: 1; cursor: pointer; width: var(--nutui-dialog-close-width, calc(16px * var(--nut-scale-f, 1))); height: var(--nutui-dialog-close-height, calc(16px * var(--nut-scale-f, 1))); display: flex; justify-content: center; align-items: center; color: var(--nutui-dialog-close-color, #ffffff); } .nut-dialog-close .nut-icon { font-size: var(--nutui-dialog-close-width, calc(16px * var(--nut-scale-f, 1))); width: var(--nutui-dialog-close-width, calc(16px * var(--nut-scale-f, 1))); height: var(--nutui-dialog-close-height, calc(16px * var(--nut-scale-f, 1))); } .nut-dialog-close-top-right { top: var(--nutui-dialog-close-top, calc(16px * var(--nut-scale-f, 1))); right: var(--nutui-dialog-close-right, calc(16px * var(--nut-scale-f, 1))); } .nut-dialog-close-top-left { top: var(--nutui-dialog-close-top, calc(16px * var(--nut-scale-f, 1))); left: var(--nutui-dialog-close-left, calc(16px * var(--nut-scale-f, 1))); } .nut-dialog-close-bottom { bottom: calc(-64px * var(--nut-scale-f, 1)); width: var(--nutui-dialog-bottom-close-icon-size, var(--nutui-font-size-xxl, calc(24px * var(--nut-scale-font, var(--nut-scale-f, 1))))); height: var(--nutui-dialog-bottom-close-icon-size, var(--nutui-font-size-xxl, calc(24px * var(--nut-scale-font, var(--nut-scale-f, 1))))); left: 50%; transform: translateX(-50%); } .nut-dialog-close-bottom .nut-icon { color: var(--nutui-color-text-disabled, #c2c4cc); background-color: var(--nutui-color-mask-part, rgba(0, 0, 0, 0.4)); border-radius: 50%; width: var(--nutui-dialog-bottom-close-icon-size, var(--nutui-font-size-xxl, calc(24px * var(--nut-scale-font, var(--nut-scale-f, 1))))); height: var(--nutui-dialog-bottom-close-icon-size, var(--nutui-font-size-xxl, calc(24px * var(--nut-scale-font, var(--nut-scale-f, 1))))); } .nut-dialog-close:active { opacity: 0.7; } .nut-dialog-header { display: block; text-align: center; font-size: var(--nutui-dialog-header-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1))))); font-weight: var(--nutui-dialog-header-font-weight, var(--nutui-font-weight-bold, 600)); color: var(--nutui-color-title, #1a1a1a); margin-bottom: var(--nutui-dialog-title-margin-bottom, calc(8px * var(--nut-scale-f, 1))); width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .nut-dialog-content { width: 100%; margin: var(--nutui-dialog-content-margin, 0 0 calc(20px * var(--nut-scale-f, 1)) 0); max-height: var(--nutui-dialog-content-max-height, calc(268px * var(--nut-scale-f, 1))); line-height: var(--nutui-dialog-content-line-height, calc(20px * var(--nut-scale-f, 1))); font-size: var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))); color: var(--nutui-color-title, #1a1a1a); word-wrap: break-word; word-break: break-all; white-space: pre-wrap; text-align: var(--nutui-dialog-content-text-align, left); overflow-y: auto; } .nut-dialog-footer { display: flex; align-items: center; width: 100%; justify-content: space-around; } .nut-dialog-footer.vertical { flex-direction: column; } .nut-dialog-footer.vertical .nut-button { min-width: 100%; } .nut-dialog-footer.vertical .nut-dialog-footer-cancel { margin: 0; color: var(--nutui-color-text, #505259); font-size: var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))); display: flex; justify-content: center; margin-top: var(--nutui-dialog-vertical-footer-ok-margin-top, calc(16px * var(--nut-scale-f, 1))); background: transparent; } .nut-dialog-footer .nut-button { min-width: var(--nutui-dialog-footer-button-min-width, calc(117px * var(--nut-scale-f, 1))); border-radius: var(--nutui-dialog-footer-button-border, calc(6px * var(--nut-scale-f, 1))); padding: var(--nutui-button-large-padding, 0 calc(12px * var(--nut-scale-f, 1))); } .nut-dialog-footer-cancel.nut-dialog-footer-cancel { margin-right: var(--nutui-dialog-footer-cancel-margin-right, calc(12px * var(--nut-scale-f, 1))); background: var(--nutui-dialog-footer-cancel-bg, var(--nutui-color-background-sunken, #f7f8fc)); color: var(--nutui-button-default-color, var(--nutui-color-title, #1a1a1a)); border-color: var(--nutui-button-default-border-color, transparent); } .nut-dialog-footer-cancel.nut-dialog-footer-cancel .nut-button-children { color: var(--nutui-button-default-color, var(--nutui-color-title, #1a1a1a)); } .nut-dialog-footer-ok-container { position: relative; display: flex; align-items: center; width: 100%; justify-content: space-around; } .nut-dialog-footer-ok-container .nut-dialog-footer-ok-badge { position: absolute; right: 0; top: var(--nutui-dialog-footer-badge-top, calc(-8px * var(--nut-scale-f, 1))); display: flex; align-items: center; height: var(--nutui-dialog-footer-badge-height, calc(14px * var(--nut-scale-f, 1))); padding: var(--nutui-dialog-footer-badge-padding, 0 calc(3px * var(--nut-scale-f, 1))); background: var(--nutui-dialog-footer-badge-bg-ok, var(--nutui-color-danger-light, #ffebef)); border-radius: var(--nutui-dialog-footer-badge-border-radius, calc(2px * var(--nut-scale-f, 1)) calc(2px * var(--nut-scale-f, 1)) 0px calc(2px * var(--nut-scale-f, 1))); font-size: var(--nutui-dialog-footer-badge-fontsize, calc(10px * var(--nut-scale-f, 1))); color: var(--nutui-dialog-footer-badge-color-ok, var(--nutui-color-primary, #ff0f23)); } .nut-dialog-footer-ok { max-width: var(--nutui-dialog-footer-ok-max-width, calc(128px * var(--nut-scale-f, 1))); font-weight: var(--nutui-font-weight-medium, 500); } .nut-dialog-footer-ok .nut-button-children { font-weight: var(--nutui-font-weight-medium, 500); } .nut-dialog-footer-block.nut-button { min-width: 100%; } .nut-dialog-footer-cancel-container { position: relative; display: flex; align-items: center; width: 100%; justify-content: space-around; } .nut-dialog-footer-cancel-container .nut-dialog-footer-cancel-badge { position: absolute; right: var(--nutui-dialog-footer-cancel-margin-right, calc(12px * var(--nut-scale-f, 1))); top: var(--nutui-dialog-footer-badge-top, calc(-8px * var(--nut-scale-f, 1))); display: flex; align-items: center; height: var(--nutui-dialog-footer-badge-height, calc(14px * var(--nut-scale-f, 1))); padding: var(--nutui-dialog-footer-badge-padding, 0 calc(3px * var(--nut-scale-f, 1))); background: var(--nutui-dialog-footer-badge-bg-cancel, var(--nutui-color-danger-light, #ffebef)); border-radius: var(--nutui-dialog-footer-badge-border-radius, calc(2px * var(--nut-scale-f, 1)) calc(2px * var(--nut-scale-f, 1)) 0px calc(2px * var(--nut-scale-f, 1))); font-size: var(--nutui-dialog-footer-badge-fontsize, calc(10px * var(--nut-scale-f, 1))); color: var(--nutui-dialog-footer-badge-color-cancel, var(--nutui-color-primary, #ff0f23)); } [dir=rtl] .nut-dialog-outer, .nut-rtl .nut-dialog-outer { left: auto; right: 50%; -webkit-transform: translate(50%, -50%); transform: translate(50%, -50%); } [dir=rtl] .nut-dialog-close-top-right, .nut-rtl .nut-dialog-close-top-right { right: auto; left: var(--nutui-dialog-close-right, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-dialog-close-top-left, .nut-rtl .nut-dialog-close-top-left { left: auto; right: var(--nutui-dialog-close-left, calc(16px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-dialog-footer-cancel.nut-dialog-footer-cancel, .nut-rtl .nut-dialog-footer-cancel.nut-dialog-footer-cancel { margin-right: 0; margin-left: var(--nutui-dialog-footer-cancel-margin-right, calc(12px * var(--nut-scale-f, 1))); } [dir=rtl] .nut-dialog-content, .nut-rtl .nut-dialog-content { text-align: var(--nutui-dialog-content-text-align, right); }