@styleflow.app/flowpress-astro-core 1.0.0-beta.5 → 1.0.0-beta.7

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 (53) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +41 -3
  3. package/dist/astro/BaseLayout.astro +5 -1
  4. package/dist/astro/CompositionRenderer.astro +126 -0
  5. package/dist/astro/DefaultTemplate.astro +6 -1
  6. package/dist/astro/GutenbergRenderer.astro +62 -51
  7. package/dist/astro/ThemeRuntime.astro +24 -0
  8. package/dist/astro/blocks/CarouselBlock.astro +4 -6
  9. package/dist/astro/blocks/CarouselItemBlock.astro +2 -2
  10. package/dist/astro/blocks/ColumnBlock.astro +2 -3
  11. package/dist/astro/blocks/FormBlock.astro +5 -5
  12. package/dist/astro/blocks/GridBlock.astro +2 -2
  13. package/dist/astro/blocks/HeroBlock.astro +2 -3
  14. package/dist/astro/blocks/ImageBlock.astro +2 -3
  15. package/dist/astro/blocks/ListItemFallback.astro +4 -4
  16. package/dist/astro/blocks/NumberSpinnerBlock.astro +24 -18
  17. package/dist/astro/blocks/SemanticElement.astro +35 -0
  18. package/dist/astro/blocks/SiteLogoBlock.astro +53 -0
  19. package/dist/astro/blocks/TextBlock.astro +27 -23
  20. package/dist/astro/blocks/ThemeToggleBlock.astro +23 -0
  21. package/dist/astro/blocks/helpers.d.ts +7 -0
  22. package/dist/astro/blocks/helpers.d.ts.map +1 -1
  23. package/dist/astro/blocks/helpers.js +49 -36
  24. package/dist/astro/blocks/helpers.js.map +1 -1
  25. package/dist/astro/blocks/helpers.ts +61 -40
  26. package/dist/block-renderers.d.ts +18 -2
  27. package/dist/block-renderers.d.ts.map +1 -1
  28. package/dist/block-renderers.js.map +1 -1
  29. package/dist/client.d.ts +2 -1
  30. package/dist/client.d.ts.map +1 -1
  31. package/dist/client.js +31 -0
  32. package/dist/client.js.map +1 -1
  33. package/dist/composition.d.ts +14 -0
  34. package/dist/composition.d.ts.map +1 -0
  35. package/dist/composition.js +86 -0
  36. package/dist/composition.js.map +1 -0
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/styleflow.d.ts +2 -0
  42. package/dist/styleflow.d.ts.map +1 -1
  43. package/dist/styleflow.js +35 -1
  44. package/dist/styleflow.js.map +1 -1
  45. package/dist/theme-runtime.d.ts +16 -0
  46. package/dist/theme-runtime.d.ts.map +1 -0
  47. package/dist/theme-runtime.js +77 -0
  48. package/dist/theme-runtime.js.map +1 -0
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/dist/types.d.ts +73 -1
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/types.js.map +1 -1
  53. package/package.json +7 -3
