@jhits/plugin-blog 0.0.8 → 0.0.10

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 (439) hide show
  1. package/dist/api/categories.d.ts +8 -0
  2. package/dist/api/categories.d.ts.map +1 -0
  3. package/dist/api/categories.js +30 -0
  4. package/dist/api/check-title.d.ts +8 -0
  5. package/dist/api/check-title.d.ts.map +1 -0
  6. package/dist/api/check-title.js +47 -0
  7. package/dist/api/config-handler.d.ts +21 -0
  8. package/dist/api/config-handler.d.ts.map +1 -0
  9. package/dist/api/config-handler.js +46 -0
  10. package/dist/api/handler.d.ts +42 -0
  11. package/dist/api/handler.d.ts.map +1 -0
  12. package/dist/api/handler.js +331 -0
  13. package/dist/api/index.d.ts +12 -0
  14. package/dist/api/index.d.ts.map +1 -0
  15. package/dist/api/index.js +12 -0
  16. package/dist/api/route.d.ts +50 -0
  17. package/dist/api/route.d.ts.map +1 -0
  18. package/dist/api/route.js +69 -0
  19. package/dist/api/router.d.ts +27 -0
  20. package/dist/api/router.d.ts.map +1 -0
  21. package/dist/api/router.js +98 -0
  22. package/dist/api-server.d.ts +9 -0
  23. package/dist/api-server.d.ts.map +1 -0
  24. package/dist/api-server.js +9 -0
  25. package/dist/config.d.ts +14 -0
  26. package/dist/config.d.ts.map +1 -0
  27. package/dist/config.js +156 -0
  28. package/dist/hooks/index.d.ts +8 -0
  29. package/dist/hooks/index.d.ts.map +1 -0
  30. package/dist/hooks/index.js +7 -0
  31. package/dist/hooks/useBlog.d.ts +31 -0
  32. package/dist/hooks/useBlog.d.ts.map +1 -0
  33. package/dist/hooks/useBlog.js +57 -0
  34. package/dist/hooks/useBlogs.d.ts +39 -0
  35. package/dist/hooks/useBlogs.d.ts.map +1 -0
  36. package/dist/hooks/useBlogs.js +82 -0
  37. package/dist/hooks/useCategories.d.ts +9 -0
  38. package/dist/hooks/useCategories.d.ts.map +1 -0
  39. package/dist/hooks/useCategories.js +70 -0
  40. package/dist/index.d.ts +55 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +228 -0
  43. package/dist/index.server.d.ts +12 -0
  44. package/dist/index.server.d.ts.map +1 -0
  45. package/dist/index.server.js +10 -0
  46. package/dist/init.d.ts +40 -0
  47. package/dist/init.d.ts.map +1 -0
  48. package/dist/init.js +41 -0
  49. package/dist/lib/blocks/BlockRenderer.d.ts +54 -0
  50. package/dist/lib/blocks/BlockRenderer.d.ts.map +1 -0
  51. package/dist/lib/blocks/BlockRenderer.js +54 -0
  52. package/dist/lib/blocks/index.d.ts +5 -0
  53. package/dist/lib/blocks/index.d.ts.map +1 -0
  54. package/dist/lib/blocks/index.js +4 -0
  55. package/dist/lib/config-storage.d.ts +30 -0
  56. package/dist/lib/config-storage.d.ts.map +1 -0
  57. package/dist/lib/config-storage.js +31 -0
  58. package/dist/lib/index.d.ts +8 -0
  59. package/dist/lib/index.d.ts.map +1 -0
  60. package/dist/lib/index.js +7 -0
  61. package/dist/lib/layouts/blocks/ColumnsBlock.d.ts +25 -0
  62. package/dist/lib/layouts/blocks/ColumnsBlock.d.ts.map +1 -0
  63. package/dist/lib/layouts/blocks/ColumnsBlock.js +186 -0
  64. package/dist/lib/layouts/blocks/SectionBlock.d.ts +25 -0
  65. package/dist/lib/layouts/blocks/SectionBlock.d.ts.map +1 -0
  66. package/dist/lib/layouts/blocks/SectionBlock.js +44 -0
  67. package/dist/lib/layouts/blocks/index.d.ts +7 -0
  68. package/dist/lib/layouts/blocks/index.d.ts.map +1 -0
  69. package/dist/lib/layouts/blocks/index.js +6 -0
  70. package/dist/lib/layouts/index.d.ts +23 -0
  71. package/dist/lib/layouts/index.d.ts.map +1 -0
  72. package/dist/lib/layouts/index.js +45 -0
  73. package/dist/lib/layouts/registerLayoutBlocks.d.ts +9 -0
  74. package/dist/lib/layouts/registerLayoutBlocks.d.ts.map +1 -0
  75. package/dist/lib/layouts/registerLayoutBlocks.js +60 -0
  76. package/dist/lib/mappers/apiMapper.d.ts +66 -0
  77. package/dist/lib/mappers/apiMapper.d.ts.map +1 -0
  78. package/dist/lib/mappers/apiMapper.js +188 -0
  79. package/dist/lib/migration/index.d.ts +5 -0
  80. package/dist/lib/migration/index.d.ts.map +1 -0
  81. package/dist/lib/migration/index.js +4 -0
  82. package/dist/lib/migration/mapper.d.ts +37 -0
  83. package/dist/lib/migration/mapper.d.ts.map +1 -0
  84. package/dist/lib/migration/mapper.js +98 -0
  85. package/dist/lib/rich-text/RichTextEditor.d.ts +45 -0
  86. package/dist/lib/rich-text/RichTextEditor.d.ts.map +1 -0
  87. package/dist/lib/rich-text/RichTextEditor.js +556 -0
  88. package/dist/lib/rich-text/RichTextPreview.d.ts +16 -0
  89. package/dist/lib/rich-text/RichTextPreview.d.ts.map +1 -0
  90. package/dist/lib/rich-text/RichTextPreview.js +144 -0
  91. package/dist/lib/rich-text/index.d.ts +9 -0
  92. package/dist/lib/rich-text/index.d.ts.map +1 -0
  93. package/dist/lib/rich-text/index.js +6 -0
  94. package/dist/lib/utils/blockHelpers.d.ts +23 -0
  95. package/dist/lib/utils/blockHelpers.d.ts.map +1 -0
  96. package/dist/lib/utils/blockHelpers.js +65 -0
  97. package/dist/lib/utils/configValidation.d.ts +23 -0
  98. package/dist/lib/utils/configValidation.d.ts.map +1 -0
  99. package/dist/lib/utils/configValidation.js +111 -0
  100. package/dist/lib/utils/index.d.ts +7 -0
  101. package/dist/lib/utils/index.d.ts.map +1 -0
  102. package/dist/lib/utils/index.js +6 -0
  103. package/dist/lib/utils/slugify.d.ts +25 -0
  104. package/dist/lib/utils/slugify.d.ts.map +1 -0
  105. package/dist/lib/utils/slugify.js +65 -0
  106. package/dist/registry/BlockRegistry.d.ts +62 -0
  107. package/dist/registry/BlockRegistry.d.ts.map +1 -0
  108. package/dist/registry/BlockRegistry.js +112 -0
  109. package/dist/registry/index.d.ts +6 -0
  110. package/dist/registry/index.d.ts.map +1 -0
  111. package/dist/registry/index.js +4 -0
  112. package/dist/state/EditorContext.d.ts +45 -0
  113. package/dist/state/EditorContext.d.ts.map +1 -0
  114. package/dist/state/EditorContext.js +215 -0
  115. package/dist/state/index.d.ts +7 -0
  116. package/dist/state/index.d.ts.map +1 -0
  117. package/dist/state/index.js +6 -0
  118. package/dist/state/reducer.d.ts +11 -0
  119. package/dist/state/reducer.d.ts.map +1 -0
  120. package/dist/state/reducer.js +599 -0
  121. package/dist/state/types.d.ts +162 -0
  122. package/dist/state/types.d.ts.map +1 -0
  123. package/dist/state/types.js +27 -0
  124. package/dist/types/block.d.ts +221 -0
  125. package/dist/types/block.d.ts.map +1 -0
  126. package/dist/types/block.js +6 -0
  127. package/dist/types/index.d.ts +8 -0
  128. package/dist/types/index.d.ts.map +1 -0
  129. package/dist/types/index.js +5 -0
  130. package/dist/types/post.d.ts +136 -0
  131. package/dist/types/post.d.ts.map +1 -0
  132. package/dist/types/post.js +5 -0
  133. package/dist/utils/client.d.ts +48 -0
  134. package/dist/utils/client.d.ts.map +1 -0
  135. package/dist/utils/client.js +77 -0
  136. package/dist/utils/index.d.ts +6 -0
  137. package/dist/utils/index.d.ts.map +1 -0
  138. package/dist/utils/index.js +5 -0
  139. package/dist/views/CanvasEditor/BlockWrapper.d.ts +16 -0
  140. package/dist/views/CanvasEditor/BlockWrapper.d.ts.map +1 -0
  141. package/dist/views/CanvasEditor/BlockWrapper.js +285 -0
  142. package/dist/views/CanvasEditor/CanvasEditorView.d.ts +14 -0
  143. package/dist/views/CanvasEditor/CanvasEditorView.d.ts.map +1 -0
  144. package/dist/views/CanvasEditor/CanvasEditorView.js +215 -0
  145. package/dist/views/CanvasEditor/EditorBody.d.ts +22 -0
  146. package/dist/views/CanvasEditor/EditorBody.d.ts.map +1 -0
  147. package/dist/views/CanvasEditor/EditorBody.js +505 -0
  148. package/dist/views/CanvasEditor/EditorHeader.d.ts +18 -0
  149. package/dist/views/CanvasEditor/EditorHeader.d.ts.map +1 -0
  150. package/dist/views/CanvasEditor/EditorHeader.js +101 -0
  151. package/dist/views/CanvasEditor/LayoutContainer.d.ts +17 -0
  152. package/dist/views/CanvasEditor/LayoutContainer.d.ts.map +1 -0
  153. package/dist/views/CanvasEditor/LayoutContainer.js +222 -0
  154. package/dist/views/CanvasEditor/SaveConfirmationModal.d.ts +13 -0
  155. package/dist/views/CanvasEditor/SaveConfirmationModal.d.ts.map +1 -0
  156. package/dist/views/CanvasEditor/SaveConfirmationModal.js +78 -0
  157. package/dist/views/CanvasEditor/components/CustomBlockItem.d.ts +14 -0
  158. package/dist/views/CanvasEditor/components/CustomBlockItem.d.ts.map +1 -0
  159. package/dist/views/CanvasEditor/components/CustomBlockItem.js +44 -0
  160. package/dist/views/CanvasEditor/components/EditorCanvas.d.ts +29 -0
  161. package/dist/views/CanvasEditor/components/EditorCanvas.d.ts.map +1 -0
  162. package/dist/views/CanvasEditor/components/EditorCanvas.js +32 -0
  163. package/dist/views/CanvasEditor/components/EditorLibrary.d.ts +7 -0
  164. package/dist/views/CanvasEditor/components/EditorLibrary.d.ts.map +1 -0
  165. package/dist/views/CanvasEditor/components/EditorLibrary.js +25 -0
  166. package/dist/views/CanvasEditor/components/EditorSidebar.d.ts +13 -0
  167. package/dist/views/CanvasEditor/components/EditorSidebar.d.ts.map +1 -0
  168. package/dist/views/CanvasEditor/components/EditorSidebar.js +19 -0
  169. package/dist/views/CanvasEditor/components/ErrorBanner.d.ts +6 -0
  170. package/dist/views/CanvasEditor/components/ErrorBanner.d.ts.map +1 -0
  171. package/dist/views/CanvasEditor/components/ErrorBanner.js +8 -0
  172. package/dist/views/CanvasEditor/components/FeaturedMediaSection.d.ts +25 -0
  173. package/dist/views/CanvasEditor/components/FeaturedMediaSection.d.ts.map +1 -0
  174. package/dist/views/CanvasEditor/components/FeaturedMediaSection.js +199 -0
  175. package/dist/views/CanvasEditor/components/LibraryItem.d.ts +14 -0
  176. package/dist/views/CanvasEditor/components/LibraryItem.d.ts.map +1 -0
  177. package/dist/views/CanvasEditor/components/LibraryItem.js +43 -0
  178. package/dist/views/CanvasEditor/components/PrivacySettingsSection.d.ts +15 -0
  179. package/dist/views/CanvasEditor/components/PrivacySettingsSection.d.ts.map +1 -0
  180. package/dist/views/CanvasEditor/components/PrivacySettingsSection.js +70 -0
  181. package/dist/views/CanvasEditor/components/index.d.ts +21 -0
  182. package/dist/views/CanvasEditor/components/index.d.ts.map +1 -0
  183. package/dist/views/CanvasEditor/components/index.js +12 -0
  184. package/dist/views/CanvasEditor/hooks/index.d.ts +10 -0
  185. package/dist/views/CanvasEditor/hooks/index.d.ts.map +1 -0
  186. package/dist/views/CanvasEditor/hooks/index.js +9 -0
  187. package/dist/views/CanvasEditor/hooks/useHeroBlock.d.ts +8 -0
  188. package/dist/views/CanvasEditor/hooks/useHeroBlock.d.ts.map +1 -0
  189. package/dist/views/CanvasEditor/hooks/useHeroBlock.js +90 -0
  190. package/dist/views/CanvasEditor/hooks/useKeyboardShortcuts.d.ts +3 -0
  191. package/dist/views/CanvasEditor/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  192. package/dist/views/CanvasEditor/hooks/useKeyboardShortcuts.js +119 -0
  193. package/dist/views/CanvasEditor/hooks/usePostLoader.d.ts +5 -0
  194. package/dist/views/CanvasEditor/hooks/usePostLoader.d.ts.map +1 -0
  195. package/dist/views/CanvasEditor/hooks/usePostLoader.js +32 -0
  196. package/dist/views/CanvasEditor/hooks/useRegisteredBlocks.d.ts +2 -0
  197. package/dist/views/CanvasEditor/hooks/useRegisteredBlocks.d.ts.map +1 -0
  198. package/dist/views/CanvasEditor/hooks/useRegisteredBlocks.js +47 -0
  199. package/dist/views/CanvasEditor/hooks/useUnsavedChanges.d.ts +25 -0
  200. package/dist/views/CanvasEditor/hooks/useUnsavedChanges.d.ts.map +1 -0
  201. package/dist/views/CanvasEditor/hooks/useUnsavedChanges.js +285 -0
  202. package/dist/views/CanvasEditor/index.d.ts +16 -0
  203. package/dist/views/CanvasEditor/index.d.ts.map +1 -0
  204. package/dist/views/CanvasEditor/index.js +9 -0
  205. package/dist/views/PostManager/EmptyState.d.ts +10 -0
  206. package/dist/views/PostManager/EmptyState.d.ts.map +1 -0
  207. package/dist/views/PostManager/EmptyState.js +12 -0
  208. package/dist/views/PostManager/PostActionsMenu.d.ts +12 -0
  209. package/dist/views/PostManager/PostActionsMenu.d.ts.map +1 -0
  210. package/dist/views/PostManager/PostActionsMenu.js +58 -0
  211. package/dist/views/PostManager/PostCards.d.ts +15 -0
  212. package/dist/views/PostManager/PostCards.d.ts.map +1 -0
  213. package/dist/views/PostManager/PostCards.js +77 -0
  214. package/dist/views/PostManager/PostFilters.d.ts +16 -0
  215. package/dist/views/PostManager/PostFilters.d.ts.map +1 -0
  216. package/dist/views/PostManager/PostFilters.js +10 -0
  217. package/dist/views/PostManager/PostManagerView.d.ts +11 -0
  218. package/dist/views/PostManager/PostManagerView.d.ts.map +1 -0
  219. package/dist/views/PostManager/PostManagerView.js +179 -0
  220. package/dist/views/PostManager/PostStats.d.ts +11 -0
  221. package/dist/views/PostManager/PostStats.d.ts.map +1 -0
  222. package/dist/views/PostManager/PostStats.js +46 -0
  223. package/dist/views/PostManager/PostTable.d.ts +15 -0
  224. package/dist/views/PostManager/PostTable.d.ts.map +1 -0
  225. package/dist/views/PostManager/PostTable.js +77 -0
  226. package/dist/views/PostManager/index.d.ts +12 -0
  227. package/dist/views/PostManager/index.d.ts.map +1 -0
  228. package/dist/views/PostManager/index.js +11 -0
  229. package/dist/views/Preview/PreviewBridgeView.d.ts +12 -0
  230. package/dist/views/Preview/PreviewBridgeView.d.ts.map +1 -0
  231. package/dist/views/Preview/PreviewBridgeView.js +11 -0
  232. package/dist/views/Preview/index.d.ts +6 -0
  233. package/dist/views/Preview/index.d.ts.map +1 -0
  234. package/dist/views/Preview/index.js +4 -0
  235. package/dist/views/Settings/SettingsView.d.ts +10 -0
  236. package/dist/views/Settings/SettingsView.d.ts.map +1 -0
  237. package/dist/views/Settings/SettingsView.js +113 -0
  238. package/dist/views/Settings/index.d.ts +6 -0
  239. package/dist/views/Settings/index.d.ts.map +1 -0
  240. package/dist/views/Settings/index.js +4 -0
  241. package/dist/views/SlugSEO/SlugSEOManagerView.d.ts +12 -0
  242. package/dist/views/SlugSEO/SlugSEOManagerView.d.ts.map +1 -0
  243. package/dist/views/SlugSEO/SlugSEOManagerView.js +11 -0
  244. package/dist/views/SlugSEO/index.d.ts +6 -0
  245. package/dist/views/SlugSEO/index.d.ts.map +1 -0
  246. package/dist/views/SlugSEO/index.js +4 -0
  247. package/package.json +4 -4
  248. package/src/hooks/index.d.ts +8 -0
  249. package/src/hooks/index.d.ts.map +1 -0
  250. package/src/hooks/index.js +7 -0
  251. package/src/hooks/useBlog.d.ts +31 -0
  252. package/src/hooks/useBlog.d.ts.map +1 -0
  253. package/src/hooks/useBlog.js +57 -0
  254. package/src/hooks/useBlogs.d.ts +39 -0
  255. package/src/hooks/useBlogs.d.ts.map +1 -0
  256. package/src/hooks/useBlogs.js +82 -0
  257. package/src/hooks/useCategories.d.ts +9 -0
  258. package/src/hooks/useCategories.d.ts.map +1 -0
  259. package/src/hooks/useCategories.js +70 -0
  260. package/src/index.d.ts +55 -0
  261. package/src/index.d.ts.map +1 -0
  262. package/src/index.js +228 -0
  263. package/src/init.d.ts +40 -0
  264. package/src/init.d.ts.map +1 -0
  265. package/src/init.js +41 -0
  266. package/src/lib/blocks/BlockRenderer.d.ts +54 -0
  267. package/src/lib/blocks/BlockRenderer.d.ts.map +1 -0
  268. package/src/lib/blocks/BlockRenderer.js +54 -0
  269. package/src/lib/config-storage.d.ts +30 -0
  270. package/src/lib/config-storage.d.ts.map +1 -0
  271. package/src/lib/config-storage.js +31 -0
  272. package/src/lib/layouts/blocks/ColumnsBlock.d.ts +25 -0
  273. package/src/lib/layouts/blocks/ColumnsBlock.d.ts.map +1 -0
  274. package/src/lib/layouts/blocks/ColumnsBlock.js +182 -0
  275. package/src/lib/layouts/blocks/SectionBlock.d.ts +25 -0
  276. package/src/lib/layouts/blocks/SectionBlock.d.ts.map +1 -0
  277. package/src/lib/layouts/blocks/SectionBlock.js +44 -0
  278. package/src/lib/layouts/index.d.ts +23 -0
  279. package/src/lib/layouts/index.d.ts.map +1 -0
  280. package/src/lib/layouts/index.js +45 -0
  281. package/src/lib/layouts/registerLayoutBlocks.d.ts +9 -0
  282. package/src/lib/layouts/registerLayoutBlocks.d.ts.map +1 -0
  283. package/src/lib/layouts/registerLayoutBlocks.js +60 -0
  284. package/src/lib/mappers/apiMapper.d.ts +66 -0
  285. package/src/lib/mappers/apiMapper.d.ts.map +1 -0
  286. package/src/lib/mappers/apiMapper.js +191 -0
  287. package/src/lib/rich-text/RichTextEditor.d.ts +45 -0
  288. package/src/lib/rich-text/RichTextEditor.d.ts.map +1 -0
  289. package/src/lib/rich-text/RichTextEditor.js +564 -0
  290. package/src/lib/rich-text/RichTextPreview.d.ts +16 -0
  291. package/src/lib/rich-text/RichTextPreview.d.ts.map +1 -0
  292. package/src/lib/rich-text/RichTextPreview.js +144 -0
  293. package/src/lib/rich-text/index.d.ts +9 -0
  294. package/src/lib/rich-text/index.d.ts.map +1 -0
  295. package/src/lib/rich-text/index.js +6 -0
  296. package/src/lib/utils/blockHelpers.d.ts +23 -0
  297. package/src/lib/utils/blockHelpers.d.ts.map +1 -0
  298. package/src/lib/utils/blockHelpers.js +65 -0
  299. package/src/lib/utils/configValidation.d.ts +23 -0
  300. package/src/lib/utils/configValidation.d.ts.map +1 -0
  301. package/src/lib/utils/configValidation.js +113 -0
  302. package/src/registry/BlockRegistry.d.ts +62 -0
  303. package/src/registry/BlockRegistry.d.ts.map +1 -0
  304. package/src/registry/BlockRegistry.js +112 -0
  305. package/src/registry/index.d.ts +6 -0
  306. package/src/registry/index.d.ts.map +1 -0
  307. package/src/registry/index.js +4 -0
  308. package/src/state/EditorContext.d.ts +45 -0
  309. package/src/state/EditorContext.d.ts.map +1 -0
  310. package/src/state/EditorContext.js +215 -0
  311. package/src/state/index.d.ts +7 -0
  312. package/src/state/index.d.ts.map +1 -0
  313. package/src/state/index.js +6 -0
  314. package/src/state/reducer.d.ts +11 -0
  315. package/src/state/reducer.d.ts.map +1 -0
  316. package/src/state/reducer.js +443 -0
  317. package/src/state/types.d.ts +162 -0
  318. package/src/state/types.d.ts.map +1 -0
  319. package/src/state/types.js +27 -0
  320. package/src/types/block.d.ts +221 -0
  321. package/src/types/block.d.ts.map +1 -0
  322. package/src/types/block.js +6 -0
  323. package/src/types/index.d.ts +8 -0
  324. package/src/types/index.d.ts.map +1 -0
  325. package/src/types/index.js +5 -0
  326. package/src/types/post.d.ts +136 -0
  327. package/src/types/post.d.ts.map +1 -0
  328. package/src/types/post.js +5 -0
  329. package/src/utils/client.d.ts +48 -0
  330. package/src/utils/client.d.ts.map +1 -0
  331. package/src/utils/client.js +77 -0
  332. package/src/views/CanvasEditor/BlockWrapper.d.ts +16 -0
  333. package/src/views/CanvasEditor/BlockWrapper.d.ts.map +1 -0
  334. package/src/views/CanvasEditor/BlockWrapper.js +276 -0
  335. package/src/views/CanvasEditor/CanvasEditorView.d.ts +14 -0
  336. package/src/views/CanvasEditor/CanvasEditorView.d.ts.map +1 -0
  337. package/src/views/CanvasEditor/CanvasEditorView.js +209 -0
  338. package/src/views/CanvasEditor/EditorBody.d.ts +22 -0
  339. package/src/views/CanvasEditor/EditorBody.d.ts.map +1 -0
  340. package/src/views/CanvasEditor/EditorBody.js +505 -0
  341. package/src/views/CanvasEditor/EditorHeader.d.ts +18 -0
  342. package/src/views/CanvasEditor/EditorHeader.d.ts.map +1 -0
  343. package/src/views/CanvasEditor/EditorHeader.js +101 -0
  344. package/src/views/CanvasEditor/LayoutContainer.d.ts +17 -0
  345. package/src/views/CanvasEditor/LayoutContainer.d.ts.map +1 -0
  346. package/src/views/CanvasEditor/LayoutContainer.js +222 -0
  347. package/src/views/CanvasEditor/SaveConfirmationModal.d.ts +13 -0
  348. package/src/views/CanvasEditor/SaveConfirmationModal.d.ts.map +1 -0
  349. package/src/views/CanvasEditor/SaveConfirmationModal.js +78 -0
  350. package/src/views/CanvasEditor/components/CustomBlockItem.d.ts +14 -0
  351. package/src/views/CanvasEditor/components/CustomBlockItem.d.ts.map +1 -0
  352. package/src/views/CanvasEditor/components/CustomBlockItem.js +44 -0
  353. package/src/views/CanvasEditor/components/EditorCanvas.d.ts +29 -0
  354. package/src/views/CanvasEditor/components/EditorCanvas.d.ts.map +1 -0
  355. package/src/views/CanvasEditor/components/EditorCanvas.js +32 -0
  356. package/src/views/CanvasEditor/components/EditorLibrary.d.ts +7 -0
  357. package/src/views/CanvasEditor/components/EditorLibrary.d.ts.map +1 -0
  358. package/src/views/CanvasEditor/components/EditorLibrary.js +25 -0
  359. package/src/views/CanvasEditor/components/EditorSidebar.d.ts +13 -0
  360. package/src/views/CanvasEditor/components/EditorSidebar.d.ts.map +1 -0
  361. package/src/views/CanvasEditor/components/EditorSidebar.js +20 -0
  362. package/src/views/CanvasEditor/components/ErrorBanner.d.ts +6 -0
  363. package/src/views/CanvasEditor/components/ErrorBanner.d.ts.map +1 -0
  364. package/src/views/CanvasEditor/components/ErrorBanner.js +8 -0
  365. package/src/views/CanvasEditor/components/FeaturedMediaSection.d.ts +25 -0
  366. package/src/views/CanvasEditor/components/FeaturedMediaSection.d.ts.map +1 -0
  367. package/src/views/CanvasEditor/components/FeaturedMediaSection.js +182 -0
  368. package/src/views/CanvasEditor/components/LibraryItem.d.ts +14 -0
  369. package/src/views/CanvasEditor/components/LibraryItem.d.ts.map +1 -0
  370. package/src/views/CanvasEditor/components/LibraryItem.js +43 -0
  371. package/src/views/CanvasEditor/components/PrivacySettingsSection.d.ts +15 -0
  372. package/src/views/CanvasEditor/components/PrivacySettingsSection.d.ts.map +1 -0
  373. package/src/views/CanvasEditor/components/PrivacySettingsSection.js +63 -0
  374. package/src/views/CanvasEditor/components/index.d.ts +21 -0
  375. package/src/views/CanvasEditor/components/index.d.ts.map +1 -0
  376. package/src/views/CanvasEditor/components/index.js +12 -0
  377. package/src/views/CanvasEditor/hooks/index.d.ts +10 -0
  378. package/src/views/CanvasEditor/hooks/index.d.ts.map +1 -0
  379. package/src/views/CanvasEditor/hooks/index.js +9 -0
  380. package/src/views/CanvasEditor/hooks/useHeroBlock.d.ts +8 -0
  381. package/src/views/CanvasEditor/hooks/useHeroBlock.d.ts.map +1 -0
  382. package/src/views/CanvasEditor/hooks/useHeroBlock.js +79 -0
  383. package/src/views/CanvasEditor/hooks/useKeyboardShortcuts.d.ts +3 -0
  384. package/src/views/CanvasEditor/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  385. package/src/views/CanvasEditor/hooks/useKeyboardShortcuts.js +114 -0
  386. package/src/views/CanvasEditor/hooks/usePostLoader.d.ts +5 -0
  387. package/src/views/CanvasEditor/hooks/usePostLoader.d.ts.map +1 -0
  388. package/src/views/CanvasEditor/hooks/usePostLoader.js +32 -0
  389. package/src/views/CanvasEditor/hooks/useRegisteredBlocks.d.ts +2 -0
  390. package/src/views/CanvasEditor/hooks/useRegisteredBlocks.d.ts.map +1 -0
  391. package/src/views/CanvasEditor/hooks/useRegisteredBlocks.js +47 -0
  392. package/src/views/CanvasEditor/hooks/useUnsavedChanges.d.ts +25 -0
  393. package/src/views/CanvasEditor/hooks/useUnsavedChanges.d.ts.map +1 -0
  394. package/src/views/CanvasEditor/hooks/useUnsavedChanges.js +285 -0
  395. package/src/views/CanvasEditor/index.d.ts +16 -0
  396. package/src/views/CanvasEditor/index.d.ts.map +1 -0
  397. package/src/views/CanvasEditor/index.js +9 -0
  398. package/src/views/PostManager/EmptyState.d.ts +10 -0
  399. package/src/views/PostManager/EmptyState.d.ts.map +1 -0
  400. package/src/views/PostManager/EmptyState.js +12 -0
  401. package/src/views/PostManager/PostActionsMenu.d.ts +12 -0
  402. package/src/views/PostManager/PostActionsMenu.d.ts.map +1 -0
  403. package/src/views/PostManager/PostActionsMenu.js +58 -0
  404. package/src/views/PostManager/PostCards.d.ts +15 -0
  405. package/src/views/PostManager/PostCards.d.ts.map +1 -0
  406. package/src/views/PostManager/PostCards.js +79 -0
  407. package/src/views/PostManager/PostFilters.d.ts +16 -0
  408. package/src/views/PostManager/PostFilters.d.ts.map +1 -0
  409. package/src/views/PostManager/PostFilters.js +10 -0
  410. package/src/views/PostManager/PostManagerView.d.ts +11 -0
  411. package/src/views/PostManager/PostManagerView.d.ts.map +1 -0
  412. package/src/views/PostManager/PostManagerView.js +174 -0
  413. package/src/views/PostManager/PostStats.d.ts +11 -0
  414. package/src/views/PostManager/PostStats.d.ts.map +1 -0
  415. package/src/views/PostManager/PostStats.js +46 -0
  416. package/src/views/PostManager/PostTable.d.ts +15 -0
  417. package/src/views/PostManager/PostTable.d.ts.map +1 -0
  418. package/src/views/PostManager/PostTable.js +79 -0
  419. package/src/views/PostManager/index.d.ts +12 -0
  420. package/src/views/PostManager/index.d.ts.map +1 -0
  421. package/src/views/PostManager/index.js +11 -0
  422. package/src/views/Preview/PreviewBridgeView.d.ts +12 -0
  423. package/src/views/Preview/PreviewBridgeView.d.ts.map +1 -0
  424. package/src/views/Preview/PreviewBridgeView.js +11 -0
  425. package/src/views/Preview/index.d.ts +6 -0
  426. package/src/views/Preview/index.d.ts.map +1 -0
  427. package/src/views/Preview/index.js +4 -0
  428. package/src/views/Settings/SettingsView.d.ts +10 -0
  429. package/src/views/Settings/SettingsView.d.ts.map +1 -0
  430. package/src/views/Settings/SettingsView.js +111 -0
  431. package/src/views/Settings/index.d.ts +6 -0
  432. package/src/views/Settings/index.d.ts.map +1 -0
  433. package/src/views/Settings/index.js +4 -0
  434. package/src/views/SlugSEO/SlugSEOManagerView.d.ts +12 -0
  435. package/src/views/SlugSEO/SlugSEOManagerView.d.ts.map +1 -0
  436. package/src/views/SlugSEO/SlugSEOManagerView.js +11 -0
  437. package/src/views/SlugSEO/index.d.ts +6 -0
  438. package/src/views/SlugSEO/index.d.ts.map +1 -0
  439. package/src/views/SlugSEO/index.js +4 -0
