@pixelated-tech/components 3.13.7 → 3.13.9

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 (32) hide show
  1. package/dist/components/general/hero.css +13 -1
  2. package/dist/components/general/hero.js +29 -15
  3. package/dist/components/general/schema-blogposting.functions.js +3 -1
  4. package/dist/components/general/schema-localbusiness.js +23 -6
  5. package/dist/components/general/smartimage.js +1 -0
  6. package/dist/components/integrations/googlesearch.css +12 -21
  7. package/dist/components/integrations/wordpress.components.js +37 -1
  8. package/dist/components/integrations/wordpress.functions.js +49 -2
  9. package/dist/components/pixelated/pixelated.components.js +11 -0
  10. package/dist/config/pixelated.config.json.enc +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/scripts/create-pixelated-app.json +45 -40
  13. package/dist/types/components/general/hero.d.ts +12 -8
  14. package/dist/types/components/general/hero.d.ts.map +1 -1
  15. package/dist/types/components/general/schema-blogposting.functions.d.ts +1 -0
  16. package/dist/types/components/general/schema-blogposting.functions.d.ts.map +1 -1
  17. package/dist/types/components/general/schema-localbusiness.d.ts +13 -0
  18. package/dist/types/components/general/schema-localbusiness.d.ts.map +1 -1
  19. package/dist/types/components/general/smartimage.d.ts.map +1 -1
  20. package/dist/types/components/general/utilities.d.ts.map +1 -1
  21. package/dist/types/components/integrations/wordpress.components.d.ts +11 -0
  22. package/dist/types/components/integrations/wordpress.components.d.ts.map +1 -1
  23. package/dist/types/components/integrations/wordpress.functions.d.ts +17 -1
  24. package/dist/types/components/integrations/wordpress.functions.d.ts.map +1 -1
  25. package/dist/types/components/pixelated/pixelated.components.d.ts +7 -0
  26. package/dist/types/components/pixelated/pixelated.components.d.ts.map +1 -0
  27. package/dist/types/index.d.ts +1 -0
  28. package/dist/types/stories/general/hero.stories.d.ts +35 -0
  29. package/dist/types/stories/general/hero.stories.d.ts.map +1 -1
  30. package/dist/types/tests/wordpress.components.test.d.ts +2 -0
  31. package/dist/types/tests/wordpress.components.test.d.ts.map +1 -0
  32. package/package.json +12 -12