@@ -0,0 +1,16 @@
1
+ export declare const STYLEFLOW_THEME_STORAGE_KEY = "styleflow:theme";
2
+ export interface StyleflowThemeRuntimeConfig {
3
+ themes: string[];
4
+ defaultTheme: string;
5
+ }
6
+ declare global {
7
+ interface Window {
8
+ __FLOWPRESS_STYLEFLOW_THEME_RUNTIME__?: StyleflowThemeRuntimeConfig;
9
+ }
10
+ }
11
+ export declare function normalizeStyleflowThemes(themes: readonly string[], defaultTheme: string): StyleflowThemeRuntimeConfig;
12
+ export declare function initialStyleflowTheme(themes: readonly string[], defaultTheme: string, storedTheme?: string | null): string;
13
+ export declare function nextStyleflowTheme(themes: readonly string[], currentTheme: string): string;
14
+ export declare function styleflowThemeBootstrapScript(themes: readonly string[], defaultTheme: string): string;
15
+ export declare function initializeStyleflowThemeRuntime(config?: StyleflowThemeRuntimeConfig, documentObject?: Document, storage?: Pick<Storage, "getItem" | "setItem"> | null): () => void;
16
+ //# sourceMappingURL=theme-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-runtime.d.ts","sourceRoot":"","sources":["../src/theme-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAE7D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,qCAAqC,CAAC,EAAE,2BAA2B,CAAC;KACrE;CACF;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,YAAY,EAAE,MAAM,GACnB,2BAA2B,CAQ7B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAKR;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,GAAE,2BAC6B,EACrC,cAAc,GAAE,QAAmB,EACnC,OAAO,GAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG,IAA8B,GAC7E,MAAM,IAAI,CAiDZ"}
@@ -0,0 +1,77 @@
1
+ export const STYLEFLOW_THEME_STORAGE_KEY = "styleflow:theme";
2
+ export function normalizeStyleflowThemes(themes, defaultTheme) {
3
+ const normalized = [...new Set(themes.filter((theme) => (typeof theme === "string" && /^[a-zA-Z0-9_-]+$/.test(theme))))];
4
+ const fallback = normalized.includes(defaultTheme)
5
+ ? defaultTheme
6
+ : normalized[0] ?? "";
7
+ return { themes: normalized, defaultTheme: fallback };
8
+ }
9
+ export function initialStyleflowTheme(themes, defaultTheme, storedTheme) {
10
+ const config = normalizeStyleflowThemes(themes, defaultTheme);
11
+ return storedTheme && config.themes.includes(storedTheme)
12
+ ? storedTheme
13
+ : config.defaultTheme;
14
+ }
15
+ export function nextStyleflowTheme(themes, currentTheme) {
16
+ if (themes.length === 0)
17
+ return "";
18
+ const index = themes.indexOf(currentTheme);
19
+ return themes[(index + 1 + themes.length) % themes.length] ?? themes[0] ?? "";
20
+ }
21
+ export function styleflowThemeBootstrapScript(themes, defaultTheme) {
22
+ const config = normalizeStyleflowThemes(themes, defaultTheme);
23
+ const json = JSON.stringify(config).replaceAll("<", "\\u003c");
24
+ return `(()=>{const c=${json};window.__FLOWPRESS_STYLEFLOW_THEME_RUNTIME__=c;if(!c.themes.length)return;let s=null;try{s=localStorage.getItem(${JSON.stringify(STYLEFLOW_THEME_STORAGE_KEY)})}catch{}const t=c.themes.includes(s)?s:c.defaultTheme;document.documentElement.setAttribute("data-styleflow-theme",t)})()`;
25
+ }
26
+ export function initializeStyleflowThemeRuntime(config = window.__FLOWPRESS_STYLEFLOW_THEME_RUNTIME__
27
+ ?? { themes: [], defaultTheme: "" }, documentObject = document, storage = globalThis.localStorage) {
28
+ const normalized = normalizeStyleflowThemes(config.themes, config.defaultTheme);
29
+ if (normalized.themes.length === 0)
30
+ return () => undefined;
31
+ const root = documentObject.documentElement;
32
+ let current = initialStyleflowTheme(normalized.themes, normalized.defaultTheme, root.getAttribute("data-styleflow-theme"));
33
+ const buttons = [...documentObject.querySelectorAll("[data-styleflow-theme-toggle]")];
34
+ const updateButtons = () => {
35
+ for (const button of buttons) {
36
+ const baseLabel = button.dataset.styleflowThemeToggleLabel
37
+ || button.getAttribute("aria-label")
38
+ || "Change color theme";
39
+ button.dataset.styleflowThemeToggleLabel = baseLabel.replace(/: .+$/, "");
40
+ button.setAttribute("aria-label", `${button.dataset.styleflowThemeToggleLabel}: ${current}`);
41
+ const label = button.querySelector("[data-styleflow-theme-label]");
42
+ if (label)
43
+ label.textContent = current;
44
+ }
45
+ };
46
+ const apply = (theme, persist) => {
47
+ current = theme;
48
+ root.setAttribute("data-styleflow-theme", theme);
49
+ if (persist && storage) {
50
+ try {
51
+ storage.setItem(STYLEFLOW_THEME_STORAGE_KEY, theme);
52
+ }
53
+ catch { /* noop */ }
54
+ }
55
+ updateButtons();
56
+ documentObject.dispatchEvent(new CustomEvent("styleflow:theme-change", {
57
+ detail: { theme }
58
+ }));
59
+ };
60
+ const listeners = new Map();
61
+ for (const button of buttons) {
62
+ if (button.dataset.styleflowThemeToggleBound === "true")
63
+ continue;
64
+ const listener = () => apply(nextStyleflowTheme(normalized.themes, current), true);
65
+ button.dataset.styleflowThemeToggleBound = "true";
66
+ button.addEventListener("click", listener);
67
+ listeners.set(button, listener);
68
+ }
69
+ updateButtons();
70
+ return () => {
71
+ for (const [button, listener] of listeners) {
72
+ button.removeEventListener("click", listener);
73
+ delete button.dataset.styleflowThemeToggleBound;
74
+ }
75
+ };
76
+ }
77
+ //# sourceMappingURL=theme-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-runtime.js","sourceRoot":"","sources":["../src/theme-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["export const STYLEFLOW_THEME_STORAGE_KEY = \"styleflow:theme\";\n\nexport interface StyleflowThemeRuntimeConfig {\n themes: string[];\n defaultTheme: string;\n}\n\ndeclare global {\n interface Window {\n __FLOWPRESS_STYLEFLOW_THEME_RUNTIME__?: StyleflowThemeRuntimeConfig;\n }\n}\n\nexport function normalizeStyleflowThemes(\n themes: readonly string[],\n defaultTheme: string\n): StyleflowThemeRuntimeConfig {\n const normalized = [...new Set(themes.filter((theme) => (\n typeof theme === \"string\" && /^[a-zA-Z0-9_-]+$/.test(theme)\n )))];\n const fallback = normalized.includes(defaultTheme)\n ? defaultTheme\n : normalized[0] ?? \"\";\n return { themes: normalized, defaultTheme: fallback };\n}\n\nexport function initialStyleflowTheme(\n themes: readonly string[],\n defaultTheme: string,\n storedTheme?: string | null\n): string {\n const config = normalizeStyleflowThemes(themes, defaultTheme);\n return storedTheme && config.themes.includes(storedTheme)\n ? storedTheme\n : config.defaultTheme;\n}\n\nexport function nextStyleflowTheme(\n themes: readonly string[],\n currentTheme: string\n): string {\n if (themes.length === 0) return \"\";\n const index = themes.indexOf(currentTheme);\n return themes[(index + 1 + themes.length) % themes.length] ?? themes[0] ?? \"\";\n}\n\nexport function styleflowThemeBootstrapScript(\n themes: readonly string[],\n defaultTheme: string\n): string {\n const config = normalizeStyleflowThemes(themes, defaultTheme);\n const json = JSON.stringify(config).replaceAll(\"<\", \"\\\\u003c\");\n return `(()=>{const c=${json};window.__FLOWPRESS_STYLEFLOW_THEME_RUNTIME__=c;if(!c.themes.length)return;let s=null;try{s=localStorage.getItem(${JSON.stringify(STYLEFLOW_THEME_STORAGE_KEY)})}catch{}const t=c.themes.includes(s)?s:c.defaultTheme;document.documentElement.setAttribute(\"data-styleflow-theme\",t)})()`;\n}\n\nexport function initializeStyleflowThemeRuntime(\n config: StyleflowThemeRuntimeConfig = window.__FLOWPRESS_STYLEFLOW_THEME_RUNTIME__\n ?? { themes: [], defaultTheme: \"\" },\n documentObject: Document = document,\n storage: Pick<Storage, \"getItem\" | \"setItem\"> | null = globalThis.localStorage\n): () => void {\n const normalized = normalizeStyleflowThemes(config.themes, config.defaultTheme);\n if (normalized.themes.length === 0) return () => undefined;\n const root = documentObject.documentElement;\n let current = initialStyleflowTheme(\n normalized.themes,\n normalized.defaultTheme,\n root.getAttribute(\"data-styleflow-theme\")\n );\n const buttons = [...documentObject.querySelectorAll<HTMLElement>(\n \"[data-styleflow-theme-toggle]\"\n )];\n const updateButtons = () => {\n for (const button of buttons) {\n const baseLabel = button.dataset.styleflowThemeToggleLabel\n || button.getAttribute(\"aria-label\")\n || \"Change color theme\";\n button.dataset.styleflowThemeToggleLabel = baseLabel.replace(/: .+$/, \"\");\n button.setAttribute(\"aria-label\", `${button.dataset.styleflowThemeToggleLabel}: ${current}`);\n const label = button.querySelector<HTMLElement>(\"[data-styleflow-theme-label]\");\n if (label) label.textContent = current;\n }\n };\n const apply = (theme: string, persist: boolean) => {\n current = theme;\n root.setAttribute(\"data-styleflow-theme\", theme);\n if (persist && storage) {\n try { storage.setItem(STYLEFLOW_THEME_STORAGE_KEY, theme); } catch { /* noop */ }\n }\n updateButtons();\n documentObject.dispatchEvent(new CustomEvent(\"styleflow:theme-change\", {\n detail: { theme }\n }));\n };\n const listeners = new Map<HTMLElement, EventListener>();\n for (const button of buttons) {\n if (button.dataset.styleflowThemeToggleBound === \"true\") continue;\n const listener = () => apply(nextStyleflowTheme(normalized.themes, current), true);\n button.dataset.styleflowThemeToggleBound = \"true\";\n button.addEventListener(\"click\", listener);\n listeners.set(button, listener);\n }\n updateButtons();\n return () => {\n for (const [button, listener] of listeners) {\n button.removeEventListener(\"click\", listener);\n delete button.dataset.styleflowThemeToggleBound;\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"root":["../src/astro.d.ts","../src/block-renderers.ts","../src/carousel.ts","../src/client.ts","../src/env.ts","../src/index.ts","../src/links.ts","../src/number-spinner.ts","../src/style-classes.ts","../src/styleflow.ts","../src/template-hierarchy.ts","../src/templates.ts","../src/types.ts","../src/astro/blocks/helpers.ts"],"version":"5.9.3"}
1
+ {"root":["../src/astro.d.ts","../src/block-renderers.ts","../src/carousel.ts","../src/client.ts","../src/composition.ts","../src/env.ts","../src/index.ts","../src/links.ts","../src/number-spinner.ts","../src/style-classes.ts","../src/styleflow.ts","../src/template-hierarchy.ts","../src/templates.ts","../src/theme-runtime.ts","../src/types.ts","../src/astro/blocks/helpers.ts"],"version":"5.9.3"}
package/dist/types.d.ts CHANGED
@@ -94,12 +94,83 @@ export interface FlowpressContent {
94
94
  projectFields?: Record<string, unknown> | null;
95
95
  [key: string]: unknown;
96
96
  }
