@pixelated-tech/components 3.13.11 → 3.13.13
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/components/general/schema-blogposting.js +0 -1
- package/dist/components/general/schema-breadcrumb.js +78 -0
- package/dist/components/general/schema-product.js +51 -0
- package/dist/components/general/schema-recipe.js +0 -1
- package/dist/components/general/schema-review.js +47 -0
- package/dist/components/integrations/contentful.delivery.js +201 -0
- package/dist/components/integrations/wordpress.components.js +18 -8
- package/dist/components/integrations/wordpress.functions.js +5 -3
- package/dist/components/shoppingcart/ebay.functions.js +69 -0
- package/dist/config/pixelated.config.json.enc +1 -1
- package/dist/index.js +3 -0
- package/dist/types/components/general/schema-blogposting.d.ts +0 -1
- package/dist/types/components/general/schema-blogposting.d.ts.map +1 -1
- package/dist/types/components/general/schema-breadcrumb.d.ts +14 -0
- package/dist/types/components/general/schema-breadcrumb.d.ts.map +1 -0
- package/dist/types/components/general/schema-product.d.ts +38 -0
- package/dist/types/components/general/schema-product.d.ts.map +1 -0
- package/dist/types/components/general/schema-recipe.d.ts +0 -1
- package/dist/types/components/general/schema-recipe.d.ts.map +1 -1
- package/dist/types/components/general/schema-review.d.ts +34 -0
- package/dist/types/components/general/schema-review.d.ts.map +1 -0
- package/dist/types/components/integrations/contentful.delivery.d.ts +57 -0
- package/dist/types/components/integrations/contentful.delivery.d.ts.map +1 -1
- package/dist/types/components/integrations/wordpress.components.d.ts +5 -0
- package/dist/types/components/integrations/wordpress.components.d.ts.map +1 -1
- package/dist/types/components/integrations/wordpress.functions.d.ts.map +1 -1
- package/dist/types/components/shoppingcart/ebay.functions.d.ts +33 -0
- package/dist/types/components/shoppingcart/ebay.functions.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/stories/general/schema.stories.d.ts +40 -0
- package/dist/types/stories/general/schema.stories.d.ts.map +1 -1
- package/dist/types/tests/schema-breadcrumb.test.d.ts +2 -0
- package/dist/types/tests/schema-breadcrumb.test.d.ts.map +1 -0
- package/dist/types/tests/schema-product.test.d.ts +2 -0
- package/dist/types/tests/schema-product.test.d.ts.map +1 -0
- package/dist/types/tests/schema-review.test.d.ts +2 -0
- package/dist/types/tests/schema-review.test.d.ts.map +1 -0
- package/package.json +18 -17
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
/**
|
|
5
|
+
* Build breadcrumb trail from root to current path.
|
|
6
|
+
* e.g., "/store/item-slug" produces ["/", "/store", "/store/item-slug"]
|
|
7
|
+
*/
|
|
8
|
+
function buildPathSegments(currentPath) {
|
|
9
|
+
const segments = ['/'];
|
|
10
|
+
if (currentPath === '/')
|
|
11
|
+
return segments;
|
|
12
|
+
const parts = currentPath.split('/').filter(Boolean);
|
|
13
|
+
let accumulated = '';
|
|
14
|
+
for (const part of parts) {
|
|
15
|
+
accumulated += '/' + part;
|
|
16
|
+
segments.push(accumulated);
|
|
17
|
+
}
|
|
18
|
+
return segments;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Determine breadcrumb name for a path segment.
|
|
22
|
+
* Uses route name if exact match found, otherwise uses humanized path segment.
|
|
23
|
+
*/
|
|
24
|
+
function getSegmentName(routes, path, segment) {
|
|
25
|
+
if (path === '/')
|
|
26
|
+
return 'Home';
|
|
27
|
+
// Only use exact route matches with valid paths to avoid duplicating parent breadcrumb names
|
|
28
|
+
const route = routes.find((r) => r.path && r.path === path);
|
|
29
|
+
if (route)
|
|
30
|
+
return route.name || segment;
|
|
31
|
+
// Fallback: humanize the path segment
|
|
32
|
+
return segment
|
|
33
|
+
.split('-')
|
|
34
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
35
|
+
.join(' ');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* BreadcrumbListSchema — auto-generates a breadcrumb list as JSON-LD from routes.json data.
|
|
39
|
+
* Parses the current path, builds breadcrumb trail by matching path segments to routes array,
|
|
40
|
+
* and embeds as schema.org/BreadcrumbList for SEO rich snippets.
|
|
41
|
+
* Accepts flexible route objects from routes.json with any additional properties.
|
|
42
|
+
*
|
|
43
|
+
* @param {array} [props.routes] - Routes array from routes.json with name and optional path properties.
|
|
44
|
+
* @param {string} [props.currentPath] - Current page path (e.g. "/store/vintage-oakley"). Defaults to "/" if not provided.
|
|
45
|
+
* @param {string} [props.siteUrl] - Full domain URL from siteInfo.url. Defaults to https://example.com.
|
|
46
|
+
*/
|
|
47
|
+
BreadcrumbListSchema.propTypes = {
|
|
48
|
+
/** Routes array from routes.json. Accepts routes with any properties; only uses name and path. */
|
|
49
|
+
routes: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
50
|
+
/** Current page path to generate breadcrumbs for (e.g. "/store/item-slug"). Defaults to "/". */
|
|
51
|
+
currentPath: PropTypes.string,
|
|
52
|
+
/** Site domain URL for constructing full breadcrumb URLs. Defaults to https://example.com. */
|
|
53
|
+
siteUrl: PropTypes.string,
|
|
54
|
+
};
|
|
55
|
+
export function BreadcrumbListSchema({ routes, currentPath = '/', siteUrl = 'https://example.com', }) {
|
|
56
|
+
// Type-safe conversion: routes prop is now flexible (accepts any object)
|
|
57
|
+
// Filter to ensure only valid Route objects with 'name' property
|
|
58
|
+
const validRoutes = (Array.isArray(routes)
|
|
59
|
+
? routes.filter((r) => !!(r && typeof r === 'object' && 'name' in r))
|
|
60
|
+
: []);
|
|
61
|
+
const pathSegments = buildPathSegments(currentPath || '/');
|
|
62
|
+
const finalSiteUrl = siteUrl || 'https://example.com';
|
|
63
|
+
const itemListElement = pathSegments.map((path, index) => {
|
|
64
|
+
const segment = path.split('/').filter(Boolean).pop() || 'Home';
|
|
65
|
+
return {
|
|
66
|
+
'@type': 'ListItem',
|
|
67
|
+
'position': index + 1,
|
|
68
|
+
'name': getSegmentName(validRoutes, path, segment),
|
|
69
|
+
'item': `${finalSiteUrl.replace(/\/$/, '')}${path}`,
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
const jsonLD = {
|
|
73
|
+
'@context': 'https://schema.org',
|
|
74
|
+
'@type': 'BreadcrumbList',
|
|
75
|
+
'itemListElement': itemListElement,
|
|
76
|
+
};
|
|
77
|
+
return (_jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: JSON.stringify(jsonLD) } }));
|
|
78
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
/**
|
|
5
|
+
* ProductSchema — embeds a product/offer as JSON-LD for SEO (schema.org/Product).
|
|
6
|
+
*
|
|
7
|
+
* @param {shape} [props.product] - Product object conforming to schema.org/Product; will be serialized as JSON-LD.
|
|
8
|
+
* @param {string} [props.product.name] - The product name.
|
|
9
|
+
* @param {string} [props.product.description] - Product description.
|
|
10
|
+
* @param {shape} [props.product.brand] - Brand information (name and @type).
|
|
11
|
+
* @param {shape} [props.product.offers] - Offer information including price, currency, URL, and availability.
|
|
12
|
+
*/
|
|
13
|
+
ProductSchema.propTypes = {
|
|
14
|
+
/** Product information object to be serialized as JSON-LD. */
|
|
15
|
+
product: PropTypes.shape({
|
|
16
|
+
'@context': PropTypes.string.isRequired,
|
|
17
|
+
'@type': PropTypes.string.isRequired,
|
|
18
|
+
name: PropTypes.string.isRequired,
|
|
19
|
+
description: PropTypes.string,
|
|
20
|
+
image: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
|
|
21
|
+
brand: PropTypes.shape({
|
|
22
|
+
'@type': PropTypes.string.isRequired,
|
|
23
|
+
name: PropTypes.string.isRequired,
|
|
24
|
+
}),
|
|
25
|
+
offers: PropTypes.oneOfType([
|
|
26
|
+
PropTypes.shape({
|
|
27
|
+
'@type': PropTypes.string.isRequired,
|
|
28
|
+
url: PropTypes.string,
|
|
29
|
+
priceCurrency: PropTypes.string,
|
|
30
|
+
price: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
31
|
+
availability: PropTypes.string,
|
|
32
|
+
}),
|
|
33
|
+
PropTypes.arrayOf(PropTypes.shape({
|
|
34
|
+
'@type': PropTypes.string.isRequired,
|
|
35
|
+
url: PropTypes.string,
|
|
36
|
+
priceCurrency: PropTypes.string,
|
|
37
|
+
price: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
38
|
+
availability: PropTypes.string,
|
|
39
|
+
}))
|
|
40
|
+
]),
|
|
41
|
+
aggregateRating: PropTypes.shape({
|
|
42
|
+
'@type': PropTypes.string,
|
|
43
|
+
ratingValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
44
|
+
reviewCount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
45
|
+
}),
|
|
46
|
+
}).isRequired,
|
|
47
|
+
};
|
|
48
|
+
export function ProductSchema(props) {
|
|
49
|
+
const { product } = props;
|
|
50
|
+
return (_jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: JSON.stringify(product) } }));
|
|
51
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
/**
|
|
5
|
+
* ReviewSchema — embeds a review as JSON-LD for SEO (schema.org/Review).
|
|
6
|
+
*
|
|
7
|
+
* @param {shape} [props.review] - Review object conforming to schema.org/Review; will be serialized as JSON-LD.
|
|
8
|
+
* @param {string} [props.review.name] - The headline or title of the review.
|
|
9
|
+
* @param {string} [props.review.reviewBody] - The body of the review content.
|
|
10
|
+
* @param {string} [props.review.datePublished] - ISO date the review was published.
|
|
11
|
+
* @param {shape} [props.review.author] - Author information (name and @type).
|
|
12
|
+
* @param {shape} [props.review.itemReviewed] - The item being reviewed (product, service, etc.).
|
|
13
|
+
* @param {shape} [props.review.reviewRating] - Rating information including ratingValue, bestRating, worstRating.
|
|
14
|
+
* @param {shape} [props.review.publisher] - Organization publishing the review.
|
|
15
|
+
*/
|
|
16
|
+
ReviewSchema.propTypes = {
|
|
17
|
+
/** Review information object to be serialized as JSON-LD. */
|
|
18
|
+
review: PropTypes.shape({
|
|
19
|
+
'@context': PropTypes.string.isRequired,
|
|
20
|
+
'@type': PropTypes.string.isRequired,
|
|
21
|
+
name: PropTypes.string.isRequired,
|
|
22
|
+
reviewBody: PropTypes.string,
|
|
23
|
+
datePublished: PropTypes.string,
|
|
24
|
+
author: PropTypes.shape({
|
|
25
|
+
'@type': PropTypes.string.isRequired,
|
|
26
|
+
name: PropTypes.string.isRequired,
|
|
27
|
+
}),
|
|
28
|
+
itemReviewed: PropTypes.shape({
|
|
29
|
+
'@type': PropTypes.string.isRequired,
|
|
30
|
+
name: PropTypes.string,
|
|
31
|
+
}),
|
|
32
|
+
reviewRating: PropTypes.shape({
|
|
33
|
+
'@type': PropTypes.string.isRequired,
|
|
34
|
+
ratingValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
35
|
+
bestRating: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
36
|
+
worstRating: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
37
|
+
}),
|
|
38
|
+
publisher: PropTypes.shape({
|
|
39
|
+
'@type': PropTypes.string.isRequired,
|
|
40
|
+
name: PropTypes.string,
|
|
41
|
+
}),
|
|
42
|
+
}).isRequired,
|
|
43
|
+
};
|
|
44
|
+
export function ReviewSchema(props) {
|
|
45
|
+
const { review } = props;
|
|
46
|
+
return (_jsx("script", { type: "application/ld+json", dangerouslySetInnerHTML: { __html: JSON.stringify(review) } }));
|
|
47
|
+
}
|
|
@@ -332,3 +332,204 @@ export async function getContentfulDiscountCodes(props) {
|
|
|
332
332
|
return [];
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
|
+
/* ========== GET CONTENTFUL REVIEWS AS SCHEMA ========== */
|
|
336
|
+
/**
|
|
337
|
+
* getContentfulReviewsSchema — Retrieve review entries from Contentful and convert them to schema.org/Review JSON-LD format.
|
|
338
|
+
*
|
|
339
|
+
* @param {shape} [props.apiProps] - Contentful API configuration object (base_url, space_id, environment, access tokens).
|
|
340
|
+
* @param {string} [props.itemName] - Name of the item/product being reviewed (e.g., 'Epoxy Flooring Service').
|
|
341
|
+
* @param {string} [props.itemType] - Schema type of the item being reviewed (default: 'Product').
|
|
342
|
+
* @param {string} [props.publisherName] - Name of the organization publishing the reviews.
|
|
343
|
+
*/
|
|
344
|
+
getContentfulReviewsSchema.propTypes = {
|
|
345
|
+
/** Contentful API configuration */
|
|
346
|
+
apiProps: PropTypes.shape({
|
|
347
|
+
proxyURL: PropTypes.string,
|
|
348
|
+
base_url: PropTypes.string.isRequired,
|
|
349
|
+
space_id: PropTypes.string.isRequired,
|
|
350
|
+
environment: PropTypes.string.isRequired,
|
|
351
|
+
delivery_access_token: PropTypes.string.isRequired,
|
|
352
|
+
}).isRequired,
|
|
353
|
+
/** Name of the item/product being reviewed */
|
|
354
|
+
itemName: PropTypes.string.isRequired,
|
|
355
|
+
/** Schema type of the item being reviewed */
|
|
356
|
+
itemType: PropTypes.string,
|
|
357
|
+
/** Name of the organization publishing the reviews */
|
|
358
|
+
publisherName: PropTypes.string,
|
|
359
|
+
};
|
|
360
|
+
export async function getContentfulReviewsSchema(props) {
|
|
361
|
+
const contentType = "reviews";
|
|
362
|
+
const itemName = props.itemName;
|
|
363
|
+
const itemType = props.itemType || "Product";
|
|
364
|
+
const publisherName = props.publisherName;
|
|
365
|
+
try {
|
|
366
|
+
if (debug)
|
|
367
|
+
console.log("Fetching Reviews and converting to schema");
|
|
368
|
+
const response = await getContentfulEntriesByType({
|
|
369
|
+
apiProps: props.apiProps,
|
|
370
|
+
contentType: contentType
|
|
371
|
+
});
|
|
372
|
+
if (!response || !response.items) {
|
|
373
|
+
console.error("No reviews found in Contentful");
|
|
374
|
+
return [];
|
|
375
|
+
}
|
|
376
|
+
const reviewSchemas = response.items.map((item) => {
|
|
377
|
+
// Extract reviewer name from "fields.reviewer" which comes as " - Name"
|
|
378
|
+
const reviewerNameRaw = item.fields.reviewer || "Anonymous";
|
|
379
|
+
const reviewerName = reviewerNameRaw.replace(/^\s*-\s*/, "").trim();
|
|
380
|
+
// Convert Contentful date to ISO format (remove quotes if present)
|
|
381
|
+
const publishDate = new Date(item.sys.createdAt).toISOString().split("T")[0];
|
|
382
|
+
// Create Review schema object
|
|
383
|
+
const reviewSchema = {
|
|
384
|
+
"@context": "https://schema.org/",
|
|
385
|
+
"@type": "Review",
|
|
386
|
+
"name": "", // Will be extracted or generated from review body
|
|
387
|
+
"reviewBody": item.fields.description?.replace(/^"|"$/g, "").trim() || "",
|
|
388
|
+
"datePublished": publishDate,
|
|
389
|
+
"author": {
|
|
390
|
+
"@type": "Person",
|
|
391
|
+
"name": reviewerName
|
|
392
|
+
},
|
|
393
|
+
"itemReviewed": {
|
|
394
|
+
"@type": itemType,
|
|
395
|
+
"name": itemName
|
|
396
|
+
},
|
|
397
|
+
"reviewRating": {
|
|
398
|
+
"@type": "Rating",
|
|
399
|
+
"ratingValue": "5",
|
|
400
|
+
"bestRating": "5",
|
|
401
|
+
"worstRating": "1"
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
// Generate name from first sentence of review or use generic title
|
|
405
|
+
if (reviewSchema.reviewBody) {
|
|
406
|
+
const sentences = reviewSchema.reviewBody.split(/[.!?]/);
|
|
407
|
+
reviewSchema.name = sentences[0].trim().substring(0, 100) || "Review";
|
|
408
|
+
}
|
|
409
|
+
// Add publisher if provided
|
|
410
|
+
if (publisherName) {
|
|
411
|
+
reviewSchema.publisher = {
|
|
412
|
+
"@type": "Organization",
|
|
413
|
+
"name": publisherName
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
return reviewSchema;
|
|
417
|
+
});
|
|
418
|
+
if (debug)
|
|
419
|
+
console.log("Review Schemas: ", reviewSchemas);
|
|
420
|
+
return reviewSchemas;
|
|
421
|
+
}
|
|
422
|
+
catch (error) {
|
|
423
|
+
console.error('Error fetching reviews:', error);
|
|
424
|
+
return [];
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
/* ========== GET CONTENTFUL PRODUCT AS SCHEMA ========== */
|
|
428
|
+
/**
|
|
429
|
+
* getContentfulProductSchema — Retrieve a product entry from Contentful and convert it to schema.org/Product JSON-LD format.
|
|
430
|
+
*
|
|
431
|
+
* @param {shape} [props.apiProps] - Contentful API configuration object (base_url, space_id, environment, access tokens).
|
|
432
|
+
* @param {string} [props.productId] - The product ID field value to search for (e.g., 'PIX-000779').
|
|
433
|
+
* @param {string} [props.siteUrl] - Optional base site URL for the offer URL.
|
|
434
|
+
* @param {function} [props.getAssetUrl] - Optional function to transform asset URLs.
|
|
435
|
+
*/
|
|
436
|
+
getContentfulProductSchema.propTypes = {
|
|
437
|
+
/** Contentful API configuration */
|
|
438
|
+
apiProps: PropTypes.shape({
|
|
439
|
+
proxyURL: PropTypes.string,
|
|
440
|
+
base_url: PropTypes.string.isRequired,
|
|
441
|
+
space_id: PropTypes.string.isRequired,
|
|
442
|
+
environment: PropTypes.string.isRequired,
|
|
443
|
+
delivery_access_token: PropTypes.string.isRequired,
|
|
444
|
+
}).isRequired,
|
|
445
|
+
/** Product ID to search for */
|
|
446
|
+
productId: PropTypes.string.isRequired,
|
|
447
|
+
/** Optional site URL for offer */
|
|
448
|
+
siteUrl: PropTypes.string,
|
|
449
|
+
/** Optional function to transform asset URLs */
|
|
450
|
+
getAssetUrl: PropTypes.func,
|
|
451
|
+
};
|
|
452
|
+
export async function getContentfulProductSchema(props) {
|
|
453
|
+
const contentType = "item";
|
|
454
|
+
const productId = props.productId;
|
|
455
|
+
const siteUrl = props.siteUrl || '';
|
|
456
|
+
const getAssetUrl = props.getAssetUrl;
|
|
457
|
+
try {
|
|
458
|
+
if (debug)
|
|
459
|
+
console.log("Fetching Product and converting to schema");
|
|
460
|
+
const response = await getContentfulEntriesByType({
|
|
461
|
+
apiProps: props.apiProps,
|
|
462
|
+
contentType: contentType
|
|
463
|
+
});
|
|
464
|
+
if (!response || !response.items) {
|
|
465
|
+
console.error("No products found in Contentful");
|
|
466
|
+
return null;
|
|
467
|
+
}
|
|
468
|
+
// Use existing helper function to find product by ID field
|
|
469
|
+
const product = await getContentfulEntryByField({
|
|
470
|
+
cards: response,
|
|
471
|
+
searchField: 'id',
|
|
472
|
+
searchVal: productId
|
|
473
|
+
});
|
|
474
|
+
if (!product) {
|
|
475
|
+
console.error(`Product with ID ${productId} not found`);
|
|
476
|
+
return null;
|
|
477
|
+
}
|
|
478
|
+
const fields = product.fields;
|
|
479
|
+
// Create Product schema object
|
|
480
|
+
const productSchema = {
|
|
481
|
+
'@context': 'https://schema.org/',
|
|
482
|
+
'@type': 'Product',
|
|
483
|
+
name: fields.title || '',
|
|
484
|
+
description: fields.description || '',
|
|
485
|
+
image: [],
|
|
486
|
+
brand: {
|
|
487
|
+
'@type': 'Brand',
|
|
488
|
+
name: fields.brand || 'Pixelated'
|
|
489
|
+
},
|
|
490
|
+
offers: {
|
|
491
|
+
'@type': 'Offer',
|
|
492
|
+
url: siteUrl || '',
|
|
493
|
+
priceCurrency: 'USD',
|
|
494
|
+
price: String(fields.price || '0'),
|
|
495
|
+
availability: 'https://schema.org/InStock'
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
// Handle images
|
|
499
|
+
if (Array.isArray(fields.images) && fields.images.length > 0) {
|
|
500
|
+
// Note: Contentful images are links to assets
|
|
501
|
+
// In a real implementation, you'd need to resolve these asset URLs
|
|
502
|
+
// For now, we store them as asset IDs that can be looked up later
|
|
503
|
+
productSchema.image = fields.images.map((img) => {
|
|
504
|
+
if (img.sys?.id) {
|
|
505
|
+
return getAssetUrl ? getAssetUrl(img.sys.id) : `https://assets.ctfassets.net/${img.sys.id}`;
|
|
506
|
+
}
|
|
507
|
+
return '';
|
|
508
|
+
}).filter((url) => url);
|
|
509
|
+
}
|
|
510
|
+
// Add additional product attributes if available
|
|
511
|
+
if (fields.brand) {
|
|
512
|
+
productSchema.brand.name = fields.brand;
|
|
513
|
+
}
|
|
514
|
+
if (fields.model) {
|
|
515
|
+
productSchema.model = fields.model;
|
|
516
|
+
}
|
|
517
|
+
if (fields.color) {
|
|
518
|
+
productSchema.color = fields.color;
|
|
519
|
+
}
|
|
520
|
+
// Add rating based on availability/quantity
|
|
521
|
+
if (fields.quantity !== undefined) {
|
|
522
|
+
const availability = fields.quantity > 0
|
|
523
|
+
? 'https://schema.org/InStock'
|
|
524
|
+
: 'https://schema.org/OutOfStock';
|
|
525
|
+
productSchema.offers.availability = availability;
|
|
526
|
+
}
|
|
527
|
+
if (debug)
|
|
528
|
+
console.log("Contentful Product Schema: ", productSchema);
|
|
529
|
+
return productSchema;
|
|
530
|
+
}
|
|
531
|
+
catch (error) {
|
|
532
|
+
console.error('Error fetching product:', error);
|
|
533
|
+
return null;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx,
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { usePixelatedConfig } from "../config/config.client";
|
|
@@ -9,6 +9,8 @@ import { getWordPressItems, getWordPressLastModified } from './wordpress.functio
|
|
|
9
9
|
import { Loading, ToggleLoading } from '../general/loading';
|
|
10
10
|
import { CacheManager } from "../general/cache-manager";
|
|
11
11
|
import "./wordpress.css";
|
|
12
|
+
import { SchemaBlogPosting } from '../general/schema-blogposting';
|
|
13
|
+
import { mapWordPressToBlogPosting } from '../general/schema-blogposting.functions';
|
|
12
14
|
// https://microformats.org/wiki/h-entry
|
|
13
15
|
function decodeString(str) {
|
|
14
16
|
const textarea = document.createElement('textarea');
|
|
@@ -27,6 +29,10 @@ const wpApiURL = "https://public-api.wordpress.com/rest/v1/sites/";
|
|
|
27
29
|
getCachedWordPressItems.propTypes = {
|
|
28
30
|
/** WordPress site identifier (slug or domain) */
|
|
29
31
|
site: PropTypes.string.isRequired,
|
|
32
|
+
/** Number of posts to fetch (optional) */
|
|
33
|
+
count: PropTypes.number,
|
|
34
|
+
/** Base URL for WordPress API (optional) */
|
|
35
|
+
baseURL: PropTypes.string,
|
|
30
36
|
};
|
|
31
37
|
export async function getCachedWordPressItems(props) {
|
|
32
38
|
const site = props.site ?? '';
|
|
@@ -35,20 +41,24 @@ export async function getCachedWordPressItems(props) {
|
|
|
35
41
|
const key = `posts-${site}`;
|
|
36
42
|
let posts = wpCache.get(key) || undefined;
|
|
37
43
|
if (!posts) {
|
|
38
|
-
posts = await getWordPressItems({ site });
|
|
44
|
+
posts = await getWordPressItems({ site, baseURL: wpApiURL });
|
|
39
45
|
if (posts)
|
|
40
46
|
wpCache.set(key, posts);
|
|
41
47
|
}
|
|
48
|
+
// Check if cached data is stale and refresh if needed
|
|
42
49
|
if (posts && posts.length > 0 && posts[0].modified) {
|
|
43
50
|
const lastModified = await getWordPressLastModified({ site: props.site, baseURL: wpApiURL });
|
|
44
51
|
if (lastModified && lastModified !== posts[0].modified) {
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
// FIX - prevously was busting next/cache, now busting wpCache
|
|
53
|
+
// Cached response is stale - fetch fresh data and update localStorage immediately
|
|
54
|
+
const freshPosts = await getWordPressItems({ site, baseURL: wpApiURL });
|
|
55
|
+
if (freshPosts && freshPosts.length > 0) {
|
|
56
|
+
wpCache.set(key, freshPosts);
|
|
57
|
+
posts = freshPosts;
|
|
58
|
+
}
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
|
-
return posts;
|
|
61
|
+
return posts?.slice(0, props.count ?? posts.length);
|
|
52
62
|
}
|
|
53
63
|
/**
|
|
54
64
|
* BlogPostList — Render a list of WordPress posts. If `posts` are provided they are used directly; otherwise the component will fetch posts from the configured WordPress endpoint.
|
|
@@ -103,7 +113,7 @@ export function BlogPostList(props) {
|
|
|
103
113
|
ToggleLoading({ show: false });
|
|
104
114
|
})();
|
|
105
115
|
}, [site, baseURL, count, cachedPosts]);
|
|
106
|
-
return (_jsxs(_Fragment, { children: [_jsx(Loading, {}), posts.map((post) => (
|
|
116
|
+
return (_jsxs(_Fragment, { children: [_jsx(Loading, {}), posts.map((post) => (_jsxs(PageGridItem, { children: [_jsx(SchemaBlogPosting, { post: mapWordPressToBlogPosting(post, false) }, post.ID), _jsx(BlogPostSummary, { ID: post.ID, title: post.title, date: post.date, excerpt: post.excerpt, URL: post.URL, categories: post.categories, featured_image: post.featured_image, showCategories: showCategories })] }, post.ID)))] }));
|
|
107
117
|
}
|
|
108
118
|
/**
|
|
109
119
|
* BlogPostSummary — Render a compact summary card for a single WordPress post.
|
|
@@ -23,7 +23,7 @@ export async function getWordPressItems(props) {
|
|
|
23
23
|
const { baseURL = wpApiURL } = props;
|
|
24
24
|
const requested = props.count; // undefined means fetch all available
|
|
25
25
|
const tag = `wp-posts-${props.site}`; // unique per site so we can invalidate fetch cache separately
|
|
26
|
-
|
|
26
|
+
let posts = [];
|
|
27
27
|
let page = 1;
|
|
28
28
|
while (true) {
|
|
29
29
|
const remaining = requested ? Math.max(requested - posts.length, 0) : 100;
|
|
@@ -63,15 +63,17 @@ export async function getWordPressItems(props) {
|
|
|
63
63
|
// the first post (which is the most recent) with a fresh timestamp obtained
|
|
64
64
|
// via getWordPressLastModified. if the lastModified indicates a newer update than
|
|
65
65
|
// what we just fetched, bust the cache so future callers get the latest data.
|
|
66
|
-
|
|
66
|
+
// Only run this on the server ( no window object ) where revalidateTag is available
|
|
67
|
+
if (typeof window === 'undefined' && posts && posts.length > 0 && posts[0].modified) {
|
|
67
68
|
const lastModified = await getWordPressLastModified({ site: props.site, baseURL });
|
|
68
69
|
if (lastModified && lastModified !== posts[0].modified) {
|
|
69
|
-
// our cached response is stale relative to origin
|
|
70
|
+
// our cached response is stale relative to origin - bust Next.js cache
|
|
70
71
|
import('next/cache').then(({ revalidateTag }) => {
|
|
71
72
|
revalidateTag(`wp-posts-${props.site}`, {});
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
}
|
|
76
|
+
posts = posts.sort((a, b) => ((a.date ?? '') < (b.date ?? '')) ? 1 : -1);
|
|
75
77
|
return posts;
|
|
76
78
|
}
|
|
77
79
|
/*
|
|
@@ -392,3 +392,72 @@ export function getEbayItemsSearch(props) {
|
|
|
392
392
|
};
|
|
393
393
|
return fetchData(props.token);
|
|
394
394
|
}
|
|
395
|
+
/* ========== PRODUCT SCHEMA ========== */
|
|
396
|
+
/**
|
|
397
|
+
* getEbayProductSchema — Convert an eBay item into schema.org/Product JSON-LD format.
|
|
398
|
+
*
|
|
399
|
+
* @param {object} [props.item] - eBay item object from the Browse API.
|
|
400
|
+
* @param {string} [props.brandName] - Optional brand name to include in the schema.
|
|
401
|
+
* @param {string} [props.siteUrl] - Optional site URL for the offer URL.
|
|
402
|
+
*/
|
|
403
|
+
getEbayProductSchema.propTypes = {
|
|
404
|
+
/** eBay item object */
|
|
405
|
+
item: PropTypes.any.isRequired,
|
|
406
|
+
/** Optional brand name */
|
|
407
|
+
brandName: PropTypes.string,
|
|
408
|
+
/** Optional site URL for offer */
|
|
409
|
+
siteUrl: PropTypes.string,
|
|
410
|
+
};
|
|
411
|
+
export function getEbayProductSchema(props) {
|
|
412
|
+
const item = props.item;
|
|
413
|
+
const brandName = props.brandName || 'eBay';
|
|
414
|
+
const siteUrl = props.siteUrl || item.itemWebUrl || '';
|
|
415
|
+
if (!item || !item.title || !item.price) {
|
|
416
|
+
return null;
|
|
417
|
+
}
|
|
418
|
+
// Get the primary image
|
|
419
|
+
const primaryImage = item.image?.imageUrl || item.thumbnailImages?.[0]?.imageUrl || '';
|
|
420
|
+
// Collect all images
|
|
421
|
+
const allImages = [];
|
|
422
|
+
if (primaryImage)
|
|
423
|
+
allImages.push(primaryImage);
|
|
424
|
+
if (Array.isArray(item.additionalImages)) {
|
|
425
|
+
item.additionalImages.forEach((img) => {
|
|
426
|
+
if (img.imageUrl)
|
|
427
|
+
allImages.push(img.imageUrl);
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
const productSchema = {
|
|
431
|
+
'@context': 'https://schema.org/',
|
|
432
|
+
'@type': 'Product',
|
|
433
|
+
name: item.title,
|
|
434
|
+
description: item.title,
|
|
435
|
+
image: allImages.length > 1 ? allImages : (allImages[0] || ''),
|
|
436
|
+
brand: {
|
|
437
|
+
'@type': 'Brand',
|
|
438
|
+
name: brandName
|
|
439
|
+
},
|
|
440
|
+
offers: {
|
|
441
|
+
'@type': 'Offer',
|
|
442
|
+
url: siteUrl,
|
|
443
|
+
priceCurrency: item.price?.currency || 'USD',
|
|
444
|
+
price: String(item.price?.value || '0'),
|
|
445
|
+
availability: 'https://schema.org/InStock',
|
|
446
|
+
seller: {
|
|
447
|
+
'@type': 'Organization',
|
|
448
|
+
name: item.seller?.username || 'eBay Seller'
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
};
|
|
452
|
+
// Add seller rating if available
|
|
453
|
+
if (item.seller?.feedbackPercentage || item.seller?.feedbackScore) {
|
|
454
|
+
productSchema.aggregateRating = {
|
|
455
|
+
'@type': 'AggregateRating',
|
|
456
|
+
ratingValue: item.seller.feedbackPercentage ? String(item.seller.feedbackPercentage) : '0',
|
|
457
|
+
reviewCount: item.seller.feedbackScore ? String(item.seller.feedbackScore) : '0'
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
if (debug)
|
|
461
|
+
console.log("eBay Product Schema:", productSchema);
|
|
462
|
+
return productSchema;
|
|
463
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
pxl:v1:
|
|
1
|
+
pxl:v1:ccbeb5ce37f9d7bb58bbdb69:a8d83a8a869223a8d06c2989d288d35d:b8af73ecddfc5ccbcc34af89433435e7119e1adc06e20bc3deefb8e0c35ca7d369ad61a8ce6542c05af31c9783b28506e5f9257708354dfbd1dd23aa54381b3232d057b92acde71ea8b187a6dec84103c6b7408c0bf97b8add8507bc4977fe95671cb43e5df74e06f05afebac924c629db2aeb0806308c6368a18b03580345804f9b5f9408dcb26b7bd04076f038deeacd3da71ccae9b92833e0b81bbbe3123f748de603f1f748953b17556b6e76bdb932801459a44a7b9049d84565bd6b748531f5b2f512cd1030d001af5f186f05c14804a3a7aa84d3182dcaf5c5931eb9577c88272d88ff70135f090d003666ed01c4b2a9c23164efa10fe285b1b6a0c41e26ab682a1e4df4ece883dcee80cca54fa9f49de1b72cb6edbb7a25727ba103568a56b70a1279a044e1637bdb877232ec128c15afb6f7ef054ff0d45331a3ada1598e494eccff762b2c4da5fa410255c0b9938921bf69e8a44a366fb46f02668545bff76f9612d4ed41921e0f8d7ee66a80b0b107a1e0ec57a368b6acecbe5a9b69ea62f3fab96d008f926f65f8f1bec050788d3defe9bf2981322758a172a5a4a8fe5383805e06bcf49eba1bf735849a7b95afe330f5f033cac011c847de47c08b2434f528e368025343015158cb31d3ba7cd32bb5239b5d8d810bd4b7989f81c531ab5e21bb6dd2ea273fdc574010d72aa45ea0ea493eb4df84236c363a0c0b15169540efeeb9e760d655884c7ab5e6b41591f813e6dfe0a1e7947cf82be8ffb3c48e14a7140605a004da6dfbdbc339a88a88b1c8c91771bdd55f3664bef50020cc3862fb34fffdc2f9458a9bbd1a2abe07cb1493e53b0b18ab921db941deab5a0375121ec12b56b148ddd17886f78aed65fbe5fd651013c7fed2f508ff5051dc508c63ae96fff2a21eb049a1d65176d9a60704b21af0d7b1d27bf7755754fb42abfc9bcc97ba0e99fd42152d2565f7c870210ac2545b38bddd16d6b993f5a074b16bbd3b21451b73465e95e56fd251b13e99111ce4e6080165ae95e7d7a60dc7155297adcfac99da51bdad5e0218f89c7fb36b1c063b5d27c92e94a6711c2f84be73acb642114f97feb4e4a7c3f5e0b9b581f7fe442dee63d7552428d9680a397fc2085122a8dd244a00a32718cad5d4977adb1d38e75d218c2de5535d671d53c38c736f0099420ab6fc01d23e39c4f4e3931b2b3b2e9258e1be5db7c0ec14c92caac61be58886bdd1a80de040c13ae640d47e5241b21943ecbe3eac8ef170e6351838a2cbb2880f973fa8cd2294fc8319fa1cddeebd4c7982d5e7d497d08f638f976756ebcc4889d434254003daf8d80140f8522ef54fe99c8cb1808e6db85ed372dabe6c5c95bfc418dcc17b5f8ae6f767d501a1d084511421b3fbdcfd6c2275c37dfe02b6dad7a5d02a395c43db0eff8d9a697058b20b6dd32ea8c71a4cd684e1bbeaf18b40474c9dc733eaebd481b0529f6e9dcf81ed2750e7f7293ec349107762074d9a3895022bddc71f0ead98e44a54840e747514a1e7d73c798147047018acaec2a7946ebf781eed50320ba3de9ce4f41182bb5cabb9ab460bea31343e7b5a81f664a34d7a6b213a5c5f0aa5c5dbe9fd22c94fab41254755642dda09766401eccf37c0a4ee0701f18abea129ca2361a9c274c09340e8e89abe866e5f6c8c5b704e0e227493aed1ff33d5a72e1eaa56b91f036691e81f2f16566df35811e6ab8fb840ee132a1b814de2b6df3f4ba9e345f83b3f4f9178c2e162f12f51858ae05090919a5a38ea903cd6d0dd57b8aa91188c202be0300f1a4ddbfc57a5435c2cc2ea4888cf2d4d8d61e2a9841f66e7f9f964406eb503c78a39a2e2b060c28d44a787c9589efdce1b1e4103717a6955f509d44a9a9ce0894fda84f71d56e598f5bbd31d1b2633f68cb89ec00ba21b14f2c42ca9e8659935d1e7374d807cca220edb6650d1ce884fe9eae38a0199801aea6f1daac6c190f836f532e4b05e9f9f92b7d852edf6d7f19bf288dee6b69125a759df6cf14c2dfc1203daedb07da0b80d15b3359e3c76f9afd083c2007bf6be9bab06101360a1a3b7a486e5148e5f2077a88d09ab8f87caaf3bf2bc596ed3a5d6e85e55e57b09e85c86b8e2533527da1d22ff5434e1f2c016111ae03dba71dcd9edc2097f2a40328689f142790dc1c14fbca4a2c0f751bdade4c5e83ebd9ed43091cf0f09a82d954a307fceef8ffdaf7db72761edd6b7efccb21a53016112e51afb90167bbe81d8acedd9a833aae57c5637b134a5695b37c89fb095c6594cacbe67c016fcc0574a28e36b9c99f5d8ebee317f61c16a9f737aca0e7fb4414ffe7322561a576e0c3f829fe8589619d1fe3d5ddef37e81af05f20a30c110cbf828c43048703fb69d80e98d5b9708aeed896ae6154566b793ddb624ffcec8e31983b9d99988e09e9198c681716cdefddb9407b4e9092ee793f58993dd1585116a02a2373d3e2a5317377626434d3269fd185bbb4178afd33026bdea7a8ff4f851e265c1c4b22a010f84e94befe4db2210d50a357297da71309cd6e7a6bd744127ca8ce4fdd7fa8c396a44ac492454418f2e89002b243ade842444b210ab51fefceef08d0e69cdc030898638a1b87a0258e811a04ba37c9e170fe87f397ad556348b73912e1f5ad5d3dd24c99120732ce6c9822505f52359d0ea1c9a39e3431a49650828295bdaade4762593c25f709e54173ddf27359d5f833ee09a701fa81ac389682d949069bcfcbb4635c5ebc378c9bfb5201efc2af2ec75d48959a31480b59c97e0ab21da6c9a09aa723f23c481bbb7dd1d200283c2ef85bea7b4bf35b030378157c8f70e07a8333a024d35471cfe8ebe27c3ea287f6f973554471b413b94de0565b25e8d3e6562bdf4c9d85c1a9764edf80e0596890bd775840b9626158a8e5e0a7a40638f935f16f3e500b949c5cfbf2bb0cad668a4c89d1bd6e82f63af8d56a959f79abf4d7429e8bd23afa15b94097c627a2313bb4a222aa12b2297f98626493faa9462e58b16ba88b18dcbe2e582498596ba50601251095b2630032eae174b413a95a708798d75364368cd5018a3fd3ec89413ee36aa79369f4b0dc5ee3fb6f0280e7d9fc92282d2830bf7e5b13979ef50828dc1615056a6d204338425c6462535cc008580f34182b8d7c438e33620dc733fa5ec9ec8860c113319afc2b24b2bf1b86ff6150f056f69e138a7f8479892b9979a03dc5e345b361754466eb21ff3cc5eec7092d96c10f9a4fb73acb889d71e83bc14727e717dc306f8db501dc68ae98c7af0ea758017350a1d6e39995fedf02935ba144059716cafcee4c8f1cbecba8a1fc9d5cdb031bdaa5c07179170667eb873f5d62a79b32ddfc3f6b7066607f8ed1aaa00d6da26063514b08c151a586eaee9c7cb74c1574b88ede714cd0362270537e3254396ce1ae752cbf3f26ff387c2adfd3bcb2d187c39616231467a43b21298e988bc84600c5dfcd3502a2978cbe5cf729d89e7e7459a4af94237efcf541dc2f307fc65eefe33e166c072a40c47bbdac9c377499b8c8d77d61bb6641fd970672c4b4459bdcf6ccd586748b87ec0de712970c87bf447f8d57eb208ba158ebf86a402a1d2e24dc22107242c1c1ab0cb1d79cd23908603f91c50be11828f6c88a1bbc8575da2c93404dc673cdcde636f1c445063326b004c9b07502e6cf28fb2003a5b453b9a0eefe4eb84f803280856c303e37d5d0b058f86ed6009515384c82796ed8b4c40c8e0a2b9eb9d867b37d53e54add943009470bd2da60f50250713d4d0a757dc44c1dd8e917f770a3b2e2e603e168c28ad208a9b0ab890fdefeb501ddabfdacb2f57c409e196fcddd0508e48131e196c83cfc74ebf69cc10c276c52c03931c57ef8441e1b9b0125ccc8d8b95241a4fe699dd3311baa7db0d678b5f01cb5118d24ee36f439c7d7f48f2979dacd6bf153c47653e2f960b791dd37d1aa9a22af7d9a54bf3495ba6ae84eb2a622a013b83b1a7ec273767a6320d649d6a3a27a5fb4ad6bc1363edd3968b61c59267c82e2ca9f605ceeb4c75d4639e8400fa21c7f08de7103d86d567ba873d6be9aa2ae1966c1bf67fd8cec47adaf43292f0b73debd34e022994cfcf8e13beca466e5d3f0108153d86b196ba050cbb5b7a8d02d8925e3a0f059a9fcd3ed49bcef304c82a64e19a4f90532333ed4e59e7aa92cd75d85e2b88680bf5652e0ebc505a351bc6d68ee6588b8d89322fd7515806d3f82bbf8d4e2214c16a01e1ef763ae551827d231fbc9b61f87fb018e2446e54ca068cfb6bc640188f4ff4d16bb096894c668e339c410bb14ea8ccd3b5cc5d5b9be48f836e8721450776da9513c6b1bbc7923f79f8c15e498dddf6730c4762b2d487ad222e6d1eb256194f9947400f64311d32f060f961066b34c7b71f10913c90932db62f44a87970a1c97d854b863802960cffe574f7e9adc1169051d0e56d8e1198a6dfbbea2ee7504ff08384cd2bcad0eef3cce174ef2bdb514f21d20508396f4365cc9763f8018d800d14a65d8c6ce955305fc1c874803a21d12c72c11501e240f4c95b446b2442a61c1f12e13f56e14015916b146f0ed36bd4ee0ffdf639849a0b3aa665e861ee85597e91b8411ee7815f6a331d8dfd8ce2be638d49bdf06ce1640af077dc2c7f600615310ed88164b3333c0c5a030dd15a494b7fca2b23fb62f6d7d8e3433a10537ae3b2c8a7721ab535e6955fb40a15ecf7b7e1356caf4626987f9b128d2b6bcac3dff1c2ef09aec1758fe14971d1c60e0033d886d09960b56ac17bbf8849efab6e40ad9b3eadf6ae41d015e051acaed134893f0625316790fdef6eaab41881198a5011f53a435eceea4728e6e7ced2aae137a10763c3d125ed73fedb7a3f67458615538d8c47145970f1b8a4463873c32cfa80dc1cb44ad1176549ecc52ba0a44565c5dbb001f2a4cdcb98b548ef1d329c9f90947ccbcd259274dff8d892ab921ace35f3434b4b0f32b4bd7f7bfaf37c0ef7959fdc8dfeee4ef3a35da567964f9b8f195e197c526e778c1c4e40aedb53fa845a01a4900354fd4580f5d6cbd41569370966db3502991c6297e78f0a9368291cd03ae11734abc96b6cabb76fc906c427924953bdbb429caed6357a35318965259b27abfae9f269af73f6a0d71c3148b2ddaeaddf6fccf6
|
package/dist/index.js
CHANGED
|
@@ -31,9 +31,12 @@ export * from './components/general/recipe';
|
|
|
31
31
|
export * from './components/general/resume';
|
|
32
32
|
export * from './components/general/schema-blogposting';
|
|
33
33
|
export * from './components/general/schema-blogposting.functions';
|
|
34
|
+
export * from './components/general/schema-breadcrumb';
|
|
34
35
|
export * from './components/general/schema-faq';
|
|
35
36
|
export * from './components/general/schema-localbusiness';
|
|
37
|
+
export * from './components/general/schema-product';
|
|
36
38
|
export * from './components/general/schema-recipe';
|
|
39
|
+
export * from './components/general/schema-review';
|
|
37
40
|
export * from './components/general/schema-services';
|
|
38
41
|
export * from './components/general/schema-website';
|
|
39
42
|
export * from './components/general/semantic';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-blogposting.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-blogposting.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWnD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,2CAU7D;yBAVe,iBAAiB;;QAJjC,4CAA4C
|
|
1
|
+
{"version":3,"file":"schema-blogposting.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-blogposting.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWnD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,2CAU7D;yBAVe,iBAAiB;;QAJjC,4CAA4C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import PropTypes, { InferProps } from 'prop-types';
|
|
2
|
+
export type BreadcrumbListSchemaType = InferProps<typeof BreadcrumbListSchema.propTypes>;
|
|
3
|
+
export declare function BreadcrumbListSchema({ routes, currentPath, siteUrl, }: BreadcrumbListSchemaType): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare namespace BreadcrumbListSchema {
|
|
5
|
+
var propTypes: {
|
|
6
|
+
/** Routes array from routes.json. Accepts routes with any properties; only uses name and path. */
|
|
7
|
+
routes: PropTypes.Validator<(object | null | undefined)[]>;
|
|
8
|
+
/** Current page path to generate breadcrumbs for (e.g. "/store/item-slug"). Defaults to "/". */
|
|
9
|
+
currentPath: PropTypes.Requireable<string>;
|
|
10
|
+
/** Site domain URL for constructing full breadcrumb URLs. Defaults to https://example.com. */
|
|
11
|
+
siteUrl: PropTypes.Requireable<string>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=schema-breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-breadcrumb.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuEnD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzF,wBAAgB,oBAAoB,CAAC,EACpC,MAAM,EACN,WAAiB,EACjB,OAA+B,GAC/B,EAAE,wBAAwB,2CAkC1B;yBAtCe,oBAAoB;;QARnC,kGAAkG;;QAElG,gGAAgG;;QAEhG,8FAA8F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import PropTypes, { InferProps } from 'prop-types';
|
|
2
|
+
export type ProductSchemaType = InferProps<typeof ProductSchema.propTypes>;
|
|
3
|
+
export declare function ProductSchema(props: ProductSchemaType): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare namespace ProductSchema {
|
|
5
|
+
var propTypes: {
|
|
6
|
+
/** Product information object to be serialized as JSON-LD. */
|
|
7
|
+
product: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
8
|
+
'@context': PropTypes.Validator<string>;
|
|
9
|
+
'@type': PropTypes.Validator<string>;
|
|
10
|
+
name: PropTypes.Validator<string>;
|
|
11
|
+
description: PropTypes.Requireable<string>;
|
|
12
|
+
image: PropTypes.Requireable<NonNullable<string | (string | null | undefined)[] | null | undefined>>;
|
|
13
|
+
brand: PropTypes.Requireable<PropTypes.InferProps<{
|
|
14
|
+
'@type': PropTypes.Validator<string>;
|
|
15
|
+
name: PropTypes.Validator<string>;
|
|
16
|
+
}>>;
|
|
17
|
+
offers: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
|
|
18
|
+
'@type': PropTypes.Validator<string>;
|
|
19
|
+
url: PropTypes.Requireable<string>;
|
|
20
|
+
priceCurrency: PropTypes.Requireable<string>;
|
|
21
|
+
price: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
22
|
+
availability: PropTypes.Requireable<string>;
|
|
23
|
+
}> | (PropTypes.InferProps<{
|
|
24
|
+
'@type': PropTypes.Validator<string>;
|
|
25
|
+
url: PropTypes.Requireable<string>;
|
|
26
|
+
priceCurrency: PropTypes.Requireable<string>;
|
|
27
|
+
price: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
28
|
+
availability: PropTypes.Requireable<string>;
|
|
29
|
+
}> | null | undefined)[] | null | undefined>>;
|
|
30
|
+
aggregateRating: PropTypes.Requireable<PropTypes.InferProps<{
|
|
31
|
+
'@type': PropTypes.Requireable<string>;
|
|
32
|
+
ratingValue: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
33
|
+
reviewCount: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
34
|
+
}>>;
|
|
35
|
+
}>>>;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=schema-product.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-product.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-product.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgDnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAQrD;yBARe,aAAa;;QArC5B,8DAA8D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-recipe.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsDnD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAQnD;yBARe,YAAY;;QA3B5B,6DAA6D
|
|
1
|
+
{"version":3,"file":"schema-recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-recipe.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsDnD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAQnD;yBARe,YAAY;;QA3B5B,6DAA6D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import PropTypes, { InferProps } from 'prop-types';
|
|
2
|
+
export type ReviewSchemaType = InferProps<typeof ReviewSchema.propTypes>;
|
|
3
|
+
export declare function ReviewSchema(props: ReviewSchemaType): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare namespace ReviewSchema {
|
|
5
|
+
var propTypes: {
|
|
6
|
+
/** Review information object to be serialized as JSON-LD. */
|
|
7
|
+
review: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
8
|
+
'@context': PropTypes.Validator<string>;
|
|
9
|
+
'@type': PropTypes.Validator<string>;
|
|
10
|
+
name: PropTypes.Validator<string>;
|
|
11
|
+
reviewBody: PropTypes.Requireable<string>;
|
|
12
|
+
datePublished: PropTypes.Requireable<string>;
|
|
13
|
+
author: PropTypes.Requireable<PropTypes.InferProps<{
|
|
14
|
+
'@type': PropTypes.Validator<string>;
|
|
15
|
+
name: PropTypes.Validator<string>;
|
|
16
|
+
}>>;
|
|
17
|
+
itemReviewed: PropTypes.Requireable<PropTypes.InferProps<{
|
|
18
|
+
'@type': PropTypes.Validator<string>;
|
|
19
|
+
name: PropTypes.Requireable<string>;
|
|
20
|
+
}>>;
|
|
21
|
+
reviewRating: PropTypes.Requireable<PropTypes.InferProps<{
|
|
22
|
+
'@type': PropTypes.Validator<string>;
|
|
23
|
+
ratingValue: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
24
|
+
bestRating: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
25
|
+
worstRating: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
26
|
+
}>>;
|
|
27
|
+
publisher: PropTypes.Requireable<PropTypes.InferProps<{
|
|
28
|
+
'@type': PropTypes.Validator<string>;
|
|
29
|
+
name: PropTypes.Requireable<string>;
|
|
30
|
+
}>>;
|
|
31
|
+
}>>>;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=schema-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-review.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-review.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0CnD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAQnD;yBARe,YAAY;;QA5B3B,6DAA6D"}
|
|
@@ -167,5 +167,62 @@ export declare namespace getContentfulDiscountCodes {
|
|
|
167
167
|
contentType: PropTypes.Validator<string>;
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
|
+
export type getContentfulReviewsSchemaType = InferProps<typeof getContentfulReviewsSchema.propTypes>;
|
|
171
|
+
export declare function getContentfulReviewsSchema(props: getContentfulReviewsSchemaType): Promise<any>;
|
|
172
|
+
export declare namespace getContentfulReviewsSchema {
|
|
173
|
+
var propTypes: {
|
|
174
|
+
/** Contentful API configuration */
|
|
175
|
+
apiProps: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
176
|
+
proxyURL: PropTypes.Requireable<string>;
|
|
177
|
+
base_url: PropTypes.Validator<string>;
|
|
178
|
+
space_id: PropTypes.Validator<string>;
|
|
179
|
+
environment: PropTypes.Validator<string>;
|
|
180
|
+
delivery_access_token: PropTypes.Validator<string>;
|
|
181
|
+
}>>>;
|
|
182
|
+
/** Name of the item/product being reviewed */
|
|
183
|
+
itemName: PropTypes.Validator<string>;
|
|
184
|
+
/** Schema type of the item being reviewed */
|
|
185
|
+
itemType: PropTypes.Requireable<string>;
|
|
186
|
+
/** Name of the organization publishing the reviews */
|
|
187
|
+
publisherName: PropTypes.Requireable<string>;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export type getContentfulProductSchemaType = InferProps<typeof getContentfulProductSchema.propTypes>;
|
|
191
|
+
export declare function getContentfulProductSchema(props: getContentfulProductSchemaType): Promise<{
|
|
192
|
+
'@context': string;
|
|
193
|
+
'@type': string;
|
|
194
|
+
name: any;
|
|
195
|
+
description: any;
|
|
196
|
+
image: string[];
|
|
197
|
+
brand: {
|
|
198
|
+
'@type': string;
|
|
199
|
+
name: any;
|
|
200
|
+
};
|
|
201
|
+
offers: {
|
|
202
|
+
'@type': string;
|
|
203
|
+
url: string;
|
|
204
|
+
priceCurrency: string;
|
|
205
|
+
price: string;
|
|
206
|
+
availability: string;
|
|
207
|
+
};
|
|
208
|
+
} | null>;
|
|
209
|
+
export declare namespace getContentfulProductSchema {
|
|
210
|
+
var propTypes: {
|
|
211
|
+
/** Contentful API configuration */
|
|
212
|
+
apiProps: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
213
|
+
proxyURL: PropTypes.Requireable<string>;
|
|
214
|
+
base_url: PropTypes.Validator<string>;
|
|
215
|
+
space_id: PropTypes.Validator<string>;
|
|
216
|
+
environment: PropTypes.Validator<string>;
|
|
217
|
+
delivery_access_token: PropTypes.Validator<string>;
|
|
218
|
+
}>>>;
|
|
219
|
+
/** Product ID to search for */
|
|
220
|
+
productId: PropTypes.Validator<string>;
|
|
221
|
+
/** Optional site URL for offer */
|
|
222
|
+
siteUrl: PropTypes.Requireable<string>;
|
|
223
|
+
/** Optional function to transform asset URLs */
|
|
224
|
+
getAssetUrl: PropTypes.Requireable<(...args: any[]) => any>;
|
|
225
|
+
};
|
|
226
|
+
}
|
|
170
227
|
export {};
|
|
171
228
|
//# sourceMappingURL=contentful.delivery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentful.delivery.d.ts","sourceRoot":"","sources":["../../../../src/components/integrations/contentful.delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contentful.delivery.d.ts","sourceRoot":"","sources":["../../../../src/components/integrations/contentful.delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,16 @@ import "./wordpress.css";
|
|
|
4
4
|
export type getCachedWordPressItemsType = InferProps<typeof getCachedWordPressItems.propTypes>;
|
|
5
5
|
export declare function getCachedWordPressItems(props: {
|
|
6
6
|
site: string;
|
|
7
|
+
count?: number;
|
|
7
8
|
}): Promise<BlogPostType[] | undefined>;
|
|
8
9
|
export declare namespace getCachedWordPressItems {
|
|
9
10
|
var propTypes: {
|
|
10
11
|
/** WordPress site identifier (slug or domain) */
|
|
11
12
|
site: PropTypes.Validator<string>;
|
|
13
|
+
/** Number of posts to fetch (optional) */
|
|
14
|
+
count: PropTypes.Requireable<number>;
|
|
15
|
+
/** Base URL for WordPress API (optional) */
|
|
16
|
+
baseURL: PropTypes.Requireable<string>;
|
|
12
17
|
};
|
|
13
18
|
}
|
|
14
19
|
export type BlogPostListType = InferProps<typeof BlogPostList.propTypes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordpress.components.d.ts","sourceRoot":"","sources":["../../../../src/components/integrations/wordpress.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"wordpress.components.d.ts","sourceRoot":"","sources":["../../../../src/components/integrations/wordpress.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,iBAAiB,CAAC;AAiCzB,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC/F,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,uCA0BpF;yBA1BqB,uBAAuB;;QAR7C,iDAAiD;;QAEhD,0CAA0C;;QAE1C,4CAA4C;;;;AAuD7C,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAuDnD;yBAvDe,YAAY;;QAZ3B,gCAAgC;;QAEhC,kCAAkC;;QAElC,2CAA2C;;QAE3C,0CAA0C;;QAE1C,wCAAwC;;;;AA2FzC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,2CAgDzD;yBAhDe,eAAe;;QAlB9B,iCAAiC;;QAEjC,iBAAiB;;QAEjB,qCAAqC;;QAErC,mBAAmB;;QAEnB,iCAAiC;;QAEjC,uCAAuC;;QAEvC,yBAAyB;;QAEzB,2BAA2B;;;;AAiE5B,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACrF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,kDAyB/D;yBAzBe,kBAAkB;;QAJjC,8BAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordpress.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/integrations/wordpress.functions.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWnD,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC;KAC7B,CAAC;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;KACZ,CAAA;IACD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC,CAAC;AAgBF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"wordpress.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/integrations/wordpress.functions.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWnD,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC;KAC7B,CAAC;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;KACZ,CAAA;IACD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC,CAAC;AAgBF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,uCA2DhG;yBA3DqB,iBAAiB;;QARvC,iDAAiD;;QAEhD,0CAA0C;;QAE1C,4CAA4C;;;;AA+E7C,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,gBAavF;AAMD,MAAM,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAUF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,qBAAqB,EAAE,CAuClF;yBAvCe,sBAAsB;;QAJtC,4BAA4B;;;;AAkD5B,MAAM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAaF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7F,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,8BAerF;yBAfqB,sBAAsB;;QAN5C,iDAAiD;;QAEhD,4CAA4C;;;;AAqB7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAkB7D"}
|
|
@@ -84,4 +84,37 @@ export declare namespace getEbayItem {
|
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
export declare function getEbayItemsSearch(props: any): Promise<any>;
|
|
87
|
+
export type getEbayProductSchemaType = InferProps<typeof getEbayProductSchema.propTypes>;
|
|
88
|
+
export declare function getEbayProductSchema(props: getEbayProductSchemaType): {
|
|
89
|
+
'@context': string;
|
|
90
|
+
'@type': string;
|
|
91
|
+
name: any;
|
|
92
|
+
description: any;
|
|
93
|
+
image: any;
|
|
94
|
+
brand: {
|
|
95
|
+
'@type': string;
|
|
96
|
+
name: string;
|
|
97
|
+
};
|
|
98
|
+
offers: {
|
|
99
|
+
'@type': string;
|
|
100
|
+
url: any;
|
|
101
|
+
priceCurrency: any;
|
|
102
|
+
price: string;
|
|
103
|
+
availability: string;
|
|
104
|
+
seller: {
|
|
105
|
+
'@type': string;
|
|
106
|
+
name: any;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
} | null;
|
|
110
|
+
export declare namespace getEbayProductSchema {
|
|
111
|
+
var propTypes: {
|
|
112
|
+
/** eBay item object */
|
|
113
|
+
item: PropTypes.Validator<any>;
|
|
114
|
+
/** Optional brand name */
|
|
115
|
+
brandName: PropTypes.Requireable<string>;
|
|
116
|
+
/** Optional site URL for offer */
|
|
117
|
+
siteUrl: PropTypes.Requireable<string>;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
87
120
|
//# sourceMappingURL=ebay.functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ebay.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/shoppingcart/ebay.functions.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA4D7D,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAkBD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,gBA4BjE;yBA5Be,mBAAmB;;QARnC,2BAA2B;;QAE1B,8CAA8C;;QAE9C,0BAA0B;;;;AAqD3B,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,gBA8BzD;yBA9Be,eAAe;;QAJ/B,iDAAiD;;;;AAoDjD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,gBAwCjE;yBAxCe,mBAAmB;;QANnC,6BAA6B;;QAE5B,2CAA2C;;;;AA8D5C,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,gBAwC7D;yBAxCe,iBAAiB;;QANjC,6BAA6B;;QAE5B,2CAA2C;;;;AA8D5C,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB;;;eAyC7D;yBAzCe,iBAAiB;;QANjC,uCAAuC;;QAEtC,yCAAyC;;;;AA6D1C,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAsB,YAAY,CAAC,KAAK,EAAE,gBAAgB,gBAazD;yBAbqB,YAAY;;QAJlC,8CAA8C;;;;AA8B9C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AACvE,wBAAsB,WAAW,CAAC,KAAK,EAAE,eAAe,gBAavD;yBAbqB,WAAW;;QAJjC,2BAA2B;;;;AAwB3B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,gBAuC5C"}
|
|
1
|
+
{"version":3,"file":"ebay.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/shoppingcart/ebay.functions.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA4D7D,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAkBD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,gBA4BjE;yBA5Be,mBAAmB;;QARnC,2BAA2B;;QAE1B,8CAA8C;;QAE9C,0BAA0B;;;;AAqD3B,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,gBA8BzD;yBA9Be,eAAe;;QAJ/B,iDAAiD;;;;AAoDjD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,gBAwCjE;yBAxCe,mBAAmB;;QANnC,6BAA6B;;QAE5B,2CAA2C;;;;AA8D5C,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,gBAwC7D;yBAxCe,iBAAiB;;QANjC,6BAA6B;;QAE5B,2CAA2C;;;;AA8D5C,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB;;;eAyC7D;yBAzCe,iBAAiB;;QANjC,uCAAuC;;QAEtC,yCAAyC;;;;AA6D1C,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAsB,YAAY,CAAC,KAAK,EAAE,gBAAgB,gBAazD;yBAbqB,YAAY;;QAJlC,8CAA8C;;;;AA8B9C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AACvE,wBAAsB,WAAW,CAAC,KAAK,EAAE,eAAe,gBAavD;yBAbqB,WAAW;;QAJjC,2BAA2B;;;;AAwB3B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,gBAuC5C;AAoBD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;SAuDnE;yBAvDe,oBAAoB;;QARnC,uBAAuB;;QAEvB,0BAA0B;;QAE1B,kCAAkC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -30,9 +30,12 @@ export * from "./components/general/recipe";
|
|
|
30
30
|
export * from "./components/general/resume";
|
|
31
31
|
export * from "./components/general/schema-blogposting";
|
|
32
32
|
export * from "./components/general/schema-blogposting.functions";
|
|
33
|
+
export * from "./components/general/schema-breadcrumb";
|
|
33
34
|
export * from "./components/general/schema-faq";
|
|
34
35
|
export * from "./components/general/schema-localbusiness";
|
|
36
|
+
export * from "./components/general/schema-product";
|
|
35
37
|
export * from "./components/general/schema-recipe";
|
|
38
|
+
export * from "./components/general/schema-review";
|
|
36
39
|
export * from "./components/general/schema-services";
|
|
37
40
|
export * from "./components/general/schema-website";
|
|
38
41
|
export * from "./components/general/semantic";
|
|
@@ -18,5 +18,45 @@ export namespace Schema_Website_With_Search {
|
|
|
18
18
|
export function render_3(): import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
export { render_3 as render };
|
|
20
20
|
}
|
|
21
|
+
export namespace Schema_Review_Sample {
|
|
22
|
+
export function render_4(): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export { render_4 as render };
|
|
24
|
+
}
|
|
25
|
+
export namespace Schema_Recipe_Sample {
|
|
26
|
+
export function render_5(): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export { render_5 as render };
|
|
28
|
+
}
|
|
29
|
+
export namespace Schema_FAQ_Sample {
|
|
30
|
+
export function render_6(): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export { render_6 as render };
|
|
32
|
+
}
|
|
33
|
+
export namespace Schema_BlogPosting_Sample {
|
|
34
|
+
export function render_7(): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export { render_7 as render };
|
|
36
|
+
}
|
|
37
|
+
export namespace Schema_Services_Sample {
|
|
38
|
+
export function render_8(): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export { render_8 as render };
|
|
40
|
+
}
|
|
41
|
+
export namespace Schema_Product_Sample {
|
|
42
|
+
export function render_9(): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export { render_9 as render };
|
|
44
|
+
}
|
|
45
|
+
export namespace Schema_Product_Multiple_Offers {
|
|
46
|
+
export function render_10(): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export { render_10 as render };
|
|
48
|
+
}
|
|
49
|
+
export namespace Schema_BreadcrumbList_Store_Hierarchy {
|
|
50
|
+
export function render_11(): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
export { render_11 as render };
|
|
52
|
+
}
|
|
53
|
+
export namespace Schema_BreadcrumbList_Projects_Hierarchy {
|
|
54
|
+
export function render_12(): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export { render_12 as render };
|
|
56
|
+
}
|
|
57
|
+
export namespace Schema_BreadcrumbList_Simple {
|
|
58
|
+
export function render_13(): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export { render_13 as render };
|
|
60
|
+
}
|
|
21
61
|
import { LocalBusinessSchema } from '@/components/general/schema-localbusiness';
|
|
22
62
|
//# sourceMappingURL=schema.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/schema.stories.js"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"schema.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/schema.stories.js"],"names":[],"mappings":";;;;;;IAiBS,2DAMP;;;IAIO,oEASP;;;;IAIO,oEAMP;;;;IAIO,oEAeP;;;;IAIO,oEAgCP;;;;IAIO,oEAsEP;;;;IAIO,oEAqCP;;;;IAIO,oEA6BP;;;;IAIO,oEAqCP;;;;IAIO,oEA8BP;;;;IAIO,qEAsCP;;;;IAIO,qEAwBP;;;;IAIO,qEAuBP;;;;IAIO,qEAiBP;;;oCAzbkC,2CAA2C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-breadcrumb.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-breadcrumb.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-product.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-product.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-review.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-review.test.tsx"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixelated-tech/components",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": {
|
|
@@ -108,15 +108,15 @@
|
|
|
108
108
|
},
|
|
109
109
|
"dependencies": {
|
|
110
110
|
"date-fns": "^4.1.0",
|
|
111
|
-
"globals": "^17.
|
|
111
|
+
"globals": "^17.4.0",
|
|
112
112
|
"html-entities": "^2.6.0"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
|
-
"@aws-sdk/client-amplify": "^3.
|
|
116
|
-
"@aws-sdk/client-cloudwatch": "^3.
|
|
117
|
-
"@aws-sdk/client-iam": "^3.
|
|
118
|
-
"@aws-sdk/client-route-53": "^3.
|
|
119
|
-
"@aws-sdk/xml-builder": "^3.972.
|
|
115
|
+
"@aws-sdk/client-amplify": "^3.1004.0",
|
|
116
|
+
"@aws-sdk/client-cloudwatch": "^3.1004.0",
|
|
117
|
+
"@aws-sdk/client-iam": "^3.1004.0",
|
|
118
|
+
"@aws-sdk/client-route-53": "^3.1004.0",
|
|
119
|
+
"@aws-sdk/xml-builder": "^3.972.10",
|
|
120
120
|
"@babel/core": "^7.29.0",
|
|
121
121
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
122
122
|
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
@@ -124,16 +124,16 @@
|
|
|
124
124
|
"@babel/preset-react": "^7.28.5",
|
|
125
125
|
"@babel/preset-typescript": "^7.28.5",
|
|
126
126
|
"@eslint/js": "^10.0.1",
|
|
127
|
-
"@storybook/addon-a11y": "^10.2.
|
|
128
|
-
"@storybook/addon-docs": "^10.2.
|
|
127
|
+
"@storybook/addon-a11y": "^10.2.16",
|
|
128
|
+
"@storybook/addon-docs": "^10.2.16",
|
|
129
129
|
"@storybook/addon-webpack5-compiler-babel": "^4.0.0",
|
|
130
130
|
"@storybook/preset-scss": "^1.0.3",
|
|
131
|
-
"@storybook/react-webpack5": "^10.2.
|
|
131
|
+
"@storybook/react-webpack5": "^10.2.16",
|
|
132
132
|
"@testing-library/dom": "^10.4.1",
|
|
133
133
|
"@testing-library/react": "^16.3.2",
|
|
134
134
|
"@testing-library/user-event": "^14.6.1",
|
|
135
135
|
"@types/md5": "^2.3.6",
|
|
136
|
-
"@types/node": "^25.3.
|
|
136
|
+
"@types/node": "^25.3.5",
|
|
137
137
|
"@types/prop-types": "^15.7.15",
|
|
138
138
|
"@types/react": "^19.2.14",
|
|
139
139
|
"@types/react-dom": "^19.2.3",
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"@vitest/ui": "^4.0.18",
|
|
145
145
|
"ajv": "^8.18.0",
|
|
146
146
|
"ajv-keywords": "^5.1.0",
|
|
147
|
-
"babel-loader": "^10.
|
|
147
|
+
"babel-loader": "^10.1.0",
|
|
148
148
|
"clean-webpack-plugin": "^1.0.1",
|
|
149
149
|
"copy-webpack-plugin": "^13.0.1",
|
|
150
150
|
"css-loader": "^7.1.4",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
154
154
|
"eslint-plugin-react": "^7.37.5",
|
|
155
155
|
"file-loader": "^6.2.0",
|
|
156
|
-
"happy-dom": "^20.
|
|
156
|
+
"happy-dom": "^20.8.3",
|
|
157
157
|
"jsdom": "^28.1.0",
|
|
158
158
|
"less-loader": "^12.3.1",
|
|
159
159
|
"mini-css-extract-plugin": "^2.10.0",
|
|
@@ -167,13 +167,13 @@
|
|
|
167
167
|
"redux": "^5.0.1",
|
|
168
168
|
"sass": "^1.97.3",
|
|
169
169
|
"sass-loader": "^16.0.7",
|
|
170
|
-
"storybook": "^10.2.
|
|
170
|
+
"storybook": "^10.2.16",
|
|
171
171
|
"style-loader": "^4.0.0",
|
|
172
172
|
"ts-loader": "^9.5.4",
|
|
173
173
|
"typescript": "^5.9.3",
|
|
174
174
|
"url-loader": "^4.1.1",
|
|
175
175
|
"vitest": "^4.0.18",
|
|
176
|
-
"webpack": "^5.105.
|
|
176
|
+
"webpack": "^5.105.4",
|
|
177
177
|
"webpack-cli": "^6.0.1",
|
|
178
178
|
"webpack-dev-server": "^5.2.3",
|
|
179
179
|
"webpack-node-externals": "^3.0.0"
|
|
@@ -187,13 +187,14 @@
|
|
|
187
187
|
"@aws-sdk/client-cloudwatch": "^3.996.0",
|
|
188
188
|
"@aws-sdk/client-route-53": "^3.893.0",
|
|
189
189
|
"clean-webpack-plugin": "^1.0.1",
|
|
190
|
+
"copy-webpack-plugin": "^13.0.1",
|
|
190
191
|
"eslint": "^9.39.3",
|
|
191
192
|
"eslint-plugin-import": "^1.16.0",
|
|
192
193
|
"googleapis": "^171.4.0",
|
|
193
194
|
"md5": "^2.3.0",
|
|
194
|
-
"puppeteer": "^24.
|
|
195
|
+
"puppeteer": "^24.38.0",
|
|
195
196
|
"react-redux": "*",
|
|
196
|
-
"recharts": "^3.
|
|
197
|
+
"recharts": "^3.8.0",
|
|
197
198
|
"redux": "*"
|
|
198
199
|
}
|
|
199
200
|
}
|