@nuasite/cms 0.2.2 → 0.3.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 (55) hide show
  1. package/README.md +81 -73
  2. package/dist/src/build-processor.d.ts.map +1 -1
  3. package/dist/src/component-registry.d.ts +6 -2
  4. package/dist/src/component-registry.d.ts.map +1 -1
  5. package/dist/src/dev-middleware.d.ts.map +1 -1
  6. package/dist/src/editor/api.d.ts +14 -0
  7. package/dist/src/editor/api.d.ts.map +1 -1
  8. package/dist/src/editor/components/ai-chat.d.ts.map +1 -1
  9. package/dist/src/editor/components/block-editor.d.ts.map +1 -1
  10. package/dist/src/editor/components/color-toolbar.d.ts.map +1 -1
  11. package/dist/src/editor/components/editable-highlights.d.ts.map +1 -1
  12. package/dist/src/editor/components/outline.d.ts.map +1 -1
  13. package/dist/src/editor/constants.d.ts +1 -0
  14. package/dist/src/editor/constants.d.ts.map +1 -1
  15. package/dist/src/editor/dom.d.ts +9 -0
  16. package/dist/src/editor/dom.d.ts.map +1 -1
  17. package/dist/src/editor/editor.d.ts.map +1 -1
  18. package/dist/src/editor/history.d.ts.map +1 -1
  19. package/dist/src/editor/hooks/useBlockEditorHandlers.d.ts.map +1 -1
  20. package/dist/src/editor/index.d.ts.map +1 -1
  21. package/dist/src/editor/storage.d.ts +2 -0
  22. package/dist/src/editor/storage.d.ts.map +1 -1
  23. package/dist/src/handlers/array-ops.d.ts +59 -0
  24. package/dist/src/handlers/array-ops.d.ts.map +1 -0
  25. package/dist/src/handlers/component-ops.d.ts +26 -0
  26. package/dist/src/handlers/component-ops.d.ts.map +1 -1
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/source-finder/cross-file-tracker.d.ts.map +1 -1
  29. package/dist/src/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +1 -1
  31. package/src/build-processor.ts +27 -0
  32. package/src/component-registry.ts +125 -76
  33. package/src/dev-middleware.ts +85 -16
  34. package/src/editor/api.ts +72 -0
  35. package/src/editor/components/ai-chat.tsx +0 -1
  36. package/src/editor/components/block-editor.tsx +92 -17
  37. package/src/editor/components/color-toolbar.tsx +7 -1
  38. package/src/editor/components/editable-highlights.tsx +4 -1
  39. package/src/editor/components/outline.tsx +11 -6
  40. package/src/editor/constants.ts +1 -0
  41. package/src/editor/dom.ts +46 -1
  42. package/src/editor/editor.ts +5 -2
  43. package/src/editor/history.ts +1 -6
  44. package/src/editor/hooks/useBlockEditorHandlers.ts +86 -29
  45. package/src/editor/index.tsx +24 -8
  46. package/src/editor/storage.ts +24 -0
  47. package/src/handlers/array-ops.ts +452 -0
  48. package/src/handlers/component-ops.ts +269 -18
  49. package/src/handlers/markdown-ops.ts +7 -4
  50. package/src/handlers/request-utils.ts +1 -1
  51. package/src/handlers/source-writer.ts +4 -5
  52. package/src/index.ts +15 -10
  53. package/src/manifest-writer.ts +1 -1
  54. package/src/source-finder/cross-file-tracker.ts +1 -1
  55. package/src/source-finder/search-index.ts +1 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@ Astro integration that adds inline visual editing to any Astro site. Scans your
13
13
  import nuaCms from '@nuasite/astro-cms'
14
14
 
15
15
  export default defineConfig({
16
- integrations: [nuaCms()],
16
+ integrations: [nuaCms()],
17
17
  })
18
18
  ```
19
19
 
@@ -31,32 +31,32 @@ The integration operates in two phases:
31
31
 
32
32
  ```typescript
