_Directions.scss 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. @mixin directions() {
  2. $border_size: 2px;
  3. $directions-height--max: 420px !default;
  4. .esri-directions {
  5. color: $font-color;
  6. }
  7. .esri-directions__panel-content {
  8. padding: $cap-spacing 0;
  9. }
  10. .esri-directions__sign-in-panel {
  11. color: $interactive-font-color;
  12. display: flex;
  13. justify-content: center;
  14. }
  15. .esri-directions__section {
  16. margin-top: $cap-spacing;
  17. margin-bottom: $cap-spacing;
  18. }
  19. .esri-directions__section-splitter {
  20. width: 100%;
  21. margin: $cap-spacing--plus-half 0;
  22. border-top: 1px solid $border-color;
  23. }
  24. .esri-directions__travel-modes-select,
  25. .esri-directions__departure-time {
  26. margin: 0 $side-spacing $cap-spacing--half;
  27. width: calc(100% - #{$side-spacing--double});
  28. }
  29. .esri-directions__panel-content--sign-in,
  30. .esri-directions__panel-content--loading,
  31. .esri-directions__panel-content--error {
  32. min-height: $directions-height--max;
  33. margin: 0 $cap-spacing;
  34. color: $interactive-font-color;
  35. display: flex;
  36. align-items: center;
  37. justify-content: center;
  38. }
  39. .esri-directions__loader {
  40. height: 40px;
  41. width: 32px;
  42. background: url(../base/images/loading-throb.gif) no-repeat center;
  43. }
  44. .esri-directions__warning-card {
  45. border-top: solid 2px $border-color--error;
  46. color: $interactive-font-color;
  47. @include defaultBoxShadow();
  48. padding: 12px;
  49. margin: 20px auto;
  50. width: 90%;
  51. }
  52. .esri-directions__warning-header {
  53. color: $font-color--error;
  54. display: flex;
  55. margin-bottom: 6px;
  56. }
  57. .esri-directions__warning-heading {
  58. color: inherit;
  59. margin: 0 4px;
  60. }
  61. .esri-directions__warning-message {
  62. color: inherit;
  63. font-weight: $font-weight;
  64. }
  65. .esri-directions__departure-time-controls {
  66. display: flex;
  67. width: 100%;
  68. }
  69. .esri-directions__departure-time-controls .esri-date-picker,
  70. .esri-directions__departure-time-controls .esri-time-picker {
  71. flex: 1 1 0%;
  72. border-top: 0;
  73. }
  74. .esri-directions__departure-time-controls .esri-widget:first-child {
  75. border-right: 0;
  76. }
  77. .esri-directions__departure-time-controls .esri-time-picker {
  78. padding: 0;
  79. display: flex;
  80. justify-content: center;
  81. }
  82. .esri-directions__departure-time-controls .esri-time-picker__input {
  83. width: 100%;
  84. padding: 0 0.5em;
  85. margin: 0;
  86. height: auto;
  87. }
  88. .esri-directions__departure-time-controls .esri-date-picker__calendar-toggle {
  89. padding: 0 0.5em;
  90. justify-content: flex-start;
  91. }
  92. .esri-directions__directions-section {
  93. display: flex;
  94. flex-direction: column;
  95. align-items: center;
  96. justify-content: center;
  97. }
  98. .esri-directions__sign-in-content {
  99. align-self: flex-start;
  100. display: flex;
  101. flex-direction: column;
  102. align-items: center;
  103. width: 100%;
  104. }
  105. .esri-directions__sign-in-button {
  106. width: auto;
  107. }
  108. .esri-directions__content-title {
  109. margin-top: 0;
  110. padding: 0 $cap-spacing;
  111. align-self: flex-start;
  112. }
  113. .esri-directions__summary {
  114. display: flex;
  115. flex: 1 1 auto;
  116. flex-direction: column;
  117. justify-content: center;
  118. align-items: center;
  119. width: 100%;
  120. }
  121. .esri-directions__summary-controls {
  122. display: flex;
  123. align-items: center;
  124. justify-content: flex-end;
  125. }
  126. .esri-directions__stops {
  127. display: flex;
  128. width: 100%;
  129. flex-direction: column;
  130. margin: 0;
  131. padding: 0;
  132. list-style: none;
  133. }
  134. .esri-directions__stop-row {
  135. display: flex;
  136. align-items: center;
  137. justify-content: space-between;
  138. padding: 10px 0;
  139. border-top: dashed $border_size transparent;
  140. background-color: $background-color;
  141. }
  142. .esri-directions__stop-row-ghost {
  143. opacity: 0.25;
  144. }
  145. .esri-directions__stop-handle {
  146. flex: 0 0 auto;
  147. padding-left: $side-spacing--half;
  148. }
  149. .esri-directions__stop-input {
  150. box-shadow: 0 0 0 1px $border-color;
  151. &:hover {
  152. border-color: $border-color--hover;
  153. }
  154. }
  155. .esri-search__sources-button {
  156. @include icomoonIconSelector() {
  157. position: relative;
  158. left: 1px;
  159. }
  160. }
  161. .esri-directions__stop-input {
  162. margin: 0 4px;
  163. flex-grow: 0.8;
  164. }
  165. .esri-directions__stop-input .esri-search .esri-search__input {
  166. border: none;
  167. height: auto;
  168. margin-bottom: $border_size;
  169. outline-offset: 4px;
  170. min-height: $button-height;
  171. }
  172. .esri-directions__add-stop {
  173. display: flex;
  174. justify-content: space-between;
  175. align-items: center;
  176. padding-top: $cap-spacing;
  177. cursor: pointer;
  178. }
  179. .esri-directions__add-stop .esri-directions__stop-icon {
  180. display: flex;
  181. justify-content: flex-end;
  182. flex-grow: 0.08;
  183. }
  184. .esri-directions__add-stop .esri-directions__add-stop-text {
  185. width: auto;
  186. flex-grow: 0.9;
  187. padding: 0 4px;
  188. }
  189. .esri-directions__remove-stop-icon,
  190. .esri-directions__stop-row:hover .esri-directions__remove-stop-icon[hidden] {
  191. visibility: hidden;
  192. }
  193. .esri-directions__remove-stop:focus .esri-directions__remove-stop-icon,
  194. .esri-directions__stop-row:hover .esri-directions__remove-stop-icon {
  195. visibility: visible;
  196. }
  197. .esri-directions__reverse-stops[hidden] {
  198. display: inherit;
  199. visibility: hidden;
  200. }
  201. .esri-directions__stop-options {
  202. display: flex;
  203. flex-grow: 0.1;
  204. justify-content: space-between;
  205. padding-right: $side-spacing--half;
  206. }
  207. .esri-directions__stop-row:first-child {
  208. margin-top: 0;
  209. }
  210. .esri-directions__stop-row:last-child {
  211. margin-bottom: 0;
  212. }
  213. .esri-directions__stop-icon[hidden] {
  214. display: inline-block;
  215. visibility: hidden;
  216. }
  217. .esri-directions__stop-icon--interactive {
  218. cursor: pointer;
  219. }
  220. .esri-directions__stop-icon-container {
  221. display: inline-block;
  222. position: relative;
  223. }
  224. .esri-directions__stop-icon-container--last::after {
  225. border: none;
  226. }
  227. .esri-directions__costs {
  228. display: flex;
  229. flex-direction: column;
  230. align-items: center;
  231. justify-content: space-around;
  232. width: 100%;
  233. cursor: pointer;
  234. padding: $cap-spacing $side-spacing 0;
  235. }
  236. .esri-directions__costs-details {
  237. display: flex;
  238. justify-content: space-around;
  239. white-space: nowrap;
  240. width: 80%;
  241. margin-bottom: 6px;
  242. }
  243. .esri-directions__costs-units {
  244. display: flex;
  245. justify-content: space-around;
  246. }
  247. .esri-directions__costs-value,
  248. .esri-directions__other-costs-total,
  249. .esri-directions__vertical-splitter {
  250. color: $interactive-font-color;
  251. font-size: 1.5em;
  252. line-height: 1.5;
  253. }
  254. .esri-directions__vertical-splitter {
  255. border: 1px solid transparentize($font-color, 0.8);
  256. }
  257. .esri-directions__horizontal-splitter {
  258. border-top: 1px solid $border-color;
  259. flex-grow: 0.95;
  260. }
  261. .esri-directions__maneuvers {
  262. display: flex;
  263. flex-direction: column;
  264. width: 100%;
  265. margin: $cap-spacing--plus-half 0 0 0;
  266. padding: 0;
  267. border-top: 1px solid $border-color;
  268. }
  269. .esri-directions__maneuver-list {
  270. padding: 0;
  271. margin: 0;
  272. }
  273. .esri-directions__maneuver {
  274. display: flex;
  275. padding: $cap-spacing $side-spacing--half;
  276. border: none;
  277. border-left: $border-size--active solid transparent;
  278. cursor: pointer;
  279. }
  280. .esri-directions__maneuver:hover,
  281. .esri-directions__maneuver:focus {
  282. background-color: $background-color--hover;
  283. }
  284. .esri-directions__maneuver--active,
  285. .esri-directions__maneuver--active:hover,
  286. .esri-directions__maneuver--active:focus {
  287. border-color: $border-color--active;
  288. background-color: $background-color--active;
  289. }
  290. .esri-directions__maneuver-section--collapsible {
  291. border-bottom: 1px solid $border-color;
  292. &:last-child {
  293. border-bottom: none;
  294. }
  295. .esri-directions__maneuver-list {
  296. background-color: $background-color--offset;
  297. padding-bottom: $cap-spacing;
  298. padding-top: $cap-spacing;
  299. }
  300. }
  301. .esri-directions__maneuver-section-header {
  302. display: flex;
  303. padding: 0 $side-spacing--half;
  304. }
  305. .esri-directions__maneuver-section-header-toggle-button {
  306. display: flex;
  307. justify-content: space-between;
  308. align-items: center;
  309. width: 100%;
  310. padding: $cap-spacing $side-spacing--half;
  311. .esri-directions__maneuver-section-title {
  312. padding: 0;
  313. }
  314. }
  315. .esri-directions__maneuver-section-title {
  316. padding: $cap-spacing $side-spacing--half;
  317. margin: 0;
  318. }
  319. .esri-directions__maneuver-section-toggle {
  320. cursor: pointer;
  321. }
  322. .esri-directions__maneuver-icon {
  323. fill: $font-color;
  324. margin-right: 4px;
  325. width: 24px;
  326. height: 24px;
  327. }
  328. .esri-directions__maneuver-costs {
  329. margin-top: $cap-spacing--half;
  330. display: flex;
  331. justify-content: space-between;
  332. align-items: center;
  333. white-space: nowrap;
  334. }
  335. .esri-directions__cost--intermediate,
  336. .esri-directions__cost--cumulative {
  337. font-size: $font-size--small;
  338. }
  339. .esri-directions__maneuver-costs-container {
  340. width: 100%;
  341. }
  342. .esri-directions__scroller {
  343. overflow-y: auto;
  344. }
  345. .esri-directions__stop-row--valid {
  346. .esri-directions__stop-handle:hover {
  347. cursor: move;
  348. }
  349. }
  350. // search overrides
  351. .esri-directions .esri-search {
  352. box-shadow: none;
  353. width: auto;
  354. .esri-search__submit-button {
  355. display: none;
  356. }
  357. }
  358. .esri-directions .esri-search .esri-search__container:before {
  359. display: none;
  360. }
  361. .esri-directions .esri-search .esri-search__container:after {
  362. top: auto;
  363. bottom: -2px;
  364. }
  365. .esri-ui-bottom-left,
  366. .esri-ui-bottom-right {
  367. .esri-directions {
  368. .esri-search {
  369. .esri-search__sources-button--up {
  370. display: none;
  371. }
  372. .esri-search__sources-button--down {
  373. display: flex;
  374. }
  375. }
  376. }
  377. }
  378. .esri-ui-bottom-right,
  379. .esri-ui-bottom-left {
  380. .esri-directions .esri-menu {
  381. top: 100%;
  382. bottom: auto;
  383. margin: $cap-spacing--eighth 0 0 0;
  384. }
  385. }
  386. [dir="rtl"] {
  387. .esri-directions__departure-time-controls .esri-time-picker {
  388. border-right: none;
  389. }
  390. .esri-directions__departure-time-controls .esri-date-picker__calendar-toggle {
  391. border-right: solid 1px $border-color;
  392. }
  393. }
  394. }
  395. @if $include_Directions == true {
  396. @include directions();
  397. }