@jpmorganchase/mosaic-content-editor-plugin 0.1.0-beta.37 → 0.1.0-beta.39

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 (189) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +16 -0
  3. package/dist/api/save.d.ts +1 -1
  4. package/dist/api/save.js +1 -1
  5. package/dist/chunk-3QIETKQW.js +1 -0
  6. package/dist/chunk-4B2NDAA2.js +1 -0
  7. package/dist/chunk-4LQ77YZW.js +1 -0
  8. package/dist/chunk-6EO5B7QP.js +1 -0
  9. package/dist/chunk-6X665P47.js +1 -0
  10. package/dist/chunk-7JRJTNUG.js +1 -0
  11. package/dist/chunk-7LK4O57W.js +1 -0
  12. package/dist/chunk-B6MFPF7L.js +1 -0
  13. package/dist/chunk-BFF3MNBV.js +1 -0
  14. package/dist/chunk-BINIAABY.js +1 -0
  15. package/dist/chunk-DLRFTDUZ.js +1 -0
  16. package/dist/chunk-DXTVYP7D.js +1 -0
  17. package/dist/chunk-EMHRWY75.js +1 -0
  18. package/dist/chunk-FH2LMMJT.js +1 -0
  19. package/dist/chunk-FNNLNVQZ.js +1 -0
  20. package/dist/chunk-GYUEXLD6.js +1 -0
  21. package/dist/chunk-M4ISRNFD.js +1 -0
  22. package/dist/chunk-MZJ4JT73.js +1 -0
  23. package/dist/{chunk-GWUYDDYS.js → chunk-NFA3MZOC.js} +1 -1
  24. package/dist/chunk-NFSXCTUU.js +1 -0
  25. package/dist/chunk-OW5SK4AJ.js +1 -0
  26. package/dist/chunk-PXUVNH4P.js +1 -0
  27. package/dist/chunk-QHE4U3WR.js +1 -0
  28. package/dist/chunk-R2MEEU32.js +1 -0
  29. package/dist/chunk-ROQUYURQ.js +1 -0
  30. package/dist/chunk-SYL4AGHI.js +1 -0
  31. package/dist/chunk-TSWYSURQ.js +1 -0
  32. package/dist/chunk-UBWAGWSM.js +1 -0
  33. package/dist/chunk-WCOTJ6JY.js +1 -0
  34. package/dist/chunk-XSZUCLBY.js +1 -0
  35. package/dist/chunk-Y2A2ULLZ.js +1 -0
  36. package/dist/chunk-YIFLQ5MW.js +1 -0
  37. package/dist/chunk-Z6W7GDHE.js +1 -0
  38. package/dist/chunk-ZHZ4E2MI.js +1 -0
  39. package/dist/components/BaseToolbar/BaseToolbar.css +1 -0
  40. package/dist/components/BaseToolbar/BaseToolbar.css.css +1 -0
  41. package/dist/components/{Toolbar/TextFormatToolbarButton.css.d.ts → BaseToolbar/BaseToolbar.css.d.ts} +0 -1
  42. package/dist/components/BaseToolbar/BaseToolbar.css.js +1 -0
  43. package/dist/components/BaseToolbar/BaseToolbar.d.ts +7 -0
  44. package/dist/components/BaseToolbar/BaseToolbar.js +1 -0
  45. package/dist/components/BaseTooltray/BaseTooltray.css +1 -0
  46. package/dist/components/BaseTooltray/BaseTooltray.css.css +1 -0
  47. package/dist/components/BaseTooltray/BaseTooltray.css.d.ts +6 -0
  48. package/dist/components/BaseTooltray/BaseTooltray.css.js +1 -0
  49. package/dist/components/BaseTooltray/BaseTooltray.d.ts +9 -0
  50. package/dist/components/BaseTooltray/BaseTooltray.js +1 -0
  51. package/dist/components/ContentEditor.js +1 -1
  52. package/dist/components/Dialog.css +1 -0
  53. package/dist/components/Dialog.css.css +1 -0
  54. package/dist/components/Dialog.css.d.ts +4 -0
  55. package/dist/components/Dialog.css.js +1 -0
  56. package/dist/components/Dialog.d.ts +6 -0
  57. package/dist/components/Dialog.js +1 -0
  58. package/dist/components/Editor.css +1 -1
  59. package/dist/components/Editor.d.ts +3 -2
  60. package/dist/components/Editor.js +1 -1
  61. package/dist/components/EditorControls.css +1 -1
  62. package/dist/components/EditorControls.css.css +1 -1
  63. package/dist/components/EditorControls.css.js +1 -1
  64. package/dist/components/EditorControls.d.ts +4 -3
  65. package/dist/components/EditorControls.js +1 -1
  66. package/dist/components/LinkEditor/EditLinkButton.css +1 -0
  67. package/dist/components/LinkEditor/EditLinkButton.d.ts +2 -2
  68. package/dist/components/LinkEditor/EditLinkButton.js +1 -1
  69. package/dist/components/LinkEditor/LinkEditor.css +1 -1
  70. package/dist/components/LinkEditor/LinkEditor.js +1 -1
  71. package/dist/components/LinkEditor/SaveAdornment.css +1 -0
  72. package/dist/components/LinkEditor/SaveAdornment.js +1 -1
  73. package/dist/components/PersistEditDialog/PersistStatus.js +1 -1
  74. package/dist/components/PersistEditDialog/index.css +1 -1
  75. package/dist/components/PersistEditDialog/index.css.css +1 -0
  76. package/dist/components/PersistEditDialog/index.css.d.ts +4 -0
  77. package/dist/components/PersistEditDialog/index.css.js +1 -0
  78. package/dist/components/PersistEditDialog/index.d.ts +5 -2
  79. package/dist/components/PersistEditDialog/index.js +1 -1
  80. package/dist/components/Popper/Popper.js +1 -1
  81. package/dist/components/Toolbar/InsertHorizontalRule.css +1 -0
  82. package/dist/components/Toolbar/InsertHorizontalRule.js +1 -1
  83. package/dist/components/Toolbar/InsertImage.css +1 -1
  84. package/dist/components/Toolbar/InsertImage.js +1 -1
  85. package/dist/components/Toolbar/InsertLink.css +1 -1
  86. package/dist/components/Toolbar/InsertLink.js +1 -1
  87. package/dist/components/Toolbar/InsertTable.css +1 -1
  88. package/dist/components/Toolbar/InsertTable.css.css +1 -1
  89. package/dist/components/Toolbar/InsertTable.css.d.ts +1 -1
  90. package/dist/components/Toolbar/InsertTable.css.js +1 -1
  91. package/dist/components/Toolbar/InsertTable.js +1 -1
  92. package/dist/components/Toolbar/TextFormatTooltray.css +1 -1
  93. package/dist/components/Toolbar/TextFormatTooltray.css.css +1 -1
  94. package/dist/components/Toolbar/TextFormatTooltray.css.d.ts +0 -1
  95. package/dist/components/Toolbar/TextFormatTooltray.css.js +1 -1
  96. package/dist/components/Toolbar/TextFormatTooltray.js +1 -1
  97. package/dist/components/Toolbar/Toolbar.css +1 -1
  98. package/dist/components/Toolbar/Toolbar.js +1 -1
  99. package/dist/components/Toolbar/ToolbarButton.css +1 -0
  100. package/dist/components/Toolbar/ToolbarButton.css.css +1 -0
  101. package/dist/components/Toolbar/ToolbarButton.css.d.ts +4 -0
  102. package/dist/components/Toolbar/ToolbarButton.css.js +1 -0
  103. package/dist/components/Toolbar/ToolbarButton.d.ts +8 -0
  104. package/dist/components/Toolbar/ToolbarButton.js +1 -0
  105. package/dist/components/Toolbar/ToolbarSeparator.css.css +1 -0
  106. package/dist/components/Toolbar/ToolbarSeparator.css.d.ts +4 -0
  107. package/dist/components/Toolbar/ToolbarSeparator.css.js +1 -0
  108. package/dist/components/Toolbar/ToolbarSepartor.css +1 -0
  109. package/dist/components/Toolbar/ToolbarSepartor.d.ts +7 -0
  110. package/dist/components/Toolbar/ToolbarSepartor.js +1 -0
  111. package/dist/index.css +1 -1
  112. package/dist/index.js +1 -1
  113. package/dist/plugins/FloatingToolbarPlugin.css +1 -1
  114. package/dist/plugins/FloatingToolbarPlugin.css.css +1 -0
  115. package/dist/plugins/FloatingToolbarPlugin.css.d.ts +4 -0
  116. package/dist/plugins/FloatingToolbarPlugin.css.js +1 -0
  117. package/dist/plugins/FloatingToolbarPlugin.js +1 -1
  118. package/dist/plugins/MarkdownLinkPlugin.css +1 -1
  119. package/dist/plugins/MarkdownLinkPlugin.js +1 -1
  120. package/dist/plugins/PreviewPlugin.css +1 -1
  121. package/dist/plugins/PreviewPlugin.d.ts +6 -5
  122. package/dist/plugins/PreviewPlugin.js +1 -1
  123. package/dist/plugins/TableActionMenuPlugin.js +1 -1
  124. package/dist/transformers/index.js +1 -1
  125. package/package.json +14 -13
  126. package/src/api/save.ts +4 -4
  127. package/src/components/BaseToolbar/BaseToolbar.css.ts +21 -0
  128. package/src/components/BaseToolbar/BaseToolbar.tsx +13 -0
  129. package/src/components/BaseTooltray/BaseTooltray.css.ts +31 -0
  130. package/src/components/BaseTooltray/BaseTooltray.tsx +22 -0
  131. package/src/components/ContentEditor.tsx +2 -0
  132. package/src/components/Dialog.css.ts +7 -0
  133. package/src/components/Dialog.tsx +12 -0
  134. package/src/components/Editor.tsx +10 -8
  135. package/src/components/EditorControls.css.ts +2 -5
  136. package/src/components/EditorControls.tsx +13 -7
  137. package/src/components/LinkEditor/EditLinkButton.tsx +5 -5
  138. package/src/components/LinkEditor/SaveAdornment.tsx +4 -3
  139. package/src/components/PersistEditDialog/PersistStatus.tsx +7 -2
  140. package/src/components/PersistEditDialog/index.css.ts +14 -0
  141. package/src/components/PersistEditDialog/index.tsx +37 -16
  142. package/src/components/Popper/Popper.tsx +6 -1
  143. package/src/components/Toolbar/InsertHorizontalRule.tsx +2 -2
  144. package/src/components/Toolbar/InsertImage.tsx +9 -8
  145. package/src/components/Toolbar/InsertLink.tsx +9 -8
  146. package/src/components/Toolbar/InsertTable.css.ts +8 -2
  147. package/src/components/Toolbar/InsertTable.tsx +9 -4
  148. package/src/components/Toolbar/TextFormatTooltray.css.ts +0 -5
  149. package/src/components/Toolbar/TextFormatTooltray.tsx +16 -21
  150. package/src/components/Toolbar/Toolbar.tsx +11 -6
  151. package/src/components/Toolbar/ToolbarButton.css.ts +11 -0
  152. package/src/components/Toolbar/ToolbarButton.tsx +41 -0
  153. package/src/components/Toolbar/ToolbarSeparator.css.ts +28 -0
  154. package/src/components/Toolbar/ToolbarSepartor.tsx +13 -0
  155. package/src/components/__tests__/EditorControls.test.tsx +4 -4
  156. package/src/plugins/FloatingToolbarPlugin.css.ts +14 -0
  157. package/src/plugins/FloatingToolbarPlugin.tsx +9 -8
  158. package/src/plugins/PreviewPlugin.tsx +31 -6
  159. package/dist/chunk-4CRC7NS5.js +0 -1
  160. package/dist/chunk-5JA4V4PV.js +0 -1
  161. package/dist/chunk-6TWGPQT5.js +0 -1
  162. package/dist/chunk-B3MUPQQA.js +0 -1
  163. package/dist/chunk-DK6F4XAE.js +0 -1
  164. package/dist/chunk-FFJYM47T.js +0 -1
  165. package/dist/chunk-FI57IKHZ.js +0 -1
  166. package/dist/chunk-HB6ONQSD.js +0 -1
  167. package/dist/chunk-HYOY3SMH.js +0 -1
  168. package/dist/chunk-JJ5K5LVL.js +0 -1
  169. package/dist/chunk-JYGEHLYM.js +0 -1
  170. package/dist/chunk-KD66I56W.js +0 -1
  171. package/dist/chunk-L5I3DIHV.js +0 -1
  172. package/dist/chunk-MJUOPD42.js +0 -1
  173. package/dist/chunk-MOZEUF74.js +0 -1
  174. package/dist/chunk-PMMRU33I.js +0 -1
  175. package/dist/chunk-PZZKTKIE.js +0 -1
  176. package/dist/chunk-R6U5TOP4.js +0 -1
  177. package/dist/chunk-SI5CM3F4.js +0 -1
  178. package/dist/chunk-VO6JTL4J.js +0 -1
  179. package/dist/chunk-WCG3U3X2.js +0 -1
  180. package/dist/chunk-WTMALWJU.js +0 -1
  181. package/dist/chunk-XGBC7YGO.js +0 -1
  182. package/dist/chunk-ZUGL4RMA.js +0 -1
  183. package/dist/components/Toolbar/TextFormatToolbarButton.css +0 -1
  184. package/dist/components/Toolbar/TextFormatToolbarButton.css.css +0 -1
  185. package/dist/components/Toolbar/TextFormatToolbarButton.css.js +0 -1
  186. package/dist/components/Toolbar/TextFormatToolbarButton.d.ts +0 -7
  187. package/dist/components/Toolbar/TextFormatToolbarButton.js +0 -1
  188. package/src/components/Toolbar/TextFormatToolbarButton.css.ts +0 -10
  189. package/src/components/Toolbar/TextFormatToolbarButton.tsx +0 -29