33
33
  nuaCms({
34
- // --- Editor ---
35
- src: undefined, // Custom editor script URL (default: built-in @app/cms bundle)
36
- cmsConfig: { // Passed to window.NuaCmsConfig
37
- apiBase: '/_nua/cms', // API endpoint base (auto-set when using local dev server)
38
- highlightColor: undefined,
39
- debug: false,
40
- theme: undefined,
41
- themePreset: undefined,
42
- },
43
-
44
- // --- Backend ---
45
- proxy: undefined, // Proxy /_nua requests to a remote backend (e.g. 'http://localhost:8787')
46
- // When set, the local dev server API is disabled
47
- media: undefined, // Media storage adapter (default: localMedia() when no proxy)
48
-
49
- // --- Marker ---
50
- attributeName: 'data-cms-id',
51
- includeTags: null, // null = all tags
52
- excludeTags: ['html', 'head', 'body', 'script', 'style'],
53
- includeEmptyText: false,
54
- generateManifest: true,
55
- manifestFile: 'cms-manifest.json',
56
- markComponents: true,
57
- componentDirs: ['src/components'],
58
- contentDir: 'src/content',
59
- seo: { trackSeo: true, markTitle: true, parseJsonLd: true },
34
+ // --- Editor ---
35
+ src: undefined, // Custom editor script URL (default: built-in @app/cms bundle)
36
+ cmsConfig: { // Passed to window.NuaCmsConfig
37
+ apiBase: '/_nua/cms', // API endpoint base (auto-set when using local dev server)
38
+ highlightColor: undefined,
39
+ debug: false,
40
+ theme: undefined,
41
+ themePreset: undefined,
42
+ },
43
+
44
+ // --- Backend ---
45
+ proxy: undefined, // Proxy /_nua requests to a remote backend (e.g. 'http://localhost:8787')
46
+ // When set, the local dev server API is disabled
47
+ media: undefined, // Media storage adapter (default: localMedia() when no proxy)
48
+
49
+ // --- Marker ---
50
+ attributeName: 'data-cms-id',
51
+ includeTags: null, // null = all tags
52
+ excludeTags: ['html', 'head', 'body', 'script', 'style'],
53
+ includeEmptyText: false,
54
+ generateManifest: true,
55
+ manifestFile: 'cms-manifest.json',
56
+ markComponents: true,
57
+ componentDirs: ['src/components'],
58
+ contentDir: 'src/content',
59
+ seo: { trackSeo: true, markTitle: true, parseJsonLd: true },
60
60
  })
