@aquera/nile-elements 1.9.6 → 1.9.7

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 (510) hide show
  1. package/README.md +3 -0
  2. package/dist/index-178e1e57.cjs.js +2 -0
  3. package/dist/index-178e1e57.cjs.js.map +1 -0
  4. package/dist/index-1faa963c.esm.js +1 -0
  5. package/dist/index-249de90a.esm.js +1 -0
  6. package/dist/index-353172ed.esm.js +1 -0
  7. package/dist/index-6f3fa4ab.esm.js +1 -0
  8. package/dist/index-89c520e9.cjs.js +5 -0
  9. package/dist/index-89c520e9.cjs.js.map +1 -0
  10. package/dist/index-920675c4.esm.js +1 -0
  11. package/dist/index-b387a9f4.cjs.js +2 -0
  12. package/dist/index-b387a9f4.cjs.js.map +1 -0
  13. package/dist/index-cc1385e0.cjs.js +2 -0
  14. package/dist/index-cc1385e0.cjs.js.map +1 -0
  15. package/dist/index-dedc38a6.esm.js +1 -0
  16. package/dist/index-df196058.cjs.js +2 -0
  17. package/dist/index-df196058.cjs.js.map +1 -0
  18. package/dist/index-f956f56d.cjs.js +7 -0
  19. package/dist/index-f956f56d.cjs.js.map +1 -0
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.esm.js +1 -1
  22. package/dist/index.js +3595 -629
  23. package/dist/internal/glyph.cjs.js +2 -0
  24. package/dist/internal/glyph.cjs.js.map +1 -0
  25. package/dist/internal/glyph.esm.js +5 -0
  26. package/dist/nile-auto-complete/index.cjs.js +1 -1
  27. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  28. package/dist/nile-auto-complete/portal-manager.cjs.js +1 -1
  29. package/dist/nile-auto-complete/portal-utils.cjs.js +1 -1
  30. package/dist/nile-code-editor/extensionSetup.cjs.js +7 -7
  31. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  32. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  33. package/dist/nile-code-editor/index.cjs.js +1 -1
  34. package/dist/nile-code-editor/index.esm.js +1 -1
  35. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  36. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  37. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  38. package/dist/nile-color-picker/index.cjs.js +1 -1
  39. package/dist/nile-color-picker/nile-color-picker.cjs.js +1 -1
  40. package/dist/nile-combobox/index.cjs.js +1 -1
  41. package/dist/nile-combobox/index.esm.js +1 -1
  42. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  43. package/dist/nile-combobox/nile-combobox.esm.js +1 -1
  44. package/dist/nile-combobox/portal-manager.cjs.js +1 -1
  45. package/dist/nile-context-menu/index.cjs.js +1 -1
  46. package/dist/nile-context-menu/nile-context-menu.cjs.js +1 -1
  47. package/dist/nile-context-submenu/index.cjs.js +1 -1
  48. package/dist/nile-context-submenu/nile-context-submenu.cjs.js +1 -1
  49. package/dist/nile-detail/index.cjs.js +1 -1
  50. package/dist/nile-detail/index.esm.js +1 -1
  51. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  52. package/dist/nile-detail/nile-detail.esm.js +1 -1
  53. package/dist/nile-dropdown/index.cjs.js +1 -1
  54. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  55. package/dist/nile-dropdown/portal-manager.cjs.js +1 -1
  56. package/dist/nile-file-upload/index.cjs.js +1 -1
  57. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  58. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +1 -1
  59. package/dist/nile-floating-panel/index.cjs.js +1 -1
  60. package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
  61. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  62. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  63. package/dist/nile-markdown-editor/index.cjs.js +1 -1
  64. package/dist/nile-markdown-editor/nile-markdown-editor.cjs.js +1 -1
  65. package/dist/nile-popover/index.cjs.js +1 -1
  66. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  67. package/dist/nile-popover/portal-manager.cjs.js +1 -1
  68. package/dist/nile-popup/index.cjs.js +1 -1
  69. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  70. package/dist/nile-select/index.cjs.js +1 -1
  71. package/dist/nile-select/nile-select.cjs.js +1 -1
  72. package/dist/nile-select/portal-manager.cjs.js +1 -1
  73. package/dist/nile-side-bar-action/index.cjs.js +1 -1
  74. package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +1 -1
  75. package/dist/nile-side-bar-action/portal-manager.cjs.js +1 -1
  76. package/dist/nile-tooltip/index.cjs.js +1 -1
  77. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  78. package/dist/nile-virtual-select/index.cjs.js +1 -1
  79. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  80. package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
  81. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  82. package/dist/nile-wysiwyg-editor/emoji.cjs.js +2 -0
  83. package/dist/nile-wysiwyg-editor/emoji.cjs.js.map +1 -0
  84. package/dist/nile-wysiwyg-editor/emoji.esm.js +1 -0
  85. package/dist/nile-wysiwyg-editor/engine/commands.cjs.js +2 -0
  86. package/dist/nile-wysiwyg-editor/engine/commands.cjs.js.map +1 -0
  87. package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -0
  88. package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +2 -0
  89. package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js.map +1 -0
  90. package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -0
  91. package/dist/nile-wysiwyg-editor/engine/export.cjs.js +2 -0
  92. package/dist/nile-wysiwyg-editor/engine/export.cjs.js.map +1 -0
  93. package/dist/nile-wysiwyg-editor/engine/export.esm.js +1 -0
  94. package/dist/nile-wysiwyg-editor/engine/index.cjs.js +2 -0
  95. package/dist/nile-wysiwyg-editor/engine/index.cjs.js.map +1 -0
  96. package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -0
  97. package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js +2 -0
  98. package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js.map +1 -0
  99. package/dist/nile-wysiwyg-editor/engine/inputrules.esm.js +1 -0
  100. package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js +2 -0
  101. package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js.map +1 -0
  102. package/dist/nile-wysiwyg-editor/engine/keymap.esm.js +1 -0
  103. package/dist/nile-wysiwyg-editor/engine/markdown-parse.cjs.js +2 -0
  104. package/dist/nile-wysiwyg-editor/engine/markdown-parse.cjs.js.map +1 -0
  105. package/dist/nile-wysiwyg-editor/engine/markdown-parse.esm.js +1 -0
  106. package/dist/nile-wysiwyg-editor/engine/markdown.cjs.js +2 -0
  107. package/dist/nile-wysiwyg-editor/engine/markdown.cjs.js.map +1 -0
  108. package/dist/nile-wysiwyg-editor/engine/markdown.esm.js +1 -0
  109. package/dist/nile-wysiwyg-editor/engine/office-paste.cjs.js +2 -0
  110. package/dist/nile-wysiwyg-editor/engine/office-paste.cjs.js.map +1 -0
  111. package/dist/nile-wysiwyg-editor/engine/office-paste.esm.js +1 -0
  112. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +2 -0
  113. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -0
  114. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -0
  115. package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js +2 -0
  116. package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js.map +1 -0
  117. package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.esm.js +1 -0
  118. package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js +2 -0
  119. package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js.map +1 -0
  120. package/dist/nile-wysiwyg-editor/engine/plugins/embeds.esm.js +1 -0
  121. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js +2 -0
  122. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js.map +1 -0
  123. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.esm.js +1 -0
  124. package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js +2 -0
  125. package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js.map +1 -0
  126. package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.esm.js +1 -0
  127. package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js +2 -0
  128. package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js.map +1 -0
  129. package/dist/nile-wysiwyg-editor/engine/plugins/image-view.esm.js +1 -0
  130. package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js +2 -0
  131. package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js.map +1 -0
  132. package/dist/nile-wysiwyg-editor/engine/plugins/image.esm.js +1 -0
  133. package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js +2 -0
  134. package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js.map +1 -0
  135. package/dist/nile-wysiwyg-editor/engine/plugins/link.esm.js +1 -0
  136. package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js +2 -0
  137. package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js.map +1 -0
  138. package/dist/nile-wysiwyg-editor/engine/plugins/math-view.esm.js +1 -0
  139. package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js +2 -0
  140. package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js.map +1 -0
  141. package/dist/nile-wysiwyg-editor/engine/plugins/max-length.esm.js +1 -0
  142. package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js +2 -0
  143. package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js.map +1 -0
  144. package/dist/nile-wysiwyg-editor/engine/plugins/paste.esm.js +1 -0
  145. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js +2 -0
  146. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js.map +1 -0
  147. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.esm.js +1 -0
  148. package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js +2 -0
  149. package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js.map +1 -0
  150. package/dist/nile-wysiwyg-editor/engine/plugins/single-line.esm.js +1 -0
  151. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js +2 -0
  152. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js.map +1 -0
  153. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.esm.js +1 -0
  154. package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js +2 -0
  155. package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js.map +1 -0
  156. package/dist/nile-wysiwyg-editor/engine/plugins/tables.esm.js +1 -0
  157. package/dist/nile-wysiwyg-editor/engine/plugins/task-list.cjs.js +2 -0
  158. package/dist/nile-wysiwyg-editor/engine/plugins/task-list.cjs.js.map +1 -0
  159. package/dist/nile-wysiwyg-editor/engine/plugins/task-list.esm.js +1 -0
  160. package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js +2 -0
  161. package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js.map +1 -0
  162. package/dist/nile-wysiwyg-editor/engine/sanitize.esm.js +1 -0
  163. package/dist/nile-wysiwyg-editor/engine/schema.cjs.js +2 -0
  164. package/dist/nile-wysiwyg-editor/engine/schema.cjs.js.map +1 -0
  165. package/dist/nile-wysiwyg-editor/engine/schema.esm.js +1 -0
  166. package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js +2 -0
  167. package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js.map +1 -0
  168. package/dist/nile-wysiwyg-editor/engine/selection-state.esm.js +1 -0
  169. package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js +2 -0
  170. package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js.map +1 -0
  171. package/dist/nile-wysiwyg-editor/engine/serializer.esm.js +1 -0
  172. package/dist/nile-wysiwyg-editor/index.cjs.js +2 -0
  173. package/dist/nile-wysiwyg-editor/index.cjs.js.map +1 -0
  174. package/dist/nile-wysiwyg-editor/index.esm.js +1 -0
  175. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +2 -0
  176. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -0
  177. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +2 -0
  178. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -0
  179. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +780 -0
  180. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +97 -0
  181. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js +2 -0
  182. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js.map +1 -0
  183. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.esm.js +1 -0
  184. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js +2 -0
  185. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js.map +1 -0
  186. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +2 -0
  187. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -0
  188. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +244 -0
  189. package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.esm.js +137 -0
  190. package/dist/nile-wysiwyg-editor/types.cjs.js +2 -0
  191. package/dist/nile-wysiwyg-editor/types.cjs.js.map +1 -0
  192. package/dist/nile-wysiwyg-editor/types.esm.js +1 -0
  193. package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +2 -0
  194. package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -0
  195. package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +97 -0
  196. package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +2 -0
  197. package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -0
  198. package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +67 -0
  199. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +2 -0
  200. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -0
  201. package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +65 -0
  202. package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +2 -0
  203. package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -0
  204. package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +64 -0
  205. package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +2 -0
  206. package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -0
  207. package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +68 -0
  208. package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +2 -0
  209. package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -0
  210. package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +96 -0
  211. package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +2 -0
  212. package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -0
  213. package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +112 -0
  214. package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +2 -0
  215. package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -0
  216. package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +64 -0
  217. package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +2 -0
  218. package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -0
  219. package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +171 -0
  220. package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +2 -0
  221. package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -0
  222. package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +90 -0
  223. package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +2 -0
  224. package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -0
  225. package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +114 -0
  226. package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +2 -0
  227. package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -0
  228. package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +80 -0
  229. package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +2 -0
  230. package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -0
  231. package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +92 -0
  232. package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +2 -0
  233. package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -0
  234. package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +147 -0
  235. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +2 -0
  236. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -0
  237. package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +79 -0
  238. package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +2 -0
  239. package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -0
  240. package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +96 -0
  241. package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +2 -0
  242. package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -0
  243. package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +67 -0
  244. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +2 -0
  245. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -0
  246. package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +100 -0
  247. package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +2 -0
  248. package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -0
  249. package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +58 -0
  250. package/dist/src/index.d.ts +24 -0
  251. package/dist/src/index.js +19 -0
  252. package/dist/src/index.js.map +1 -1
  253. package/dist/src/internal/glyph.d.ts +6 -0
  254. package/dist/src/internal/glyph.js +13 -0
  255. package/dist/src/internal/glyph.js.map +1 -0
  256. package/dist/src/nile-wysiwyg-editor/emoji.d.ts +5 -0
  257. package/dist/src/nile-wysiwyg-editor/emoji.js +138 -0
  258. package/dist/src/nile-wysiwyg-editor/emoji.js.map +1 -0
  259. package/dist/src/nile-wysiwyg-editor/engine/commands.d.ts +69 -0
  260. package/dist/src/nile-wysiwyg-editor/engine/commands.js +863 -0
  261. package/dist/src/nile-wysiwyg-editor/engine/commands.js.map +1 -0
  262. package/dist/src/nile-wysiwyg-editor/engine/create-state.d.ts +35 -0
  263. package/dist/src/nile-wysiwyg-editor/engine/create-state.js +67 -0
  264. package/dist/src/nile-wysiwyg-editor/engine/create-state.js.map +1 -0
  265. package/dist/src/nile-wysiwyg-editor/engine/export.d.ts +38 -0
  266. package/dist/src/nile-wysiwyg-editor/engine/export.js +208 -0
  267. package/dist/src/nile-wysiwyg-editor/engine/export.js.map +1 -0
  268. package/dist/src/nile-wysiwyg-editor/engine/export.test.d.ts +1 -0
  269. package/dist/src/nile-wysiwyg-editor/engine/export.test.js +96 -0
  270. package/dist/src/nile-wysiwyg-editor/engine/export.test.js.map +1 -0
  271. package/dist/src/nile-wysiwyg-editor/engine/index.d.ts +37 -0
  272. package/dist/src/nile-wysiwyg-editor/engine/index.js +29 -0
  273. package/dist/src/nile-wysiwyg-editor/engine/index.js.map +1 -0
  274. package/dist/src/nile-wysiwyg-editor/engine/inputrules.d.ts +12 -0
  275. package/dist/src/nile-wysiwyg-editor/engine/inputrules.js +144 -0
  276. package/dist/src/nile-wysiwyg-editor/engine/inputrules.js.map +1 -0
  277. package/dist/src/nile-wysiwyg-editor/engine/keymap.d.ts +15 -0
  278. package/dist/src/nile-wysiwyg-editor/engine/keymap.js +94 -0
  279. package/dist/src/nile-wysiwyg-editor/engine/keymap.js.map +1 -0
  280. package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.d.ts +22 -0
  281. package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.js +287 -0
  282. package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.js.map +1 -0
  283. package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.test.d.ts +1 -0
  284. package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.test.js +106 -0
  285. package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.test.js.map +1 -0
  286. package/dist/src/nile-wysiwyg-editor/engine/markdown.d.ts +10 -0
  287. package/dist/src/nile-wysiwyg-editor/engine/markdown.js +162 -0
  288. package/dist/src/nile-wysiwyg-editor/engine/markdown.js.map +1 -0
  289. package/dist/src/nile-wysiwyg-editor/engine/office-paste.d.ts +13 -0
  290. package/dist/src/nile-wysiwyg-editor/engine/office-paste.js +182 -0
  291. package/dist/src/nile-wysiwyg-editor/engine/office-paste.js.map +1 -0
  292. package/dist/src/nile-wysiwyg-editor/engine/plugins/code-highlight.d.ts +10 -0
  293. package/dist/src/nile-wysiwyg-editor/engine/plugins/code-highlight.js +165 -0
  294. package/dist/src/nile-wysiwyg-editor/engine/plugins/code-highlight.js.map +1 -0
  295. package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.d.ts +17 -0
  296. package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js +69 -0
  297. package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js.map +1 -0
  298. package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.d.ts +17 -0
  299. package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js +96 -0
  300. package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js.map +1 -0
  301. package/dist/src/nile-wysiwyg-editor/engine/plugins/find-replace.d.ts +26 -0
  302. package/dist/src/nile-wysiwyg-editor/engine/plugins/find-replace.js +123 -0
  303. package/dist/src/nile-wysiwyg-editor/engine/plugins/find-replace.js.map +1 -0
  304. package/dist/src/nile-wysiwyg-editor/engine/plugins/format-painter.d.ts +28 -0
  305. package/dist/src/nile-wysiwyg-editor/engine/plugins/format-painter.js +72 -0
  306. package/dist/src/nile-wysiwyg-editor/engine/plugins/format-painter.js.map +1 -0
  307. package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.d.ts +41 -0
  308. package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js +176 -0
  309. package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js.map +1 -0
  310. package/dist/src/nile-wysiwyg-editor/engine/plugins/image.d.ts +15 -0
  311. package/dist/src/nile-wysiwyg-editor/engine/plugins/image.js +64 -0
  312. package/dist/src/nile-wysiwyg-editor/engine/plugins/image.js.map +1 -0
  313. package/dist/src/nile-wysiwyg-editor/engine/plugins/link.d.ts +11 -0
  314. package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js +42 -0
  315. package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js.map +1 -0
  316. package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.d.ts +18 -0
  317. package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js +46 -0
  318. package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js.map +1 -0
  319. package/dist/src/nile-wysiwyg-editor/engine/plugins/max-length.d.ts +7 -0
  320. package/dist/src/nile-wysiwyg-editor/engine/plugins/max-length.js +26 -0
  321. package/dist/src/nile-wysiwyg-editor/engine/plugins/max-length.js.map +1 -0
  322. package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.d.ts +31 -0
  323. package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js +55 -0
  324. package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js.map +1 -0
  325. package/dist/src/nile-wysiwyg-editor/engine/plugins/placeholder.d.ts +7 -0
  326. package/dist/src/nile-wysiwyg-editor/engine/plugins/placeholder.js +25 -0
  327. package/dist/src/nile-wysiwyg-editor/engine/plugins/placeholder.js.map +1 -0
  328. package/dist/src/nile-wysiwyg-editor/engine/plugins/single-line.d.ts +10 -0
  329. package/dist/src/nile-wysiwyg-editor/engine/plugins/single-line.js +48 -0
  330. package/dist/src/nile-wysiwyg-editor/engine/plugins/single-line.js.map +1 -0
  331. package/dist/src/nile-wysiwyg-editor/engine/plugins/suggestions.d.ts +29 -0
  332. package/dist/src/nile-wysiwyg-editor/engine/plugins/suggestions.js +87 -0
  333. package/dist/src/nile-wysiwyg-editor/engine/plugins/suggestions.js.map +1 -0
  334. package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.d.ts +8 -0
  335. package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js +11 -0
  336. package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js.map +1 -0
  337. package/dist/src/nile-wysiwyg-editor/engine/plugins/task-list.d.ts +16 -0
  338. package/dist/src/nile-wysiwyg-editor/engine/plugins/task-list.js +49 -0
  339. package/dist/src/nile-wysiwyg-editor/engine/plugins/task-list.js.map +1 -0
  340. package/dist/src/nile-wysiwyg-editor/engine/pm.test.d.ts +1 -0
  341. package/dist/src/nile-wysiwyg-editor/engine/pm.test.js +883 -0
  342. package/dist/src/nile-wysiwyg-editor/engine/pm.test.js.map +1 -0
  343. package/dist/src/nile-wysiwyg-editor/engine/productivity.test.d.ts +1 -0
  344. package/dist/src/nile-wysiwyg-editor/engine/productivity.test.js +129 -0
  345. package/dist/src/nile-wysiwyg-editor/engine/productivity.test.js.map +1 -0
  346. package/dist/src/nile-wysiwyg-editor/engine/sanitize.d.ts +13 -0
  347. package/dist/src/nile-wysiwyg-editor/engine/sanitize.js +155 -0
  348. package/dist/src/nile-wysiwyg-editor/engine/sanitize.js.map +1 -0
  349. package/dist/src/nile-wysiwyg-editor/engine/schema.d.ts +20 -0
  350. package/dist/src/nile-wysiwyg-editor/engine/schema.js +823 -0
  351. package/dist/src/nile-wysiwyg-editor/engine/schema.js.map +1 -0
  352. package/dist/src/nile-wysiwyg-editor/engine/selection-state.d.ts +70 -0
  353. package/dist/src/nile-wysiwyg-editor/engine/selection-state.js +138 -0
  354. package/dist/src/nile-wysiwyg-editor/engine/selection-state.js.map +1 -0
  355. package/dist/src/nile-wysiwyg-editor/engine/serializer.d.ts +18 -0
  356. package/dist/src/nile-wysiwyg-editor/engine/serializer.js +63 -0
  357. package/dist/src/nile-wysiwyg-editor/engine/serializer.js.map +1 -0
  358. package/dist/src/nile-wysiwyg-editor/index.d.ts +3 -0
  359. package/dist/src/nile-wysiwyg-editor/index.js +3 -0
  360. package/dist/src/nile-wysiwyg-editor/index.js.map +1 -0
  361. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.d.ts +1 -0
  362. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +782 -0
  363. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -0
  364. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +364 -0
  365. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +2038 -0
  366. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -0
  367. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.d.ts +1 -0
  368. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js +636 -0
  369. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js.map +1 -0
  370. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.d.ts +1 -0
  371. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js +2 -0
  372. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js.map +1 -0
  373. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.d.ts +6 -0
  374. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +251 -0
  375. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -0
  376. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.d.ts +41 -0
  377. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js +700 -0
  378. package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js.map +1 -0
  379. package/dist/src/nile-wysiwyg-editor/types.d.ts +49 -0
  380. package/dist/src/nile-wysiwyg-editor/types.js +8 -0
  381. package/dist/src/nile-wysiwyg-editor/types.js.map +1 -0
  382. package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.d.ts +20 -0
  383. package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +159 -0
  384. package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -0
  385. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.d.ts +21 -0
  386. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +125 -0
  387. package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -0
  388. package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.d.ts +18 -0
  389. package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js +107 -0
  390. package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js.map +1 -0
  391. package/dist/src/nile-wysiwyg-editor/ui/embed-menu.d.ts +19 -0
  392. package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +123 -0
  393. package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -0
  394. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.d.ts +27 -0
  395. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +146 -0
  396. package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -0
  397. package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.d.ts +21 -0
  398. package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +154 -0
  399. package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -0
  400. package/dist/src/nile-wysiwyg-editor/ui/find-replace.d.ts +26 -0
  401. package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +178 -0
  402. package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -0
  403. package/dist/src/nile-wysiwyg-editor/ui/image-menu.d.ts +18 -0
  404. package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +129 -0
  405. package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -0
  406. package/dist/src/nile-wysiwyg-editor/ui/image-panel.d.ts +56 -0
  407. package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +349 -0
  408. package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -0
  409. package/dist/src/nile-wysiwyg-editor/ui/insert-menu.d.ts +25 -0
  410. package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +142 -0
  411. package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -0
  412. package/dist/src/nile-wysiwyg-editor/ui/link-editor.d.ts +30 -0
  413. package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +189 -0
  414. package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -0
  415. package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.d.ts +24 -0
  416. package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +144 -0
  417. package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -0
  418. package/dist/src/nile-wysiwyg-editor/ui/math-panel.d.ts +31 -0
  419. package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +172 -0
  420. package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -0
  421. package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.d.ts +30 -0
  422. package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +296 -0
  423. package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -0
  424. package/dist/src/nile-wysiwyg-editor/ui/source-view.d.ts +19 -0
  425. package/dist/src/nile-wysiwyg-editor/ui/source-view.js +120 -0
  426. package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -0
  427. package/dist/src/nile-wysiwyg-editor/ui/special-chars.d.ts +20 -0
  428. package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +199 -0
  429. package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -0
  430. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.d.ts +31 -0
  431. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +133 -0
  432. package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -0
  433. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.d.ts +23 -0
  434. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +177 -0
  435. package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -0
  436. package/dist/src/nile-wysiwyg-editor/ui/table-menu.d.ts +16 -0
  437. package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +101 -0
  438. package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -0
  439. package/dist/src/version.js +1 -1
  440. package/dist/src/version.js.map +1 -1
  441. package/dist/tsconfig.tsbuildinfo +1 -1
  442. package/package.json +18 -2
  443. package/src/index.ts +57 -1
  444. package/src/internal/glyph.ts +13 -0
  445. package/src/nile-wysiwyg-editor/emoji.ts +137 -0
  446. package/src/nile-wysiwyg-editor/engine/commands.ts +1035 -0
  447. package/src/nile-wysiwyg-editor/engine/create-state.ts +117 -0
  448. package/src/nile-wysiwyg-editor/engine/export.test.ts +113 -0
  449. package/src/nile-wysiwyg-editor/engine/export.ts +242 -0
  450. package/src/nile-wysiwyg-editor/engine/index.ts +69 -0
  451. package/src/nile-wysiwyg-editor/engine/inputrules.ts +169 -0
  452. package/src/nile-wysiwyg-editor/engine/keymap.ts +146 -0
  453. package/src/nile-wysiwyg-editor/engine/markdown-parse.test.ts +148 -0
  454. package/src/nile-wysiwyg-editor/engine/markdown-parse.ts +337 -0
  455. package/src/nile-wysiwyg-editor/engine/markdown.ts +165 -0
  456. package/src/nile-wysiwyg-editor/engine/office-paste.ts +199 -0
  457. package/src/nile-wysiwyg-editor/engine/plugins/code-highlight.ts +173 -0
  458. package/src/nile-wysiwyg-editor/engine/plugins/embed-view.ts +85 -0
  459. package/src/nile-wysiwyg-editor/engine/plugins/embeds.ts +99 -0
  460. package/src/nile-wysiwyg-editor/engine/plugins/find-replace.ts +155 -0
  461. package/src/nile-wysiwyg-editor/engine/plugins/format-painter.ts +80 -0
  462. package/src/nile-wysiwyg-editor/engine/plugins/image-view.ts +220 -0
  463. package/src/nile-wysiwyg-editor/engine/plugins/image.ts +80 -0
  464. package/src/nile-wysiwyg-editor/engine/plugins/link.ts +42 -0
  465. package/src/nile-wysiwyg-editor/engine/plugins/math-view.ts +56 -0
  466. package/src/nile-wysiwyg-editor/engine/plugins/max-length.ts +24 -0
  467. package/src/nile-wysiwyg-editor/engine/plugins/paste.ts +74 -0
  468. package/src/nile-wysiwyg-editor/engine/plugins/placeholder.ts +24 -0
  469. package/src/nile-wysiwyg-editor/engine/plugins/single-line.ts +47 -0
  470. package/src/nile-wysiwyg-editor/engine/plugins/suggestions.ts +110 -0
  471. package/src/nile-wysiwyg-editor/engine/plugins/tables.ts +12 -0
  472. package/src/nile-wysiwyg-editor/engine/plugins/task-list.ts +65 -0
  473. package/src/nile-wysiwyg-editor/engine/pm.test.ts +1088 -0
  474. package/src/nile-wysiwyg-editor/engine/productivity.test.ts +163 -0
  475. package/src/nile-wysiwyg-editor/engine/sanitize.ts +156 -0
  476. package/src/nile-wysiwyg-editor/engine/schema.ts +859 -0
  477. package/src/nile-wysiwyg-editor/engine/selection-state.ts +210 -0
  478. package/src/nile-wysiwyg-editor/engine/serializer.ts +78 -0
  479. package/src/nile-wysiwyg-editor/index.ts +3 -0
  480. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +782 -0
  481. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.ts +750 -0
  482. package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +2155 -0
  483. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.ts +1 -0
  484. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +251 -0
  485. package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.ts +772 -0
  486. package/src/nile-wysiwyg-editor/types.ts +83 -0
  487. package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +155 -0
  488. package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +135 -0
  489. package/src/nile-wysiwyg-editor/ui/code-block-menu.ts +105 -0
  490. package/src/nile-wysiwyg-editor/ui/embed-menu.ts +133 -0
  491. package/src/nile-wysiwyg-editor/ui/embed-panel.ts +143 -0
  492. package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +152 -0
  493. package/src/nile-wysiwyg-editor/ui/find-replace.ts +174 -0
  494. package/src/nile-wysiwyg-editor/ui/image-menu.ts +140 -0
  495. package/src/nile-wysiwyg-editor/ui/image-panel.ts +337 -0
  496. package/src/nile-wysiwyg-editor/ui/insert-menu.ts +142 -0
  497. package/src/nile-wysiwyg-editor/ui/link-editor.ts +180 -0
  498. package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +143 -0
  499. package/src/nile-wysiwyg-editor/ui/math-panel.ts +169 -0
  500. package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +311 -0
  501. package/src/nile-wysiwyg-editor/ui/source-view.ts +119 -0
  502. package/src/nile-wysiwyg-editor/ui/special-chars.ts +209 -0
  503. package/src/nile-wysiwyg-editor/ui/suggest-list.ts +138 -0
  504. package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +173 -0
  505. package/src/nile-wysiwyg-editor/ui/table-menu.ts +109 -0
  506. package/vscode-html-custom-data.json +450 -0
  507. package/web-dev-server.config.mjs +6 -2
  508. package/dist/index-5fef1a0d.esm.js +0 -1
  509. package/dist/index-8f38fae3.cjs.js +0 -2
  510. package/dist/index-8f38fae3.cjs.js.map +0 -1
