@burdenoff/website-sdk 2026.716.2 → 2026.716.3

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.
@@ -1,30 +1,157 @@
1
- export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, T as TypeBadge, p as formatDownloads, q as formatPrice } from '../product-card-Dm1zkFkm.mjs';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
2
 
4
- /**
5
- * WorkflowEmbed — iframe wrapper around the FluidGrids public read-only
6
- * workflow viewer (`{app}/embed/workflow`), n8n-demo style.
7
- *
8
- * Any website can use this: the viewer route is unauthenticated and the
9
- * workflow graph is fetched by the iframe itself from the public store
10
- * gateway using the product id. A "Click to explore" overlay keeps page
11
- * scrolling pleasant until the visitor opts into pan/zoom.
12
- */
13
- interface WorkflowEmbedProps {
14
- /** App shell origin serving /embed/workflow (e.g. "https://app.fluidgrids.com") */
15
- appUrl: string;
16
- /** WORKFLOW store product id to preview */
17
- productId: string;
18
- /** Force a theme; defaults to the host page's current light/dark mode */
19
- theme?: "light" | "dark";
20
- /** Gate interactivity behind a click (default true) */
21
- clickToInteract?: boolean;
22
- /** Hide the "Use this template" CTA inside the viewer */
23
- hideCta?: boolean;
24
- className?: string;
25
- /** Called when the viewer reports it could not load the workflow */
26
- onError?: (message: string) => void;
27
- }
28
- declare function WorkflowEmbed({ appUrl, productId, theme, clickToInteract, hideCta, className, onError, }: WorkflowEmbedProps): react_jsx_runtime.JSX.Element | null;
3
+ interface StoreProduct {
4
+ id: string;
5
+ name: string;
6
+ slug: string;
7
+ type: string;
8
+ subType?: string | null;
9
+ nature?: string | null;
10
+ status: string;
11
+ pricingModel: string;
12
+ price?: number | null;
13
+ currency?: string | null;
14
+ description?: string | null;
15
+ longDescription?: string | null;
16
+ icon?: string | null;
17
+ bannerUrl?: string | null;
18
+ screenshots?: string[] | null;
19
+ videoUrls?: string[] | null;
20
+ category?: string | null;
21
+ tags?: string[] | null;
22
+ featured?: boolean | null;
23
+ downloads?: number | null;
24
+ viewCount?: number | null;
25
+ rating?: number | null;
26
+ reviewCount?: number | null;
27
+ publisherId?: string | null;
28
+ authorName?: string | null;
29
+ license?: string | null;
30
+ compatibleProducts?: string[] | null;
31
+ minPlatformVersion?: string | null;
32
+ }
33
+ interface StorePublisher {
34
+ id: string;
35
+ name: string;
36
+ email?: string | null;
37
+ websiteUrl?: string | null;
38
+ logoUrl?: string | null;
39
+ bio?: string | null;
40
+ isVerified?: boolean | null;
41
+ tier?: string | null;
42
+ }
43
+ interface StoreReview {
44
+ id: string;
45
+ rating: number;
46
+ title?: string | null;
47
+ comment?: string | null;
48
+ status?: string | null;
49
+ verifiedPurchase?: boolean | null;
50
+ helpful?: number | null;
51
+ createdAt?: string | null;
52
+ userId?: string | null;
53
+ }
54
+ interface StoreFacet {
55
+ value: string;
56
+ count: number;
57
+ }
58
+ interface StoreFacets {
59
+ types?: StoreFacet[] | null;
60
+ categories?: StoreFacet[] | null;
61
+ pricingModels?: StoreFacet[] | null;
62
+ priceRange?: {
63
+ min: number;
64
+ max: number;
65
+ } | null;
66
+ }
67
+ interface BrowseStoreResult {
68
+ products: StoreProduct[];
69
+ totalCount: number;
70
+ hasMore: boolean;
71
+ nextCursor?: string | null;
72
+ facets?: StoreFacets | null;
73
+ }
74
+ interface GroupedStoreProducts {
75
+ featured: StoreProduct[];
76
+ mostDownloaded: StoreProduct[];
77
+ recentlyAdded: StoreProduct[];
78
+ freeItems: StoreProduct[];
79
+ }
80
+ interface RatingDistribution {
81
+ fiveStars: number;
82
+ fourStars: number;
83
+ threeStars: number;
84
+ twoStars: number;
85
+ oneStar: number;
86
+ }
87
+ interface StoreProductDetails {
88
+ product: StoreProduct;
89
+ publisher?: StorePublisher | null;
90
+ reviews?: StoreReview[] | null;
91
+ reviewsCount?: number | null;
92
+ relatedProducts?: StoreProduct[] | null;
93
+ ratingDistribution?: RatingDistribution | null;
94
+ }
95
+ interface SearchSuggestion {
96
+ term: string;
97
+ type?: string | null;
98
+ count?: number | null;
99
+ }
100
+ interface ProductCategory {
101
+ id: string;
102
+ name: string;
103
+ slug: string;
104
+ description?: string | null;
105
+ icon?: string | null;
106
+ parentId?: string | null;
107
+ }
108
+ interface StorePageProps {
109
+ /** Filter to only products compatible with this product (e.g. "fluidgrids") */
110
+ compatibleWith?: string;
111
+ /** URL for the authenticated app (install / purchase CTA) */
112
+ appLoginUrl: string;
113
+ /** Called instead of <a href> for internal navigation — pass useNavigate() wrapper */
114
+ onNavigate?: (path: string) => void;
115
+ }
116
+
117
+ interface StoreHomePageProps extends StorePageProps {
118
+ productName?: string;
119
+ heroTitle?: string;
120
+ heroSubtitle?: string;
121
+ browsePath?: string;
122
+ seoTitle?: string;
123
+ seoDescription?: string;
124
+ seoKeywords?: string;
125
+ }
126
+ declare function StoreHomePage({ compatibleWith, appLoginUrl, onNavigate, productName, heroTitle, heroSubtitle, browsePath, seoTitle, seoDescription, seoKeywords, }: StoreHomePageProps): react_jsx_runtime.JSX.Element;
127
+
128
+ interface StoreBrowsePageProps extends StorePageProps {
129
+ productName?: string;
130
+ seoTitle?: string;
131
+ seoDescription?: string;
132
+ }
133
+ declare function StoreBrowsePage({ compatibleWith, onNavigate, productName, seoTitle, seoDescription, }: StoreBrowsePageProps): react_jsx_runtime.JSX.Element;
134
+
135
+ interface StoreProductDetailPageProps extends StorePageProps {
136
+ slug?: string;
137
+ id?: string;
138
+ productName?: string;
139
+ }
140
+ declare function StoreProductDetailPage({ slug, id, appLoginUrl, onNavigate, productName, }: StoreProductDetailPageProps): react_jsx_runtime.JSX.Element;
141
+
142
+ declare function formatPrice(price: number | null | undefined, currency: string | null | undefined, pricingModel: string): string;
143
+ declare function formatDownloads(n: number | null | undefined): string;
144
+ declare function StarRating({ rating }: {
145
+ rating: number;
146
+ }): react_jsx_runtime.JSX.Element;
147
+ declare function TypeBadge({ type }: {
148
+ type: string;
149
+ }): react_jsx_runtime.JSX.Element;
150
+ interface ProductCardProps {
151
+ product: StoreProduct;
152
+ onClick?: () => void;
153
+ href?: string;
154
+ }
155
+ declare function ProductCard({ product, onClick, href }: ProductCardProps): react_jsx_runtime.JSX.Element;
29
156
 
