@burdenoff/website-sdk 2026.710.1 → 2026.716.2
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.
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +690 -84
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +690 -84
- package/dist/index.mjs.map +1 -1
- package/dist/product-card-Dm1zkFkm.d.mts +157 -0
- package/dist/product-card-Dm1zkFkm.d.ts +157 -0
- package/dist/store/index.d.mts +27 -154
- package/dist/store/index.d.ts +27 -154
- package/dist/store/index.js +834 -227
- package/dist/store/index.js.map +1 -1
- package/dist/store/index.mjs +835 -229
- package/dist/store/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
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;
|
|
156
|
+
|
|
157
|
+
export { type BrowseStoreResult as B, type GroupedStoreProducts as G, ProductCard as P, type RatingDistribution as R, type SearchSuggestion as S, TypeBadge as T, type ProductCategory as a, StarRating as b, StoreBrowsePage as c, type StoreBrowsePageProps as d, type StoreFacet as e, type StoreFacets as f, StoreHomePage as g, type StoreHomePageProps as h, type StorePageProps as i, type StoreProduct as j, StoreProductDetailPage as k, type StoreProductDetailPageProps as l, type StoreProductDetails as m, type StorePublisher as n, type StoreReview as o, formatDownloads as p, formatPrice as q };
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
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;
|
|
156
|
+
|
|
157
|
+
export { type BrowseStoreResult as B, type GroupedStoreProducts as G, ProductCard as P, type RatingDistribution as R, type SearchSuggestion as S, TypeBadge as T, type ProductCategory as a, StarRating as b, StoreBrowsePage as c, type StoreBrowsePageProps as d, type StoreFacet as e, type StoreFacets as f, StoreHomePage as g, type StoreHomePageProps as h, type StorePageProps as i, type StoreProduct as j, StoreProductDetailPage as k, type StoreProductDetailPageProps as l, type StoreProductDetails as m, type StorePublisher as n, type StoreReview as o, formatDownloads as p, formatPrice as q };
|
package/dist/store/index.d.mts
CHANGED
|
@@ -1,157 +1,30 @@
|
|
|
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';
|
|
1
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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;
|
|
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;
|
|
156
29
|
|
|
157
|
-
export {
|
|
30
|
+
export { WorkflowEmbed, type WorkflowEmbedProps };
|
package/dist/store/index.d.ts
CHANGED
|
@@ -1,157 +1,30 @@
|
|
|
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';
|
|
1
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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;
|
|
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;
|
|
156
29
|
|
|
157
|
-
export {
|
|
30
|
+
export { WorkflowEmbed, type WorkflowEmbedProps };
|