61
61
  ```
62
62
 
@@ -64,19 +64,19 @@ nuaCms({
64
64
 
65
65
  When no `proxy` is configured, the integration spins up a local API at `/_nua/cms/`. This handles all CMS operations without needing the Cloudflare Worker backend.
66
66
 
67
- | Method | Path | Description |
68
- |--------|------|-------------|
69
- | POST | `/_nua/cms/update` | Save text, image, color, and attribute changes |
70
- | POST | `/_nua/cms/insert-component` | Insert a component before/after a reference |
71
- | POST | `/_nua/cms/remove-component` | Remove a component from the page |
72
- | GET | `/_nua/cms/markdown/content` | Read markdown file content + frontmatter |
73
- | POST | `/_nua/cms/markdown/update` | Update markdown file (partial frontmatter merge) |
74
- | POST | `/_nua/cms/markdown/create` | Create a new markdown file in a collection |
75
- | GET | `/_nua/cms/media/list` | List uploaded media files |
76
- | POST | `/_nua/cms/media/upload` | Upload a file (multipart/form-data) |
77
- | DELETE | `/_nua/cms/media/:id` | Delete an uploaded file |
78
- | GET | `/_nua/cms/deployment/status` | Returns `{ currentDeployment: null, pendingCount: 0 }` |
79
- | OPTIONS | `/_nua/cms/*` | CORS preflight |
67
+ | Method | Path | Description |
68
+ | ------- | ----------------------------- | ------------------------------------------------------ |
69
+ | POST | `/_nua/cms/update` | Save text, image, color, and attribute changes |
70
+ | POST | `/_nua/cms/insert-component` | Insert a component before/after a reference |
71
+ | POST | `/_nua/cms/remove-component` | Remove a component from the page |
72
+ | GET | `/_nua/cms/markdown/content` | Read markdown file content + frontmatter |
73
+ | POST | `/_nua/cms/markdown/update` | Update markdown file (partial frontmatter merge) |
74
+ | POST | `/_nua/cms/markdown/create` | Create a new markdown file in a collection |
75
+ | GET | `/_nua/cms/media/list` | List uploaded media files |
76
+ | POST | `/_nua/cms/media/upload` | Upload a file (multipart/form-data) |
77
+ | DELETE | `/_nua/cms/media/:id` | Delete an uploaded file |
78
+ | GET | `/_nua/cms/deployment/status` | Returns `{ currentDeployment: null, pendingCount: 0 }` |
79
+ | OPTIONS | `/_nua/cms/*` | CORS preflight |
80
80
 
81
81
  ### Update Payload
82
82
 
@@ -116,11 +116,11 @@ Files are stored in Cloudflare R2 with metadata tracked in the Contember databas
116
116
  import nuaCms, { contemberMedia } from '@nuasite/astro-cms'
117
117
 
118
118
  nuaCms({
119
- media: contemberMedia({
120
- apiBaseUrl: 'https://api.example.com',
121
- projectSlug: 'my-project',
122
- sessionToken: process.env.NUA_SESSION_TOKEN,
123
- }),
119
+ media: contemberMedia({
120
+ apiBaseUrl: 'https://api.example.com',
121
+ projectSlug: 'my-project',
122
+ sessionToken: process.env.NUA_SESSION_TOKEN,
123
+ }),
124
124
  })
125
125
  ```
126
126
 
@@ -134,10 +134,10 @@ Stores files in `public/uploads/`. Served directly by Vite's static file server.
134
134
  import nuaCms, { localMedia } from '@nuasite/astro-cms'
135
135
 
136
136
  nuaCms({
137
- media: localMedia({
138
- dir: 'public/uploads', // default
139
- urlPrefix: '/uploads', // default
140
- }),
137
+ media: localMedia({
138
+ dir: 'public/uploads', // default
139
+ urlPrefix: '/uploads', // default
140
+ }),
141
141
  })
142
142
  ```
143
143
 
@@ -151,16 +151,16 @@ Direct S3-compatible object storage. Works with AWS S3, Cloudflare R2, MinIO, or
151
151
  import nuaCms, { s3Media } from '@nuasite/astro-cms'
152
152
 
153
153
  nuaCms({
154
- media: s3Media({
155
- bucket: 'my-bucket',
156
- region: 'us-east-1',
157
- // Optional:
158
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
159
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
160
- endpoint: 'https://account.r2.cloudflarestorage.com', // for R2
161
- cdnPrefix: 'https://cdn.example.com', // public URL prefix
162
- prefix: 'uploads', // key prefix in bucket
163
- }),
154
+ media: s3Media({
155
+ bucket: 'my-bucket',
156
+ region: 'us-east-1',
157
+ // Optional:
158
+ accessKeyId: process.env.AWS_ACCESS_KEY_ID,
159
+ secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
160
+ endpoint: 'https://account.r2.cloudflarestorage.com', // for R2
161
+ cdnPrefix: 'https://cdn.example.com', // public URL prefix
162
+ prefix: 'uploads', // key prefix in bucket
163
+ }),
164
164
  })
165
165
  ```
166
166
 
@@ -178,15 +178,15 @@ Implement the `MediaStorageAdapter` interface to use any storage backend:
178
178
  import type { MediaStorageAdapter } from '@nuasite/astro-cms'
179
179
 
180
180
  const myAdapter: MediaStorageAdapter = {
181
- async list(options) {
182
- // Return { items: MediaItem[], hasMore: boolean, cursor?: string }
183
- },
184
- async upload(file: Buffer, filename: string, contentType: string) {
185
- // Return { success: boolean, url?: string, filename?: string, id?: string, error?: string }
186
- },
187
- async delete(id: string) {
188
- // Return { success: boolean, error?: string }
189
- },
181
+ async list(options) {
182
+ // Return { items: MediaItem[], hasMore: boolean, cursor?: string }
183
+ },
184
+ async upload(file: Buffer, filename: string, contentType: string) {
185
+ // Return { success: boolean, url?: string, filename?: string, id?: string, error?: string }
186
+ },
187
+ async delete(id: string) {
188
+ // Return { success: boolean, error?: string }
189
+ },
190
190
  }
191
191
 
192
192
  nuaCms({ media: myAdapter })
@@ -198,7 +198,7 @@ To use the Contember worker backend for all CMS operations (not just media), set
198
198
 
199
199
  ```typescript
200
200
  nuaCms({
201
- proxy: 'http://localhost:8787', // Worker dev server
201
+ proxy: 'http://localhost:8787', // Worker dev server
202
202
  })
203
203
  ```
204
204
 
@@ -229,13 +229,21 @@ Both operations find the invocation site (the page file, not the component file
229
229
  import nuaCms from '@nuasite/astro-cms'
230
230
 
231
231
  // Media adapters
232
- import { localMedia, s3Media, contemberMedia } from '@nuasite/astro-cms'
232
+ import { contemberMedia, localMedia, s3Media } from '@nuasite/astro-cms'
233
233
 
234
234
  // Types
235
- import type { MediaStorageAdapter, MediaItem } from '@nuasite/astro-cms'
236
- import type { CmsManifest, ManifestEntry, ComponentDefinition } from '@nuasite/astro-cms'
235
+ import type { MediaItem, MediaStorageAdapter } from '@nuasite/astro-cms'
236
+ import type {
237
+ CmsManifest,
238
+ ComponentDefinition,
239
+ ManifestEntry,
240
+ } from '@nuasite/astro-cms'
237
241
 
238
242
  // Utilities
239
- import { scanCollections, getProjectRoot, setProjectRoot } from '@nuasite/astro-cms'
243
+ import {
244
+ getProjectRoot,
245
+ scanCollections,
246
+ setProjectRoot,
247
+ } from '@nuasite/astro-cms'
240
248
  import { findCollectionSource, parseMarkdownContent } from '@nuasite/astro-cms'
241
249
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"build-processor.d.ts","sourceRoot":"","sources":["../../src/build-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAA;AAOnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAcvD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAA;AA6BhE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACxC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,GAC7B,KAAK,CAAC;IAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC,CAkD5D;AAwkBD;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAyDf"}
1
+ {"version":3,"file":"build-processor.d.ts","sourceRoot":"","sources":["../../src/build-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAA;AAQnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAcvD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAA;AA6BhE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACxC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,GAC7B,KAAK,CAAC;IAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC,CAkD5D;AAkmBD;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -27,10 +27,14 @@ export declare class ComponentRegistry {
27
27
  */
