@jimka/typescript-ui 0.2.0 → 0.4.0

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 (251) hide show
  1. package/README.md +4 -0
  2. package/THIRD-PARTY-NOTICES.md +7 -3
  3. package/dist/lib/{AbstractBooleanInput-BGesvIZy.js → AbstractBooleanInput-DSwKBAic.js} +2 -2
  4. package/dist/lib/{AbstractBooleanInput-BGesvIZy.js.map → AbstractBooleanInput-DSwKBAic.js.map} +1 -1
  5. package/dist/lib/{AbstractInput-BxOtFrER.js → AbstractInput-BmWGJTs1.js} +2 -2
  6. package/dist/lib/{AbstractInput-BxOtFrER.js.map → AbstractInput-BmWGJTs1.js.map} +1 -1
  7. package/dist/lib/AnchorConstraints-CVrMP9rz.js +2 -0
  8. package/dist/lib/AnchorConstraints-CVrMP9rz.js.map +1 -0
  9. package/dist/lib/{AnimatedDropdown-CZQEqQi-.js → AnimatedDropdown-DKas40B-.js} +2 -2
  10. package/dist/lib/{AnimatedDropdown-CZQEqQi-.js.map → AnimatedDropdown-DKas40B-.js.map} +1 -1
  11. package/dist/lib/Border-Bz29z-_7.js +2 -0
  12. package/dist/lib/Border-Bz29z-_7.js.map +1 -0
  13. package/dist/lib/Button-bjpWruNc.js +2 -0
  14. package/dist/lib/{Button-U1rsP4v8.js.map → Button-bjpWruNc.js.map} +1 -1
  15. package/dist/lib/{Card-BVwOS8AG.js → Card-BdfbvOD_.js} +2 -2
  16. package/dist/lib/{Card-BVwOS8AG.js.map → Card-BdfbvOD_.js.map} +1 -1
  17. package/dist/lib/ComboBox-CBw2VLLN.js +2 -0
  18. package/dist/lib/ComboBox-CBw2VLLN.js.map +1 -0
  19. package/dist/lib/Component-DHqrPwAw.js +2 -0
  20. package/dist/lib/Component-DHqrPwAw.js.map +1 -0
  21. package/dist/lib/Container-CAQpj4yb.js +2 -0
  22. package/dist/lib/{Container-D5H8VxJK.js.map → Container-CAQpj4yb.js.map} +1 -1
  23. package/dist/lib/DOM-67StIm5G.js +2 -0
  24. package/dist/lib/DOM-67StIm5G.js.map +1 -0
  25. package/dist/lib/DragChain-CYGuT7OA.js +2 -0
  26. package/dist/lib/DragChain-CYGuT7OA.js.map +1 -0
  27. package/dist/lib/DragManager-CHWCe3-8.js +2 -0
  28. package/dist/lib/DragManager-CHWCe3-8.js.map +1 -0
  29. package/dist/lib/{FieldDecorator-CJs9gwqH.js → FieldDecorator-CgAGcqCk.js} +2 -2
  30. package/dist/lib/{FieldDecorator-CJs9gwqH.js.map → FieldDecorator-CgAGcqCk.js.map} +1 -1
  31. package/dist/lib/{Fit-DjRsiwlg.js → Fit-DIYt2aQB.js} +2 -2
  32. package/dist/lib/{Fit-DjRsiwlg.js.map → Fit-DIYt2aQB.js.map} +1 -1
  33. package/dist/lib/Glyph-CeAIWyPB.js +2 -0
  34. package/dist/lib/Glyph-CeAIWyPB.js.map +1 -0
  35. package/dist/lib/{Grid-DdL9TVeJ.js → Grid-ViA0joow.js} +2 -2
  36. package/dist/lib/{Grid-DdL9TVeJ.js.map → Grid-ViA0joow.js.map} +1 -1
  37. package/dist/lib/GridConstraints-B1rxCw9B.js +2 -0
  38. package/dist/lib/GridConstraints-B1rxCw9B.js.map +1 -0
  39. package/dist/lib/Header-mKaqgfat.js +2 -0
  40. package/dist/lib/Header-mKaqgfat.js.map +1 -0
  41. package/dist/lib/IconText-BqwXA82-.js +2 -0
  42. package/dist/lib/IconText-BqwXA82-.js.map +1 -0
  43. package/dist/lib/{LayoutSerialization-BT66TY83.js → LayoutSerialization-D82UtnDD.js} +2 -2
  44. package/dist/lib/{LayoutSerialization-BT66TY83.js.map → LayoutSerialization-D82UtnDD.js.map} +1 -1
  45. package/dist/lib/LayoutSizes-DG9aW9k6.js +2 -0
  46. package/dist/lib/LayoutSizes-DG9aW9k6.js.map +1 -0
  47. package/dist/lib/List-CUntS8ux.js +2 -0
  48. package/dist/lib/List-CUntS8ux.js.map +1 -0
  49. package/dist/lib/MemoryStore-DT6iWWco.js +2 -0
  50. package/dist/lib/MemoryStore-DT6iWWco.js.map +1 -0
  51. package/dist/lib/Menu-B_-SQj72.js +2 -0
  52. package/dist/lib/Menu-B_-SQj72.js.map +1 -0
  53. package/dist/lib/{MenuButton-VJ5uC3c1.js → MenuButton-C79l8Ysf.js} +2 -2
  54. package/dist/lib/{MenuButton-VJ5uC3c1.js.map → MenuButton-C79l8Ysf.js.map} +1 -1
  55. package/dist/lib/{Panel-DzWdYwq1.js → Panel-D2X33qR6.js} +2 -2
  56. package/dist/lib/{Panel-DzWdYwq1.js.map → Panel-D2X33qR6.js.map} +1 -1
  57. package/dist/lib/Position-Ck_KD4cR.js +2 -0
  58. package/dist/lib/Position-Ck_KD4cR.js.map +1 -0
  59. package/dist/lib/{ProgressSpinner-zJKtGyNJ.js → ProgressSpinner-DCyq02pd.js} +2 -2
  60. package/dist/lib/{ProgressSpinner-zJKtGyNJ.js.map → ProgressSpinner-DCyq02pd.js.map} +1 -1
  61. package/dist/lib/{RadioButton-CYSSv4nV.js → RadioButton-BJIAQkII.js} +2 -2
  62. package/dist/lib/{RadioButton-CYSSv4nV.js.map → RadioButton-BJIAQkII.js.map} +1 -1
  63. package/dist/lib/{RovingTabIndex-BSZ31Vp5.js → RovingTabIndex-DFJyoveq.js} +2 -2
  64. package/dist/lib/{RovingTabIndex-BSZ31Vp5.js.map → RovingTabIndex-DFJyoveq.js.map} +1 -1
  65. package/dist/lib/Scrollbar-CSFK-Y57.js +2 -0
  66. package/dist/lib/Scrollbar-CSFK-Y57.js.map +1 -0
  67. package/dist/lib/Slider-C-kQQYCj.js +2 -0
  68. package/dist/lib/Slider-C-kQQYCj.js.map +1 -0
  69. package/dist/lib/{Spacer-D9NGW4QG.js → Spacer-D159iJy9.js} +2 -2
  70. package/dist/lib/{Spacer-D9NGW4QG.js.map → Spacer-D159iJy9.js.map} +1 -1
  71. package/dist/lib/TabButton-CHkXBgCj.js +2 -0
  72. package/dist/lib/TabButton-CHkXBgCj.js.map +1 -0
  73. package/dist/lib/Text-D5pg7taZ.js +2 -0
  74. package/dist/lib/Text-D5pg7taZ.js.map +1 -0
  75. package/dist/lib/Tooltip-DzK6LxUt.js +3 -0
  76. package/dist/lib/{Tooltip-tkXDk5Bo.js.map → Tooltip-DzK6LxUt.js.map} +1 -1
  77. package/dist/lib/VBox-BNegDPs_.js +2 -0
  78. package/dist/lib/VBox-BNegDPs_.js.map +1 -0
  79. package/dist/lib/VirtualScroller-zQr-vKrO.js +2 -0
  80. package/dist/lib/VirtualScroller-zQr-vKrO.js.map +1 -0
  81. package/dist/lib/component/button.es.js +1 -1
  82. package/dist/lib/component/chart.es.js +1 -1
  83. package/dist/lib/component/chart.es.js.map +1 -1
  84. package/dist/lib/component/container.es.js +1 -1
  85. package/dist/lib/component/container.es.js.map +1 -1
  86. package/dist/lib/component/diagram.es.js +1 -1
  87. package/dist/lib/component/diagram.es.js.map +1 -1
  88. package/dist/lib/component/display.es.js +1 -1
  89. package/dist/lib/component/display.es.js.map +1 -1
  90. package/dist/lib/component/editor.es.js +3 -3
  91. package/dist/lib/component/editor.es.js.map +1 -1
  92. package/dist/lib/component/input.es.js +1 -1
  93. package/dist/lib/component/input.es.js.map +1 -1
  94. package/dist/lib/component/list.es.js +1 -1
  95. package/dist/lib/component/list.es.js.map +1 -1
  96. package/dist/lib/component/menubar.es.js +1 -1
  97. package/dist/lib/component/menubar.es.js.map +1 -1
  98. package/dist/lib/component/table.es.js +2 -2
  99. package/dist/lib/component/table.es.js.map +1 -1
  100. package/dist/lib/component/tree.es.js +1 -1
  101. package/dist/lib/component/tree.es.js.map +1 -1
  102. package/dist/lib/core.es.js +1 -1
  103. package/dist/lib/core.es.js.map +1 -1
  104. package/dist/lib/data.es.js +1 -1
  105. package/dist/lib/data.es.js.map +1 -1
  106. package/dist/lib/glyphs/solid/index.es.js +1 -1
  107. package/dist/lib/layout.es.js +1 -1
  108. package/dist/lib/layout.es.js.map +1 -1
  109. package/dist/lib/overlay.es.js +1 -1
  110. package/dist/lib/overlay.es.js.map +1 -1
  111. package/dist/lib/primitive.es.js +1 -1
  112. package/dist/lib/router.es.js +1 -1
  113. package/dist/lib/router.es.js.map +1 -1
  114. package/dist/lib/selectionsEqual-4r5R7pTK.js +2 -0
  115. package/dist/lib/selectionsEqual-4r5R7pTK.js.map +1 -0
  116. package/dist/lib/types/component/button/TabCloseButton.d.ts +1 -1
  117. package/dist/lib/types/component/container/CollapseButton.d.ts +1 -1
  118. package/dist/lib/types/component/container/DialogBackdrop.d.ts +1 -1
  119. package/dist/lib/types/component/container/MenuItem.d.ts +4 -0
  120. package/dist/lib/types/component/container/MenuSeparator.d.ts +1 -1
  121. package/dist/lib/types/component/container/Scrollbar.d.ts +1 -0
  122. package/dist/lib/types/component/container/SplitGutter.d.ts +2 -2
  123. package/dist/lib/types/component/container/StatusBar.d.ts +1 -1
  124. package/dist/lib/types/component/container/VirtualScroller.d.ts +1 -0
  125. package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
  126. package/dist/lib/types/component/diagram/DiagramEdgeLayer.d.ts +14 -1
  127. package/dist/lib/types/component/diagram/DiagramModel.d.ts +1 -0
  128. package/dist/lib/types/component/diagram/DiagramNode.d.ts +5 -1
  129. package/dist/lib/types/component/diagram/DiagramView.d.ts +76 -5
  130. package/dist/lib/types/component/diagram/ElkLayoutEngine.d.ts +14 -1
  131. package/dist/lib/types/component/diagram/index.d.ts +2 -2
  132. package/dist/lib/types/component/display/Canvas.d.ts +8 -2
  133. package/dist/lib/types/component/display/Glyph.d.ts +2 -1
  134. package/dist/lib/types/component/display/Header.d.ts +1 -1
  135. package/dist/lib/types/component/display/IconLabel.d.ts +1 -1
  136. package/dist/lib/types/component/display/IconText.d.ts +1 -1
  137. package/dist/lib/types/component/display/Image.d.ts +1 -1
  138. package/dist/lib/types/component/display/Video.d.ts +1 -1
  139. package/dist/lib/types/component/display/WebGLCanvas.d.ts +8 -2
  140. package/dist/lib/types/component/editor/CodeEditor.d.ts +4 -3
  141. package/dist/lib/types/component/input/AbstractPickerField.d.ts +1 -1
  142. package/dist/lib/types/component/input/AutoCompleteDropdown.d.ts +1 -1
  143. package/dist/lib/types/component/input/Link.d.ts +1 -1
  144. package/dist/lib/types/component/input/NumberSpinner.d.ts +1 -1
  145. package/dist/lib/types/component/input/PasswordField.d.ts +1 -1
  146. package/dist/lib/types/component/input/SpinButton.d.ts +1 -1
  147. package/dist/lib/types/component/input/Text.d.ts +3 -1
  148. package/dist/lib/types/component/input/TextArea.d.ts +1 -1
  149. package/dist/lib/types/component/input/TextField.d.ts +3 -1
  150. package/dist/lib/types/component/input/UsernameField.d.ts +1 -1
  151. package/dist/lib/types/component/list/AbstractMarkerList.d.ts +9 -1
  152. package/dist/lib/types/component/list/BulletedList.d.ts +1 -0
  153. package/dist/lib/types/component/list/ListItem.d.ts +10 -4
  154. package/dist/lib/types/component/list/NumberedList.d.ts +1 -0
  155. package/dist/lib/types/component/menubar/MenuBarButton.d.ts +1 -1
  156. package/dist/lib/types/component/menubar/ToolBar.d.ts +1 -1
  157. package/dist/lib/types/component/menubar/ToolBarSeparator.d.ts +1 -1
  158. package/dist/lib/types/component/shared/VirtualRowView.d.ts +13 -1
  159. package/dist/lib/types/component/shared/selectionsEqual.d.ts +1 -0
  160. package/dist/lib/types/component/table/Body.d.ts +15 -2
  161. package/dist/lib/types/component/table/CellGeometry.d.ts +6 -0
  162. package/dist/lib/types/component/table/Column.d.ts +6 -0
  163. package/dist/lib/types/component/table/ColumnConfig.d.ts +4 -0
  164. package/dist/lib/types/component/table/Header.d.ts +25 -2
  165. package/dist/lib/types/component/table/Row.d.ts +13 -2
  166. package/dist/lib/types/component/table/Table.d.ts +45 -4
  167. package/dist/lib/types/component/table/TableExporter.d.ts +1 -1
  168. package/dist/lib/types/component/table/TablePanel.d.ts +2 -1
  169. package/dist/lib/types/component/table/cell/Cell.d.ts +1 -1
  170. package/dist/lib/types/component/table/cell/Header.d.ts +4 -0
  171. package/dist/lib/types/component/table/index.d.ts +2 -2
  172. package/dist/lib/types/component/tree/Tree.d.ts +2 -0
  173. package/dist/lib/types/core/Aria.d.ts +1 -3
  174. package/dist/lib/types/core/Body.d.ts +9 -2
  175. package/dist/lib/types/core/ClassStyleRules.d.ts +17 -0
  176. package/dist/lib/types/core/Component.d.ts +16 -2
  177. package/dist/lib/types/core/ComponentDefaults.d.ts +1 -0
  178. package/dist/lib/types/core/DOM.d.ts +15 -2
  179. package/dist/lib/types/core/DragChain.d.ts +3 -0
  180. package/dist/lib/types/core/ElementAttributes.d.ts +15 -0
  181. package/dist/lib/types/core/Favicon.d.ts +7 -0
  182. package/dist/lib/types/core/FirstLayoutGate.d.ts +5 -0
  183. package/dist/lib/types/core/PendingTransitions.d.ts +4 -0
  184. package/dist/lib/types/core/StyleTarget.d.ts +1 -0
  185. package/dist/lib/types/core/Theme.d.ts +1 -0
  186. package/dist/lib/types/core/Util.d.ts +3 -0
  187. package/dist/lib/types/core/index.d.ts +3 -0
  188. package/dist/lib/types/layout/Accordion.d.ts +0 -1
  189. package/dist/lib/types/layout/Border.d.ts +1 -0
  190. package/dist/lib/types/layout/FlowLayout.d.ts +4 -0
  191. package/dist/lib/types/layout/HFlow.d.ts +3 -0
  192. package/dist/lib/types/layout/Tab.d.ts +4 -1
  193. package/dist/lib/types/layout/Table.d.ts +1 -0
  194. package/dist/lib/types/layout/VFlow.d.ts +1 -0
  195. package/dist/lib/types/overlay/AbstractWindow.d.ts +2 -1
  196. package/dist/lib/types/overlay/Dock.d.ts +1 -0
  197. package/dist/lib/types/overlay/DropZoneOverlay.d.ts +1 -0
  198. package/dist/lib/types/overlay/Popover.d.ts +1 -1
  199. package/dist/lib/types/router/RoutePattern.d.ts +7 -0
  200. package/dist/lib/types/router/Router.d.ts +13 -2
  201. package/dist/lib/types/router/index.d.ts +1 -1
  202. package/dist/lib/validation.es.js +1 -1
  203. package/llms.txt +2 -1
  204. package/package.json +5 -9
  205. package/dist/lib/Border-BgaZkc1R.js +0 -2
  206. package/dist/lib/Border-BgaZkc1R.js.map +0 -1
  207. package/dist/lib/BoxLayout-DrKGfsup.js +0 -2
  208. package/dist/lib/BoxLayout-DrKGfsup.js.map +0 -1
  209. package/dist/lib/Button-U1rsP4v8.js +0 -2
  210. package/dist/lib/ComboBox-B9EDPu6T.js +0 -2
  211. package/dist/lib/ComboBox-B9EDPu6T.js.map +0 -1
  212. package/dist/lib/Component-DXf5a3g0.js +0 -2
  213. package/dist/lib/Component-DXf5a3g0.js.map +0 -1
  214. package/dist/lib/Container-D5H8VxJK.js +0 -2
  215. package/dist/lib/DOM-CGn7xyTw.js +0 -2
  216. package/dist/lib/DOM-CGn7xyTw.js.map +0 -1
  217. package/dist/lib/DragManager-CI4mZQFy.js +0 -2
  218. package/dist/lib/DragManager-CI4mZQFy.js.map +0 -1
  219. package/dist/lib/Glyph-KEf4nIv2.js +0 -2
  220. package/dist/lib/Glyph-KEf4nIv2.js.map +0 -1
  221. package/dist/lib/GridConstraints-DkLueyrf.js +0 -2
  222. package/dist/lib/GridConstraints-DkLueyrf.js.map +0 -1
  223. package/dist/lib/HBox-Ce0GTCJP.js +0 -2
  224. package/dist/lib/HBox-Ce0GTCJP.js.map +0 -1
  225. package/dist/lib/Header-BQIVpBte.js +0 -2
  226. package/dist/lib/Header-BQIVpBte.js.map +0 -1
  227. package/dist/lib/IconText-Bo4Qcnot.js +0 -2
  228. package/dist/lib/IconText-Bo4Qcnot.js.map +0 -1
  229. package/dist/lib/LayoutSizes-DU3qSq0w.js +0 -2
  230. package/dist/lib/LayoutSizes-DU3qSq0w.js.map +0 -1
  231. package/dist/lib/List-DtTVTyWW.js +0 -2
  232. package/dist/lib/List-DtTVTyWW.js.map +0 -1
  233. package/dist/lib/Menu-Dz4L7EKJ.js +0 -2
  234. package/dist/lib/Menu-Dz4L7EKJ.js.map +0 -1
  235. package/dist/lib/Position-A39T7-_1.js +0 -2
  236. package/dist/lib/Position-A39T7-_1.js.map +0 -1
  237. package/dist/lib/Scrollbar-BhtOjqkG.js +0 -2
  238. package/dist/lib/Scrollbar-BhtOjqkG.js.map +0 -1
  239. package/dist/lib/Slider-CdXm7E64.js +0 -2
  240. package/dist/lib/Slider-CdXm7E64.js.map +0 -1
  241. package/dist/lib/TabButton-CThevdY_.js +0 -2
  242. package/dist/lib/TabButton-CThevdY_.js.map +0 -1
  243. package/dist/lib/Text-gz6qjFfP.js +0 -2
  244. package/dist/lib/Text-gz6qjFfP.js.map +0 -1
  245. package/dist/lib/Tooltip-tkXDk5Bo.js +0 -3
  246. package/dist/lib/VBox-EIqw85Rh.js +0 -2
  247. package/dist/lib/VBox-EIqw85Rh.js.map +0 -1
  248. package/dist/lib/VirtualRowView-BxpHQ_u8.js +0 -2
  249. package/dist/lib/VirtualRowView-BxpHQ_u8.js.map +0 -1
  250. package/dist/lib/VirtualScroller-DwEEJE1_.js +0 -2
  251. package/dist/lib/VirtualScroller-DwEEJE1_.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{t as e}from"../DOM-CGn7xyTw.js";import{n as t}from"../Position-A39T7-_1.js";import{_ as n,f as r,h as i,m as a,n as o,t as s,y as c}from"../Component-DXf5a3g0.js";import{t as l}from"../ListenerBag-WPdKuuds.js";import{t as u}from"../Card-BVwOS8AG.js";import{EditorView as d,drawSelection as ee,highlightActiveLine as te,highlightActiveLineGutter as ne,keymap as re,lineNumbers as ie}from"@codemirror/view";import{Compartment as f,EditorState as p}from"@codemirror/state";import{defaultKeymap as ae,history as oe,historyKeymap as se,indentWithTab as ce}from"@codemirror/commands";import{HighlightStyle as le,bracketMatching as ue,indentOnInput as de,indentRange as fe,syntaxHighlighting as pe}from"@codemirror/language";import{tags as m}from"@lezer/highlight";import{$createParagraphNode as me,$getRoot as he,$getSelection as h,$isRangeSelection as g,FORMAT_TEXT_COMMAND as _,createEditor as ge}from"lexical";import{$convertFromMarkdownString as v,$convertToMarkdownString as y,BOLD_STAR as _e,CODE as ve,HEADING as ye,INLINE_CODE as be,ITALIC_STAR as xe,LINK as Se,ORDERED_LIST as Ce,QUOTE as we,UNORDERED_LIST as Te,registerMarkdownShortcuts as b}from"@lexical/markdown";import{$createHeadingNode as x,$createQuoteNode as S,HeadingNode as C,QuoteNode as w,registerRichText as T}from"@lexical/rich-text";import{INSERT_ORDERED_LIST_COMMAND as E,INSERT_UNORDERED_LIST_COMMAND as D,ListItemNode as O,ListNode as Ee,registerList as De}from"@lexical/list";import{$toggleLink as Oe,LinkNode as ke}from"@lexical/link";import{$createCodeNode as Ae,CodeHighlightNode as je,CodeNode as Me}from"@lexical/code";import{createEmptyHistoryState as Ne,registerHistory as Pe}from"@lexical/history";import{$createTableCellNode as Fe,$createTableNode as Ie,$createTableRowNode as Le,$deleteTableColumnAtSelection as Re,$deleteTableRowAtSelection as ze,$getTableCellNodeFromLexicalNode as Be,$insertTableColumnAtSelection as Ve,$insertTableRowAtSelection as He,$isTableCellNode as k,$isTableNode as Ue,$isTableRowNode as We,INSERT_TABLE_COMMAND as A,TableCellHeaderStates as j,TableCellNode as M,TableNode as N,TableRowNode as P,registerTableCellUnmergeTransform as Ge,registerTablePlugin as Ke,registerTableSelectionObserver as qe}from"@lexical/table";import{mergeRegister as Je}from"@lexical/utils";import{$setBlocksType as Ye}from"@lexical/selection";var F=new Map;function registerLanguage(e){F.set(e.id,e)}function getLanguage(e){return F.get(e)}function listLanguages(){return Array.from(F.values())}function formatWithPrettier(e,t){return async(n,r)=>{let[{formatWithCursor:i},a]=await Promise.all([import(`prettier/standalone`),t()]);return i(n,{parser:e,plugins:a,cursorOffset:r})}}var formatWithSql=async(e,t)=>{let{format:n}=await import(`sql-formatter`),r=n(e);return{formatted:r,cursorOffset:Math.min(t,r.length)}};async function loadBabelPlugins(){let[e,t]=await Promise.all([import(`prettier/plugins/babel`),import(`prettier/plugins/estree`)]);return[e,t]}registerLanguage({id:`javascript`,label:`JavaScript / TypeScript`,loadExtension:async()=>{let{javascript:e}=await import(`@codemirror/lang-javascript`);return e({typescript:!0})},loadFormatter:async()=>formatWithPrettier(`babel-ts`,loadBabelPlugins)}),registerLanguage({id:`json`,label:`JSON`,loadExtension:async()=>{let{json:e}=await import(`@codemirror/lang-json`);return e()},loadFormatter:async()=>formatWithPrettier(`json`,loadBabelPlugins)}),registerLanguage({id:`html`,label:`HTML`,loadExtension:async()=>{let{html:e}=await import(`@codemirror/lang-html`);return e()},loadFormatter:async()=>formatWithPrettier(`html`,async()=>[await import(`prettier/plugins/html`)])}),registerLanguage({id:`sql`,label:`SQL`,loadExtension:async()=>{let{sql:e}=await import(`@codemirror/lang-sql`);return e()},loadFormatter:async()=>formatWithSql}),registerLanguage({id:`markdown`,label:`Markdown`,loadExtension:async()=>{let{markdown:e}=await import(`@codemirror/lang-markdown`);return e()},loadFormatter:async()=>formatWithPrettier(`markdown`,async()=>[await import(`prettier/plugins/markdown`)])});var I=`#2563eb`,L=`#16a34a`,R=`#6b7280`,Xe=`#d97706`,Ze=`#7c3aed`,Qe=`#0891b2`,$e=`#be185d`;function codeEditorTheme(e){return[d.theme({"&":{height:`100%`,color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`},".cm-content":{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,caretColor:`var(--ts-ui-indicator-focus, #2563eb)`,cursor:`text`},".cm-gutters":{color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`,borderRight:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`},"&.cm-focused .cm-cursor":{borderLeftColor:`var(--ts-ui-indicator-focus, #2563eb)`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:`var(--ts-ui-indicator-selection, rgba(37, 99, 235, 0.25))`},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:`rgba(127, 127, 127, 0.08)`}},{dark:e}),pe(le.define([{tag:m.keyword,color:I},{tag:[m.string,m.special(m.string)],color:L},{tag:m.comment,color:R,fontStyle:`italic`},{tag:[m.number,m.bool,m.null],color:Xe},{tag:[m.definition(m.variableName),m.function(m.variableName)],color:Ze},{tag:m.typeName,color:Qe},{tag:[m.propertyName,m.attributeName],color:$e},{tag:m.tagName,color:I},{tag:[m.heading,m.heading1,m.heading2,m.heading3,m.heading4,m.heading5,m.heading6],color:I,fontWeight:`bold`},{tag:m.strong,fontWeight:`bold`},{tag:m.emphasis,fontStyle:`italic`},{tag:m.monospace,color:L},{tag:[m.link,m.url],color:I,textDecoration:`underline`},{tag:[m.quote,m.contentSeparator],color:R},{tag:m.processingInstruction,color:R}]))]}var et=300,tt=.16,nt=`var(--ts-ui-validation-error-border, #dc2626)`;function buildReadOnlyExtension(e){return p.readOnly.of(e)}var CodeEditor=class extends s{_view=null;_flashOverlay=null;_flashAnimation=null;_langCompartment=new f;_readOnlyCompartment=new f;_themeCompartment=new f;_listeners=new l;_unsubscribeTheme;_onWheelClaim=e=>this.claimScrollableWheel(e);constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._unsubscribeTheme=o.onThemeChange(()=>this.onThemeChange()),this.applyListeners(t?.listeners),this.onFirstLayout(()=>this.mount())}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.language!==void 0&&(this._options.language=e.language),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),this}getValue(){return this._view?this._view.state.doc.toString():this._options.value??``}setValue(e){return this._options.value=e,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:e}}),this}getLanguage(){return this._options.language??null}setLanguage(e){if(this._options.language=e??void 0,!this._view)return this;if(!e)return this._view.dispatch({effects:this._langCompartment.reconfigure([])}),this;let t=getLanguage(e);return t&&t.loadExtension().then(t=>{this._view&&this.getLanguage()===e&&this._view.dispatch({effects:this._langCompartment.reconfigure(t)})}),this}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._view&&this._view.dispatch({effects:this._readOnlyCompartment.reconfigure(buildReadOnlyExtension(e))}),this}focus(e=!1){return this._view?(this._view.focus(),this):super.focus(e)}moveCursorToEnd(){if(this._view){let e=this._view.state.doc.length;this._view.dispatch({selection:{anchor:e},scrollIntoView:!0})}return this}async format(){let e=this.getLanguage(),t=e?getLanguage(e):void 0;if(!t?.loadFormatter){this.reindentFallback();return}let n=await(await t.loadFormatter())(this.getValue(),this._view?this._view.state.selection.main.head:0);this._options.value=n.formatted,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:n.formatted},selection:{anchor:Math.min(n.cursorOffset,n.formatted.length)}})}reindentFallback(){this._view&&this._view.dispatch({changes:fe(this._view.state,0,this._view.state.doc.length)})}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,...t?[t]:[])}destructor(){this._flashAnimation?.cancel(),this._flashAnimation=null,this._unsubscribeTheme(),this._view&&c.removeSubtreeListener(this,`wheel`,this._onWheelClaim),this._view?.destroy(),this._view=null,super.destructor()}claimScrollableWheel(e){let t=this._view?.scrollDOM;if(!t)return;let n=t.scrollWidth>t.clientWidth,r=t.scrollHeight>t.clientHeight,i=e.deltaX!==0||e.shiftKey&&e.deltaY!==0;(e.deltaY!==0&&!e.shiftKey&&r||i&&n)&&a(e)}mount(){if(this._view)return;let t=this.getElement();if(!t)return;let n=o.getTheme().colorScheme===`dark`,r=[oe(),re.of([...ae,...se,ce]),ee(),ie(),te(),ne(),de(),ue(),this._readOnlyCompartment.of(buildReadOnlyExtension(this.getReadOnly())),this._themeCompartment.of(codeEditorTheme(n)),this._langCompartment.of([]),d.updateListener.of(e=>{e.docChanged&&(this._options.value=e.state.doc.toString(),this.emit(`change`,{value:this._options.value}))}),d.domEventHandlers({beforeinput:()=>this.onEditIntent(),paste:()=>this.onEditIntent(),drop:()=>this.onEditIntent()})],i=p.create({doc:this._options.value??``,extensions:r});this._view=e.sink.mountView(t,e=>new d({parent:e,state:i})),this._view&&(this.mountFlashOverlay(t),c.addSubtreeListener(this,`wheel`,this._onWheelClaim,{passive:!1}));let a=this.getLanguage();a&&this.setLanguage(a)}mountFlashOverlay(t){let n=this.trackHandle(e.sink.createElement(`div`));e.sink.apply(n,{style:{position:`absolute`,inset:`0`,pointerEvents:`none`,zIndex:`300`,backgroundColor:nt,opacity:`0`}}),e.sink.appendChild(t,n),this._flashOverlay=n}onThemeChange(){if(!this._view)return;let e=o.getTheme().colorScheme===`dark`;this._view.dispatch({effects:this._themeCompartment.reconfigure(codeEditorTheme(e))})}onEditIntent(){return this.getReadOnly()&&this.signalReadOnlyEdit(),!1}signalReadOnlyEdit(){this.emit(`readonlyedit`),this.flashReadOnly()}flashReadOnly(){this._flashOverlay&&(this._flashAnimation?.cancel(),this._flashAnimation=i.play(this._flashOverlay,{from:{opacity:String(tt)},to:{opacity:`0`},durationMs:et,properties:[`opacity`]}))}},z=r(CodeEditor),rt=/\|/;function splitTableRow(e){let t=e.trim();t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&!t.endsWith(`\\|`)&&(t=t.slice(0,-1));let n=[],r=``;for(let e=0;e<t.length;e+=1){let i=t[e];i===`\\`&&t[e+1]===`|`?(r+=`|`,e+=1):i===`|`?(n.push(r.trim()),r=``):r+=i}return n.push(r.trim()),n}function parseDelimiterRow(e){let t=splitTableRow(e),n=[];for(let e of t){if(!/^:?-+:?$/.test(e))return null;let t=e.startsWith(`:`),r=e.endsWith(`:`);t&&r?n.push(`center`):t?n.push(`left`):r?n.push(`right`):n.push(``)}return n}function formatDelimiterRow(e){return`| `+e.map(e=>{switch(e){case`left`:return`:---`;case`center`:return`:---:`;case`right`:return`---:`;default:return`---`}}).join(` | `)+` |`}function escapeCellText(e){return e.trim().replace(/\|/g,`\\|`).replace(/\n/g,`\\n`)}function createTableTransformer(e){return{dependencies:[N,P,M],regExpStart:rt,type:`multiline-element`,handleImportAfterStartMatch:({lines:t,rootNode:n,startLineIndex:r})=>{let i=t[r+1];if(i===void 0)return null;let a=parseDelimiterRow(i);if(a===null)return null;let o=splitTableRow(t[r]),s=o.length;if(a.length!==s)return null;let c=[o],l=r+1;for(let e=r+2;e<t.length;e+=1){let n=t[e];if(n.trim()===``)break;c.push(splitTableRow(n)),l=e}let u=Ie();return c.forEach((t,n)=>{let r=Le();for(let i=0;i<s;i+=1){let o=Fe(n===0?j.ROW:j.NO_STATUS);v((t[i]??``).replace(/\\n/g,`
2
- `),e(),o),o.setFormat(a[i]??``),r.append(o)}u.append(r)}),n.append(u),[!0,l]},replace:()=>!1,export:t=>{if(!Ue(t))return null;let n=t.getChildren().filter(We);if(n.length===0)return null;let renderRow=t=>`| `+t.getChildren().filter(k).map(t=>escapeCellText(y(e(),t))).join(` | `)+` |`,r=n[0],i=r.getChildren().filter(k).map(e=>e.getFormatType()),a=[renderRow(r),formatDelimiterRow(i)];for(let e=1;e<n.length;e+=1)a.push(renderRow(n[e]));return a.join(`
3
- `)}}}var B=[createTableTransformer(()=>B),ye,we,ve,Te,Ce,_e,xe,be,Se],it=[C,w,Ee,O,ke,Me,je,N,P,M],V=`ts-ui-mde-heading`,H=`ts-ui-mde-quote`,U=`ts-ui-mde-code`,W=`ts-ui-mde-inline-code`,G=`ts-ui-mde-list`,K=`ts-ui-mde-link`,q=`ts-ui-mde-bold`,J=`ts-ui-mde-italic`,Y=`ts-ui-mde-table`,at=`ts-ui-mde-table-row`,X=`ts-ui-mde-table-cell`,Z=`ts-ui-mde-table-cell-header`,Q=`ts-ui-mde-table-cell-selected`,$=!1;function ensureMarkdownEditorClassRules(){$||($=!0,new n({scope:`class`,name:V,styles:{fontWeight:`600`}}),new n({scope:`class`,name:H,styles:{borderLeft:`3px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,paddingLeft:`1em`,marginLeft:`0`}}),new n({scope:`class`,name:U,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.6em 0.8em`,whiteSpace:`pre-wrap`,display:`block`,margin:`1em 0`}}),new n({scope:`class`,name:W,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.1em 0.3em`}}),new n({scope:`class`,name:G,styles:{paddingLeft:`1.5em`}}),new n({scope:`class`,name:K,styles:{color:`var(--ts-ui-indicator-focus, #2563eb)`}}),new n({scope:`class`,name:q,styles:{fontWeight:`700`}}),new n({scope:`class`,name:J,styles:{fontStyle:`italic`}}),new n({scope:`class`,name:Y,styles:{borderCollapse:`collapse`}}),new n({scope:`class`,name:X,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`}}),new n({scope:`class`,name:Z,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`,fontWeight:`600`}}),new n({scope:`selector`,name:`.${X} > p`,styles:{margin:`0`}}),new n({scope:`class`,name:Q,styles:{backgroundColor:`var(--ts-ui-table-row-selected, rgba(30, 100, 200, 0.15))`}}))}var ot={heading:{h1:V,h2:V,h3:V,h4:V,h5:V,h6:V},quote:H,code:U,list:{ul:G,ol:G},text:{bold:q,italic:J,code:W},link:K,table:Y,tableRow:at,tableCell:X,tableCellHeader:Z,tableCellSelected:Q},st=300;function reportEditorError(e){throw e}function createBlockNode(e){switch(e){case`quote`:return S();case`code`:return Ae();case`paragraph`:return me();default:return x(e)}}function $selectionIsInTableCell(){let e=h();return g(e)?Be(e.anchor.getNode())!==null:!1}var WysiwygSurface=class extends s{_contentEditable=!1;_onReady;constructor(e){super(),this._onReady=e,this.setContentEditable(!0),this.setOverflow(`auto`),this.setPadding(new t(4,6,4,6)),this.setCursor(`text`),this.onFirstLayout(()=>this._onReady())}init(t){super.init(t);let n=t??this.getElement();return n&&e.sink.apply(n,{setAttr:{contenteditable:this._contentEditable?`true`:`false`}}),this}setContentEditable(e){return this._contentEditable=e,this.setElementAttribute(`contenteditable`,e?`true`:`false`),this}getContentEditable(){return this._contentEditable}mount(t){if(t.getRootElement())return;let n=this.getElement();n&&(ensureMarkdownEditorClassRules(),e.sink.mountView(n,e=>(t.setRootElement(e),e)))}},MarkdownEditor=class extends s{_editor=null;_unregister=null;_unregisterTableView=null;_listeners=new l;_card;_wysiwyg;_codeEditor;constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._card=new u,this.setLayoutManager(this._card),this._wysiwyg=new WysiwygSurface(()=>this.mountWysiwyg()),this._codeEditor=new z(this._options.value??``,{language:`markdown`,readOnly:this._options.readOnly??!1,listeners:{change:e=>this.handleCodeChange(e)}}),this.addComponent(this._wysiwyg),this.addComponent(this._codeEditor),this._card.setVisibleComponentId(this.getMode()===`source`?this._codeEditor.getId():this._wysiwyg.getId()),this.applyListeners(t?.listeners)}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),e.mode!==void 0&&(this._options.mode=e.mode),this}getMode(){return this._options.mode??`wysiwyg`}setMode(e){if(this.getMode()===e)return this;let t=this.getValue();return this._options.mode=e,e===`source`?(this._codeEditor.setValue(t),this._card.setVisibleComponentId(this._codeEditor.getId())):(this.ensureEditor().update(()=>v(t,B),{discrete:!0}),this._card.setVisibleComponentId(this._wysiwyg.getId())),this}getValue(){if(this.getMode()===`source`)return this._codeEditor.getValue();let e=this._editor;return e?e.read(()=>y(B)):this._options.value??``}setValue(e){return this.getMode()===`source`?(this._codeEditor.setValue(e),this):(this.ensureEditor().update(()=>v(e,B),{discrete:!0}),this)}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._editor?.setEditable(!e),this._codeEditor.setReadOnly(e),this}focus(e=!1){return this.getMode()===`source`?this._codeEditor.focus(e):this.ensureEditor().focus(),this}toggleBold(){return this.ensureEditor().dispatchCommand(_,`bold`),this}toggleItalic(){return this.ensureEditor().dispatchCommand(_,`italic`),this}toggleInlineCode(){return this.ensureEditor().dispatchCommand(_,`code`),this}toggleUnorderedList(){return this.ensureEditor().dispatchCommand(D,void 0),this}toggleOrderedList(){return this.ensureEditor().dispatchCommand(E,void 0),this}toggleLink(e){return this.ensureEditor().update(()=>{g(h())&&Oe(e)},{discrete:!0}),this}setBlockType(e){return this.ensureEditor().update(()=>{let t=h();g(t)&&Ye(t,()=>createBlockNode(e))},{discrete:!0}),this}insertTable(e,t){let n=this.ensureEditor();return n.update(()=>{g(h())||he().selectEnd()},{discrete:!0}),n.dispatchCommand(A,{columns:String(t),rows:String(e),includeHeaders:{rows:!0,columns:!1}}),this}insertTableRow(e=!0){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&He(e)},{discrete:!0}),this}deleteTableRow(){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&ze()},{discrete:!0}),this}insertTableColumn(e=!0){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Ve(e)},{discrete:!0}),this}deleteTableColumn(){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Re()},{discrete:!0}),this}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}setContentEditable(e){return this._wysiwyg.setContentEditable(e),this}getContentEditable(){return this._wysiwyg.getContentEditable()}destructor(){this._unregisterTableView?.(),this._unregister?.(),this._editor?.setRootElement(null),super.destructor()}ensureEditor(){if(!this._editor){let e=ge({nodes:it,theme:ot,onError:reportEditorError});e.update(()=>v(this._options.value??``,B),{discrete:!0}),e.setEditable(!(this._options.readOnly??!1)),this._unregister=Je(T(e),De(e),Ke(e),Ge(e),Pe(e,Ne(),st),b(e,B),e.registerUpdateListener(()=>this.handleChange())),this._editor=e}return this._editor}mountWysiwyg(){let e=this.ensureEditor();this._wysiwyg.mount(e),e.getRootElement()&&!this._unregisterTableView&&(this._unregisterTableView=qe(e,!0))}handleChange(){let e=this._editor;if(!e)return;let t=e.read(()=>y(B));t!==this._options.value&&(this._options.value=t,this.emit(`change`,{value:t}))}handleCodeChange(e){e.value!==this._options.value&&(this._options.value=e.value,this.emit(`change`,{value:e.value}))}},ct=r(MarkdownEditor);export{z as CodeEditor,ct as MarkdownEditor,getLanguage,listLanguages,registerLanguage};
1
+ import{t as e}from"../DOM-67StIm5G.js";import{n as t}from"../Position-Ck_KD4cR.js";import{b as n,h as r,r as i,t as a,v as o}from"../Component-DHqrPwAw.js";import{t as s}from"../ListenerBag-WPdKuuds.js";import{t as c}from"../Card-BdfbvOD_.js";import{EditorView as l,drawSelection as u,highlightActiveLine as ee,highlightActiveLineGutter as te,keymap as ne,lineNumbers as re}from"@codemirror/view";import{Compartment as d,EditorState as f}from"@codemirror/state";import{defaultKeymap as ie,history as p,historyKeymap as ae,indentWithTab as oe}from"@codemirror/commands";import{HighlightStyle as se,bracketMatching as ce,indentOnInput as le,indentRange as ue,syntaxHighlighting as de}from"@codemirror/language";import{tags as m}from"@lezer/highlight";import{$createParagraphNode as fe,$getRoot as pe,$getSelection as h,$isRangeSelection as g,FORMAT_TEXT_COMMAND as _,createEditor as me}from"lexical";import{$convertFromMarkdownString as v,$convertToMarkdownString as y,BOLD_STAR as he,CODE as ge,HEADING as _e,INLINE_CODE as ve,ITALIC_STAR as ye,LINK as be,ORDERED_LIST as xe,QUOTE as Se,UNORDERED_LIST as Ce,registerMarkdownShortcuts as we}from"@lexical/markdown";import{$createHeadingNode as b,$createQuoteNode as x,HeadingNode as S,QuoteNode as C,registerRichText as w}from"@lexical/rich-text";import{INSERT_ORDERED_LIST_COMMAND as T,INSERT_UNORDERED_LIST_COMMAND as E,ListItemNode as D,ListNode as O,registerList as k}from"@lexical/list";import{$toggleLink as Te,LinkNode as Ee}from"@lexical/link";import{$createCodeNode as De,CodeHighlightNode as Oe,CodeNode as ke}from"@lexical/code";import{createEmptyHistoryState as Ae,registerHistory as je}from"@lexical/history";import{$createTableCellNode as Me,$createTableNode as Ne,$createTableRowNode as Pe,$deleteTableColumnAtSelection as Fe,$deleteTableRowAtSelection as Ie,$getTableCellNodeFromLexicalNode as Le,$insertTableColumnAtSelection as Re,$insertTableRowAtSelection as ze,$isTableCellNode as A,$isTableNode as Be,$isTableRowNode as Ve,INSERT_TABLE_COMMAND as He,TableCellHeaderStates as j,TableCellNode as M,TableNode as N,TableRowNode as P,registerTableCellUnmergeTransform as Ue,registerTablePlugin as We,registerTableSelectionObserver as Ge}from"@lexical/table";import{mergeRegister as Ke}from"@lexical/utils";import{$setBlocksType as qe}from"@lexical/selection";var F=new Map;function registerLanguage(e){F.set(e.id,e)}function getLanguage(e){return F.get(e)}function listLanguages(){return Array.from(F.values())}function formatWithPrettier(e,t){return async(n,r)=>{let[{formatWithCursor:i},a]=await Promise.all([import(`prettier/standalone`),t()]);return i(n,{parser:e,plugins:a,cursorOffset:r})}}var formatWithSql=async(e,t)=>{let{format:n}=await import(`sql-formatter`),r=n(e);return{formatted:r,cursorOffset:Math.min(t,r.length)}};async function loadBabelPlugins(){let[e,t]=await Promise.all([import(`prettier/plugins/babel`),import(`prettier/plugins/estree`)]);return[e,t]}registerLanguage({id:`javascript`,label:`JavaScript / TypeScript`,loadExtension:async()=>{let{javascript:e}=await import(`@codemirror/lang-javascript`);return e({typescript:!0})},loadFormatter:async()=>formatWithPrettier(`babel-ts`,loadBabelPlugins)}),registerLanguage({id:`json`,label:`JSON`,loadExtension:async()=>{let{json:e}=await import(`@codemirror/lang-json`);return e()},loadFormatter:async()=>formatWithPrettier(`json`,loadBabelPlugins)}),registerLanguage({id:`html`,label:`HTML`,loadExtension:async()=>{let{html:e}=await import(`@codemirror/lang-html`);return e()},loadFormatter:async()=>formatWithPrettier(`html`,async()=>[await import(`prettier/plugins/html`)])}),registerLanguage({id:`sql`,label:`SQL`,loadExtension:async()=>{let{sql:e}=await import(`@codemirror/lang-sql`);return e()},loadFormatter:async()=>formatWithSql}),registerLanguage({id:`markdown`,label:`Markdown`,loadExtension:async()=>{let{markdown:e}=await import(`@codemirror/lang-markdown`);return e()},loadFormatter:async()=>formatWithPrettier(`markdown`,async()=>[await import(`prettier/plugins/markdown`)])});var I=`#2563eb`,L=`#16a34a`,R=`#6b7280`,Je=`#d97706`,Ye=`#7c3aed`,Xe=`#0891b2`,Ze=`#be185d`;function codeEditorTheme(e){return[l.theme({"&":{height:`100%`,color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`},".cm-content":{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,caretColor:`var(--ts-ui-indicator-focus, #2563eb)`,cursor:`text`},".cm-gutters":{color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`,borderRight:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`},"&.cm-focused .cm-cursor":{borderLeftColor:`var(--ts-ui-indicator-focus, #2563eb)`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:`var(--ts-ui-indicator-selection, rgba(37, 99, 235, 0.25))`},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:`rgba(127, 127, 127, 0.08)`}},{dark:e}),de(se.define([{tag:m.keyword,color:I},{tag:[m.string,m.special(m.string)],color:L},{tag:m.comment,color:R,fontStyle:`italic`},{tag:[m.number,m.bool,m.null],color:Je},{tag:[m.definition(m.variableName),m.function(m.variableName)],color:Ye},{tag:m.typeName,color:Xe},{tag:[m.propertyName,m.attributeName],color:Ze},{tag:m.tagName,color:I},{tag:[m.heading,m.heading1,m.heading2,m.heading3,m.heading4,m.heading5,m.heading6],color:I,fontWeight:`bold`},{tag:m.strong,fontWeight:`bold`},{tag:m.emphasis,fontStyle:`italic`},{tag:m.monospace,color:L},{tag:[m.link,m.url],color:I,textDecoration:`underline`},{tag:[m.quote,m.contentSeparator],color:R},{tag:m.processingInstruction,color:R}]))]}var Qe={overflow:`auto`},$e=`.cm-scroller`,et=300,tt=.16,nt=`var(--ts-ui-validation-error-border, #dc2626)`;function buildReadOnlyExtension(e){return f.readOnly.of(e)}var CodeEditor=class extends a{_view=null;_flashOverlay=null;_flashAnimation=null;_langCompartment=new d;_readOnlyCompartment=new d;_themeCompartment=new d;_listeners=new s;_unsubscribeTheme;_scrollElement=null;constructor(e,t,n){super(t,{...Qe,...n??{}}),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._unsubscribeTheme=i.onThemeChange(()=>this.onThemeChange()),this.applyListeners(t?.listeners),this.onFirstLayout(()=>this.mount())}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.language!==void 0&&(this._options.language=e.language),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),this}getValue(){return this._view?this._view.state.doc.toString():this._options.value??``}setValue(e){return this._options.value=e,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:e}}),this}getLanguage(){return this._options.language??null}setLanguage(e){if(this._options.language=e??void 0,!this._view)return this;if(!e)return this._view.dispatch({effects:this._langCompartment.reconfigure([])}),this;let t=getLanguage(e);return t&&t.loadExtension().then(t=>{this._view&&this.getLanguage()===e&&this._view.dispatch({effects:this._langCompartment.reconfigure(t)})}),this}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._view&&this._view.dispatch({effects:this._readOnlyCompartment.reconfigure(buildReadOnlyExtension(e))}),this}focus(e=!1){return this._view?(this._view.focus(),this):super.focus(e)}moveCursorToEnd(){if(this._view){let e=this._view.state.doc.length;this._view.dispatch({selection:{anchor:e},scrollIntoView:!0})}return this}async format(){let e=this.getLanguage(),t=e?getLanguage(e):void 0;if(!t?.loadFormatter){this.reindentFallback();return}let n=await(await t.loadFormatter())(this.getValue(),this._view?this._view.state.selection.main.head:0);this._options.value=n.formatted,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:n.formatted},selection:{anchor:Math.min(n.cursorOffset,n.formatted.length)}})}reindentFallback(){this._view&&this._view.dispatch({changes:ue(this._view.state,0,this._view.state.doc.length)})}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,...t?[t]:[])}destructor(){this._flashAnimation?.cancel(),this._flashAnimation=null,this._unsubscribeTheme(),this._scrollElement=null,this._view?.destroy(),this._view=null,super.destructor()}getScrollElement(){return this._scrollElement??super.getScrollElement()}mount(){if(this._view)return;let t=this.getElement();if(!t)return;let n=i.getTheme().colorScheme===`dark`,r=[p(),ne.of([...ie,...ae,oe]),u(),re(),ee(),te(),le(),ce(),this._readOnlyCompartment.of(buildReadOnlyExtension(this.getReadOnly())),this._themeCompartment.of(codeEditorTheme(n)),this._langCompartment.of([]),l.updateListener.of(e=>{e.docChanged&&(this._options.value=e.state.doc.toString(),this.emit(`change`,{value:this._options.value}))}),l.domEventHandlers({beforeinput:()=>this.onEditIntent(),paste:()=>this.onEditIntent(),drop:()=>this.onEditIntent()})],a=f.create({doc:this._options.value??``,extensions:r});this._view=e.sink.mountView(t,e=>new l({parent:e,state:a})),this._view&&(this.mountFlashOverlay(t),this._scrollElement=e.source.querySelector(t,$e));let o=this.getLanguage();o&&this.setLanguage(o)}mountFlashOverlay(t){let n=this.trackHandle(e.sink.createElement(`div`));e.sink.apply(n,{style:{position:`absolute`,inset:`0`,pointerEvents:`none`,zIndex:`300`,backgroundColor:nt,opacity:`0`}}),e.sink.appendChild(t,n),this._flashOverlay=n}onThemeChange(){if(!this._view)return;let e=i.getTheme().colorScheme===`dark`;this._view.dispatch({effects:this._themeCompartment.reconfigure(codeEditorTheme(e))})}onEditIntent(){return this.getReadOnly()&&this.signalReadOnlyEdit(),!1}signalReadOnlyEdit(){this.emit(`readonlyedit`),this.flashReadOnly()}flashReadOnly(){this._flashOverlay&&(this._flashAnimation?.cancel(),this._flashAnimation=o.play(this._flashOverlay,{from:{opacity:String(tt)},to:{opacity:`0`},durationMs:et,properties:[`opacity`]}))}},z=r(CodeEditor),rt=/\|/;function splitTableRow(e){let t=e.trim();t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&!t.endsWith(`\\|`)&&(t=t.slice(0,-1));let n=[],r=``;for(let e=0;e<t.length;e+=1){let i=t[e];i===`\\`&&t[e+1]===`|`?(r+=`|`,e+=1):i===`|`?(n.push(r.trim()),r=``):r+=i}return n.push(r.trim()),n}function parseDelimiterRow(e){let t=splitTableRow(e),n=[];for(let e of t){if(!/^:?-+:?$/.test(e))return null;let t=e.startsWith(`:`),r=e.endsWith(`:`);t&&r?n.push(`center`):t?n.push(`left`):r?n.push(`right`):n.push(``)}return n}function formatDelimiterRow(e){return`| `+e.map(e=>{switch(e){case`left`:return`:---`;case`center`:return`:---:`;case`right`:return`---:`;default:return`---`}}).join(` | `)+` |`}function escapeCellText(e){return e.trim().replace(/\|/g,`\\|`).replace(/\n/g,`\\n`)}function createTableTransformer(e){return{dependencies:[N,P,M],regExpStart:rt,type:`multiline-element`,handleImportAfterStartMatch:({lines:t,rootNode:n,startLineIndex:r})=>{let i=t[r+1];if(i===void 0)return null;let a=parseDelimiterRow(i);if(a===null)return null;let o=splitTableRow(t[r]),s=o.length;if(a.length!==s)return null;let c=[o],l=r+1;for(let e=r+2;e<t.length;e+=1){let n=t[e];if(n.trim()===``)break;c.push(splitTableRow(n)),l=e}let u=Ne();return c.forEach((t,n)=>{let r=Pe();for(let i=0;i<s;i+=1){let o=Me(n===0?j.ROW:j.NO_STATUS);v((t[i]??``).replace(/\\n/g,`
2
+ `),e(),o),o.setFormat(a[i]??``),r.append(o)}u.append(r)}),n.append(u),[!0,l]},replace:()=>!1,export:t=>{if(!Be(t))return null;let n=t.getChildren().filter(Ve);if(n.length===0)return null;let renderRow=t=>`| `+t.getChildren().filter(A).map(t=>escapeCellText(y(e(),t))).join(` | `)+` |`,r=n[0],i=r.getChildren().filter(A).map(e=>e.getFormatType()),a=[renderRow(r),formatDelimiterRow(i)];for(let e=1;e<n.length;e+=1)a.push(renderRow(n[e]));return a.join(`
3
+ `)}}}var B=[createTableTransformer(()=>B),_e,Se,ge,Ce,xe,he,ye,ve,be],it=[S,C,O,D,Ee,ke,Oe,N,P,M],V=`ts-ui-mde-heading`,H=`ts-ui-mde-quote`,U=`ts-ui-mde-code`,W=`ts-ui-mde-inline-code`,G=`ts-ui-mde-list`,K=`ts-ui-mde-link`,q=`ts-ui-mde-bold`,J=`ts-ui-mde-italic`,Y=`ts-ui-mde-table`,at=`ts-ui-mde-table-row`,X=`ts-ui-mde-table-cell`,Z=`ts-ui-mde-table-cell-header`,Q=`ts-ui-mde-table-cell-selected`,$=!1;function ensureMarkdownEditorClassRules(){$||($=!0,new n({scope:`class`,name:V,styles:{fontWeight:`600`}}),new n({scope:`class`,name:H,styles:{borderLeft:`3px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,paddingLeft:`1em`,marginLeft:`0`}}),new n({scope:`class`,name:U,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.6em 0.8em`,whiteSpace:`pre-wrap`,display:`block`,margin:`1em 0`}}),new n({scope:`class`,name:W,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.1em 0.3em`}}),new n({scope:`class`,name:G,styles:{paddingLeft:`1.5em`}}),new n({scope:`class`,name:K,styles:{color:`var(--ts-ui-indicator-focus, #2563eb)`}}),new n({scope:`class`,name:q,styles:{fontWeight:`700`}}),new n({scope:`class`,name:J,styles:{fontStyle:`italic`}}),new n({scope:`class`,name:Y,styles:{borderCollapse:`collapse`}}),new n({scope:`class`,name:X,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`}}),new n({scope:`class`,name:Z,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`,fontWeight:`600`}}),new n({scope:`selector`,name:`.${X} > p`,styles:{margin:`0`}}),new n({scope:`class`,name:Q,styles:{backgroundColor:`var(--ts-ui-table-row-selected, rgba(30, 100, 200, 0.15))`}}))}var ot={heading:{h1:V,h2:V,h3:V,h4:V,h5:V,h6:V},quote:H,code:U,list:{ul:G,ol:G},text:{bold:q,italic:J,code:W},link:K,table:Y,tableRow:at,tableCell:X,tableCellHeader:Z,tableCellSelected:Q},st=300;function reportEditorError(e){throw e}function createBlockNode(e){switch(e){case`quote`:return x();case`code`:return De();case`paragraph`:return fe();default:return b(e)}}function $selectionIsInTableCell(){let e=h();return g(e)?Le(e.anchor.getNode())!==null:!1}var WysiwygSurface=class extends a{_contentEditable=!1;_onReady;constructor(e){super(),this._onReady=e,this.setContentEditable(!0),this.setOverflow(`auto`),this.setPadding(new t(4,6,4,6)),this.setCursor(`text`),this.onFirstLayout(()=>this._onReady())}init(t){super.init(t);let n=t??this.getElement();return n&&e.sink.apply(n,{setAttr:{contenteditable:this._contentEditable?`true`:`false`}}),this}setContentEditable(e){return this._contentEditable=e,this.setElementAttribute(`contenteditable`,e?`true`:`false`),this}getContentEditable(){return this._contentEditable}mount(t){if(t.getRootElement())return;let n=this.getElement();n&&(ensureMarkdownEditorClassRules(),e.sink.mountView(n,e=>(t.setRootElement(e),e)))}},MarkdownEditor=class extends a{_editor=null;_unregister=null;_unregisterTableView=null;_listeners=new s;_card;_wysiwyg;_codeEditor;constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._card=new c,this.setLayoutManager(this._card),this._wysiwyg=new WysiwygSurface(()=>this.mountWysiwyg()),this._codeEditor=new z(this._options.value??``,{language:`markdown`,readOnly:this._options.readOnly??!1,listeners:{change:e=>this.handleCodeChange(e)}}),this.addComponent(this._wysiwyg),this.addComponent(this._codeEditor),this._card.setVisibleComponentId(this.getMode()===`source`?this._codeEditor.getId():this._wysiwyg.getId()),this.applyListeners(t?.listeners)}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),e.mode!==void 0&&(this._options.mode=e.mode),this}getMode(){return this._options.mode??`wysiwyg`}setMode(e){if(this.getMode()===e)return this;let t=this.getValue();return this._options.mode=e,e===`source`?(this._codeEditor.setValue(t),this._card.setVisibleComponentId(this._codeEditor.getId())):(this.ensureEditor().update(()=>v(t,B),{discrete:!0}),this._card.setVisibleComponentId(this._wysiwyg.getId())),this}getValue(){if(this.getMode()===`source`)return this._codeEditor.getValue();let e=this._editor;return e?e.read(()=>y(B)):this._options.value??``}setValue(e){return this.getMode()===`source`?(this._codeEditor.setValue(e),this):(this.ensureEditor().update(()=>v(e,B),{discrete:!0}),this)}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._editor?.setEditable(!e),this._codeEditor.setReadOnly(e),this}focus(e=!1){return this.getMode()===`source`?this._codeEditor.focus(e):this.ensureEditor().focus(),this}toggleBold(){return this.ensureEditor().dispatchCommand(_,`bold`),this}toggleItalic(){return this.ensureEditor().dispatchCommand(_,`italic`),this}toggleInlineCode(){return this.ensureEditor().dispatchCommand(_,`code`),this}toggleUnorderedList(){return this.ensureEditor().dispatchCommand(E,void 0),this}toggleOrderedList(){return this.ensureEditor().dispatchCommand(T,void 0),this}toggleLink(e){return this.ensureEditor().update(()=>{g(h())&&Te(e)},{discrete:!0}),this}setBlockType(e){return this.ensureEditor().update(()=>{let t=h();g(t)&&qe(t,()=>createBlockNode(e))},{discrete:!0}),this}insertTable(e,t){let n=this.ensureEditor();return n.update(()=>{g(h())||pe().selectEnd()},{discrete:!0}),n.dispatchCommand(He,{columns:String(t),rows:String(e),includeHeaders:{rows:!0,columns:!1}}),this}insertTableRow(e=!0){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&ze(e)},{discrete:!0}),this}deleteTableRow(){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Ie()},{discrete:!0}),this}insertTableColumn(e=!0){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Re(e)},{discrete:!0}),this}deleteTableColumn(){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Fe()},{discrete:!0}),this}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}setContentEditable(e){return this._wysiwyg.setContentEditable(e),this}getContentEditable(){return this._wysiwyg.getContentEditable()}destructor(){this._unregisterTableView?.(),this._unregister?.(),this._editor?.setRootElement(null),super.destructor()}ensureEditor(){if(!this._editor){let e=me({nodes:it,theme:ot,onError:reportEditorError});e.update(()=>v(this._options.value??``,B),{discrete:!0}),e.setEditable(!(this._options.readOnly??!1)),this._unregister=Ke(w(e),k(e),We(e),Ue(e),je(e,Ae(),st),we(e,B),e.registerUpdateListener(()=>this.handleChange())),this._editor=e}return this._editor}mountWysiwyg(){let e=this.ensureEditor();this._wysiwyg.mount(e),e.getRootElement()&&!this._unregisterTableView&&(this._unregisterTableView=Ge(e,!0))}handleChange(){let e=this._editor;if(!e)return;let t=e.read(()=>y(B));t!==this._options.value&&(this._options.value=t,this.emit(`change`,{value:t}))}handleCodeChange(e){e.value!==this._options.value&&(this._options.value=e.value,this.emit(`change`,{value:e.value}))}},ct=r(MarkdownEditor);export{z as CodeEditor,ct as MarkdownEditor,getLanguage,listLanguages,registerLanguage};
4
4
  //# sourceMappingURL=editor.es.js.map