1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
<style include="cr-input-style">
:host {
display: block;
position: absolute;
transition: opacity 150ms linear;
}
:host([invisible]) {
opacity: 0;
}
:host([disabled]),
:host([invisible]) {
pointer-events: none;
}
:host([side=top]) #lineContainer,
:host([side=bottom]) #lineContainer {
cursor: ns-resize;
padding: 8px 0;
width: 100%;
}
:host([side=left]) #lineContainer,
:host([side=right]) #lineContainer {
cursor: ew-resize;
height: 100%;
padding: 0 8px;
}
#line {
border: 1px dashed var(--google-blue-500);
}
@media (prefers-color-scheme: dark) {
#line {
border-color: var(--google-blue-300);
}
}
:host([side=top]) #line,
:host([side=bottom]) #line {
width: 100%;
}
:host([side=left]) #line,
:host([side=right]) #line {
height: 100%;
}
#row-container {
border-radius: 4px;
font-size: 0.8rem;
min-height: 25px;
overflow: hidden;
padding: 1px;
position: absolute;
}
@media (prefers-color-scheme: light) {
#row-container {
--cr-input-background-color: var(--cr-primary-text-color);
--cr-input-color: white;
background-color: var(--cr-primary-text-color);
color: white;
}
}
@media (prefers-color-scheme: dark) {
#row-container {
--cr-input-background-color: rgb(27, 28, 30); /* GG900 + 30% black */
--cr-input-color: var(--cr-primary-text-color);
background-color: rgb(27, 28, 30); /* GG900 + 30% black */
color: var(--cr-primary-text-color);
}
}
:host([side=top]) #row-container {
left: 50%;
top: 9px;
}
:host([side=right]) #row-container {
right: 9px;
top: 50%;
}
:host([side=bottom]) #row-container {
bottom: 9px;
right: 50%;
}
:host([side=left]) #row-container {
bottom: 50%;
left: 9px;
}
:host([disabled]) #row-container {
opacity: var(--cr-disabled-opacity);
}
:host([invalid]) #input {
caret-color: var(--cr-input-error-color);
}
:host([invalid]) #underline {
border-color: var(--cr-input-error-color);
}
#row-container,
#input-container {
align-items: center;
display: flex;
}
#input-container {
position: relative;
}
#input {
padding-inline-end: 0;
text-align: end;
width: 44px;
}
#unit {
padding-inline-end: 8px;
}
</style>
<div id="lineContainer">
<div id="line"></div>
</div>
<div id="row-container">
<div id="input-container">
<input id="input" disabled="[[disabled]]" aria-label$="[[i18n(side)]]"
aria-hidden$="[[getAriaHidden_(invisible)]]"
on-focus="onFocus_" on-blur="onBlur_" data-timeout-delay="1000">
<span id="unit">[[measurementSystem.unitSymbol]]</span>
</div>
<div id="underline"></div>
</div>
</div>
|