28
28
  private parseComponent;
29
29
  /**
30
- * Parse Props content and extract individual property definitions
31
- * Handles multi-line properties with nested types
30
+ * Parse Props content using @babel/parser AST for correct TypeScript handling.
31
+ * Wraps the content in a synthetic interface and walks TSPropertySignature nodes.
32
32
  */
33
33
  private parsePropsContent;
34
+ /**
35
+ * Fallback: convert a Babel TSType node to a human-readable string
36
+ */
37
+ private typeAnnotationToString;
34
38
  /**
35
39
  * Extract content between balanced braces after a pattern match
36
40
  * Properly handles nested objects
@@ -1 +1 @@
1
- {"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../../src/component-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,SAAS,CAAA;AAEjE;;GAEG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,aAAa,CAAU;gBAEnB,aAAa,GAAE,MAAM,EAAuB;IAIxD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAIpD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI3D;;OAEG;YACW,aAAa;IAe3B;;OAEG;YACW,cAAc;IAuB5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA2FzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;YACW,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,YAAY;IA2BpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAU3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACnB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA0BxD"}
1
+ {"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../../src/component-registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,SAAS,CAAA;AAEjE;;GAEG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,aAAa,CAAU;gBAEnB,aAAa,GAAE,MAAM,EAAuB;IAIxD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAIpD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI3D;;OAEG;YACW,aAAa;IAe3B;;OAEG;YACW,cAAc;IAuB5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+FzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyC9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;YACW,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,YAAY;IA2BpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAU3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACnB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA0BxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-middleware.d.ts","sourceRoot":"","sources":["../../src/dev-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAkBhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,mBAAmB,EAAe,MAAM,SAAS,CAAA;AAGlG,4GAA4G;AAC5G,UAAU,iBAAiB;IAC1B,WAAW,EAAE;QACZ,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,CAAA;KAChG,CAAA;IACD,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAClE;AAED,MAAM,WAAW,oBAAoB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,mBAAmB,CAAA;CAClC;AAED,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACzD,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,OAAO,GAAE,oBAAyB,QAoMlC"}
1
+ {"version":3,"file":"dev-middleware.d.ts","sourceRoot":"","sources":["../../src/dev-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAgBhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,mBAAmB,EAAe,MAAM,SAAS,CAAA;AAGlG,4GAA4G;AAC5G,UAAU,iBAAiB;IAC1B,WAAW,EAAE;QACZ,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,CAAA;KAChG,CAAA;IACD,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAClE;AAED,MAAM,WAAW,oBAAoB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,mBAAmB,CAAA;CAClC;AAED,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACzD,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,OAAO,GAAE,oBAAyB,QAsMlC"}
@@ -96,6 +96,20 @@ export interface RemoveComponentResponse {
96
96
  commitMessage?: string;
97
97
  error?: string;
98
98
  }
99
+ export interface AddArrayItemResponse {
100
+ success: boolean;
101
+ message?: string;
102
+ sourceFile?: string;
103
+ error?: string;
104
+ }
105
+ export declare function addArrayItem(apiBase: string, referenceComponentId: string, position: 'before' | 'after', props: Record<string, unknown>): Promise<AddArrayItemResponse>;
106
+ export interface RemoveArrayItemResponse {
107
+ success: boolean;
108
+ message?: string;
109
+ sourceFile?: string;
110
+ error?: string;
111
+ }
112
+ export declare function removeArrayItem(apiBase: string, componentId: string): Promise<RemoveArrayItemResponse>;
99
113
  export declare function removeComponent(apiBase: string, componentId: string): Promise<RemoveComponentResponse>;
100
114
  /**
101
115
  * Parse SSE data line to event
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/editor/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/editor/api.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,wCAqbhD,CAAA"}
@@ -1 +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"}
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,uCA0hBlB"}
@@ -1 +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"}
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,CACf,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,EACxD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,KACxB,IAAI,CAAA;IACT,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"}
@@ -1 +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"}
1
+ {"version":3,"file":"editable-highlights.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/editable-highlights.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;CAChB;AAQD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,gCA0ItE"}
@@ -1 +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"}
1
+ {"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../../src/editor/components/outline.tsx"],"names":[],"mappings":"AAMA,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,gCAsX5H"}
@@ -84,6 +84,7 @@ export declare const STORAGE_KEYS: {
84
84
  readonly PENDING_ATTRIBUTE_EDITS: "cms-pending-attribute-edits";
85
85
  readonly SETTINGS: "cms-settings";
86
86
  readonly PENDING_ENTRY_NAVIGATION: "cms-pending-entry-navigation";
87
+ readonly IS_EDITING: "cms-is-editing";
87
88
  };
88
89
  /**
89
90
  * CSS class prefixes and identifiers
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/editor/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO;IACnB,6CAA6C;;IAE7C,kCAAkC;;IAElC,2CAA2C;;IAE3C,0CAA0C;;CAEjC,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,MAAM;IAClB,qEAAqE;;IAErE,qDAAqD;;IAErD,mDAAmD;;IAEnD,gDAAgD;;IAEhD,uEAAuE;;IAEvE,yDAAyD;;IAEzD,uDAAuD;;CAE9C,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,MAAM;IAClB,kEAAkE;;IAElE,6DAA6D;;IAE7D,mDAAmD;;IAEnD,0CAA0C;;IAE1C,4BAA4B;;IAE5B,qCAAqC;;IAErC,qCAAqC;;IAErC,+BAA+B;;IAE/B,sDAAsD;;IAEtD,0BAA0B;;CAEjB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,GAAG;IACf,8CAA8C;;IAE9C,mDAAmD;;IAEnD,iDAAiD;;IAEjD,8CAA8C;;CAErC,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,GAAG;IACf,wEAAwE;;IAExE,yCAAyC;;IAEzC,uCAAuC;;IAEvC,+CAA+C;;CAEtC,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/editor/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO;IACnB,6CAA6C;;IAE7C,kCAAkC;;IAElC,2CAA2C;;IAE3C,0CAA0C;;CAEjC,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,MAAM;IAClB,qEAAqE;;IAErE,qDAAqD;;IAErD,mDAAmD;;IAEnD,gDAAgD;;IAEhD,uEAAuE;;IAEvE,yDAAyD;;IAEzD,uDAAuD;;CAE9C,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,MAAM;IAClB,kEAAkE;;IAElE,6DAA6D;;IAE7D,mDAAmD;;IAEnD,0CAA0C;;IAE1C,4BAA4B;;IAE5B,qCAAqC;;IAErC,qCAAqC;;IAErC,+BAA+B;;IAE/B,sDAAsD;;IAEtD,0BAA0B;;CAEjB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,GAAG;IACf,8CAA8C;;IAE9C,mDAAmD;;IAEnD,iDAAiD;;IAEjD,8CAA8C;;CAErC,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,GAAG;IACf,wEAAwE;;IAExE,yCAAyC;;IAEzC,uCAAuC;;IAEvC,+CAA+C;;CAEtC,CAAA"}
@@ -1,4 +1,13 @@
1
1
  import type { ChildCmsElement } from './types';
2
+ /**
3
+ * Detect whether the page has a dark background by checking the computed
4
+ * background color of the body and html elements.
5
+ */
6
+ export declare function isPageDark(): boolean;
7
+ /**
8
+ * Get an outline color that contrasts with the page background.
9
+ */
10
+ export declare function getOutlineColor(): string;
2
11
  /**
3
12
  * Get the best CMS element at a specific position using elementsFromPoint.
4
13
  * This is more reliable than using event.target for nested elements.
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/editor/dom.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,WAAW,GAAG,IAAI,CAyCpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAW/E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAatG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAE1D;AAsCD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAYlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,eAAe,EAAE,CAKtE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAatF;AAED,wBAAgB,iBAAiB,IAAI,UAAU,CAAC,WAAW,CAAC,CAE3D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAEzD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAE5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,OAAO,GAAG,QAAkB,GAAG,IAAI,CAE3G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AA+BD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG7D;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAqBpD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAqBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/editor/dom.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAsB9C;;;GAGG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAUpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAKD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,WAAW,GAAG,IAAI,CAyCpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAW/E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAatG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAE1D;AAsCD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAYlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,eAAe,EAAE,CAKtE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAatF;AAED,wBAAgB,iBAAiB,IAAI,UAAU,CAAC,WAAW,CAAC,CAE3D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAEzD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAE5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,OAAO,GAAG,QAAkB,GAAG,IAAI,CAE3G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAiCD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG7D;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAqBpD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAqBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../src/editor/editor.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAyC,SAAS,EAA+D,MAAM,SAAS,CAAA;AAqD5I;;;GAGG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAqNf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAkB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,IAAI,CAkEN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,IAAI,CAkCN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAqDlE;AA8BD;;GAEG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqPlG;AA2OD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,EAC7D,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,IAAI,EAC1B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,oBAAoB,CAAC,EAAE,MAAM,GAC3B,IAAI,CA6DN;AAiBD,MAAM,WAAW,wBAAwB;IACxC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAA;CACjE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAgHlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C;AAkFD;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,IAAI,CAuDN"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../src/editor/editor.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAyC,SAAS,EAA+D,MAAM,SAAS,CAAA;AAqD5I;;;GAGG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAsNf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAmB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,IAAI,CAkEN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,IAAI,CAkCN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAqDlE;AA8BD;;GAEG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqPlG;AA2OD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,EAC7D,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,IAAI,EAC1B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,oBAAoB,CAAC,EAAE,MAAM,GAC3B,IAAI,CA6DN;AAiBD,MAAM,WAAW,wBAAwB;IACxC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAA;CACjE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAgHlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C;AAkFD;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,IAAI,CAuDN"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/editor/history.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AASpE,eAAO,MAAM,SAAS,qDAA2B,CAAA;AACjD,eAAO,MAAM,SAAS,qDAA2B,CAAA;AAEjD,eAAO,MAAM,OAAO,wDAA2E,CAAA;AAC/F,eAAO,MAAM,OAAO,wDAA6C,CAAA;AAEjE,sEAAsE;AACtE,eAAO,IAAI,kBAAkB,SAAQ,CAAA;AAoBrC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAwB/D;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAUrD;AA0BD,wBAAgB,WAAW,IAAI,IAAI,CAiBlC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAclC;AAwLD,wBAAgB,YAAY,IAAI,IAAI,CAQnC"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/editor/history.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AASpE,eAAO,MAAM,SAAS,qDAA2B,CAAA;AACjD,eAAO,MAAM,SAAS,qDAA2B,CAAA;AAEjD,eAAO,MAAM,OAAO,wDAA2E,CAAA;AAC/F,eAAO,MAAM,OAAO,wDAA6C,CAAA;AAEjE,sEAAsE;AACtE,eAAO,IAAI,kBAAkB,SAAQ,CAAA;AAoBrC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAwB/D;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAUrD;AA0BD,wBAAgB,WAAW,IAAI,IAAI,CAiBlC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAclC;AAwLD,wBAAgB,YAAY,IAAI,IAAI,CAQnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBlockEditorHandlers.d.ts","sourceRoot":"","sources":["../../../../src/editor/hooks/useBlockEditorHandlers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAczD,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,KAAK,IAAI,CAAA;CACzE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,MAAM,EACN,SAAS,GACT,EAAE,0BAA0B;;yCAOb,MAAM,QAAQ,OAAO;;qCAqBrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;sCAarC,cAAc,wBACF,MAAM,iBACb,MAAM,SACd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;qCAmEP,MAAM;EAgE3B"}
1
+ {"version":3,"file":"useBlockEditorHandlers.d.ts","sourceRoot":"","sources":["../../../../src/editor/hooks/useBlockEditorHandlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAkC,cAAc,EAAE,MAAM,UAAU,CAAA;AAkCzF,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,KAAK,IAAI,CAAA;CACzE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,MAAM,EACN,SAAS,GACT,EAAE,0BAA0B;;yCAOb,MAAM,QAAQ,OAAO;;qCAqBrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;sCAarC,cAAc,wBACF,MAAM,iBACb,MAAM,SACd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;qCAiGP,MAAM;EAsE3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/index.tsx"],"names":[],"mappings":"AAkXA,cAAM,SAAS;IACd,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,MAAM,CAAc;IAEtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,OAAO,CAAC,OAAO;IA2Bf,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,gBAAgB;CASxB;AAgBD,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/index.tsx"],"names":[],"mappings":"AAkYA,cAAM,SAAS;IACd,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,MAAM,CAAc;IAEtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,OAAO,CAAC,OAAO;IA2Bf,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,gBAAgB;CASxB;AAgBD,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -23,5 +23,7 @@ export interface PendingEntryNavigation {
23
23
  export declare function savePendingEntryNavigation(entry: PendingEntryNavigation): void;
24
24
  export declare function hasPendingEntryNavigation(): boolean;
25
25
  export declare function loadPendingEntryNavigation(): PendingEntryNavigation | null;
26
+ export declare function saveEditingState(isEditing: boolean): void;
27
+ export declare function loadEditingState(): boolean;
26
28
  export declare function clearAllEditsFromStorage(): void;
27
29
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/editor/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,eAAe,EACf,MAAM,SAAS,CAAA;AAMhB,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAmBnF;AAED,wBAAgB,oBAAoB,IAAI,UAAU,CAQjD;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAM5C;AAMD,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAoBlG;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAQ3D;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AAMD,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAiBlG;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAQ3D;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AAMD,wBAAgB,2BAA2B,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,IAAI,CAiB9G;AAED,wBAAgB,6BAA6B,IAAI,mBAAmB,CAQnE;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAMrD;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAMjE;AAED,wBAAgB,uBAAuB,IAAI,WAAW,GAAG,IAAI,CAQ5D;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAMD,MAAM,WAAW,sBAAsB;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAM9E;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CASnD;AAED,wBAAgB,0BAA0B,IAAI,sBAAsB,GAAG,IAAI,CAY1E;AAMD,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/editor/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,WAAW,EACX,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,eAAe,EACf,MAAM,SAAS,CAAA;AAMhB,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAmBnF;AAED,wBAAgB,oBAAoB,IAAI,UAAU,CAQjD;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAM5C;AAMD,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAoBlG;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAQ3D;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AAMD,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAiBlG;AAED,wBAAgB,yBAAyB,IAAI,eAAe,CAQ3D;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AAMD,wBAAgB,2BAA2B,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,IAAI,CAiB9G;AAED,wBAAgB,6BAA6B,IAAI,mBAAmB,CAQnE;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAMrD;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAMjE;AAED,wBAAgB,uBAAuB,IAAI,WAAW,GAAG,IAAI,CAQ5D;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAMD,MAAM,WAAW,sBAAsB;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAM9E;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CASnD;AAED,wBAAgB,0BAA0B,IAAI,sBAAsB,GAAG,IAAI,CAY1E;AAMD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAUzD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAM1C;AAMD,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C"}
@@ -0,0 +1,59 @@
1
+ import type { ManifestWriter } from '../manifest-writer';
2
+ export interface AddArrayItemRequest {
3
+ referenceComponentId: string;
4
+ position: 'before' | 'after';
5
+ props: Record<string, unknown>;
6
+ meta?: {
7
+ source: string;
8
+ url: string;
9
+ };
10
+ }
11
+ export interface AddArrayItemResponse {
12
+ success: boolean;
13
+ message?: string;
14
+ sourceFile?: string;
15
+ error?: string;
16
+ }
17
+ export interface RemoveArrayItemRequest {
18
+ componentId: string;
19
+ meta?: {
20
+ source: string;
21
+ url: string;
22
+ };
23
+ }
24
+ export interface RemoveArrayItemResponse {
25
+ success: boolean;
26
+ message?: string;
27
+ sourceFile?: string;
28
+ error?: string;
29
+ }
30
+ /**
31
+ * Scan backwards from a component invocation line to find a `.map(` pattern
32
+ * and extract the array variable name.
33
+ *
34
+ * Looks for patterns like:
35
+ * {packages.map((pkg) => <PackageCard {...pkg} />)}
36
+ * {items.map(item => (
37
+ */
38
+ export declare function detectArrayPattern(lines: string[], invocationLineIndex: number): {
39
+ arrayVarName: string;
40
+ mapLineIndex: number;
41
+ } | null;
42
+ interface ArrayElementBounds {
43
+ startLine: number;
44
+ endLine: number;
45
+ }
46
+ /**
47
+ * Parse frontmatter with Babel, walk the AST to find the array variable declaration,
48
+ * and return the line bounds of each element.
49
+ *
50
+ * @param frontmatterContent - The raw frontmatter code (between --- delimiters)
51
+ * @param frontmatterStartLine - The 0-indexed line where frontmatter content starts in the file
52
+ * (line after the opening `---`)
53
+ * @param arrayVarName - The variable name of the array to find
54
+ */
55
+ export declare function findArrayDeclaration(frontmatterContent: string, frontmatterStartLine: number, arrayVarName: string): ArrayElementBounds[] | null;
56
+ export declare function handleRemoveArrayItem(request: RemoveArrayItemRequest, manifestWriter: ManifestWriter): Promise<RemoveArrayItemResponse>;
57
+ export declare function handleAddArrayItem(request: AddArrayItemRequest, manifestWriter: ManifestWriter): Promise<AddArrayItemResponse>;
58
+ export {};
59
+ //# sourceMappingURL=array-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-ops.d.ts","sourceRoot":"","sources":["../../../src/handlers/array-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAYxD,MAAM,WAAW,mBAAmB;IACnC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,mBAAmB,EAAE,MAAM,GACzB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYvD;AAED,UAAU,kBAAkB;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,MAAM,GAClB,kBAAkB,EAAE,GAAG,IAAI,CAyC7B;AA4GD,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAmFlC;AAED,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,mBAAmB,EAC5B,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAkG/B"}
@@ -1,4 +1,5 @@
1
1
  import type { ManifestWriter } from '../manifest-writer';
