.#{$prefix}form-trigger-wrap { display: table; // fill body width width: 100%; .#{$prefix}form-text-heighted & { // expand to fill body height when the field's main element has a height height: 100%; } @if $include-ff { // https://sencha.jira.com/browse/EXTJS-13752 // in firefox a wrapping label which causes the field's outer element to expand in // height will also cause the triggerWrap to grow vertically due to the height:100% // set above. inline-flex elements are not affected by this bug, but table (and // inline-table) are. .#{$prefix}gecko & { display: -moz-inline-box; // ff < 28 display: inline-flex; vertical-align: top; } } } // These are required because of the way the fields are structured, the // min-height must cascade for the input to be able to size correctly .#{$prefix}form-type-text.#{$prefix}has-min-height { // this is required because fields with min-height // without a height fail to layout properly. height: 1px; .#{$prefix}form-text-field-body, .#{$prefix}form-trigger-wrap, .#{$prefix}form-text-wrap { min-height: inherit; @if $include-ie { // IE8 has a rule that sets the min-height as a default, // need a more specific rule .#{$prefix}ie8 & { min-height: inherit; } } } @if $include-ie { .#{$prefix}ie8 & .#{$prefix}form-text { min-height: inherit; } } .#{$prefix}form-text { height: 100%; } } .#{$prefix}form-text-wrap { display: table-cell; overflow: hidden; height: 100%; position: relative; @if $include-ff { // EXTJS-13752 .#{$prefix}gecko & { display: block; -moz-box-flex: 1; // ff < 28 flex: 1; } } .#{$prefix}placeholder-label { position: absolute; top: 0; left: 0; cursor: text; white-space: nowrap; overflow: hidden; } } // The extjs-text-field mixin sets min/max-width to give the body its default width. // Fields with grow configured need no min/max-width since their body width is set by autoSize() .#{$prefix}form-item-body.#{$prefix}form-text-grow { min-width: inherit; max-width: inherit; } .#{$prefix}form-text { border: 0; margin: 0; @include border-radius(0); display: block; background: repeat-x 0 0; width: 100%; height: 100%; } .#{$prefix}form-trigger { display: table-cell; vertical-align: top; cursor: pointer; overflow: hidden; background-repeat: no-repeat; text-align: center; line-height: 0; // since horizontally aligned spinner triggers are display inline-block, triggers // require white-space:nowrap to prevent the triggers from wrapping when the field // becomes too narrow white-space: nowrap; .#{$prefix}item-disabled & { cursor: default; } &.#{$prefix}form-trigger-cmp { // neutral theme may set background and/or border on normal triggers. // remove them for component triggers. background: none; border: 0; } // This is to increase specificity in RTL mode for the above rule @if $include-rtl { &.#{$prefix}form-trigger-cmp.#{$prefix}rtl { background: none; border: 0; } } @if $include-ff { // EXTJS-13752 .#{$prefix}gecko & { display: block; } } }