@@ -0,0 +1,188 @@
1
+ /**
2
+ * API Mapper
3
+ * Converts between API format (MongoDB) and BlogPost format
4
+ */
5
+ /**
6
+ * Convert API document to BlogPost format
7
+ */
8
+ export function apiToBlogPost(doc) {
9
+ const id = doc._id?.toString() || doc.id || '';
10
+ // Use contentBlocks if available, otherwise fallback to content (legacy)
11
+ // Hero block is included in contentBlocks
12
+ const blocks = doc.contentBlocks || [];
13
+ // Convert publication data
14
+ const publicationDate = doc.publicationData?.date
15
+ ? (typeof doc.publicationData.date === 'string'
16
+ ? doc.publicationData.date
17
+ : doc.publicationData.date.toISOString())
18
+ : undefined;
19
+ // Convert SEO data
20
+ const seo = {
21
+ title: doc.seo?.title,
22
+ description: doc.seo?.description,
23
+ keywords: doc.seo?.keywords,
24
+ ogImage: doc.seo?.ogImage,
25
+ canonicalUrl: doc.seo?.canonicalUrl,
26
+ };
27
+ // Convert metadata
28
+ // Only store semantic ID (id) and alt - plugin-images handles everything else
29
+ const metadata = {
30
+ featuredImage: doc.image ? {
31
+ // Prefer id (semantic ID) over src (legacy)
32
+ id: doc.image.id || doc.image.src,
33
+ alt: doc.image.alt,
34
+ isCustom: doc.image.isCustom,
35
+ // Don't load transform fields - plugin-images handles those
36
+ } : undefined,
37
+ categories: doc.categoryTags?.category ? [doc.categoryTags.category] : [],
38
+ tags: doc.categoryTags?.tags || [],
39
+ excerpt: doc.summary,
40
+ privacy: undefined, // Privacy settings not in API yet
41
+ };
42
+ // Convert publication data - API uses 'concept' but we use 'draft'
43
+ const apiStatus = doc.publicationData?.status || 'concept';
44
+ const normalizedStatus = apiStatus === 'concept' ? 'draft' : apiStatus;
45
+ const publication = {
46
+ status: normalizedStatus,
47
+ date: publicationDate,
48
+ authorId: doc.authorId,
49
+ updatedAt: doc.updatedAt
50
+ ? (typeof doc.updatedAt === 'string' ? doc.updatedAt : doc.updatedAt.toISOString())
51
+ : undefined,
52
+ };
53
+ return {
54
+ id,
55
+ title: doc.title,
56
+ slug: doc.slug,
57
+ blocks,
58
+ seo,
59
+ publication,
60
+ metadata,
61
+ createdAt: doc.createdAt
62
+ ? (typeof doc.createdAt === 'string' ? doc.createdAt : doc.createdAt.toISOString())
63
+ : new Date().toISOString(),
64
+ updatedAt: doc.updatedAt
65
+ ? (typeof doc.updatedAt === 'string' ? doc.updatedAt : doc.updatedAt.toISOString())
66
+ : new Date().toISOString(),
67
+ };
68
+ }
69
+ /**
70
+ * Convert BlogPost to API document format
71
+ */
72
+ export function blogPostToAPI(post, authorId) {
73
+ return {
74
+ title: post.title,
75
+ slug: post.slug,
76
+ contentBlocks: post.blocks, // Use new block format
77
+ summary: post.metadata.excerpt,
78
+ // Only save semantic ID (id) and alt - plugin-images handles transform data
79
+ image: post.metadata.featuredImage ? {
80
+ id: post.metadata.featuredImage.id,
81
+ alt: post.metadata.featuredImage.alt,
82
+ isCustom: post.metadata.featuredImage.isCustom,
83
+ // Don't save transform fields - plugin-images API handles those
84
+ } : undefined,
85
+ categoryTags: {
86
+ category: post.metadata.categories?.[0] || '',
87
+ tags: post.metadata.tags || [],
88
+ },
89
+ publicationData: {
90
+ // API uses 'concept' instead of 'draft'
91
+ status: post.publication.status === 'draft' ? 'concept' : post.publication.status,
92
+ date: post.publication.date ? new Date(post.publication.date) : new Date(),
93
+ },
94
+ seo: {
95
+ title: post.seo.title,
96
+ description: post.seo.description,
97
+ keywords: post.seo.keywords,
98
+ ogImage: post.seo.ogImage,
99
+ canonicalUrl: post.seo.canonicalUrl,
100
+ },
101
+ authorId: authorId || post.publication.authorId,
102
+ updatedAt: new Date(),
103
+ };
104
+ }
105
+ /**
106
+ * Convert EditorState to API format for saving
107
+ * @param state - Editor state
108
+ * @param authorId - Optional author ID
109
+ * @param heroBlock - Optional hero block (stored separately from content blocks)
110
+ */
111
+ export function editorStateToAPI(state, authorId, heroBlock) {
112
+ // Map status: draft -> concept, published -> published, everything else stays as-is
113
+ const apiStatus = state.status === 'draft' ? 'concept' : state.status;
114
+ console.log('[editorStateToAPI] Mapping status:', {
115
+ editorStatus: state.status,
116
+ apiStatus: apiStatus,
117
+ willBePublished: apiStatus === 'published'
118
+ });
119
+ // Try to get category from metadata first, then check hero block
120
+ let category = undefined;
121
+ if (state.metadata.categories && state.metadata.categories.length > 0 && state.metadata.categories[0]?.trim()) {
122
+ category = state.metadata.categories[0].trim();
123
+ }
124
+ else {
125
+ // Check hero block for category - use the passed heroBlock parameter first, then check state.blocks
126
+ const heroBlockToCheck = heroBlock || state.blocks.find(block => block.type === 'hero');
127
+ if (heroBlockToCheck && heroBlockToCheck.data && typeof heroBlockToCheck.data === 'object') {
128
+ const heroCategory = heroBlockToCheck.data.category;
129
+ if (heroCategory && typeof heroCategory === 'string' && heroCategory.trim()) {
130
+ category = heroCategory.trim();
131
+ }
132
+ }
133
+ }
134
+ console.log('[editorStateToAPI] Category resolution:', {
135
+ fromMetadata: state.metadata.categories?.[0],
136
+ fromHeroBlock: (heroBlock || state.blocks.find(b => b.type === 'hero'))?.data ? (heroBlock || state.blocks.find(b => b.type === 'hero')).data.category : undefined,
137
+ finalCategory: category,
138
+ hasHeroBlock: !!heroBlock,
139
+ heroBlockImage: heroBlock?.data ? heroBlock.data?.image : undefined,
140
+ });
141
+ // Include hero block in contentBlocks if it exists
142
+ // Filter out any existing hero blocks from state.blocks first, then add the current hero block
143
+ const contentBlocksWithoutHero = state.blocks.filter(block => block.type !== 'hero');
144
+ const allBlocks = heroBlock
145
+ ? [heroBlock, ...contentBlocksWithoutHero]
146
+ : contentBlocksWithoutHero;
147
+ console.log('[editorStateToAPI] Hero block details:', {
148
+ hasHeroBlock: !!heroBlock,
149
+ heroBlockType: heroBlock?.type,
150
+ heroBlockId: heroBlock?.id,
151
+ heroBlockImage: heroBlock?.data ? heroBlock.data?.image : undefined,
152
+ heroBlockImageSrc: heroBlock?.data ? heroBlock.data?.image?.src : undefined,
153
+ contentBlocksCount: allBlocks.length,
154
+ contentBlocksTypes: allBlocks.map(b => b.type),
155
+ heroBlockInContentBlocks: allBlocks.find(b => b.type === 'hero')?.data ? allBlocks.find(b => b.type === 'hero').data?.image : undefined,
156
+ });
157
+ return {
158
+ title: state.title,
159
+ slug: state.slug,
160
+ contentBlocks: allBlocks,
161
+ summary: state.metadata.excerpt,
162
+ // Only save semantic ID (id) and alt - plugin-images handles transform data
163
+ // Only create image object if id exists and is not empty
164
+ image: state.metadata.featuredImage?.id?.trim() ? {
165
+ id: state.metadata.featuredImage.id.trim(),
166
+ alt: state.metadata.featuredImage.alt || '',
167
+ isCustom: state.metadata.featuredImage.isCustom,
168
+ // Don't save transform fields - plugin-images API handles those
169
+ } : undefined,
170
+ categoryTags: {
171
+ category: category,
172
+ tags: state.metadata.tags || [],
173
+ },
174
+ publicationData: {
175
+ status: apiStatus,
176
+ date: new Date(),
177
+ },
178
+ seo: {
179
+ title: state.seo.title,
180
+ description: state.seo.description,
181
+ keywords: state.seo.keywords,
182
+ ogImage: state.seo.ogImage,
183
+ canonicalUrl: state.seo.canonicalUrl,
184
+ },
185
+ authorId,
186
+ updatedAt: new Date(),
187
+ };
188
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Migration utilities exports
3
+ */
4
+ export * from './mapper';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/migration/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Migration utilities exports
3
+ */
4
+ export * from './mapper';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Migration Mapper
3
+ * Utility functions for converting legacy data to block-based format
4
+ */
5
+ import { Block } from '../../types/block';
6
+ import { BlogPost } from '../../types/post';
7
+ /**
8
+ * Legacy Post Structure (example - adjust based on your actual legacy format)
9
+ */
10
+ export interface LegacyPost {
11
+ id?: string;
12
+ title: string;
13
+ content: string;
14
+ slug?: string;
15
+ excerpt?: string;
16
+ [key: string]: unknown;
17
+ }
18
+ /**
19
+ * Convert HTML string to blocks
20
+ * This is a basic implementation - can be enhanced with more sophisticated parsing
21
+ */
22
+ export declare function htmlToBlocks(html: string): Block[];
23
+ /**
24
+ * Map legacy post to new BlogPost format
25
+ */
26
+ export declare function mapLegacyPostToBlogPost(legacyPost: LegacyPost, options?: {
27
+ defaultStatus?: 'draft' | 'published' | 'scheduled';
28
+ authorId?: string;
29
+ }): BlogPost;
30
+ /**
31
+ * Batch convert multiple legacy posts
32
+ */
33
+ export declare function mapLegacyPostsToBlogPosts(legacyPosts: LegacyPost[], options?: {
34
+ defaultStatus?: 'draft' | 'published' | 'scheduled';
35
+ authorId?: string;
36
+ }): BlogPost[];
37
+ //# sourceMappingURL=mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/lib/migration/mapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CA+DlD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE;IACN,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GACF,QAAQ,CA2BV;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;IACN,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GACF,QAAQ,EAAE,CAEZ"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Migration Mapper
3
+ * Utility functions for converting legacy data to block-based format
4
+ */
5
+ /**
6
+ * Convert HTML string to blocks
7
+ * This is a basic implementation - can be enhanced with more sophisticated parsing
8
+ */
9
+ export function htmlToBlocks(html) {
10
+ // This is a simplified parser - you may want to use a proper HTML parser
11
+ // like htmlparser2 or cheerio for production use
12
+ const blocks = [];
13
+ let blockIdCounter = 0;
14
+ function generateId() {
15
+ return `block-${Date.now()}-${blockIdCounter++}`;
16
+ }
17
+ // Simple regex-based parsing (for demonstration)
18
+ // In production, use a proper HTML parser
19
+ // Extract headings
20
+ const headingRegex = /<h([1-6])[^>]*>(.*?)<\/h[1-6]>/gi;
21
+ let match;
22
+ let lastIndex = 0;
23
+ while ((match = headingRegex.exec(html)) !== null) {
24
+ // Add text before heading as paragraph if exists
25
+ const textBefore = html.substring(lastIndex, match.index).trim();
26
+ if (textBefore) {
27
+ blocks.push({
28
+ id: generateId(),
29
+ type: 'paragraph',
30
+ data: { text: textBefore.replace(/<[^>]+>/g, '') },
31
+ });
32
+ }
33
+ // Add heading
34
+ blocks.push({
35
+ id: generateId(),
36
+ type: 'heading',
37
+ data: {
38
+ text: match[2].replace(/<[^>]+>/g, ''),
39
+ level: parseInt(match[1], 10),
40
+ },
41
+ });
42
+ lastIndex = match.index + match[0].length;
43
+ }
44
+ // Add remaining text as paragraph
45
+ const remainingText = html.substring(lastIndex).trim();
46
+ if (remainingText) {
47
+ blocks.push({
48
+ id: generateId(),
49
+ type: 'paragraph',
50
+ data: { text: remainingText.replace(/<[^>]+>/g, '') },
51
+ });
52
+ }
53
+ // If no blocks were created, create a single paragraph with the HTML content
54
+ if (blocks.length === 0) {
55
+ blocks.push({
56
+ id: generateId(),
57
+ type: 'paragraph',
58
+ data: { text: html.replace(/<[^>]+>/g, '') },
59
+ });
60
+ }
61
+ return blocks;
62
+ }
63
+ /**
64
+ * Map legacy post to new BlogPost format
65
+ */
66
+ export function mapLegacyPostToBlogPost(legacyPost, options) {
67
+ const blocks = legacyPost.content
68
+ ? htmlToBlocks(legacyPost.content)
69
+ : [];
70
+ return {
71
+ id: legacyPost.id || `post-${Date.now()}`,
72
+ title: legacyPost.title || 'Untitled Post',
73
+ slug: legacyPost.slug || legacyPost.title?.toLowerCase().replace(/\s+/g, '-') || 'untitled',
74
+ blocks,
75
+ seo: {
76
+ title: legacyPost.title,
77
+ description: legacyPost.excerpt || '',
78
+ },
79
+ publication: {
80
+ status: options?.defaultStatus || 'draft',
81
+ date: new Date().toISOString(),
82
+ authorId: options?.authorId,
83
+ },
84
+ metadata: {
85
+ excerpt: legacyPost.excerpt || '',
86
+ categories: [],
87
+ tags: [],
88
+ },
89
+ createdAt: new Date().toISOString(),
90
+ updatedAt: new Date().toISOString(),
91
+ };
92
+ }
93
+ /**
94
+ * Batch convert multiple legacy posts
95
+ */
96
+ export function mapLegacyPostsToBlogPosts(legacyPosts, options) {
97
+ return legacyPosts.map(post => mapLegacyPostToBlogPost(post, options));
98
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Rich Text Editor Component
3
+ * Provides formatting toolbar (bold, italic, underline, links, colors)
4
+ * Only shows options if client has provided styles for them
5
+ */
6
+ import React from 'react';
7
+ export interface RichTextFormattingConfig {
8
+ /** Whether bold formatting is available */
9
+ bold?: boolean;
10
+ /** Whether italic formatting is available */
11
+ italic?: boolean;
12
+ /** Whether underline formatting is available */
13
+ underline?: boolean;
14
+ /** Whether links are available */
15
+ links?: boolean;
16
+ /** Available colors (array of color values or Tailwind classes) */
17
+ colors?: string[];
18
+ /** Custom CSS classes for formatted text */
19
+ styles?: {
20
+ bold?: string;
21
+ italic?: string;
22
+ underline?: string;
23
+ link?: string;
24
+ /** Color classes mapped by color value */
25
+ colorClasses?: Record<string, string>;
26
+ };
27
+ }
28
+ export interface RichTextEditorProps {
29
+ /** HTML content value */
30
+ value: string;
31
+ /** Change handler */
32
+ onChange: (html: string) => void;
33
+ /** Placeholder text */
34
+ placeholder?: string;
35
+ /** Formatting configuration */
36
+ formatting?: RichTextFormattingConfig;
37
+ /** Additional CSS classes */
38
+ className?: string;
39
+ /** Whether the editor is focused */
40
+ isFocused?: boolean;
41
+ /** Custom keydown handler (called before default handler) */
42
+ onKeyDown?: (e: React.KeyboardEvent) => void;
43
+ }
44
+ export declare function RichTextEditor({ value, onChange, placeholder, formatting, className, isFocused, onKeyDown: customOnKeyDown, }: RichTextEditorProps): import("react/jsx-runtime").JSX.Element;
45
+ //# sourceMappingURL=RichTextEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextEditor.d.ts","sourceRoot":"","sources":["../../../src/lib/rich-text/RichTextEditor.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,MAAM,WAAW,wBAAwB;IACrC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,0CAA0C;QAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAChC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,cAAc,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,WAA6B,EAC7B,UAAU,EACV,SAAc,EACd,SAAiB,EACjB,SAAS,EAAE,eAAe,GAC7B,EAAE,mBAAmB,2CA8vBrB"}