UNPKG

cloud-ui.vusion

Version:
331 lines (275 loc) 8.72 kB
.root { display: inline-block; position: relative; max-width: 100%; /* 防止表格等小的地方超出区域 */ width: var(--input-width); height: var(--input-height); padding: 0 var(--input-padding-x); line-height: calc(var(--input-height) - var(--input-border-width) * 2); background: var(--input-background); border-width: var(--input-border-width); border-style: solid; border-color: var(--input-border-color); border-radius: var(--input-border-radius); cursor: text; color: var(--input-color); transition: border-color var(--transition-duration-base); } .input { position: absolute; left: 0; top: 0; margin: 0; padding: inherit; width: 100%; height: 100%; background: transparent; border: none; color: inherit; font: inherit; border-radius: inherit; line-height: inherit; text-align: inherit; cursor: inherit; } .baseline { visibility: hidden; } /* .placeholder, .input::placeholder { opacity: 1; font-size: inherit; color: var(--input-placeholder-color); } */ .placeholder { /* for IE9 */ position: absolute; left: 0; top: 0; padding: inherit; width: 100%; height: 100%; overflow: hidden; color: var(--input-placeholder-color); } .clearable::before, .password::before { display: inline-block; /* position: absolute; right: 8px; top: 0; bottom: 0; */ line-height: 1; height: 1em; margin: auto; cursor: var(--cursor-pointer); color: var(--input-icon-color); } .clearable:hover::before, .password:hover::before { color: var(--input-icon-color-hover); } .root[disabled] .clearable:hover::before, .root[disabled] .password:hover::before { color: var(--input-icon-color-disabled); cursor: var(--cursor-not-allowed); } .root[readonly] .clearable:hover::before, .root[readonly] .password:hover::before { color: var(--input-icon-color-disabled); } .clearable::before { icon-font: url('../i-icon.vue/assets/close-solid.svg'); } .password::before { icon-font: url('../i-icon.vue/assets/hide.svg'); } .clearable, .password { display: none; } .root:hover .clearable, .root:hover .password, .input:focus ~ .clearable, .input:focus ~ .password { display: inline-block; } .suffix span + span { margin-left: 5px; } .root[password][show-password] .password::before { icon-font: url('../i-icon.vue/assets/show.svg'); } .root[password][suffix] .password::before, .root[password][clearable]:not([password][clearable=""]) .password::before { right: var(--input-suffix-padding-right); } .input:focus { outline: var(--focus-outline); } .root:hover { border-color: var(--input-border-color-hover); } .root[focus] { border-color: var(--input-border-color-focus); box-shadow: var(--input-box-shadow-focus); } .root[color="default"] { /* By default */ } .root[color="error"] { border-color: var(--input-border-color-error); } .root[disabled] { cursor: var(--cursor-not-allowed); background: var(--input-background-disabled); color: var(--input-color-disabled); border-color: var(--input-border-color-disabled); } .root[disabled]:hover { border-color: var(--input-border-color); } .root[readonly] { border-color: var(--input-border-color-disabled); } .root[readonly][focus] { box-shadow: none; } .root[size="normal"] { /* By default */ } .root[display="inline"] { /* By default */ } .root[size^=mini] { height: var(--input-height-mini); line-height: calc(var(--input-height-mini) - var(--input-border-width)*2); } .root[size$=mini] { width: var(--input-width-mini); padding-left: var(--input-padding-x-mini); padding-right: var(--input-padding-x-mini); } .root[display="block"] { display: block; width: auto; } .root[clearable] .input .input { padding-right: var(--input-suffix-padding-right); } .prefix, .suffix { display: block; position: absolute; cursor: pointer; top: 0; z-index: 1; /* font-size: 16px; color: var(--input-icon-color); */ } .prefix { left: 8px; } .suffix { right: 8px; } .root[prefix] .input { padding-left: var(--input-prefix-padding-left); } .root[suffix] .input, .root[password] .input, .root[clearable] .input { padding-right: var(--input-suffix-padding-right); } .root[password][suffix] .input, .root[password][clearable]:not([password][clearable=""]) .input { padding-right: 50px; } .root[prefix] .placeholder { left: var(--input-prefix-placeholder-left); } .root[suffix] .placeholder { padding-right: var(--input-suffix-padding-right); } .root[prefix] .placeholder, .root[suffix] .placeholder { width: calc(100% - var(--input-prefix-placeholder-left)); } .root[suffix][clearable]:hover .input, .root[suffix][clearable]:not([suffix][clearable=""])[focus] .input { padding-right: 50px; } .root .singleicon{ color: var(--input-icon-color); } /* 兼容历史遗留组件中的size属性 */ .root[size$="small"] { width: var(--input-width-small); padding-left: var(--input-padding-x-small); padding-right: var(--input-padding-x-small); } .root[size^="small"] { height: var(--input-height-small); line-height: calc(var(--input-height-small) - var(--input-border-width) * 2); } .root[size$="normal"] { width: var(--input-width); padding-left: var(--input-padding-x); padding-right: var(--input-padding-x); } .root[size^="normal"] { height: var(--input-height); line-height: calc(var(--input-height) - var(--input-border-width) * 2); } .root[size$="medium"] { width: var(--input-width-medium); padding-left: var(--input-padding-x-medium); padding-right: var(--input-padding-x-medium); } .root[size^="medium"] { height: var(--input-height-medium); line-height: calc(var(--input-height-medium) - var(--input-border-width) * 2); } .root[size$="large"] { width: var(--input-width-large); padding-left: var(--input-padding-x-large); padding-right: var(--input-padding-x-large); } .root[size^="large"] { height: var(--input-height-large); line-height: calc(var(--input-height-large) - var(--input-border-width) * 2); } .root[size$="huge"] { width: var(--input-width-huge); padding-left: var(--input-padding-x-huge); padding-right: var(--input-padding-x-huge); } .root[size^="huge"] { height: var(--input-height-huge); line-height: calc(var(--input-height-huge) - var(--input-border-width) * 2); } .root[size$="full"] { width: 100%; padding-left: var(--input-padding-x-full); padding-right: var(--input-padding-x-full); } .root[size^="full"] { height: 100%; } /* 针对新的组件中设置尺寸width和height, 同时存在时,width和height会自动覆盖size */ .root[width="mini"] { width: var(--input-width-mini); padding-left: var(--input-padding-x-mini); padding-right: var(--input-padding-x-mini); } .root[height="mini"] { height: var(--input-height-mini); line-height: calc(var(--input-height-mini) - var(--input-border-width) * 2); } .root[width="small"] { width: var(--input-width-small); padding-left: var(--input-padding-x-small); padding-right: var(--input-padding-x-small); } .root[height="small"] { height: var(--input-height-small); line-height: calc(var(--input-height-small) - var(--input-border-width) * 2); } .root[width="normal"] { width: var(--input-width); padding-left: var(--input-padding-x); padding-right: var(--input-padding-x); } .root[height="normal"] { height: var(--input-height); line-height: calc(var(--input-height) - var(--input-border-width) * 2); } .root[width="medium"] { width: var(--input-width-medium); padding-left: var(--input-padding-x-medium); padding-right: var(--input-padding-x-medium); } .root[height="medium"] { height: var(--input-height-medium); line-height: calc(var(--input-height-medium) - var(--input-border-width) * 2); } .root[width="large"] { width: var(--input-width-large); padding-left: var(--input-padding-x-large); padding-right: var(--input-padding-x-large); } .root[height="large"] { height: var(--input-height-large); line-height: calc(var(--input-height-large) - var(--input-border-width) * 2); } .root[width="huge"] { width: var(--input-width-huge); padding-left: var(--input-padding-x-huge); padding-right: var(--input-padding-x-huge); } .root[height="huge"] { height: var(--input-height-huge); line-height: calc(var(--input-height-huge) - var(--input-border-width) * 2); } .root[width="full"] { width: 100%; padding-left: var(--input-padding-x-full); padding-right: var(--input-padding-x-full); min-width: initial; } .root[height="full"] { height: 100%; }