@nuasite/cms-marker 0.0.74 → 0.0.76

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 (34) hide show
  1. package/dist/types/build-processor.d.ts.map +1 -1
  2. package/dist/types/dev-middleware.d.ts.map +1 -1
  3. package/dist/types/html-processor.d.ts +5 -1
  4. package/dist/types/html-processor.d.ts.map +1 -1
  5. package/dist/types/index.d.ts.map +1 -1
  6. package/dist/types/manifest-writer.d.ts +3 -2
  7. package/dist/types/manifest-writer.d.ts.map +1 -1
  8. package/dist/types/seo-processor.d.ts +23 -0
  9. package/dist/types/seo-processor.d.ts.map +1 -0
  10. package/dist/types/source-finder/index.d.ts +3 -1
  11. package/dist/types/source-finder/index.d.ts.map +1 -1
  12. package/dist/types/source-finder/seo-finder.d.ts +32 -0
  13. package/dist/types/source-finder/seo-finder.d.ts.map +1 -0
  14. package/dist/types/source-finder/snippet-utils.d.ts +3 -3
  15. package/dist/types/source-finder/snippet-utils.d.ts.map +1 -1
  16. package/dist/types/source-finder/source-lookup.d.ts.map +1 -1
  17. package/dist/types/tailwind-colors.d.ts +4 -3
  18. package/dist/types/tailwind-colors.d.ts.map +1 -1
  19. package/dist/types/tsconfig.tsbuildinfo +1 -1
  20. package/dist/types/types.d.ts +117 -0
  21. package/dist/types/types.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/build-processor.ts +3 -1
  24. package/src/dev-middleware.ts +16 -13
  25. package/src/html-processor.ts +42 -2
  26. package/src/index.ts +2 -0
  27. package/src/manifest-writer.ts +12 -2
  28. package/src/seo-processor.ts +325 -0
  29. package/src/source-finder/index.ts +5 -1
  30. package/src/source-finder/seo-finder.ts +336 -0
  31. package/src/source-finder/snippet-utils.ts +7 -10
  32. package/src/source-finder/source-lookup.ts +3 -4
  33. package/src/tailwind-colors.ts +129 -15
  34. package/src/types.ts +131 -0
@@ -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;AAMnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAUvD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAA;AA4OhE;;;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,CAiDf"}
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;AAMnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAUvD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,SAAS,CAAA;AA8OhE;;;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,CAiDf"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-middleware.d.ts","sourceRoot":"","sources":["../../src/dev-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAErF,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;AAkBD,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,QA6H5B"}
1
+ {"version":3,"file":"dev-middleware.d.ts","sourceRoot":"","sources":["../../src/dev-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAmB,mBAAmB,EAAe,MAAM,SAAS,CAAA;AAElG,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;AAkBD,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,QA6H5B"}
@@ -1,4 +1,4 @@
1
- import type { ComponentInstance, ManifestEntry } from './types';
1
+ import type { ComponentInstance, ManifestEntry, PageSeoData, SeoOptions } from './types';
2
2
  /**
3
3
  * Inline text styling elements that should NOT be marked with CMS IDs.
4
4
  * These elements are text formatting and should be part of their parent's content.
@@ -32,6 +32,8 @@ export interface ProcessHtmlOptions {
32
32
  /** Path to the markdown file (e.g., 'src/content/blog/my-post.md') */
33
33
  contentPath?: string;
34
34
  };
35
+ /** SEO tracking options */
36
+ seo?: SeoOptions;
35
37
  }