@@ -17,7 +17,7 @@ body:has(.hero.anchored-img) {
17
17
 
18
18
  .hero {
19
19
  width: 100%;
20
- height: 60vh;
20
+ height: 60vh; /* default */
21
21
  display: flex;
22
22
  flex-direction: column;
23
23
  justify-content: center;
@@ -80,3 +80,15 @@ body:has(.hero.anchored-img) {
80
80
  }
81
81
 
82
82
  }
83
+
84
+ .hero.video {
85
+ color: white;
86
+
87
+ video {
88
+ width: 100%;
89
+ height: 100%;
90
+ object-fit: cover;
91
+ z-index: -1;
92
+ }
93
+
94
+ }
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { SmartImage } from '@pixelated-tech/components';
@@ -17,23 +17,30 @@ import "./hero.css";
17
17
  * ANCHORED works as expected on desktop. mobile does not anchor and image is full size
18
18
  * ANCHORED-DIV works mostly as expected on desktop and mobile (only see the last hero image)
19
19
  * ANCHORED-IMG works as expected on desktop and mobile, but requires JS
20
+ * VIDEO TBD
20
21
  */
21
22
  Hero.propTypes = {
22
- /** Background image URL (required) */
23
- img: PropTypes.string.isRequired,
24
- /** Alternative text for the background image (optional) */
25
- imgAlt: PropTypes.string,
26
- /** ID for the hero section */
27
- imgId: PropTypes.string,
28
- /** Layout variant: 'static' or 'anchored' */
29
- variant: PropTypes.oneOf(['static', 'anchored', 'anchored-div', 'anchored-img', 'sticky']),
23
+ /** Layout variant: 'static', 'anchored' or 'video' */
24
+ variant: PropTypes.oneOf(['static', 'anchored', 'anchored-div', 'anchored-img', 'video']),
30
25
  /** Height for hero section (string like '60vh' or number) */
31
26
  height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
32
27
  /** Child nodes to render over the background */
33
28
  children: PropTypes.node,
29
+ /** Background image URL (required unless using video variant) */
30
+ img: PropTypes.string,
31
+ /** Alternative text for the background image (optional) */
32
+ imgAlt: PropTypes.string,
33
+ /** ID for the hero section */
34
+ imgId: PropTypes.string,
35
+ /** Video file URL (mp4/webm etc) when using the 'video' variant */
36
+ video: PropTypes.string,
37
+ /** Poster image to show before the video plays */
38
+ videoPoster: PropTypes.string,
34
39
  };
35
- export function Hero({ img, imgAlt, imgId, variant = 'static', height = '60vh', children }) {
36
- const id = imgId ?? imgAlt ?? img.split('/').pop()?.split('.')[0];
40
+ export function Hero({ img, imgAlt, video, videoPoster, imgId, variant = 'static', height = '60vh', children }) {
41
+ const id = imgId ?? imgAlt ?? img?.split('/').pop()?.split('.')[0] ?? '';
42
+ const hasVideo = variant === 'video' && !!video; // only play when variant explicitly video
43
+ // note: we don't validate in production – caller should pick correct props
37
44
  useEffect(() => {
38
45
  const parentContainer = document.getElementById("hero-" + id?.toString());
39
46
  const anchorImage = document.getElementById(id?.toString() || '');
@@ -55,17 +62,24 @@ export function Hero({ img, imgAlt, imgId, variant = 'static', height = '60vh',
55
62
  rootMargin: '0px',
56
63
  threshold: 0.0
57
64
  });
58
- if (variant === 'anchored-img' && parentContainer) {
65
+ if (variant === 'anchored-img' && !!img && parentContainer) {
59
66
  observer.observe(parentContainer);
60
67
  }
61
68
  }, []);
62
- if (variant === 'anchored-div') {
69
+ if (variant === 'static' && !!img) {
70
+ return (_jsx(_Fragment, { children: _jsx("div", { id: id, className: "hero" + (variant ? " " + variant : ''), style: { backgroundImage: `url(${img})`, height: height ?? '60vh' }, children: children }) }));
71
+ }
72
+ else if (variant === 'anchored-div' && !!img) {
63
73
  return (_jsx(_Fragment, { children: _jsxs("div", { id: id, className: "hero" + (variant ? " " + variant : ''), style: { height: height ?? '60vh' }, children: [_jsx("div", { id: id + "-bg", className: "hero-div-bg-img", style: { backgroundImage: `url(${img})` } }), children] }) }));
64
74
  }
65
- else if (variant === 'anchored-img') {
75
+ else if (variant === 'anchored-img' && !!img) {
66
76
  return (_jsx(_Fragment, { children: _jsxs("div", { className: "hero" + (variant ? " " + variant : ''), id: "hero-" + id?.toString(), children: [_jsx(SmartImage, { src: img, alt: imgAlt || '', id: id?.toString() || '', quality: 100, width: 4000, height: 3000, fetchPriority: "high", aboveFold: true, style: { height: height ?? '60vh' } }), children] }) }));
67
77
  }
78
+ else if (variant === 'video' && !!video) {
79
+ return (_jsxs("div", { id: id, className: "hero video", style: { height: height ?? '60vh' }, children: [_jsx("video", { src: video, poster: videoPoster || undefined, autoPlay: true, muted: true, loop: true, playsInline: true, className: "hero-video" }), children] }));
80
+ }
68
81
  else {
69
- return (_jsx(_Fragment, { children: _jsx("div", { id: id, className: "hero" + (variant ? " " + variant : ''), style: { backgroundImage: `url(${img})`, height: height ?? '60vh' }, children: children }) }));
82
+ /* If no valid variant or required media is provided, render an empty hero container with children (if any) */
83
+ return (_jsx("div", { id: id, className: "hero" + (variant ? " " + variant : ''), style: { height: height ?? '60vh' }, children: children }));
70
84
  }
71
85
  }
@@ -17,6 +17,7 @@ export function mapWordPressToBlogPosting(post, includeFullContent = false) {
17
17
  const schema = {
18
18
  '@context': 'https://schema.org',
19
19
  '@type': 'BlogPosting',
20
+ url: post.URL,
20
21
  headline: decode(post.title.replace(/<[^>]*>/g, '')),
21
22
  description: description || decode(post.title.replace(/<[^>]*>/g, '')),
22
23
  datePublished: post.date,
@@ -35,7 +36,8 @@ export function mapWordPressToBlogPosting(post, includeFullContent = false) {
35
36
  if (post.author) {
36
37
  schema.author = {
37
38
  '@type': 'Person',
38
- name: post.author,
39
+ name: post.author.name,
40
+ url: `https://${new URL(post.URL).hostname}/author/${post.author.login}`,
39
41
  };
40
42
  }
41
43
  return schema;
@@ -12,6 +12,7 @@ import PropTypes from "prop-types";
12
12
  * LocalBusinessSchema — generates JSON-LD for a LocalBusiness using provided props or a fallback `siteInfo`.
13
13
  *
14
14
  * @param {string} [props.name] - Business name (overrides siteInfo.name).
15
+ * @param {object} [props.address] - Address object containing streetAddress, addressLocality, addressRegion, postalCode, and addressCountry.
15
16
  * @param {string} [props.streetAddress] - Street address line.
16
17
  * @param {string} [props.addressLocality] - City or locality.
17
18
  * @param {string} [props.addressRegion] - State, region or province.
@@ -31,6 +32,19 @@ import PropTypes from "prop-types";
31
32
  LocalBusinessSchema.propTypes = {
32
33
  /** Business name to include in schema (falls back to siteInfo.name). */
33
34
  name: PropTypes.string,
35
+ /** Address object for the business */
36
+ address: PropTypes.shape({
37
+ /** Street address for the business. */
38
+ streetAddress: PropTypes.string,
39
+ /** City or locality for the business address. */
40
+ addressLocality: PropTypes.string,
41
+ /** State/region for the business address. */
42
+ addressRegion: PropTypes.string,
43
+ /** Postal or ZIP code for the address. */
44
+ postalCode: PropTypes.string,
45
+ /** Country for the address (defaults to United States when absent). */
46
+ addressCountry: PropTypes.string,
47
+ }),
34
48
  /** Street address for the business. */
35
49
  streetAddress: PropTypes.string,
36
50
  /** City or locality for the business address. */
@@ -67,6 +81,7 @@ export function LocalBusinessSchema(props) {
67
81
  const siteInfo = props.siteInfo;
68
82
  // Use props if provided, otherwise fall back to siteInfo
69
83
  const name = props.name || siteInfo?.name;
84
+ const address = props.address || siteInfo?.address;
70
85
  const streetAddress = props.streetAddress || siteInfo?.address?.streetAddress;
71
86
  const addressLocality = props.addressLocality || siteInfo?.address?.addressLocality;
72
87
  const addressRegion = props.addressRegion || siteInfo?.address?.addressRegion;
@@ -75,7 +90,7 @@ export function LocalBusinessSchema(props) {
75
90
  const telephone = props.telephone || siteInfo?.telephone;
76
91
  const url = props.url || siteInfo?.url;
77
92
  const logo = props.logo || siteInfo?.image;
78
- const image = props.image || siteInfo?.image;
93
+ const image = props.image || siteInfo?.image || logo;
79
94
  const openingHours = props.openingHours;
80
95
  const description = props.description || siteInfo?.description;
81
96
  const email = props.email || siteInfo?.email;
@@ -87,11 +102,13 @@ export function LocalBusinessSchema(props) {
87
102
  name,
88
103
  address: {
89
104
  '@type': 'PostalAddress',
90
- streetAddress,
91
- addressLocality,
92
- addressRegion,
93
- postalCode,
94
- addressCountry
105
+ ...(address || {
106
+ streetAddress,
107
+ addressLocality,
108
+ addressRegion,
109
+ postalCode,
110
+ addressCountry
111
+ })
95
112
  },
96
113
  telephone,
97
114
  url,
@@ -177,6 +177,7 @@ export function SmartImage(props) {
177
177
  transforms: newProps.cloudinaryTransforms ?? undefined,
178
178
  cloudinaryDomain: newProps.cloudinaryDomain
179
179
  });
180
+ // newProps.sizes = `${newProps.width}px`;
180
181
  if (!(newProps.sizes))
181
182
  newProps.sizes = `${newProps.width}px`;
182
183
  }
@@ -13,29 +13,20 @@
13
13
  ============ GOOGLE SEARCH ============
14
14
  ======================================== */
15
15
 
16
- .gsib_a {
17
- padding: 1px 8px !important;
18
- }
19
-
20
- .gsc-tabsArea {
21
- border-color: #336699;
22
- }
16
+ form.gsc-search-box {
17
+ max-width: 100% !important;
23
18
 
24
- .gsc-tabHeader.gsc-tabhActive {
25
- border-color: #336699;
26
- }
19
+ table td {
20
+ height: 15px;
21
+ }
27
22
 
28
- input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:focus {
29
- box-sizing: content-box;
30
- }
23
+ input.gsc-input {
24
+ font-size: 1.0em !important;
25
+ background: none !important;
26
+ }
31
27
 
32
- input.gsc-input {
33
- font-size: 1.0em !important;
34
- background: none !important;
35
- }
28
+ .gsc-input .gsc-input-box {
29
+ padding: 0px;
30
+ }
36
31
 
37
- .gsc-control-cse {
38
- border-color: transparent !important;
39
- background-color: transparent !important;
40
- padding: .5em !important;
41
32
  }
@@ -5,8 +5,9 @@ import PropTypes from 'prop-types';
5
5
  import { usePixelatedConfig } from "../config/config.client";
6
6
  import { SmartImage } from '../general/smartimage';
7
7
  import { PageGridItem } from '../general/semantic';
8
- import { getWordPressItems } from './wordpress.functions';
8
+ import { getWordPressItems, getWordPressLastModified } from './wordpress.functions';
9
9
  import { Loading, ToggleLoading } from '../general/loading';
10
+ import { CacheManager } from "../general/cache-manager";
10
11
  import "./wordpress.css";
11
12
  // https://microformats.org/wiki/h-entry
12
13
  function decodeString(str) {
@@ -14,6 +15,41 @@ function decodeString(str) {
14
15
  textarea.innerHTML = str;
15
16
  return textarea.value;
16
17
  }
18
+ const wpCacheTTL = 1000 * 60 * 60 * 24 * 7; // 1 week
19
+ const wpCache = new CacheManager({ mode: 'local', ttl: wpCacheTTL, prefix: 'wp_' });
20
+ const wpApiURL = "https://public-api.wordpress.com/rest/v1/sites/";
21
+ /**
22
+ * getCachedWordPressItems — Fetch posts from the WordPress REST API with caching. Checks local cache first and returns cached posts if available and not expired; otherwise fetches from the API, stores in cache, and returns the fresh data.
23
+ *
24
+ * @param {string} [props.site] - WordPress site identifier (site slug or domain).
25
+ * @returns {array|undefined} Array of blog posts if successful, or undefined if site is not provided.
26
+ */
27
+ getCachedWordPressItems.propTypes = {
28
+ /** WordPress site identifier (slug or domain) */
29
+ site: PropTypes.string.isRequired,
30
+ };
31
+ export async function getCachedWordPressItems(props) {
32
+ const site = props.site ?? '';
33
+ if (!site)
34
+ return undefined;
35
+ const key = `posts-${site}`;
36
+ let posts = wpCache.get(key) || undefined;
37
+ if (!posts) {
38
+ posts = await getWordPressItems({ site });
39
+ if (posts)
40
+ wpCache.set(key, posts);
41
+ }
42
+ if (posts && posts.length > 0 && posts[0].modified) {
43
+ const lastModified = await getWordPressLastModified({ site: props.site, baseURL: wpApiURL });
44
+ if (lastModified && lastModified !== posts[0].modified) {
45
+ // our cached response is stale relative to origin
46
+ import('next/cache').then(({ revalidateTag }) => {
47
+ revalidateTag(`wp-posts-${props.site}`, {});
48
+ });
49
+ }
50
+ }
51
+ return posts;
52
+ }
17
53
  /**
18
54
  * 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.
19
55
  *
@@ -22,6 +22,7 @@ getWordPressItems.propTypes = {
22
22
  export async function getWordPressItems(props) {
23
23
  const { baseURL = wpApiURL } = props;
24
24
  const requested = props.count; // undefined means fetch all available
25
+ const tag = `wp-posts-${props.site}`; // unique per site so we can invalidate fetch cache separately
25
26
  const posts = [];
26
27
  let page = 1;
27
28
  while (true) {
@@ -29,13 +30,20 @@ export async function getWordPressItems(props) {
29
30
  const number = Math.min(remaining || 100, 100);
30
31
  const wpPostsURL = `${baseURL}${props.site}/posts?number=${number}&page=${page}`;
31
32
  try {
32
- const response = await fetch(wpPostsURL);
33
+ // const response = await fetch(wpPostsURL);
34
+ const response = await fetch(wpPostsURL, {
35
+ // cache the HTTP response and mark it with a tag so it can be
36
+ // invalidated independently of the page cache.
37
+ cache: 'force-cache',
38
+ next: { revalidate: 60 * 60 * 24 * 7, tags: [tag] }, // revalidate once per week
39
+ });
40
+ // -> "HIT" or "MISS" (or "REVALIDATED" etc.)
33
41
  const data = await response.json();
34
42
  const batch = Array.isArray(data.posts) ? data.posts : [];
35
43
  if (batch.length === 0) {
36
44
  break; // no more posts
37
45
  }
38
- // Process Photon URLs in featured images
46
+ // Process WordPress Photon URLs in featured images
39
47
  const processedBatch = batch.map(post => ({
40
48
  ...post,
41
49
  featured_image: post.featured_image ? photonToOriginalUrl(post.featured_image) : post.featured_image
@@ -51,8 +59,47 @@ export async function getWordPressItems(props) {
51
59
  return;
52
60
  }
53
61
  }
62
+ // once we've fetched the posts we can also compare the "modified" date from
63
+ // the first post (which is the most recent) with a fresh timestamp obtained
64
+ // via getWordPressLastModified. if the lastModified indicates a newer update than
65
+ // what we just fetched, bust the cache so future callers get the latest data.
66
+ if (posts && posts.length > 0 && posts[0].modified) {
67
+ const lastModified = await getWordPressLastModified({ site: props.site, baseURL });
68
+ if (lastModified && lastModified !== posts[0].modified) {
69
+ // our cached response is stale relative to origin
70
+ import('next/cache').then(({ revalidateTag }) => {
71
+ revalidateTag(`wp-posts-${props.site}`, {});
72
+ });
73
+ }
74
+ }
54
75
  return posts;
55
76
  }
77
+ /*
78
+ * Retrieve the modified timestamp of the most recent post on a WP site.
79
+ * WordPress doesn’t support HEAD on the posts endpoint, so we fetch a single
80
+ * post and pull the `modified` field from the JSON payload. This is still
81
+ * very light-weight compared to fetching the whole collection.
82
+ *
83
+ * @param props.site - WordPress site slug or domain
84
+ * @param props.baseURL - Optional API base URL (defaults to WordPress public API)
85
+ * @returns the ISO modified string or null if unavailable/error.
86
+ */
87
+ export async function getWordPressLastModified(props) {
88
+ const { baseURL = wpApiURL } = props;
89
+ const url = `${baseURL}${props.site}/posts?number=1&fields=modified`;
90
+ try {
91
+ const res = await fetch(url);
92
+ if (!res.ok)
93
+ return null;
94
+ const data = await res.json();
95
+ const modified = Array.isArray(data.posts) && data.posts[0]?.modified;
96
+ return modified || null;
97
+ }
98
+ catch (e) {
99
+ console.error('Error fetching WP last-modified value', e);
100
+ return null;
101
+ }
102
+ }
56
103
  /**
57
104
  * getWordPressItemImages — Extract image objects from a WordPress post for use in sitemaps and galleries.
58
105
  *
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { SmartImage } from "../general/smartimage";
4
+ /**
5
+ * PixelatedFooter — Simple footer component for Pixelated sites.
6
+ * @param {any} [props] - No props are accepted by PixelatedFooter.
7
+ */
8
+ PixelatedFooter.propTypes = { /** no props */};
9
+ export function PixelatedFooter(props) {
10
+ return (_jsx(_Fragment, { children: _jsxs("p", { className: "footer-text", children: ["Designed and developed by", _jsxs("a", { href: "https://www.pixelated.tech", target: "_blank", rel: "noopener noreferrer", children: [_jsx(SmartImage, { src: "https://www.pixelated.tech/images/pix/pix-bg.png", alt: "Pixelated Technologies", width: 50, height: 50, style: { width: "20px", height: "20px", margin: "0 1px 0 8px", verticalAlign: "middle", borderRadius: "5px" } }), "Pixelated Technologies."] })] }) }));
11
+ }
@@ -1 +1 @@
1
- pxl:v1:b3a4313ab5b83f3892f9f463:120a8b22fafe51e3c603cdcaaca9b922:ae62d0122364ece5f61f4f091ca72c66130ffc8a3f1079b42299826fd56b95529852468e84cf1ef9e7da72be9592af371846c65d65afc6f9447ff83029a33f152d2df1e22f11c83e3554b843c0a8b76456f2936457311f6896ee0338ca57d7907112a56ebb2744b82efb72aa782859c6701fcd8b18ca8c981523a00c28eb96f5742ed296712a16f2e7718e6405af2256eb0eaf9488059f15a08f7ef7ff83b4e6c43cfa74bc86a892f5bd435b19bce33edf166997e9987d50834dcaf3ad7a1b636cc81a0f9fba6efd70e3e346aa86739a575aba7be81a29d52818e6f6960a5c64791465ae0db6b543086f6e119af17c2a47a5f4aebed083c421ddc6a1a50b664edb408038ccaa8debef0d78fdfc493189aeda01ee31e6417f2e0fd3ed144d57d1c45d1dbed67d2ca8645722216526d56701d8ff38b5d96704ccdf0452b205b1ca5b037ed3677ccf7adf76e540efc764d7666feffc3d0c09196569c5b66d6d86fb201514fd6ffea6469846fbebceca4c612a0cf84051d22274088febab65dd65f1f438f631dda0a4b19148a7cff758a65c4cf7610d16e4bdaf98d1c116ba77e51b0064dc1a666f3824d964cfe04d00dae187168660c538615f0055f37607970c9dd20b205d2148e75f8b18126f75b4c6b2f54529730cdb32b8777772f29ff532a1c5bbca99ed07e0bb2d6ca20646cda4b0a2826c72f25ce7290ac93df615ada9a817660a4fde7bdacfeaf4b6a21bcfa9f05ef458d632f1ab7b3b0e97d47c2ff9a171abc873af793d1d5a182eccad7e056453277daa2c4c8c04226be9604e076116101eb0b9116851bf6d793ee76de946d55bfc4cae9995bbfa1738dd865bf912714b556e6c3f67b179441a6c01499b347c863309d5fa6fb67201c3474822e6d8898ec2d61724f00c77cdc64a36a13668f2d97728a86f5a3fa27799bdf967ecfa7c101160961fbdc45693815378f6f43ab1e43a611026f171e690f6a0d7416f960ad693f738f5acbeb113743bf51f343145b03b297250932100e96f9b16af46ab9f30aac25f5c8fc0e7cf848fb0288b7fea643e0d3201ddf56f2c40d9f34bf0946e83d0d25abcb991b75a88d11f4cd6f62f94b6e5d68e619b1874abd08b3da90b5f4cd76a063ef458b5e8dd2ce2fc77b0b625af24afa53a2331d338d94839322887f95e01a0f0df57242f64025a22cd8d1be940ea98fbdb666203377cdcd2047139bd210767729bdc2c67692f2f1a4c7a364aa11b9742f6c076620a472c42c0b40c3f69b3ac0a2fca5fef92c6b642c2c00b2c77124e2e3f7543347f6dc50545506cf79b3e82ec5b830bb229e68e48ebc1c52b7d8772eae04b9ec4863d16ba037aa19ac18482a9ab53661ca1a74c1c7738f26203e315ff5a2c1fe2fe82e95ed50c402a2c8ffaf7fd8570317edc196c26cfbb6c10169f82b64ec32f330501956ae78724d6235c6087e21e01cd5836fb20d0c17f0ffeace53b869896b1a8ffe74c0708ab8573695ac02cfaf19efda6a29fc01f123fc3ad666b4b38b4c5a07952705fab707d8e1bf4cbe613d01015f9d7e0e912cc729973817cd31242d05d1710964e3d94e06b680b332ffc5a66e4e5208a7f1169d12c31277fae4c4a4dd57cce415a87d5b167a56b9bccedee7862e02fc6d025ea4c3431061ef4fc162c9e2385a22d14ec5d89be0094d3ee56aa45434c5e0688bda8c01aed1bc8a86484f12b03a28c8dac2d7f429578267b41f66a64d51e9970708c828093598a6af822ab28828ef1a0cdcc8aa0c1c4285e4920ad56cd96ba3d496a2df1aa66635194343af301b7d0f25378bfbd88844c9888522888f3e00386d2503699a7370ad2267d67fe4e1d16fc7cba0b7f68f4a8631c33fbbf33c6af7ceec388dfc3c0b2ccd737bae46d35bd503d5c3fe78ef292a2ed43504ad943eaecca20dbc6a836845b6d21a1e8796cb6a49552b2fb6380fb02e2bc7146f9b2c6006e234d2d3000828a679281e383fc06a4192eb9ebc54fde74d492a2eb4e32be245e06134522e3bf33504c3c5226eb8a6617f9839e07aa27054128be1bcb9230a45895345f30ed14e8fd5afb4f530ebb96c00fb70ad57c463f8dfd72bfe12276f3127be6147987c912156bbb1227f3116a4f5f3d5a5e4f43cd605dbac4bd4cfd48a1919f8dd1d7f718127dba08b650d23a8bd6f452073ab3017f8a7f5f9493129c5b3d3d31305d25979e190cce3b1bff1798d761811bb86092a1a6f5ef3c7dda3d7b5251f8ed84ad29737fdd6e090a2a014cfc03bfd434f02bc069a0768233d0ca7fe893536653bd91ff2a0004199d42da32321dcc75bd3ff690ad3db60a05b84d62a034ed5e25e455c23e06e309a52d39d39a644a4d81cacb854d925c9b53bdaf491de6f7a599b0df7774fd5639e5c5485c82184959cfaebf389e21079b85913670782b2dc96a3b04e6e798506d8a678909f226da6b10161aa229b10d4800e6cacc3939e20dd4e64f97ba0ec036d5f77546ff7a5a6726e325f2f9925530508b65eb86e8469bbe4af83b4b6c4375615e1ca84383eac490e050f1a85eb36ea55892231d329e557593037a45ee67e146590b11f555617b13cb3f7205ebf01e90a3fe811f0ace688d2e019017544456ac060f5243bc7e0312c1200a20d8f5134eceeb9154445194bb8c0d0d2d04fedb9a202247e8c04c756616ad2642bcdd52e22d46a341ad00e8561d424219e55e25f87dc1b2f7ab0df758419ade1b168082b6c2a2e8cb39c629d5483bfaf4bd465979a0b6e40c7a61d4eaa93b7221fcd42b8e691370e2ca3a11afee8d03c5422c8355762dd65672afbfa4a017fa4341f234e8c99a4b75baeba4b008acce06bfd6227d744ed15c15daa0e430c6ec6a8bf5fe55366cca2a52ed4859401d54457388256c6cdbf26b66b65dd51f8ab89590062aae870aa872c9847ad7c25fa209a0976e27dde1f19b8b7daf96220b2a01344c7ba2b88e38dd3e06b474c5716c806700773794e5940cd1d928d7509fb625e760f099d06cbf604b123dfa29e4c8bcb0465821e050b779d893368e153a1033a6d7ed5ffecf228b3cc295fed48dd287126dd090e1485d905ee993c67f1a71d64b6b826bf0536a31ab6482030ea78a08b67218d044e3a9932255b7a0b61e6aedd19ef7b59ccf62e5662b31d466448c93e700102545eed863c07823099b5e7e9f0daeccae9ad927bfc3e923647cefecae447db3465840dd2439ab5d8343b0ee81a124596b1b54cb7c4d37b7072c4990e3237622d9ad8403f966efe3ac8f0b854219de3eea4d4cf8e7a089b889cc559beee220240ad64960c1e65cd0864205141557e310b398f82fe363a15724636522b58d94a8a2b3fbb692bcb81c4ff8be3b1ac1beb12bff9f2b7d0f6bdc84b2b38dce2521f91fafbe3b04380c0f47e7b9486c616f3c52f3a78a8ba1fc284fabe99132135ea241c9d17da4c5acb0e57c5815d910d9902dcf7e0ec80138e548fcc82c8ab29ae2d5b190983f151f985c50c73ecefb9957d8e17548fb35a78eec469e851a3cdcffd3378c42525f0809b57eaf341585966cecd58928e3a6eb5d43e29b50f050a6a0e530fecf4970f56a4e02890799d2f51b5aa83c2794c7d5cbca861ad90dbc73992808f2760ae511a62a4bbc5f9fd6e0546fe9ba864361131ea38a211248666cbcfd925893e6438a317bd7ed2666be3925ce3169e9d843dc591d55e09ecdc83d7f9b1c1fb9b6820ad98f9ec193761cf1536b22fa76db66e4fda831204961a91aada53735723cca2d89e48685f8f8b1b7dcfbb6802076a26278b0f8b827af9e5fadd2f9f28d5881ef2a1f714deeb3b3d8aba3e5edd6363d8006946d034271262d6a9e3b624b2b1b2d93b52d03480bac7700827d18c738923150161aea04736a38e75c7eccd1ca855d441ac8a456b16bed82d839e9851b49121eeb55d3b128e2e63839fcecd9f7dfbcb405c6d03b35ff577b06290fd632b94f9c8dc539c9e1fb5cde40964e708cb5ac76ef437523c4711e288fb928d7232c37f7d394c9e5b8ee98f6b66e3639ceb9afac823c244873d5c8bdc48244ab6aba32d5f8329e8a4ba4e97c7f522d1b3cd356ff12bc9774397efd7795cf1a9e544b51a9b29244ed87a237a6c9f802d6c0c4969d1d7d02b677a7bdea03cac5aff432c08d2e0730e3ea58b2a0d06246fdc55f4532fc690dbd76b8758ef1a13163915450a502223a18df4a114231023687850dc58d093047cbf4ef6a46463a048206a46d3afb5aad7da80f7931a0f13fc931ad601d88a90b05ee36f60ef1f48ca509691d988ce383aac54cccb0aca76bb1f594deaf77dd2696b029fb893ccfff0ac19dee4bed4fadae40e9208fc702eb7e4016299212caac4dbb1c142429c47fe55cca7de52aef6f00f5641fbc35f1ba0cb1c430c28795e1678706ca899b250fcc600c7ccf32373a37ffd2799cbdfd40e0bfaa0c7b20dfb475a387e76cfd308ce527f5487754ba4149a35bc3e6e123384defff6bcee20f9e1a726941b843ed2e96448d1952ff980e5799b064f55bcdc61710e3ba5a2349b2a0c50b0d4e7b1985b2c2e617c97c82e63b4ddb5a0754ed8e0f67d342acc7f0c7d347375c248398edcf624be16fd7ad6d45cac59378b9abba95b5661283ff2ce347077a837d64a6e6ae0e1606f8c2c776d6c8c4ea0093421da6050ea91a2542ccc8279b1f0e01d7b62df969d068c459b8343349ab444fd971d152cf8856b42176ecb118a5648636b60e01a520feb2e05e062abff9803ab2b40f7f173e1660badff72b7e6e8f95572eb957b74cac785e9ab2f2fc169b2488e9c9e7ed816c745b266a8166e98de744ace3ffdcff18fd96fb5b36ca49c0c390026b48ef307ec596e6e87a01ff988ee2bf2f5cdc3a42e63c46563d2d182897cccd4bae44d166b2d1e67b71b7a7e5f2fbad59d3e434daeb7ff53e8daf3a32427b96cfe4e64059ed69110f3d61426bc9dc5e2341ca02b90ebb42073325c4eda62906ca1193fd0e358d121a565c5fab73ae66c20b278e2d5bb3f568132e4495771014cb707d6a808430a191519d83797410328156d4726dbd02190d17a037cf9025f794089daf2d55f8945a40b1f3e4bdba4d65d0505d3ea3fa0b87f0af0e774cd35f236810c150fc4cb9c9e0d4ad0b488b6dd8f21f4e0d2e442790e818e1a415481058db4686817f02fb6554ba90
1
+ pxl:v1:15e948ca0376ef20c0be2bb9:957d570218ce379c64b0b0dcd2dac1d1:e26dae3f5ae2fdb80c0bbdaa08ccf67f873594266d4e2b3ff216ba770005a0599e0f22a31785dbc4a00ee8bd76e5fe6570640746df56ff489ec409533eb98ada5ba39f1b88355eb5647619bc96b77c50305c8f87efaa72e42a3289e5cfd217a1c3b57595c56589e0057a7f4601c8a6e25df0a8547017625e20f2baeba99d872ec03a4f71c7b41d8af32c2a08eb5c1e4976e0d84f7844bdea8892afd24a894a0c26ca9a488c5960e5db893c700d4dcc93695dfb421af228a52985cd41831540782a6d5f500937c158bebee6ce18f0dd97a6cc8bbafc32643c3a9c4f9f1b2f0f89499f44c8c69ab80b34639f6da1370658d94dcc798ee8146cd66dd81695c6b61802f84b28195fc53d4043e6022bdf00c991247bf8126bda943b0307338e0518f6ab7f5d3d4c111407ff2f71bf6799e80afac504ae0491c8df969ac4c13bb6130d9450ba2e89ef9976bae5682d02a02a3799499517512b846cd727c86caefc1f718f4e104ca4d56e4f558100c93108c03dca9e7b44cd6a6d95f617704ad85d38b10e7de966a4965f15039331faa183b6a5525a3b642d03554bba7fa07ebc20b015614ab270ae0827af9ad3160bcf2b69a8bf14357cc85901c282d545661d3d41dfc8a6f7d5762cc8214af525fd0f243b681d111f6d2c769d12885ab374bfa32bc982279c75eec811a53e6536239b2e0efe0799a57ab049ff549d4fe380af0f5e4bc34fa9d0956532942fcf5552ba62994dca42b01735e219c3a12c1cc719ef2df101833f8902cab4fbdb22d608d04ee0b40d6b6152fd8e5c91ee954f334437929b92fcb56a0d525c1f748b749d4b702f07c3c6c37fa0543587b6ecdf1150f1ff84fe91a243ac27a8eab230e511ca8be18e5e4c6090df988c5c572cad127652bd11271f29e983971761eccc2135e5a6ad3d7085d0449a102a4c4dd085df5b6aafa7ab86086f9be5613b78e14baee419607820d13e0665989fbe3a3590aabe5aac953e0e9208437ac8d885d20d237e6522c356d753d0f745af5d890d621df1fa31a97f5b1f1393edbb2df77d50a680762329dae6499b72afe6587fe68b7ca85839e0bbf3c81cb5a105c756f8014aec7ac379e13e39912f6e60fe73b59461522d3c34cfefa077983d1c41a9a424f3a5215bd53b09ce3bce25d56fca44c8ae49761c8dbe4a6a8d1fe86db23cd278c280a3bc677c0eccda9c7707189f0d38b7e9fd59901b0250ad0de3849c52c093a54fffe9c0728c7ca79946d323b1d7dcd280de1f8fe67c862af151a51884ab1cc577ba49fea86b828fd1fa49a30a5aa37cac74b3c864cacedeade0158635bd74b85a9abac2e8e1f06ee87fdaff33bf9ad16a8dc37eaba8b1fbe1e8b082e07e5875a5e85735808b77dc93bed6995e8fee2b9e4ee5efcc65f5a6c872cce8f775fc547baaa1bc07be2aea8df43335a8cbd1535898ab7b1d4ef8cd731372f1380afd6a1f9e2bd34a0cb855da50bcc24b016953a87488e36cde8a805cb95fb68d597f6438f9f1f8c083df13ddb1e9b7cf2d93056f14cf7ec945af652b34383b81c63674af037930cedbc20d49e441ec46140072a53c92f634e1ad573e38606cfa238210135bf257f35d81ab5ceaf8fd7ddebeebcf69aac71836a74bce38a4e66b6526e17762ee8c35379b05f9f93fc1f9107d066bbb23a082ec90a3c9f78257c7c557a05509ab2bd8dd49d315b2506b9a2ba28d017a8cf3e942c8716c204e8be644da29c5e7f738a3938f3326dd656ea11556abe60b82a5292a42a64efd5ffdb8b0f09b3caa99a08b418d3f29cf4252802dc7c947c4f96193e6292037c54456561ecfd5a8e13d05043e435cce7b8fd028473102d89a98b600d52eea261d5d200d0fff50663573dbe2e0c7ce2454c920c001c42cb66a335ba0e1cecb085e8da3f98b966496ebdd73e1db81b6bc1f02a79c1fac06e61461b024b14009a3655b26b53f3e3d02da7947f07096458071076466d34d5bcf28a38e1c69828738a7cbe45159fe47fc163d4e9571be43f1333f2f7d0f0c3ba6296345928b07809b83287755a28f2b3674756f1c5c76366d991ffb68dafe8d52a192a5beb54ff0ef66366b729499531e4ec2adcacc54cf9672a1e6081091f9523111b98484213f8c6446131f6a7c88215d1f40a9b1dd5f2668ea5bfd59d2fe42d8e779d30b8f4804ae238acadad1624b8563bab7df9140e5f85c4c8336e83c4f52275003dd3736624f68562372f0351714b25ac4e218f3fdddc04bde0fe287d7329aa2b5c7478b73e5c602d9f7407fdc06eb1081400c9a2b6a1908834b75a1f10878a4e57ea847d70adf0cebefcf8f7d8f00ce961ab872249c0df8a2d0236d54911bcafe89e3d11dacbdec6d02de47d914c0d27320fa69dc2208e8692dd088b6d2379eb6196981eae0c85b5130544b024f2757d9fa1f8d00d0bbdd8bf3b418a543cdeade1e8e62498903b5422f0573afa7934522a020c008f43123622a891c8611067315ffe51f56f874ff56d48530891dba84e9144a1653adb9d02e4b1b012f51334566740ed6a1726b810328df0fa1ce8e0c5ac1e6115ea675fa235b3e80ea2d763f71551c8f0440c37026bb6ae0e6c9dc274c4cd534cb8051065a15ad87ffeee7023339e79bb077d4edadbdaa3e1640dd14c823bf7d6d7b877f64abc169aa1655cc0bee3f63c4d51dd701cdefafb0f688bca69942fdb07cef4e931b7896a75f220e3935639a20378f303da3ad084d33cacfe8d668f9c1e2001a1493dfc4f7347487f3b537af090a6fa4346a9b826b664e3c8ea1cc79736103e361d523e5dcccccc10cd41f961022da00e2192dd2208d2566fc2dc383b06617960e0f54c7e5c309b60042e330a55e039c1b0280ac1ba0e40e52b30aafd5418235eb33f49966b992559edc9e7aac9b6840875c6e003e4253a5398d6a978be9b2e115de609243b1402a05430e4cb42fdce13bb6af0ddb79a6d8502d4d4a2abcb2f36dc86fb662b2f8ccbdee037049a85ecb8a6eef2bd3eb73bb80d95cd186ea3bb2ef668f8ec04223f6eaf2b7a7ee04fe0fd00b52d848a86dc75294542890e116b656c3871b8f1b53f18eb622260f28586dae25ca6b43bac5c74ec08d93fb8f01053fa27b57c150ddede9b0f3d74a5ad61adaf77e9a3254079b8d43694e1d2826a7d9b6c10c4e246e0f3c5804ddcf4df9ab9fbba8ad44be04187b35cd2cf93beedd52c4cbac8e3d98fc6f37e0cf5c82a094cc7c2efb3953bfb68448f2ec1b773cc2f5b796353ebc276ef6c93524b038d0e1c694a675b9e899165c554a0ef575d97bb78f4b917a9533c7a35abda9cbe39d9b5bb5a113df02732a030dbb0b036c75f3d46244ad28c742c40f6e9629476ca82999245ed30921cb7df90bdc10e4c97a31ccb085176bf58f9104fda6d3c2d93a9585482462b47862f854e4d24a196c7d1f31892fc849d39a37110364ec0e3356434ec2dae03c3a83b32d28231749d462aa58aaa1483d32c0463113a3b512493b129e542918c9c6cffa74c1fd00b7d543b0715d3ade737e2db5c838dc75ddcca4d51c5dee1f2fd11b54eb4d8db4d6902df5eee66eeff9883fd1ec649cd88f413d19d2906bc3d2b12ea98de2a1a3c16530302055dc856daefb09ea955c57cc59a9f1d87c6cd832c70c29db18079200c343e3c2c0e08f75006f55fcdf78dcb79db6af64b92e076f9b73a47ed23d8e9a578bd43e51df27700c51ad8ae70b3d9f1e092aa2e53e47f0a10bc1b1b92d73fd06512fb4472165815436e190bb2ea2d9ed9d64d67ef90de7a2e91dfe1290c143356aa4950f31baadc4fdcf6be5130ed1fb9112c48a6c380bc7aaa26f209e68ee5b7bd34b19c369c432d660ad0fb263771e45f4875aa62fef3f06cef64dbb5013f422b4adedbb45fb9bb73ebf2e0a7138cf54d0727cc3aa7adb4ea44287b17f9d362e123a3719619982370f78f458e593843d7df07d434fd89d5afa37f10ff84204625dcaadd9ebcc20ff2fb885a4bbe192a73fc2a55f3eab021f84a8933465ddef575dc558ed69ebc95a74ed6d108142ae1f649d1dabadf049f5b5777da56ad9d82396ccaabdb8801d214d315692d791068cf7bfe0fee5d426eff8cd25e1b678685c3aeee76f22c5521d15717cfa01c7e6813196d5359a203550f7da51f054d786224b676343497c6c74bf6650159b7e493145d2dfa0d4792c98235b958e28ebd1190b7ee4047ebb3b1f50283e1cd26131446a469dadd611d74a9af30c7a15753c85f89a25ca283ccf0184f2e3599ecf2c7acb6bbef958615d9c54f6584ebb6f894c5fa4f1547d59a7aaced07199dc70bd25972fde2d623cfb77612e8bb15918c0771460d8f6f745218bb753b06c4e346878e4ea7d26f76267107e1177436532d3be1ba320c07d2bdc5ab8c026746f30777e0b64b188689715a9d6e93c388158ae0827bdf19fd8711a2849b112a585fd299a583b1ed244d761e13687b24a37147bd221b5dda71eb1f8c3229a9959686d766164c4e4e03c7a125d76c40e1b75b4eb58af140146635e1eb8cb473627fa0dbafde124df5ac3b58fea2d13b32996d078ae3fc5b4862a6273894b21dc1154fd846beb4e282310f291d41734829fae131d12db1939ce88a11078c05f219e7d56df8a9fc7d792b5a98068c87c36b1a2b83d6aae7226f5d4dba95c5d7a522abd4c94bde67eaba0aa2e474a4502ece21ed6ac4dea6cb86e973ca5986247d4f5d18408e5c9b8fdf528db1698cd00ab083cd2ff8d40a363062e4191ed54f73507cbd771e6882d885a3f2c792484525d75793e4d66f149de1066df3134dce0d55c99e90092466ad14dd47141a27a9e4c8f84fa8e02300ab1817dc6a22b161dcbf88623ddfd2c718347e00daf59c709c232bc1dc89653ae9a518e16e47a2bcf8d2c5524faf0a4680d039871d97c4df553e5a9acae61234ec41609a22645cf8576408efeec603f359a97d9fb28192bc3f394cc319d1e316c84592e90fcb4c3cb908ed9c3f7c68340d9219588bd170985be6437a5ed052abb5620c1ec4188fd52ad53fbe8f3ee8ab24fcfa32f0000cc253eb0f50137b6c5a4fb13bf1c3ae6efcacd8856faa2afc89554bfa6c3b4ee897bebd60dfdedfd1b24a71a60d67bcf3b30ebd21a5e93d3d9d53eef13b0ee543d50b321b0fd02b6ef7ab1a8a4c567f2931e59db210060d49d023f3b7e
package/dist/index.js CHANGED
@@ -72,6 +72,7 @@ export * from './components/integrations/gemini-api.client';
72
72
  export * from './components/integrations/wordpress.components';
73
73
  export * from './components/integrations/wordpress.functions';
74
74
  export * from './components/integrations/yelp';
75
+ export * from './components/pixelated/pixelated.components';
75
76
  export * from './components/shoppingcart/ebay.components';
76
77
  export * from './components/shoppingcart/ebay.functions';
77
78
  export * from './components/shoppingcart/paypal';
@@ -1,42 +1,47 @@
1
1
  {
2
- "templates": [
3
- {
4
- "name": "About",
5
- "aliases": ["about", "about-us", "company", "our-company", "team", "our-team", "about-us-page"],
6
- "src": "../../pixelated-template/src/app/(pages)/about"
7
- },
8
- {
9
- "name": "Contact",
10
- "aliases": ["contact", "contact-us", "contact-us-page", "contactus", "support", "get-in-touch", "reach-out", "get-in-touch"],
11
- "src": "../../pixelated-template/src/app/(pages)/contact",
12
- "associated_files": ["src/app/data/contactform.json"]
13
- },
14
- {
15
- "name": "FAQs",
16
- "aliases": ["faq", "faqs", "qa", "q-and-a", "frequently-asked-question", "frequently-asked-questions"],
17
- "src": "../../pixelated-template/src/app/(pages)/faqs",
18
- "associated_files": ["src/app/data/faqs.json"]
19
- },
20
- {
21
- "name": "Humans.txt",
22
- "aliases": ["humans", "humans-txt", "humans.txt", "humansfile", "humansfile.txt", "humanstext"],
23
- "src": "../../pixelated-template/src/app/(pages)/humans"
24
- },
25
- {
26
- "name": "Projects",
27
- "aliases": ["gallery", "project", "projects", "portfolio", "work", "our-work",
28
- "our-projects", "our-project", "case-studies", "examples", "showcase", "samples"],
29
- "src": "../../pixelated-template/src/app/(pages)/projects"
30
- },
31
- {
32
- "name": "Services",
33
- "aliases": ["services", "service", "our-services", "services-page", "offerings", "solutions", "products"],
34
- "src": "../../pixelated-template/src/app/(pages)/services"
35
- },
36
- {
37
- "name": "Style Guide",
38
- "aliases": ["styleguide", "style-guide", "design-system", "ui-kit", "pattern-library"],
39
- "src": "../../pixelated-template/src/app/(pages)/styleguide"
40
- }
41
- ]
2
+ "templates": [
3
+ {
4
+ "name": "About",
5
+ "aliases": ["about", "about-us", "company", "our-company", "team", "our-team", "about-us-page"],
6
+ "src": "../../pixelated-template/src/app/(pages)/about"
7
+ },
8
+ {
9
+ "name": "Blog",
10
+ "aliases": ["blog", "blog-posts", "news", "updates", "articles"],
11
+ "src": "../../pixelated-template/src/app/(pages)/blog"
12
+ },
13
+ {
14
+ "name": "Contact",
15
+ "aliases": ["contact", "contact-us", "contact-us-page", "contactus", "support", "get-in-touch", "reach-out", "get-in-touch"],
16
+ "src": "../../pixelated-template/src/app/(pages)/contact",
17
+ "associated_files": ["src/app/data/contactform.json"]
18
+ },
19
+ {
20
+ "name": "FAQs",
21
+ "aliases": ["faq", "faqs", "qa", "q-and-a", "frequently-asked-question", "frequently-asked-questions"],
22
+ "src": "../../pixelated-template/src/app/(pages)/faqs",
23
+ "associated_files": ["src/app/data/faqs.json"]
24
+ },
25
+ {
26
+ "name": "Humans.txt",
27
+ "aliases": ["humans", "humans-txt", "humans.txt", "humansfile", "humansfile.txt", "humanstext"],
28
+ "src": "../../pixelated-template/src/app/(pages)/humans"
29
+ },
30
+ {
31
+ "name": "Projects",
32
+ "aliases": ["gallery", "project", "projects", "portfolio", "work", "our-work",
33
+ "our-projects", "our-project", "case-studies", "examples", "showcase", "samples"],
34
+ "src": "../../pixelated-template/src/app/(pages)/projects"
35
+ },
36
+ {
37
+ "name": "Services",
38
+ "aliases": ["services", "service", "our-services", "services-page", "offerings", "solutions", "products"],
39
+ "src": "../../pixelated-template/src/app/(pages)/services"
40
+ },
41
+ {
42
+ "name": "Style Guide",
43
+ "aliases": ["styleguide", "style-guide", "design-system", "ui-kit", "pattern-library"],
44
+ "src": "../../pixelated-template/src/app/(pages)/styleguide"
45
+ }
46
+ ]
42
47
  }
@@ -1,21 +1,25 @@
1
1
  import PropTypes, { InferProps } from 'prop-types';
2
2
  import "./hero.css";
3
3
  export type HeroType = InferProps<typeof Hero.propTypes>;
4
- export declare function Hero({ img, imgAlt, imgId, variant, height, children }: HeroType): import("react/jsx-runtime").JSX.Element;
4
+ export declare function Hero({ img, imgAlt, video, videoPoster, imgId, variant, height, children }: HeroType): import("react/jsx-runtime").JSX.Element;
5
5
  export declare namespace Hero {
6
6
  var propTypes: {
7
- /** Background image URL (required) */
8
- img: PropTypes.Validator<string>;
9
- /** Alternative text for the background image (optional) */
10
- imgAlt: PropTypes.Requireable<string>;
11
- /** ID for the hero section */
12
- imgId: PropTypes.Requireable<string>;
13
- /** Layout variant: 'static' or 'anchored' */
7
+ /** Layout variant: 'static', 'anchored' or 'video' */
14
8
  variant: PropTypes.Requireable<string>;
15
9
  /** Height for hero section (string like '60vh' or number) */
16
10
  height: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
17
11
  /** Child nodes to render over the background */
18
12
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
13
+ /** Background image URL (required unless using video variant) */
14
+ img: PropTypes.Requireable<string>;
15
+ /** Alternative text for the background image (optional) */
16
+ imgAlt: PropTypes.Requireable<string>;
17
+ /** ID for the hero section */
18
+ imgId: PropTypes.Requireable<string>;
19
+ /** Video file URL (mp4/webm etc) when using the 'video' variant */
20
+ video: PropTypes.Requireable<string>;
21
+ /** Poster image to show before the video plays */
22
+ videoPoster: PropTypes.Requireable<string>;
19
23
  };
20
24
  }
21
25
  //# sourceMappingURL=hero.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../../../src/components/general/hero.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,YAAY,CAAC;AA+BpB,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,wBAAgB,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAkB,EAAE,MAAe,EAAE,QAAQ,EAAE,EAAE,QAAQ,2CA2DnG;yBA3De,IAAI;;QAdnB,sCAAsC;;QAEtC,2DAA2D;;QAE3D,8BAA8B;;QAE9B,6CAA6C;;QAE7C,6DAA6D;;QAE7D,gDAAgD"}
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../../../src/components/general/hero.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,YAAY,CAAC;AAoCpB,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,wBAAgB,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAkB,EAAE,MAAe,EAAE,QAAQ,EAAE,EAAE,QAAQ,2CAoFvH;yBApFe,IAAI;;QAlBnB,sDAAsD;;QAEtD,6DAA6D;;QAE7D,gDAAgD;;QAEhD,iEAAiE;;QAEjE,2DAA2D;;QAE3D,8BAA8B;;QAE9B,mEAAmE;;QAEnE,kDAAkD"}
@@ -2,6 +2,7 @@ import type { BlogPostType } from '../integrations/wordpress.functions';
2
2
  export interface BlogPostingSchema {
3
3
  '@context': string;
4
4
  '@type': string;
5
+ url: string;
5
6
  headline: string;
6
7
  description?: string;
7
8
  image?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema-blogposting.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-blogposting.functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,YAAY,EAClB,kBAAkB,GAAE,OAAe,GACjC,iBAAiB,CAyCnB"}
1
+ {"version":3,"file":"schema-blogposting.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-blogposting.functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,YAAY,EAClB,kBAAkB,GAAE,OAAe,GACjC,iBAAiB,CA2CnB"}
@@ -5,6 +5,19 @@ export declare namespace LocalBusinessSchema {
5
5
  var propTypes: {
6
6
  /** Business name to include in schema (falls back to siteInfo.name). */
7
7
  name: PropTypes.Requireable<string>;
8
+ /** Address object for the business */
9
+ address: PropTypes.Requireable<PropTypes.InferProps<{
10
+ /** Street address for the business. */
11
+ streetAddress: PropTypes.Requireable<string>;
12
+ /** City or locality for the business address. */
13
+ addressLocality: PropTypes.Requireable<string>;
14
+ /** State/region for the business address. */
15
+ addressRegion: PropTypes.Requireable<string>;
16
+ /** Postal or ZIP code for the address. */
17
+ postalCode: PropTypes.Requireable<string>;
18
+ /** Country for the address (defaults to United States when absent). */
19
+ addressCountry: PropTypes.Requireable<string>;
20
+ }>>;
8
21
  /** Street address for the business. */
9
22
  streetAddress: PropTypes.Requireable<string>;
10
23
  /** City or locality for the business address. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema-localbusiness.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-localbusiness.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqEnD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAE,KAAK,EAAE,uBAAuB,2CAiDlE;yBAjDe,mBAAmB;;QAlCnC,wEAAwE;;QAEvE,uCAAuC;;QAEvC,iDAAiD;;QAEjD,6CAA6C;;QAE7C,0CAA0C;;QAE1C,uEAAuE;;QAEvE,gCAAgC;;QAEhC,6BAA6B;;QAE7B,+CAA+C;;QAE/C,gCAAgC;;QAEhC,2FAA2F;;QAE3F,oCAAoC;;QAEpC,6BAA6B;;QAE7B,sCAAsC;;QAEtC,8DAA8D;;QAE9D,wEAAwE"}
1
+ {"version":3,"file":"schema-localbusiness.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-localbusiness.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmFnD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAE,KAAK,EAAE,uBAAuB,2CAoDlE;yBApDe,mBAAmB;;QA/CnC,wEAAwE;;QAEvE,sCAAsC;;YAErC,uCAAuC;;YAEvC,iDAAiD;;YAEjD,6CAA6C;;YAE7C,0CAA0C;;YAE1C,uEAAuE;;;QAGxE,uCAAuC;;QAEvC,iDAAiD;;QAEjD,6CAA6C;;QAE7C,0CAA0C;;QAE1C,uEAAuE;;QAEvE,gCAAgC;;QAEhC,6BAA6B;;QAE7B,+CAA+C;;QAE/C,gCAAgC;;QAEhC,2FAA2F;;QAE3F,oCAAoC;;QAEpC,6BAA6B;;QAE7B,sCAAsC;;QAEtC,8DAA8D;;QAE9D,wEAAwE"}
@@ -1 +1 @@
1
- {"version":3,"file":"smartimage.d.ts","sourceRoot":"","sources":["../../../../src/components/general/smartimage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0HnD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACjH,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,2CA2I/C;yBA3Ie,UAAU;;QA/C1B,2EAA2E;;QAE1E,kCAAkC;;QAElC,6CAA6C;;QAG7C,gCAAgC;;QAEhC,yCAAyC;;QAEzC,uEAAuE;;QAEvE,kCAAkC;;QAElC,mFAAmF;;QAEnF,uCAAuC;;QAEvC,wDAAwD;;QAExD,qCAAqC;;QAErC,+CAA+C;;QAE/C,sDAAsD;;QAEtD,sDAAsD;;QAEtD,wDAAwD;;QAExD,iDAAiD;;QAEjD,4BAA4B;;QAE5B,yDAAyD;;QAEzD,8CAA8C;;QAE9C,+DAA+D;;QAE/D,+EAA+E;;QAE/E,yDAAyD"}
1
+ {"version":3,"file":"smartimage.d.ts","sourceRoot":"","sources":["../../../../src/components/general/smartimage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0HnD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACjH,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,2CA4I/C;yBA5Ie,UAAU;;QA/C1B,2EAA2E;;QAE1E,kCAAkC;;QAElC,6CAA6C;;QAG7C,gCAAgC;;QAEhC,yCAAyC;;QAEzC,uEAAuE;;QAEvE,kCAAkC;;QAElC,mFAAmF;;QAEnF,uCAAuC;;QAEvC,wDAAwD;;QAExD,qCAAqC;;QAErC,+CAA+C;;QAE/C,sDAAsD;;QAEtD,sDAAsD;;QAEtD,wDAAwD;;QAExD,iDAAiD;;QAEjD,4BAA4B;;QAE5B,yDAAyD;;QAEzD,8CAA8C;;QAE9C,+DAA+D;;QAE/D,+EAA+E;;QAE/E,yDAAyD"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../src/components/general/utilities.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAE,GAAG,EAAE,MAAM,oBAUpC;AAGD,wBAAgB,SAAS,CAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG;;EAmBxC;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAOtD;AAED,wBAAgB,WAAW,WAc1B;AAED,wBAAgB,YAAY,WAK3B;AAED,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,UAEtC;AAGD,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AAQD,wBAAgB,YAAY,CAAE,YAAY,EAAE,MAAM,UAgCjD;AAID;;;;OAII;AACJ,wBAAgB,YAAY,SAoB3B;AAOD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,UA0BhC,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,uBAAuB,UAQnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAOpC,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,oBAAoB,UAoBhC,CAAC"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../src/components/general/utilities.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAE,GAAG,EAAE,MAAM,oBASpC;AAGD,wBAAgB,SAAS,CAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG;;EAmBxC;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAOtD;AAED,wBAAgB,WAAW,WAc1B;AAED,wBAAgB,YAAY,WAK3B;AAED,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,UAEtC;AAGD,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AAQD,wBAAgB,YAAY,CAAE,YAAY,EAAE,MAAM,UAgCjD;AAID;;;;OAII;AACJ,wBAAgB,YAAY,SAoB3B;AAOD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,UA0BhC,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,uBAAuB,UAQnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAOpC,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,oBAAoB,UAoBhC,CAAC"}
@@ -1,5 +1,16 @@
1
1
  import PropTypes, { InferProps } from 'prop-types';
2
+ import type { BlogPostType } from './wordpress.functions';
2
3
  import "./wordpress.css";
4
+ export type getCachedWordPressItemsType = InferProps<typeof getCachedWordPressItems.propTypes>;
5
+ export declare function getCachedWordPressItems(props: {
6
+ site: string;
7
+ }): Promise<BlogPostType[] | undefined>;
8
+ export declare namespace getCachedWordPressItems {
9
+ var propTypes: {
10
+ /** WordPress site identifier (slug or domain) */
11
+ site: PropTypes.Validator<string>;
12
+ };
13
+ }
3
14
  export type BlogPostListType = InferProps<typeof BlogPostList.propTypes>;
4
15
  export declare function BlogPostList(props: BlogPostListType): import("react/jsx-runtime").JSX.Element;
5
16
  export declare namespace BlogPostList {
@@ -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;AAQnD,OAAO,iBAAiB,CAAC;AAgCzB,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAsDnD;yBAtDe,YAAY;;QAZ5B,gCAAgC;;QAE/B,kCAAkC;;QAElC,2CAA2C;;QAE3C,0CAA0C;;QAE1C,wCAAwC;;;;AA0FzC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,2CAgDzD;yBAhDe,eAAe;;QAlB/B,iCAAiC;;QAEhC,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;;QAJlC,8BAA8B"}
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;AA2BzB,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC/F,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,uCAsBpE;yBAtBqB,uBAAuB;;QAJ5C,iDAAiD;;;;AAmDlD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,2CAsDnD;yBAtDe,YAAY;;QAZ3B,gCAAgC;;QAEhC,kCAAkC;;QAElC,2CAA2C;;QAE3C,0CAA0C;;QAE1C,wCAAwC;;;;AA0FzC,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"}
@@ -4,7 +4,19 @@ export type BlogPostType = {
4
4
  title: string;
5
5
  date: string;
6
6
  modified?: string;
7
- author?: string;
7
+ author?: {
8
+ "ID": number;
9
+ "login": string;
10
+ "email": string | boolean;
11
+ "name": string;
12
+ "first_name": string;
13
+ "last_name": string;
14
+ "nice_name": string;
15
+ "URL": string;
16
+ "avatar_URL": string;
17
+ "profile_URL": string;
18
+ "ip_address": string | false;
19
+ };
8
20
  excerpt: string;
9
21
  content?: string;
10
22
  URL: string;
@@ -31,6 +43,10 @@ export declare namespace getWordPressItems {
31
43
  baseURL: PropTypes.Requireable<string>;
32
44
  };
33
45
  }
46
+ export declare function getWordPressLastModified(props: {
47
+ site: string;
48
+ baseURL?: string;
49
+ }): Promise<any>;
34
50
  export type WordPressSitemapImage = {
35
51
  url: string;
36
52
  title?: string;
@@ -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,MAAM,CAAC;IAChB,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,uCAkChG;yBAlCqB,iBAAiB;;QARvC,iDAAiD;;QAEhD,0CAA0C;;QAE1C,4CAA4C;;;;AA4C7C,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"}
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,uCA0DhG;yBA1DqB,iBAAiB;;QARvC,iDAAiD;;QAEhD,0CAA0C;;QAE1C,4CAA4C;;;;AA8E7C,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"}
@@ -0,0 +1,7 @@
1
+ import { InferProps } from 'prop-types';
2
+ export type PixelatedFooterType = InferProps<typeof PixelatedFooter.propTypes>;
3
+ export declare function PixelatedFooter(props: PixelatedFooterType): import("react/jsx-runtime").JSX.Element;
4
+ export declare namespace PixelatedFooter {
5
+ var propTypes: {};
6
+ }
7
+ //# sourceMappingURL=pixelated.components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixelated.components.d.ts","sourceRoot":"","sources":["../../../../src/components/pixelated/pixelated.components.tsx"],"names":[],"mappings":"AAGA,OAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQnD,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AAC/E,wBAAgB,eAAe,CAAE,KAAK,EAAE,mBAAmB,2CAc1D;yBAde,eAAe"}
@@ -71,6 +71,7 @@ export * from "./components/integrations/gemini-api.client";
71
71
  export * from "./components/integrations/wordpress.components";
72
72
  export * from "./components/integrations/wordpress.functions";
73
73
  export * from "./components/integrations/yelp";
74
+ export * from "./components/pixelated/pixelated.components";
74
75
  export * from "./components/shoppingcart/ebay.components";
75
76
  export * from "./components/shoppingcart/ebay.functions";
76
77
  export * from "./components/shoppingcart/paypal";
@@ -9,6 +9,16 @@ declare const _default: {
9
9
  type: string;
10
10
  };
11
11
  };
12
+ video: {
13
+ control: {
14
+ type: string;
15
+ };
16
+ };
17
+ videoPoster: {
18
+ control: {
19
+ type: string;
20
+ };
21
+ };
12
22
  variant: {
13
23
  control: {
14
24
  type: string;
@@ -40,4 +50,29 @@ export declare const HeroPlayground: {
40
50
  height: number;
41
51
  };
42
52
  };
53
+ export declare const HeroVideo: {
54
+ render: (args: any) => import("react/jsx-runtime").JSX.Element;
55
+ args: {
56
+ video: string;
57
+ videoPoster: string;
58
+ height: number;
59
+ };
60
+ argTypes: {
61
+ video: {
62
+ control: {
63
+ type: string;
64
+ };
65
+ };
66
+ videoPoster: {
67
+ control: {
68
+ type: string;
69
+ };
70
+ };
71
+ height: {
72
+ control: {
73
+ type: string;
74
+ };
75
+ };
76
+ };
77
+ };
43
78
  //# sourceMappingURL=hero.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hero.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/hero.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,wBASE;AAiBF,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC"}
1
+ {"version":3,"file":"hero.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/hero.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,wBAWE;AAiBF,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AAEF,eAAO,MAAM,SAAS;mBACL,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAiBnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wordpress.components.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordpress.components.test.d.ts","sourceRoot":"","sources":["../../../src/tests/wordpress.components.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelated-tech/components",
3
- "version": "3.13.7",
3
+ "version": "3.13.9",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "author": {
@@ -112,11 +112,11 @@
112
112
  "html-entities": "^2.6.0"
113
113
  },
114
114
  "devDependencies": {
115
- "@aws-sdk/client-amplify": "^3.996.0",
116
- "@aws-sdk/client-cloudwatch": "^3.996.0",
117
- "@aws-sdk/client-iam": "^3.996.0",
118
- "@aws-sdk/client-route-53": "^3.996.0",
119
- "@aws-sdk/xml-builder": "^3.972.5",
115
+ "@aws-sdk/client-amplify": "^3.999.0",
116
+ "@aws-sdk/client-cloudwatch": "^3.999.0",
117
+ "@aws-sdk/client-iam": "^3.999.0",
118
+ "@aws-sdk/client-route-53": "^3.999.0",
119
+ "@aws-sdk/xml-builder": "^3.972.8",
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.11",
128
- "@storybook/addon-docs": "^10.2.11",
127
+ "@storybook/addon-a11y": "^10.2.13",
128
+ "@storybook/addon-docs": "^10.2.13",
129
129
  "@storybook/addon-webpack5-compiler-babel": "^4.0.0",
130
130
  "@storybook/preset-scss": "^1.0.3",
131
- "@storybook/react-webpack5": "^10.2.11",
131
+ "@storybook/react-webpack5": "^10.2.13",
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.0",
136
+ "@types/node": "^25.3.2",
137
137
  "@types/prop-types": "^15.7.15",
138
138
  "@types/react": "^19.2.14",
139
139
  "@types/react-dom": "^19.2.3",
@@ -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.11",
170
+ "storybook": "^10.2.13",
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.2",
176
+ "webpack": "^5.105.3",
177
177
  "webpack-cli": "^6.0.1",
178
178
  "webpack-dev-server": "^5.2.3",
179
179
  "webpack-node-externals": "^3.0.0"