@@ -0,0 +1,143 @@
1
+ import { html, css, TemplateResult, CSSResultArray } from 'lit';
2
+ import { customElement, property, query } from 'lit/decorators.js';
3
+ import NileElement from '../../internal/nile-element';
4
+ import '../../nile-button/index';
5
+
6
+ /**
7
+ * Floating "Paste Markdown" panel: paste/type Markdown and insert it into the
8
+ * document as formatted content. The host converts and inserts on apply.
9
+ * Emits `wysiwyg-markdown-apply` detail: { markdown } and
10
+ * `wysiwyg-markdown-cancel`.
11
+ */
12
+ @customElement('nile-wysiwyg-markdown-panel')
13
+ export class NileWysiwygMarkdownPanel extends NileElement {
14
+ @property({ type: Boolean, reflect: true }) open = false;
15
+
16
+ @query('textarea') textarea?: HTMLTextAreaElement;
17
+
18
+ public static get styles(): CSSResultArray {
19
+ return [
20
+ css`
21
+ :host {
22
+ font-family: var(
23
+ --nile-font-family-sans-serif,
24
+ var(--ng-font-family-body, system-ui, -apple-system, sans-serif)
25
+ );
26
+ position: absolute;
27
+ z-index: 20;
28
+ display: none;
29
+ }
30
+
31
+ :host([open]) {
32
+ display: block;
33
+ }
34
+
35
+ .md-panel {
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: 10px;
39
+ width: 460px;
40
+ max-width: 90vw;
41
+ padding: 14px;
42
+ background: var(--nile-wysiwyg-popover-bg, #ffffff);
43
+ border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
44
+ border-radius: 8px;
45
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
46
+ font-size: 13px;
47
+ }
48
+
49
+ .heading {
50
+ font-weight: 600;
51
+ color: var(--nile-colors-neutral-800, #1d2939);
52
+ }
53
+
54
+ .hint {
55
+ font-size: 12px;
56
+ color: var(--nile-colors-neutral-500, #98a2b3);
57
+ }
58
+
59
+ textarea {
60
+ font-family: var(--nile-wysiwyg-code-font, ui-monospace, SFMono-Regular, Menlo, monospace);
61
+ font-size: 13px;
62
+ line-height: 1.5;
63
+ min-height: 180px;
64
+ resize: vertical;
65
+ padding: 10px;
66
+ border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
67
+ border-radius: 6px;
68
+ outline: none;
69
+ color: var(--nile-colors-dark-900, #101828);
70
+ background: var(--nile-colors-neutral-50, #f9fafb);
71
+ }
72
+
73
+ textarea:focus {
74
+ border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));
75
+ }
76
+
77
+ .actions {
78
+ display: flex;
79
+ justify-content: flex-end;
80
+ align-items: center;
81
+ gap: 8px;
82
+ }
83
+ `,
84
+ ];
85
+ }
86
+
87
+ public focusInput(): void {
88
+ this.updateComplete.then(() => this.textarea?.focus());
89
+ }
90
+
91
+ public reset(): void {
92
+ this.updateComplete.then(() => {
93
+ if (this.textarea) this.textarea.value = '';
94
+ });
95
+ }
96
+
97
+ private submit(): void {
98
+ const markdown = this.textarea?.value ?? '';
99
+ if (!markdown.trim()) {
100
+ this.emit('wysiwyg-markdown-cancel');
101
+ return;
102
+ }
103
+ this.emit('wysiwyg-markdown-apply', { markdown });
104
+ }
105
+
106
+ private handleKeydown(event: KeyboardEvent): void {
107
+ if (event.key === 'Escape') {
108
+ event.stopPropagation();
109
+ this.emit('wysiwyg-markdown-cancel');
110
+ } else if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {
111
+ // Ctrl/Cmd+Enter inserts (plain Enter keeps adding newlines).
112
+ event.preventDefault();
113
+ event.stopPropagation();
114
+ this.submit();
115
+ }
116
+ }
117
+
118
+ public render(): TemplateResult {
119
+ return html`
120
+ <div class="md-panel" part="markdown-panel" @keydown=${this.handleKeydown}>
121
+ <span class="heading">Paste Markdown</span>
122
+ <textarea
123
+ part="markdown-textarea"
124
+ placeholder="# Heading&#10;&#10;Paste **Markdown** here — lists, \`code\`, tables…"
125
+ spellcheck="false"
126
+ ></textarea>
127
+ <span class="hint">Converts to formatted content on insert (⌘/Ctrl+Enter).</span>
128
+ <div class="actions">
129
+ <nile-button variant="tertiary" @click=${() => this.emit('wysiwyg-markdown-cancel')}
130
+ >Cancel</nile-button
131
+ >
132
+ <nile-button variant="primary" @click=${() => this.submit()}>Insert</nile-button>
133
+ </div>
134
+ </div>
135
+ `;
136
+ }
137
+ }
138
+
139
+ declare global {
140
+ interface HTMLElementTagNameMap {
141
+ 'nile-wysiwyg-markdown-panel': NileWysiwygMarkdownPanel;
142
+ }
143
+ }
@@ -0,0 +1,169 @@
1
+ import { html, css, TemplateResult, CSSResultArray } from 'lit';
2
+ import { customElement, property, state } from 'lit/decorators.js';
3
+ import NileElement from '../../internal/nile-element';
4
+ import '../../nile-input/index';
5
+ import '../../nile-button/index';
6
+ import '../../nile-button-toggle-group/index';
7
+ import '../../nile-button-toggle/index';
8
+
9
+ /**
10
+ * Floating math-insert panel: enter a LaTeX expression. Styled to match the
11
+ * image/embed panels (nile-input + nile-button). Emits `wysiwyg-math-apply`
12
+ * detail: { latex, display } and `wysiwyg-math-cancel`. Rendering of the
13
+ * formula itself is the host's job (via a mathRenderer).
14
+ */
15
+ @customElement('nile-wysiwyg-math-panel')
16
+ export class NileWysiwygMathPanel extends NileElement {
17
+ @property({ type: Boolean, reflect: true }) open = false;
18
+
19
+ @state() private latexValue = '';
20
+ @state() private display: 'inline' | 'block' = 'inline';
21
+
22
+ public static get styles(): CSSResultArray {
23
+ return [
24
+ css`
25
+ :host {
26
+ font-family: var(
27
+ --nile-font-family-sans-serif,
28
+ var(--ng-font-family-body, system-ui, -apple-system, sans-serif)
29
+ );
30
+ position: absolute;
31
+ z-index: 20;
32
+ display: none;
33
+ }
34
+
35
+ :host([open]) {
36
+ display: block;
37
+ }
38
+
39
+ .math-panel {
40
+ display: flex;
41
+ flex-direction: column;
42
+ gap: 12px;
43
+ min-width: 340px;
44
+ max-width: 420px;
45
+ padding: 12px;
46
+ background: var(--nile-wysiwyg-popover-bg, #ffffff);
47
+ border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
48
+ border-radius: 8px;
49
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
50
+ font-size: 13px;
51
+ }
52
+
53
+ nile-input {
54
+ width: 100%;
55
+ }
56
+
57
+ /* Keep the LaTeX field monospaced. */
58
+ nile-input::part(input) {
59
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
60
+ }
61
+
62
+ .display-row {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 10px;
66
+ }
67
+
68
+ .display-label {
69
+ color: var(--nile-colors-neutral-700, #344054);
70
+ }
71
+
72
+ .hint {
73
+ font-size: 12px;
74
+ color: var(--nile-colors-neutral-500, #98a2b3);
75
+ }
76
+
77
+ .actions {
78
+ display: flex;
79
+ justify-content: flex-end;
80
+ align-items: center;
81
+ gap: 8px;
82
+ width: 100%;
83
+ }
84
+ `,
85
+ ];
86
+ }
87
+
88
+ /** Opens with an optional initial value (editing an existing formula). */
89
+ public focusInput(initial = ''): void {
90
+ this.latexValue = initial;
91
+ this.updateComplete.then(() => {
92
+ const input = this.shadowRoot?.querySelector('nile-input') as HTMLElement | null;
93
+ input?.focus();
94
+ });
95
+ }
96
+
97
+ /** Clears the field. */
98
+ public reset(): void {
99
+ this.latexValue = '';
100
+ this.display = 'inline';
101
+ }
102
+
103
+ private onLatex(event: CustomEvent): void {
104
+ this.latexValue = (event.detail?.value ?? '') as string;
105
+ }
106
+
107
+ private handleSubmit(): void {
108
+ const latex = this.latexValue.trim();
109
+ if (!latex) {
110
+ this.emit('wysiwyg-math-cancel');
111
+ return;
112
+ }
113
+ this.emit('wysiwyg-math-apply', { latex, display: this.display });
114
+ }
115
+
116
+ private handleKeydown(event: KeyboardEvent): void {
117
+ if (event.key === 'Escape') {
118
+ event.stopPropagation();
119
+ this.emit('wysiwyg-math-cancel');
120
+ } else if (event.key === 'Enter') {
121
+ event.preventDefault();
122
+ event.stopPropagation();
123
+ this.handleSubmit();
124
+ }
125
+ }
126
+
127
+ public render(): TemplateResult {
128
+ return html`
129
+ <div class="math-panel" part="math-panel" @keydown=${this.handleKeydown}>
130
+ <nile-input
131
+ label="LaTeX expression"
132
+ placeholder="e.g. \\frac{a}{b} = c^2"
133
+ .value=${this.latexValue}
134
+ @nile-input=${this.onLatex}
135
+ ></nile-input>
136
+
137
+ <div class="display-row">
138
+ <span class="display-label">Display</span>
139
+ <nile-button-toggle-group
140
+ class="toggle"
141
+ .value=${this.display}
142
+ @nile-change=${(e: CustomEvent) => {
143
+ this.display = e.detail.value === 'block' ? 'block' : 'inline';
144
+ }}
145
+ >
146
+ <nile-button-toggle value="inline">Inline</nile-button-toggle>
147
+ <nile-button-toggle value="block">Block</nile-button-toggle>
148
+ </nile-button-toggle-group>
149
+ </div>
150
+
151
+ <span class="hint"
152
+ >LaTeX is stored as-is; rendering uses your math renderer if configured.</span
153
+ >
154
+
155
+ <div class="actions">
156
+ <nile-button variant="primary" @click=${() => this.handleSubmit()}
157
+ >Insert</nile-button
158
+ >
159
+ </div>
160
+ </div>
161
+ `;
162
+ }
163
+ }
164
+
165
+ declare global {
166
+ interface HTMLElementTagNameMap {
167
+ 'nile-wysiwyg-math-panel': NileWysiwygMathPanel;
168
+ }
169
+ }
@@ -0,0 +1,311 @@
1
+ import { html, css, TemplateResult, CSSResultArray, PropertyValues, nothing } from 'lit';
2
+ import { customElement, property, query } from 'lit/decorators.js';
3
+ import NileElement from '../../internal/nile-element';
4
+
5
+ const isMac =
6
+ typeof navigator !== 'undefined' && /Mac|iP(hone|[oa]d)/.test(navigator.platform);
7
+
8
+ /** Renders a binding like 'Mod-B' with platform-appropriate key labels. */
9
+ function keyLabel(binding: string): string {
10
+ return binding
11
+ .split('-')
12
+ .map(part => {
13
+ switch (part) {
14
+ case 'Mod':
15
+ return isMac ? '⌘' : 'Ctrl';
16
+ case 'Shift':
17
+ return isMac ? '⇧' : 'Shift';
18
+ case 'Alt':
19
+ return isMac ? '⌥' : 'Alt';
20
+ case 'Ctrl':
21
+ return isMac ? '⌃' : 'Ctrl';
22
+ default:
23
+ return part;
24
+ }
25
+ })
26
+ .join(isMac ? '' : '+');
27
+ }
28
+
29
+ interface ShortcutGroup {
30
+ title: string;
31
+ items: { keys: string[]; label: string }[];
32
+ }
33
+
34
+ const GROUPS: ShortcutGroup[] = [
35
+ {
36
+ title: 'Formatting',
37
+ items: [
38
+ { keys: ['Mod-B'], label: 'Bold' },
39
+ { keys: ['Mod-I'], label: 'Italic' },
40
+ { keys: ['Mod-U'], label: 'Underline' },
41
+ { keys: ['Mod-Shift-X'], label: 'Strikethrough' },
42
+ { keys: ['Mod-,'], label: 'Subscript' },
43
+ { keys: ['Mod-.'], label: 'Superscript' },
44
+ ],
45
+ },
46
+ {
47
+ title: 'Blocks',
48
+ items: [
49
+ { keys: ['Ctrl-Shift-0'], label: 'Paragraph' },
50
+ { keys: ['Ctrl-Shift-1…6'], label: 'Heading 1–6' },
51
+ { keys: ['Mod-Shift-8'], label: 'Bulleted list' },
52
+ { keys: ['Mod-Shift-7'], label: 'Numbered list' },
53
+ { keys: ['Mod-Shift-9'], label: 'Blockquote' },
54
+ { keys: ['Mod-Alt-C'], label: 'Code block' },
55
+ { keys: ['Tab', 'Shift-Tab'], label: 'Indent / outdent list item' },
56
+ { keys: ['Mod-]', 'Mod-['], label: 'Indent / outdent block' },
57
+ { keys: ['Shift-Enter'], label: 'Line break' },
58
+ ],
59
+ },
60
+ {
61
+ title: 'Editing & tools',
62
+ items: [
63
+ { keys: ['Mod-Z'], label: 'Undo' },
64
+ { keys: ['Mod-Shift-Z'], label: 'Redo' },
65
+ { keys: ['Mod-K'], label: 'Insert or edit link' },
66
+ { keys: ['Mod-F'], label: 'Find & replace' },
67
+ { keys: ['Mod-Shift-V'], label: 'Paste without formatting' },
68
+ { keys: ['Mod-/'], label: 'This dialog' },
69
+ ],
70
+ },
71
+ {
72
+ title: 'Typing shortcuts',
73
+ items: [
74
+ { keys: ['# + space'], label: 'Heading (## for level 2 …)' },
75
+ { keys: ['- + space'], label: 'Bulleted list' },
76
+ { keys: ['1. + space'], label: 'Numbered list' },
77
+ { keys: ['[] + space'], label: 'Checklist' },
78
+ { keys: ['> + space'], label: 'Blockquote' },
79
+ { keys: ['```'], label: 'Code block' },
80
+ { keys: ['**text**'], label: 'Bold as you type' },
81
+ { keys: ['URL + space'], label: 'Automatic link' },
82
+ { keys: ['/'], label: 'Command menu' },
83
+ { keys: [': + name'], label: 'Emoji picker' },
84
+ ],
85
+ },
86
+ ];
87
+
88
+ /**
89
+ * Keyboard shortcut reference dialog, opened from the toolbar or Mod-/.
90
+ * Emits `wysiwyg-shortcut-help-close` when dismissed (Esc, ✕ or backdrop).
91
+ */
92
+ @customElement('nile-wysiwyg-shortcut-help')
93
+ export class NileWysiwygShortcutHelp extends NileElement {
94
+ @property({ type: Boolean, reflect: true }) open = false;
95
+
96
+ @query('.help__panel') private panelEl?: HTMLElement;
97
+
98
+ /** Body overflow value before we locked it; null = not locked by us. */
99
+ private previousBodyOverflow: string | null = null;
100
+
101
+ public static get styles(): CSSResultArray {
102
+ return [
103
+ css`
104
+ /* Fixed so the dialog overlays the viewport instead of being
105
+ clipped by a small editor. */
106
+ :host {
107
+ font-family: var(
108
+ --nile-font-family-sans-serif,
109
+ var(--ng-font-family-body, system-ui, -apple-system, sans-serif)
110
+ );
111
+ position: fixed;
112
+ inset: 0;
113
+ z-index: var(--nile-wysiwyg-dialog-z-index, 1100);
114
+ display: none;
115
+ }
116
+
117
+ :host([open]) {
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ }
122
+
123
+ .help__backdrop {
124
+ position: absolute;
125
+ inset: 0;
126
+ background: rgba(16, 24, 40, 0.4);
127
+ }
128
+
129
+ .help__panel {
130
+ position: relative;
131
+ max-width: 560px;
132
+ max-height: min(80%, 480px);
133
+ margin: 16px;
134
+ padding: 16px 20px;
135
+ overflow-y: auto;
136
+ overscroll-behavior: contain;
137
+ outline: none;
138
+ background: var(--nile-wysiwyg-popover-bg, #ffffff);
139
+ border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
140
+ border-radius: 10px;
141
+ box-shadow: var(
142
+ --nile-wysiwyg-popover-shadow,
143
+ 0 8px 24px rgba(16, 24, 40, 0.18)
144
+ );
145
+ font-size: 13px;
146
+ color: var(--nile-colors-neutral-700, #344054);
147
+ }
148
+
149
+ .help__header {
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: space-between;
153
+ margin-bottom: 8px;
154
+ }
155
+
156
+ .help__title {
157
+ font-size: 14px;
158
+ font-weight: 600;
159
+ color: var(--nile-colors-dark-900, #101828);
160
+ }
161
+
162
+ .help__close {
163
+ font: inherit;
164
+ border: none;
165
+ background: transparent;
166
+ border-radius: 5px;
167
+ padding: 4px 8px;
168
+ cursor: pointer;
169
+ color: var(--nile-colors-neutral-700, #344054);
170
+ }
171
+
172
+ .help__close:hover {
173
+ background: var(--nile-colors-neutral-100, #f2f4f7);
174
+ }
175
+
176
+ .help__columns {
177
+ display: grid;
178
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
179
+ gap: 4px 24px;
180
+ }
181
+
182
+ .help__group-title {
183
+ margin: 10px 0 4px;
184
+ font-size: 11px;
185
+ font-weight: 600;
186
+ text-transform: uppercase;
187
+ letter-spacing: 0.04em;
188
+ color: var(--nile-colors-neutral-500, #98a2b3);
189
+ }
190
+
191
+ .help__row {
192
+ display: flex;
193
+ align-items: center;
194
+ justify-content: space-between;
195
+ gap: 12px;
196
+ padding: 3px 0;
197
+ }
198
+
199
+ .help__keys {
200
+ white-space: nowrap;
201
+ }
202
+
203
+ kbd {
204
+ display: inline-block;
205
+ padding: 1px 6px;
206
+ font-family: inherit;
207
+ font-size: 12px;
208
+ line-height: 1.5;
209
+ background: var(--nile-colors-neutral-100, #f2f4f7);
210
+ border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);
211
+ border-bottom-width: 2px;
212
+ border-radius: 5px;
213
+ }
214
+ `,
215
+ ];
216
+ }
217
+
218
+ /**
219
+ * Locks page scrolling while the dialog is open (the fixed backdrop blocks
220
+ * clicks but not wheel/touch scrolling of the document behind it).
221
+ * Save/restore keeps it composable with other locks (e.g. fullscreen).
222
+ */
223
+ protected updated(changed: PropertyValues): void {
224
+ if (!changed.has('open')) return;
225
+ if (this.open) {
226
+ if (this.previousBodyOverflow === null) {
227
+ this.previousBodyOverflow = document.body.style.overflow;
228
+ document.body.style.overflow = 'hidden';
229
+ }
230
+ } else if (this.previousBodyOverflow !== null) {
231
+ document.body.style.overflow = this.previousBodyOverflow;
232
+ this.previousBodyOverflow = null;
233
+ }
234
+ }
235
+
236
+ disconnectedCallback(): void {
237
+ super.disconnectedCallback();
238
+ if (this.previousBodyOverflow !== null) {
239
+ document.body.style.overflow = this.previousBodyOverflow;
240
+ this.previousBodyOverflow = null;
241
+ }
242
+ }
243
+
244
+ /** Moves focus into the dialog so Esc lands here. */
245
+ public focusPanel(): void {
246
+ this.updateComplete.then(() => this.panelEl?.focus());
247
+ }
248
+
249
+ private close(): void {
250
+ this.emit('wysiwyg-shortcut-help-close');
251
+ }
252
+
253
+ private handleKeydown(event: KeyboardEvent): void {
254
+ if (event.key === 'Escape') {
255
+ event.stopPropagation();
256
+ this.close();
257
+ }
258
+ }
259
+
260
+ public render(): TemplateResult | typeof nothing {
261
+ if (!this.open) return nothing;
262
+ return html`
263
+ <div class="help__backdrop" @click=${this.close}></div>
264
+ <div
265
+ class="help__panel"
266
+ part="shortcut-help"
267
+ role="dialog"
268
+ aria-modal="true"
269
+ aria-label="Keyboard shortcuts"
270
+ tabindex="-1"
271
+ @keydown=${this.handleKeydown}
272
+ >
273
+ <div class="help__header">
274
+ <span class="help__title">Keyboard shortcuts</span>
275
+ <button type="button" class="help__close" title="Close (Esc)" @click=${this.close}>
276
+
277
+ </button>
278
+ </div>
279
+ <div class="help__columns">
280
+ ${GROUPS.map(
281
+ group => html`
282
+ <div>
283
+ <div class="help__group-title">${group.title}</div>
284
+ ${group.items.map(
285
+ item => html`
286
+ <div class="help__row">
287
+ <span>${item.label}</span>
288
+ <span class="help__keys">
289
+ ${item.keys.map(
290
+ (key, index) => html`${index > 0 ? ' / ' : nothing}<kbd
291
+ >${keyLabel(key)}</kbd
292
+ >`
293
+ )}
294
+ </span>
295
+ </div>
296
+ `
297
+ )}
298
+ </div>
299
+ `
300
+ )}
301
+ </div>
302
+ </div>
303
+ `;
304
+ }
305
+ }
306
+
307
+ declare global {
308
+ interface HTMLElementTagNameMap {
309
+ 'nile-wysiwyg-shortcut-help': NileWysiwygShortcutHelp;
310
+ }
311
+ }