36
38
  export interface ProcessHtmlResult {
37
39
  html: string;
@@ -39,6 +41,8 @@ export interface ProcessHtmlResult {
39
41
  components: Record<string, ComponentInstance>;
40
42
  /** ID of the element wrapping collection markdown content */
41
43
  collectionWrapperId?: string;
44
+ /** Extracted SEO data from the page */
45
+ seo?: PageSeoData;
42
46
  }
43
47
  /**
44
48
  * Process HTML to inject CMS markers and extract manifest entries
@@ -1 +1 @@
1
- {"version":3,"file":"html-processor.d.ts","sourceRoot":"","sources":["../../src/html-processor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,aAAa,EAAiB,MAAM,SAAS,CAAA;AAM7F;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,wKAuBpB,CAAA;AAEV,MAAM,WAAW,kBAAkB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kFAAkF;IAClF,cAAc,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,mFAAmF;QACnF,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,sEAAsE;QACtE,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACD;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC7C,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC5B;AA0GD;;GAEG;AACH,wBAAsB,WAAW,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CA0jB5B;AAaD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C"}
1
+ {"version":3,"file":"html-processor.d.ts","sourceRoot":"","sources":["../../src/html-processor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,aAAa,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,SAAS,CAAA;AAMtH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,wKAuBpB,CAAA;AAEV,MAAM,WAAW,kBAAkB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kFAAkF;IAClF,cAAc,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,mFAAmF;QACnF,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,sEAAsE;QACtE,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,2BAA2B;IAC3B,GAAG,CAAC,EAAE,UAAU,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC7C,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uCAAuC;IACvC,GAAG,CAAC,EAAE,WAAW,CAAA;CACjB;AA0GD;;GAEG;AACH,wBAAsB,WAAW,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CA6lB5B;AAaD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -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;AAQ7C,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,SAAS,CAAA;AAGpE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,gBAAgB,CA2GlF;AAGD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,mBAAmB,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAQ7C,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,SAAS,CAAA;AAGpE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,gBAAgB,CA6GlF;AAGD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,mBAAmB,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { AvailableColors, AvailableTextStyles, CmsManifest, CollectionDefinition, CollectionEntry, ComponentDefinition, ComponentInstance, ManifestEntry } from './types';
1
+ import type { AvailableColors, AvailableTextStyles, CmsManifest, CollectionDefinition, CollectionEntry, ComponentDefinition, ComponentInstance, ManifestEntry, PageSeoData } from './types';
2
2
  /**
3
3
  * Manages streaming manifest writes during build.
4
4
  * Accumulates entries and writes per-page manifests as pages are processed.
@@ -51,7 +51,7 @@ export declare class ManifestWriter {
51
51
  * Add a page's entries to the manifest (called after each page is processed)
52
52
  * This is non-blocking - writes are queued
53
53
  */
54
- addPage(pagePath: string, entries: Record<string, ManifestEntry>, components: Record<string, ComponentInstance>, collection?: CollectionEntry): void;
54
+ addPage(pagePath: string, entries: Record<string, ManifestEntry>, components: Record<string, ComponentInstance>, collection?: CollectionEntry, seo?: PageSeoData): void;
55
55
  /**
56
56
  * Write a single page manifest to disk
57
57
  */
@@ -76,6 +76,7 @@ export declare class ManifestWriter {
76
76
  entries: Record<string, ManifestEntry>;
77
77
  components: Record<string, ComponentInstance>;
78
78
  collection?: CollectionEntry;
79
+ seo?: PageSeoData;
79
80
  } | undefined;
80
81
  /**
81
82
  * Reset state (for dev mode reloads)
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-writer.d.ts","sourceRoot":"","sources":["../../src/manifest-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EAEb,MAAM,SAAS,CAAA;AAMhB;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,aAAa,CAIP;IACd,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,qBAAqB,CAA2C;IACxE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,UAAU,CAAmC;gBAEzC,YAAY,EAAE,MAAM,EAAE,oBAAoB,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAM;IAYhG;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,IAAI;IAK/E;;OAEG;IACG,mBAAmB,CAAC,WAAW,GAAE,MAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhF;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAKjD;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAK7D;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,IAAI;IAKjF;;OAEG;IACH,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAIhE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;IACH,OAAO,CACN,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC7C,UAAU,CAAC,EAAE,eAAe,GAC1B,IAAI;IAqBP;;OAEG;YACW,iBAAiB;IA0C/B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAsChG;;OAEG;IACH,iBAAiB,IAAI,WAAW;IAIhC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAC7C,UAAU,CAAC,EAAE,eAAe,CAAA;KAC5B,GAAG,SAAS;IAIb;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAIjD;;OAEG;IACH,sBAAsB,IAAI,mBAAmB,GAAG,SAAS;CAGzD"}
1
+ {"version":3,"file":"manifest-writer.d.ts","sourceRoot":"","sources":["../../src/manifest-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,MAAM,SAAS,CAAA;AAMhB;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,aAAa,CAKP;IACd,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,qBAAqB,CAA2C;IACxE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,UAAU,CAAmC;gBAEzC,YAAY,EAAE,MAAM,EAAE,oBAAoB,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAM;IAYhG;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,IAAI;IAK/E;;OAEG;IACG,mBAAmB,CAAC,WAAW,GAAE,MAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhF;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAKjD;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAK7D;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,IAAI;IAKjF;;OAEG;IACH,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAIhE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;IACH,OAAO,CACN,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC7C,UAAU,CAAC,EAAE,eAAe,EAC5B,GAAG,CAAC,EAAE,WAAW,GACf,IAAI;IAqBP;;OAEG;YACW,iBAAiB;IAgD/B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAsChG;;OAEG;IACH,iBAAiB,IAAI,WAAW;IAIhC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAC7C,UAAU,CAAC,EAAE,eAAe,CAAA;QAC5B,GAAG,CAAC,EAAE,WAAW,CAAA;KACjB,GAAG,SAAS;IAIb;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAIjD;;OAEG;IACH,sBAAsB,IAAI,mBAAmB,GAAG,SAAS;CAGzD"}
@@ -0,0 +1,23 @@
1
+ import type { PageSeoData } from './types';
2
+ export interface ProcessSeoOptions {
3
+ /** Whether to mark the page title with a CMS ID (default: true) */
4
+ markTitle?: boolean;
5
+ /** Whether to parse JSON-LD structured data (default: true) */
6
+ parseJsonLd?: boolean;
7
+ /** Path to source file for source tracking */
8
+ sourcePath?: string;
9
+ }
10
+ export interface ProcessSeoResult {
11
+ /** Extracted SEO data */
12
+ seo: PageSeoData;
13
+ /** The modified HTML with title CMS ID if markTitle is enabled */
14
+ html: string;
15
+ /** The CMS ID assigned to the title element */
16
+ titleCmsId?: string;
17
+ }
18
+ /**
19
+ * Process HTML to extract SEO metadata from the <head> section.
20
+ * Returns structured SEO data with source tracking information.
21
+ */
22
+ export declare function processSeoFromHtml(html: string, options?: ProcessSeoOptions, getNextId?: () => string): ProcessSeoResult;
23
+ //# sourceMappingURL=seo-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seo-processor.d.ts","sourceRoot":"","sources":["../../src/seo-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4C,WAAW,EAAsD,MAAM,SAAS,CAAA;AAKxI,MAAM,WAAW,iBAAiB;IACjC,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAChC,yBAAyB;IACzB,GAAG,EAAE,WAAW,CAAA;IAChB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,EAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,GACtB,gBAAgB,CAkDlB"}
@@ -4,5 +4,7 @@ export { initializeSearchIndex } from './search-index';
4
4
  export { findSourceLocation } from './source-lookup';
