@pixelated-tech/components 3.7.13 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/components/config/config.example.js +3 -6
  2. package/dist/components/config/config.js +7 -29
  3. package/dist/components/config/config.types.js +35 -1
  4. package/dist/components/config/config.utils.js +44 -0
  5. package/dist/components/general/contentful.delivery.js +3 -0
  6. package/dist/components/general/google.reviews.components.js +7 -3
  7. package/dist/components/general/instagram.components.js +7 -3
  8. package/dist/components/general/smartimage.js +1 -1
  9. package/dist/components/shoppingcart/ebay.components.js +6 -4
  10. package/dist/config/pixelated.config.json +70 -0
  11. package/dist/index.js +1 -0
  12. package/dist/index.server.js +1 -0
  13. package/dist/types/components/config/config.d.ts +1 -1
  14. package/dist/types/components/config/config.d.ts.map +1 -1
  15. package/dist/types/components/config/config.example.d.ts.map +1 -1
  16. package/dist/types/components/config/config.types.d.ts +27 -5
  17. package/dist/types/components/config/config.types.d.ts.map +1 -1
  18. package/dist/types/components/config/config.utils.d.ts +6 -0
  19. package/dist/types/components/config/config.utils.d.ts.map +1 -0
  20. package/dist/types/components/general/contentful.delivery.d.ts.map +1 -1
  21. package/dist/types/components/general/google.reviews.components.d.ts.map +1 -1
  22. package/dist/types/components/general/instagram.components.d.ts.map +1 -1
  23. package/dist/types/components/shoppingcart/ebay.components.d.ts +1 -1
  24. package/dist/types/components/shoppingcart/ebay.components.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +1 -0
  26. package/dist/types/index.server.d.ts +1 -0
  27. package/dist/types/stories/cms/google.reviews.stories.d.ts +25 -12
  28. package/dist/types/stories/cms/google.reviews.stories.d.ts.map +1 -1
  29. package/dist/types/stories/cms/instagram.stories.d.ts +40 -9
  30. package/dist/types/stories/cms/instagram.stories.d.ts.map +1 -1
  31. package/dist/types/stories/cms/wordpress.stories.d.ts +34 -13
  32. package/dist/types/stories/cms/wordpress.stories.d.ts.map +1 -1
  33. package/dist/types/stories/seo/seo.googleanalytics.stories.d.ts +0 -3
  34. package/dist/types/stories/seo/seo.googleanalytics.stories.d.ts.map +1 -1
  35. package/package.json +1 -1
@@ -1,6 +1,9 @@
1
1
  // Example pixelated.config.ts for consumer apps.
2
2
  // Place this file in your app (for example: `src/pixelated.config.ts`) and import it where you mount the provider.