97
+ export interface FlowpressBlockAuthoringAttributes extends Record<string, unknown> {
98
+ anchor?: string;
99
+ className?: string;
100
+ style?: {
101
+ css?: string;
102
+ [key: string]: unknown;
103
+ };
104
+ theme?: string;
105
+ tone?: string;
106
+ intensity?: string;
107
+ surface?: string;
108
+ foreground?: string;
109
+ layoutRole?: string;
110
+ density?: string;
111
+ ty?: string;
112
+ v?: string;
113
+ w?: string;
114
+ interactivePriority?: string;
115
+ noBackground?: boolean;
116
+ noBorder?: boolean;
117
+ noPadding?: boolean;
118
+ noGap?: boolean;
119
+ noRadius?: boolean;
120
+ noForeground?: boolean;
121
+ }
122
+ export interface FlowpressBlockHtmlProps {
123
+ id?: string;
124
+ class?: string;
125
+ }
97
126
  export interface FlowpressBlock {
98
127
  name: string;
99
- attributes: Record<string, unknown>;
128
+ attributes: FlowpressBlockAuthoringAttributes;
129
+ resolvedData?: Record<string, unknown> | null;
100
130
  innerHtml?: string | null;
101
131
  innerBlocks?: FlowpressBlock[];
102
132
  }
