block.css 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171
  1. .block-content-wrapper {
  2. user-select: text;
  3. @screen sm {
  4. overflow-x: visible;
  5. }
  6. }
  7. .block-content {
  8. @apply min-h-[24px] max-w-full whitespace-pre-wrap break-words cursor-text;
  9. img {
  10. /* FIXME: img macros */
  11. &.left {
  12. float: left;
  13. }
  14. &.right {
  15. float: right;
  16. }
  17. &.loading-asset {
  18. width: 9px;
  19. }
  20. }
  21. .draw [aria-labelledby="shapes-title"] {
  22. position: absolute;
  23. left: 50%;
  24. transform: translate(-50%);
  25. }
  26. &-fallback-ui {
  27. padding: 10px 15px;
  28. border-color: var(--ls-secondary-border-color);
  29. }
  30. [data-tooltipped]:has(a.tag) {
  31. @apply px-0.5;
  32. }
  33. }
  34. .block-content-or-editor-wrap {
  35. @apply flex flex-1 flex-row flex-wrap gap-1;
  36. }
  37. .block-content-or-editor-inner {
  38. @apply flex flex-1 flex-col w-full pr-1;
  39. }
  40. .block-head-wrap {
  41. @apply flex flex-1 w-full flex-row flex-wrap;
  42. @apply justify-between items-center;
  43. }
  44. .page-ref {
  45. @apply inline;
  46. .icon-emoji-wrap {
  47. @apply relative top-[2px] pl-[1px];
  48. &.as-emoji {
  49. @apply top-0 pr-[1px];
  50. }
  51. }
  52. .icon-cp-container {
  53. @apply inline-flex items-center pr-0.5;
  54. }
  55. .block-title-wrap.as-heading {
  56. @apply inline text-[length:inherit];
  57. }
  58. }
  59. .breadcrumb {
  60. @apply inline;
  61. .asset-container > img {
  62. height: 18px;
  63. width: unset !important;
  64. }
  65. a, svg, div {
  66. @apply inline;
  67. }
  68. &.block-parents {
  69. a {
  70. color: var(--ls-primary-text-color);
  71. &:hover {
  72. opacity: 1;
  73. }
  74. }
  75. }
  76. }
  77. .breadcrumb {
  78. .property-value-inner[data-type], .property-value-inner .select-item {
  79. display: inline;
  80. }
  81. }
  82. .open-block-ref-link {
  83. background-color: var(--ls-page-properties-background-color);
  84. padding: 1px 4px;
  85. border-radius: 2px;
  86. }
  87. .block-body {
  88. blockquote:first-child,
  89. pre:first-child {
  90. margin-top: 8px;
  91. margin-bottom: 8px;
  92. }
  93. }
  94. .block-body ul,
  95. .block-body ol,
  96. .block-body dl {
  97. @apply mb-0;
  98. > li {
  99. @apply py-[1px] m-0;
  100. .ui__checkbox {
  101. @apply mr-1.5 overflow-hidden relative top-0.5;
  102. }
  103. }
  104. }
  105. .block-body ol {
  106. list-style-position: inside;
  107. margin-left: 0;
  108. > li {
  109. &::marker,
  110. > p {
  111. display: initial;
  112. }
  113. }
  114. }
  115. .block-children-container {
  116. position: relative;
  117. margin-left: 29px;
  118. }
  119. .block-children-left-border {
  120. z-index: 1;
  121. width: 4px;
  122. left: -1px;
  123. top: 0;
  124. height: 100%;
  125. cursor: pointer;
  126. background-clip: content-box;
  127. background-color: transparent;
  128. position: absolute;
  129. border-radius: 2px;
  130. opacity: 0.6;
  131. border-left-color: var(--lx-gray-09, var(--ls-border-color, var(--rx-gray-09)));
  132. &:hover {
  133. background-color: var(--lx-gray-10, var(--ls-primary-text-color, var(--rx-gray-10)));
  134. opacity: .7;
  135. }
  136. &:active {
  137. opacity: 1;
  138. }
  139. }
  140. .block-children {
  141. border-left: 1px solid;
  142. border-left-color: var(--lx-gray-04-alpha, var(--ls-guideline-color, var(--rx-gray-04-alpha))) !important;
  143. }
  144. .hidden-block .block-children {
  145. border-left: 0;
  146. }
  147. .block-control-wrap, .ls-page-title .property-value .block-control-wrap {
  148. @apply h-[24px];
  149. &.is-order-list {
  150. @apply mr-0 pr-0;
  151. .bullet-link-wrap {
  152. @apply relative left-[-3px];
  153. }
  154. }
  155. &.is-with-icon {
  156. &.bullet-closed {
  157. .block-control .control-hide {}
  158. }
  159. .bullet-container {
  160. .icon-cp-container {
  161. @apply flex;
  162. }
  163. &.bullet-closed {
  164. .ls-icon-color-wrap em-emoji {
  165. @apply relative -top-[1px];
  166. }
  167. }
  168. }
  169. }
  170. &.bullet-hidden {
  171. padding-right: 2px;
  172. }
  173. }
  174. .ls-page-title .block-control-wrap {
  175. height: initial;
  176. }
  177. .block-title-wrap {
  178. @apply w-full inline;
  179. > .ui__checkbox {
  180. @apply relative top-0.5;
  181. &.checked {
  182. @apply top-1;
  183. }
  184. > span {
  185. @apply h-full;
  186. }
  187. }
  188. &.as-heading {
  189. @apply flex flex-1 items-center flex-wrap;
  190. > .ui__checkbox {
  191. @apply top-0;
  192. }
  193. h1& {
  194. .ui__icon.ti svg {
  195. @apply w-8 h-7;
  196. }
  197. }
  198. h2& {
  199. .ui__icon.ti svg {
  200. @apply w-7 h-6;
  201. }
  202. }
  203. h3& {
  204. .ui__icon.ti svg {
  205. @apply w-5 h-5;
  206. }
  207. }
  208. &.as-inline {
  209. @apply inline;
  210. }
  211. }
  212. &:has(.dsl-query), &:has(.embed-page) {
  213. @apply flex flex-row w-full;
  214. > .embed-page {
  215. @apply w-full;
  216. }
  217. }
  218. .dsl-query {
  219. @apply w-full;
  220. }
  221. }
  222. .block-control {
  223. @apply decoration-0 text-sm cursor-default mt-[1px]
  224. min-w-[22px] min-h-[22px] p-0.5 select-none opacity-40;
  225. .control-hide {
  226. @apply hidden;
  227. }
  228. &:active {
  229. @apply opacity-30;
  230. }
  231. }
  232. .block-left-menu {
  233. background-color: var(--ls-secondary-background-color);
  234. background: linear-gradient(90deg, var(--ls-primary-background-color) 0%, var(--ls-secondary-background-color) 100%);
  235. .commands-button {
  236. @apply overflow-hidden flex max-w-[40px];
  237. .indent {
  238. @apply flex items-center w-full justify-center opacity-30;
  239. }
  240. }
  241. }
  242. .block-right-menu {
  243. background-color: var(--ls-secondary-background-color);
  244. /* background: linear-gradient(-90deg, var(--ls-primary-background-color) 0%, var(--ls-secondary-background-color) 100%); */
  245. .commands-button {
  246. @apply overflow-hidden flex flex-nowrap;
  247. .outdent, .more {
  248. @apply flex items-center justify-center
  249. overflow-hidden opacity-30 m-0 w-[40px];
  250. }
  251. }
  252. }
  253. .block-ref {
  254. @apply border-b-[0.5px] border-b-[--ls-block-ref-link-text-color] cursor-alias;
  255. display: inherit;
  256. margin-bottom: -1px;
  257. .block-ref {
  258. @apply mx-1;
  259. }
  260. &:hover {
  261. color: var(--ls-link-text-hover-color);
  262. }
  263. .block-content {
  264. cursor: inherit;
  265. &-inner {
  266. display: inherit;
  267. > * {
  268. display: inherit;
  269. }
  270. }
  271. }
  272. }
  273. .block-ref-no-title {
  274. border-bottom: 0.5px solid;
  275. border-bottom-color: var(--ls-block-ref-link-text-color);
  276. cursor: alias;
  277. padding: 2px 5px;
  278. display: block;
  279. &:hover {
  280. color: var(--ls-link-text-hover-color);
  281. }
  282. .block-content {
  283. cursor: inherit;
  284. }
  285. }
  286. .page-reference {
  287. @apply rounded transition-[background];
  288. .bracket {
  289. @apply opacity-30 inline-flex;
  290. }
  291. &:hover {
  292. background: var(--lx-accent-04-alpha, var(--ls-secondary-background-color, hsl(var(--primary)/.4)));
  293. }
  294. .asset-block-wrap {
  295. @apply inline-block;
  296. }
  297. }
  298. .page-ref {
  299. color: var(--lx-accent-11, var(--ls-link-text-color, hsl(var(--primary)/.8)));
  300. &:hover {
  301. color: var(--lx-accent-11, var(--ls-link-text-color, hsl(var(--primary))));
  302. }
  303. &:has(.asset-ref.is-pdf) {
  304. .asset-block-wrap {
  305. @apply inline;
  306. }
  307. }
  308. .block-title-wrap {
  309. > .prefix-link {
  310. @apply inline mx-1;
  311. }
  312. }
  313. }
  314. .asset-ref {
  315. &-wrap {
  316. &[data-ext=pdf] {
  317. display: inline-flex;
  318. align-items: center;
  319. }
  320. }
  321. &.is-doc {
  322. &:before {
  323. content: "[[📜";
  324. opacity: .7;
  325. margin-right: 4px;
  326. }
  327. &:after {
  328. content: "]]";
  329. opacity: .7;
  330. }
  331. }
  332. }
  333. .embed-page {
  334. @apply py-2 my-2 px-2;
  335. > section {
  336. margin-bottom: 5px;
  337. }
  338. &.in-sidebar {
  339. background-color: var(--ls-tertiary-background-color);
  340. }
  341. }
  342. .block-properties, .page-properties {
  343. margin: 4px 0;
  344. padding: 4px 8px;
  345. background-color: var(--lx-gray-03, var(--ls-block-properties-background-color, var(--rx-gray-03)));
  346. }
  347. .block-marker {
  348. padding: 2px 4px;
  349. opacity: 0.7;
  350. font-size: 85%;
  351. margin: 0 2px 0 0;
  352. font-weight: 650;
  353. border: 0;
  354. }
  355. .marker-switch {
  356. &:hover {
  357. color: var(--ls-link-text-hover-color);
  358. opacity: 1;
  359. }
  360. }
  361. .block-main-container {
  362. @apply min-h-[24px];
  363. &[data-has-heading="1"], &:has(textarea.h1) {
  364. > .block-control-wrap {
  365. @apply relative top-4;
  366. }
  367. .block-content-or-editor-wrap {
  368. .positioned-properties {
  369. @apply relative top-4;
  370. }
  371. }
  372. }
  373. &[data-has-heading="2"], &:has(textarea.h2) {
  374. > .block-control-wrap {
  375. @apply relative top-2.5;
  376. }
  377. .block-content-or-editor-wrap {
  378. .positioned-properties {
  379. @apply relative top-3;
  380. }
  381. }
  382. }
  383. &[data-has-heading="3"], &:has(textarea.h3) {
  384. > .block-control-wrap {
  385. @apply relative top-[2px];
  386. }
  387. .block-content-or-editor-wrap {
  388. .positioned-properties {
  389. @apply relative top-[2px];
  390. }
  391. }
  392. }
  393. &[data-has-heading="5"] {
  394. > .block-control-wrap {
  395. @apply relative -top-[1px];
  396. }
  397. }
  398. &[data-has-heading="6"], &:has(textarea.h6) {
  399. h6.as-heading, textarea.h6 {
  400. @apply pt-1;
  401. }
  402. }
  403. }
  404. .ls-page-title-container .block-content-wrapper {
  405. .ls-page-title-actions {
  406. @apply absolute -top-5 opacity-0;
  407. left: -2px;
  408. }
  409. &:hover {
  410. & > .ls-page-title-actions {
  411. @apply delay-300 transition-opacity opacity-100;
  412. }
  413. }
  414. }
  415. .ls-block {
  416. @apply flex-1 relative py-0.5 transition-[background-color] mx-auto;
  417. width: 100%;
  418. transform: translateX(0);
  419. transition: transform 0.3s ease;
  420. will-change: transform;
  421. container-type: inline-size;
  422. container-name: ls-block;
  423. &.selected {
  424. @apply rounded;
  425. }
  426. }
  427. .ls-table .ls-block {
  428. container-type: initial;
  429. }
  430. #main-content-container, #right-sidebar {
  431. container-type: inline-size;
  432. }
  433. @container (max-width: 600px) {
  434. .time-spent, .positioned-properties.block-right, .view-actions {
  435. display: none;
  436. }
  437. .block-row {
  438. @apply flex-col gap-0;
  439. }
  440. .ls-block-right {
  441. @apply gap-0 -ml-1;
  442. }
  443. .ls-page-title .ls-block-right {
  444. @apply ml-0;
  445. }
  446. }
  447. @container ls-block (max-width: 430px) {
  448. .ls-properties-area {
  449. display: none;
  450. }
  451. }
  452. .ls-block h1,
  453. .editor-inner .h1.uniline-block {
  454. font-size: 2rem;
  455. min-height: 1.5em;
  456. line-height: 1.38em;
  457. }
  458. .ls-block h2,
  459. .editor-inner .h2.uniline-block {
  460. font-size: 1.5rem;
  461. min-height: 1.5em;
  462. line-height: 1.38em;
  463. }
  464. .ls-block h3,
  465. .editor-inner .h3.uniline-block {
  466. font-size: 1.2rem;
  467. min-height: 1.2em;
  468. line-height: 1.15em;
  469. }
  470. .ls-block h4,
  471. .editor-inner .h4.uniline-block {
  472. font-size: 1rem;
  473. min-height: 1em;
  474. }
  475. .ls-block h5,
  476. .editor-inner .h5.uniline-block {
  477. font-size: 0.83rem;
  478. min-height: 0.83em;
  479. }
  480. .ls-block h6,
  481. .editor-inner .h6.uniline-block {
  482. font-size: 0.75rem;
  483. min-height: 0.75rem;
  484. }
  485. .ls-block :is(h1, h2, h3, h4, h5, h6),
  486. .editor-inner .uniline-block:is(.h1, .h2, .h3, .h4, .h5, .h6),
  487. .editor-inner .multiline-block:is(.h1, .h2, .h3, .h4, .h5, .h6)::first-line {
  488. font-weight: 600;
  489. }
  490. .ls-block :is(h1, h2),
  491. .editor-inner .uniline-block:is(.h1, .h2) {
  492. @apply border-b border-gray-06 mt-1 mb-2 pb-1;
  493. }
  494. .editor-inner textarea.uniline-block:is(.h1, .h2) {
  495. border-bottom-style: solid;
  496. border-bottom-color: transparent;
  497. }
  498. .block-ref .ls-block :is(h1, h2),
  499. .block-ref .editor-inner :is(.h1, .h2) {
  500. border-bottom: none;
  501. }
  502. .block-ref :is(h1, h2, h3, h4, h5, h6) {
  503. border-bottom: none;
  504. font-size: 1rem;
  505. }
  506. .document-mode {
  507. & .ls-block h1,
  508. & .editor-inner .h1 {
  509. margin: 0.67em 0;
  510. }
  511. & .ls-block h2,
  512. & .editor-inner .h2 {
  513. margin: 0.75em 0;
  514. }
  515. & .ls-block h3,
  516. & .editor-inner .h3 {
  517. margin: 0.83em 0;
  518. }
  519. & .ls-block h4,
  520. & .editor-inner .h4 {
  521. margin: 1.12em 0;
  522. }
  523. & .ls-block h5,
  524. & .editor-inner .h5 {
  525. margin: 1.5em 0;
  526. }
  527. & .ls-block h6,
  528. & .editor-inner .h6 {
  529. margin: 1.67em 0;
  530. }
  531. }
  532. .color-level {
  533. background-color: var(--lx-gray-02, var(--color-level-1, var(--rx-gray-02)));
  534. .dark & {
  535. background-color: var(--lx-gray-01, var(--color-level-1, var(--rx-gray-01)));
  536. }
  537. & .color-level {
  538. background-color: var(--color-level-2);
  539. & .color-level {
  540. background-color: var(--color-level-3);
  541. & .color-level {
  542. background-color: var(--color-level-4);
  543. & .color-level {
  544. background-color: var(--color-level-5);
  545. & .color-level {
  546. background-color: var(--color-level-6);
  547. & .color-level {
  548. background-color: var(--color-level-4);
  549. & .color-level {
  550. background-color: var(--color-level-5);
  551. & .color-level {
  552. background-color: var(--color-level-6);
  553. & .color-level {
  554. background-color: var(--color-level-4);
  555. & .color-level {
  556. background-color: var(--color-level-6);
  557. }
  558. }
  559. }
  560. }
  561. }
  562. }
  563. }
  564. }
  565. }
  566. }
  567. }
  568. .color-level-1 {
  569. background-color: var(--color-level-1);
  570. }
  571. .color-level-2 {
  572. background-color: var(--color-level-2);
  573. }
  574. .color-level-3 {
  575. background-color: var(--color-level-3);
  576. }
  577. .color-level-4 {
  578. background-color: var(--color-level-4);
  579. }
  580. .color-level-5 {
  581. background-color: var(--color-level-5);
  582. }
  583. .color-level-6 {
  584. background-color: var(--color-level-6);
  585. }
  586. .bullet-container {
  587. display: flex;
  588. height: 16px;
  589. width: 16px;
  590. border-radius: 50%;
  591. justify-content: center;
  592. align-items: center;
  593. .bullet-heading {
  594. background-color: var(--ls-block-bullet-color, #8fbc8f);
  595. }
  596. &.as-order-list {
  597. @apply w-[22px] whitespace-nowrap justify-center pl-[3px];
  598. }
  599. .bullet {
  600. @apply rounded-full w-[6px] h-[6px] text-[15px] opacity-80;
  601. > * {
  602. @apply cursor-pointer;
  603. }
  604. }
  605. &:not(.typed-list) {
  606. &.bullet-closed {
  607. background-color: var(--lx-gray-04-alpha, var(--ls-block-bullet-border-color, var(--rx-gray-04-alpha)));
  608. }
  609. .bullet {
  610. background-color: var(--lx-gray-08, var(--ls-block-bullet-color, var(--rx-gray-08)));
  611. transition: transform 0.2s;
  612. }
  613. }
  614. &.typed-list:not(:focus-within) {
  615. .bullet {
  616. background-color: unset;
  617. height: unset;
  618. width: unset;
  619. box-shadow: none;
  620. }
  621. }
  622. }
  623. .bullet-link-wrap {
  624. color: var(--ls-primary-text-color);
  625. .ui__icon {
  626. @apply opacity-80;
  627. }
  628. &:hover > .bullet-container:not(.typed-list) {
  629. background-color: var(--lx-gray-04-alpha, var(--ls-block-bullet-border-color, var(--rx-gray-04-alpha)));
  630. .bullet {
  631. transform: scale(1.2);
  632. background-color: var(--lx-gray-08, var(--ls-block-bullet-color, var(--rx-gray-08))) !important;
  633. }
  634. }
  635. }
  636. .content.doc-mode {
  637. margin-left: -16px;
  638. .block-children-left-border {
  639. display: none;
  640. }
  641. .block-children {
  642. border-left: none;
  643. }
  644. .hide-inner-bullet .bullet {
  645. display: none;
  646. }
  647. .block-children-container {
  648. margin-left: 18px;
  649. }
  650. }
  651. .ls-block .custom-query {
  652. > .th {
  653. @apply flex flex-row flex-1 items-center justify-between my-1 text-xs opacity-90;
  654. }
  655. }
  656. /* copied from https://github.com/drdogbot7/tailwindcss-responsive-embed */
  657. .embed-responsive {
  658. position: relative;
  659. display: block;
  660. height: 0;
  661. padding: 0;
  662. overflow: hidden;
  663. .embed-responsive-item,
  664. iframe,
  665. embed,
  666. object,
  667. video {
  668. position: absolute;
  669. top: 0;
  670. left: 0;
  671. bottom: 0;
  672. height: 100%;
  673. width: 100%;
  674. border: 0;
  675. }
  676. }
  677. .embed {
  678. border-radius: var(--ls-border-radius-low);
  679. }
  680. .embed-header {
  681. font-weight: 600;
  682. }
  683. a.filter svg {
  684. transform: scale(0.9);
  685. }
  686. .table-query-properties svg {
  687. display: inline;
  688. }
  689. .query-title {
  690. background: var(--ls-page-properties-background-color);
  691. }
  692. .ls-card {
  693. height: 100%;
  694. }
  695. .ls-card a[data-ref="card"], .ls-card .page-reference[data-ref="card"] {
  696. display: none;
  697. }
  698. a.cloze {
  699. color: var(--ls-cloze-text-color);
  700. }
  701. a.cloze-revealed {
  702. color: var(--ls-cloze-text-color);
  703. text-decoration: underline;
  704. text-underline-position: under;
  705. }
  706. .page-property-key {
  707. @apply font-medium whitespace-nowrap;
  708. color: var(--ls-secondary-text-color);
  709. }
  710. .page-property-key:hover {
  711. background-color: var(--ls-selection-background-color);
  712. }
  713. .cp__fenced-code-block {
  714. .not-edit {
  715. cursor: default;
  716. }
  717. }
  718. html.is-native-ios {
  719. audio {
  720. width: 100%;
  721. max-width: 350px;
  722. }
  723. }
  724. html:not(.is-mac) {
  725. body[data-active-keystroke="Control"] {
  726. .block-content {
  727. cursor: pointer;
  728. }
  729. }
  730. }
  731. html.is-mac {
  732. body[data-active-keystroke="Meta"] {
  733. .block-content {
  734. cursor: pointer;
  735. }
  736. }
  737. }
  738. .references-blocks {
  739. @apply mb-3;
  740. &-wrap {
  741. .foldable-title {
  742. @apply ml-3;
  743. .block-control {
  744. @apply relative right-[-5px] top-[1px];
  745. }
  746. }
  747. }
  748. &-item {
  749. @apply bg-gray-03 rounded p-4;
  750. > .only-page-blocks {
  751. @apply relative -left-[11px];
  752. }
  753. .with-foldable-page {
  754. > .preview-ref-link {
  755. .page-ref .ui__icon.ti {
  756. @apply top-[2px] left-0;
  757. }
  758. }
  759. }
  760. }
  761. .page-reference:hover {
  762. background: var(--lx-accent-04-alpha, var(--ls-tertiary-background-color, hsl(var(--primary)/.4)));
  763. }
  764. }
  765. .cp__right-sidebar-inner {
  766. .references-blocks-item {
  767. @apply bg-gray-04;
  768. }
  769. }
  770. .block-title-wrap a.tag, .block-body a.tag {
  771. font-size: initial;
  772. opacity: 1;
  773. }
  774. .positioned-properties {
  775. @apply text-sm;
  776. }
  777. .positioned-properties.block-left {
  778. .asset-container {
  779. @apply max-w-[120px];
  780. }
  781. .block-title-wrap {
  782. @apply hidden;
  783. }
  784. }
  785. .positioned-properties.block-right {
  786. button {
  787. @apply whitespace-nowrap;
  788. }
  789. .block-title-wrap {
  790. @apply overflow-hidden h-6 whitespace-nowrap text-ellipsis;
  791. }
  792. .jtrigger {
  793. @apply px-1;
  794. }
  795. }
  796. .positioned-properties.block-below {
  797. .block-content.inline {
  798. @apply flex;
  799. }
  800. .property-k {
  801. color: var(--ls-primary-text-color);
  802. }
  803. }
  804. .block-tags {
  805. @apply flex flex-row flex-wrap self-start items-center;
  806. min-height: 24px;
  807. max-width: 256px;
  808. }
  809. .block-tag {
  810. @apply flex relative pl-2 pr-1;
  811. }
  812. .block-tag.private-tag {
  813. @apply pl-1;
  814. }
  815. .block-tag:hover {
  816. @apply bg-gray-03 rounded;
  817. }
  818. .block-tag a.tag {
  819. @apply flex text-sm font-normal items-center opacity-70;
  820. }
  821. .block-tag a.hash-symbol {
  822. @apply text-sm text-sm font-normal opacity-70;
  823. }
  824. .block-tag a.tag:hover, .block-tag a.hash-symbol:hover {
  825. @apply opacity-100;
  826. }
  827. .block-tag span {
  828. @apply whitespace-nowrap overflow-hidden;
  829. max-width: 160px;
  830. text-overflow: ellipsis;
  831. }
  832. .block-content-wrapper svg, .view-actions svg {
  833. width: 18px;
  834. height: 18px;
  835. }
  836. .ls-small-icon svg {
  837. width: 12px;
  838. height: 12px;
  839. }
  840. .ls-type-warning svg {
  841. color: var(--rx-gray-09);
  842. }
  843. .ls-page-title .ls-page-icon svg, .ls-page-title .ls-page-icon button {
  844. width: 38px;
  845. height: 38px;
  846. }
  847. .ls-page-title .positioned-properties svg, .page-ref svg {
  848. width: 16px;
  849. height: 16px;
  850. }
  851. .ls-page-title {
  852. .positioned-properties, .time-spent {
  853. margin-top: 15px;
  854. }
  855. }
  856. .ls-page-title .ls-properties-area {
  857. .positioned-properties, .time-spent {
  858. margin-top: initial;
  859. }
  860. }
  861. .ls-page-title .ls-page-icon button {
  862. margin-top: 8px;
  863. }
  864. .ls-page-title .block-tags {
  865. @apply relative min-h-full;
  866. }
  867. .ls-code-editor-wrap {
  868. @apply relative w-full overflow-hidden rounded;
  869. .extensions__code-lang {
  870. @apply hidden;
  871. }
  872. > .code-block-actions {
  873. @apply flex flex-row gap-1 opacity-0 transition-opacity ease-in duration-300 absolute right-1 top-1 select-none z-[1] text-xs bg-gray-01;
  874. button {
  875. @apply !py-0 h-4 text-muted-foreground hover:text-foreground text-xs px-1;
  876. }
  877. svg {
  878. width: 14px;
  879. height: 14px;
  880. }
  881. }
  882. }
  883. .ls-resize-image {
  884. @apply flex relative w-fit cursor-pointer;
  885. .handle-left, .handle-right {
  886. @apply absolute w-[6px] h-[15%] min-h-[30px] bg-black/30 hover:bg-black/70
  887. top-[50%] left-[5px] rounded-full cursor-col-resize select-none
  888. translate-y-[-20%] opacity-0 border border-gray-200;
  889. }
  890. .handle-right {
  891. @apply left-auto right-[5px]
  892. }
  893. &:hover {
  894. .handle-left, .handle-right {
  895. @apply opacity-100;
  896. }
  897. }
  898. }
  899. .recent-block {
  900. transition: background-color 0.2s cubic-bezier(0, 1, 0, 1);
  901. background-color: var(--ls-secondary-background-color, var(--rx-gray-03));
  902. }
  903. .aspect-video {
  904. aspect-ratio: 16 / 9;
  905. height: auto;
  906. }
  907. .ls-filters {
  908. div[data-testid='virtuoso-item-list'] button {
  909. @apply mb-2;
  910. }
  911. }
  912. .swipe-item {
  913. touch-action: pan-y; /* disables horizontal scrolling on touch */
  914. }
  915. .ls-dialog-block {
  916. @apply !w-[90dvw] !h-[75%] !max-w-4xl bg-gray-02 overflow-scroll;
  917. }
  918. .asset-container {
  919. @apply relative inline-block mt-2 w-full;
  920. .asset-action-bar {
  921. @apply top-1 right-1 absolute flex items-center opacity-0 transition-opacity;
  922. &[data-popup-active] {
  923. @apply opacity-100;
  924. }
  925. }
  926. .asset-action-btn {
  927. @apply m-1 p-0.5 truncate flex items-center opacity-70 select-none
  928. hover:opacity-90 active:opacity-60;
  929. }
  930. &:hover, &:active {
  931. .asset-action-bar {
  932. @apply opacity-100;
  933. }
  934. }
  935. }