@nuasite/cms 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +237 -0
  2. package/dist/src/build-processor.d.ts +20 -0
  3. package/dist/src/build-processor.d.ts.map +1 -0
  4. package/dist/src/collection-scanner.d.ts +6 -0
  5. package/dist/src/collection-scanner.d.ts.map +1 -0
  6. package/dist/src/component-registry.d.ts +63 -0
  7. package/dist/src/component-registry.d.ts.map +1 -0
  8. package/dist/src/config.d.ts +24 -0
  9. package/dist/src/config.d.ts.map +1 -0
  10. package/dist/src/dev-middleware.d.ts +20 -0
  11. package/dist/src/dev-middleware.d.ts.map +1 -0
  12. package/dist/src/editor/ai.d.ts +60 -0
  13. package/dist/src/editor/ai.d.ts.map +1 -0
  14. package/dist/src/editor/api.d.ts +140 -0
  15. package/dist/src/editor/api.d.ts.map +1 -0
  16. package/dist/src/editor/color-utils.d.ts +106 -0
  17. package/dist/src/editor/color-utils.d.ts.map +1 -0
  18. package/dist/src/editor/components/ai-chat.d.ts +11 -0
  19. package/dist/src/editor/components/ai-chat.d.ts.map +1 -0
  20. package/dist/src/editor/components/ai-tooltip.d.ts +12 -0
  21. package/dist/src/editor/components/ai-tooltip.d.ts.map +1 -0
  22. package/dist/src/editor/components/attribute-editor.d.ts +5 -0
  23. package/dist/src/editor/components/attribute-editor.d.ts.map +1 -0
  24. package/dist/src/editor/components/block-editor.d.ts +12 -0
  25. package/dist/src/editor/components/block-editor.d.ts.map +1 -0
  26. package/dist/src/editor/components/collections-browser.d.ts +2 -0
  27. package/dist/src/editor/components/collections-browser.d.ts.map +1 -0
  28. package/dist/src/editor/components/color-toolbar.d.ts +12 -0
  29. package/dist/src/editor/components/color-toolbar.d.ts.map +1 -0
  30. package/dist/src/editor/components/confirm-dialog.d.ts +2 -0
  31. package/dist/src/editor/components/confirm-dialog.d.ts.map +1 -0
  32. package/dist/src/editor/components/create-page-modal.d.ts +2 -0
  33. package/dist/src/editor/components/create-page-modal.d.ts.map +1 -0
  34. package/dist/src/editor/components/editable-highlights.d.ts +9 -0
  35. package/dist/src/editor/components/editable-highlights.d.ts.map +1 -0
  36. package/dist/src/editor/components/error-boundary.d.ts +32 -0
  37. package/dist/src/editor/components/error-boundary.d.ts.map +1 -0
  38. package/dist/src/editor/components/fields.d.ts +75 -0
  39. package/dist/src/editor/components/fields.d.ts.map +1 -0
  40. package/dist/src/editor/components/frontmatter-fields.d.ts +29 -0
  41. package/dist/src/editor/components/frontmatter-fields.d.ts.map +1 -0
  42. package/dist/src/editor/components/highlight-overlay.d.ts +64 -0
  43. package/dist/src/editor/components/highlight-overlay.d.ts.map +1 -0
  44. package/dist/src/editor/components/image-overlay.d.ts +12 -0
  45. package/dist/src/editor/components/image-overlay.d.ts.map +1 -0
  46. package/dist/src/editor/components/markdown-editor-overlay.d.ts +6 -0
  47. package/dist/src/editor/components/markdown-editor-overlay.d.ts.map +1 -0
  48. package/dist/src/editor/components/markdown-inline-editor.d.ts +10 -0
  49. package/dist/src/editor/components/markdown-inline-editor.d.ts.map +1 -0
  50. package/dist/src/editor/components/media-library.d.ts +2 -0
  51. package/dist/src/editor/components/media-library.d.ts.map +1 -0
  52. package/dist/src/editor/components/outline.d.ts +21 -0
  53. package/dist/src/editor/components/outline.d.ts.map +1 -0
  54. package/dist/src/editor/components/redirect-countdown.d.ts +2 -0
  55. package/dist/src/editor/components/redirect-countdown.d.ts.map +1 -0
  56. package/dist/src/editor/components/seo-editor.d.ts +2 -0
  57. package/dist/src/editor/components/seo-editor.d.ts.map +1 -0
  58. package/dist/src/editor/components/text-style-toolbar.d.ts +8 -0
  59. package/dist/src/editor/components/text-style-toolbar.d.ts.map +1 -0
  60. package/dist/src/editor/components/toast/toast-container.d.ts +7 -0
  61. package/dist/src/editor/components/toast/toast-container.d.ts.map +1 -0
  62. package/dist/src/editor/components/toast/toast.d.ts +7 -0
  63. package/dist/src/editor/components/toast/toast.d.ts.map +1 -0
  64. package/dist/src/editor/components/toast/types.d.ts +7 -0
  65. package/dist/src/editor/components/toast/types.d.ts.map +1 -0
  66. package/dist/src/editor/components/toolbar.d.ts +21 -0
  67. package/dist/src/editor/components/toolbar.d.ts.map +1 -0
  68. package/dist/src/editor/config.d.ts +4 -0
  69. package/dist/src/editor/config.d.ts.map +1 -0
  70. package/dist/src/editor/constants.d.ts +101 -0
  71. package/dist/src/editor/constants.d.ts.map +1 -0
  72. package/dist/src/editor/context.d.ts +14 -0
  73. package/dist/src/editor/context.d.ts.map +1 -0
  74. package/dist/src/editor/dom.d.ts +77 -0
  75. package/dist/src/editor/dom.d.ts.map +1 -0
  76. package/dist/src/editor/editor.d.ts +64 -0
  77. package/dist/src/editor/editor.d.ts.map +1 -0
  78. package/dist/src/editor/history.d.ts +20 -0
  79. package/dist/src/editor/history.d.ts.map +1 -0
  80. package/dist/src/editor/hooks/index.d.ts +14 -0
  81. package/dist/src/editor/hooks/index.d.ts.map +1 -0
  82. package/dist/src/editor/hooks/useAIHandlers.d.ts +22 -0
  83. package/dist/src/editor/hooks/useAIHandlers.d.ts.map +1 -0
  84. package/dist/src/editor/hooks/useBlockEditorHandlers.d.ts +18 -0
  85. package/dist/src/editor/hooks/useBlockEditorHandlers.d.ts.map +1 -0
  86. package/dist/src/editor/hooks/useElementDetection.d.ts +26 -0
  87. package/dist/src/editor/hooks/useElementDetection.d.ts.map +1 -0
  88. package/dist/src/editor/hooks/useImageHoverDetection.d.ts +12 -0
  89. package/dist/src/editor/hooks/useImageHoverDetection.d.ts.map +1 -0
  90. package/dist/src/editor/hooks/useTextSelection.d.ts +23 -0
  91. package/dist/src/editor/hooks/useTextSelection.d.ts.map +1 -0
  92. package/dist/src/editor/hooks/useTooltipState.d.ts +19 -0
  93. package/dist/src/editor/hooks/useTooltipState.d.ts.map +1 -0
  94. package/dist/src/editor/hooks/utils.d.ts +32 -0
  95. package/dist/src/editor/hooks/utils.d.ts.map +1 -0
  96. package/dist/src/editor/index.d.ts +12 -0
  97. package/dist/src/editor/index.d.ts.map +1 -0
  98. package/dist/src/editor/lib/cn.d.ts +3 -0
  99. package/dist/src/editor/lib/cn.d.ts.map +1 -0
  100. package/dist/src/editor/manifest.d.ts +19 -0
  101. package/dist/src/editor/manifest.d.ts.map +1 -0
  102. package/dist/src/editor/markdown-api.d.ts +36 -0
  103. package/dist/src/editor/markdown-api.d.ts.map +1 -0
  104. package/dist/src/editor/signals.d.ts +242 -0
  105. package/dist/src/editor/signals.d.ts.map +1 -0
  106. package/dist/src/editor/storage.d.ts +27 -0
  107. package/dist/src/editor/storage.d.ts.map +1 -0
  108. package/dist/src/editor/text-styling.d.ts +350 -0
  109. package/dist/src/editor/text-styling.d.ts.map +1 -0
  110. package/dist/src/editor/themes.d.ts +38 -0
  111. package/dist/src/editor/themes.d.ts.map +1 -0
  112. package/dist/src/editor/types.d.ts +454 -0
  113. package/dist/src/editor/types.d.ts.map +1 -0
  114. package/dist/src/error-collector.d.ts +56 -0
  115. package/dist/src/error-collector.d.ts.map +1 -0
  116. package/dist/src/handlers/component-ops.d.ts +34 -0
  117. package/dist/src/handlers/component-ops.d.ts.map +1 -0
  118. package/dist/src/handlers/markdown-ops.d.ts +41 -0
  119. package/dist/src/handlers/markdown-ops.d.ts.map +1 -0
  120. package/dist/src/handlers/request-utils.d.ts +20 -0
  121. package/dist/src/handlers/request-utils.d.ts.map +1 -0
  122. package/dist/src/handlers/source-writer.d.ts +51 -0
  123. package/dist/src/handlers/source-writer.d.ts.map +1 -0
  124. package/dist/src/html-processor.d.ts +63 -0
  125. package/dist/src/html-processor.d.ts.map +1 -0
  126. package/dist/src/index.d.ts +41 -0
  127. package/dist/src/index.d.ts.map +1 -0
  128. package/dist/src/manifest-writer.d.ts +111 -0
  129. package/dist/src/manifest-writer.d.ts.map +1 -0
  130. package/dist/src/media/contember.d.ts +15 -0
  131. package/dist/src/media/contember.d.ts.map +1 -0
  132. package/dist/src/media/local.d.ts +9 -0
  133. package/dist/src/media/local.d.ts.map +1 -0
  134. package/dist/src/media/s3.d.ts +12 -0
  135. package/dist/src/media/s3.d.ts.map +1 -0
  136. package/dist/src/media/types.d.ts +40 -0
  137. package/dist/src/media/types.d.ts.map +1 -0
  138. package/dist/src/preview-generator.d.ts +19 -0
  139. package/dist/src/preview-generator.d.ts.map +1 -0
  140. package/dist/src/seo-processor.d.ts +23 -0
  141. package/dist/src/seo-processor.d.ts.map +1 -0
  142. package/dist/src/source-finder/ast-extractors.d.ts +35 -0
  143. package/dist/src/source-finder/ast-extractors.d.ts.map +1 -0
  144. package/dist/src/source-finder/ast-parser.d.ts +16 -0
  145. package/dist/src/source-finder/ast-parser.d.ts.map +1 -0
  146. package/dist/src/source-finder/cache.d.ts +18 -0
  147. package/dist/src/source-finder/cache.d.ts.map +1 -0
  148. package/dist/src/source-finder/collection-finder.d.ts +29 -0
  149. package/dist/src/source-finder/collection-finder.d.ts.map +1 -0
  150. package/dist/src/source-finder/cross-file-tracker.d.ts +39 -0
  151. package/dist/src/source-finder/cross-file-tracker.d.ts.map +1 -0
  152. package/dist/src/source-finder/element-finder.d.ts +42 -0
  153. package/dist/src/source-finder/element-finder.d.ts.map +1 -0
  154. package/dist/src/source-finder/image-finder.d.ts +24 -0
  155. package/dist/src/source-finder/image-finder.d.ts.map +1 -0
  156. package/dist/src/source-finder/index.d.ts +9 -0
  157. package/dist/src/source-finder/index.d.ts.map +1 -0
  158. package/dist/src/source-finder/search-index.d.ts +27 -0
  159. package/dist/src/source-finder/search-index.d.ts.map +1 -0
  160. package/dist/src/source-finder/snippet-utils.d.ts +90 -0
  161. package/dist/src/source-finder/snippet-utils.d.ts.map +1 -0
  162. package/dist/src/source-finder/source-lookup.d.ts +16 -0
  163. package/dist/src/source-finder/source-lookup.d.ts.map +1 -0
  164. package/dist/src/source-finder/types.d.ts +167 -0
  165. package/dist/src/source-finder/types.d.ts.map +1 -0
  166. package/dist/src/source-finder/variable-extraction.d.ts +37 -0
  167. package/dist/src/source-finder/variable-extraction.d.ts.map +1 -0
  168. package/dist/src/tailwind-colors.d.ts +54 -0
  169. package/dist/src/tailwind-colors.d.ts.map +1 -0
  170. package/dist/src/tsconfig.tsbuildinfo +1 -0
  171. package/dist/src/types.d.ts +367 -0
  172. package/dist/src/types.d.ts.map +1 -0
  173. package/dist/src/utils.d.ts +61 -0
  174. package/dist/src/utils.d.ts.map +1 -0
  175. package/dist/src/vite-plugin.d.ts +14 -0
  176. package/dist/src/vite-plugin.d.ts.map +1 -0
  177. package/dist/types/tsconfig.tsbuildinfo +1 -0
  178. package/package.json +80 -0
  179. package/src/build-processor.ts +784 -0
  180. package/src/collection-scanner.ts +304 -0
  181. package/src/component-registry.ts +393 -0
  182. package/src/config.ts +74 -0
  183. package/src/dev-middleware.ts +525 -0
  184. package/src/dist/src/tsconfig.tsbuildinfo +1 -0
  185. package/src/editor/ai.ts +185 -0
  186. package/src/editor/api.ts +513 -0
  187. package/src/editor/color-utils.ts +556 -0
  188. package/src/editor/components/ai-chat.tsx +632 -0
  189. package/src/editor/components/ai-tooltip.tsx +179 -0
  190. package/src/editor/components/attribute-editor.tsx +596 -0
  191. package/src/editor/components/block-editor.tsx +546 -0
  192. package/src/editor/components/collections-browser.tsx +248 -0
  193. package/src/editor/components/color-toolbar.tsx +314 -0
  194. package/src/editor/components/confirm-dialog.tsx +69 -0
  195. package/src/editor/components/create-page-modal.tsx +163 -0
  196. package/src/editor/components/editable-highlights.tsx +260 -0
  197. package/src/editor/components/error-boundary.tsx +87 -0
  198. package/src/editor/components/fields.tsx +387 -0
  199. package/src/editor/components/frontmatter-fields.tsx +469 -0
  200. package/src/editor/components/highlight-overlay.ts +229 -0
  201. package/src/editor/components/image-overlay.tsx +230 -0
  202. package/src/editor/components/markdown-editor-overlay.tsx +505 -0
  203. package/src/editor/components/markdown-inline-editor.tsx +780 -0
  204. package/src/editor/components/media-library.tsx +297 -0
  205. package/src/editor/components/outline.tsx +402 -0
  206. package/src/editor/components/redirect-countdown.tsx +45 -0
  207. package/src/editor/components/seo-editor.tsx +498 -0
  208. package/src/editor/components/text-style-toolbar.tsx +362 -0
  209. package/src/editor/components/toast/toast-container.tsx +15 -0
  210. package/src/editor/components/toast/toast.tsx +49 -0
  211. package/src/editor/components/toast/types.ts +7 -0
  212. package/src/editor/components/toolbar.tsx +366 -0
  213. package/src/editor/config.ts +12 -0
  214. package/src/editor/constants.ts +106 -0
  215. package/src/editor/context.tsx +38 -0
  216. package/src/editor/dom.ts +357 -0
  217. package/src/editor/editor.ts +1510 -0
  218. package/src/editor/env.d.ts +4 -0
  219. package/src/editor/history.ts +355 -0
  220. package/src/editor/hooks/index.ts +19 -0
  221. package/src/editor/hooks/useAIHandlers.ts +345 -0
  222. package/src/editor/hooks/useBlockEditorHandlers.ts +206 -0
  223. package/src/editor/hooks/useElementDetection.ts +284 -0
  224. package/src/editor/hooks/useImageHoverDetection.ts +102 -0
  225. package/src/editor/hooks/useTextSelection.ts +187 -0
  226. package/src/editor/hooks/useTooltipState.ts +126 -0
  227. package/src/editor/hooks/utils.ts +101 -0
  228. package/src/editor/index.tsx +481 -0
  229. package/src/editor/lib/cn.ts +4 -0
  230. package/src/editor/manifest.ts +25 -0
  231. package/src/editor/markdown-api.ts +209 -0
  232. package/src/editor/signals.ts +1351 -0
  233. package/src/editor/storage.ts +266 -0
  234. package/src/editor/styles.css +465 -0
  235. package/src/editor/text-styling.ts +773 -0
  236. package/src/editor/themes.ts +210 -0
  237. package/src/editor/types.ts +591 -0
  238. package/src/error-collector.ts +106 -0
  239. package/src/handlers/component-ops.ts +463 -0
  240. package/src/handlers/markdown-ops.ts +202 -0
  241. package/src/handlers/request-utils.ts +151 -0
  242. package/src/handlers/source-writer.ts +649 -0
  243. package/src/html-processor.ts +1108 -0
  244. package/src/index.ts +284 -0
  245. package/src/manifest-writer.ts +371 -0
  246. package/src/media/contember.ts +84 -0
  247. package/src/media/local.ts +114 -0
  248. package/src/media/s3.ts +133 -0
  249. package/src/media/types.ts +33 -0
  250. package/src/preview-generator.ts +293 -0
  251. package/src/seo-processor.ts +567 -0
  252. package/src/source-finder/ast-extractors.ts +185 -0
  253. package/src/source-finder/ast-parser.ts +150 -0
  254. package/src/source-finder/cache.ts +76 -0
  255. package/src/source-finder/collection-finder.ts +335 -0
  256. package/src/source-finder/cross-file-tracker.ts +741 -0
  257. package/src/source-finder/element-finder.ts +387 -0
  258. package/src/source-finder/image-finder.ts +283 -0
  259. package/src/source-finder/index.ts +37 -0
  260. package/src/source-finder/search-index.ts +525 -0
  261. package/src/source-finder/snippet-utils.ts +668 -0
  262. package/src/source-finder/source-lookup.ts +200 -0
  263. package/src/source-finder/types.ts +210 -0
  264. package/src/source-finder/variable-extraction.ts +406 -0
  265. package/src/tailwind-colors.ts +874 -0
  266. package/src/tsconfig.json +25 -0
  267. package/src/types.ts +406 -0
  268. package/src/utils.ts +186 -0
  269. package/src/vite-plugin.ts +42 -0
