@scottjgilbert/lexical-blog-editor 0.1.4 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +73 -67
  2. package/build/Editor.d.ts +8 -3
  3. package/build/Editor.d.ts.map +1 -1
  4. package/build/Editor.js +13 -8
  5. package/build/EditorExport.d.ts +4 -0
  6. package/build/EditorExport.d.ts.map +1 -0
  7. package/build/EditorExport.js +13 -0
  8. package/build/appSettings.d.ts +1 -1
  9. package/build/appSettings.js +1 -1
  10. package/build/buildHTMLConfig.d.ts +1 -1
  11. package/build/buildHTMLConfig.d.ts.map +1 -1
  12. package/build/buildHTMLConfig.js +35 -11
  13. package/build/context/FlashMessageContext.d.ts +2 -2
  14. package/build/context/FlashMessageContext.d.ts.map +1 -1
  15. package/build/context/FlashMessageContext.js +4 -3
  16. package/build/context/SharedHistoryContext.d.ts +3 -3
  17. package/build/context/SharedHistoryContext.d.ts.map +1 -1
  18. package/build/context/SharedHistoryContext.js +3 -2
  19. package/build/context/ToolbarContext.d.ts +1 -0
  20. package/build/context/ToolbarContext.d.ts.map +1 -1
  21. package/build/context/ToolbarContext.js +2 -0
  22. package/build/hooks/useModal.d.ts.map +1 -1
  23. package/build/hooks/useModal.js +1 -0
  24. package/build/hooks/useReport.d.ts +0 -7
  25. package/build/hooks/useReport.d.ts.map +1 -1
  26. package/build/hooks/useReport.js +1 -0
  27. package/build/index.css +283 -246
  28. package/build/index.d.ts +3 -3
  29. package/build/index.d.ts.map +1 -1
  30. package/build/index.js +2 -2
  31. package/build/nodes/CodeNode/CodeHighlightNode.d.ts +35 -0
  32. package/build/nodes/CodeNode/CodeHighlightNode.d.ts.map +1 -0
  33. package/build/nodes/CodeNode/CodeHighlightNode.js +88 -0
  34. package/build/nodes/CodeNode/CodeHighlighterShiki.d.ts +22 -0
  35. package/build/nodes/CodeNode/CodeHighlighterShiki.d.ts.map +1 -0
  36. package/build/nodes/CodeNode/CodeHighlighterShiki.js +644 -0
  37. package/build/nodes/CodeNode/CodeNode.d.ts +48 -0
  38. package/build/nodes/CodeNode/CodeNode.d.ts.map +1 -0
  39. package/build/nodes/CodeNode/CodeNode.js +367 -0
  40. package/build/nodes/CodeNode/FacadeShiki.d.ts +18 -0
  41. package/build/nodes/CodeNode/FacadeShiki.d.ts.map +1 -0
  42. package/build/nodes/CodeNode/FacadeShiki.js +159 -0
  43. package/build/nodes/CodeNode/FlatStructureUtils.d.ts +21 -0
  44. package/build/nodes/CodeNode/FlatStructureUtils.d.ts.map +1 -0
  45. package/build/nodes/CodeNode/FlatStructureUtils.js +85 -0
  46. package/build/nodes/CodeNode/invariant.d.ts +2 -0
  47. package/build/nodes/CodeNode/invariant.d.ts.map +1 -0
  48. package/build/nodes/CodeNode/invariant.js +6 -0
  49. package/build/nodes/DateTimeNode/DateTimeComponent.d.ts.map +1 -1
  50. package/build/nodes/DateTimeNode/DateTimeComponent.js +1 -0
  51. package/build/nodes/DateTimeNode/DateTimeNode.css +21 -0
  52. package/build/nodes/FigmaNode/FigmaNode.d.ts.map +1 -0
  53. package/build/nodes/FigmaNode/ServerFigmaNode.d.ts +21 -0
  54. package/build/nodes/FigmaNode/ServerFigmaNode.d.ts.map +1 -0
  55. package/build/nodes/FigmaNode/ServerFigmaNode.js +48 -0
  56. package/build/nodes/ImageComponent.d.ts.map +1 -1
  57. package/build/nodes/ImageComponent.js +1 -2
  58. package/build/nodes/ImageNode.d.ts +7 -7
  59. package/build/nodes/ImageNode.d.ts.map +1 -1
  60. package/build/nodes/ImageNode.js +30 -30
  61. package/build/nodes/LayoutContainerNode.d.ts +2 -2
  62. package/build/nodes/LayoutContainerNode.d.ts.map +1 -1
  63. package/build/nodes/LayoutContainerNode.js +10 -10
  64. package/build/nodes/PlaygroundNodes/PlaygroundNodes.d.ts.map +1 -0
  65. package/build/nodes/{PlaygroundNodes.js → PlaygroundNodes/PlaygroundNodes.js} +19 -21
  66. package/build/nodes/PlaygroundNodes/ServerPlaygroundNodes.d.ts +11 -0
  67. package/build/nodes/PlaygroundNodes/ServerPlaygroundNodes.d.ts.map +1 -0
  68. package/build/nodes/PlaygroundNodes/ServerPlaygroundNodes.js +65 -0
  69. package/build/nodes/TweetNode/ServerTweetNode.d.ts +20 -0
  70. package/build/nodes/TweetNode/ServerTweetNode.d.ts.map +1 -0
  71. package/build/nodes/TweetNode/ServerTweetNode.js +59 -0
  72. package/build/nodes/TweetNode/TweetNode.d.ts.map +1 -0
  73. package/build/nodes/YouTubeNode/ServerYouTubeNode.d.ts +21 -0
  74. package/build/nodes/YouTubeNode/ServerYouTubeNode.d.ts.map +1 -0
  75. package/build/nodes/YouTubeNode/ServerYouTubeNode.js +67 -0
  76. package/build/nodes/YouTubeNode/YouTubeNode.d.ts.map +1 -0
  77. package/build/plugins/ActionsPlugin/index.d.ts +0 -7
  78. package/build/plugins/ActionsPlugin/index.d.ts.map +1 -1
  79. package/build/plugins/ActionsPlugin/index.js +2 -1
  80. package/build/plugins/AutoEmbedPlugin/index.d.ts +2 -9
  81. package/build/plugins/AutoEmbedPlugin/index.d.ts.map +1 -1
  82. package/build/plugins/AutoEmbedPlugin/index.js +30 -29
  83. package/build/plugins/AutoLinkPlugin/index.d.ts +1 -1
  84. package/build/plugins/AutoLinkPlugin/index.d.ts.map +1 -1
  85. package/build/plugins/AutoLinkPlugin/index.js +3 -2
  86. package/build/plugins/CodeActionMenuPlugin/components/CopyButton/index.d.ts +1 -1
  87. package/build/plugins/CodeActionMenuPlugin/components/CopyButton/index.d.ts.map +1 -1
  88. package/build/plugins/CodeActionMenuPlugin/components/CopyButton/index.js +7 -6
  89. package/build/plugins/CodeActionMenuPlugin/components/PrettierButton/index.d.ts +2 -2
  90. package/build/plugins/CodeActionMenuPlugin/components/PrettierButton/index.d.ts.map +1 -1
  91. package/build/plugins/CodeActionMenuPlugin/components/PrettierButton/index.js +25 -24
  92. package/build/plugins/CodeActionMenuPlugin/index.d.ts +2 -9
  93. package/build/plugins/CodeActionMenuPlugin/index.d.ts.map +1 -1
  94. package/build/plugins/CodeActionMenuPlugin/index.js +22 -20
  95. package/build/plugins/CodeActionMenuPlugin/utils.d.ts.map +1 -1
  96. package/build/plugins/CodeActionMenuPlugin/utils.js +3 -2
  97. package/build/plugins/CodeHighlightPrismPlugin/index.d.ts +1 -1
  98. package/build/plugins/CodeHighlightPrismPlugin/index.d.ts.map +1 -1
  99. package/build/plugins/CodeHighlightPrismPlugin/index.js +4 -10
  100. package/build/plugins/CodeHighlightShikiPlugin/index.d.ts +1 -1
  101. package/build/plugins/CodeHighlightShikiPlugin/index.d.ts.map +1 -1
  102. package/build/plugins/CodeHighlightShikiPlugin/index.js +3 -3
  103. package/build/plugins/CollapsiblePlugin/Collapsible.css +17 -1
  104. package/build/plugins/CollapsiblePlugin/index.d.ts +1 -1
  105. package/build/plugins/CollapsiblePlugin/index.d.ts.map +1 -1
  106. package/build/plugins/CollapsiblePlugin/index.js +11 -10
  107. package/build/plugins/ComponentPickerPlugin/index.d.ts.map +1 -1
  108. package/build/plugins/ComponentPickerPlugin/index.js +3 -8
  109. package/build/plugins/ContextMenuPlugin/index.d.ts +1 -1
  110. package/build/plugins/ContextMenuPlugin/index.d.ts.map +1 -1
  111. package/build/plugins/ContextMenuPlugin/index.js +15 -14
  112. package/build/plugins/DateTimePlugin/index.d.ts +2 -2
  113. package/build/plugins/DateTimePlugin/index.d.ts.map +1 -1
  114. package/build/plugins/DateTimePlugin/index.js +8 -14
  115. package/build/plugins/DragDropPastePlugin/index.d.ts +0 -7
  116. package/build/plugins/DragDropPastePlugin/index.d.ts.map +1 -1
  117. package/build/plugins/DragDropPastePlugin/index.js +12 -11
  118. package/build/plugins/DraggableBlockPlugin/index.css +6 -0
  119. package/build/plugins/DraggableBlockPlugin/index.d.ts +2 -2
  120. package/build/plugins/DraggableBlockPlugin/index.d.ts.map +1 -1
  121. package/build/plugins/DraggableBlockPlugin/index.js +23 -22
  122. package/build/plugins/EmojiPickerPlugin/index.d.ts +0 -7
  123. package/build/plugins/EmojiPickerPlugin/index.d.ts.map +1 -1
  124. package/build/plugins/EmojiPickerPlugin/index.js +1 -0
  125. package/build/plugins/EmojisPlugin/index.d.ts +1 -8
  126. package/build/plugins/EmojisPlugin/index.d.ts.map +1 -1
  127. package/build/plugins/EmojisPlugin/index.js +10 -16
  128. package/build/plugins/EquationsPlugin/index.d.ts +3 -3
  129. package/build/plugins/EquationsPlugin/index.d.ts.map +1 -1
  130. package/build/plugins/EquationsPlugin/index.js +14 -10
  131. package/build/plugins/FigmaPlugin/index.d.ts +2 -2
  132. package/build/plugins/FigmaPlugin/index.d.ts.map +1 -1
  133. package/build/plugins/FigmaPlugin/index.js +8 -14
  134. package/build/plugins/FloatingLinkEditorPlugin/index.css +11 -0
  135. package/build/plugins/FloatingLinkEditorPlugin/index.d.ts +3 -3
  136. package/build/plugins/FloatingLinkEditorPlugin/index.d.ts.map +1 -1
  137. package/build/plugins/FloatingLinkEditorPlugin/index.js +28 -27
  138. package/build/plugins/FloatingTextFormatToolbarPlugin/index.css +15 -0
  139. package/build/plugins/FloatingTextFormatToolbarPlugin/index.d.ts.map +1 -1
  140. package/build/plugins/FloatingTextFormatToolbarPlugin/index.js +2 -1
  141. package/build/plugins/ImagesPlugin/index.d.ts +3 -3
  142. package/build/plugins/ImagesPlugin/index.d.ts.map +1 -1
  143. package/build/plugins/ImagesPlugin/index.js +38 -37
  144. package/build/plugins/KeywordsPlugin/index.d.ts +1 -8
  145. package/build/plugins/KeywordsPlugin/index.d.ts.map +1 -1
  146. package/build/plugins/KeywordsPlugin/index.js +6 -12
  147. package/build/plugins/LayoutPlugin/InsertLayoutDialog.d.ts +2 -2
  148. package/build/plugins/LayoutPlugin/InsertLayoutDialog.d.ts.map +1 -1
  149. package/build/plugins/LayoutPlugin/InsertLayoutDialog.js +10 -9
  150. package/build/plugins/LayoutPlugin/LayoutPlugin.d.ts +1 -1
  151. package/build/plugins/LayoutPlugin/LayoutPlugin.d.ts.map +1 -1
  152. package/build/plugins/LayoutPlugin/LayoutPlugin.js +8 -14
  153. package/build/plugins/LinkPlugin/index.d.ts.map +1 -1
  154. package/build/plugins/LinkPlugin/index.js +1 -0
  155. package/build/plugins/MarkdownShortcutPlugin/index.d.ts.map +1 -1
  156. package/build/plugins/MarkdownShortcutPlugin/index.js +1 -0
  157. package/build/plugins/MarkdownTransformers/index.d.ts +1 -1
  158. package/build/plugins/MarkdownTransformers/index.d.ts.map +1 -1
  159. package/build/plugins/MarkdownTransformers/index.js +25 -25
  160. package/build/plugins/PasteLogPlugin/index.d.ts.map +1 -1
  161. package/build/plugins/PasteLogPlugin/index.js +1 -0
  162. package/build/plugins/ShortcutsPlugin/index.d.ts +0 -7
  163. package/build/plugins/ShortcutsPlugin/index.d.ts.map +1 -1
  164. package/build/plugins/ShortcutsPlugin/index.js +1 -0
  165. package/build/plugins/SpeechToTextPlugin/index.d.ts +2 -2
  166. package/build/plugins/SpeechToTextPlugin/index.d.ts.map +1 -1
  167. package/build/plugins/SpeechToTextPlugin/index.js +7 -11
  168. package/build/plugins/TabFocusPlugin/index.d.ts +0 -7
  169. package/build/plugins/TabFocusPlugin/index.d.ts.map +1 -1
  170. package/build/plugins/TabFocusPlugin/index.js +6 -5
  171. package/build/plugins/TableActionMenuPlugin/index.d.ts +1 -8
  172. package/build/plugins/TableActionMenuPlugin/index.d.ts.map +1 -1
  173. package/build/plugins/TableActionMenuPlugin/index.js +41 -40
  174. package/build/plugins/TableCellResizer/index.d.ts +2 -2
  175. package/build/plugins/TableCellResizer/index.d.ts.map +1 -1
  176. package/build/plugins/TableCellResizer/index.js +43 -42
  177. package/build/plugins/TableHoverActionsPlugin/index.d.ts +1 -8
  178. package/build/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -1
  179. package/build/plugins/TableHoverActionsPlugin/index.js +19 -18
  180. package/build/plugins/TableHoverActionsV2Plugin/index.d.ts.map +1 -1
  181. package/build/plugins/TableHoverActionsV2Plugin/index.js +1 -0
  182. package/build/plugins/TablePlugin.d.ts +2 -2
  183. package/build/plugins/TablePlugin.d.ts.map +1 -1
  184. package/build/plugins/TablePlugin.js +11 -10
  185. package/build/plugins/TableScrollShadowPlugin/index.d.ts +0 -7
  186. package/build/plugins/TableScrollShadowPlugin/index.d.ts.map +1 -1
  187. package/build/plugins/TableScrollShadowPlugin/index.js +9 -8
  188. package/build/plugins/TestRecorderPlugin/index.d.ts +1 -8
  189. package/build/plugins/TestRecorderPlugin/index.d.ts.map +1 -1
  190. package/build/plugins/TestRecorderPlugin/index.js +45 -44
  191. package/build/plugins/ToolbarPlugin/fontSize.d.ts +2 -2
  192. package/build/plugins/ToolbarPlugin/fontSize.d.ts.map +1 -1
  193. package/build/plugins/ToolbarPlugin/fontSize.js +19 -18
  194. package/build/plugins/ToolbarPlugin/index.d.ts.map +1 -1
  195. package/build/plugins/ToolbarPlugin/index.js +68 -60
  196. package/build/plugins/ToolbarPlugin/languages.d.ts +14 -0
  197. package/build/plugins/ToolbarPlugin/languages.d.ts.map +1 -0
  198. package/build/plugins/ToolbarPlugin/languages.js +185 -0
  199. package/build/plugins/ToolbarPlugin/utils.d.ts +2 -2
  200. package/build/plugins/ToolbarPlugin/utils.js +21 -21
  201. package/build/plugins/TwitterPlugin/index.d.ts +2 -2
  202. package/build/plugins/TwitterPlugin/index.d.ts.map +1 -1
  203. package/build/plugins/TwitterPlugin/index.js +8 -14
  204. package/build/plugins/YouTubePlugin/index.d.ts +2 -2
  205. package/build/plugins/YouTubePlugin/index.d.ts.map +1 -1
  206. package/build/plugins/YouTubePlugin/index.js +8 -14
  207. package/build/themes/PlaygroundEditorTheme.css +301 -33
  208. package/build/themes/ViewerTheme.css +899 -0
  209. package/build/{plugins/MentionsPlugin/index.d.ts → themes/ViewerTheme.d.ts} +5 -3
  210. package/build/themes/ViewerTheme.d.ts.map +1 -0
  211. package/build/themes/ViewerTheme.js +124 -0
  212. package/build/themes/ViewerThemeComplete.css +1043 -0
  213. package/build/ui/ColorPicker.d.ts +2 -2
  214. package/build/ui/ColorPicker.d.ts.map +1 -1
  215. package/build/ui/ColorPicker.js +47 -46
  216. package/build/ui/DropDown.d.ts.map +1 -1
  217. package/build/ui/DropDown.js +1 -0
  218. package/build/ui/FlashMessage.d.ts +3 -3
  219. package/build/ui/FlashMessage.d.ts.map +1 -1
  220. package/build/ui/FlashMessage.js +3 -2
  221. package/build/ui/ImageResizer.d.ts +3 -3
  222. package/build/ui/ImageResizer.d.ts.map +1 -1
  223. package/build/ui/ImageResizer.js +20 -19
  224. package/build/ui/KatexEquationAlterer.css +3 -1
  225. package/build/ui/KatexEquationAlterer.d.ts.map +1 -1
  226. package/build/ui/KatexEquationAlterer.js +1 -0
  227. package/build/ui/KatexRenderer.d.ts.map +1 -1
  228. package/build/ui/KatexRenderer.js +1 -0
  229. package/build/ui/Modal.d.ts.map +1 -1
  230. package/build/ui/Modal.js +1 -0
  231. package/build/ui/Switch.d.ts +2 -2
  232. package/build/ui/Switch.d.ts.map +1 -1
  233. package/build/ui/Switch.js +3 -2
  234. package/build/ui/TextInput.d.ts.map +1 -1
  235. package/build/ui/TextInput.js +1 -0
  236. package/build/utils/ServerBlockWithAlignableContents.d.ts +22 -0
  237. package/build/utils/ServerBlockWithAlignableContents.d.ts.map +1 -0
  238. package/build/utils/ServerBlockWithAlignableContents.js +6 -0
  239. package/build/utils/focusUtils.d.ts.map +1 -1
  240. package/build/utils/focusUtils.js +4 -3
  241. package/build/utils/getDOMRangeRect.d.ts.map +1 -1
  242. package/build/utils/getDOMRangeRect.js +1 -0
  243. package/build/utils/setFloatingElemPosition.d.ts.map +1 -1
  244. package/build/utils/setFloatingElemPosition.js +5 -4
  245. package/build/utils/swipe.d.ts +0 -7
  246. package/build/utils/swipe.d.ts.map +1 -1
  247. package/build/utils/swipe.js +5 -11
  248. package/build/viewer/Viewer.d.ts +18 -0
  249. package/build/viewer/Viewer.d.ts.map +1 -0
  250. package/build/viewer/Viewer.js +105 -0
  251. package/build/viewer/client.d.ts +18 -0
  252. package/build/viewer/client.d.ts.map +1 -0
  253. package/build/viewer/client.js +97 -0
  254. package/build/viewer/index.d.ts +4 -0
  255. package/build/viewer/index.d.ts.map +1 -0
  256. package/build/viewer/index.js +2 -0
  257. package/package.json +58 -36
  258. package/build/collaboration.d.ts +0 -12
  259. package/build/collaboration.d.ts.map +0 -1
  260. package/build/collaboration.js +0 -32
  261. package/build/nodes/FigmaNode.d.ts.map +0 -1
  262. package/build/nodes/PageBreakNode/index.css +0 -64
  263. package/build/nodes/PageBreakNode/index.d.ts +0 -25
  264. package/build/nodes/PageBreakNode/index.d.ts.map +0 -1
  265. package/build/nodes/PageBreakNode/index.js +0 -83
  266. package/build/nodes/PlaygroundNodes.d.ts.map +0 -1
  267. package/build/nodes/PollComponent.d.ts +0 -17
  268. package/build/nodes/PollComponent.d.ts.map +0 -1
  269. package/build/nodes/PollComponent.js +0 -85
  270. package/build/nodes/PollNode.css +0 -165
  271. package/build/nodes/PollNode.d.ts +0 -51
  272. package/build/nodes/PollNode.d.ts.map +0 -1
  273. package/build/nodes/PollNode.js +0 -153
  274. package/build/nodes/StickyComponent.d.ts +0 -18
  275. package/build/nodes/StickyComponent.d.ts.map +0 -1
  276. package/build/nodes/StickyComponent.js +0 -155
  277. package/build/nodes/StickyNode.css +0 -37
  278. package/build/nodes/StickyNode.d.ts +0 -39
  279. package/build/nodes/StickyNode.d.ts.map +0 -1
  280. package/build/nodes/StickyNode.js +0 -66
  281. package/build/nodes/TweetNode.d.ts.map +0 -1
  282. package/build/nodes/YouTubeNode.d.ts.map +0 -1
  283. package/build/plugins/DocsPlugin/index.d.ts +0 -10
  284. package/build/plugins/DocsPlugin/index.d.ts.map +0 -1
  285. package/build/plugins/DocsPlugin/index.js +0 -4
  286. package/build/plugins/MaxLengthPlugin/index.d.ts +0 -11
  287. package/build/plugins/MaxLengthPlugin/index.d.ts.map +0 -1
  288. package/build/plugins/MaxLengthPlugin/index.js +0 -44
  289. package/build/plugins/MentionsPlugin/index.d.ts.map +0 -1
  290. package/build/plugins/MentionsPlugin/index.js +0 -562
  291. package/build/plugins/PageBreakPlugin/index.d.ts +0 -12
  292. package/build/plugins/PageBreakPlugin/index.d.ts.map +0 -1
  293. package/build/plugins/PageBreakPlugin/index.js +0 -34
  294. package/build/plugins/StickyPlugin/index.d.ts +0 -10
  295. package/build/plugins/StickyPlugin/index.d.ts.map +0 -1
  296. package/build/plugins/StickyPlugin/index.js +0 -19
  297. package/build/plugins/TreeViewPlugin/index.d.ts +0 -10
  298. package/build/plugins/TreeViewPlugin/index.d.ts.map +0 -1
  299. package/build/plugins/TreeViewPlugin/index.js +0 -7
  300. package/build/plugins/TypingPerfPlugin/index.d.ts +0 -10
  301. package/build/plugins/TypingPerfPlugin/index.d.ts.map +0 -1
  302. package/build/plugins/TypingPerfPlugin/index.js +0 -100
  303. package/build/plugins/VersionsPlugin/index.css +0 -57
  304. package/build/plugins/VersionsPlugin/index.d.ts +0 -14
  305. package/build/plugins/VersionsPlugin/index.d.ts.map +0 -1
  306. package/build/plugins/VersionsPlugin/index.js +0 -147
  307. /package/build/nodes/{FigmaNode.d.ts → FigmaNode/FigmaNode.d.ts} +0 -0
  308. /package/build/nodes/{FigmaNode.js → FigmaNode/FigmaNode.js} +0 -0
  309. /package/build/nodes/{PlaygroundNodes.d.ts → PlaygroundNodes/PlaygroundNodes.d.ts} +0 -0
  310. /package/build/nodes/{TweetNode.d.ts → TweetNode/TweetNode.d.ts} +0 -0
  311. /package/build/nodes/{TweetNode.js → TweetNode/TweetNode.js} +0 -0
  312. /package/build/nodes/{YouTubeNode.d.ts → YouTubeNode/YouTubeNode.d.ts} +0 -0
  313. /package/build/nodes/{YouTubeNode.js → YouTubeNode/YouTubeNode.js} +0 -0