@@ -1 +1 @@
1
- ._1sg4vms0{width:28px;height:28px}.u64up60{margin:-8px 0 0}.u64up61{width:14px;font-size:12px}.u64up62{font-weight:var(--mosaic-fontWeight-bold)}.u64up63{font-style:italic}.u64up64{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.fdaqer0{z-index:10}._195c2ps0{position:relative;margin:var(--mosaic-space-horizontal-x2)}._195c2ps1{position:absolute;top:0;width:25px}._195c2ps2{position:absolute;left:0;height:25px}._195c2ps4{display:flex;justify-content:center;align-items:center;padding-top:var(--mosaic-space-vertical-x2)}._195c2ps6{z-index:1600}._195c2ps8{margin-left:var(--mosaic-space-horizontal-x1)}.jmottr0{width:100%}._1cwa3bz0{width:100%}
1
+ ._1qc5rwi0{background:inherit;display:flex;justify-content:center;flex-shrink:0;flex-grow:0;position:relative;overflow:hidden;padding:var(--mosaic-space-horizontal-x1)}._1qc5rwi1{margin-right:auto}._1qc5rwi0._1qc5rwi2{margin-left:auto!important}._1qc5rwi0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}.u64up60{width:14px;font-size:12px}.u64up61{font-weight:var(--mosaic-fontWeight-bold)}.u64up62{font-style:italic}.u64up63{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.fdaqer0{z-index:10}._195c2ps0{width:var(--mosaic-space-horizontal-x10)}._195c2ps1{position:relative;margin:var(--mosaic-space-horizontal-x2)}._195c2ps2{position:absolute;top:0;width:25px}._195c2ps3{position:absolute;left:0;height:25px}._195c2ps5{display:flex;justify-content:center;align-items:center;padding-top:var(--mosaic-space-vertical-x2)}._195c2ps7{z-index:1600}._195c2ps0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.trugsj0{min-width:500px}.jmottr0{width:100%}._1cwa3bz0{width:100%}._1lleyna0{overflow:hidden;position:relative;display:flex;align-items:center;padding:var(--mosaic-space-horizontal-x1);height:44px}._1lleyna1>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x2)}._1thn0560:before{content:"";position:absolute;background:inherit;top:6px;right:0;width:1px;height:var(--mosaic-space-vertical-x6)}
@@ -1 +1 @@
1
- import{a}from"../../chunk-B3MUPQQA.js";import"../../chunk-ZUGL4RMA.js";import"../../chunk-L5I3DIHV.js";import"../../chunk-KZXCNQER.js";import"../../chunk-HYOY3SMH.js";import"../../chunk-GWUYDDYS.js";import"../../chunk-FW7CHFWO.js";import"../../chunk-4CRC7NS5.js";import"../../chunk-JYGEHLYM.js";import"../../chunk-U7COOUR6.js";import"../../chunk-R6U5TOP4.js";import"../../chunk-VO6JTL4J.js";import"../../chunk-XP37MJCS.js";import"../../chunk-P5OBPOC4.js";import"../../chunk-YBFKG74H.js";import"../../chunk-JJ5K5LVL.js";import"../../chunk-WZYDYWT3.js";import"../../chunk-PMMRU33I.js";import"../../chunk-FFJYM47T.js";import"../../chunk-PC66Q33O.js";import"../../chunk-G57W376H.js";export{a as default};
1
+ import{a}from"../../chunk-BINIAABY.js";import"../../chunk-4B2NDAA2.js";import"../../chunk-4LQ77YZW.js";import"../../chunk-DLRFTDUZ.js";import"../../chunk-UBWAGWSM.js";import"../../chunk-KZXCNQER.js";import"../../chunk-DXTVYP7D.js";import"../../chunk-NFA3MZOC.js";import"../../chunk-YBFKG74H.js";import"../../chunk-PC66Q33O.js";import"../../chunk-FW7CHFWO.js";import"../../chunk-MZJ4JT73.js";import"../../chunk-B6MFPF7L.js";import"../../chunk-U7COOUR6.js";import"../../chunk-WCOTJ6JY.js";import"../../chunk-WZYDYWT3.js";import"../../chunk-YIFLQ5MW.js";import"../../chunk-XP37MJCS.js";import"../../chunk-P5OBPOC4.js";import"../../chunk-7JRJTNUG.js";import"../../chunk-GYUEXLD6.js";import"../../chunk-FH2LMMJT.js";import"../../chunk-7LK4O57W.js";import"../../chunk-3QIETKQW.js";import"../../chunk-Y2A2ULLZ.js";import"../../chunk-G57W376H.js";import"../../chunk-XSZUCLBY.js";import"../../chunk-OW5SK4AJ.js";export{a as default};
@@ -0,0 +1 @@
1
+ .c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}
@@ -0,0 +1 @@
1
+ .c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ root: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-Y2A2ULLZ.js";export{a as default};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type ButtonProps } from '@jpmorganchase/mosaic-components';
3
+ export interface ToolbarButtonProps extends ButtonProps {
4
+ active?: boolean;
5
+ label?: string;
6
+ disableTooltip?: boolean;
7
+ }
8
+ export declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-3QIETKQW.js";import"../../chunk-Y2A2ULLZ.js";export{a as ToolbarButton};
@@ -0,0 +1 @@
1
+ ._1thn0560:before{content:"";position:absolute;background:inherit;top:6px;right:0;width:1px;height:var(--mosaic-space-vertical-x6)}
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ root: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-4LQ77YZW.js";export{a as default};
@@ -0,0 +1 @@
1
+ ._1thn0560:before{content:"";position:absolute;background:inherit;top:6px;right:0;width:1px;height:var(--mosaic-space-vertical-x6)}
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from 'react';
2
+ interface ToolbarSeparatorProps {
3
+ className?: string;
4
+ children?: ReactNode;
5
+ }
6
+ export declare const ToolbarSeparator: ({ className, ...rest }: ToolbarSeparatorProps) => JSX.Element;
7
+ export {};
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-4B2NDAA2.js";import"../../chunk-4LQ77YZW.js";export{a as ToolbarSeparator};
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- div[contenteditable]{outline:none}._1q293jk0{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"toolbar" "editor"}._1q293jk1{grid-area:toolbar;position:sticky;top:44px;z-index:2}._1q293jk3{display:flex;margin-top:var(--mosaic-space-vertical-x3);flex-wrap:wrap;grid-area:editor}._1q293jk4{display:flex;flex-direction:row}._1q293jk5{background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==);cursor:col-resize}._1sg4vms0{width:28px;height:28px}.u64up60{margin:-8px 0 0}.u64up61{width:14px;font-size:12px}.u64up62{font-weight:var(--mosaic-fontWeight-bold)}.u64up63{font-style:italic}.u64up64{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.fdaqer0{z-index:10}._195c2ps0{position:relative;margin:var(--mosaic-space-horizontal-x2)}._195c2ps1{position:absolute;top:0;width:25px}._195c2ps2{position:absolute;left:0;height:25px}._195c2ps4{display:flex;justify-content:center;align-items:center;padding-top:var(--mosaic-space-vertical-x2)}._195c2ps6{z-index:1600}._195c2ps8{margin-left:var(--mosaic-space-horizontal-x1)}.jmottr0{width:100%}._1cwa3bz0{width:100%}._16n1zmy0{font-weight:var(--mosaic-fontWeight-bold)}._16n1zmy1{font-style:italic}._16n1zmy2{text-decoration:underline}._16n1zmy3{text-decoration:line-through}._16n1zmy4{text-decoration:underline line-through}._16n1zmy9{font-weight:inherit}._16n1zmyc:first-of-type{font-weight:var(--mosaic-fontWeight-bold)}._1w4kk0j0{padding:var(--mosaic-space-vertical-x2);opacity:var(--mosaic-opacity-light-disabled)}._1w4kk0j1{font-size:var(--mosaic-fontSize-s80);font-style:var(--mosaic-fontWeight-semibold);opacity:1}._1w4kk0j2{opacity:1}._1w4kk0j3{margin-left:var(--mosaic-space-horizontal-x2);margin-right:var(--mosaic-space-horizontal-x2)}._94v2lj0{padding:var(--mosaic-space-vertical-x1);margin-left:var(--mosaic-space-horizontal-x2)}._1q5lqdi0{padding:var(--mosaic-space-horizontal-x3);max-height:100vh;overflow:scroll}[data-mode=light] .m7cgun0,[data-mode=dark] .m7cgun1{outline-color:var(--mosaic-color-light-selectable-inEdit)}[data-mode=light] .m7cgun2,[data-mode=dark] .m7cgun3{outline-color:var(--mosaic-color-dark-selectable-inEdit)}[data-mode=light] .m7cgun4,[data-mode=dark] .m7cgun5{outline-style:solid}[data-mode=light] .m7cgun6,[data-mode=dark] .m7cgun7{outline-style:dashed}[data-mode=light] .m7cgun8,[data-mode=dark] .m7cgun9{outline-width:thin}[data-mode=light] .m7cguna,[data-mode=dark] .m7cgunb{outline-width:medium}[data-mode=light] .m7cgunc,[data-mode=dark] .m7cgund{outline-width:thick}.esx0bg0{background-color:inherit;width:var(--mosaic-space-none)}
1
+ div[contenteditable]{outline:none}._1q293jk0{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"toolbar" "editor"}._1q293jk1{grid-area:toolbar;position:sticky;top:44px;z-index:2}._1q293jk3{display:flex;margin-top:var(--mosaic-space-vertical-x3);flex-wrap:wrap;grid-area:editor}._1q293jk4{display:flex;flex-direction:row}._1q293jk5{background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==);cursor:col-resize}._1qc5rwi0{background:inherit;display:flex;justify-content:center;flex-shrink:0;flex-grow:0;position:relative;overflow:hidden;padding:var(--mosaic-space-horizontal-x1)}._1qc5rwi1{margin-right:auto}._1qc5rwi0._1qc5rwi2{margin-left:auto!important}._1qc5rwi0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}.u64up60{width:14px;font-size:12px}.u64up61{font-weight:var(--mosaic-fontWeight-bold)}.u64up62{font-style:italic}.u64up63{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.fdaqer0{z-index:10}._195c2ps0{width:var(--mosaic-space-horizontal-x10)}._195c2ps1{position:relative;margin:var(--mosaic-space-horizontal-x2)}._195c2ps2{position:absolute;top:0;width:25px}._195c2ps3{position:absolute;left:0;height:25px}._195c2ps5{display:flex;justify-content:center;align-items:center;padding-top:var(--mosaic-space-vertical-x2)}._195c2ps7{z-index:1600}._195c2ps0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.trugsj0{min-width:500px}.jmottr0{width:100%}._1cwa3bz0{width:100%}._1lleyna0{overflow:hidden;position:relative;display:flex;align-items:center;padding:var(--mosaic-space-horizontal-x1);height:44px}._1lleyna1>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x2)}._1thn0560:before{content:"";position:absolute;background:inherit;top:6px;right:0;width:1px;height:var(--mosaic-space-vertical-x6)}._16n1zmy0{font-weight:var(--mosaic-fontWeight-bold)}._16n1zmy1{font-style:italic}._16n1zmy2{text-decoration:underline}._16n1zmy3{text-decoration:line-through}._16n1zmy4{text-decoration:underline line-through}._16n1zmy9{font-weight:inherit}._16n1zmyc:first-of-type{font-weight:var(--mosaic-fontWeight-bold)}._1w4kk0j0{padding:var(--mosaic-space-vertical-x2);opacity:var(--mosaic-opacity-light-disabled)}._1w4kk0j1{font-size:var(--mosaic-fontSize-s80);font-style:var(--mosaic-fontWeight-semibold);opacity:1}._1w4kk0j2{opacity:1}._1w4kk0j3{margin-left:var(--mosaic-space-horizontal-x2);margin-right:var(--mosaic-space-horizontal-x2)}.f424jt0{align-items:center}.f424jt0 [role=heading]{padding-left:var(--mosaic-space-horizontal-x2)}._94v2lj0{padding:var(--mosaic-space-vertical-x1);margin-left:var(--mosaic-space-horizontal-x2)}._1q5lqdi0{padding:var(--mosaic-space-horizontal-x3);max-height:100vh;overflow:scroll}._1a2284c0{min-width:100px}._1a2284c0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-none)}[data-mode=light] .m7cgun0,[data-mode=dark] .m7cgun1{outline-color:var(--mosaic-color-light-selectable-inEdit)}[data-mode=light] .m7cgun2,[data-mode=dark] .m7cgun3{outline-color:var(--mosaic-color-dark-selectable-inEdit)}[data-mode=light] .m7cgun4,[data-mode=dark] .m7cgun5{outline-style:solid}[data-mode=light] .m7cgun6,[data-mode=dark] .m7cgun7{outline-style:dashed}[data-mode=light] .m7cgun8,[data-mode=dark] .m7cgun9{outline-width:thin}[data-mode=light] .m7cguna,[data-mode=dark] .m7cgunb{outline-width:medium}[data-mode=light] .m7cgunc,[data-mode=dark] .m7cgund{outline-width:thick}.esx0bg0{height:var(--mosaic-space-vertical-x8)}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{b as c}from"./chunk-5JA4V4PV.js";import"./chunk-B3MUPQQA.js";import"./chunk-ZUGL4RMA.js";import"./chunk-L5I3DIHV.js";import"./chunk-KZXCNQER.js";import"./chunk-HYOY3SMH.js";import"./chunk-GWUYDDYS.js";import"./chunk-6TWGPQT5.js";import"./chunk-MOZEUF74.js";import"./chunk-6TM3EYFS.js";import"./chunk-UWF3FV3R.js";import"./chunk-KQ2ZCDYD.js";import"./chunk-DK6F4XAE.js";import"./chunk-G4LBXKDE.js";import"./chunk-HB6ONQSD.js";import"./chunk-5YCBSSDA.js";import"./chunk-MJUOPD42.js";import"./chunk-KD66I56W.js";import"./chunk-ESKW4XF6.js";import"./chunk-6YPAVQF4.js";import"./chunk-3FJGHVH5.js";import"./chunk-JQUDHJIQ.js";import"./chunk-XGBC7YGO.js";import"./chunk-WNTJMWYJ.js";import"./chunk-ESJNOEFD.js";import"./chunk-RT5CJ7T5.js";import"./chunk-QKOQTH4L.js";import"./chunk-FW7CHFWO.js";import"./chunk-RO6ARCLZ.js";import"./chunk-SI5CM3F4.js";import"./chunk-4CRC7NS5.js";import"./chunk-JYGEHLYM.js";import"./chunk-U7COOUR6.js";import"./chunk-R6U5TOP4.js";import"./chunk-VO6JTL4J.js";import"./chunk-XP37MJCS.js";import"./chunk-P5OBPOC4.js";import"./chunk-FKL4ZGDB.js";import"./chunk-YBFKG74H.js";import"./chunk-JJ5K5LVL.js";import"./chunk-WZYDYWT3.js";import"./chunk-PMMRU33I.js";import"./chunk-FFJYM47T.js";import"./chunk-FI57IKHZ.js";import"./chunk-WCG3U3X2.js";import"./chunk-NXV7KCC5.js";import{a as d}from"./chunk-PZZKTKIE.js";import"./chunk-WTMALWJU.js";import"./chunk-PC66Q33O.js";import{c as a,f as b}from"./chunk-G57W376H.js";export{c as Editor,d as EditorControls,b as useContentEditor,a as usePageState};
1
+ import{b as c}from"./chunk-SYL4AGHI.js";import"./chunk-BINIAABY.js";import"./chunk-4B2NDAA2.js";import"./chunk-4LQ77YZW.js";import"./chunk-DLRFTDUZ.js";import"./chunk-UBWAGWSM.js";import"./chunk-KZXCNQER.js";import"./chunk-DXTVYP7D.js";import"./chunk-NFA3MZOC.js";import"./chunk-FNNLNVQZ.js";import"./chunk-6EO5B7QP.js";import"./chunk-R2MEEU32.js";import"./chunk-UWF3FV3R.js";import"./chunk-KQ2ZCDYD.js";import"./chunk-QHE4U3WR.js";import"./chunk-BFF3MNBV.js";import"./chunk-5YCBSSDA.js";import"./chunk-NFSXCTUU.js";import"./chunk-6TM3EYFS.js";import"./chunk-M4ISRNFD.js";import"./chunk-ESJNOEFD.js";import"./chunk-WNTJMWYJ.js";import"./chunk-RT5CJ7T5.js";import"./chunk-G4LBXKDE.js";import"./chunk-YBFKG74H.js";import"./chunk-ROQUYURQ.js";import"./chunk-ESKW4XF6.js";import"./chunk-6YPAVQF4.js";import"./chunk-3FJGHVH5.js";import"./chunk-JQUDHJIQ.js";import{a as d}from"./chunk-ZHZ4E2MI.js";import"./chunk-PC66Q33O.js";import"./chunk-QKOQTH4L.js";import"./chunk-FW7CHFWO.js";import"./chunk-RO6ARCLZ.js";import"./chunk-EMHRWY75.js";import"./chunk-MZJ4JT73.js";import"./chunk-B6MFPF7L.js";import"./chunk-U7COOUR6.js";import"./chunk-WCOTJ6JY.js";import"./chunk-WZYDYWT3.js";import"./chunk-YIFLQ5MW.js";import"./chunk-XP37MJCS.js";import"./chunk-P5OBPOC4.js";import"./chunk-7JRJTNUG.js";import"./chunk-GYUEXLD6.js";import"./chunk-FH2LMMJT.js";import"./chunk-7LK4O57W.js";import"./chunk-3QIETKQW.js";import"./chunk-Y2A2ULLZ.js";import{c as a,f as b}from"./chunk-G57W376H.js";import"./chunk-TSWYSURQ.js";import"./chunk-FKL4ZGDB.js";import"./chunk-Z6W7GDHE.js";import"./chunk-PXUVNH4P.js";import"./chunk-XSZUCLBY.js";import"./chunk-OW5SK4AJ.js";import"./chunk-NXV7KCC5.js";import"./chunk-6X665P47.js";export{c as Editor,d as EditorControls,b as useContentEditor,a as usePageState};
@@ -1 +1 @@
1
- .fdaqer0{z-index:10}._1sg4vms0{width:28px;height:28px}.u64up60{margin:-8px 0 0}.u64up61{width:14px;font-size:12px}.u64up62{font-weight:var(--mosaic-fontWeight-bold)}.u64up63{font-style:italic}.u64up64{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}._1cwa3bz0{width:100%}
1
+ .fdaqer0{z-index:10}._1qc5rwi0{background:inherit;display:flex;justify-content:center;flex-shrink:0;flex-grow:0;position:relative;overflow:hidden;padding:var(--mosaic-space-horizontal-x1)}._1qc5rwi1{margin-right:auto}._1qc5rwi0._1qc5rwi2{margin-left:auto!important}._1qc5rwi0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}.u64up60{width:14px;font-size:12px}.u64up61{font-weight:var(--mosaic-fontWeight-bold)}.u64up62{font-style:italic}.u64up63{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.trugsj0{min-width:500px}._1cwa3bz0{width:100%}._1lleyna0{overflow:hidden;position:relative;display:flex;align-items:center;padding:var(--mosaic-space-horizontal-x1);height:44px}._1lleyna1>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x2)}._1a2284c0{min-width:100px}._1a2284c0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-none)}
@@ -0,0 +1 @@
1
+ ._1a2284c0{min-width:100px}._1a2284c0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-none)}
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ toolbar: string;
3
+ };
4
+ export default _default;
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-TSWYSURQ.js";export{a as default};
@@ -1 +1 @@
1
- import{a}from"../chunk-SI5CM3F4.js";import"../chunk-4CRC7NS5.js";import"../chunk-JYGEHLYM.js";import"../chunk-U7COOUR6.js";import"../chunk-R6U5TOP4.js";import"../chunk-VO6JTL4J.js";import"../chunk-XP37MJCS.js";import"../chunk-P5OBPOC4.js";import"../chunk-JJ5K5LVL.js";import"../chunk-WZYDYWT3.js";import"../chunk-PMMRU33I.js";import"../chunk-FFJYM47T.js";import"../chunk-G57W376H.js";export{a as FloatingToolbarPlugin};
1
+ import{a}from"../chunk-EMHRWY75.js";import"../chunk-MZJ4JT73.js";import"../chunk-B6MFPF7L.js";import"../chunk-U7COOUR6.js";import"../chunk-WCOTJ6JY.js";import"../chunk-WZYDYWT3.js";import"../chunk-YIFLQ5MW.js";import"../chunk-XP37MJCS.js";import"../chunk-P5OBPOC4.js";import"../chunk-7JRJTNUG.js";import"../chunk-GYUEXLD6.js";import"../chunk-FH2LMMJT.js";import"../chunk-7LK4O57W.js";import"../chunk-3QIETKQW.js";import"../chunk-Y2A2ULLZ.js";import"../chunk-G57W376H.js";import"../chunk-TSWYSURQ.js";import"../chunk-XSZUCLBY.js";import"../chunk-OW5SK4AJ.js";export{a as FloatingToolbarPlugin};
@@ -1 +1 @@
1
- ._1sg4vms0{width:28px;height:28px}._1cwa3bz0{width:100%}
1
+ .c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}.trugsj0{min-width:500px}._1cwa3bz0{width:100%}
@@ -1 +1 @@
1
- import{a,b}from"../chunk-JJ5K5LVL.js";import"../chunk-WZYDYWT3.js";import"../chunk-PMMRU33I.js";import"../chunk-FFJYM47T.js";import"../chunk-G57W376H.js";export{a as INSERT_MARKDOWN_LINK_COMMAND,b as MarkdownLinkPlugin};
1
+ import{a,b}from"../chunk-WCOTJ6JY.js";import"../chunk-WZYDYWT3.js";import"../chunk-3QIETKQW.js";import"../chunk-Y2A2ULLZ.js";import"../chunk-G57W376H.js";import"../chunk-XSZUCLBY.js";import"../chunk-OW5SK4AJ.js";export{a as INSERT_MARKDOWN_LINK_COMMAND,b as MarkdownLinkPlugin};
@@ -1 +1 @@
1
- div[contenteditable]{outline:none}._1q293jk0{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"toolbar" "editor"}._1q293jk1{grid-area:toolbar;position:sticky;top:44px;z-index:2}._1q293jk3{display:flex;margin-top:var(--mosaic-space-vertical-x3);flex-wrap:wrap;grid-area:editor}._1q293jk4{display:flex;flex-direction:row}._1q293jk5{background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==);cursor:col-resize}._1sg4vms0{width:28px;height:28px}.u64up60{margin:-8px 0 0}.u64up61{width:14px;font-size:12px}.u64up62{font-weight:var(--mosaic-fontWeight-bold)}.u64up63{font-style:italic}.u64up64{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.fdaqer0{z-index:10}._195c2ps0{position:relative;margin:var(--mosaic-space-horizontal-x2)}._195c2ps1{position:absolute;top:0;width:25px}._195c2ps2{position:absolute;left:0;height:25px}._195c2ps4{display:flex;justify-content:center;align-items:center;padding-top:var(--mosaic-space-vertical-x2)}._195c2ps6{z-index:1600}._195c2ps8{margin-left:var(--mosaic-space-horizontal-x1)}.jmottr0{width:100%}._1cwa3bz0{width:100%}._16n1zmy0{font-weight:var(--mosaic-fontWeight-bold)}._16n1zmy1{font-style:italic}._16n1zmy2{text-decoration:underline}._16n1zmy3{text-decoration:line-through}._16n1zmy4{text-decoration:underline line-through}._16n1zmy9{font-weight:inherit}._16n1zmyc:first-of-type{font-weight:var(--mosaic-fontWeight-bold)}._1w4kk0j0{padding:var(--mosaic-space-vertical-x2);opacity:var(--mosaic-opacity-light-disabled)}._1w4kk0j1{font-size:var(--mosaic-fontSize-s80);font-style:var(--mosaic-fontWeight-semibold);opacity:1}._1w4kk0j2{opacity:1}._1w4kk0j3{margin-left:var(--mosaic-space-horizontal-x2);margin-right:var(--mosaic-space-horizontal-x2)}._94v2lj0{padding:var(--mosaic-space-vertical-x1);margin-left:var(--mosaic-space-horizontal-x2)}._1q5lqdi0{padding:var(--mosaic-space-horizontal-x3);max-height:100vh;overflow:scroll}[data-mode=light] .m7cgun0,[data-mode=dark] .m7cgun1{outline-color:var(--mosaic-color-light-selectable-inEdit)}[data-mode=light] .m7cgun2,[data-mode=dark] .m7cgun3{outline-color:var(--mosaic-color-dark-selectable-inEdit)}[data-mode=light] .m7cgun4,[data-mode=dark] .m7cgun5{outline-style:solid}[data-mode=light] .m7cgun6,[data-mode=dark] .m7cgun7{outline-style:dashed}[data-mode=light] .m7cgun8,[data-mode=dark] .m7cgun9{outline-width:thin}[data-mode=light] .m7cguna,[data-mode=dark] .m7cgunb{outline-width:medium}[data-mode=light] .m7cgunc,[data-mode=dark] .m7cgund{outline-width:thick}.esx0bg0{background-color:inherit;width:var(--mosaic-space-none)}
1
+ div[contenteditable]{outline:none}._1q293jk0{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"toolbar" "editor"}._1q293jk1{grid-area:toolbar;position:sticky;top:44px;z-index:2}._1q293jk3{display:flex;margin-top:var(--mosaic-space-vertical-x3);flex-wrap:wrap;grid-area:editor}._1q293jk4{display:flex;flex-direction:row}._1q293jk5{background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==);cursor:col-resize}._1qc5rwi0{background:inherit;display:flex;justify-content:center;flex-shrink:0;flex-grow:0;position:relative;overflow:hidden;padding:var(--mosaic-space-horizontal-x1)}._1qc5rwi1{margin-right:auto}._1qc5rwi0._1qc5rwi2{margin-left:auto!important}._1qc5rwi0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.c37l3h0{width:28px;height:28px;line-height:1;padding:var(--mosaic-space-horizontal-none)}.u64up60{width:14px;font-size:12px}.u64up61{font-weight:var(--mosaic-fontWeight-bold)}.u64up62{font-style:italic}.u64up63{width:22px;height:18px;background-color:inherit!important;display:inline-flex;justify-content:center;align-items:center}.fdaqer0{z-index:10}._195c2ps0{width:var(--mosaic-space-horizontal-x10)}._195c2ps1{position:relative;margin:var(--mosaic-space-horizontal-x2)}._195c2ps2{position:absolute;top:0;width:25px}._195c2ps3{position:absolute;left:0;height:25px}._195c2ps5{display:flex;justify-content:center;align-items:center;padding-top:var(--mosaic-space-vertical-x2)}._195c2ps7{z-index:1600}._195c2ps0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x1)}.trugsj0{min-width:500px}.jmottr0{width:100%}._1cwa3bz0{width:100%}._1lleyna0{overflow:hidden;position:relative;display:flex;align-items:center;padding:var(--mosaic-space-horizontal-x1);height:44px}._1lleyna1>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-x2)}._1thn0560:before{content:"";position:absolute;background:inherit;top:6px;right:0;width:1px;height:var(--mosaic-space-vertical-x6)}._16n1zmy0{font-weight:var(--mosaic-fontWeight-bold)}._16n1zmy1{font-style:italic}._16n1zmy2{text-decoration:underline}._16n1zmy3{text-decoration:line-through}._16n1zmy4{text-decoration:underline line-through}._16n1zmy9{font-weight:inherit}._16n1zmyc:first-of-type{font-weight:var(--mosaic-fontWeight-bold)}._1w4kk0j0{padding:var(--mosaic-space-vertical-x2);opacity:var(--mosaic-opacity-light-disabled)}._1w4kk0j1{font-size:var(--mosaic-fontSize-s80);font-style:var(--mosaic-fontWeight-semibold);opacity:1}._1w4kk0j2{opacity:1}._1w4kk0j3{margin-left:var(--mosaic-space-horizontal-x2);margin-right:var(--mosaic-space-horizontal-x2)}.f424jt0{align-items:center}.f424jt0 [role=heading]{padding-left:var(--mosaic-space-horizontal-x2)}._94v2lj0{padding:var(--mosaic-space-vertical-x1);margin-left:var(--mosaic-space-horizontal-x2)}._1q5lqdi0{padding:var(--mosaic-space-horizontal-x3);max-height:100vh;overflow:scroll}._1a2284c0{min-width:100px}._1a2284c0>*:not(:first-child){margin-left:var(--mosaic-space-horizontal-none)}[data-mode=light] .m7cgun0,[data-mode=dark] .m7cgun1{outline-color:var(--mosaic-color-light-selectable-inEdit)}[data-mode=light] .m7cgun2,[data-mode=dark] .m7cgun3{outline-color:var(--mosaic-color-dark-selectable-inEdit)}[data-mode=light] .m7cgun4,[data-mode=dark] .m7cgun5{outline-style:solid}[data-mode=light] .m7cgun6,[data-mode=dark] .m7cgun7{outline-style:dashed}[data-mode=light] .m7cgun8,[data-mode=dark] .m7cgun9{outline-width:thin}[data-mode=light] .m7cguna,[data-mode=dark] .m7cgunb{outline-width:medium}[data-mode=light] .m7cgunc,[data-mode=dark] .m7cgund{outline-width:thick}.esx0bg0{height:var(--mosaic-space-vertical-x8)}
@@ -1,5 +1,6 @@
1
- import React from 'react';
2
- export declare type PreviewPluginProps = {
3
- compileMDX: (source: string, parseFrontMatter: boolean) => Promise<any>;
4
- };
5
- export declare const PreviewPlugin: React.FC<PreviewPluginProps>;
1
+ /// <reference types="react" />
2
+ interface PreviewPluginProps {
3
+ previewUrl: string;
4
+ }
5
+ export declare const PreviewPlugin: ({ previewUrl }: PreviewPluginProps) => JSX.Element;
6
+ export {};
@@ -1 +1 @@
1
- import{a}from"../chunk-5JA4V4PV.js";import"../chunk-B3MUPQQA.js";import"../chunk-ZUGL4RMA.js";import"../chunk-L5I3DIHV.js";import"../chunk-KZXCNQER.js";import"../chunk-HYOY3SMH.js";import"../chunk-GWUYDDYS.js";import"../chunk-6TWGPQT5.js";import"../chunk-MOZEUF74.js";import"../chunk-6TM3EYFS.js";import"../chunk-UWF3FV3R.js";import"../chunk-KQ2ZCDYD.js";import"../chunk-DK6F4XAE.js";import"../chunk-G4LBXKDE.js";import"../chunk-HB6ONQSD.js";import"../chunk-5YCBSSDA.js";import"../chunk-MJUOPD42.js";import"../chunk-KD66I56W.js";import"../chunk-ESKW4XF6.js";import"../chunk-6YPAVQF4.js";import"../chunk-3FJGHVH5.js";import"../chunk-JQUDHJIQ.js";import"../chunk-XGBC7YGO.js";import"../chunk-WNTJMWYJ.js";import"../chunk-ESJNOEFD.js";import"../chunk-RT5CJ7T5.js";import"../chunk-QKOQTH4L.js";import"../chunk-FW7CHFWO.js";import"../chunk-RO6ARCLZ.js";import"../chunk-SI5CM3F4.js";import"../chunk-4CRC7NS5.js";import"../chunk-JYGEHLYM.js";import"../chunk-U7COOUR6.js";import"../chunk-R6U5TOP4.js";import"../chunk-VO6JTL4J.js";import"../chunk-XP37MJCS.js";import"../chunk-P5OBPOC4.js";import"../chunk-FKL4ZGDB.js";import"../chunk-YBFKG74H.js";import"../chunk-JJ5K5LVL.js";import"../chunk-WZYDYWT3.js";import"../chunk-PMMRU33I.js";import"../chunk-FFJYM47T.js";import"../chunk-FI57IKHZ.js";import"../chunk-WCG3U3X2.js";import"../chunk-NXV7KCC5.js";import"../chunk-PZZKTKIE.js";import"../chunk-WTMALWJU.js";import"../chunk-PC66Q33O.js";import"../chunk-G57W376H.js";export{a as PreviewPlugin};
1
+ import{a}from"../chunk-SYL4AGHI.js";import"../chunk-BINIAABY.js";import"../chunk-4B2NDAA2.js";import"../chunk-4LQ77YZW.js";import"../chunk-DLRFTDUZ.js";import"../chunk-UBWAGWSM.js";import"../chunk-KZXCNQER.js";import"../chunk-DXTVYP7D.js";import"../chunk-NFA3MZOC.js";import"../chunk-FNNLNVQZ.js";import"../chunk-6EO5B7QP.js";import"../chunk-R2MEEU32.js";import"../chunk-UWF3FV3R.js";import"../chunk-KQ2ZCDYD.js";import"../chunk-QHE4U3WR.js";import"../chunk-BFF3MNBV.js";import"../chunk-5YCBSSDA.js";import"../chunk-NFSXCTUU.js";import"../chunk-6TM3EYFS.js";import"../chunk-M4ISRNFD.js";import"../chunk-ESJNOEFD.js";import"../chunk-WNTJMWYJ.js";import"../chunk-RT5CJ7T5.js";import"../chunk-G4LBXKDE.js";import"../chunk-YBFKG74H.js";import"../chunk-ROQUYURQ.js";import"../chunk-ESKW4XF6.js";import"../chunk-6YPAVQF4.js";import"../chunk-3FJGHVH5.js";import"../chunk-JQUDHJIQ.js";import"../chunk-ZHZ4E2MI.js";import"../chunk-PC66Q33O.js";import"../chunk-QKOQTH4L.js";import"../chunk-FW7CHFWO.js";import"../chunk-RO6ARCLZ.js";import"../chunk-EMHRWY75.js";import"../chunk-MZJ4JT73.js";import"../chunk-B6MFPF7L.js";import"../chunk-U7COOUR6.js";import"../chunk-WCOTJ6JY.js";import"../chunk-WZYDYWT3.js";import"../chunk-YIFLQ5MW.js";import"../chunk-XP37MJCS.js";import"../chunk-P5OBPOC4.js";import"../chunk-7JRJTNUG.js";import"../chunk-GYUEXLD6.js";import"../chunk-FH2LMMJT.js";import"../chunk-7LK4O57W.js";import"../chunk-3QIETKQW.js";import"../chunk-Y2A2ULLZ.js";import"../chunk-G57W376H.js";import"../chunk-TSWYSURQ.js";import"../chunk-FKL4ZGDB.js";import"../chunk-Z6W7GDHE.js";import"../chunk-PXUVNH4P.js";import"../chunk-XSZUCLBY.js";import"../chunk-OW5SK4AJ.js";import"../chunk-NXV7KCC5.js";import"../chunk-6X665P47.js";export{a as PreviewPlugin};
@@ -1 +1 @@
1
- import{a}from"../chunk-KD66I56W.js";import"../chunk-ESKW4XF6.js";import"../chunk-6YPAVQF4.js";import"../chunk-R6U5TOP4.js";import"../chunk-VO6JTL4J.js";import"../chunk-XP37MJCS.js";import"../chunk-P5OBPOC4.js";export{a as TableActionMenuPlugin};
1
+ import{a}from"../chunk-ROQUYURQ.js";import"../chunk-ESKW4XF6.js";import"../chunk-6YPAVQF4.js";import"../chunk-YIFLQ5MW.js";import"../chunk-XP37MJCS.js";import"../chunk-P5OBPOC4.js";export{a as TableActionMenuPlugin};
@@ -1 +1 @@
1
- import{a}from"../chunk-XGBC7YGO.js";import"../chunk-WNTJMWYJ.js";import"../chunk-ESJNOEFD.js";import"../chunk-RT5CJ7T5.js";export{a as default};
1
+ import{a}from"../chunk-M4ISRNFD.js";import"../chunk-ESJNOEFD.js";import"../chunk-WNTJMWYJ.js";import"../chunk-RT5CJ7T5.js";export{a as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jpmorganchase/mosaic-content-editor-plugin",
3
3
  "description": "Mosaic - In Browser content editing plugin",
4
- "version": "0.1.0-beta.37",
4
+ "version": "0.1.0-beta.39",
5
5
  "license": "Apache-2.0",
6
6
  "author": "",
7
7
  "repository": {
@@ -38,25 +38,26 @@
38
38
  "typescript": "^4.8.3"
39
39
  },
40
40
  "dependencies": {
41
- "@jpmorganchase/mosaic-components": "^0.1.0-beta.37",
42
- "@jpmorganchase/mosaic-theme": "^0.1.0-beta.37",
41
+ "@jpmorganchase/mosaic-components": "^0.1.0-beta.39",
42
+ "@jpmorganchase/mosaic-theme": "^0.1.0-beta.39",
43
43
  "@salt-ds/core": "^1.8.0-rc.0",
44
44
  "@salt-ds/icons": "^1.4.0",
45
45
  "@salt-ds/lab": "1.0.0-alpha.10",
46
46
  "@salt-ds/theme": "^1.5.1",
47
- "@lexical/code": "0.5.0",
48
- "@lexical/link": "0.5.0",
49
- "@lexical/list": "0.5.0",
50
- "@lexical/rich-text": "0.5.0",
51
- "@lexical/table": "0.5.0",
52
- "@lexical/react": "0.5.0",
53
- "@lexical/selection": "0.5.0",
54
- "@lexical/utils": "0.5.0",
55
- "@lexical/markdown": "0.5.0",
47
+ "@floating-ui/react": "^0.23.0",
48
+ "@lexical/code": "^0.11.1",
49
+ "@lexical/link": "^0.11.1",
50
+ "@lexical/list": "^0.11.1",
51
+ "@lexical/rich-text": "^0.11.1",
52
+ "@lexical/table": "^0.11.1",
53
+ "@lexical/react": "^0.11.1",
54
+ "@lexical/selection": "^0.11.1",
55
+ "@lexical/utils": "^0.11.1",
56
+ "@lexical/markdown": "^0.11.1",
56
57
  "@vanilla-extract/css": "^1.6.0",
57
58
  "clsx": "^1.2.1",
58
59
  "gray-matter": "^4.0.3",
59
- "lexical": "0.5.0",
60
+ "lexical": "^0.11.1",
60
61
  "react-split": "^2.0.14",
61
62
  "lodash": "^4.17.21",
62
63
  "yup": "^0.32.9",
package/src/api/save.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  export function save(
2
2
  user: { sid: string; name: string; email: string },
3
3
  route: string,
4
- markdown: string
4
+ markdown: string,
5
+ persistUrl: string
5
6
  ) {
6
- /** TODO: fixup with Pull Docs host URL */
7
- return fetch('http://localhost:8080/savecontent', {
7
+ return fetch(persistUrl, {
8
8
  method: 'POST',
9
- body: JSON.stringify({ user, route, markdown }),
9
+ body: JSON.stringify({ user, route, markdown, name: 'save' }),
10
10
  headers: { Accept: 'application/json', 'Content-Type': 'application/json' }
11
11
  });
12
12
  }
@@ -0,0 +1,21 @@
1
+ import { globalStyle, style } from '@vanilla-extract/css';
2
+ import { backgroundColor, vars } from '@jpmorganchase/mosaic-theme';
3
+
4
+ const root = style([
5
+ backgroundColor({ variant: 'emphasis' }),
6
+ style({
7
+ overflow: 'hidden',
8
+ position: 'relative',
9
+ display: 'flex',
10
+ alignItems: 'center',
11
+ padding: vars.space.horizontal.x1,
12
+ height: '44px'
13
+ })
14
+ ]);
15
+ export default {
16
+ root
17
+ };
18
+
19
+ globalStyle(`${root} > *:not(:first-child)`, {
20
+ marginLeft: vars.space.horizontal.x2
21
+ });
@@ -0,0 +1,13 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import classnames from 'clsx';
3
+
4
+ import styles from './BaseToolbar.css';
5
+
6
+ interface BaseToolbarProps {
7
+ className?: string;
8
+ children?: ReactNode;
9
+ }
10
+
11
+ export const BaseToolbar = ({ className, ...rest }: BaseToolbarProps) => (
12
+ <div className={classnames(className, styles.root)} {...rest} />
13
+ );
@@ -0,0 +1,31 @@
1
+ import { globalStyle, style } from '@vanilla-extract/css';
2
+ import { vars } from '@jpmorganchase/mosaic-theme';
3
+
4
+ const root = style({
5
+ background: 'inherit',
6
+ display: 'flex',
7
+ justifyContent: 'center',
8
+ flexShrink: 0,
9
+ flexGrow: 0,
10
+ position: 'relative',
11
+ overflow: 'hidden',
12
+ padding: vars.space.horizontal.x1
13
+ });
14
+
15
+ export default {
16
+ alignLeft: style({
17
+ marginRight: 'auto'
18
+ }),
19
+ alignRight: style({
20
+ selectors: {
21
+ [`${root}&`]: {
22
+ marginLeft: 'auto!important'
23
+ }
24
+ }
25
+ }),
26
+ root
27
+ };
28
+
29
+ globalStyle(`${root} > *:not(:first-child)`, {
30
+ marginLeft: vars.space.horizontal.x1
31
+ });
@@ -0,0 +1,22 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import classnames from 'clsx';
3
+
4
+ import styles from './BaseTooltray.css';
5
+
6
+ type Alignment = 'left' | 'right';
7
+
8
+ interface BaseTooltrayProps {
9
+ className?: string;
10
+ children?: ReactNode;
11
+ align?: Alignment;
12
+ }
13
+
14
+ export const BaseTooltray = ({ className, align, ...rest }: BaseTooltrayProps) => (
15
+ <div
16
+ className={classnames(className, styles.root, {
17
+ [styles.alignLeft]: align === 'left',
18
+ [styles.alignRight]: align === 'right'
19
+ })}
20
+ {...rest}
21
+ />
22
+ );
@@ -1,11 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';
3
3
  import { ContentEditable } from '@lexical/react/LexicalContentEditable';
4
+ import LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';
4
5
 
5
6
  const ContentEditor = () => (
6
7
  <RichTextPlugin
7
8
  contentEditable={<ContentEditable />}
8
9
  placeholder={<div>Enter some text...</div>}
10
+ ErrorBoundary={LexicalErrorBoundary}
9
11
  />
10
12
  );
11
13
 
@@ -0,0 +1,7 @@
1
+ import { style } from '@vanilla-extract/css';
2
+
3
+ export default {
4
+ root: style({
5
+ minWidth: 500
6
+ })
7
+ };
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Dialog as SaltDialog, type DialogProps as SaltDialogProps } from '@salt-ds/lab';
3
+ import { themeClassName } from '@jpmorganchase/mosaic-theme';
4
+ import classnames from 'clsx';
5
+
6
+ import style from './Dialog.css';
7
+
8
+ interface DialogProps extends SaltDialogProps {}
9
+
10
+ export const Dialog = ({ className, ...props }: DialogProps) => (
11
+ <SaltDialog className={classnames(themeClassName, style.root, className)} {...props} />
12
+ );
@@ -28,7 +28,6 @@ import HorizontalRulePlugin from '../plugins/HorizontalRulePlugin';
28
28
  import { FloatingToolbarPlugin } from '../plugins/FloatingToolbarPlugin';
29
29
  import { TableActionMenuPlugin } from '../plugins/TableActionMenuPlugin';
30
30
  import { InsertLinkDialog } from './Toolbar/InsertLink';
31
- import type { PreviewPluginProps } from '../plugins/PreviewPlugin';
32
31
 
33
32
  function onError(error: Error) {
34
33
  console.error(error);
@@ -47,9 +46,11 @@ interface PreviewComponentProps {
47
46
  components: any;
48
47
  }
49
48
 
50
- interface EditorProps extends PreviewComponentProps, Partial<PreviewPluginProps> {
49
+ interface EditorProps extends PreviewComponentProps {
51
50
  content: string;
52
51
  PreviewComponent?: ComponentType<PreviewComponentProps>;
52
+ previewUrl?: string;
53
+ persistUrl?: string;
53
54
  user?: any;
54
55
  }
55
56
 
@@ -60,12 +61,13 @@ const gutter = () => {
60
61
  };
61
62
 
62
63
  const Editor: FC<EditorProps> = ({
63
- compileMDX,
64
+ components,
64
65
  content,
65
- source,
66
+ persistUrl,
66
67
  PreviewComponent,
67
- user,
68
- components
68
+ previewUrl,
69
+ source,
70
+ user
69
71
  }) => {
70
72
  const previewContent = usePreviewContent() || source;
71
73
  const { setUser } = useEditorUser();
@@ -92,7 +94,7 @@ const Editor: FC<EditorProps> = ({
92
94
  <div className={styles.root} onFocus={handleEditorFocus} onBlur={handleEditorBlur}>
93
95
  <div className={styles.toolbarContainer}>
94
96
  <Toolbar />
95
- <PersistDialog meta={meta} />
97
+ <PersistDialog meta={meta} persistUrl={persistUrl} />
96
98
  <StatusBanner />
97
99
  </div>
98
100
  <div className={styles.editorRoot}>
@@ -128,7 +130,7 @@ const Editor: FC<EditorProps> = ({
128
130
  <TablePlugin />
129
131
  <LinkPlugin />
130
132
  <MarkdownShortcutPlugin transformers={transformers} />
131
- {compileMDX && <PreviewPlugin compileMDX={compileMDX} />}
133
+ {previewUrl ? <PreviewPlugin previewUrl={previewUrl} /> : null}
132
134
  <MarkdownImagePlugin />
133
135
  <MarkdownLinkPlugin />
134
136
  <LinkEditor />
@@ -1,9 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
- import { vars } from '@jpmorganchase/mosaic-theme';
2
+ import { backgroundColor, vars } from '@jpmorganchase/mosaic-theme';
3
3
 
4
4
  export default {
5
- root: style({
6
- backgroundColor: 'inherit',
7
- width: vars.space.none
8
- })
5
+ root: style([backgroundColor({ variant: 'regular' }), style({ height: vars.space.vertical.x8 })])
9
6
  };
@@ -1,31 +1,37 @@
1
1
  import React from 'react';
2
2
  import { Icon } from '@jpmorganchase/mosaic-components';
3
- import { Toolbar as SaltToolbar, Tooltray, ToolbarButton } from '@salt-ds/lab';
3
+ import { BaseToolbar as Toolbar } from './BaseToolbar/BaseToolbar';
4
+ import { BaseTooltray as Tooltray } from './BaseTooltray/BaseTooltray';
5
+ import { ToolbarButton } from './Toolbar/ToolbarButton';
4
6
 
5
7
  import { default as useContentEditor } from '../store';
6
8
  import styles from './EditorControls.css';
7
9
 
8
- export const EditorControls = ({ isLoggedIn = false }) => {
10
+ export interface EditorControlsProps {
11
+ enabled?: boolean;
12
+ }
13
+
14
+ export const EditorControls = ({ enabled = false }: EditorControlsProps) => {
9
15
  const { pageState, startEditing, stopEditing } = useContentEditor();
10
16
  const isEditing = pageState === 'EDIT';
11
17
 
12
18
  const handleClick = () => (!isEditing ? startEditing() : stopEditing());
13
19
 
14
- const loggedInLabel = isEditing ? 'Cancel Editing' : 'Edit Page';
15
- const overflowLabel = !isLoggedIn ? 'Login Required to Edit' : loggedInLabel;
20
+ const enabledLabel = isEditing ? 'Cancel Editing' : 'Edit Page';
21
+ const overflowLabel = !enabled ? 'Login Required to Edit' : enabledLabel;
16
22
 
17
23
  return (
18
- <SaltToolbar aria-label="editor-controls" className={styles.root}>
24
+ <Toolbar aria-label="editor-controls" className={styles.root}>
19
25
  <Tooltray aria-label="page editor controls tooltray">
20
26
  <ToolbarButton
21
27
  aria-label={isEditing ? 'cancel editing' : 'start editing'}
22
28
  onClick={handleClick}
23
- disabled={!isLoggedIn}
29
+ disabled={!enabled}
24
30
  label={overflowLabel}
25
31
  >
26
32
  <Icon name={isEditing ? 'delete' : 'edit'} />
27
33
  </ToolbarButton>
28
34
  </Tooltray>
29
- </SaltToolbar>
35
+ </Toolbar>
30
36
  );
31
37
  };
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { Button, Icon } from '@jpmorganchase/mosaic-components';
3
- import type { ButtonProps } from '@jpmorganchase/mosaic-components';
2
+ import { Icon } from '@jpmorganchase/mosaic-components';
3
+ import { ToolbarButton, type ToolbarButtonProps } from '../Toolbar/ToolbarButton';
4
4
 
5
- export const EditLinkButton = (props: ButtonProps) => (
6
- <Button {...props}>
5
+ export const EditLinkButton = (props: ToolbarButtonProps) => (
6
+ <ToolbarButton {...props} aria-label="Edit link" disableTooltip variant="regular">
7
7
  <Icon name="edit" />
8
- </Button>
8
+ </ToolbarButton>
9
9
  );
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
- import { Button, Icon } from '@jpmorganchase/mosaic-components';
2
+ import { Icon } from '@jpmorganchase/mosaic-components';
3
3
  import type { ButtonProps } from '@jpmorganchase/mosaic-components';
4
4
  import { StaticInputAdornment } from '@salt-ds/lab';
5
+ import { ToolbarButton } from '../Toolbar/ToolbarButton';
5
6
 
6
7
  interface SaveAdornmentProps {
7
8
  onSave: ButtonProps['onClick'];
@@ -9,8 +10,8 @@ interface SaveAdornmentProps {
9
10
 
10
11
  export const SaveAdornment = ({ onSave }: SaveAdornmentProps) => (
11
12
  <StaticInputAdornment>
12
- <Button onClick={onSave}>
13
+ <ToolbarButton onClick={onSave} aria-label="save link changes" disableTooltip variant="regular">
13
14
  <Icon name="save" />
14
- </Button>
15
+ </ToolbarButton>
15
16
  </StaticInputAdornment>
16
17
  );
@@ -1,6 +1,6 @@
1
1
  import React, { FC, ReactNode, useEffect, useState } from 'react';
2
2
  import classnames from 'clsx';
3
- import { P2 } from '@jpmorganchase/mosaic-components';
3
+ import { P2, P6 } from '@jpmorganchase/mosaic-components';
4
4
 
5
5
  import styles from './PersistStatus.css';
6
6
 
@@ -58,7 +58,12 @@ export const PersistStatus = ({ isRaising, error }: StatusProps) => {
58
58
  }, [currentStep]);
59
59
 
60
60
  if (error) {
61
- return <P2>😢 Sorry something has went wrong. Please try again later.</P2>;
61
+ return (
62
+ <>
63
+ <P2>😢 Sorry something has went wrong. Please try again later.</P2>
64
+ <P6>Error - {error}</P6>
65
+ </>
66
+ );
62
67
  }
63
68
 
64
69
  return (
@@ -0,0 +1,14 @@
1
+ import { globalStyle, style } from '@vanilla-extract/css';
2
+ import { vars } from '@jpmorganchase/mosaic-theme';
3
+
4
+ const title = style({
5
+ alignItems: 'center'
6
+ });
7
+
8
+ export default {
9
+ title
10
+ };
11
+
12
+ globalStyle(`${title} [role=heading] `, {
13
+ paddingLeft: vars.space.horizontal.x2
14
+ });