@@ -0,0 +1,106 @@
1
+ import type { Attribute, AvailableColors } from './types';
2
+ /**
3
+ * Default Tailwind CSS v4 color names.
4
+ */
5
+ export declare const DEFAULT_TAILWIND_COLORS: readonly ["slate", "gray", "zinc", "neutral", "stone", "red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose"];
6
+ /**
7
+ * Standard Tailwind color shades.
8
+ */
9
+ export declare const STANDARD_SHADES: readonly ["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"];
10
+ /**
11
+ * Special color values that don't have shades.
12
+ */
13
+ export declare const SPECIAL_COLORS: readonly ["transparent", "current", "inherit", "white", "black"];
14
+ /**
15
+ * Map of Tailwind color names to their CSS color values for preview.
16
+ * Uses the 500 shade as the representative color.
17
+ * This is a fallback when availableColors is not loaded yet.
18
+ */
19
+ export declare const COLOR_PREVIEW_MAP: Record<string, string>;
20
+ /**
21
+ * Map of shade numbers to their relative lightness.
22
+ * Used to generate preview colors for different shades.
23
+ */
24
+ export declare const SHADE_LIGHTNESS: Record<string, number>;
25
+ /**
26
+ * Regex patterns to match Tailwind color classes.
27
+ */
28
+ declare const COLOR_CLASS_PATTERNS: {
29
+ bg: RegExp;
30
+ text: RegExp;
31
+ border: RegExp;
32
+ hoverBg: RegExp;
33
+ hoverText: RegExp;
34
+ };
35
+ /**
36
+ * Parse a color class into its components.
37
+ */
38
+ export declare function parseColorClass(colorClass: string): {
39
+ prefix: string;
40
+ colorName: string;
41
+ shade?: string;
42
+ isHover: boolean;
43
+ } | undefined;
44
+ /**
45
+ * Build a color class from components.
46
+ */
47
+ export declare function buildColorClass(prefix: string, colorName: string, shade?: string): string;
48
+ /**
49
+ * Get the color type from a color class.
50
+ */
51
+ export declare function getColorType(colorClass: string): keyof typeof COLOR_CLASS_PATTERNS | undefined;
52
+ /**
53
+ * Check if a class is a color class.
54
+ */
55
+ export declare function isColorClass(className: string): boolean;
56
+ /**
57
+ * Get a preview CSS color for a Tailwind color.
58
+ */
59
+ export declare function getColorPreview(colorName: string, shade?: string): string;
60
+ /**
61
+ * Resolve a color to its CSS value using availableColors from the manifest.
62
+ */
63
+ export declare function resolveColorValue(colorName: string, shade: string | undefined, availableColors: AvailableColors | undefined): string | undefined;
64
+ /**
65
+ * Replace a color class in an element's class list.
66
+ * Returns the old class that was replaced, or undefined if not found.
67
+ */
68
+ export declare function replaceColorClass(element: HTMLElement, colorType: 'bg' | 'text' | 'border' | 'hoverBg' | 'hoverText', newColorName: string, newShade?: string): {
69
+ oldClass: string;
70
+ newClass: string;
71
+ } | undefined;
72
+ /**
73
+ * Get the current color classes from an element as Record<string, Attribute>.
74
+ */
75
+ export declare function getElementColorClasses(element: HTMLElement): Record<string, Attribute>;
76
+ /**
77
+ * Apply a color change to an element.
78
+ * Updates the DOM immediately with both class and inline style for preview.
79
+ * The inline style ensures the color is visible even if Tailwind hasn't compiled the class.
80
+ */
81
+ export declare function applyColorChange(element: HTMLElement, colorType: 'bg' | 'text' | 'border' | 'hoverBg' | 'hoverText', newColorName: string, newShade: string | undefined, availableColors: AvailableColors | undefined): {
82
+ oldClass: string;
83
+ newClass: string;
84
+ } | undefined;
85
+ /**
86
+ * Get popular colors for quick selection.
87
+ * Returns a curated list of commonly used colors.
88
+ */
89
+ export declare function getPopularColors(): Array<{
90
+ name: string;
91
+ shade: string;
92
+ preview: string;
93
+ }>;
94
+ /**
95
+ * Get all available colors with their shades from manifest.
96
+ */
97
+ export declare function getAllColorsWithShades(availableColors: AvailableColors | undefined): Array<{
98
+ name: string;
99
+ shades: Array<{
100
+ shade: string;
101
+ preview: string;
102
+ }>;
103
+ isSpecial: boolean;
104
+ }>;
105
+ export {};
106
+ //# sourceMappingURL=color-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/editor/color-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface AIChatCallbacks {
2
+ onSend: (message: string, elementId?: string) => void;
3
+ onClose: () => void;
4
+ onCancel: () => void;
5
+ onApplyToElement: (content: string, elementId: string) => void;
6
+ }
7
+ export interface AIChatProps {
8
+ callbacks: AIChatCallbacks;
9
+ }
10
+ export declare const AIChat: ({ callbacks }: AIChatProps) => import("preact").JSX.Element | null;
11
+ //# sourceMappingURL=ai-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-chat.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/ai-chat.tsx"],"names":[],"mappings":"AAwDA,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9D;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,eAAe,CAAA;CAC1B;AAcD,eAAO,MAAM,MAAM,GAAI,eAAe,WAAW,wCAsbhD,CAAA"}
@@ -0,0 +1,12 @@
1
+ export interface AITooltipCallbacks {
2
+ onPromptSubmit: (prompt: string, elementId: string) => void;
3
+ }
4
+ export interface AITooltipProps {
5
+ callbacks: AITooltipCallbacks;
6
+ visible: boolean;
7
+ elementId: string | null;
8
+ rect: DOMRect | null;
9
+ processing: boolean;
10
+ }
11
+ export declare function AITooltip({ callbacks, visible, elementId, rect, processing }: AITooltipProps): import("preact").JSX.Element | null;
12
+ //# sourceMappingURL=ai-tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-tooltip.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/ai-tooltip.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IAClC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,cAAc,uCAoK5F"}
@@ -0,0 +1,5 @@
1
+ export interface AttributeEditorProps {
2
+ onClose?: () => void;
3
+ }
4
+ export declare function AttributeEditor({ onClose }: AttributeEditorProps): import("preact").JSX.Element | null;
5
+ //# sourceMappingURL=attribute-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-editor.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/attribute-editor.tsx"],"names":[],"mappings":"AAuXA,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,uCAwNhE"}
@@ -0,0 +1,12 @@
1
+ import type { InsertPosition } from '../types';
2
+ export interface BlockEditorProps {
3
+ visible: boolean;
4
+ componentId: string | null;
5
+ rect: DOMRect | null;
6
+ onClose: () => void;
7
+ onUpdateProps: (componentId: string, props: Record<string, any>) => void;
8
+ onInsertComponent: (position: InsertPosition, referenceComponentId: string, componentName: string, props: Record<string, any>) => void;
9
+ onRemoveBlock: (componentId: string) => void;
10
+ }
11
+ export declare function BlockEditor({ visible, componentId, rect, onClose, onUpdateProps, onInsertComponent, onRemoveBlock, }: BlockEditorProps): import("preact").JSX.Element | null;
12
+ //# sourceMappingURL=block-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-editor.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/block-editor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAA;AAE7D,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IACxE,iBAAiB,EAAE,CAClB,QAAQ,EAAE,cAAc,EACxB,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACtB,IAAI,CAAA;IACT,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAID,wBAAgB,WAAW,CAAC,EAC3B,OAAO,EACP,WAAW,EACX,IAAI,EACJ,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,aAAa,GACb,EAAE,gBAAgB,uCA+clB"}
@@ -0,0 +1,2 @@
1
+ export declare function CollectionsBrowser(): import("preact").JSX.Element | null;
2
+ //# sourceMappingURL=collections-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections-browser.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/collections-browser.tsx"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,wCA4LjC"}
@@ -0,0 +1,12 @@
1
+ import type { Attribute, AvailableColors } from '../types';
2
+ export interface ColorToolbarProps {
3
+ visible: boolean;
4
+ rect: DOMRect | null;
5
+ element: HTMLElement | null;
6
+ availableColors: AvailableColors | undefined;
7
+ currentClasses: Record<string, Attribute> | undefined;
8
+ onColorChange?: (type: 'bg' | 'text' | 'border' | 'hoverBg' | 'hoverText', oldClass: string, newClass: string, previousClassName: string, previousStyleCssText: string) => void;
9
+ onClose?: () => void;
10
+ }
11
+ export declare function ColorToolbar({ visible, rect, element, availableColors, currentClasses, onColorChange, onClose, }: ColorToolbarProps): import("preact").JSX.Element | null;
12
+ //# sourceMappingURL=color-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-toolbar.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/color-toolbar.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1D,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,eAAe,EAAE,eAAe,GAAG,SAAS,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAA;IACrD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/K,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAyJD,wBAAgB,YAAY,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,eAAe,EACf,cAAc,EACd,aAAa,EACb,OAAO,GACP,EAAE,iBAAiB,uCAiInB"}
@@ -0,0 +1,2 @@
1
+ export declare function ConfirmDialog(): import("preact").JSX.Element | null;
2
+ //# sourceMappingURL=confirm-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-dialog.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/confirm-dialog.tsx"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,wCAiE5B"}
@@ -0,0 +1,2 @@
1
+ export declare function CreatePageModal(): import("preact").JSX.Element | null;
2
+ //# sourceMappingURL=create-page-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page-modal.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/create-page-modal.tsx"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,wCAuH9B"}
@@ -0,0 +1,9 @@
1
+ export interface EditableHighlightsProps {
2
+ visible: boolean;
3
+ }
4
+ /**
5
+ * Renders lightweight dashed outlines around all editable elements.
6
+ * Uses a single canvas-like approach with Shadow DOM for performance.
7
+ */
8
+ export declare function EditableHighlights({ visible }: EditableHighlightsProps): import("preact").JSX.Element;
9
+ //# sourceMappingURL=editable-highlights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-highlights.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/editable-highlights.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;CAChB;AAQD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,gCA0ItE"}
@@ -0,0 +1,32 @@
1
+ import { Component, type ComponentChildren } from 'preact';
2
+ interface ErrorBoundaryProps {
3
+ children: ComponentChildren;
4
+ fallback?: ComponentChildren;
5
+ onError?: (error: Error, errorInfo: {
6
+ componentStack: string;
7
+ }) => void;
8
+ componentName?: string;
9
+ }
10
+ interface ErrorBoundaryState {
11
+ hasError: boolean;
12
+ error: Error | null;
13
+ }
14
+ /**
15
+ * Error boundary component to catch and handle errors in CMS UI components.
16
+ * Prevents the entire CMS overlay from crashing when a component fails.
17
+ */
18
+ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
19
+ constructor(props: ErrorBoundaryProps);
20
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
21
+ componentDidCatch(error: Error, errorInfo: {
22
+ componentStack: string;
23
+ }): void;
24
+ private handleRetry;
25
+ render(): ComponentChildren;
26
+ }
27
+ export declare const SilentErrorFallback: () => null;
28
+ export declare const CompactErrorFallback: ({ message }: {
29
+ message?: string;
30
+ }) => import("preact").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=error-boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAE1D,UAAU,kBAAkB;IAC3B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,kBAAkB;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACvE,KAAK,EAAE,kBAAkB;WAKrB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAIjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMrF,OAAO,CAAC,WAAW,CAElB;IAED,MAAM;CAmCN;AAED,eAAO,MAAM,mBAAmB,YAAa,CAAA;AAE7C,eAAO,MAAM,oBAAoB,GAAI,aAAa;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,iCASrE,CAAA"}
@@ -0,0 +1,75 @@
1
+ export declare function FieldLabel({ label, isDirty, onReset }: {
2
+ label: string;
3
+ isDirty?: boolean;
4
+ onReset?: () => void;
5
+ }): import("preact").JSX.Element;
6
+ export interface TextFieldProps {
7
+ label: string;
8
+ value: string | undefined;
9
+ placeholder?: string;
10
+ onChange: (value: string) => void;
11
+ isDirty?: boolean;
12
+ onReset?: () => void;
13
+ }
14
+ export declare function TextField({ label, value, placeholder, onChange, isDirty, onReset }: TextFieldProps): import("preact").JSX.Element;
15
+ export interface ImageFieldProps {
16
+ label: string;
17
+ value: string | undefined;
18
+ placeholder?: string;
19
+ onChange: (value: string) => void;
20
+ onBrowse: () => void;
21
+ isDirty?: boolean;
22
+ onReset?: () => void;
23
+ }
24
+ export declare function ImageField({ label, value, placeholder, onChange, onBrowse, isDirty, onReset }: ImageFieldProps): import("preact").JSX.Element;
25
+ export interface SelectFieldProps {
26
+ label: string;
27
+ value: string | undefined;
28
+ options: Array<{
29
+ value: string;
30
+ label: string;
31
+ }>;
32
+ onChange: (value: string) => void;
33
+ isDirty?: boolean;
34
+ onReset?: () => void;
35
+ allowEmpty?: boolean;
36
+ }
37
+ export declare function SelectField({ label, value, options, onChange, isDirty, onReset, allowEmpty }: SelectFieldProps): import("preact").JSX.Element;
38
+ export interface ToggleFieldProps {
39
+ label: string;
40
+ value: boolean | undefined;
41
+ onChange: (value: boolean) => void;
42
+ isDirty?: boolean;
43
+ onReset?: () => void;
44
+ }
45
+ export declare function ToggleField({ label, value, onChange, isDirty, onReset }: ToggleFieldProps): import("preact").JSX.Element;
46
+ export interface NumberFieldProps {
47
+ label: string;
48
+ value: number | undefined;
49
+ placeholder?: string;
50
+ min?: number;
51
+ max?: number;
52
+ onChange: (value: number | undefined) => void;
53
+ isDirty?: boolean;
54
+ onReset?: () => void;
55
+ }
56
+ export declare function NumberField({ label, value, placeholder, min, max, onChange, isDirty, onReset }: NumberFieldProps): import("preact").JSX.Element;
57
+ export declare function HighlightMatch({ text, query }: {
58
+ text: string;
59
+ query: string;
60
+ }): import("preact").JSX.Element;
61
+ export interface ComboBoxFieldProps {
62
+ label: string;
63
+ value: string | undefined;
64
+ placeholder?: string;
65
+ options: Array<{
66
+ value: string;
67
+ label: string;
68
+ description?: string;
69
+ }>;
70
+ onChange: (value: string) => void;
71
+ isDirty?: boolean;
72
+ onReset?: () => void;
73
+ }
74
+ export declare function ComboBoxField({ label, value, placeholder, options, onChange, isDirty, onReset }: ComboBoxFieldProps): import("preact").JSX.Element;
75
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/fields.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { CollectionDefinition, FieldDefinition, MarkdownPageEntry } from '../types';
2
+ interface FrontmatterFieldProps {
3
+ fieldKey: string;
4
+ value: unknown;
5
+ onChange: (value: unknown) => void;
6
+ }
7
+ export declare function FrontmatterField({ fieldKey, value, onChange, }: FrontmatterFieldProps): import("preact").JSX.Element;
8
+ interface CreateModeFrontmatterProps {
9
+ page: MarkdownPageEntry;
10
+ collectionDefinition: CollectionDefinition;
11
+ onSlugManualEdit: () => void;
12
+ }
13
+ export declare function CreateModeFrontmatter({ page, collectionDefinition, onSlugManualEdit, }: CreateModeFrontmatterProps): import("preact").JSX.Element;
14
+ interface EditModeFrontmatterProps {
15
+ page: MarkdownPageEntry;
16
+ collectionDefinition?: CollectionDefinition;
17
+ }
18
+ export declare function EditModeFrontmatter({ page, collectionDefinition, }: EditModeFrontmatterProps): import("preact").JSX.Element;
19
+ interface SchemaFrontmatterFieldProps {
20
+ field: FieldDefinition;
21
+ value: unknown;
22
+ onChange: (value: unknown) => void;
23
+ }
24
+ export declare function SchemaFrontmatterField({ field, value, onChange, }: SchemaFrontmatterFieldProps): import("preact").JSX.Element;
25
+ export declare function formatFieldLabel(name: string): string;
26
+ export declare function getPlaceholder(field: FieldDefinition): string;
27
+ export declare function slugify(text: string): string;
28
+ export {};
29
+ //# sourceMappingURL=frontmatter-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter-fields.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/frontmatter-fields.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOxF,UAAU,qBAAqB;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAClC;AAED,wBAAgB,gBAAgB,CAAC,EAChC,QAAQ,EACR,KAAK,EACL,QAAQ,GACR,EAAE,qBAAqB,gCAwGvB;AAMD,UAAU,0BAA0B;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,gBAAgB,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,EACrC,IAAI,EACJ,oBAAoB,EACpB,gBAAgB,GAChB,EAAE,0BAA0B,gCA4C5B;AAMD,UAAU,wBAAwB;IACjC,IAAI,EAAE,iBAAiB,CAAA;IACvB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CAC3C;AAED,wBAAgB,mBAAmB,CAAC,EACnC,IAAI,EACJ,oBAAoB,GACpB,EAAE,wBAAwB,gCA+D1B;AAMD,UAAU,2BAA2B;IACpC,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAClC;AAED,wBAAgB,sBAAsB,CAAC,EACtC,KAAK,EACL,KAAK,EACL,QAAQ,GACR,EAAE,2BAA2B,gCA4J7B;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAc7D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO5C"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Shadow DOM-based highlight overlay for CMS elements.
3
+ * This component renders highlights without modifying the target element's styles.
4
+ */
5
+ export interface HighlightState {
6
+ color: string;
7
+ style: 'solid' | 'dashed';
8
+ visible: boolean;
9
+ }
10
+ /**
11
+ * Custom element that renders a highlight overlay using Shadow DOM
12
+ */
13
+ declare class CmsHighlightOverlay extends HTMLElement {
14
+ private shadow;
15
+ private overlayElement;
16
+ private resizeObserver;
17
+ private targetElement;
18
+ private animationFrameId;
19
+ constructor();
20
+ connectedCallback(): void;
21
+ disconnectedCallback(): void;
22
+ /**
23
+ * Set the target element to highlight
24
+ */
25
+ setTarget(element: HTMLElement): void;
26
+ /**
27
+ * Set the highlight style
28
+ */
29
+ setHighlightStyle(color: string, style: 'solid' | 'dashed'): void;
30
+ /**
31
+ * Update position to match target element
32
+ */
33
+ private updatePosition;
34
+ /**
35
+ * Start continuous position tracking for scroll/resize
36
+ */
37
+ private startPositionTracking;
38
+ /**
39
+ * Stop position tracking
40
+ */
41
+ private stopPositionTracking;
42
+ }
43
+ /**
44
+ * Initialize the highlight container
45
+ */
46
+ export declare function initHighlightContainer(): void;
47
+ /**
48
+ * Clean up the highlight container
49
+ */
50
+ export declare function destroyHighlightContainer(): void;
51
+ /**
52
+ * Set highlight outline on an element using Shadow DOM overlay
53
+ */
54
+ export declare function setElementHighlight(el: HTMLElement, color: string, style?: 'solid' | 'dashed'): void;
55
+ /**
56
+ * Clear highlight from an element
57
+ */
58
+ export declare function clearElementHighlight(el: HTMLElement): void;
59
+ /**
60
+ * Clear all highlights
61
+ */
62
+ export declare function clearAllHighlights(): void;
63
+ export { CmsHighlightOverlay };
64
+ //# sourceMappingURL=highlight-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight-overlay.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/highlight-overlay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;CAChB;AAWD;;GAEG;AACH,cAAM,mBAAoB,SAAQ,WAAW;IAC5C,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,gBAAgB,CAAsB;;IAgC9C,iBAAiB;IAIjB,oBAAoB;IAIpB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW;IAe9B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ;IAM1D;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAU5B;AAeD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAkB7C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,OAAO,GAAG,QAAkB,GACjC,IAAI,CAaN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAM3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,12 @@
1
+ export interface ImageOverlayProps {
2
+ visible: boolean;
3
+ rect: DOMRect | null;
4
+ element: HTMLImageElement | null;
5
+ cmsId: string | null;
6
+ }
7
+ /**
8
+ * Shadow DOM-based image overlay component.
9
+ * Shows a clickable overlay on image elements to guide users to replace images.
10
+ */
11
+ export declare function ImageOverlay({ visible, rect, element, cmsId }: ImageOverlayProps): import("preact").JSX.Element;
12
+ //# sourceMappingURL=image-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-overlay.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/image-overlay.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,iBAAiB,gCAsNhF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Wrapper component that renders the editor in place of markdown content.
3
+ * Supports both "edit" mode (existing page) and "create" mode (new page).
4
+ */
5
+ export declare function MarkdownEditorOverlay(): import("preact").JSX.Element | null;
6
+ //# sourceMappingURL=markdown-editor-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-editor-overlay.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/markdown-editor-overlay.tsx"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAgB,qBAAqB,wCAiepC"}
@@ -0,0 +1,10 @@
1
+ import { Editor } from '@milkdown/core';
2
+ export interface MarkdownInlineEditorProps {
3
+ elementId: string;
4
+ initialContent: string;
5
+ onSave: (content: string) => void;
6
+ onCancel: () => void;
7
+ onEditorReady?: (editor: Editor) => void;
8
+ }
9
+ export declare function MarkdownInlineEditor({ elementId, initialContent, onSave, onCancel, onEditorReady, }: MarkdownInlineEditorProps): import("preact").JSX.Element;
10
+ //# sourceMappingURL=markdown-inline-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-inline-editor.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/markdown-inline-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAA0B,MAAM,gBAAgB,CAAA;AAkB7F,MAAM,WAAW,yBAAyB;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC;AAED,wBAAgB,oBAAoB,CAAC,EACpC,SAAS,EACT,cAAc,EACd,MAAM,EACN,QAAQ,EACR,aAAa,GACb,EAAE,yBAAyB,gCA6sB3B"}
@@ -0,0 +1,2 @@
1
+ export declare function MediaLibrary(): import("preact").JSX.Element | null;
2
+ //# sourceMappingURL=media-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-library.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/media-library.tsx"],"names":[],"mappings":"AAeA,wBAAgB,YAAY,wCAyR3B"}
@@ -0,0 +1,21 @@
1
+ export interface OutlineProps {
2
+ visible: boolean;
3
+ rect: DOMRect | null;
4
+ isComponent?: boolean;
5
+ componentName?: string;
6
+ tagName?: string;
7
+ /** The actual element being outlined - used for scroll tracking */
8
+ element?: HTMLElement | null;
9
+ /** CMS ID of the hovered element */
10
+ cmsId?: string | null;
11
+ /** Callback when a color swatch is clicked */
12
+ onColorClick?: (cmsId: string, rect: DOMRect) => void;
13
+ /** Callback when an attribute indicator is clicked */
14
+ onAttributeClick?: (cmsId: string, rect: DOMRect) => void;
15
+ }
16
+ /**
17
+ * Shadow DOM-based hover outline component.
18
+ * Uses a custom element with Shadow DOM to avoid style conflicts.
19
+ */
20
+ export declare function Outline({ visible, rect, isComponent, componentName, tagName, element, cmsId, onColorClick, onAttributeClick }: OutlineProps): import("preact").JSX.Element;
21
+ //# sourceMappingURL=outline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/outline.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrD,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACzD;AAOD;;;GAGG;AACH,wBAAgB,OAAO,CACtB,EAAE,OAAO,EAAE,IAAI,EAAE,WAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,YAAY,gCAkX5H"}
@@ -0,0 +1,2 @@
1
+ export declare function RedirectCountdown(): import("preact").JSX.Element | null;
2
+ //# sourceMappingURL=redirect-countdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect-countdown.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/redirect-countdown.tsx"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,wCA0ChC"}
@@ -0,0 +1,2 @@
1
+ export declare function SeoEditor(): import("preact").JSX.Element | null;
2
+ //# sourceMappingURL=seo-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seo-editor.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/seo-editor.tsx"],"names":[],"mappings":"AAiFA,wBAAgB,SAAS,wCAgaxB"}
@@ -0,0 +1,8 @@
1
+ export interface TextStyleToolbarProps {
2
+ visible: boolean;
3
+ rect: DOMRect | null;
4
+ element: HTMLElement | null;
5
+ onStyleChange?: () => void;
6
+ }
7
+ export declare function TextStyleToolbar({ visible, rect, element, onStyleChange }: TextStyleToolbarProps): import("preact").JSX.Element | null;
8
+ //# sourceMappingURL=text-style-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-style-toolbar.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/text-style-toolbar.tsx"],"names":[],"mappings":"AAiBA,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AA8ED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,qBAAqB,uCAqQhG"}
@@ -0,0 +1,7 @@
1
+ import type { ToastMessage } from './types';
2
+ export interface ToastContainerProps {
3
+ toasts: ToastMessage[];
4
+ onRemove: (id: string) => void;
5
+ }
6
+ export declare const ToastContainer: ({ toasts, onRemove }: ToastContainerProps) => import("preact").JSX.Element;
7
+ //# sourceMappingURL=toast-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast-container.d.ts","sourceRoot":"","sources":["../../../../../src/editor/components/toast/toast-container.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,sBAAsB,mBAAmB,iCAMvE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { ToastMessage } from './types';
2
+ interface ToastProps extends ToastMessage {
3
+ onRemove: (id: string) => void;
4
+ }
5
+ export declare const Toast: ({ id, message, type, onRemove }: ToastProps) => import("preact").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../../src/editor/components/toast/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,UAAU,UAAW,SAAQ,YAAY;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAED,eAAO,MAAM,KAAK,GAAI,iCAAiC,UAAU,iCAwChE,CAAA"}
@@ -0,0 +1,7 @@
1
+ export type ToastType = 'info' | 'success' | 'error';
2
+ export interface ToastMessage {
3
+ id: string;
4
+ message: string;
5
+ type: ToastType;
6
+ }
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/editor/components/toast/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;CACf"}