@@ -0,0 +1,1043 @@
1
+ :root {
2
+ --lexical-font-mono:
3
+ "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
4
+ --lexical-text-color: #1f2a37;
5
+ --lexical-muted-color: #6b7280;
6
+ --lexical-accent: #1a73e8;
7
+ --lexical-accent-strong: #0b57d0;
8
+ --lexical-surface: #ffffff;
9
+ --lexical-surface-soft: #f7f9fc;
10
+ --lexical-surface-contrast: #0f172a;
11
+ --lexical-border: #e5e7eb;
12
+ --lexical-border-strong: #cbd5e1;
13
+ --lexical-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
14
+ --lexical-radius: 12px;
15
+ --lexical-letter: 0.01em;
16
+ --lexical-code-bg: #0f172a;
17
+ --lexical-code-fg: #e5e7eb;
18
+ }
19
+
20
+ .LexicalBlogViewer__Error {
21
+ padding: "1rem";
22
+ color: "#dc2626";
23
+ background-color: #fee2e2;
24
+ border: 1px solid #fca5a5;
25
+ }
26
+
27
+ .ViewerTheme__paragraph {
28
+ margin: 0 0 1.15em 0;
29
+ position: relative;
30
+ line-height: 1.7;
31
+ color: var(--lexical-text-color);
32
+ letter-spacing: var(--lexical-letter);
33
+ font-size: 1.02rem;
34
+ /* max-width: 72ch; */
35
+ }
36
+ .ViewerTheme__paragraph img {
37
+ display: block;
38
+ margin: auto;
39
+ }
40
+ .ViewerTheme__paragraph:last-child {
41
+ margin-bottom: 0;
42
+ }
43
+ .ViewerTheme__quote {
44
+ padding: 1rem 1.25rem;
45
+ font-size: 1.05rem;
46
+ color: var(--lexical-text-color);
47
+ background: linear-gradient(
48
+ 135deg,
49
+ rgba(26, 115, 232, 0.07),
50
+ rgba(15, 23, 42, 0.03)
51
+ );
52
+ border-left: 4px solid var(--lexical-accent);
53
+ /* max-width: 68ch; */
54
+ font-style: italic;
55
+ }
56
+ .ViewerTheme__h1 {
57
+ font-size: 2.3rem;
58
+ color: var(--lexical-text-color);
59
+ font-weight: 700;
60
+ margin: 1.5em 0 0.6em;
61
+ letter-spacing: 0.01em;
62
+ line-height: 1.2;
63
+ }
64
+ .ViewerTheme__h2 {
65
+ font-size: 1.4rem;
66
+ color: var(--lexical-text-color);
67
+ font-weight: 700;
68
+ margin: 1.2em 0 0.5em;
69
+ letter-spacing: 0.015em;
70
+ text-transform: none;
71
+ }
72
+ .ViewerTheme__h3 {
73
+ font-size: 1.05rem;
74
+ margin: 1em 0 0.35em;
75
+ text-transform: none;
76
+ font-weight: 700;
77
+ color: var(--lexical-muted-color);
78
+ letter-spacing: 0.04em;
79
+ }
80
+ .ViewerTheme__indent {
81
+ --lexical-indent-base-value: 40px;
82
+ }
83
+ .ViewerTheme__textBold {
84
+ font-weight: 700;
85
+ color: var(--lexical-text-color);
86
+ }
87
+ .ViewerTheme__paragraph mark {
88
+ background-color: unset;
89
+ }
90
+ .ViewerTheme__textHighlight {
91
+ background: rgba(255, 212, 0, 0.18);
92
+ border-bottom: 2px solid rgba(255, 212, 0, 0.32);
93
+ padding: 0 0.08em 0.08em;
94
+ }
95
+ .ViewerTheme__textItalic {
96
+ font-style: italic;
97
+ }
98
+ .ViewerTheme__textUnderline {
99
+ text-decoration: underline;
100
+ text-decoration-thickness: 0.08em;
101
+ text-underline-offset: 0.14em;
102
+ }
103
+
104
+ .ViewerTheme__textStrikethrough {
105
+ text-decoration: line-through;
106
+ }
107
+
108
+ .ViewerTheme__textUnderlineStrikethrough {
109
+ text-decoration: underline line-through;
110
+ }
111
+
112
+ .ViewerTheme__tabNode {
113
+ position: relative;
114
+ text-decoration: none;
115
+ }
116
+
117
+ .ViewerTheme__tabNode.ViewerTheme__textUnderline::after {
118
+ content: "";
119
+ position: absolute;
120
+ left: 0;
121
+ right: 0;
122
+ bottom: 0.15em;
123
+ border-bottom: 0.08em solid currentColor;
124
+ }
125
+
126
+ .ViewerTheme__tabNode.ViewerTheme__textStrikethrough::before {
127
+ content: "";
128
+ position: absolute;
129
+ left: 0;
130
+ right: 0;
131
+ top: 0.69em;
132
+ border-top: 0.08em solid currentColor;
133
+ }
134
+
135
+ .ViewerTheme__tabNode.ViewerTheme__textUnderlineStrikethrough::before,
136
+ .ViewerTheme__tabNode.ViewerTheme__textUnderlineStrikethrough::after {
137
+ content: "";
138
+ position: absolute;
139
+ left: 0;
140
+ right: 0;
141
+ }
142
+
143
+ .ViewerTheme__tabNode.ViewerTheme__textUnderlineStrikethrough::before {
144
+ top: 0.69em;
145
+ border-top: 0.08em solid currentColor;
146
+ }
147
+
148
+ .ViewerTheme__tabNode.ViewerTheme__textUnderlineStrikethrough::after {
149
+ bottom: 0.05em;
150
+ border-bottom: 0.08em solid currentColor;
151
+ }
152
+
153
+ .ViewerTheme__textSubscript {
154
+ font-size: 0.8em;
155
+ vertical-align: sub !important;
156
+ }
157
+ .ViewerTheme__textSuperscript {
158
+ font-size: 0.8em;
159
+ vertical-align: super;
160
+ }
161
+ .ViewerTheme__textCode {
162
+ background: rgba(15, 23, 42, 0.05);
163
+ padding: 0.08rem 0.4rem;
164
+ font-family: var(--lexical-font-mono);
165
+ font-size: 92%;
166
+ color: #0f172a;
167
+ border: 1px solid rgba(15, 23, 42, 0.06);
168
+ }
169
+ .ViewerTheme__textLowercase {
170
+ text-transform: lowercase;
171
+ }
172
+ .ViewerTheme__textUppercase {
173
+ text-transform: uppercase;
174
+ }
175
+ .ViewerTheme__textCapitalize {
176
+ text-transform: capitalize;
177
+ }
178
+ .ViewerTheme__hashtag {
179
+ background-color: rgba(26, 115, 232, 0.12);
180
+ border-bottom: 1px solid rgba(26, 115, 232, 0.2);
181
+ color: var(--lexical-accent-strong);
182
+ padding: 0.04em 0.28em;
183
+ }
184
+ .ViewerTheme__link {
185
+ color: var(--lexical-accent-strong);
186
+ text-decoration: underline;
187
+ text-underline-offset: 0.16em;
188
+ text-decoration-thickness: 0.1em;
189
+ transition:
190
+ color 150ms ease,
191
+ text-decoration-color 150ms ease;
192
+ }
193
+ .ViewerTheme__link:hover {
194
+ text-decoration-color: transparent;
195
+ color: #0a4fb3;
196
+ cursor: pointer;
197
+ }
198
+ .ViewerTheme__blockCursor {
199
+ display: block;
200
+ pointer-events: none;
201
+ position: absolute;
202
+ }
203
+ .ViewerTheme__blockCursor:after {
204
+ content: "";
205
+ display: block;
206
+ position: absolute;
207
+ top: -2px;
208
+ width: 24px;
209
+ border-top: 2px solid var(--lexical-text-color);
210
+ animation: CursorBlink 1.1s steps(2, start) infinite;
211
+ }
212
+ @keyframes CursorBlink {
213
+ to {
214
+ visibility: hidden;
215
+ }
216
+ }
217
+ .ViewerTheme__code {
218
+ background:
219
+ radial-gradient(
220
+ circle at 20% 20%,
221
+ rgba(26, 115, 232, 0.08),
222
+ rgba(26, 115, 232, 0)
223
+ )
224
+ var(--lexical-surface),
225
+ var(--lexical-surface-soft);
226
+ font-family: var(--lexical-font-mono);
227
+ display: block;
228
+ padding: 14px 14px 14px 58px;
229
+ line-height: 1.6;
230
+ font-size: 0.95rem;
231
+ margin: 12px 0;
232
+ overflow-x: auto;
233
+ position: relative;
234
+ tab-size: 2;
235
+ border: 1px solid var(--lexical-border);
236
+ color: #0f172a;
237
+ }
238
+ .ViewerTheme__code:before {
239
+ content: attr(data-gutter);
240
+ position: absolute;
241
+ background-color: rgba(15, 23, 42, 0.04);
242
+ left: 0;
243
+ top: 0;
244
+ border-right: 1px solid var(--lexical-border-strong);
245
+ padding: 14px 10px;
246
+ color: var(--lexical-muted-color);
247
+ white-space: pre-wrap;
248
+ text-align: right;
249
+ min-width: 36px;
250
+ border-radius: 14px 0 0 14px;
251
+ }
252
+ .ViewerTheme__tableScrollableWrapper {
253
+ overflow-x: auto;
254
+ margin: 0 0 32px;
255
+ padding: 0 4px;
256
+ }
257
+ .ViewerTheme__tableScrollRight {
258
+ box-shadow: inset -16px 0 12px rgba(15, 23, 42, 0.06);
259
+ }
260
+ .ViewerTheme__tableScrollLeft {
261
+ box-shadow: inset 16px 0 12px rgba(15, 23, 42, 0.06);
262
+ }
263
+ .ViewerTheme__tableScrollMiddle {
264
+ box-shadow:
265
+ inset 16px 0 12px rgba(15, 23, 42, 0.06),
266
+ inset -16px 0 12px rgba(15, 23, 42, 0.06);
267
+ }
268
+ .ViewerTheme__tableScrollableWrapper > .ViewerTheme__table {
269
+ margin-top: 0;
270
+ margin-bottom: 0;
271
+ }
272
+ .ViewerTheme__tableAlignmentCenter {
273
+ margin-left: auto;
274
+ margin-right: auto;
275
+ }
276
+ .ViewerTheme__tableAlignmentRight {
277
+ margin-left: auto;
278
+ }
279
+ .ViewerTheme__table {
280
+ border-collapse: collapse;
281
+ border-spacing: 0;
282
+ overflow: hidden;
283
+ table-layout: fixed;
284
+ width: fit-content;
285
+ margin-top: 22px;
286
+ margin-bottom: 24px;
287
+ background: var(--lexical-surface);
288
+ border: 1px solid var(--lexical-border);
289
+ }
290
+ .ViewerTheme__tableScrollableWrapper.ViewerTheme__tableFrozenRow {
291
+ overflow-x: clip;
292
+ }
293
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > td {
294
+ overflow: clip;
295
+ background-color: var(--lexical-surface);
296
+ position: sticky;
297
+ z-index: 2;
298
+ top: 44px;
299
+ }
300
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > th {
301
+ overflow: clip;
302
+ background-color: #f3f6fb;
303
+ position: sticky;
304
+ z-index: 2;
305
+ top: 44px;
306
+ }
307
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > th:after,
308
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > td:after {
309
+ content: "";
310
+ position: absolute;
311
+ left: 0;
312
+ bottom: 0;
313
+ width: 100%;
314
+ border-bottom: 1px solid var(--lexical-border-strong);
315
+ }
316
+ .ViewerTheme__tableFrozenColumn tr > td:first-child {
317
+ background-color: var(--lexical-surface);
318
+ position: sticky;
319
+ z-index: 2;
320
+ left: 0;
321
+ }
322
+ .ViewerTheme__tableFrozenColumn tr > th:first-child {
323
+ background-color: #f3f6fb;
324
+ position: sticky;
325
+ z-index: 2;
326
+ left: 0;
327
+ }
328
+ .ViewerTheme__tableFrozenColumn tr > :first-child::after {
329
+ content: "";
330
+ position: absolute;
331
+ left: 0;
332
+ top: 0;
333
+ right: 0;
334
+ height: 100%;
335
+ border-right: 1px solid var(--lexical-border-strong);
336
+ }
337
+ .ViewerTheme__tableRowStriping tr:nth-child(even),
338
+ .ViewerTheme__tableFrozenColumn
339
+ .ViewerTheme__table.ViewerTheme__tableRowStriping
340
+ tr:nth-child(even)
341
+ > td:first-child {
342
+ background-color: #f9fbff;
343
+ }
344
+ .ViewerTheme__tableSelection *::selection {
345
+ background-color: transparent;
346
+ }
347
+ .ViewerTheme__tableSelected {
348
+ outline: 2px solid var(--lexical-accent);
349
+ }
350
+ .ViewerTheme__tableCell {
351
+ border: 1px solid var(--lexical-border);
352
+ width: 75px;
353
+ vertical-align: top;
354
+ text-align: start;
355
+ padding: 10px 12px;
356
+ position: relative;
357
+ outline: none;
358
+ overflow: auto;
359
+ line-height: 1.5;
360
+ }
361
+ /*
362
+ A firefox workaround to allow scrolling of overflowing table cell
363
+ ref: https://bugzilla.mozilla.org/show_bug.cgi?id=1904159
364
+ */
365
+ .ViewerTheme__tableCell > * {
366
+ overflow: inherit;
367
+ }
368
+ .ViewerTheme__tableCellResizer {
369
+ position: absolute;
370
+ right: -4px;
371
+ height: 100%;
372
+ width: 8px;
373
+ cursor: ew-resize;
374
+ z-index: 10;
375
+ top: 0;
376
+ }
377
+ .ViewerTheme__tableCellHeader {
378
+ background-color: #f3f6fb;
379
+ text-align: start;
380
+ font-weight: 700;
381
+ }
382
+ .ViewerTheme__tableCellSelected {
383
+ caret-color: transparent;
384
+ }
385
+ .ViewerTheme__tableCellSelected::after {
386
+ position: absolute;
387
+ left: 0;
388
+ right: 0;
389
+ bottom: 0;
390
+ top: 0;
391
+ background-color: rgba(26, 115, 232, 0.14);
392
+ mix-blend-mode: multiply;
393
+ content: "";
394
+ pointer-events: none;
395
+ border-radius: 8px;
396
+ }
397
+ .ViewerTheme__tableAddColumns {
398
+ position: absolute;
399
+ background-color: rgba(26, 115, 232, 0.08);
400
+ height: 100%;
401
+ animation: table-controls 0.2s ease;
402
+ border: 0;
403
+ cursor: pointer;
404
+ transition: background-color 120ms ease;
405
+ }
406
+ .ViewerTheme__tableAddColumns:after {
407
+ background-image: url(../images/icons/plus.svg);
408
+ background-size: contain;
409
+ background-position: center;
410
+ background-repeat: no-repeat;
411
+ display: block;
412
+ content: " ";
413
+ position: absolute;
414
+ top: 0;
415
+ left: 0;
416
+ width: 100%;
417
+ height: 100%;
418
+ opacity: 0.35;
419
+ }
420
+ .ViewerTheme__tableAddColumns:hover,
421
+ .ViewerTheme__tableAddRows:hover {
422
+ background-color: rgba(26, 115, 232, 0.16);
423
+ }
424
+ .ViewerTheme__tableAddRows {
425
+ position: absolute;
426
+ width: calc(100% - 25px);
427
+ background-color: rgba(26, 115, 232, 0.08);
428
+ animation: table-controls 0.2s ease;
429
+ border: 0;
430
+ cursor: pointer;
431
+ transition: background-color 120ms ease;
432
+ }
433
+ .ViewerTheme__tableAddRows:after {
434
+ background-image: url(../images/icons/plus.svg);
435
+ background-size: contain;
436
+ background-position: center;
437
+ background-repeat: no-repeat;
438
+ display: block;
439
+ content: " ";
440
+ position: absolute;
441
+ top: 0;
442
+ left: 0;
443
+ width: 100%;
444
+ height: 100%;
445
+ opacity: 0.35;
446
+ }
447
+ @keyframes table-controls {
448
+ 0% {
449
+ opacity: 0;
450
+ }
451
+ 100% {
452
+ opacity: 1;
453
+ }
454
+ }
455
+ .ViewerTheme__tableCellResizeRuler {
456
+ display: block;
457
+ position: absolute;
458
+ width: 1px;
459
+ background-color: var(--lexical-accent);
460
+ height: 100%;
461
+ top: 0;
462
+ }
463
+ .ViewerTheme__tableCellActionButtonContainer {
464
+ display: block;
465
+ right: 5px;
466
+ top: 6px;
467
+ position: absolute;
468
+ z-index: 4;
469
+ width: 24px;
470
+ height: 24px;
471
+ }
472
+ .ViewerTheme__tableCellActionButton {
473
+ background-color: var(--lexical-surface-soft);
474
+ display: block;
475
+ border: 1px solid var(--lexical-border);
476
+ border-radius: 999px;
477
+ width: 24px;
478
+ height: 24px;
479
+ color: var(--lexical-text-color);
480
+ cursor: pointer;
481
+ box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
482
+ }
483
+ .ViewerTheme__tableCellActionButton:hover {
484
+ background-color: rgba(26, 115, 232, 0.12);
485
+ }
486
+ .ViewerTheme__characterLimit {
487
+ display: inline;
488
+ background-color: #ffe3e3 !important;
489
+ color: #8b1d1d;
490
+ padding: 0 0.2em;
491
+ border-radius: 4px;
492
+ }
493
+ .ViewerTheme__ol1 {
494
+ padding: 0;
495
+ margin: 0 0 1em;
496
+ list-style-position: outside;
497
+ list-style-type: decimal;
498
+ }
499
+ .ViewerTheme__ol2 {
500
+ padding: 0;
501
+ margin: 0 0 1em;
502
+ list-style-type: upper-alpha;
503
+ list-style-position: outside;
504
+ }
505
+ .ViewerTheme__ol3 {
506
+ padding: 0;
507
+ margin: 0 0 1em;
508
+ list-style-type: lower-alpha;
509
+ list-style-position: outside;
510
+ }
511
+ .ViewerTheme__ol4 {
512
+ padding: 0;
513
+ margin: 0 0 1em;
514
+ list-style-type: upper-roman;
515
+ list-style-position: outside;
516
+ }
517
+ .ViewerTheme__ol5 {
518
+ padding: 0;
519
+ margin: 0 0 1em;
520
+ list-style-type: lower-roman;
521
+ list-style-position: outside;
522
+ }
523
+ .ViewerTheme__ul {
524
+ padding: 0;
525
+ margin: 0 0 1em;
526
+ list-style-position: outside;
527
+ list-style-type: disc;
528
+ }
529
+ .ViewerTheme__listItem {
530
+ margin: 0 28px 0.55em;
531
+ font-size: 1rem;
532
+ color: var(--lexical-text-color);
533
+ }
534
+ .ViewerTheme__listItem::marker {
535
+ color: var(--lexical-muted-color);
536
+ }
537
+ .ViewerTheme__listItemChecked,
538
+ .ViewerTheme__listItemUnchecked {
539
+ position: relative;
540
+ margin-left: 0.5em;
541
+ margin-right: 0.5em;
542
+ padding-left: 1.5em;
543
+ padding-right: 1.5em;
544
+ list-style-type: none;
545
+ outline: none;
546
+ display: block;
547
+ min-height: 1.5em;
548
+ color: var(--lexical-text-color);
549
+ }
550
+ .ViewerTheme__listItemChecked > *,
551
+ .ViewerTheme__listItemUnchecked > * {
552
+ margin-left: 0.08em;
553
+ }
554
+ .ViewerTheme__listItemUnchecked:before,
555
+ .ViewerTheme__listItemChecked:before {
556
+ content: "\200B";
557
+ width: 0.9em;
558
+ height: 0.9em;
559
+ top: 50%;
560
+ left: 0;
561
+ cursor: pointer;
562
+ display: block;
563
+ background-size: cover;
564
+ position: absolute;
565
+ transform: translateY(-50%);
566
+ }
567
+ .ViewerTheme__listItemChecked {
568
+ text-decoration: line-through;
569
+ color: var(--lexical-muted-color);
570
+ }
571
+ .ViewerTheme__listItemUnchecked:focus:before,
572
+ .ViewerTheme__listItemChecked:focus:before {
573
+ box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.3);
574
+ border-radius: 3px;
575
+ }
576
+ .ViewerTheme__listItemUnchecked:before {
577
+ border: 1px solid var(--lexical-border-strong);
578
+ border-radius: 3px;
579
+ background: var(--lexical-surface);
580
+ }
581
+ .ViewerTheme__listItemChecked:before {
582
+ border: 1px solid var(--lexical-accent);
583
+ border-radius: 3px;
584
+ background: linear-gradient(
585
+ 135deg,
586
+ var(--lexical-accent),
587
+ var(--lexical-accent-strong)
588
+ );
589
+ background-repeat: no-repeat;
590
+ }
591
+ .ViewerTheme__listItemChecked:after {
592
+ content: "";
593
+ cursor: pointer;
594
+ border-color: #fff;
595
+ border-style: solid;
596
+ position: absolute;
597
+ display: block;
598
+ top: 45%;
599
+ width: 0.22em;
600
+ left: 0.36em;
601
+ height: 0.42em;
602
+ transform: translateY(-50%) rotate(45deg);
603
+ border-width: 0 0.12em 0.12em 0;
604
+ }
605
+ .ViewerTheme__nestedListItem {
606
+ list-style-type: none;
607
+ }
608
+ .ViewerTheme__nestedListItem:before,
609
+ .ViewerTheme__nestedListItem:after {
610
+ display: none;
611
+ }
612
+ .ViewerTheme__tokenComment {
613
+ color: #60708a;
614
+ }
615
+ .ViewerTheme__tokenDeleted {
616
+ border-image: linear-gradient(to right, #ffcecb 50%, #ffebe9 50%) fill 0/0/0
617
+ 100vw;
618
+ }
619
+ .ViewerTheme__tokenInserted {
620
+ border-image: linear-gradient(to right, #aceebb 50%, #dafbe1 50%) fill 0/0/0
621
+ 100vw;
622
+ }
623
+ .ViewerTheme__tokenUnchanged {
624
+ border-image: linear-gradient(to right, #ddd 50%, #f0f2f5 50%) fill 0/0/0
625
+ 100vw;
626
+ }
627
+ .ViewerTheme__tokenPunctuation {
628
+ color: #94a3b8;
629
+ }
630
+ .ViewerTheme__tokenProperty {
631
+ color: #b4238c;
632
+ }
633
+ .ViewerTheme__tokenSelector {
634
+ color: #2e7d32;
635
+ }
636
+ .ViewerTheme__tokenOperator {
637
+ color: #b07529;
638
+ }
639
+ .ViewerTheme__tokenAttr {
640
+ color: #0b82d9;
641
+ }
642
+ .ViewerTheme__tokenVariable {
643
+ color: #b66b00;
644
+ }
645
+ .ViewerTheme__tokenFunction {
646
+ color: #c62868;
647
+ }
648
+ .ViewerTheme__mark {
649
+ background: rgba(255, 212, 0, 0.18);
650
+ border-bottom: 2px solid rgba(255, 212, 0, 0.36);
651
+ padding-bottom: 2px;
652
+ border-radius: 6px;
653
+ }
654
+ .ViewerTheme__markOverlap {
655
+ background: rgba(255, 212, 0, 0.3);
656
+ border-bottom: 2px solid rgba(255, 212, 0, 0.7);
657
+ }
658
+ .ViewerTheme__mark.selected {
659
+ background: rgba(255, 212, 0, 0.45);
660
+ border-bottom: 2px solid rgba(255, 212, 0, 1);
661
+ }
662
+ .ViewerTheme__markOverlap.selected {
663
+ background: rgba(255, 212, 0, 0.7);
664
+ border-bottom: 2px solid rgba(255, 212, 0, 0.7);
665
+ }
666
+ .ViewerTheme__embedBlock {
667
+ user-select: none;
668
+ }
669
+ .ViewerTheme__embedBlockFocus {
670
+ outline: 2px solid var(--lexical-accent);
671
+ outline-offset: 4px;
672
+ border-radius: 10px;
673
+ }
674
+ .ViewerTheme__layoutContainer {
675
+ display: grid;
676
+ gap: 14px;
677
+ margin: 14px 0;
678
+ }
679
+ .ViewerTheme__layoutItem {
680
+ border: 1px dashed var(--lexical-border-strong);
681
+ padding: 12px 18px;
682
+ min-width: 0;
683
+ max-width: 100%;
684
+ border-radius: 12px;
685
+ background: var(--lexical-surface-soft);
686
+ }
687
+ .ViewerTheme__autocomplete {
688
+ color: #cbd5e1;
689
+ }
690
+ .ViewerTheme__hr {
691
+ padding: 2px 2px;
692
+ border: none;
693
+ margin: 1.4em 0;
694
+ cursor: pointer;
695
+ }
696
+ .ViewerTheme__hr:after {
697
+ content: "";
698
+ display: block;
699
+ height: 2px;
700
+ background: linear-gradient(
701
+ 90deg,
702
+ transparent,
703
+ rgba(15, 23, 42, 0.2),
704
+ transparent
705
+ );
706
+ line-height: 2px;
707
+ border-radius: 999px;
708
+ }
709
+ .ViewerTheme__hr.ViewerTheme__hrSelected {
710
+ outline: 2px solid var(--lexical-accent);
711
+ user-select: none;
712
+ border-radius: 8px;
713
+ }
714
+
715
+ .ViewerTheme__specialText {
716
+ background-color: #fff5d6;
717
+ font-weight: 700;
718
+ padding: 0.08em 0.26em;
719
+ border-radius: 6px;
720
+ color: #8b5a00;
721
+ }
722
+
723
+ .ViewerTheme__contextMenu {
724
+ outline: 0;
725
+ background: var(--lexical-surface);
726
+ border: 1px solid var(--lexical-border);
727
+ box-shadow: var(--lexical-shadow);
728
+ border-radius: 12px;
729
+ padding: 4px;
730
+ min-width: 220px;
731
+ }
732
+ .ViewerTheme__contextMenu button:first-child {
733
+ border-radius: 10px 10px 4px 4px;
734
+ }
735
+ .ViewerTheme__contextMenu button:last-child {
736
+ border-radius: 4px 4px 10px 10px;
737
+ }
738
+ .ViewerTheme__contextMenuItem {
739
+ width: 100%;
740
+ display: block;
741
+ }
742
+ .ViewerTheme__contextMenuItem {
743
+ display: flex;
744
+ justify-content: left;
745
+ width: 100%;
746
+ background-color: transparent;
747
+ color: var(--lexical-text-color);
748
+ border: 0;
749
+ border-radius: 8px;
750
+ font-size: 15px;
751
+ text-align: left;
752
+ line-height: 22px;
753
+ padding: 10px 12px;
754
+ outline: 0;
755
+ cursor: pointer;
756
+ transition:
757
+ background-color 120ms ease,
758
+ color 120ms ease;
759
+ }
760
+ .ViewerTheme__contextMenuItem.open {
761
+ background: rgba(26, 115, 232, 0.1);
762
+ }
763
+ .ViewerTheme__contextMenuItem:focus,
764
+ .ViewerTheme__contextMenuItem:not([disabled]):active {
765
+ background: rgba(26, 115, 232, 0.08);
766
+ }
767
+ .ViewerTheme__contextMenuItem:disabled {
768
+ background: transparent;
769
+ color: var(--lexical-muted-color);
770
+ cursor: not-allowed;
771
+ }
772
+ .ViewerTheme__contextMenuItemIcon {
773
+ width: 20px;
774
+ margin-right: 10px;
775
+ background-repeat: no-repeat;
776
+ background-size: contain;
777
+ }
778
+
779
+ @media (prefers-color-scheme: dark) {
780
+ :root {
781
+ --lexical-text-color: #e5e7eb;
782
+ --lexical-muted-color: #9ca3af;
783
+ --lexical-accent: #61a8ff;
784
+ --lexical-accent-strong: #8cbfff;
785
+ --lexical-surface: #0f172a;
786
+ --lexical-surface-soft: #111827;
787
+ --lexical-surface-contrast: #e5e7eb;
788
+ --lexical-border: #1f2937;
789
+ --lexical-border-strong: #334155;
790
+ --lexical-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
791
+ --lexical-code-bg: #0b1222;
792
+ --lexical-code-fg: #e5e7eb;
793
+ }
794
+
795
+ .ViewerTheme__quote {
796
+ color: var(--lexical-text-color);
797
+ border-left-color: var(--lexical-accent);
798
+ background: linear-gradient(
799
+ 135deg,
800
+ rgba(97, 168, 255, 0.08),
801
+ rgba(17, 24, 39, 0.4)
802
+ );
803
+ box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5);
804
+ }
805
+ .ViewerTheme__h1 {
806
+ color: var(--lexical-text-color);
807
+ }
808
+ .ViewerTheme__h2 {
809
+ color: var(--lexical-text-color);
810
+ }
811
+ .ViewerTheme__h3 {
812
+ color: var(--lexical-muted-color);
813
+ }
814
+ .ViewerTheme__textHighlight {
815
+ background: rgba(255, 212, 0, 0.24);
816
+ border-bottom: 2px solid rgba(255, 212, 0, 0.5);
817
+ }
818
+ .ViewerTheme__textCode {
819
+ background: rgba(255, 255, 255, 0.08);
820
+ color: var(--lexical-code-fg);
821
+ border: 1px solid rgba(255, 255, 255, 0.08);
822
+ }
823
+ .ViewerTheme__hashtag {
824
+ background-color: rgba(97, 168, 255, 0.25);
825
+ border-bottom: 1px solid rgba(97, 168, 255, 0.5);
826
+ color: var(--lexical-accent);
827
+ }
828
+ .ViewerTheme__link {
829
+ color: var(--lexical-accent);
830
+ }
831
+ .ViewerTheme__link:hover {
832
+ color: #b7d5ff;
833
+ }
834
+ .ViewerTheme__blockCursor:after {
835
+ border-top: 2px solid var(--lexical-text-color);
836
+ }
837
+ .ViewerTheme__code {
838
+ background:
839
+ radial-gradient(
840
+ circle at 20% 20%,
841
+ rgba(97, 168, 255, 0.16),
842
+ rgba(17, 24, 39, 0)
843
+ )
844
+ var(--lexical-code-bg),
845
+ var(--lexical-code-bg);
846
+ color: var(--lexical-code-fg);
847
+ border-color: var(--lexical-border-strong);
848
+ box-shadow: var(--lexical-shadow);
849
+ }
850
+ .ViewerTheme__code:before {
851
+ background-color: rgba(255, 255, 255, 0.04);
852
+ border-right: 1px solid var(--lexical-border-strong);
853
+ color: var(--lexical-muted-color);
854
+ }
855
+ .ViewerTheme__tableScrollRight {
856
+ box-shadow: inset -16px 0 12px rgba(255, 255, 255, 0.12);
857
+ }
858
+ .ViewerTheme__tableScrollLeft {
859
+ box-shadow: inset 16px 0 12px rgba(255, 255, 255, 0.12);
860
+ }
861
+ .ViewerTheme__tableScrollMiddle {
862
+ box-shadow:
863
+ inset 16px 0 12px rgba(255, 255, 255, 0.12),
864
+ inset -16px 0 12px rgba(255, 255, 255, 0.12);
865
+ }
866
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > td {
867
+ background-color: var(--lexical-surface);
868
+ }
869
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > th {
870
+ background-color: #111827;
871
+ }
872
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > th:after,
873
+ .ViewerTheme__tableFrozenRow tr:nth-of-type(1) > td:after {
874
+ border-bottom: 1px solid var(--lexical-border-strong);
875
+ }
876
+ .ViewerTheme__tableFrozenColumn tr > td:first-child {
877
+ background-color: var(--lexical-surface);
878
+ }
879
+ .ViewerTheme__tableFrozenColumn tr > th:first-child {
880
+ background-color: #111827;
881
+ }
882
+ .ViewerTheme__tableFrozenColumn tr > :first-child::after {
883
+ border-right: 1px solid var(--lexical-border-strong);
884
+ }
885
+ .ViewerTheme__tableRowStriping tr:nth-child(even),
886
+ .ViewerTheme__tableFrozenColumn
887
+ .ViewerTheme__table.ViewerTheme__tableRowStriping
888
+ tr:nth-child(even)
889
+ > td:first-child {
890
+ background-color: #0b1222;
891
+ }
892
+ .ViewerTheme__tableSelected {
893
+ outline: 2px solid var(--lexical-accent);
894
+ }
895
+ .ViewerTheme__tableCell {
896
+ border: 1px solid var(--lexical-border-strong);
897
+ color: var(--lexical-text-color);
898
+ }
899
+ .ViewerTheme__tableCellHeader {
900
+ background-color: #111827;
901
+ color: var(--lexical-text-color);
902
+ }
903
+ .ViewerTheme__tableAddColumns {
904
+ background-color: rgba(97, 168, 255, 0.08);
905
+ }
906
+ .ViewerTheme__tableAddColumns:hover,
907
+ .ViewerTheme__tableAddRows:hover {
908
+ background-color: rgba(97, 168, 255, 0.18);
909
+ }
910
+ .ViewerTheme__tableAddRows {
911
+ background-color: rgba(97, 168, 255, 0.08);
912
+ }
913
+ .ViewerTheme__tableCellResizeRuler {
914
+ background-color: var(--lexical-accent);
915
+ }
916
+ .ViewerTheme__tableCellActionButton {
917
+ background-color: #111827;
918
+ color: var(--lexical-text-color);
919
+ border-color: var(--lexical-border-strong);
920
+ }
921
+ .ViewerTheme__tableCellActionButton:hover {
922
+ background-color: rgba(97, 168, 255, 0.18);
923
+ }
924
+ .ViewerTheme__characterLimit {
925
+ background-color: #5c1a1a !important;
926
+ color: #f8d7da;
927
+ }
928
+ .ViewerTheme__listItemUnchecked:focus:before,
929
+ .ViewerTheme__listItemChecked:focus:before {
930
+ box-shadow: 0 0 0 2px rgba(97, 168, 255, 0.5);
931
+ }
932
+ .ViewerTheme__listItemUnchecked:before {
933
+ border: 1px solid var(--lexical-border-strong);
934
+ background: #0f172a;
935
+ }
936
+ .ViewerTheme__listItemChecked:before {
937
+ border: 1px solid var(--lexical-accent);
938
+ background: linear-gradient(
939
+ 135deg,
940
+ var(--lexical-accent),
941
+ var(--lexical-accent-strong)
942
+ );
943
+ }
944
+ .ViewerTheme__listItemChecked:after {
945
+ border-color: #0f172a;
946
+ }
947
+ .ViewerTheme__tokenComment {
948
+ color: #7a8f8f;
949
+ }
950
+ .ViewerTheme__tokenDeleted {
951
+ border-image: linear-gradient(to right, #663333 50%, #552222 50%) fill 0/0/0
952
+ 100vw;
953
+ }
954
+ .ViewerTheme__tokenInserted {
955
+ border-image: linear-gradient(to right, #336633 50%, #224422 50%) fill 0/0/0
956
+ 100vw;
957
+ }
958
+ .ViewerTheme__tokenUnchanged {
959
+ border-image: linear-gradient(to right, #444 50%, #333 50%) fill 0/0/0 100vw;
960
+ }
961
+ .ViewerTheme__tokenPunctuation {
962
+ color: #94a3b8;
963
+ }
964
+ .ViewerTheme__tokenProperty {
965
+ color: #ef8ad6;
966
+ }
967
+ .ViewerTheme__tokenSelector {
968
+ color: #90e697;
969
+ }
970
+ .ViewerTheme__tokenOperator {
971
+ color: #e4b77d;
972
+ }
973
+ .ViewerTheme__tokenAttr {
974
+ color: #76b9ff;
975
+ }
976
+ .ViewerTheme__tokenVariable {
977
+ color: #ffce6d;
978
+ }
979
+ .ViewerTheme__tokenFunction {
980
+ color: #ffa0b4;
981
+ }
982
+ .ViewerTheme__mark {
983
+ background: rgba(255, 212, 0, 0.24);
984
+ border-bottom: 2px solid rgba(255, 212, 0, 0.5);
985
+ }
986
+ .ViewerTheme__markOverlap {
987
+ background: rgba(255, 212, 0, 0.4);
988
+ border-bottom: 2px solid rgba(255, 212, 0, 0.6);
989
+ }
990
+ .ViewerTheme__mark.selected {
991
+ background: rgba(255, 212, 0, 0.3);
992
+ border-bottom: 2px solid rgba(255, 212, 0, 0.7);
993
+ }
994
+ .ViewerTheme__markOverlap.selected {
995
+ background: rgba(255, 212, 0, 0.4);
996
+ border-bottom: 2px solid rgba(255, 212, 0, 0.6);
997
+ }
998
+ .ViewerTheme__embedBlockFocus {
999
+ outline: 2px solid var(--lexical-accent);
1000
+ }
1001
+ .ViewerTheme__layoutItem {
1002
+ border: 1px dashed var(--lexical-border-strong);
1003
+ background: rgba(255, 255, 255, 0.02);
1004
+ }
1005
+ .ViewerTheme__autocomplete {
1006
+ color: #475569;
1007
+ }
1008
+ .ViewerTheme__hr:after {
1009
+ background: linear-gradient(
1010
+ 90deg,
1011
+ transparent,
1012
+ rgba(255, 255, 255, 0.35),
1013
+ transparent
1014
+ );
1015
+ }
1016
+ .ViewerTheme__hr.ViewerTheme__hrSelected {
1017
+ outline: 2px solid var(--lexical-accent);
1018
+ }
1019
+ .ViewerTheme__specialText {
1020
+ background-color: #4a3a13;
1021
+ color: #f8e5b4;
1022
+ }
1023
+ .ViewerTheme__contextMenu {
1024
+ background: #0f172a;
1025
+ border: 1px solid var(--lexical-border-strong);
1026
+ box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6);
1027
+ }
1028
+ .ViewerTheme__contextMenuItem {
1029
+ background-color: transparent;
1030
+ color: var(--lexical-text-color);
1031
+ }
1032
+ .ViewerTheme__contextMenuItem.open {
1033
+ background: rgba(97, 168, 255, 0.18);
1034
+ }
1035
+ .ViewerTheme__contextMenuItem:focus,
1036
+ .ViewerTheme__contextMenuItem:not([disabled]):active {
1037
+ background: rgba(97, 168, 255, 0.14);
1038
+ }
1039
+ .ViewerTheme__contextMenuItem:disabled {
1040
+ background: transparent;
1041
+ color: var(--lexical-muted-color);
1042
+ }
1043
+ }