_Directions.scss 9.8 KB

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