settings.css 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. .cp__settings {
  2. &-inner {
  3. @apply flex flex-col md:flex-row min-h-[55dvh] max-h-[75dvh];
  4. > header {
  5. padding: 0 10px 10px;
  6. border-bottom: 1px solid var(--lx-gray-06, var(--ls-quaternary-background-color));
  7. h1 {
  8. @apply text-xl m-0;
  9. }
  10. }
  11. aside {
  12. @apply bg-gray-03-alpha p-4;
  13. > ul > li {
  14. > a {
  15. @apply mb-2;
  16. > strong {
  17. @apply text-sm font-normal pl-1 opacity-90;
  18. }
  19. }
  20. &.active {
  21. @apply bg-black/10;
  22. }
  23. }
  24. }
  25. > article {
  26. @apply p-4 flex-1 min-h-[12rem] w-screen overflow-y-auto;
  27. @apply md:h-[70vh] md:w-[44rem];
  28. }
  29. > aside > .cp__settings-header,
  30. > article > .cp__settings-header {
  31. @apply h-10 py-2 flex flex-row items-center justify-start gap-2;
  32. }
  33. aside > .cp__settings-header {
  34. @apply px-2;
  35. }
  36. aside > .cp__settings-header > .ui__icon {
  37. @apply h-8 w-8 bg-gray-700/10 rounded grid place-items-center;
  38. }
  39. aside > .cp__settings-header > .ui__icon > svg {
  40. @apply h-6 w-6;
  41. }
  42. h1.cp__settings-modal-title {
  43. @apply text-2xl font-semibold lowercase;
  44. }
  45. h1.cp__settings-category-title {
  46. @apply text-xl lowercase;
  47. }
  48. h1.cp__settings-modal-title:first-letter,
  49. h1.cp__settings-category-title:first-letter {
  50. @apply uppercase;
  51. }
  52. .settings-menu {
  53. @apply p-0 m-0 mt-4;
  54. }
  55. .settings-menu-item {
  56. @apply list-none p-0 my-1.5 rounded;
  57. @apply hover:bg-black/10;
  58. &[data-id=keymap] {
  59. @apply hidden sm:block;
  60. }
  61. }
  62. .settings-menu-link {
  63. @apply px-2 py-1.5 select-none text-gray-12;
  64. }
  65. &.no-aside {
  66. > article {
  67. padding-left: 0;
  68. }
  69. }
  70. .panel-wrap {
  71. @apply p-1 flex flex-col gap-4;
  72. @screen sm {
  73. width: 600px;
  74. }
  75. > .it {
  76. @apply sm:grid sm:grid-cols-3 sm:gap-6;
  77. label {
  78. min-height: 28px;
  79. line-height: 28px;
  80. display: flex;
  81. align-items: center;
  82. & + div {
  83. display: flex;
  84. align-items: center;
  85. min-height: 24px;
  86. user-select: none;
  87. .max-w-lg {
  88. width: 100%;
  89. }
  90. }
  91. }
  92. &.app-updater {
  93. padding-top: 15px;
  94. align-items: flex-start;
  95. > .wrap {
  96. display: block;
  97. .ver {
  98. position: relative;
  99. top: -2px;
  100. }
  101. }
  102. }
  103. .form-select, .form-input {
  104. width: 100%;
  105. max-width: 200px;
  106. display: inline-block;
  107. &:hover {
  108. opacity: .8;
  109. }
  110. }
  111. &:first-of-type {
  112. padding-top: 14px;
  113. }
  114. }
  115. span[role="checkbox"] {
  116. &:hover {
  117. opacity: .8;
  118. }
  119. }
  120. }
  121. .admonitionblock {
  122. p {
  123. @apply text-sm;
  124. }
  125. }
  126. }
  127. &-app-updater {
  128. min-height: 20px;
  129. position: relative;
  130. margin-bottom: -5px;
  131. .ctls {
  132. position: relative;
  133. &:disabled {
  134. cursor: progress;
  135. }
  136. }
  137. .update-state {
  138. padding: 6px 10px;
  139. background-color: var(--ls-quaternary-background-color);
  140. border-radius: 4px;
  141. margin-top: 10px;
  142. width: fit-content;
  143. > p {
  144. margin: 0;
  145. }
  146. .link {
  147. font-size: 16px;
  148. line-height: 1em;
  149. letter-spacing: 1px;
  150. svg {
  151. display: inline-block;
  152. position: relative;
  153. top: -1px;
  154. margin-right: 2px;
  155. }
  156. &:hover {
  157. text-decoration: underline;
  158. }
  159. }
  160. }
  161. }
  162. &-network-proxy-cnt {
  163. margin: -15px 0;
  164. label {
  165. display: flex;
  166. align-items: center;
  167. > select {
  168. min-width: 100px;
  169. margin-left: -14px !important;
  170. padding: 4px 10px !important;
  171. }
  172. > input[disabled] {
  173. opacity: .5;
  174. }
  175. > strong {
  176. font-weight: 500;
  177. width: 60px;
  178. }
  179. }
  180. }
  181. &-files-breaking-changed {
  182. &[disabled] {
  183. opacity: 0.5;
  184. pointer-events: none;
  185. }
  186. }
  187. &-appearance-modal-inner {
  188. @apply -m-2 -mb-3 flex flex-col gap-4;
  189. .keyboard-shortcut {
  190. @apply relative -top-[3px];
  191. }
  192. }
  193. }
  194. .cp__theme-modes-options {
  195. @apply flex items-center m-0 list-none;
  196. > li {
  197. @apply pr-2 m-0 opacity-90 hover:opacity-100;
  198. &:hover {
  199. cursor: pointer;
  200. }
  201. &.active {
  202. @apply opacity-100;
  203. cursor: inherit;
  204. > i {
  205. border-color: var(--ls-link-text-color);
  206. border-width: 2px;
  207. }
  208. }
  209. > i {
  210. @apply block w-[70px] h-[47px] rounded overflow-hidden border-0 border-solid border-transparent bg-gray-04;
  211. background: url("../img/theme-modes.png") no-repeat;
  212. background-size: 355%;
  213. &.mode-dark {
  214. background-position-x: -97px;
  215. }
  216. &.mode-system {
  217. background-position-x: -194px;
  218. }
  219. &.mode-dark.radix {
  220. background: url('../img/dark-theme.png') no-repeat center / cover;
  221. }
  222. &.mode-light.radix {
  223. background: url('../img/light-theme.png') no-repeat center / cover;
  224. }
  225. &.mode-system.radix {
  226. background: url('../img/system-theme.png') no-repeat center / cover;
  227. }
  228. }
  229. > strong {
  230. @apply block pr-2 pt-1.5 text-center text-xs font-medium;
  231. }
  232. }
  233. }
  234. .cp__assets {
  235. &-alias-directories {
  236. @apply py-2 px-1;
  237. > ul {
  238. @apply m-0 list-none -mx-2;
  239. > li {
  240. border-top: 1px solid var(--ls-secondary-border-color);
  241. &:hover {
  242. .ext-label.is-plus {
  243. opacity: 100;
  244. }
  245. .ctrls {
  246. display: block;
  247. }
  248. }
  249. }
  250. }
  251. .ext-label {
  252. @apply rounded px-1.5 opacity-70 cursor-pointer flex items-center select-none active:opacity-50;
  253. background-color: var(--ls-secondary-border-color);
  254. color: var(--ls-secondary-text-color);
  255. &.is-del {
  256. i.ti {
  257. width: 0;
  258. overflow: hidden;
  259. opacity: .9;
  260. color: red;
  261. transition: width .3s;
  262. &:hover {
  263. opacity: 1;
  264. }
  265. }
  266. &:hover {
  267. i.ti {
  268. width: 14px;
  269. padding-left: 2px;
  270. }
  271. }
  272. }
  273. &.is-plus {
  274. background-color: var(--ls-primary-background-color);
  275. border: 1px solid var(--ls-border-color);
  276. }
  277. }
  278. .ext-input {
  279. @apply leading-none;
  280. padding: 1px 4px;
  281. width: 60px;
  282. }
  283. .cp__input-ac {
  284. width: unset;
  285. margin: 0;
  286. line-height: 1em;
  287. position: relative;
  288. overflow: visible;
  289. /*noinspection ALL*/
  290. .item-results-wrap {
  291. position: absolute;
  292. top: 24px;
  293. left: 0;
  294. z-index: 1;
  295. width: 100px;
  296. max-height: 180px;
  297. border: 1px solid var(--ls-border-color);
  298. border-radius: 4px;
  299. overflow: auto;
  300. overflow: overlay;
  301. .menu-link {
  302. padding: 4px 6px;
  303. font-size: 12px;
  304. }
  305. .ext-select-item {
  306. display: block;
  307. white-space: nowrap;
  308. }
  309. }
  310. &.is-empty-input {
  311. .item-results-wrap {
  312. display: none;
  313. }
  314. }
  315. }
  316. }
  317. &-alias-name-content {
  318. margin: -8px;
  319. > p {
  320. @apply py-1.5 text-lg px-1 my-0;
  321. strong {
  322. @apply inline-block pr-4 text-right w-40 opacity-70;
  323. }
  324. }
  325. }
  326. &-alias-ext-input {
  327. width: 80px !important;
  328. padding: 1px 4px;
  329. border: 2px solid var(--ls-secondary-border-color);
  330. font-size: 11px;
  331. border-radius: 4px;
  332. height: 22px;
  333. &:focus {
  334. border-color: var(--ls-border-color);
  335. }
  336. }
  337. }
  338. html.is-native-android,
  339. html.is-native-iphone,
  340. html.is-native-iphone-without-notch {
  341. .cp__settings-inner {
  342. > article {
  343. padding-bottom: 0;
  344. }
  345. .panel-wrap {
  346. padding-bottom: 0;
  347. }
  348. }
  349. .theme-row--swatch {
  350. @apply w-5 h-5 rounded-full flex justify-center items-center;
  351. }
  352. .theme-row--swatch-active {
  353. @apply w-5 h-5 rounded-full flex justify-center items-center;
  354. }
  355. }
  356. svg.git {
  357. margin-left: -4px;
  358. transform: scale(0.9);
  359. }
  360. svg.cmd {
  361. margin-left: -1px;
  362. }
  363. body[data-settings-tab=keymap] {
  364. .cp__settings-inner {
  365. > article {
  366. @apply p-0;
  367. > header {
  368. @apply px-4 pt-[22px] pb-2 h-auto;
  369. }
  370. }
  371. }
  372. .ui__dialog-content[label=app-settings] {
  373. @apply max-w-none;
  374. }
  375. }
  376. .ui__dialog-content[label=customize-appearance] {
  377. @apply pt-4 pb-8 px-8 lg:max-w-xl;
  378. }
  379. .ui__dialog-overlay[label=customize-appearance] {
  380. @apply bg-transparent;
  381. }
  382. .cp__accent-colors {
  383. &-list-wrap {
  384. @apply grid grid-cols-8 gap-2 max-w-[250px];
  385. &.as-modal-picker {
  386. @apply grid-cols-8 pb-1 ml-1 max-w-[320px];
  387. }
  388. }
  389. }