2
+ import type { CmsManifest, ComponentInstance } from '../types';
2
3
  export type InsertPosition = 'before' | 'after';
3
4
  export interface InsertComponentRequest {
4
5
  position: InsertPosition;
@@ -31,4 +32,29 @@ export interface RemoveComponentResponse {
31
32
  }
32
33
  export declare function handleInsertComponent(request: InsertComponentRequest, manifestWriter: ManifestWriter): Promise<InsertComponentResponse>;
33
34
  export declare function handleRemoveComponent(request: RemoveComponentRequest, manifestWriter: ManifestWriter): Promise<RemoveComponentResponse>;
35
+ export declare function getPageFileCandidates(pageUrl: string): string[];
36
+ export declare function getComponentOccurrenceIndex(manifest: CmsManifest, referenceComponent: ComponentInstance): number;
37
+ export declare function findComponentInvocationFile(projectRoot: string, pageUrl: string, manifest: CmsManifest, referenceComponent: ComponentInstance): Promise<{
38
+ filePath: string;
39
+ lineIndex: number;
40
+ } | null>;
41
+ export declare function findComponentInvocationLine(lines: string[], componentName: string, occurrenceIndex: number): number;
42
+ /**
43
+ * Find the line index after the frontmatter block (--- ... ---).
44
+ * Returns 0 if no frontmatter is found.
45
+ */
46
+ export declare function findFrontmatterEnd(lines: string[]): number;
47
+ export declare function getIndentation(line: string): string;
48
+ export declare function normalizeFilePath(p: string): string;
49
+ /**
50
+ * Extract prop values from a component invocation in source code.
51
+ * Parses the opening JSX tag starting at `lineIndex` and returns a map of prop names to values.
52
+ */
53
+ export declare function extractPropsFromSource(lines: string[], lineIndex: number, componentName: string): Record<string, any>;
54
+ /**
55
+ * Ensure the component has an import statement in the file's frontmatter.
56
+ * If the component is already imported, this is a no-op.
57
+ * Mutates the `lines` array in place.
58
+ */
59
+ export declare function ensureComponentImport(lines: string[], componentName: string, componentFile: string, targetFile: string): void;
34
60
  //# sourceMappingURL=component-ops.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-ops.d.ts","sourceRoot":"","sources":["../../../src/handlers/component-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,cAAc,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAuGlC;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CA0FlC"}
1
+ {"version":3,"file":"component-ops.d.ts","sourceRoot":"","sources":["../../../src/handlers/component-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAuB,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGnF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,cAAc,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAwGlC;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAuFlC;AAqED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAwB/D;AAED,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,iBAAiB,GACnC,MAAM,CAeR;AAED,wBAAsB,2BAA2B,CAChD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,iBAAiB,GACnC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA4CzD;AAED,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACrB,MAAM,CAYR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1D;AAqCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQrB;AAyKD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GAChB,IAAI,CAsCN"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAa7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,SAAS,CAAA;AAGpE,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACtD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,SAAS,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAA;CAC3B;AAID,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,gBAAgB,CAmM5E;AAED,OAAO,EAAE,6BAA6B,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,yBAAyB,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,sBAAsB,IAAI,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC3E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,YAAY,EACX,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,eAAe,GACf,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAY7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,SAAS,CAAA;AAGpE,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACtD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,SAAS,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAA;CAC3B;AAID,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,gBAAgB,CAwM5E;AAED,OAAO,EAAE,6BAA6B,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,yBAAyB,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,sBAAsB,IAAI,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC3E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,YAAY,EACX,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,eAAe,GACf,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cross-file-tracker.d.ts","sourceRoot":"","sources":["../../../src/source-finder/cross-file-tracker.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAA;AAQ7E;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC5C,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,MAAU,GACf,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAiCrC;AAwID;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAkDrC;AAMD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA6DlH;AAMD;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAChD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAuFrC"}
1
+ {"version":3,"file":"cross-file-tracker.d.ts","sourceRoot":"","sources":["../../../src/source-finder/cross-file-tracker.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAA;AAO7E;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC5C,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,MAAU,GACf,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAiCrC;AAwID;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAkDrC;AAMD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA6DlH;AAMD;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAChD,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAuFrC"}