styles.scss 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. $responsiveWidth: 768px;
  2. *,
  3. *::before,
  4. *::after {
  5. backface-visibility: hidden;
  6. }
  7. :root {
  8. font-variant-ligatures: common-ligatures;
  9. @apply antialiased;
  10. }
  11. ::selection {
  12. @apply bg-acColor;
  13. @apply text-actColor;
  14. }
  15. ::-webkit-scrollbar {
  16. @apply h-1;
  17. @apply w-1;
  18. @apply rounded-lg;
  19. &:hover {
  20. @apply bg-bgDarkColor;
  21. }
  22. }
  23. ::-webkit-scrollbar-thumb {
  24. @apply rounded-lg;
  25. @apply bg-fgLightColor;
  26. &:hover {
  27. @apply bg-fgColor;
  28. }
  29. }
  30. ::placeholder {
  31. @apply text-fgLightColor;
  32. @apply opacity-25;
  33. }
  34. html {
  35. scroll-behavior: smooth;
  36. }
  37. body {
  38. @apply bg-bgColor;
  39. @apply text-fgColor;
  40. @apply text-base;
  41. @apply font-body;
  42. @apply font-medium;
  43. @apply select-none;
  44. @apply transition;
  45. @apply ease-in-out;
  46. @apply duration-200;
  47. -webkit-tap-highlight-color: transparent;
  48. -webkit-touch-callout: none;
  49. }
  50. body.afterLoad {
  51. @apply transition-colors;
  52. @apply ease-in-out;
  53. @apply duration-200;
  54. }
  55. body.sticky-footer footer {
  56. @apply opacity-25;
  57. }
  58. .page-enter-active,
  59. .page-leave-active,
  60. .layout-enter-active,
  61. .layout-leave-active {
  62. @apply transition-opacity;
  63. @apply duration-200;
  64. }
  65. .page-enter,
  66. .page-leave-active,
  67. .layout-enter,
  68. .layout-leave-active {
  69. @apply opacity-0;
  70. }
  71. a {
  72. @apply inline-flex;
  73. @apply text-current;
  74. @apply no-underline;
  75. @apply transition;
  76. @apply ease-in-out;
  77. @apply duration-200;
  78. @apply outline-none;
  79. &.link {
  80. @apply text-acColor;
  81. }
  82. }
  83. header,
  84. footer {
  85. & > div {
  86. @apply flex;
  87. @apply py-2;
  88. @apply px-2;
  89. @apply w-full;
  90. @apply items-center;
  91. @apply justify-between;
  92. }
  93. }
  94. .wrapper {
  95. @apply min-h-screen;
  96. @apply flex;
  97. @apply flex-col;
  98. @apply flex-no-wrap;
  99. }
  100. .wrapper .page {
  101. min-height: calc(100vh - 153px);
  102. }
  103. .header,
  104. .content,
  105. .columns,
  106. .footer {
  107. @apply flex;
  108. @apply flex-1;
  109. }
  110. .nav-first,
  111. .sticky-inner {
  112. @apply flex;
  113. @apply order-1;
  114. @apply flex-col;
  115. @apply sticky;
  116. @apply top-0;
  117. @apply items-start;
  118. @apply items-stretch;
  119. @apply h-full;
  120. }
  121. .main {
  122. @apply flex;
  123. @apply flex-col;
  124. @apply flex-1;
  125. @apply order-2;
  126. @apply relative;
  127. @apply px-4;
  128. }
  129. h1,
  130. h2,
  131. h3,
  132. h4 {
  133. @apply flex;
  134. @apply items-center;
  135. @apply m-0;
  136. @apply font-bold;
  137. }
  138. h3.title {
  139. @apply m-2;
  140. }
  141. p {
  142. @apply text-sm;
  143. @apply transition;
  144. @apply ease-in-out;
  145. @apply duration-200;
  146. }
  147. hr {
  148. @apply border-b;
  149. @apply border-dashed;
  150. @apply border-brdColor;
  151. @apply my-4;
  152. }
  153. .tooltip {
  154. $bgcolor: var(--tt-color);
  155. $fgcolor: var(--fg-color);
  156. @apply z-50;
  157. @apply transition;
  158. @apply ease-in-out;
  159. @apply duration-200;
  160. .tooltip-inner {
  161. @apply rounded-lg;
  162. @apply px-4;
  163. @apply py-2;
  164. @apply text-xs;
  165. @apply font-medium;
  166. @apply shadow-lg;
  167. background: $bgcolor;
  168. color: $fgcolor;
  169. }
  170. .tooltip-arrow {
  171. @apply h-0;
  172. @apply w-0;
  173. @apply border-solid;
  174. @apply absolute;
  175. @apply m-2;
  176. @apply border-ttColor;
  177. @apply z-30;
  178. }
  179. &[x-placement^="top"] {
  180. @apply mb-0;
  181. .tooltip-arrow {
  182. border-width: 5px 5px 0 5px;
  183. border-left-color: transparent !important;
  184. border-right-color: transparent !important;
  185. border-bottom-color: transparent !important;
  186. bottom: -5px;
  187. left: calc(50% - 5px);
  188. @apply mt-0;
  189. @apply mb-0;
  190. }
  191. }
  192. &[x-placement^="bottom"] {
  193. @apply mt-0;
  194. .tooltip-arrow {
  195. border-width: 0 5px 5px 5px;
  196. border-left-color: transparent !important;
  197. border-right-color: transparent !important;
  198. border-top-color: transparent !important;
  199. top: -5px;
  200. left: calc(50% - 5px);
  201. @apply mt-0;
  202. @apply mb-0;
  203. }
  204. }
  205. &[x-placement^="right"] {
  206. @apply ml-0;
  207. .tooltip-arrow {
  208. border-width: 5px 5px 5px 0;
  209. border-left-color: transparent !important;
  210. border-top-color: transparent !important;
  211. border-bottom-color: transparent !important;
  212. left: -5px;
  213. top: calc(50% - 5px);
  214. @apply ml-0;
  215. @apply mr-0;
  216. }
  217. }
  218. &[x-placement^="left"] {
  219. @apply mr-0;
  220. .tooltip-arrow {
  221. border-width: 5px 0 5px 5px;
  222. border-top-color: transparent !important;
  223. border-right-color: transparent !important;
  224. border-bottom-color: transparent !important;
  225. right: -5px;
  226. top: calc(50% - 5px);
  227. @apply ml-0;
  228. @apply mr-0;
  229. }
  230. }
  231. &.popover {
  232. .wrapper {
  233. min-height: auto;
  234. }
  235. .popover-inner {
  236. background: $bgcolor;
  237. color: $fgcolor;
  238. max-height: 256px;
  239. @apply text-base;
  240. @apply p-2;
  241. @apply rounded-lg;
  242. @apply overflow-auto;
  243. @apply shadow-lg;
  244. button {
  245. @apply flex-1;
  246. @apply m-0;
  247. }
  248. div {
  249. @apply flex;
  250. @apply items-stretch;
  251. @apply flex-col;
  252. }
  253. button {
  254. @apply justify-start;
  255. }
  256. }
  257. .popover-arrow {
  258. border-color: $bgcolor;
  259. }
  260. }
  261. &[aria-hidden="true"] {
  262. @apply invisible;
  263. @apply opacity-0;
  264. @apply transition-opacity;
  265. @apply ease-in-out;
  266. @apply duration-200;
  267. }
  268. &[aria-hidden="false"] {
  269. @apply visible;
  270. @apply opacity-100;
  271. @apply transition-opacity;
  272. @apply ease-in-out;
  273. @apply duration-200;
  274. }
  275. }
  276. .info:not(.toasted) {
  277. @apply m-2;
  278. @apply text-fgLightColor;
  279. .material-icons {
  280. @apply align-middle;
  281. @apply ml-2;
  282. @apply mr-4;
  283. }
  284. }
  285. button {
  286. @apply inline-flex;
  287. @apply items-center;
  288. @apply justify-center;
  289. @apply m-2;
  290. @apply py-2;
  291. @apply px-4;
  292. @apply rounded-lg;
  293. @apply bg-acColor;
  294. @apply text-actColor;
  295. @apply font-body;
  296. @apply font-bold;
  297. @apply transition;
  298. @apply ease-in-out;
  299. @apply duration-200;
  300. @apply fill-current;
  301. @apply cursor-pointer;
  302. @apply outline-none;
  303. @apply border-none;
  304. span {
  305. @apply inline-flex;
  306. @apply ml-4;
  307. @apply text-left;
  308. }
  309. &:not([disabled]):hover,
  310. &:not([disabled]):active,
  311. &:not([disabled]):focus {
  312. @apply text-actColor;
  313. @apply fill-current;
  314. box-shadow: inset 0 0 0 2px var(--fg-color);
  315. }
  316. &.icon {
  317. @apply bg-transparent;
  318. @apply text-fgLightColor;
  319. @apply fill-current;
  320. @apply rounded-lg;
  321. @apply outline-none;
  322. @apply border-none;
  323. @apply p-2;
  324. &:not([disabled]):hover,
  325. &:not([disabled]):active,
  326. &:not([disabled]):focus {
  327. @apply text-fgColor;
  328. @apply fill-current;
  329. @apply shadow-none;
  330. }
  331. }
  332. &.primary {
  333. @apply text-acColor;
  334. &:not([disabled]):hover,
  335. &:not([disabled]):active,
  336. &:not([disabled]):focus {
  337. @apply bg-acColor;
  338. @apply text-actColor;
  339. }
  340. }
  341. }
  342. @keyframes beat {
  343. 30% {
  344. @apply transform;
  345. @apply scale-90;
  346. }
  347. 50% {
  348. @apply transform;
  349. @apply scale-110;
  350. }
  351. 100% {
  352. @apply transform;
  353. @apply scale-100;
  354. }
  355. }
  356. .material-icons {
  357. @apply font-icon;
  358. @apply font-normal;
  359. @apply not-italic;
  360. @apply h-6;
  361. @apply w-6;
  362. @apply text-2xl;
  363. @apply leading-6;
  364. @apply inline-block;
  365. @apply normal-case;
  366. @apply tracking-normal;
  367. @apply whitespace-no-wrap;
  368. @apply antialiased;
  369. word-wrap: normal;
  370. direction: ltr;
  371. text-rendering: optimizeLegibility;
  372. font-feature-settings: "liga";
  373. &:active {
  374. animation: beat 0.5s forwards 1;
  375. }
  376. }
  377. fieldset:target,
  378. section:target {
  379. animation: highlight 2s ease;
  380. }
  381. @keyframes highlight {
  382. 50% {
  383. box-shadow: 0 0 0 2px var(--ac-color);
  384. }
  385. }
  386. input[type="file"],
  387. input[type="radio"],
  388. #installPWA {
  389. @apply hidden;
  390. }
  391. .show-on-large-screen {
  392. @apply flex;
  393. @apply flex-1;
  394. }
  395. .method,
  396. .url-field,
  397. kbd,
  398. select,
  399. input,
  400. textarea,
  401. pre,
  402. code {
  403. @apply flex;
  404. @apply m-2;
  405. @apply p-2;
  406. @apply rounded-lg;
  407. @apply bg-bgDarkColor;
  408. @apply text-fgColor;
  409. @apply font-mono;
  410. @apply font-normal;
  411. @apply transition;
  412. @apply ease-in-out;
  413. @apply duration-200;
  414. @apply select-text;
  415. @apply resize-y;
  416. @apply truncate;
  417. @apply outline-none;
  418. width: calc(100% - 16px);
  419. &:not([readonly]):not(.ace_editor):hover,
  420. &:not([readonly]):not(.ace_editor):active,
  421. &:not([readonly]):not(.ace_editor):focus {
  422. box-shadow: inset 0 0 0 2px var(--fg-light-color);
  423. }
  424. }
  425. .method {
  426. @apply cursor-pointer;
  427. &:hover,
  428. &:active,
  429. &:focus {
  430. box-shadow: inset 0 0 0 2px var(--fg-light-color);
  431. }
  432. }
  433. pre {
  434. @apply grid;
  435. }
  436. pre.ace_editor {
  437. @apply font-mono;
  438. @apply font-normal;
  439. @apply z-0;
  440. }
  441. kbd,
  442. code,
  443. pre {
  444. @apply w-auto;
  445. }
  446. .select-wrapper {
  447. @apply relative;
  448. input {
  449. @apply uppercase;
  450. min-width: 128px;
  451. }
  452. .trigger {
  453. @apply w-full;
  454. }
  455. &:after {
  456. @apply inline-block;
  457. @apply absolute;
  458. @apply pointer-events-none;
  459. content: "\e313";
  460. @apply font-icon;
  461. top: 16px;
  462. right: 16px;
  463. }
  464. }
  465. select {
  466. height: 40px;
  467. @apply cursor-pointer;
  468. @apply appearance-none;
  469. &::-ms-expand {
  470. @apply hidden;
  471. }
  472. }
  473. option {
  474. @apply bg-bgColor;
  475. }
  476. input[type="checkbox"] {
  477. @apply hidden;
  478. &,
  479. & + label {
  480. @apply align-middle;
  481. @apply cursor-pointer;
  482. &:before {
  483. content: "\2714";
  484. @apply border;
  485. @apply border-fgColor;
  486. @apply rounded-lg;
  487. @apply inline-flex;
  488. @apply items-center;
  489. @apply justify-center;
  490. @apply text-transparent;
  491. @apply transition;
  492. @apply ease-in-out;
  493. @apply duration-200;
  494. height: 16px;
  495. width: 16px;
  496. margin: 8px 8px 8px 0;
  497. }
  498. }
  499. &:checked + label:before {
  500. @apply bg-acColor;
  501. @apply border-acColor;
  502. @apply text-actColor;
  503. }
  504. }
  505. .error:not(input),
  506. .disabled:not(input),
  507. [disabled] {
  508. @apply bg-errColor;
  509. @apply text-fgLightColor;
  510. @apply fill-current;
  511. @apply cursor-not-allowed;
  512. &.icon {
  513. @apply text-errColor;
  514. @apply fill-current;
  515. }
  516. }
  517. label {
  518. @apply px-2;
  519. @apply text-fgLightColor;
  520. @apply text-sm;
  521. @apply transition;
  522. @apply ease-in-out;
  523. @apply duration-200;
  524. }
  525. ul,
  526. ol {
  527. @apply flex;
  528. @apply p-0;
  529. @apply list-none;
  530. margin: 4px 0 4px;
  531. ul,
  532. ol {
  533. @apply m-0;
  534. }
  535. }
  536. ul li,
  537. ol li {
  538. @apply inline-flex;
  539. @apply flex-col;
  540. @apply flex-no-wrap;
  541. @apply flex-1;
  542. @apply justify-center;
  543. &.shrink {
  544. @apply flex-grow-0;
  545. }
  546. }
  547. .row-wrapper {
  548. @apply flex;
  549. @apply items-center;
  550. @apply justify-between;
  551. @apply flex-1;
  552. @apply flex-row;
  553. * {
  554. @apply inline-flex;
  555. @apply flex-no-wrap;
  556. @apply items-center;
  557. @apply justify-center;
  558. }
  559. }
  560. .info-response {
  561. color: #ffeb3b;
  562. }
  563. .success-response {
  564. color: #4bb543;
  565. }
  566. .redir-response {
  567. color: #ff5722;
  568. }
  569. .cl-error-response {
  570. color: #a63232;
  571. }
  572. .sv-error-response {
  573. color: #b71c1c;
  574. }
  575. .missing-data-response {
  576. @apply bg-errColor;
  577. }
  578. #response-details-wrapper {
  579. @apply relative;
  580. @apply overflow-hidden;
  581. @apply rounded-lg;
  582. textarea {
  583. @apply m-0;
  584. @apply w-full;
  585. line-height: 1;
  586. }
  587. .covers-response {
  588. @apply absolute;
  589. @apply inset-0;
  590. @apply bg-white;
  591. @apply h-full;
  592. @apply w-full;
  593. }
  594. }
  595. #send {
  596. @apply whitespace-no-wrap;
  597. @apply outline-none;
  598. @apply border-none;
  599. &.show {
  600. @apply flex;
  601. @apply fixed;
  602. @apply transition;
  603. @apply ease-in-out;
  604. @apply duration-200;
  605. @apply shadow-lg;
  606. bottom: 86px;
  607. left: 50%;
  608. z-index: 10001;
  609. transform: translateX(-50%);
  610. }
  611. }
  612. section {
  613. @apply flex;
  614. @apply rounded-lg;
  615. }
  616. .toasted-container .toasted {
  617. justify-content: space-between !important;
  618. }
  619. .toasted.info {
  620. background-color: var(--ac-color) !important;
  621. color: var(--act-color) !important;
  622. font-weight: 700 !important;
  623. }
  624. .toasted.bubble .action {
  625. color: inherit !important;
  626. }
  627. .toasted .action {
  628. margin-left: auto !important;
  629. }
  630. .page-columns {
  631. @apply flex;
  632. @apply flex-1;
  633. @apply flex-col;
  634. }
  635. .inner-left {
  636. @apply flex;
  637. @apply order-1;
  638. }
  639. .inner-right {
  640. @apply flex;
  641. @apply order-2;
  642. @apply ml-4;
  643. width: 33%;
  644. }
  645. @media (max-width: $responsiveWidth) {
  646. .content,
  647. .columns {
  648. @apply flex-col;
  649. }
  650. .main {
  651. padding: 0 8px 68px;
  652. }
  653. ul,
  654. ol {
  655. @apply flex-col;
  656. @apply flex-no-wrap;
  657. }
  658. ul li,
  659. ol li {
  660. @apply flex;
  661. }
  662. .hide-on-small-screen {
  663. @apply hidden;
  664. }
  665. .sticky-inner {
  666. @apply relative;
  667. @apply w-full;
  668. }
  669. .inner-left {
  670. order: 0;
  671. }
  672. .inner-right {
  673. @apply ml-0;
  674. }
  675. .toasted-container {
  676. margin-bottom: 68px;
  677. }
  678. }
  679. .toasted-ad {
  680. background-color: #fefefe;
  681. color: #121212;
  682. padding: 16px !important;
  683. @apply font-bold;
  684. @apply text-sm;
  685. @apply rounded-lg;
  686. @apply shadow-lg;
  687. .action {
  688. text-transform: none !important;
  689. background-color: #121212;
  690. color: #fefefe;
  691. padding: 12px 16px !important;
  692. font-weight: 500 !important;
  693. font-size: 16px !important;
  694. margin: 0 !important;
  695. margin-left: 8px !important;
  696. @apply rounded-lg;
  697. }
  698. }
  699. .virtual-list {
  700. @apply overflow-auto;
  701. }
  702. .github-sponsor {
  703. @apply mr-4;
  704. max-width: 64px;
  705. max-height: 64px;
  706. @apply rounded-full;
  707. }