133
+ export interface FlowpressCompositionStylesheet {
134
+ id: string;
135
+ css: string;
136
+ }
137
+ export type FlowpressBlockAdapterStatus = "draft" | "ready";
138
+ export type FlowpressBlockClass = "static" | "entity" | "query" | "interactive";
139
+ export interface FlowpressBlockTypeDescriptor {
140
+ blockName: string;
141
+ fingerprint: string;
142
+ apiVersion?: number | null;
143
+ dynamic: boolean;
144
+ }
145
+ export interface FlowpressCompositionDiagnostic {
146
+ code: string;
147
+ message: string;
148
+ blocking: boolean;
149
+ blockName?: string | null;
150
+ path?: string | null;
151
+ command?: string | null;
152
+ }
153
+ export interface FlowpressCompositionTemplate {
154
+ id: string;
155
+ slug: string;
156
+ theme: string;
157
+ type: "wp_template";
158
+ source?: string | null;
159
+ status: string;
160
+ title?: string | null;
161
+ }
162
+ export interface FlowpressCompositionV1 {
163
+ version: "1";
164
+ sourceDigest: string;
165
+ template: FlowpressCompositionTemplate;
166
+ blocks: FlowpressBlock[];
167
+ stylesheets: FlowpressCompositionStylesheet[];
168
+ blockTypes: FlowpressBlockTypeDescriptor[];
169
+ diagnostics: FlowpressCompositionDiagnostic[];
170
+ route: FlowpressRoute;
171
+ locale?: string | null;
172
+ content?: FlowpressContent | null;
173
+ }
103
174
  export interface FlowpressTemplateProps {
104
175
  route: FlowpressRoute;
105
176
  content: FlowpressContent | null;
@@ -107,6 +178,7 @@ export interface FlowpressTemplateProps {
107
178
  templateName: string;
108
179
  templateCandidates: string[];
109
180
  styleflowContract?: import("./styleflow.js").StyleflowContract;
181
+ composition?: FlowpressCompositionV1 | null;
110
182
  }
111
183
  export interface TemplateContext {
112
184
  queryType: FlowpressQueryType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type FlowpressQueryType =\n | \"front-page\"\n | \"home\"\n | \"page\"\n | \"privacy-policy\"\n | \"single\"\n | \"attachment\"\n | \"post-type-archive\"\n | \"category\"\n | \"tag\"\n | \"taxonomy\"\n | \"author\"\n | \"date\"\n | \"search\"\n | \"embed\"\n | \"archive\"\n | \"404\";\n\nexport type FlowpressLinkResolution =\n | \"resolved\"\n | \"missing_translation\"\n | \"missing_entity\"\n | \"invalid\"\n | \"legacy_raw\"\n | \"external\"\n | \"fragment\"\n | \"media\"\n | \"binding\";\n\nexport interface FlowpressLinkValue {\n kind: \"post-type\" | \"taxonomy\" | \"post-type-archive\" | \"media\" | \"custom\" | string;\n type: string;\n id: number | string | null;\n url: string | null;\n opensInNewTab: boolean;\n resolution: FlowpressLinkResolution;\n}\n\nexport interface SfSeoImage {\n url: string;\n alt?: string | null;\n width?: number | null;\n height?: number | null;\n}\n\nexport interface SfSeoSocial {\n title?: string | null;\n description?: string | null;\n image?: SfSeoImage | null;\n}\n\nexport interface SfSeo {\n title?: string | null;\n description?: string | null;\n canonicalUrl?: string | null;\n robots?: string[] | null;\n openGraph?: SfSeoSocial | null;\n twitter?: SfSeoSocial | null;\n jsonLd?: unknown;\n headHtml?: string | null;\n hreflang?: Array<{ locale: string; url: string }> | null;\n}\n\nexport interface FlowpressContentReference {\n loader: string;\n databaseId?: number | null;\n termId?: number | null;\n}\n\nexport interface FlowpressRoute {\n uri: string;\n status: number;\n queryType: FlowpressQueryType;\n locale?: string | null;\n isFrontPage?: boolean;\n isPostsPage?: boolean;\n frontPageMode?: \"page\" | \"posts\" | null;\n postType?: string | null;\n taxonomy?: string | null;\n slug?: string | null;\n term?: string | null;\n databaseId?: number | null;\n termId?: number | null;\n authorNicename?: string | null;\n authorId?: number | null;\n pageTemplate?: string | null;\n mimeType?: string | null;\n postFormat?: string | null;\n templateCandidates: string[];\n content?: FlowpressContentReference | null;\n seo?: SfSeo | null;\n}\n\nexport interface FlowpressLocale {\n code: string;\n slug: string;\n homeUrl?: string | null;\n}\n\nexport interface FlowpressFeature {\n id: string;\n version?: string | null;\n enabled: boolean;\n capabilities: string[];\n config: Record<string, unknown>;\n}\n\nexport interface FlowpressCapabilities {\n schemaVersion: string;\n wpGraphql: boolean;\n acfPro: boolean;\n wpGraphqlAcf: boolean;\n rankMath: boolean;\n wpml: boolean;\n woocommerce: boolean;\n contactForm7: boolean;\n defaultLocale?: string | null;\n locales: FlowpressLocale[];\n features: FlowpressFeature[];\n}\n\nexport interface FlowpressContent {\n title?: string | null;\n excerpt?: string | null;\n content?: string | null;\n contentBlocks?: unknown[] | null;\n projectFields?: Record<string, unknown> | null;\n [key: string]: unknown;\n}\n\nexport interface FlowpressBlock {\n name: string;\n attributes: Record<string, unknown>;\n innerHtml?: string | null;\n innerBlocks?: FlowpressBlock[];\n}\n\nexport interface FlowpressTemplateProps {\n route: FlowpressRoute;\n content: FlowpressContent | null;\n capabilities: FlowpressCapabilities;\n templateName: string;\n templateCandidates: string[];\n styleflowContract?: import(\"./styleflow.js\").StyleflowContract;\n}\n\nexport interface TemplateContext {\n queryType: FlowpressQueryType;\n frontPageMode?: \"page\" | \"posts\";\n postType?: string | null;\n taxonomy?: string | null;\n slug?: string | null;\n term?: string | null;\n databaseId?: number | null;\n termId?: number | null;\n authorNicename?: string | null;\n authorId?: number | null;\n pageTemplate?: string | null;\n mimeType?: string | null;\n postFormat?: string | null;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type FlowpressQueryType =\n | \"front-page\"\n | \"home\"\n | \"page\"\n | \"privacy-policy\"\n | \"single\"\n | \"attachment\"\n | \"post-type-archive\"\n | \"category\"\n | \"tag\"\n | \"taxonomy\"\n | \"author\"\n | \"date\"\n | \"search\"\n | \"embed\"\n | \"archive\"\n | \"404\";\n\nexport type FlowpressLinkResolution =\n | \"resolved\"\n | \"missing_translation\"\n | \"missing_entity\"\n | \"invalid\"\n | \"legacy_raw\"\n | \"external\"\n | \"fragment\"\n | \"media\"\n | \"binding\";\n\nexport interface FlowpressLinkValue {\n kind: \"post-type\" | \"taxonomy\" | \"post-type-archive\" | \"media\" | \"custom\" | string;\n type: string;\n id: number | string | null;\n url: string | null;\n opensInNewTab: boolean;\n resolution: FlowpressLinkResolution;\n}\n\nexport interface SfSeoImage {\n url: string;\n alt?: string | null;\n width?: number | null;\n height?: number | null;\n}\n\nexport interface SfSeoSocial {\n title?: string | null;\n description?: string | null;\n image?: SfSeoImage | null;\n}\n\nexport interface SfSeo {\n title?: string | null;\n description?: string | null;\n canonicalUrl?: string | null;\n robots?: string[] | null;\n openGraph?: SfSeoSocial | null;\n twitter?: SfSeoSocial | null;\n jsonLd?: unknown;\n headHtml?: string | null;\n hreflang?: Array<{ locale: string; url: string }> | null;\n}\n\nexport interface FlowpressContentReference {\n loader: string;\n databaseId?: number | null;\n termId?: number | null;\n}\n\nexport interface FlowpressRoute {\n uri: string;\n status: number;\n queryType: FlowpressQueryType;\n locale?: string | null;\n isFrontPage?: boolean;\n isPostsPage?: boolean;\n frontPageMode?: \"page\" | \"posts\" | null;\n postType?: string | null;\n taxonomy?: string | null;\n slug?: string | null;\n term?: string | null;\n databaseId?: number | null;\n termId?: number | null;\n authorNicename?: string | null;\n authorId?: number | null;\n pageTemplate?: string | null;\n mimeType?: string | null;\n postFormat?: string | null;\n templateCandidates: string[];\n content?: FlowpressContentReference | null;\n seo?: SfSeo | null;\n}\n\nexport interface FlowpressLocale {\n code: string;\n slug: string;\n homeUrl?: string | null;\n}\n\nexport interface FlowpressFeature {\n id: string;\n version?: string | null;\n enabled: boolean;\n capabilities: string[];\n config: Record<string, unknown>;\n}\n\nexport interface FlowpressCapabilities {\n schemaVersion: string;\n wpGraphql: boolean;\n acfPro: boolean;\n wpGraphqlAcf: boolean;\n rankMath: boolean;\n wpml: boolean;\n woocommerce: boolean;\n contactForm7: boolean;\n defaultLocale?: string | null;\n locales: FlowpressLocale[];\n features: FlowpressFeature[];\n}\n\nexport interface FlowpressContent {\n title?: string | null;\n excerpt?: string | null;\n content?: string | null;\n contentBlocks?: unknown[] | null;\n projectFields?: Record<string, unknown> | null;\n [key: string]: unknown;\n}\n\nexport interface FlowpressBlockAuthoringAttributes extends Record<string, unknown> {\n anchor?: string;\n className?: string;\n style?: { css?: string; [key: string]: unknown };\n theme?: string;\n tone?: string;\n intensity?: string;\n surface?: string;\n foreground?: string;\n layoutRole?: string;\n density?: string;\n ty?: string;\n v?: string;\n w?: string;\n interactivePriority?: string;\n noBackground?: boolean;\n noBorder?: boolean;\n noPadding?: boolean;\n noGap?: boolean;\n noRadius?: boolean;\n noForeground?: boolean;\n}\n\nexport interface FlowpressBlockHtmlProps {\n id?: string;\n class?: string;\n}\n\nexport interface FlowpressBlock {\n name: string;\n attributes: FlowpressBlockAuthoringAttributes;\n resolvedData?: Record<string, unknown> | null;\n innerHtml?: string | null;\n innerBlocks?: FlowpressBlock[];\n}\n\nexport interface FlowpressCompositionStylesheet {\n id: string;\n css: string;\n}\n\nexport type FlowpressBlockAdapterStatus = \"draft\" | \"ready\";\nexport type FlowpressBlockClass = \"static\" | \"entity\" | \"query\" | \"interactive\";\n\nexport interface FlowpressBlockTypeDescriptor {\n blockName: string;\n fingerprint: string;\n apiVersion?: number | null;\n dynamic: boolean;\n}\n\nexport interface FlowpressCompositionDiagnostic {\n code: string;\n message: string;\n blocking: boolean;\n blockName?: string | null;\n path?: string | null;\n command?: string | null;\n}\n\nexport interface FlowpressCompositionTemplate {\n id: string;\n slug: string;\n theme: string;\n type: \"wp_template\";\n source?: string | null;\n status: string;\n title?: string | null;\n}\n\nexport interface FlowpressCompositionV1 {\n version: \"1\";\n sourceDigest: string;\n template: FlowpressCompositionTemplate;\n blocks: FlowpressBlock[];\n stylesheets: FlowpressCompositionStylesheet[];\n blockTypes: FlowpressBlockTypeDescriptor[];\n diagnostics: FlowpressCompositionDiagnostic[];\n route: FlowpressRoute;\n locale?: string | null;\n content?: FlowpressContent | null;\n}\n\nexport interface FlowpressTemplateProps {\n route: FlowpressRoute;\n content: FlowpressContent | null;\n capabilities: FlowpressCapabilities;\n templateName: string;\n templateCandidates: string[];\n styleflowContract?: import(\"./styleflow.js\").StyleflowContract;\n composition?: FlowpressCompositionV1 | null;\n}\n\nexport interface TemplateContext {\n queryType: FlowpressQueryType;\n frontPageMode?: \"page\" | \"posts\";\n postType?: string | null;\n taxonomy?: string | null;\n slug?: string | null;\n term?: string | null;\n databaseId?: number | null;\n termId?: number | null;\n authorNicename?: string | null;\n authorId?: number | null;\n pageTemplate?: string | null;\n mimeType?: string | null;\n postFormat?: string | null;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@styleflow.app/flowpress-astro-core",
3
- "version": "1.0.0-beta.5",
3
+ "version": "1.0.0-beta.7",
4
4
  "description": "Project-agnostic WordPress routing, templates, SEO and GraphQL runtime for FlowPress Astro apps.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -26,7 +26,11 @@
26
26
  "./templates": "./dist/templates.js",
27
27
  "./BaseLayout.astro": "./dist/astro/BaseLayout.astro",
28
28
  "./DefaultTemplate.astro": "./dist/astro/DefaultTemplate.astro",
29
- "./GutenbergRenderer.astro": "./dist/astro/GutenbergRenderer.astro"
29
+ "./GutenbergRenderer.astro": "./dist/astro/GutenbergRenderer.astro",
30
+ "./CompositionRenderer.astro": "./dist/astro/CompositionRenderer.astro",
31
+ "./ThemeRuntime.astro": "./dist/astro/ThemeRuntime.astro",
32
+ "./blocks/ThemeToggleBlock.astro": "./dist/astro/blocks/ThemeToggleBlock.astro",
33
+ "./blocks/SiteLogoBlock.astro": "./dist/astro/blocks/SiteLogoBlock.astro"
30
34
  },
31
35
  "files": [
32
36
  "dist",
@@ -45,7 +49,7 @@
45
49
  },
46
50
  "dependencies": {
47
51
  "@splidejs/splide": "4.1.4",
48
- "@styleflow.app/astro": "1.0.0-beta.4"
52
+ "@styleflow.app/astro": "1.0.0-beta.5"
49
53
  },
50
54
  "peerDependencies": {
51
55
  "astro": ">=7.0.0"