_common-structural.scss 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586
  1. /**
  2. ****************************
  3. * Generic Styles
  4. ****************************
  5. */
  6. // if we don't do this, then the width and height of the grid would be ignored,
  7. // as there is no default display for the element ag-grid-a2 (as it's not a natural dom element)
  8. ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
  9. display: block;
  10. }
  11. .ag-hidden {
  12. display: none !important;
  13. }
  14. .ag-invisible {
  15. visibility: hidden !important;
  16. }
  17. .ag-drag-handle {
  18. cursor: move; // IE fallback
  19. cursor: grab;
  20. }
  21. .ag-column-drop-wrapper {
  22. display: flex;
  23. }
  24. .ag-column-drop-horizontal-half-width {
  25. display: inline-block;
  26. width: 50% !important;
  27. }
  28. .ag-unselectable {
  29. @include ag-selectable(none);
  30. }
  31. .ag-selectable {
  32. @include ag-selectable(text);
  33. }
  34. .ag-tab {
  35. position: relative;
  36. }
  37. .ag-tab-guard {
  38. position: absolute;
  39. width: 0;
  40. height: 0;
  41. display: block;
  42. }
  43. .ag-select-agg-func-popup {
  44. position: absolute;
  45. }
  46. .ag-input-wrapper, .ag-picker-field-wrapper {
  47. display: flex;
  48. flex: 1 1 auto;
  49. align-items: center;
  50. line-height: normal;
  51. position: relative;
  52. }
  53. // setting shake class to an item will give it a left ot right animation
  54. // used for the 'left' and 'rigth' arrows when dragging columns and scrolling
  55. .ag-shake-left-to-right {
  56. animation-direction: alternate;
  57. animation-duration: 0.2s;
  58. animation-iteration-count: infinite;
  59. animation-name: ag-shake-left-to-right;
  60. }
  61. @keyframes ag-shake-left-to-right {
  62. from {
  63. padding-left: 6px;
  64. padding-right: 2px;
  65. }
  66. to {
  67. padding-left: 2px;
  68. padding-right: 6px;
  69. }
  70. }
  71. .ag-root-wrapper {
  72. cursor: default;
  73. position: relative; // set to relative, so absolute popups appear relative to this
  74. display: flex;
  75. flex-direction: column;
  76. overflow: hidden;
  77. &.ag-layout-normal {
  78. height: 100%;
  79. }
  80. }
  81. .ag-watermark {
  82. position: absolute;
  83. bottom: 10px;
  84. right: 25px;
  85. opacity: 0.5;
  86. transition: opacity 1s ease-out 3s;
  87. &:before {
  88. content: '';
  89. background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDk0cHgiIGhlaWdodD0iMjM5cHgiIHZpZXdCb3g9IjAgMCA0OTQgMjM5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ny4xICg0NTQyMikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+TG9nbzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0wLjYxMjg0OTkzMSwxMDggTDAuNjEyODQ5OTMxLDY3LjQ1OTYzNzQgTDAuNjEyODQ5OTMxLDY3LjQ1OTYzNzQgQzAuNjEyODQ5OTMxLDYyLjEwMDY1MzYgMy40NzE4MzM3OCw1Ny4xNDg3NDgzIDguMTEyODQ5OTMsNTQuNDY5MjU2NCBMOTguMzA2NDI1LDIuMzk1OTcxNTcgTDk4LjMwNjQyNSwyLjM5NTk3MTU3IEMxMDIuOTQ3NDQxLC0wLjI4MzUyMDM1OCAxMDguNjY1NDA5LC0wLjI4MzUyMDM1OCAxMTMuMzA2NDI1LDIuMzk1OTcxNTcgTDExMy4zMDY0MjUsMi4zOTU5NzE1NyBMMjAzLjUsNTQuNDY5MjU2NCBMMjAzLjUsNTQuNDY5MjU2NCBDMjA4LjE0MTAxNiw1Ny4xNDg3NDgzIDIxMSw2Mi4xMDA2NTM2IDIxMSw2Ny40NTk2Mzc0IEwyMTEsMTM4IEwxODEsMTM4IEwxODAuOTk3MDQxLDkzLjk5OTk5OTggTDE4MC45OTYwMzIsOTMuOTk5OTk5OSBDMTgwLjk5NTQ3NSw4NS43MTYxMjI2IDE3NC4yNzk5MDksNzkuMDAxMDA4NyAxNjUuOTk2MDMyLDc5LjAwMTAwODcgTDEyMiw3OC45OTk5OTk5IEMxMTMuNzE1NzI5LDc4Ljk5OTk5OTkgMTA3LDg1LjcxNTcyODYgMTA3LDkzLjk5OTk5OTkgTDEwNywxMzYuMDE1NjIzIEwxMDcsMTM2LjAxNTYyMyBDMTA3LDE0NC4yOTk4OTUgMTEzLjcxNTcyOSwxNTEuMDE1NjIzIDEyMiwxNTEuMDE1NjIzIEwxNjgsMTUxLjAxNTYyMyBMMTY4LDE2MyBDMTY4LDE2NC42NTY4NTQgMTY2LjY1Njg1NCwxNjYgMTY1LDE2NiBMMTIwLDE2NiBMMTIwLDE3OSBMMTY1Ljk5NjAzMiwxNzkgTDE2NS45OTYwMzIsMTc4Ljk5Nzg3NyBDMTc0LjI3OTQ3NCwxNzguOTk3ODc3IDE4MC45OTQ4NiwxNzIuMjgzNDQyIDE4MC45OTYwMzIsMTY0IEwxODEsMTUwLjk2MDU1NCBMMjExLDE1MC45NjA1NTQgTDIxMSwxNzEuNjA2MjA3IEwyMTEsMTcxLjYwNjIwNyBDMjExLDE3Ni45NjUxOTEgMjA4LjE0MTAxNiwxODEuOTE3MDk2IDIwMy41LDE4NC41OTY1ODggTDExMy4zMDY0MjUsMjM2LjY2OTg3MyBMMTEzLjMwNjQyNSwyMzYuNjY5ODczIEMxMDguNjY1NDA5LDIzOS4zNDkzNjUgMTAyLjk0NzQ0MSwyMzkuMzQ5MzY1IDk4LjMwNjQyNSwyMzYuNjY5ODczIEw4LjExMjg0OTkzLDE4NC41OTY1ODggTDguMTEyODQ5OTMsMTg0LjU5NjU4OCBDMy40NzE4MzM3OCwxODEuOTE3MDk2IDAuNjEyODQ5OTMxLDE3Ni45NjUxOTEgMC42MTI4NDk5MzEsMTcxLjYwNjIwNyBMMC42MTI4NDk5MzEsMTIxIEwyNywxMjEgTDI3LDEzNiBDMjcsMTQ0LjI4NDI3MSAzMy43MTU3Mjg3LDE1MSA0MiwxNTEgTDQyLDE1MSBMMTAwLDE1MSBMMTAwLDk0IEMxMDAsODUuNzE1NzI4OCA5My4yODQyNzEyLDc5IDg1LDc5IEwyNyw3OSBMMjcsOTIgTDg0LDkyIEM4NS42NTY4NTQyLDkyIDg3LDkzLjM0MzE0NTggODcsOTUgTDg3LDk1IEw4NywxMDggTDAuNjEyODQ5OTMxLDEwOCBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iU3ltYm9scyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkxvZ28iPgogICAgICAgICAgICA8cGF0aCBkPSJNNDc3LDU1IEw0OTQsNTUgTDQ5NCwxNTEgTDQzNSwxNTEgQzQyNi43MTU3MjksMTUxIDQyMCwxNDQuMjg0MjcxIDQyMCwxMzYgTDQyMCw5NiBDNDIwLDg3LjcxNTcyODggNDI2LjcxNTcyOSw4MSA0MzUsODEgTDQzNSw4MSBMNDc3LDgxIEw0NzcsNTUgWiBNNDQwLDk4IEM0MzguMzQzMTQ2LDk4IDQzNyw5OS4zNDMxNDU4IDQzNywxMDEgTDQzNywxMzEgQzQzNywxMzIuNjU2ODU0IDQzOC4zNDMxNDYsMTM0IDQ0MCwxMzQgTDQ3NywxMzQgTDQ3Nyw5OCBMNDQwLDk4IFoiIGlkPSJkIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICAgICAgICAgIDxnIGlkPSJpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTYuMDAwMDAwLCA1NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJQYXRoLTYiIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMCAyNiAxNyAyNiAxNyA5NiAwIDk2Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0iUGF0aC03IiBmaWxsPSIjRTExRjIyIiBwb2ludHM9IjAgMS4xMzY4NjgzOGUtMTMgMTcgMS4xMzY4NjgzOGUtMTMgMTcgMTcgMCAxNyI+PC9wb2x5Z29uPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzEsMTUxIEwzNDgsMTUxIEwzNDgsMTAxIEwzNDgsMTAxIEMzNDgsOTkuMzQzMTQ1OCAzNDkuMzQzMTQ2LDk4IDM1MSw5OCBMMzg5LDk4IEwzODksODEgTDM0Niw4MSBMMzQ2LDgxIEMzMzcuNzE1NzI5LDgxIDMzMSw4Ny43MTU3Mjg4IDMzMSw5NiBMMzMxLDE1MSBaIiBpZD0iciIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMzI0LDg2IEwzMjQsNzYgTDMyNCw3NiBDMzI0LDY3LjcxNTcyODggMzE3LjI4NDI3MSw2MSAzMDksNjEgTDI0OSw2MSBMMjQ5LDYxIEMyNDAuNzE1NzI5LDYxIDIzNCw2Ny43MTU3Mjg4IDIzNCw3NiBMMjM0LDEzNiBMMjM0LDEzNiBDMjM0LDE0NC4yODQyNzEgMjQwLjcxNTcyOSwxNTEgMjQ5LDE1MSBMMzA5LDE1MSBMMzA5LDE1MSBDMzE3LjI4NDI3MSwxNTEgMzI0LDE0NC4yODQyNzEgMzI0LDEzNiBMMzI0LDEwMCBMMjg3LDEwMCBMMjg3LDExNyBMMzA3LDExNyBMMzA3LDEzMSBMMzA3LDEzMSBDMzA3LDEzMi42NTY4NTQgMzA1LjY1Njg1NCwxMzQgMzA0LDEzNCBMMjU0LDEzNCBMMjU0LDEzNCBDMjUyLjM0MzE0NiwxMzQgMjUxLDEzMi42NTY4NTQgMjUxLDEzMSBMMjUxLDgxIEwyNTEsODEgQzI1MSw3OS4zNDMxNDU4IDI1Mi4zNDMxNDYsNzggMjU0LDc4IEwzMDQsNzggTDMwNCw3OCBDMzA1LjY1Njg1NCw3OCAzMDcsNzkuMzQzMTQ1OCAzMDcsODEgTDMwNyw4NiBMMzI0LDg2IFoiIGlkPSJHIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+CiAgICAgICAgICAgIDxnIGlkPSJhZyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iQ29tYmluZWQtU2hhcGUiPgogICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRTExRjIyIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJnIiBmaWxsPSIjRTExRjIyIiB4PSIxMjAiIHk9IjkyIiB3aWR0aD0iNDgiIGhlaWdodD0iNDYiIHJ4PSIzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDAsMTIxIEw4NywxMjEgTDg3LDEzOCBMNDMsMTM4IEw0MywxMzggQzQxLjM0MzE0NTgsMTM4IDQwLDEzNi42NTY4NTQgNDAsMTM1IEw0MCwxMjEgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjRTExRjIyIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
  90. filter: invert(50%);
  91. background-repeat: no-repeat;
  92. background-size: 110px 60px;
  93. display: block;
  94. height: 60px;
  95. width: 110px;
  96. }
  97. }
  98. .ag-watermark-text {
  99. opacity: 0.5;
  100. font-weight: bold;
  101. font-family: Impact, sans-serif;
  102. font-size: 19px;
  103. }
  104. .ag-root-wrapper-body {
  105. display: flex;
  106. flex-direction: row;
  107. &.ag-layout-normal {
  108. flex: 1 1 auto;
  109. height: 0;
  110. min-height: 0;
  111. }
  112. }
  113. .ag-root {
  114. position: relative; // set to relative, so absolute popups appear relative to this
  115. display: flex;
  116. flex-direction: column;
  117. &.ag-layout-normal,
  118. &.ag-layout-auto-height {
  119. overflow: hidden; // was getting some 'shouldn't be there' scrolls, this sorts it out
  120. flex: 1 1 auto;
  121. width: 0;
  122. }
  123. &.ag-layout-normal {
  124. height: 100%;
  125. }
  126. }
  127. /**
  128. ****************************
  129. * Viewports
  130. ****************************
  131. */
  132. .ag-header-viewport,
  133. .ag-floating-top-viewport,
  134. .ag-body-viewport,
  135. .ag-center-cols-viewport,
  136. .ag-floating-bottom-viewport,
  137. .ag-body-horizontal-scroll-viewport,
  138. .ag-virtual-list-viewport {
  139. position: relative;
  140. height: 100%;
  141. min-width: 0px;
  142. overflow: hidden;
  143. flex: 1 1 auto;
  144. }
  145. .ag-body-viewport.ag-layout-print {
  146. flex: none;
  147. }
  148. @media print {
  149. .ag-layout-normal {
  150. // hide grid if trying to print in non-print mode
  151. display: none;
  152. }
  153. .ag-root-wrapper,
  154. .ag-root-wrapper-body,
  155. .ag-root,
  156. .ag-body-viewport,
  157. .ag-center-cols-container,
  158. .ag-center-cols-viewport,
  159. .ag-center-cols-clipper,
  160. .ag-body-horizontal-scroll-viewport,
  161. .ag-virtual-list-viewport {
  162. // Need auto height because 100% height elements with overflow hidden cause printing issues in IE and Edge
  163. height: auto !important;
  164. // Overflow hidden, because otherwise scroll bars print in IE
  165. overflow: hidden !important;
  166. // flex elements cause printing issues in Firefox
  167. // https://bugzilla.mozilla.org/show_bug.cgi?id=939897
  168. display: block !important;
  169. }
  170. .ag-row {
  171. page-break-inside: avoid;
  172. }
  173. }
  174. .ag-body-viewport {
  175. display: flex;
  176. &.ag-layout-normal {
  177. overflow-y: auto;
  178. -webkit-overflow-scrolling: touch;
  179. }
  180. }
  181. .ag-center-cols-viewport {
  182. width: 100%;
  183. overflow-x: auto;
  184. }
  185. .ag-body-horizontal-scroll-viewport {
  186. overflow-x: scroll;
  187. }
  188. .ag-virtual-list-viewport {
  189. overflow: auto;
  190. width: 100%;
  191. }
  192. /**
  193. ****************************
  194. * Containers
  195. ****************************
  196. */
  197. .ag-header-container,
  198. .ag-floating-top-container,
  199. .ag-body-container,
  200. .ag-pinned-right-cols-container,
  201. .ag-center-cols-container,
  202. .ag-pinned-left-cols-container,
  203. .ag-floating-bottom-container,
  204. .ag-body-horizontal-scroll-container,
  205. .ag-full-width-container,
  206. .ag-floating-bottom-full-width-container,
  207. .ag-virtual-list-container {
  208. position: relative;
  209. }
  210. // for when auto height is used but there is no row data
  211. .ag-header-container, .ag-floating-top-container, .ag-floating-bottom-container {
  212. height: 100%;
  213. white-space: nowrap;
  214. }
  215. .ag-center-cols-clipper {
  216. min-height: 100%;
  217. }
  218. .ag-center-cols-container {
  219. display: block;
  220. }
  221. .ag-layout-print .ag-center-cols-clipper {
  222. min-width: 100%;
  223. }
  224. .ag-layout-auto-height .ag-center-cols-clipper,
  225. .ag-layout-auto-height .ag-center-cols-container {
  226. min-height: 50px;
  227. }
  228. .ag-pinned-right-cols-container {
  229. display: block;
  230. }
  231. .ag-body-horizontal-scroll-container {
  232. height: 100%;
  233. }
  234. .ag-full-width-container,
  235. .ag-floating-top-full-width-container,
  236. .ag-floating-bottom-full-width-container {
  237. position: absolute;
  238. top: 0px;
  239. left: 0px;
  240. // turn off pointer events, because this container overlays the main row containers.
  241. // so when user clicks on space between full width rows, we want the mouse clicks to
  242. // pass onto the underlying container where the real rows are. eg if using full width
  243. // for row grouping, the groups will be in the full width container, but when user
  244. // opens a group the children are shown in the other containers - we want to make sure we
  245. // don't block mouse clicks to those other containers with the children.
  246. pointer-events: none;
  247. }
  248. .ag-full-width-container {
  249. width: 100%;
  250. }
  251. .ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container {
  252. display: inline-block;
  253. overflow: hidden;
  254. height: 100%;
  255. width: 100%;
  256. }
  257. .ag-virtual-list-container {
  258. overflow: hidden;
  259. }
  260. /**
  261. ****************************
  262. * Scrollers
  263. ****************************
  264. */
  265. .ag-center-cols-clipper {
  266. flex: 1;
  267. min-width: 0;
  268. overflow: hidden;
  269. }
  270. .ag-body-horizontal-scroll {
  271. min-height: 0;
  272. min-width: 0;
  273. width: 100%;
  274. display: flex;
  275. position: relative;
  276. }
  277. .ag-layout-print {
  278. .ag-body-horizontal-scroll {
  279. display: none;
  280. }
  281. }
  282. .ag-force-vertical-scroll {
  283. overflow-y: scroll !important;
  284. &.ag-layout-print {
  285. overflow-y: visible !important;
  286. }
  287. }
  288. .ag-horizontal-left-spacer, .ag-horizontal-right-spacer {
  289. height: 100%;
  290. min-width: 0;
  291. overflow-x: scroll;
  292. &.ag-scroller-corner {
  293. overflow-x: hidden;
  294. }
  295. }
  296. /**
  297. ****************************
  298. * Headers
  299. ****************************
  300. */
  301. .ag-header, .ag-pinned-left-header, .ag-pinned-right-header {
  302. display: inline-block;
  303. overflow: hidden;
  304. position: relative;
  305. }
  306. .ag-header-cell-sortable {
  307. cursor: pointer;
  308. }
  309. .ag-header {
  310. display: flex;
  311. width: 100%;
  312. white-space: nowrap;
  313. }
  314. .ag-pinned-left-header {
  315. height: 100%;
  316. }
  317. .ag-pinned-right-header {
  318. height: 100%;
  319. }
  320. .ag-header-row {
  321. position: absolute;
  322. overflow: hidden; // so when floating filters are height 0px, the contents don't spill out
  323. }
  324. .ag-header-cell {
  325. display: inline-flex;
  326. align-items: center;
  327. position: absolute;
  328. height: 100%;
  329. }
  330. .ag-header-group-cell-label, .ag-header-cell-label {
  331. display: flex;
  332. flex: 1 1 auto;
  333. overflow: hidden;
  334. align-items: center;
  335. text-overflow: ellipsis;
  336. align-self: stretch;
  337. }
  338. .ag-header-cell-text {
  339. overflow: hidden;
  340. text-overflow: ellipsis;
  341. white-space: nowrap;
  342. }
  343. .ag-right-aligned-header .ag-header-cell-label {
  344. flex-direction: row-reverse;
  345. }
  346. .ag-header-group-text {
  347. overflow: hidden;
  348. text-overflow: ellipsis;
  349. white-space: nowrap;
  350. }
  351. .ag-header-cell-resize {
  352. position: absolute;
  353. z-index: 2;
  354. height: 100%;
  355. width: 8px;
  356. top: 0;
  357. cursor: ew-resize;
  358. // unpinned headers get their rezise handle on the right in normal mode and left in RTL mode
  359. @include ag-unthemed-rtl((
  360. right: -4px
  361. ));
  362. }
  363. .ag-pinned-left-header .ag-header-cell-resize {
  364. right: -4px; // pinned left headers always have their resize on the right, even in RTL mode
  365. }
  366. .ag-pinned-right-header .ag-header-cell-resize {
  367. left: -4px; // pinned right headers always have their resize on the left, even in RTL mode
  368. }
  369. .ag-header-select-all {
  370. display: flex;
  371. }
  372. /**
  373. ****************************
  374. * Columns
  375. ****************************
  376. */
  377. .ag-column-moving {
  378. .ag-cell {
  379. transition: left 0.2s;
  380. }
  381. .ag-header-cell {
  382. transition: left 0.2s;
  383. }
  384. .ag-header-group-cell {
  385. transition: left 0.2s, width 0.2s;
  386. }
  387. }
  388. /**
  389. ****************************
  390. * Column Panel
  391. ****************************
  392. */
  393. .ag-column-panel {
  394. display: flex;
  395. flex-direction: column;
  396. overflow: hidden;
  397. flex: 1 1 auto;
  398. }
  399. .ag-column-select {
  400. display: flex;
  401. flex-direction: column;
  402. overflow: hidden;
  403. flex-grow: 3;
  404. flex-shrink: 1;
  405. flex-basis: 0;
  406. }
  407. .ag-column-select-header {
  408. position: relative;
  409. display: flex;
  410. flex: none;
  411. }
  412. .ag-column-select-header-icon {
  413. position: relative;
  414. }
  415. .ag-column-select-header-filter-wrapper {
  416. flex: 1 1 auto;
  417. }
  418. .ag-column-select-header-filter {
  419. width: 100%;
  420. }
  421. .ag-column-select-list {
  422. flex: 1 1 auto;
  423. overflow: auto;
  424. }
  425. .ag-column-drop {
  426. display: inline-flex;
  427. align-items: center;
  428. overflow: auto;
  429. width: 100%;
  430. }
  431. .ag-column-drop-list {
  432. display: flex;
  433. align-items: center;
  434. }
  435. .ag-column-drop-cell {
  436. display: flex;
  437. align-items: center;
  438. }
  439. .ag-column-drop-cell-text {
  440. overflow: hidden;
  441. flex: 1 1 auto;
  442. text-overflow: ellipsis;
  443. white-space: nowrap;
  444. }
  445. .ag-column-drop-vertical {
  446. display: flex;
  447. flex-direction: column;
  448. overflow: hidden;
  449. flex: 1 1 0;
  450. align-items: stretch;
  451. }
  452. .ag-column-drop-vertical-title-bar {
  453. display: flex;
  454. align-items: center;
  455. }
  456. .ag-column-drop-vertical-list {
  457. align-items: stretch;
  458. flex-grow: 1;
  459. flex-direction: column;
  460. overflow-x: auto;
  461. > * {
  462. flex: none;
  463. }
  464. }
  465. .ag-column-drop-empty .ag-column-drop-vertical-list {
  466. overflow: hidden;
  467. }
  468. .ag-column-drop-vertical-empty-message {
  469. display: block;
  470. }
  471. .ag-column-drop.ag-column-drop-horizontal {
  472. white-space: nowrap;
  473. overflow: hidden;
  474. }
  475. .ag-column-drop-cell-button {
  476. cursor: pointer;
  477. }
  478. .ag-filter-toolpanel {
  479. flex: 1 1 0px;
  480. min-width: 0;
  481. }
  482. .ag-filter-toolpanel-header {
  483. position: relative;
  484. }
  485. .ag-filter-toolpanel-header, .ag-filter-toolpanel-search {
  486. display: flex;
  487. align-items: center;
  488. > * {
  489. display: flex;
  490. align-items: center;
  491. }
  492. }
  493. .ag-filter-apply-panel {
  494. display: flex;
  495. justify-content: flex-end;
  496. overflow: hidden;
  497. }
  498. /**
  499. ****************************
  500. * Rows
  501. ****************************
  502. */
  503. // for animations, allows rows to slide up and down,
  504. .ag-row-animation .ag-row {
  505. transition: transform 0.4s, top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s;
  506. }
  507. .ag-row-no-animation .ag-row {
  508. transition: background-color 0.1s;
  509. }
  510. .ag-row {
  511. white-space: nowrap;
  512. width: 100%;
  513. }
  514. .ag-row-loading {
  515. display: flex;
  516. align-items: center;
  517. }
  518. .ag-row-position-absolute {
  519. position: absolute;
  520. }
  521. .ag-row-position-relative {
  522. position: relative;
  523. }
  524. .ag-full-width-row {
  525. overflow: hidden;
  526. // turn events back on, as we removed them in the parent
  527. pointer-events: all;
  528. }
  529. .ag-row-inline-editing {
  530. z-index: 1;
  531. }
  532. .ag-row-dragging {
  533. z-index: 2;
  534. }
  535. .ag-stub-cell {
  536. display: flex;
  537. align-items: center;
  538. }
  539. /**
  540. ****************************
  541. * Cells
  542. ****************************
  543. */
  544. .ag-cell {
  545. display: inline-block;
  546. position: absolute;
  547. white-space: nowrap;
  548. }
  549. .ag-cell-value, .ag-group-value {
  550. overflow: hidden;
  551. text-overflow: ellipsis;
  552. }
  553. .ag-cell-wrapper {
  554. display: flex;
  555. align-items: center;
  556. height: 100%;
  557. // adding width: 100% here breaks text-overflow: ellipsis
  558. // width: 100%;
  559. &.ag-row-group {
  560. align-items: flex-start;
  561. }
  562. }
  563. .ag-full-width-row .ag-cell-wrapper.ag-row-group {
  564. align-items: center;
  565. }
  566. .ag-cell-auto-height {
  567. height: 100%;
  568. }
  569. .ag-cell-inline-editing {
  570. z-index: 1;
  571. .ag-cell-edit-wrapper,
  572. .ag-cell-editor,
  573. .ag-cell-editor .ag-wrapper,
  574. .ag-cell-editor input {
  575. height: 100%;
  576. width: 100%;
  577. line-height: normal;
  578. }
  579. }
  580. .ag-cell .ag-icon {
  581. display: inline-block;
  582. vertical-align: middle;
  583. }
  584. /**
  585. ****************************
  586. * Filters
  587. ****************************
  588. */
  589. .ag-set-filter-item {
  590. display: flex;
  591. align-items: center;
  592. height: 100%;
  593. }
  594. .ag-set-filter-item-value {
  595. overflow: hidden;
  596. text-overflow: ellipsis;
  597. white-space: nowrap;
  598. }
  599. .ag-set-filter-item-checkbox {
  600. display: flex;
  601. // for focus reasons, we need this for IE, otherwise for the set filter, the 'selectAll' click doesn't work
  602. // when you click on it when the quick filter has focus. this was a fix for AG-2258
  603. pointer-events: none;
  604. }
  605. .ag-filter-body-wrapper {
  606. display: flex;
  607. flex-direction: column;
  608. }
  609. .ag-filter-filter {
  610. flex: 1 1 auto;
  611. overflow: hidden;
  612. }
  613. .ag-filter-condition {
  614. display: flex;
  615. }
  616. /**
  617. ****************************
  618. * Floating Filter
  619. ****************************
  620. */
  621. .ag-floating-filter-body {
  622. position: relative;
  623. display: flex;
  624. flex: 1 1 auto;
  625. height: 100%;
  626. }
  627. .ag-floating-filter-full-body {
  628. display: flex;
  629. flex: 1 1 auto;
  630. height: 100%;
  631. width: 100%;
  632. align-items: center;
  633. overflow: hidden;
  634. }
  635. .ag-floating-filter-full-body > div {
  636. flex: 1 1 auto;
  637. }
  638. .ag-floating-filter {
  639. display: inline-block;
  640. position: absolute;
  641. }
  642. .ag-floating-filter-input {
  643. align-items: center;
  644. display: flex;
  645. width: 100%;
  646. > * {
  647. flex: 1 1 auto;
  648. }
  649. }
  650. .ag-floating-filter-button {
  651. display: flex;
  652. flex: none;
  653. }
  654. /**
  655. ****************************
  656. * Drag & Drop
  657. ****************************
  658. */
  659. .ag-dnd-ghost {
  660. position: absolute;
  661. display: inline-flex;
  662. align-items: center;
  663. cursor: move;
  664. white-space: nowrap;
  665. }
  666. /**
  667. ****************************
  668. * Overlay
  669. ****************************
  670. */
  671. .ag-overlay {
  672. height: 100%;
  673. left: 0;
  674. pointer-events: none;
  675. position: absolute;
  676. top: 0;
  677. width: 100%;
  678. }
  679. .ag-overlay-panel {
  680. display: flex;
  681. height: 100%;
  682. width: 100%;
  683. }
  684. .ag-overlay-wrapper {
  685. display: flex;
  686. flex: none;
  687. width: 100%;
  688. height: 100%;
  689. align-items: center;
  690. justify-content: center;
  691. text-align: center;
  692. }
  693. .ag-overlay-loading-wrapper {
  694. // prevent interaction with grid while it's loading
  695. pointer-events: all;
  696. }
  697. /**
  698. ****************************
  699. * Popup
  700. ****************************
  701. */
  702. .ag-popup-child {
  703. z-index: 5;
  704. }
  705. .ag-popup-editor {
  706. position: absolute;
  707. user-select: none;
  708. z-index: 1;
  709. }
  710. .ag-large-text-input {
  711. display: block;
  712. }
  713. /**
  714. ****************************
  715. * Virtual Lists
  716. ****************************
  717. */
  718. .ag-virtual-list-item {
  719. position: absolute;
  720. width: 100%;
  721. }
  722. /**
  723. ****************************
  724. * Floating Top and Bottom
  725. ****************************
  726. */
  727. .ag-floating-top {
  728. overflow: hidden;
  729. white-space: nowrap;
  730. width: 100%;
  731. position: relative;
  732. display: flex;
  733. }
  734. .ag-pinned-left-floating-top {
  735. display: inline-block;
  736. overflow: hidden;
  737. position: relative;
  738. min-width: 0px;
  739. }
  740. .ag-pinned-right-floating-top {
  741. display: inline-block;
  742. overflow: hidden;
  743. position: relative;
  744. min-width: 0px;
  745. }
  746. .ag-floating-bottom {
  747. overflow: hidden;
  748. white-space: nowrap;
  749. width: 100%;
  750. position: relative;
  751. display: flex;
  752. }
  753. .ag-pinned-left-floating-bottom {
  754. display: inline-block;
  755. overflow: hidden;
  756. position: relative;
  757. min-width: 0px;
  758. }
  759. .ag-pinned-right-floating-bottom {
  760. display: inline-block;
  761. overflow: hidden;
  762. position: relative;
  763. min-width: 0px;
  764. }
  765. /**
  766. ****************************
  767. * Dialog
  768. ****************************
  769. */
  770. .ag-dialog, .ag-panel {
  771. display: flex;
  772. flex-direction: column;
  773. position: relative;
  774. overflow: hidden;
  775. }
  776. .ag-panel-title-bar {
  777. display: flex;
  778. flex: none;
  779. align-items: center;
  780. cursor: default;
  781. }
  782. .ag-panel-title-bar-title {
  783. flex: 1 1 auto;
  784. }
  785. .ag-panel-title-bar-buttons {
  786. display: flex;
  787. }
  788. .ag-panel-title-bar-button {
  789. cursor: pointer;
  790. }
  791. .ag-panel-content-wrapper {
  792. display: flex;
  793. flex: 1 1 auto;
  794. position: relative;
  795. overflow: hidden;
  796. }
  797. .ag-dialog {
  798. position: absolute;
  799. }
  800. .ag-resizer {
  801. position: absolute;
  802. pointer-events: none;
  803. z-index: 1;
  804. &.ag-resizer-topLeft {
  805. top: 0;
  806. left: 0;
  807. height: 5px;
  808. width: 5px;
  809. cursor: nwse-resize;
  810. }
  811. &.ag-resizer-top {
  812. top: 0;
  813. left: 5px;
  814. right: 5px;
  815. height: 5px;
  816. cursor: ns-resize;
  817. }
  818. &.ag-resizer-topRight {
  819. top: 0;
  820. right: 0;
  821. height: 5px;
  822. width: 5px;
  823. cursor: nesw-resize;
  824. }
  825. &.ag-resizer-right {
  826. top: 5px;
  827. right: 0;
  828. bottom: 5px;
  829. width: 5px;
  830. cursor: ew-resize;
  831. }
  832. &.ag-resizer-bottomRight {
  833. bottom: 0;
  834. right: 0;
  835. height: 5px;
  836. width: 5px;
  837. cursor: nwse-resize;
  838. }
  839. &.ag-resizer-bottom {
  840. bottom: 0;
  841. left: 5px;
  842. right: 5px;
  843. height: 5px;
  844. cursor: ns-resize;
  845. }
  846. &.ag-resizer-bottomLeft {
  847. bottom: 0;
  848. left: 0;
  849. height: 5px;
  850. width: 5px;
  851. cursor: nesw-resize;
  852. }
  853. &.ag-resizer-left {
  854. left: 0;
  855. top: 5px;
  856. bottom: 5px;
  857. width: 5px;
  858. cursor: ew-resize;
  859. }
  860. }
  861. /**
  862. ****************************
  863. * Tooltip
  864. ****************************
  865. */
  866. .ag-tooltip {
  867. position: absolute;
  868. pointer-events: none;
  869. z-index: 99999;
  870. }
  871. /**
  872. ****************************
  873. * Animations
  874. ****************************
  875. */
  876. // this is used by the animateShowChangeCellRenderer. it is arguable that this belongs in the themes,
  877. // however it is not tied to color, only placement and visiblity, which is behaviour and not style,
  878. // thus belongs here, besides it doesn't change wih the themes
  879. .ag-value-slide-out {
  880. margin-right: 5px;
  881. opacity: 1;
  882. transition: opacity 3s, margin-right 3s; // as value fades, it also moves to the left via the margin setting
  883. transition-timing-function: linear;
  884. }
  885. .ag-value-slide-out-end {
  886. margin-right: 10px;
  887. opacity: 0;
  888. }
  889. .ag-opacity-zero {
  890. opacity: 0 !important;
  891. }
  892. /**
  893. ****************************
  894. * Menu
  895. ****************************
  896. */
  897. .ag-menu {
  898. max-height: 100%;
  899. overflow-y: auto;
  900. position: absolute;
  901. user-select: none;
  902. }
  903. .ag-menu-column-select-wrapper {
  904. height: 265px;
  905. overflow: auto;
  906. }
  907. .ag-menu-list {
  908. display: table;
  909. }
  910. .ag-menu-option, .ag-menu-separator {
  911. display: table-row;
  912. }
  913. .ag-menu-separator-cell, .ag-menu-option-part {
  914. display: table-cell;
  915. vertical-align: middle;
  916. }
  917. .ag-menu-option-text {
  918. white-space: nowrap;
  919. }
  920. .ag-menu-column-select-wrapper .ag-column-select {
  921. height: 100%;
  922. }
  923. /**
  924. ****************************
  925. * Rich Select
  926. ****************************
  927. */
  928. .ag-rich-select {
  929. cursor: default;
  930. outline: none;
  931. }
  932. .ag-rich-select-value {
  933. display: flex;
  934. align-items: center;
  935. }
  936. .ag-rich-select-value-icon {
  937. flex: 1 1 auto;
  938. order: 1;
  939. @include ag-unthemed-rtl(( text-align: right ));
  940. }
  941. .ag-rich-select-list {
  942. position: relative;
  943. }
  944. .ag-rich-select-virtual-list-item {
  945. display: flex;
  946. }
  947. .ag-rich-select-row {
  948. display: flex;
  949. flex: 1 1 auto;
  950. align-items: center;
  951. white-space: nowrap;
  952. }
  953. /**
  954. ****************************
  955. * Pagination
  956. ****************************
  957. */
  958. .ag-paging-panel {
  959. align-items: center;
  960. display: flex;
  961. justify-content: flex-end;
  962. }
  963. .ag-paging-page-summary-panel {
  964. display: flex;
  965. align-items: center;
  966. }
  967. .ag-paging-button-wrapper {
  968. position: relative;
  969. overflow: hidden;
  970. }
  971. .ag-paging-button {
  972. position: absolute;
  973. }
  974. .ag-disabled .ag-paging-page-summary-panel {
  975. pointer-events: none;
  976. }
  977. /**
  978. ****************************
  979. * Tool Panel
  980. ****************************
  981. */
  982. .ag-tool-panel-wrapper {
  983. display: flex;
  984. overflow-y: auto;
  985. overflow-x: hidden;
  986. cursor: default;
  987. user-select: none;
  988. width: 200px;
  989. }
  990. .ag-column-select-column,
  991. .ag-column-select-column-group {
  992. position: relative;
  993. align-items: center;
  994. display: flex;
  995. flex-direction: row;
  996. flex-wrap: nowrap;
  997. text-overflow: ellipsis;
  998. white-space: nowrap;
  999. > * {
  1000. flex: none;
  1001. }
  1002. }
  1003. .ag-column-select-checkbox {
  1004. display: flex;
  1005. }
  1006. .ag-tool-panel-horizontal-resize {
  1007. cursor: ew-resize;
  1008. height: 100%;
  1009. position: absolute;
  1010. top: 0;
  1011. width: 5px;
  1012. z-index: 1;
  1013. }
  1014. .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  1015. @include ag-unthemed-rtl(( right: -3px ));
  1016. }
  1017. .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  1018. @include ag-unthemed-rtl(( left: -3px ));
  1019. }
  1020. .ag-details-row {
  1021. width: 100%;
  1022. }
  1023. .ag-details-row-fixed-height {
  1024. height: 100%;
  1025. }
  1026. .ag-details-grid {
  1027. width: 100%;
  1028. }
  1029. .ag-details-grid-fixed-height {
  1030. height: 100%;
  1031. }
  1032. .ag-header-group-cell {
  1033. display: flex;
  1034. align-items: center;
  1035. height: 100%;
  1036. position: absolute;
  1037. }
  1038. .ag-cell-label-container {
  1039. display: flex;
  1040. justify-content: space-between;
  1041. flex-direction: row-reverse;
  1042. align-items: center;
  1043. width: 100%;
  1044. height: 100%;
  1045. }
  1046. .ag-right-aligned-header .ag-cell-label-container {
  1047. flex-direction: row;
  1048. }
  1049. /**
  1050. ****************************
  1051. * Side Bar
  1052. ****************************
  1053. */
  1054. .ag-side-bar {
  1055. display: flex;
  1056. flex-direction: row-reverse;
  1057. }
  1058. .ag-side-bar-left {
  1059. order: -1;
  1060. flex-direction: row;
  1061. }
  1062. .ag-side-button-button {
  1063. position: relative;
  1064. display: flex;
  1065. flex-direction: column;
  1066. align-items: center;
  1067. justify-content: center;
  1068. flex-wrap: nowrap;
  1069. white-space: nowrap;
  1070. outline: none;
  1071. cursor: pointer;
  1072. }
  1073. .ag-side-button-label {
  1074. writing-mode: vertical-lr;
  1075. }
  1076. /**
  1077. ****************************
  1078. * Status Bar
  1079. ****************************
  1080. */
  1081. .ag-status-bar {
  1082. display: flex;
  1083. justify-content: space-between;
  1084. overflow: hidden;
  1085. }
  1086. .ag-status-panel {
  1087. display: inline-flex;
  1088. }
  1089. .ag-status-name-value {
  1090. white-space: nowrap;
  1091. }
  1092. .ag-status-bar-left {
  1093. display: inline-flex;
  1094. }
  1095. .ag-status-bar-center {
  1096. display: inline-flex;
  1097. }
  1098. .ag-status-bar-right {
  1099. display: inline-flex;
  1100. }
  1101. /**
  1102. ****************************
  1103. * Widgets
  1104. ****************************
  1105. */
  1106. .ag-icon {
  1107. display: block;
  1108. speak: none;
  1109. }
  1110. .ag-group {
  1111. position: relative;
  1112. width: 100%;
  1113. }
  1114. .ag-group-title-bar {
  1115. display: flex;
  1116. align-items: center;
  1117. }
  1118. .ag-group-title {
  1119. display: block;
  1120. flex: 1 1 auto;
  1121. min-width: 0;
  1122. overflow: hidden;
  1123. white-space: nowrap;
  1124. text-overflow: ellipsis;
  1125. }
  1126. .ag-group-title-bar
  1127. .ag-group-title {
  1128. cursor: default;
  1129. }
  1130. .ag-group-toolbar {
  1131. display: flex;
  1132. align-items: center;
  1133. }
  1134. .ag-group-container {
  1135. display: flex;
  1136. }
  1137. .ag-disabled .ag-group-container {
  1138. pointer-events: none;
  1139. }
  1140. .ag-group-container-horizontal {
  1141. flex-direction: row;
  1142. flex-wrap: wrap;
  1143. }
  1144. .ag-group-container-vertical {
  1145. flex-direction: column;
  1146. }
  1147. .ag-charts-font-size-color {
  1148. display: flex;
  1149. align-self: stretch;
  1150. justify-content: space-between;
  1151. }
  1152. .ag-column-group-icons {
  1153. display: block;
  1154. > * {
  1155. cursor: pointer;
  1156. }
  1157. }
  1158. .ag-group-item-alignment-stretch .ag-group-item {
  1159. align-items: stretch;
  1160. }
  1161. .ag-group-item-alignment-start .ag-group-item {
  1162. align-items: flex-start;
  1163. }
  1164. .ag-group-item-alignment-end .ag-group-item {
  1165. align-items: flex-end;
  1166. }
  1167. .ag-toggle-button-icon {
  1168. transition: right 0.3s;
  1169. position: absolute;
  1170. top: -1px;
  1171. }
  1172. .ag-input-field, .ag-select {
  1173. display: flex;
  1174. flex-direction: row;
  1175. align-items: center;
  1176. }
  1177. .ag-input-field-input {
  1178. flex: 1 1 auto;
  1179. width: 100%;
  1180. min-width: 0;
  1181. }
  1182. .ag-floating-filter-input .ag-input-field-input[type='date'] {
  1183. // Fix a bug in Blink rendering engine where date input will not shrink from its default size in a
  1184. // flex container, but it will grow. So we give it a very small width and it will grow to the right size
  1185. width: 1px;
  1186. }
  1187. .ag-range-field {
  1188. display: flex;
  1189. align-items: center;
  1190. }
  1191. .ag-angle-select {
  1192. display: flex;
  1193. align-items: center;
  1194. }
  1195. .ag-angle-select-wrapper {
  1196. display: flex;
  1197. }
  1198. .ag-angle-select-parent-circle {
  1199. display: block;
  1200. position: relative;
  1201. }
  1202. .ag-angle-select-child-circle {
  1203. position: absolute;
  1204. }
  1205. .ag-slider-wrapper {
  1206. display: flex;
  1207. }
  1208. .ag-slider-wrapper {
  1209. .ag-input-field {
  1210. flex: 1 1 auto;
  1211. }
  1212. }
  1213. .ag-picker-field-display {
  1214. flex: 1 1 auto;
  1215. }
  1216. .ag-picker-field {
  1217. display: flex;
  1218. align-items: center;
  1219. }
  1220. .ag-picker-field-icon {
  1221. display: flex;
  1222. border: 0;
  1223. padding: 0;
  1224. margin: 0;
  1225. cursor: pointer;
  1226. }
  1227. .ag-picker-field-wrapper {
  1228. overflow: hidden;
  1229. }
  1230. .ag-label-align-right {
  1231. .ag-label {
  1232. order: 1;
  1233. }
  1234. > * {
  1235. flex: none;
  1236. }
  1237. }
  1238. .ag-label-align-top {
  1239. flex-direction: column;
  1240. align-items: flex-start;
  1241. > * {
  1242. align-self: stretch;
  1243. }
  1244. }
  1245. .ag-color-panel {
  1246. width: 100%;
  1247. display: flex;
  1248. flex-direction: column;
  1249. text-align: center;
  1250. }
  1251. .ag-spectrum-color {
  1252. flex: 1 1 auto;
  1253. position: relative;
  1254. overflow: hidden;
  1255. cursor: default;
  1256. }
  1257. .ag-spectrum-fill {
  1258. position: absolute;
  1259. top: 0;
  1260. left: 0;
  1261. right: 0;
  1262. bottom: 0;
  1263. }
  1264. .ag-spectrum-val {
  1265. cursor: pointer;
  1266. }
  1267. .ag-spectrum-dragger {
  1268. position: absolute;
  1269. pointer-events: none;
  1270. cursor: pointer;
  1271. }
  1272. .ag-spectrum-hue {
  1273. cursor: default;
  1274. background: linear-gradient(to left,
  1275. #ff0000 3%, #ffff00 17%,
  1276. #00ff00 33%, #00ffff 50%,
  1277. #0000ff 67%, #ff00ff 83%,
  1278. #ff0000 100%
  1279. );
  1280. }
  1281. .ag-spectrum-alpha {
  1282. cursor: default;
  1283. }
  1284. .ag-spectrum-hue-background {
  1285. width: 100%;
  1286. height: 100%;
  1287. }
  1288. .ag-spectrum-alpha-background {
  1289. background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  1290. width: 100%;
  1291. height: 100%;
  1292. }
  1293. .ag-spectrum-tool {
  1294. cursor: pointer;
  1295. }
  1296. .ag-spectrum-slider {
  1297. position: absolute;
  1298. pointer-events: none;
  1299. }
  1300. .ag-recent-colors {
  1301. display: flex;
  1302. }
  1303. .ag-recent-color {
  1304. cursor: pointer;
  1305. }
  1306. // Default values for themes that do not use the mixins
  1307. @for $i from 1 to 10 {
  1308. .ag-column-select-indent-#{$i} {
  1309. @include ag-unthemed-rtl(( padding-left: $i * 20px ));
  1310. }
  1311. .ag-row-group-indent-#{$i} {
  1312. @include ag-unthemed-rtl(( padding-left: $i * 20px ));
  1313. }
  1314. }
  1315. .ag-ltr {
  1316. direction: ltr;
  1317. .ag-body, .ag-floating-top, .ag-floating-bottom, .ag-header, .ag-body-viewport, .ag-body-horizontal-scroll {
  1318. flex-direction: row;
  1319. }
  1320. }
  1321. .ag-rtl {
  1322. direction: rtl;
  1323. .ag-body, .ag-floating-top, .ag-floating-bottom, .ag-header, .ag-body-viewport, .ag-body-horizontal-scroll {
  1324. flex-direction: row-reverse;
  1325. }
  1326. .ag-icon-contracted,
  1327. .ag-icon-tree-closed {
  1328. display: block;
  1329. transform: rotate(180deg);
  1330. }
  1331. }