styles.scss 12 KB

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