30
- export { WorkflowEmbed, type WorkflowEmbedProps };
157
+ export { type BrowseStoreResult, type GroupedStoreProducts, ProductCard, type ProductCategory, type RatingDistribution, type SearchSuggestion, StarRating, StoreBrowsePage, type StoreBrowsePageProps, type StoreFacet, type StoreFacets, StoreHomePage, type StoreHomePageProps, type StorePageProps, type StoreProduct, StoreProductDetailPage, type StoreProductDetailPageProps, type StoreProductDetails, type StorePublisher, type StoreReview, TypeBadge, formatDownloads, formatPrice };
@@ -1,30 +1,157 @@
1
- export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, T as TypeBadge, p as formatDownloads, q as formatPrice } from '../product-card-Dm1zkFkm.js';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
2
 
4
- /**
5
- * WorkflowEmbed — iframe wrapper around the FluidGrids public read-only
6
- * workflow viewer (`{app}/embed/workflow`), n8n-demo style.
7
- *
8
- * Any website can use this: the viewer route is unauthenticated and the
9
- * workflow graph is fetched by the iframe itself from the public store
10
- * gateway using the product id. A "Click to explore" overlay keeps page
11
- * scrolling pleasant until the visitor opts into pan/zoom.
12
- */
13
- interface WorkflowEmbedProps {
14
- /** App shell origin serving /embed/workflow (e.g. "https://app.fluidgrids.com") */
15
- appUrl: string;
16
- /** WORKFLOW store product id to preview */
17
- productId: string;
18
- /** Force a theme; defaults to the host page's current light/dark mode */
19
- theme?: "light" | "dark";
20
- /** Gate interactivity behind a click (default true) */
21
- clickToInteract?: boolean;
22
- /** Hide the "Use this template" CTA inside the viewer */
23
- hideCta?: boolean;
24
- className?: string;
25
- /** Called when the viewer reports it could not load the workflow */
26
- onError?: (message: string) => void;
27
- }
28
- declare function WorkflowEmbed({ appUrl, productId, theme, clickToInteract, hideCta, className, onError, }: WorkflowEmbedProps): react_jsx_runtime.JSX.Element | null;
3
+ interface StoreProduct {
4
+ id: string;
5
+ name: string;
6
+ slug: string;
7
+ type: string;
8
+ subType?: string | null;
9
+ nature?: string | null;
10
+ status: string;
11
+ pricingModel: string;
12
+ price?: number | null;
13
+ currency?: string | null;
14
+ description?: string | null;
15
+ longDescription?: string | null;
16
+ icon?: string | null;
17
+ bannerUrl?: string | null;
18
+ screenshots?: string[] | null;
19
+ videoUrls?: string[] | null;
20
+ category?: string | null;
21
+ tags?: string[] | null;
22
+ featured?: boolean | null;
23
+ downloads?: number | null;
24
+ viewCount?: number | null;
25
+ rating?: number | null;
26
+ reviewCount?: number | null;
27
+ publisherId?: string | null;
28
+ authorName?: string | null;
29
+ license?: string | null;
30
+ compatibleProducts?: string[] | null;
31
+ minPlatformVersion?: string | null;
32
+ }
33
+ interface StorePublisher {
34
+ id: string;
35
+ name: string;
36
+ email?: string | null;
37
+ websiteUrl?: string | null;
38
+ logoUrl?: string | null;
39
+ bio?: string | null;
40
+ isVerified?: boolean | null;
41
+ tier?: string | null;
42
+ }
43
+ interface StoreReview {
44
+ id: string;
45
+ rating: number;
46
+ title?: string | null;
47
+ comment?: string | null;
48
+ status?: string | null;
49
+ verifiedPurchase?: boolean | null;
50
+ helpful?: number | null;
51
+ createdAt?: string | null;
52
+ userId?: string | null;
53
+ }
54
+ interface StoreFacet {
55
+ value: string;
56
+ count: number;
57
+ }
58
+ interface StoreFacets {
59
+ types?: StoreFacet[] | null;
60
+ categories?: StoreFacet[] | null;
61
+ pricingModels?: StoreFacet[] | null;
62
+ priceRange?: {
63
+ min: number;
64
+ max: number;
65
+ } | null;
66
+ }
67
+ interface BrowseStoreResult {
68
+ products: StoreProduct[];
69
+ totalCount: number;
70
+ hasMore: boolean;
71
+ nextCursor?: string | null;
72
+ facets?: StoreFacets | null;
73
+ }
74
+ interface GroupedStoreProducts {
75
+ featured: StoreProduct[];
76
+ mostDownloaded: StoreProduct[];
77
+ recentlyAdded: StoreProduct[];
78
+ freeItems: StoreProduct[];
79
+ }
80
+ interface RatingDistribution {
81
+ fiveStars: number;
82
+ fourStars: number;
83
+ threeStars: number;
84
+ twoStars: number;
85
+ oneStar: number;
86
+ }
87
+ interface StoreProductDetails {
88
+ product: StoreProduct;
89
+ publisher?: StorePublisher | null;
90
+ reviews?: StoreReview[] | null;
91
+ reviewsCount?: number | null;
92
+ relatedProducts?: StoreProduct[] | null;
93
+ ratingDistribution?: RatingDistribution | null;
94
+ }
95
+ interface SearchSuggestion {
96
+ term: string;
97
+ type?: string | null;
98
+ count?: number | null;
99
+ }
100
+ interface ProductCategory {
101
+ id: string;
102
+ name: string;
103
+ slug: string;
104
+ description?: string | null;
105
+ icon?: string | null;
106
+ parentId?: string | null;
107
+ }
108
+ interface StorePageProps {
109
+ /** Filter to only products compatible with this product (e.g. "fluidgrids") */
110
+ compatibleWith?: string;
111
+ /** URL for the authenticated app (install / purchase CTA) */
112
+ appLoginUrl: string;
113
+ /** Called instead of <a href> for internal navigation — pass useNavigate() wrapper */
114
+ onNavigate?: (path: string) => void;
115
+ }
116
+
117
+ interface StoreHomePageProps extends StorePageProps {
118
+ productName?: string;
119
+ heroTitle?: string;
120
+ heroSubtitle?: string;
121
+ browsePath?: string;
122
+ seoTitle?: string;
123
+ seoDescription?: string;
124
+ seoKeywords?: string;
125
+ }
126
+ declare function StoreHomePage({ compatibleWith, appLoginUrl, onNavigate, productName, heroTitle, heroSubtitle, browsePath, seoTitle, seoDescription, seoKeywords, }: StoreHomePageProps): react_jsx_runtime.JSX.Element;
127
+
128
+ interface StoreBrowsePageProps extends StorePageProps {
129
+ productName?: string;
130
+ seoTitle?: string;
131
+ seoDescription?: string;
132
+ }
133
+ declare function StoreBrowsePage({ compatibleWith, onNavigate, productName, seoTitle, seoDescription, }: StoreBrowsePageProps): react_jsx_runtime.JSX.Element;
134
+
135
+ interface StoreProductDetailPageProps extends StorePageProps {
136
+ slug?: string;
137
+ id?: string;
138
+ productName?: string;
139
+ }
140
+ declare function StoreProductDetailPage({ slug, id, appLoginUrl, onNavigate, productName, }: StoreProductDetailPageProps): react_jsx_runtime.JSX.Element;
141
+
142
+ declare function formatPrice(price: number | null | undefined, currency: string | null | undefined, pricingModel: string): string;
143
+ declare function formatDownloads(n: number | null | undefined): string;
144
+ declare function StarRating({ rating }: {
145
+ rating: number;
146
+ }): react_jsx_runtime.JSX.Element;
147
+ declare function TypeBadge({ type }: {
148
+ type: string;
149
+ }): react_jsx_runtime.JSX.Element;
150
+ interface ProductCardProps {
151
+ product: StoreProduct;
152
+ onClick?: () => void;
153
+ href?: string;
154
+ }
155
+ declare function ProductCard({ product, onClick, href }: ProductCardProps): react_jsx_runtime.JSX.Element;
29
156
 
30
- export { WorkflowEmbed, type WorkflowEmbedProps };
157
+ export { type BrowseStoreResult, type GroupedStoreProducts, ProductCard, type ProductCategory, type RatingDistribution, type SearchSuggestion, StarRating, StoreBrowsePage, type StoreBrowsePageProps, type StoreFacet, type StoreFacets, StoreHomePage, type StoreHomePageProps, type StorePageProps, type StoreProduct, StoreProductDetailPage, type StoreProductDetailPageProps, type StoreProductDetails, type StorePublisher, type StoreReview, TypeBadge, formatDownloads, formatPrice };