3
3
  const pixelatedConfig = {
4
+ global: {
5
+ proxyUrl: 'https://proxy.pixelated.tech/prod/proxy?url=',
6
+ },
4
7
  cloudinary: {
5
8
  product_env: 'your-cloud-name',
6
9
  baseUrl: 'https://res.cloudinary.com',
@@ -30,9 +33,6 @@ const pixelatedConfig = {
30
33
  baseItemURL: 'https://api.ebay.com/buy/browse/v1/item',
31
34
  qsItemURL: '/v1|295959752403|0?fieldgroups=PRODUCT,ADDITIONAL_SELLER_DETAILS',
32
35
  },
33
- featureFlags: {
34
- enableNewGrid: true,
35
- },
36
36
  flickr: {
37
37
  baseURL: 'https://api.flickr.com/services/rest/?',
38
38
  urlProps: {
@@ -67,9 +67,6 @@ const pixelatedConfig = {
67
67
  payPalApiKey: "your-paypal-client-id",
68
68
  payPalSecret: "your-paypal-client-secret"
69
69
  },
70
- proxy: {
71
- proxyURL: 'https://proxy.pixelated.tech/prod/proxy?url='
72
- },
73
70
  wordpress: {
74
71
  baseURL: 'https://public-api.wordpress.com/rest/v1/sites/',
75
72
  site: 'your-blog.wordpress.com'
@@ -1,4 +1,5 @@
1
1
  import { decrypt, isEncrypted } from './crypto';
2
+ import { getClientOnlyPixelatedConfig as stripSecrets } from './config.utils';
2
3
  import fs from 'fs';
3
4
  import path from 'path';
4
5
  const debug = false;
@@ -14,7 +15,7 @@ export function getFullPixelatedConfig() {
14
15
  const filename = 'pixelated.config.json';
15
16
  const paths = [
16
17
  path.join(process.cwd(), 'src/app/config', filename),
17
- path.join(process.cwd(), 'app/config', filename),
18
+ path.join(process.cwd(), 'src/config', filename),
18
19
  path.join(process.cwd(), filename),
19
20
  path.join(process.cwd(), '.next/server', filename), // Sometimes moved here in build
20
21
  ];
@@ -31,7 +32,7 @@ export function getFullPixelatedConfig() {
31
32
  }
32
33
  }
33
34
  if (!raw) {
34
- console.error('PIXELATED_CONFIG not found. Ensure src/app/config/pixelated.config.json is available.');
35
+ console.error('pixelated.config.json not found. Searched in src/app/config/, src/config/, and root.');
35
36
  return {};
36
37
  }
37
38
  // Handle decryption if the content is encrypted
@@ -67,31 +68,8 @@ export function getFullPixelatedConfig() {
67
68
  * This will walk the object and drop any fields that match a secret pattern.
68
69
  */
69
70
  export function getClientOnlyPixelatedConfig(full) {
70
- const src = full ?? getFullPixelatedConfig();
71
- function isSecretKey(key) {
72
- // Explicitly allow common public-facing keys
73
- if (/api_key|apikey|public_key/i.test(key))
74
- return false;
75
- return /token|secret|key|password|management|access/i.test(key);
76
- }
77
- function strip(obj) {
78
- if (!obj || typeof obj !== 'object')
79
- return obj;
80
- if (Array.isArray(obj))
81
- return obj.map(strip);
82
- const out = {};
83
- for (const k of Object.keys(obj)) {
84
- if (isSecretKey(k))
85
- continue;
86
- out[k] = strip(obj[k]);
87
- }
88
- return out;
89
- }
90
- try {
91
- return strip(src);
92
- }
93
- catch (err) {
94
- console.error('Failed to strip secrets from config', err);
95
- return {};
96
- }
71
+ const src = (full === undefined) ? getFullPixelatedConfig() : full;
72
+ if (src === null || typeof src !== 'object')
73
+ return (src || {});
74
+ return stripSecrets(src);
97
75
  }
@@ -1,2 +1,36 @@
1
1
  // Types for Pixelated integration configuration
2
- export {};
2
+ /**
3
+ * Metadata defining which configuration keys are secrets and must be stripped
4
+ * before being sent to the client (browser).
5
+ */
6
+ export const SECRET_CONFIG_KEYS = {
7
+ // Keys found at the root of the configuration object
8
+ global: [
9
+ 'PIXELATED_CONFIG_KEY'
10
+ ],
11
+ // Keys found within specific service configuration blocks
12
+ services: {
13
+ cloudinary: [
14
+ 'api_key',
15
+ 'api_secret'
16
+ ],
17
+ contentful: [
18
+ 'management_access_token',
19
+ 'preview_access_token'
20
+ ],
21
+ ebay: [
22
+ 'appCertId',
23
+ 'sbxAppId',
24
+ 'sbxAppCertId'
25
+ ],
26
+ paypal: [
27
+ 'sandboxPayPalApiKey',
28
+ 'sandboxPayPalSecret',
29
+ 'payPalApiKey',
30
+ 'payPalSecret'
31
+ ],
32
+ instagram: [
33
+ 'accessToken'
34
+ ]
35
+ }
36
+ };
@@ -0,0 +1,44 @@
1
+ import { SECRET_CONFIG_KEYS } from './config.types';
2
+ /**
3
+ * Produce a client-safe copy of a config by removing secret-like keys.
4
+ */
5
+ export function getClientOnlyPixelatedConfig(src) {
6
+ const visited = new WeakSet();
7
+ function isSecretKey(key, serviceName) {
8
+ // 1. Check Global Secret List
9
+ if (SECRET_CONFIG_KEYS.global.includes(key))
10
+ return true;
11
+ // 2. Check Service-Specific Secret List
12
+ if (serviceName && SECRET_CONFIG_KEYS.services[serviceName]) {
13
+ const serviceSecrets = SECRET_CONFIG_KEYS.services[serviceName];
14
+ if (serviceSecrets.includes(key))
15
+ return true;
16
+ }
17
+ return false;
18
+ }
19
+ function strip(obj, serviceName) {
20
+ if (!obj || typeof obj !== 'object' || obj === null)
21
+ return obj;
22
+ if (visited.has(obj))
23
+ return '[Circular]';
24
+ visited.add(obj);
25
+ if (Array.isArray(obj))
26
+ return obj.map((item) => strip(item, serviceName));
27
+ const out = {};
28
+ for (const k of Object.keys(obj)) {
29
+ // If we are at the top level, the key 'k' IS the service name (ebay, cloudinary, etc.)
30
+ const currentService = serviceName || k;
31
+ if (isSecretKey(k, serviceName))
32
+ continue;
33
+ out[k] = strip(obj[k], currentService);
34
+ }
35
+ return out;
36
+ }
37
+ try {
38
+ return strip(src);
39
+ }
40
+ catch (err) {
41
+ console.error('Failed to strip secrets from config', err);
42
+ return {};
43
+ }
44
+ }
@@ -61,6 +61,9 @@ getContentfulEntriesByType.propTypes = {
61
61
  };
62
62
  export async function getContentfulEntriesByType(props) {
63
63
  const allEntries = await getContentfulEntries({ apiProps: props.apiProps });
64
+ if (!allEntries || !allEntries.items) {
65
+ return { items: [] };
66
+ }
64
67
  const typeEntries = [];
65
68
  for (const item of allEntries.items) {
66
69
  if (item.sys.contentType.sys.id == props.contentType) {
@@ -4,8 +4,9 @@ import { useState, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { SmartImage } from './smartimage';
6
6
  import { getGoogleReviewsByPlaceId } from './google.reviews.functions';
7
+ import { usePixelatedConfig } from '../config/config.client';
7
8
  import './google.reviews.css';
8
- const GOOGLE_MAPS_API_KEY = 'AIzaSyBtknq7LHzN0xb0lIN3K0CXXf0swVp6ReA';
9
+ const GOOGLE_MAPS_API_KEY = 'AIzaSyBJVi0O9Ir9imRgINLZbojTifatX-Z4aUs';
9
10
  GoogleReviewsCard.propTypes = {
10
11
  placeId: PropTypes.string.isRequired,
11
12
  language: PropTypes.string,
@@ -14,10 +15,13 @@ GoogleReviewsCard.propTypes = {
14
15
  apiKey: PropTypes.string,
15
16
  };
16
17
  export function GoogleReviewsCard(props) {
18
+ const config = usePixelatedConfig();
17
19
  const [place, setPlace] = useState();
18
20
  const [reviews, setReviews] = useState([]);
19
21
  const [loading, setLoading] = useState(true);
20
22
  const [error, setError] = useState(null);
23
+ const apiKey = props.apiKey || config?.googleMaps?.apiKey || GOOGLE_MAPS_API_KEY;
24
+ const proxyBase = props.proxyBase || config?.global?.proxyUrl || undefined;
21
25
  useEffect(() => {
22
26
  (async () => {
23
27
  try {
@@ -25,8 +29,8 @@ export function GoogleReviewsCard(props) {
25
29
  placeId: props.placeId,
26
30
  language: props.language ?? undefined,
27
31
  maxReviews: props.maxReviews ?? undefined,
28
- proxyBase: props.proxyBase ?? undefined,
29
- apiKey: props.apiKey || GOOGLE_MAPS_API_KEY,
32
+ proxyBase: proxyBase,
33
+ apiKey: apiKey,
30
34
  });
31
35
  setPlace(result.place);
32
36
  setReviews(result.reviews);
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { getInstagramTiles } from '../general/instagram.functions';
6
+ import { usePixelatedConfig } from "../config/config.client";
6
7
  import { Tiles } from './tiles';
7
8
  InstagramTiles.propTypes = {
8
9
  accessToken: PropTypes.string,
@@ -14,15 +15,18 @@ InstagramTiles.propTypes = {
14
15
  includeCaptions: PropTypes.bool,
15
16
  };
16
17
  export function InstagramTiles(props) {
18
+ const config = usePixelatedConfig();
17
19
  const [tiles, setTiles] = useState([]);
18
20
  const [loading, setLoading] = useState(true);
19
21
  const [error, setError] = useState(null);
22
+ const accessToken = props.accessToken ?? config?.instagram?.accessToken;
23
+ const userId = props.userId ?? config?.instagram?.userId;
20
24
  useEffect(() => {
21
25
  (async () => {
22
26
  try {
23
27
  const result = await getInstagramTiles({
24
- accessToken: props.accessToken ?? undefined,
25
- userId: props.userId ?? undefined,
28
+ accessToken: accessToken ?? undefined,
29
+ userId: userId ?? undefined,
26
30
  limit: props.limit ?? 12,
27
31
  useThumbnails: props.useThumbnails ?? undefined,
28
32
  includeVideos: props.includeVideos ?? undefined,
@@ -36,7 +40,7 @@ export function InstagramTiles(props) {
36
40
  setLoading(false);
37
41
  }
38
42
  })();
39
- }, [props.accessToken, props.userId, props.limit, props.useThumbnails, props.includeVideos, props.includeCaptions]);
43
+ }, [accessToken, userId, props.limit, props.useThumbnails, props.includeVideos, props.includeCaptions]);
40
44
  if (loading) {
41
45
  return (_jsx("div", { style: { padding: 16 }, children: _jsx("p", { children: "Loading Instagram posts..." }) }));
42
46
  }
@@ -103,7 +103,7 @@ export function SmartImage(props) {
103
103
  newProps.width = parseNumber(props.width ?? 500);
104
104
  newProps.height = parseNumber(props.height ?? 500);
105
105
  newProps.quality = parseNumber(props.quality ?? 75);
106
- const filename = (newProps.src).split('/').pop()?.split('?')[0] || '';
106
+ const filename = (String(newProps.src || '')).split('/').pop()?.split('?')[0] || '';
107
107
  const imageName = filename.replace(/\.[^.]+$/, '');
108
108
  newProps.id = newProps.id || newProps.name || sanitizeString(newProps.title) || sanitizeString(newProps.alt) || sanitizeString(imageName);
109
109
  newProps.name = newProps.name || newProps.id || sanitizeString(newProps.title) || sanitizeString(newProps.alt) || sanitizeString(imageName);
@@ -56,8 +56,8 @@ export function EbayItems(props) {
56
56
  const response = await getEbayItems({ apiProps: myApiProps });
57
57
  if (debug)
58
58
  console.log("eBay API Get Items Data", response);
59
- setItems(response.itemSummaries);
60
- setAspects(response.refinement.aspectDistributions);
59
+ setItems(response?.itemSummaries || []);
60
+ setAspects(response?.refinement?.aspectDistributions || []);
61
61
  }
62
62
  catch (error) {
63
63
  console.error("Error fetching eBay items:", error);
@@ -82,10 +82,12 @@ EbayListFilter.propTypes = {
82
82
  callback: PropTypes.func.isRequired,
83
83
  };
84
84
  export function EbayListFilter(props) {
85
+ if (!props.aspects || !Array.isArray(props.aspects)) {
86
+ return null;
87
+ }
85
88
  const aspectNames = props.aspects.map((aspect) => (aspect.localizedAspectName)).sort();
86
89
  let aspectNamesValues = {};
87
- for (let key in props.aspects) {
88
- const aspect = props.aspects[key];
90
+ for (const aspect of props.aspects) {
89
91
  const thisAspectName = aspect.localizedAspectName;
90
92
  const aspectNameValues = aspect.aspectValueDistributions.map((aspectValue) => {
91
93
  return (aspectValue.localizedAspectValue);
@@ -0,0 +1,70 @@
1
+ {
2
+ "global": {
3
+ "proxyUrl": "https://proxy.pixelated.tech/prod/proxy?url="
4
+ },
5
+ "cloudinary": {
6
+ "product_env": "dlbon7tpq",
7
+ "baseUrl": "https://res.cloudinary.com",
8
+ "secure": true,
9
+ "transforms": "f_auto,c_limit,q_auto,dpr_auto"
10
+ },
11
+ "contentful": {
12
+ "proxyURL": "https://proxy.pixelated.tech/prod/proxy?url=",
13
+ "base_url": "https://cdn.contentful.com",
14
+ "space_id": "ank9sh265hdu",
15
+ "environment": "master",
16
+ "delivery_access_token": "gcbxpeK2rfX4esUvaA9Hn_ngVuez03YfnGp5DHyVh5A",
17
+ "management_access_token": "CFPAT-CZmIOPsdKL7IU9UV6oVSTvM91MW9Se4g52gmBn-WlA4",
18
+ "preview_access_token": "W1Dw8BN_YzvqRoymEYDjBABQB3ulxTR421m2VfiLCyw"
19
+ },
20
+ "ebay": {
21
+ "proxyURL": "https://proxy.pixelated.tech/prod/proxy?url=",
22
+ "appId": "BrianWha-Pixelate-PRD-1fb4458de-1a8431fe",
23
+ "appCertId": "PRD-fb4458deef01-0d54-496a-b572-a04b",
24
+ "sbxAppId": "BrianWha-Pixelate-SBX-ad482b6ae-8cb8fead",
25
+ "sbxAppCertId": "",
26
+ "globalId": "EBAY_US",
27
+ "environment": "production",
28
+ "tokenScope": "https://api.ebay.com/oauth/api_scope",
29
+ "baseTokenURL": "https://api.ebay.com/identity/v1/oauth2/token",
30
+ "baseSearchURL": "https://api.ebay.com/buy/browse/v1/item_summary/search",
31
+ "qsSearchURL": "?q=sunglasses&fieldgroups=full&category_ids=79720&aspect_filter=categoryId:79720&filter=sellers:{pixelatedtech}&sort=newlyListed&limit=200",
32
+ "baseItemURL": "https://api.ebay.com/buy/browse/v1/item",
33
+ "qsItemURL": "/v1|295959752403|0?fieldgroups=PRODUCT,ADDITIONAL_SELLER_DETAILS"
34
+ },
35
+ "flickr": {
36
+ "baseURL": "https://api.flickr.com/services/rest/?",
37
+ "urlProps": {
38
+ "method": "flickr.photos.search",
39
+ "api_key": "882cab5548d53c9e6b5fb24d59cc321d",
40
+ "user_id": "15473210@N04",
41
+ "tags": "pixelatedviewsgallery",
42
+ "extras": "date_taken,description,owner_name",
43
+ "sort": "date-taken-desc",
44
+ "per_page": 500,
45
+ "format": "json",
46
+ "photoSize": "Medium",
47
+ "nojsoncallback": "true"
48
+ }
49
+ },
50
+ "googleAnalytics": {
51
+ "id": "G-1J1W90VBE1",
52
+ "adId": "AW-17721931789"
53
+ },
54
+ "googleSearchConsole": {
55
+ "id": "009500278966481927899:bcssp73qony"
56
+ },
57
+ "googleMaps": {
58
+ "apiKey": "AIzaSyBJVi0O9Ir9imRgINLZbojTifatX-Z4aUs"
59
+ },
60
+ "paypal": {
61
+ "sandboxPayPalApiKey": "AT10GG2ZHoApTtEw7dJoU6XRDYkf3wEvK2k_-eZ9GOvOK-REphG8yKCyZCqFi95OrxKgrdctlfWxayHG",
62
+ "sandboxPayPalSecret": "EDUrdPonwcNYZwO5j7hNmFSmF-13zptaCndUnO0-Vr_j0GYEW4m-Tfar9IaukHwm0ixL5fUojOOFtZVk",
63
+ "payPalApiKey": "AeWRwYpsrfslATCndF6xjL4GLcqA1UxQZLC5vxQE-FTvPezXfLbCJO_uAFk5zoXUKRFnP-zJ_73yEkBE",
64
+ "payPalSecret": "EBvYvynRXZCI6RbK4rg2NiENNG4N8tbgl8qAmpxB6f9nUkZjXMODxXJZ91JycP439kPrQcnB7uRKp0-F"
65
+ },
66
+ "wordpress": {
67
+ "baseURL": "https://public-api.wordpress.com/rest/v1/sites/",
68
+ "site": "blog.pixelated.tech"
69
+ }
70
+ }
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // sorted alphabetically and grouped by folder for easier reading
2
2
  export * from './components/config/config.client';
3
3
  export * from './components/config/config.types';
4
+ export * from './components/config/config.utils';
4
5
  export * from './components/general/404';
5
6
  export * from './components/general/accordion';
6
7
  export * from './components/general/buzzwordbingo';
@@ -8,6 +8,7 @@ export * from './components/admin/sites/sites.integration';
8
8
  export * from './components/config/config';
9
9
  export * from './components/config/config.server';
10
10
  export * from './components/config/config.types';
11
+ export * from './components/config/config.utils';
11
12
  export * from './components/config/crypto';
12
13
  // SEO
13
14
  export * from './components/general/contentful.delivery';
@@ -1,4 +1,4 @@
1
- import type { PixelatedConfig } from './config.types';
1
+ import { type PixelatedConfig } from './config.types';
2
2
  /**
3
3
  * Read the full master config blob from local file.
4
4
  * This function is intended for server-side use only.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,CAuDxD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,eAAe,CA0BpF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AAO1E;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,CAuDxD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,eAAe,CAIpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.example.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.example.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,QAAA,MAAM,eAAe,EAAE,eA0EtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"config.example.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.example.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,QAAA,MAAM,eAAe,EAAE,eAuEtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -51,6 +51,9 @@ export interface GoogleAnalyticsConfig {
51
51
  id: string;
52
52
  adId?: string;
53
53
  }
54
+ export interface GoogleMapsConfig {
55
+ apiKey: string;
56
+ }
54
57
  export interface GoogleSearchConsoleConfig {
55
58
  id: string;
56
59
  }
@@ -61,15 +64,19 @@ export interface HubspotConfig {
61
64
  trackingCode?: string;
62
65
  endpoint?: string;
63
66
  }
67
+ export interface InstagramConfig {
68
+ accessToken?: string;
69
+ userId?: string;
70
+ }
71
+ export interface GlobalConfig {
72
+ proxyUrl?: string;
73
+ }
64
74
  export interface PaypalConfig {
65
75
  sandboxPayPalApiKey: string;
66
76
  sandboxPayPalSecret: string;
67
77
  payPalApiKey: string;
68
78
  payPalSecret: string;
69
79
  }
70
- export interface ProxyConfig {
71
- proxyURL: string;
72
- }
73
80
  export interface WordpressConfig {
74
81
  baseURL: string;
75
82
  site: string;
@@ -111,17 +118,32 @@ export interface SiteInfo {
111
118
  favicon_sizes?: string;
112
119
  favicon_type?: string;
113
120
  }
121
+ /**
122
+ * Metadata defining which configuration keys are secrets and must be stripped
123
+ * before being sent to the client (browser).
124
+ */
125
+ export declare const SECRET_CONFIG_KEYS: {
126
+ global: string[];
127
+ services: {
128
+ cloudinary: string[];
129
+ contentful: string[];
130
+ ebay: string[];
131
+ paypal: string[];
132
+ instagram: string[];
133
+ };
134
+ };
114
135
  export interface PixelatedConfig {
136
+ global?: GlobalConfig;
115
137
  cloudinary?: CloudinaryConfig;
116
138
  contentful?: ContentfulConfig;
117
139
  ebay?: EbayConfig;
118
- featureFlags?: Record<string, boolean>;
119
140
  flickr?: FlickrConfig;
120
141
  googleAnalytics?: GoogleAnalyticsConfig;
142
+ googleMaps?: GoogleMapsConfig;
121
143
  googleSearchConsole?: GoogleSearchConsoleConfig;
122
144
  hubspot?: HubspotConfig;
145
+ instagram?: InstagramConfig;
123
146
  paypal?: PaypalConfig;
124
- proxy?: ProxyConfig;
125
147
  wordpress?: WordpressConfig;
126
148
  }
127
149
  //# sourceMappingURL=config.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type PixelatedConfig } from './config.types';
2
+ /**
3
+ * Produce a client-safe copy of a config by removing secret-like keys.
4
+ */
5
+ export declare function getClientOnlyPixelatedConfig(src: PixelatedConfig): PixelatedConfig;
6
+ //# sourceMappingURL=config.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AAE1E;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CA0ClF"}
@@ -1 +1 @@
1
- {"version":3,"file":"contentful.delivery.d.ts","sourceRoot":"","sources":["../../../../src/components/general/contentful.delivery.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B,gBAiBnF;yBAjBqB,yBAAyB;;;;;AAiC/C,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,gBAQzE;yBARqB,oBAAoB;;;;;;;;;;;AA0B1C,MAAM,MAAM,8BAA8B,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;AACrG,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,gBAUrF;yBAVqB,0BAA0B;;;;;;;;;;;;AA6BhD,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjG,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,4BAA4B,gBAQjF;yBARqB,wBAAwB;;;;;;;;;;;;AA2B9C,MAAM,MAAM,+BAA+B,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACvG,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,+BAA+B,gBAQvF;yBARqB,2BAA2B;;;;;;;;;;;;AAgBjD,KAAK,oBAAoB,GAAG;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,gBAS3E;AAoBD,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjG,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,4BAA4B,qBASjF;yBATqB,wBAAwB;;;;;;;;;;;;;AAkB9C,MAAM,MAAM,kCAAkC,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,SAAS,CAAC,CAAC;AAC7G,wBAAsB,8BAA8B,CAAC,KAAK,EAAE,kCAAkC;;;KAa7F;yBAbqB,8BAA8B;;;;;;AA4BpD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,gBAOvE;yBAPqB,mBAAmB;;;;;;;;;;;AAuBzC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7F,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,0BAA0B;;;KAW7E;yBAXqB,sBAAsB;;;;;;;;;;;AA0B5C,MAAM,MAAM,8BAA8B,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;AACrG,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,gBA4BrF;yBA5BqB,0BAA0B"}
1
+ {"version":3,"file":"contentful.delivery.d.ts","sourceRoot":"","sources":["../../../../src/components/general/contentful.delivery.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B,gBAiBnF;yBAjBqB,yBAAyB;;;;;AAiC/C,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,gBAQzE;yBARqB,oBAAoB;;;;;;;;;;;AA0B1C,MAAM,MAAM,8BAA8B,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;AACrG,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,gBAarF;yBAbqB,0BAA0B;;;;;;;;;;;;AAgChD,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjG,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,4BAA4B,gBAQjF;yBARqB,wBAAwB;;;;;;;;;;;;AA2B9C,MAAM,MAAM,+BAA+B,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACvG,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,+BAA+B,gBAQvF;yBARqB,2BAA2B;;;;;;;;;;;;AAgBjD,KAAK,oBAAoB,GAAG;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,gBAS3E;AAoBD,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjG,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,4BAA4B,qBASjF;yBATqB,wBAAwB;;;;;;;;;;;;;AAkB9C,MAAM,MAAM,kCAAkC,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,SAAS,CAAC,CAAC;AAC7G,wBAAsB,8BAA8B,CAAC,KAAK,EAAE,kCAAkC;;;KAa7F;yBAbqB,8BAA8B;;;;;;AA4BpD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,gBAOvE;yBAPqB,mBAAmB;;;;;;;;;;;AAuBzC,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7F,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,0BAA0B;;;KAW7E;yBAXqB,sBAAsB;;;;;;;;;;;AA0B5C,MAAM,MAAM,8BAA8B,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;AACrG,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,gBA4BrF;yBA5BqB,0BAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"google.reviews.components.d.ts","sourceRoot":"","sources":["../../../../src/components/general/google.reviews.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,sBAAsB,CAAC;AAW9B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,2CAiG7D;yBAjGe,iBAAiB"}
1
+ {"version":3,"file":"google.reviews.components.d.ts","sourceRoot":"","sources":["../../../../src/components/general/google.reviews.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,sBAAsB,CAAC;AAW9B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,2CAqG7D;yBArGe,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"instagram.components.d.ts","sourceRoot":"","sources":["../../../../src/components/general/instagram.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAcnD,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAqDvD;yBArDe,cAAc"}
1
+ {"version":3,"file":"instagram.components.d.ts","sourceRoot":"","sources":["../../../../src/components/general/instagram.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAenD,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAyDvD;yBAzDe,cAAc"}
@@ -10,7 +10,7 @@ export declare namespace EbayItems {
10
10
  };
11
11
  }
12
12
  export type EbayListFilterType = InferProps<typeof EbayListFilter.propTypes>;
13
- export declare function EbayListFilter(props: EbayListFilterType): import("react/jsx-runtime").JSX.Element;
13
+ export declare function EbayListFilter(props: EbayListFilterType): import("react/jsx-runtime").JSX.Element | null;
14
14
  export declare namespace EbayListFilter {
15
15
  var propTypes: {
16
16
  aspects: PropTypes.Validator<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"ebay.components.d.ts","sourceRoot":"","sources":["../../../../src/components/shoppingcart/ebay.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASnD,OAAO,+BAA+B,CAAC;AACvC,OAAO,YAAY,CAAC;AAYpB,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,2CAgF7C;yBAhFe,SAAS;;;;;;AAyFzB,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAkEvD;yBAlEe,cAAc;;;;;;AA4E9B,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAwDnD;yBAxDe,YAAY;;;;;;AAiE5B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CASvD;yBATe,cAAc;;;;;;;AAoB9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAsFvD;yBAtFe,cAAc"}
1
+ {"version":3,"file":"ebay.components.d.ts","sourceRoot":"","sources":["../../../../src/components/shoppingcart/ebay.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASnD,OAAO,+BAA+B,CAAC;AACvC,OAAO,YAAY,CAAC;AAYpB,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,2CAgF7C;yBAhFe,SAAS;;;;;;AAyFzB,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,kDAqEvD;yBArEe,cAAc;;;;;;AA+E9B,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAwDnD;yBAxDe,YAAY;;;;;;AAiE5B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CASvD;yBATe,cAAc;;;;;;;AAoB9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAsFvD;yBAtFe,cAAc"}
@@ -1,5 +1,6 @@
1
1
  export * from "./components/config/config.client";
2
2
  export * from "./components/config/config.types";
3
+ export * from "./components/config/config.utils";
3
4
  export * from "./components/general/404";
4
5
  export * from "./components/general/accordion";
5
6
  export * from "./components/general/buzzwordbingo";
@@ -2,6 +2,7 @@ export * from "./components/admin/sites/sites.integration";
2
2
  export * from "./components/config/config";
3
3
  export * from "./components/config/config.server";
4
4
  export * from "./components/config/config.types";
5
+ export * from "./components/config/config.utils";
5
6
  export * from "./components/config/crypto";
6
7
  export * from "./components/general/contentful.delivery";
7
8
  export * from "./components/general/contentful.management";
@@ -2,21 +2,34 @@ import { GoogleReviewsCard } from '@/components/general/google.reviews.component
2
2
  declare const _default: {
3
3
  title: string;
4
4
  component: typeof GoogleReviewsCard;
5
- parameters: {
6
- docs: {
7
- description: {
8
- component: string;
5
+ argTypes: {
6
+ placeId: {
7
+ control: string;
8
+ };
9
+ maxReviews: {
10
+ control: {
11
+ type: string;
12
+ min: number;
13
+ max: number;
9
14
  };
10
15
  };
16
+ language: {
17
+ control: string;
18
+ };
19
+ apiKey: {
20
+ control: string;
21
+ };
22
+ proxyBase: {
23
+ control: string;
24
+ };
25
+ };
26
+ args: {
27
+ placeId: string;
28
+ maxReviews: number;
29
+ language: string;
11
30
  };
12
31
  };
13
32
  export default _default;
14
- export declare const ReviewsByPlaceId: {
15
- (): import("react/jsx-runtime").JSX.Element;
16
- storyName: string;
17
- };
18
- export declare const ReviewsWithoutProxy: {
19
- (): import("react/jsx-runtime").JSX.Element;
20
- storyName: string;
21
- };
33
+ export declare const Default: any;
34
+ export declare const ManualOverride: any;
22
35
  //# sourceMappingURL=google.reviews.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"google.reviews.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/cms/google.reviews.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;;;;;;;;;;;;AAEnF,wBAmCE;AAEF,eAAO,MAAM,gBAAgB;;;CAa5B,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;CAa/B,CAAC"}
1
+ {"version":3,"file":"google.reviews.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/cms/google.reviews.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnF,wBAeE;AAIF,eAAO,MAAM,OAAO,EAAE,GAAuB,CAAC;AAG9C,eAAO,MAAM,cAAc,EAAE,GAAuB,CAAC"}
@@ -2,15 +2,46 @@ import { InstagramTiles } from '@/components/general/instagram.components';
2
2
  declare const _default: {
3
3
  title: string;
4
4
  component: typeof InstagramTiles;
5
- decorators: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
5
+ argTypes: {
6
+ limit: {
7
+ control: {
8
+ type: string;
9
+ min: number;
10
+ max: number;
11
+ };
12
+ };
13
+ rowCount: {
14
+ control: {
15
+ type: string;
16
+ min: number;
17
+ max: number;
18
+ };
19
+ };
20
+ includeVideos: {
21
+ control: string;
22
+ };
23
+ includeCaptions: {
24
+ control: string;
25
+ };
26
+ useThumbnails: {
27
+ control: string;
28
+ };
29
+ accessToken: {
30
+ control: string;
31
+ };
32
+ userId: {
33
+ control: string;
34
+ };
35
+ };
36
+ args: {
37
+ limit: number;
38
+ rowCount: number;
39
+ includeVideos: boolean;
40
+ includeCaptions: boolean;
41
+ useThumbnails: boolean;
42
+ };
6
43
  };
7
44
  export default _default;
8
- export declare const InstagramGrid: {
9
- (): import("react/jsx-runtime").JSX.Element;
10
- storyName: string;
11
- };
12
- export declare const InstagramWithCaptions: {
13
- (): import("react/jsx-runtime").JSX.Element;
14
- storyName: string;
15
- };
45
+ export declare const Default: any;
46
+ export declare const WithCaptions: any;
16
47
  //# sourceMappingURL=instagram.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instagram.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/cms/instagram.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;;;;yBAgBjE,GAAG;;AALb,wBAWE;AAEF,eAAO,MAAM,aAAa;;;CAQzB,CAAC;AAGF,eAAO,MAAM,qBAAqB;;;CAQjC,CAAC"}
1
+ {"version":3,"file":"instagram.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/cms/instagram.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3E,wBAmBE;AAIF,eAAO,MAAM,OAAO,EAAE,GAAuB,CAAC;AAG9C,eAAO,MAAM,YAAY,EAAE,GAAuB,CAAC"}
@@ -1,18 +1,39 @@
1
- export function WordpressBlogPostSummary(): import("react/jsx-runtime").JSX.Element;
2
- export function WordpressBlogPostList(): import("react/jsx-runtime").JSX.Element;
3
- export namespace WordpressBlogPostList {
4
- let storyName: string;
5
- }
6
- export function WordpressBlogPostListNoCategories(): import("react/jsx-runtime").JSX.Element;
7
- export namespace WordpressBlogPostListNoCategories {
8
- let storyName_1: string;
9
- export { storyName_1 as storyName };
10
- }
11
1
  declare namespace _default {
12
2
  export let title: string;
13
- export { BlogPostSummary as component };
14
- export let decorators: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
3
+ export { BlogPostList as component };
4
+ export namespace argTypes {
5
+ namespace count {
6
+ namespace control {
7
+ let type: string;
8
+ let min: number;
9
+ let max: number;
10
+ }
11
+ let description: string;
12
+ }
13
+ namespace showCategories {
14
+ let control_1: string;
15
+ export { control_1 as control };
16
+ let description_1: string;
17
+ export { description_1 as description };
18
+ }
19
+ namespace site {
20
+ let control_2: string;
21
+ export { control_2 as control };
22
+ let description_2: string;
23
+ export { description_2 as description };
24
+ }
25
+ }
26
+ export namespace args {
27
+ let count_1: number;
28
+ export { count_1 as count };
29
+ let showCategories_1: boolean;
30
+ export { showCategories_1 as showCategories };
31
+ }
15
32
  }
16
33
  export default _default;
17
- import { BlogPostSummary } from '@/components/general/wordpress.components';
34
+ export function WordPressBlogList(args: any): import("react/jsx-runtime").JSX.Element;
35
+ export namespace WordPressBlogList {
36
+ let storyName: string;
37
+ }
38
+ import { BlogPostList } from '@/components/general/wordpress.components';
18
39
  //# sourceMappingURL=wordpress.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wordpress.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/cms/wordpress.stories.js"],"names":[],"mappings":"AA8BA,oFAsCC;AAED,iFAEC;;;;AAID,6FAEC;;;;;;;;;;;gCA7E6C,2CAA2C"}
1
+ {"version":3,"file":"wordpress.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/cms/wordpress.stories.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,sFAAqD;;;;6BAzBxB,2CAA2C"}
@@ -1,7 +1,6 @@
1
1
  declare namespace _default {
2
2
  export let title: string;
3
3
  export { GoogleAnalytics as component };
4
- export let decorators: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
5
4
  }
6
5
  export default _default;
7
6
  export namespace Google_Analytics_Config {
@@ -12,8 +11,6 @@ export namespace Google_Analytics_Props {
12
11
  let id: string;
13
12
  }
14
13
  export { args_1 as args };
15
- let decorators_1: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
16
- export { decorators_1 as decorators };
17
14
  }
18
15
  import { GoogleAnalytics } from '@/components/general/googleanalytics';
19
16
  //# sourceMappingURL=seo.googleanalytics.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seo.googleanalytics.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/seo/seo.googleanalytics.stories.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;gCACgC,sCAAsC"}
1
+ {"version":3,"file":"seo.googleanalytics.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/seo/seo.googleanalytics.stories.js"],"names":[],"mappings":";;;;;;;;;;;;;;gCACgC,sCAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelated-tech/components",
3
- "version": "3.7.13",
3
+ "version": "3.8.0",
4
4
  "private": false,
5
5
  "author": {
6
6
  "name": "Pixelated Technologies",