5
5
  export { findImageSourceLocation } from './image-finder';
6
6
  export { findCollectionSource, findMarkdownSourceLocation, parseMarkdownContent } from './collection-finder';
7
- export { enhanceManifestWithSourceSnippets, extractCompleteTagSnippet, extractInnerHtmlFromSnippet, extractSourceInnerHtml } from './snippet-utils';
7
+ export { enhanceManifestWithSourceSnippets, extractCompleteTagSnippet, extractInnerHtmlFromSnippet, extractSourceSnippet } from './snippet-utils';
8
+ export { findSeoSource } from './seo-finder';
9
+ export type { SeoElementIdentifier, SeoSourceLocation } from './seo-finder';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/source-finder/index.ts"],"names":[],"mappings":"AAOA,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAGxD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG5G,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/source-finder/index.ts"],"names":[],"mappings":"AAOA,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAGxD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG5G,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAGjJ,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * SEO element identifier for source finding
3
+ */
4
+ export interface SeoElementIdentifier {
5
+ /** Meta tag name attribute */
6
+ name?: string;
7
+ /** Meta tag property attribute (for OG/Twitter) */
8
+ property?: string;
9
+ /** Content value to match */
10
+ content?: string;
11
+ /** Canonical URL href */
12
+ href?: string;
13
+ /** JSON-LD @type value */
14
+ jsonLdType?: string;
15
+ }
16
+ /**
17
+ * Result of SEO source finding
18
+ */
19
+ export interface SeoSourceLocation {
20
+ /** Path to source file relative to project root */
21
+ sourcePath: string;
22
+ /** Line number in source file (1-indexed) */
23
+ sourceLine: number;
24
+ /** Exact source code snippet */
25
+ sourceSnippet: string;
26
+ }
27
+ /**
28
+ * Find the source location for an SEO element.
29
+ * Searches Astro/HTML files in src/pages and src/layouts for matching SEO elements.
30
+ */
31
+ export declare function findSeoSource(type: 'title' | 'meta' | 'canonical' | 'jsonld', identifier: SeoElementIdentifier): Promise<SeoSourceLocation | undefined>;
32
+ //# sourceMappingURL=seo-finder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seo-finder.d.ts","sourceRoot":"","sources":["../../../src/source-finder/seo-finder.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,EAC/C,UAAU,EAAE,oBAAoB,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAkBxC"}
@@ -29,14 +29,14 @@ export declare function extractInnerHtmlFromSnippet(snippet: string, tag: string
29
29
  */
30
30
  export declare function extractImageSnippet(lines: string[], startLine: number): string;
31
31
  /**
32
- * Read source file and extract the innerHTML at the specified line.
32
+ * Read source file and extract the complete element at the specified line.
33
33
  *
34
34
  * @param sourceFile - Path to source file (relative to cwd)
35
35
  * @param sourceLine - 1-indexed line number
36
36
  * @param tag - The tag name
37
- * @returns The innerHTML from source, or undefined if can't extract
37
+ * @returns The complete element from source, or undefined if can't extract
38
38
  */
39
- export declare function extractSourceInnerHtml(sourceFile: string, sourceLine: number, tag: string): Promise<string | undefined>;
39
+ export declare function extractSourceSnippet(sourceFile: string, sourceLine: number, tag: string): Promise<string | undefined>;
40
40
  /**
41
41
  * Enhance manifest entries with actual source snippets from source files.
42
42
  * This reads the source files and extracts the innerHTML at the specified locations.
@@ -1 +1 @@
1
- {"version":3,"file":"snippet-utils.d.ts","sourceRoot":"","sources":["../../../src/source-finder/snippet-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAQ7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYxD;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAyDjG;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqB5F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAuB9E;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC3C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;AAMD;;;;;;;GAOG;AACH,wBAAsB,iCAAiC,CACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAgDxC"}
1
+ {"version":3,"file":"snippet-utils.d.ts","sourceRoot":"","sources":["../../../src/source-finder/snippet-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAQ7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYxD;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAyDjG;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqB5F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAuB9E;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B;AAMD;;;;;;;GAOG;AACH,wBAAsB,iCAAiC,CACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAgDxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"source-lookup.d.ts","sourceRoot":"","sources":["../../../src/source-finder/source-lookup.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA2CrC;AAMD;;GAEG;AACH,wBAAsB,eAAe,CACpC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAoBrC;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACpC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAmFrC"}
1
+ {"version":3,"file":"source-lookup.d.ts","sourceRoot":"","sources":["../../../src/source-finder/source-lookup.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA2CrC;AAMD;;GAEG;AACH,wBAAsB,eAAe,CACpC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAoBrC;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACpC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAkFrC"}
@@ -1,4 +1,4 @@
1
- import type { AvailableColors, AvailableTextStyles, ColorClasses } from './types';
1
+ import type { AvailableColors, AvailableTextStyles, ColorClasses, GradientClasses } from './types';
2
2
  /**
3
3
  * Default Tailwind CSS v4 color names.
4
4
  */
@@ -24,7 +24,7 @@ export declare function parseTextStyles(projectRoot?: string): Promise<Available
24
24
  */
25
25
  export declare function extractColorClasses(classAttr: string | null | undefined): ColorClasses | undefined;
26
26
  /**
27
- * Check if a class is a color class.
27
+ * Check if a class is a color class (including gradient colors).
28
28
  */
29
29
  export declare function isColorClass(className: string): boolean;
30
30
  /**
@@ -34,7 +34,7 @@ export declare function replaceColorClass(currentClasses: string, oldColorClass:
34
34
  /**
35
35
  * Get the color type from a color class.
36
36
  */
37
- export declare function getColorType(colorClass: string): keyof ColorClasses | undefined;
37
+ export declare function getColorType(colorClass: string): keyof ColorClasses | keyof GradientClasses | undefined;
38
38
  /**
39
39
  * Parse a color class into its components.
40
40
  */
@@ -43,6 +43,7 @@ export declare function parseColorClass(colorClass: string): {
43
43
  colorName: string;
44
44
  shade?: string;
45
45
  isHover: boolean;
46
+ isArbitrary?: boolean;
46
47
  } | undefined;
47
48
  /**
48
49
  * Build a color class from components.
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-colors.d.ts","sourceRoot":"","sources":["../../src/tailwind-colors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAiC,MAAM,SAAS,CAAA;AAEhH;;GAEG;AACH,eAAO,MAAM,uBAAuB,gNAuB1B,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,eAAe,uFAAwF,CAAA;AAEpH;;GAEG;AACH,eAAO,MAAM,cAAc,kEAAmE,CAAA;AAyX9F;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,GAAE,MAAyB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+C1G;AAuDD;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoC1G;AAgGD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CA2BlG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACnB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,YAAY,GAAG,SAAS,CAO/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CAChB,GAAG,SAAS,CAcZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACZ,MAAM,CAKR"}
1
+ {"version":3,"file":"tailwind-colors.d.ts","sourceRoot":"","sources":["../../src/tailwind-colors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAiD,MAAM,SAAS,CAAA;AAEjJ;;GAEG;AACH,eAAO,MAAM,uBAAuB,gNAuB1B,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,eAAe,uFAAwF,CAAA;AAEpH;;GAEG;AACH,eAAO,MAAM,cAAc,kEAAmE,CAAA;AAsa9F;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,GAAE,MAAyB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+C1G;AAuDD;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoC1G;AAgGD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CA2ElG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACnB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,YAAY,GAAG,MAAM,eAAe,GAAG,SAAS,CAYvG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB,GAAG,SAAS,CA4BZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACZ,MAAM,CAKR"}