@pixelated-tech/components 3.2.1 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/cms/google.reviews.components.js +7 -0
- package/dist/components/cms/hubspot.components.js +33 -1
- package/dist/components/cms/wordpress.functions.js +52 -0
- package/dist/components/menu/menu-expando.css +97 -90
- package/dist/components/menu/menu-expando.js +115 -17
- package/dist/components/seo/sitemap.js +16 -4
- package/dist/index.js +1 -2
- package/dist/index.server.js +0 -1
- package/dist/types/components/cms/google.reviews.components.d.ts +10 -0
- package/dist/types/components/cms/google.reviews.components.d.ts.map +1 -1
- package/dist/types/components/cms/hubspot.components.d.ts +16 -0
- package/dist/types/components/cms/hubspot.components.d.ts.map +1 -1
- package/dist/types/components/cms/wordpress.functions.d.ts +31 -0
- package/dist/types/components/cms/wordpress.functions.d.ts.map +1 -1
- package/dist/types/components/menu/menu-expando.d.ts.map +1 -1
- package/dist/types/components/seo/sitemap.d.ts +2 -0
- package/dist/types/components/seo/sitemap.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.server.d.ts +0 -1
- package/dist/types/stories/menu/menu-expando.stories.d.ts +8 -0
- package/dist/types/stories/menu/menu-expando.stories.d.ts.map +1 -0
- package/package.json +5 -5
- package/dist/components/cms/hubspot.js +0 -34
- package/dist/types/components/cms/hubspot.d.ts +0 -18
- package/dist/types/components/cms/hubspot.d.ts.map +0 -1
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
4
5
|
import { getGoogleReviewsByPlaceId } from './google.reviews.functions';
|
|
6
|
+
GoogleReviewsCard.propTypes = {
|
|
7
|
+
placeID: PropTypes.string.isRequired,
|
|
8
|
+
language: PropTypes.string,
|
|
9
|
+
maxReviews: PropTypes.number,
|
|
10
|
+
proxyBase: PropTypes.string,
|
|
11
|
+
};
|
|
5
12
|
export function GoogleReviewsCard(props) {
|
|
6
13
|
const [place, setPlace] = useState();
|
|
7
14
|
const [reviews, setReviews] = useState([]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
export function initializeHubSpotScript(region, portalId) {
|
|
@@ -43,3 +43,35 @@ export function HubSpotForm({ region, portalId, formId, target, containerId = 'h
|
|
|
43
43
|
}, [region, portalId, formId, formTarget]);
|
|
44
44
|
return _jsx("div", { className: "hs-form-frame", "data-region": region, "data-form-id": formId, "data-portal-id": portalId });
|
|
45
45
|
}
|
|
46
|
+
HubspotTrackingCode.propTypes = {
|
|
47
|
+
hubID: PropTypes.string.isRequired,
|
|
48
|
+
};
|
|
49
|
+
export function HubspotTrackingCode(props) {
|
|
50
|
+
return (_jsx(_Fragment, { children: _jsx("script", { type: "text/javascript", id: "hs-script-loader", async: true, defer: true, src: `//js-na2.hs-scripts.com/${props.hubID}.js` }) }));
|
|
51
|
+
}
|
|
52
|
+
getHubspotFormSubmissions.propTypes = {
|
|
53
|
+
proxyURL: PropTypes.string.isRequired,
|
|
54
|
+
formGUID: PropTypes.string.isRequired,
|
|
55
|
+
apiToken: PropTypes.string.isRequired,
|
|
56
|
+
};
|
|
57
|
+
export async function getHubspotFormSubmissions(props) {
|
|
58
|
+
const url = `${props.proxyURL}https://api.hubapi.com/form-integrations/v1/submissions/forms/${props.formGUID}`;
|
|
59
|
+
const headers = {
|
|
60
|
+
Authorization: "Bearer " + props.apiToken,
|
|
61
|
+
};
|
|
62
|
+
try {
|
|
63
|
+
const response = await fetch(url, {
|
|
64
|
+
method: 'GET',
|
|
65
|
+
headers: headers,
|
|
66
|
+
});
|
|
67
|
+
if (!response.ok) {
|
|
68
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
69
|
+
}
|
|
70
|
+
const data = await response.json();
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.error('Error fetching HubSpot form submissions:', error);
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import PropTypes from "prop-types";
|
|
1
2
|
// const wpSite = "pixelatedviews.wordpress.com";
|
|
2
3
|
// const wpSite = "19824045";
|
|
3
4
|
// const wpSite = "blog.pixelated.tech";
|
|
4
5
|
const wpApiURL = "https://public-api.wordpress.com/rest/v1/sites/";
|
|
5
6
|
const wpCategoriesPath = "/categories";
|
|
7
|
+
getWordPressItems.propTypes = {
|
|
8
|
+
site: PropTypes.string.isRequired,
|
|
9
|
+
count: PropTypes.number,
|
|
10
|
+
};
|
|
6
11
|
export async function getWordPressItems(props) {
|
|
7
12
|
const requested = props.count; // undefined means fetch all available
|
|
8
13
|
const posts = [];
|
|
@@ -31,6 +36,53 @@ export async function getWordPressItems(props) {
|
|
|
31
36
|
}
|
|
32
37
|
return posts;
|
|
33
38
|
}
|
|
39
|
+
getWordPressItemImages.propTypes = {
|
|
40
|
+
item: PropTypes.object.isRequired,
|
|
41
|
+
};
|
|
42
|
+
export function getWordPressItemImages(item) {
|
|
43
|
+
const images = [];
|
|
44
|
+
const seen = new Set();
|
|
45
|
+
// Helper to swap image origin with post origin
|
|
46
|
+
const swapOrigin = (url) => {
|
|
47
|
+
try {
|
|
48
|
+
const postOrigin = new URL(item.URL).origin;
|
|
49
|
+
const urlObj = new URL(url);
|
|
50
|
+
return `${postOrigin}${urlObj.pathname}`;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
console.log("Error: ", error);
|
|
54
|
+
return url;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
// Featured image
|
|
58
|
+
if (item.featured_image && !seen.has(item.featured_image)) {
|
|
59
|
+
seen.add(item.featured_image);
|
|
60
|
+
images.push({
|
|
61
|
+
url: swapOrigin(item.featured_image),
|
|
62
|
+
title: item.title,
|
|
63
|
+
caption: item.excerpt,
|
|
64
|
+
thumbnail_loc: item.post_thumbnail?.URL,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// Attachments
|
|
68
|
+
if (item.attachments) {
|
|
69
|
+
for (const key in item.attachments) {
|
|
70
|
+
const att = item.attachments[key];
|
|
71
|
+
if (att.URL && !seen.has(att.URL)) {
|
|
72
|
+
seen.add(att.URL);
|
|
73
|
+
images.push({
|
|
74
|
+
url: swapOrigin(att.URL),
|
|
75
|
+
title: att.title,
|
|
76
|
+
caption: att.caption || att.description,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return images;
|
|
82
|
+
}
|
|
83
|
+
getWordPressCategories.propTypes = {
|
|
84
|
+
site: PropTypes.string.isRequired,
|
|
85
|
+
};
|
|
34
86
|
export async function getWordPressCategories(props) {
|
|
35
87
|
const wpCategoriesURL = wpApiURL + props.site + wpCategoriesPath;
|
|
36
88
|
const categories = [];
|
|
@@ -1,127 +1,134 @@
|
|
|
1
1
|
|
|
2
|
+
|
|
2
3
|
/* ========================================
|
|
3
|
-
=====
|
|
4
|
+
===== MENU EXPANDO COMPONENT =====
|
|
4
5
|
======================================== */
|
|
5
6
|
|
|
6
|
-
.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/* display: inline; */
|
|
10
|
-
margin: 0px 10px 0px 0px;
|
|
11
|
-
padding: 5px;
|
|
12
|
-
text-align: center;
|
|
13
|
-
width: 35px;
|
|
7
|
+
.menuExpando {
|
|
8
|
+
display: inline-block;
|
|
9
|
+
}
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-webkit-border-radius: 5px;
|
|
18
|
-
border-radius: 5px;
|
|
11
|
+
details.menuExpandoWrapper {
|
|
12
|
+
display: inline-block;
|
|
19
13
|
}
|
|
20
14
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
details.menuExpandoWrapper > summary {
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
user-select: none;
|
|
18
|
+
background: #336699;
|
|
19
|
+
color: white;
|
|
20
|
+
padding: 10px 15px;
|
|
21
|
+
border-radius: 4px;
|
|
22
|
+
font-weight: bold;
|
|
23
|
+
display: inline-block;
|
|
24
|
+
transition: background 0.3s ease;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
.
|
|
28
|
-
background
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
padding: 15px;
|
|
27
|
+
details.menuExpandoWrapper > summary:hover {
|
|
28
|
+
background: #2d5a8a;
|
|
29
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
30
|
+
}
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
border-radius: 5px;
|
|
32
|
+
details.menuExpandoWrapper > summary::marker,
|
|
33
|
+
details.menuExpandoWrapper > summary::-webkit-details-marker {
|
|
34
|
+
display: none;
|
|
37
35
|
}
|
|
38
36
|
|
|
37
|
+
details.menuExpandoWrapper > summary::before {
|
|
38
|
+
content: '▼';
|
|
39
|
+
display: inline-block;
|
|
40
|
+
}
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
details.menuExpandoWrapper[open] > summary::before {
|
|
43
|
+
content: '▲';
|
|
44
|
+
}
|
|
43
45
|
|
|
44
|
-
details.menuExpandoWrapper {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
left: 0px;
|
|
51
|
-
top: 60px;
|
|
52
|
-
/* height: 100%; */
|
|
53
|
-
width: 220px;
|
|
54
|
-
z-index: 1000;
|
|
55
|
-
/* padding: 5px; */
|
|
46
|
+
details.menuExpandoWrapper ul {
|
|
47
|
+
margin-top: 10px;
|
|
48
|
+
padding-left: 20px;
|
|
49
|
+
list-style: none;
|
|
50
|
+
overflow: visible;
|
|
51
|
+
max-height: 1000px;
|
|
56
52
|
}
|
|
57
53
|
|
|
58
|
-
details.menuExpandoWrapper
|
|
59
|
-
|
|
60
|
-
list-style: none;
|
|
61
|
-
height: 0px;
|
|
62
|
-
width: 0px;
|
|
54
|
+
details.menuExpandoWrapper li {
|
|
55
|
+
margin: 5px 0;
|
|
63
56
|
}
|
|
64
57
|
|
|
65
|
-
details.menuExpandoWrapper
|
|
66
|
-
|
|
58
|
+
details.menuExpandoWrapper a {
|
|
59
|
+
color: #333;
|
|
60
|
+
text-decoration: none;
|
|
61
|
+
transition: color 0.2s ease;
|
|
67
62
|
}
|
|
68
63
|
|
|
69
|
-
details.menuExpandoWrapper:
|
|
70
|
-
|
|
64
|
+
details.menuExpandoWrapper a:hover {
|
|
65
|
+
color: #336699;
|
|
66
|
+
text-decoration: underline;
|
|
71
67
|
}
|
|
72
68
|
|
|
73
|
-
|
|
74
|
-
details.
|
|
75
|
-
|
|
76
|
-
animation: sweep 1s ease-out;
|
|
69
|
+
/* ========== NESTED MENU STYLING ========== */
|
|
70
|
+
details.menuExpandoNested {
|
|
71
|
+
display: block;
|
|
77
72
|
}
|
|
78
73
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
74
|
+
details.menuExpandoNested > summary {
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
user-select: none;
|
|
77
|
+
padding: 5px 0;
|
|
78
|
+
font-weight: 500;
|
|
79
|
+
display: list-item;
|
|
80
|
+
color: #333;
|
|
81
|
+
transition: color 0.2s ease;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
details.
|
|
85
|
-
|
|
86
|
-
display:none;
|
|
84
|
+
details.menuExpandoNested > summary:hover {
|
|
85
|
+
color: #336699;
|
|
87
86
|
}
|
|
88
87
|
|
|
89
|
-
.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
display: inline-block;
|
|
93
|
-
list-style-type: none;
|
|
94
|
-
padding: 0;
|
|
95
|
-
width: 200px;
|
|
96
|
-
margin: 10px;
|
|
88
|
+
details.menuExpandoNested > summary a {
|
|
89
|
+
color: inherit;
|
|
90
|
+
text-decoration: none;
|
|
97
91
|
}
|
|
98
92
|
|
|
99
|
-
.
|
|
100
|
-
|
|
101
|
-
border-bottom: 1px solid #FFF;
|
|
93
|
+
details.menuExpandoNested > summary a:hover {
|
|
94
|
+
text-decoration: underline;
|
|
102
95
|
}
|
|
103
96
|
|
|
104
|
-
.
|
|
105
|
-
|
|
106
|
-
|
|
97
|
+
details.menuExpandoNested > summary::marker,
|
|
98
|
+
details.menuExpandoNested > summary::-webkit-details-marker {
|
|
99
|
+
color: #666;
|
|
107
100
|
}
|
|
108
101
|
|
|
109
|
-
.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
102
|
+
details.menuExpandoNested > ul {
|
|
103
|
+
margin: 0px;
|
|
104
|
+
padding-left: 20px;
|
|
105
|
+
list-style: none;
|
|
106
|
+
max-height: 0px;
|
|
107
|
+
opacity: 0;
|
|
108
|
+
overflow: hidden;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
details.menuExpandoNested li {
|
|
112
|
+
margin: 3px 0;
|
|
120
113
|
}
|
|
121
114
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
115
|
+
/* ========== ANIMATIONS ========== */
|
|
116
|
+
@keyframes menuExpandoSlideDown {
|
|
117
|
+
from {
|
|
118
|
+
opacity: 0;
|
|
119
|
+
}
|
|
120
|
+
to {
|
|
121
|
+
opacity: 1;
|
|
122
|
+
}
|
|
127
123
|
}
|
|
124
|
+
|
|
125
|
+
@keyframes menuExpandoSlideUp {
|
|
126
|
+
from {
|
|
127
|
+
opacity: 1;
|
|
128
|
+
}
|
|
129
|
+
to {
|
|
130
|
+
opacity: 0;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
|
|
@@ -1,28 +1,131 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import './menu-expando.css';
|
|
5
|
-
/*
|
|
6
|
-
NOTE :
|
|
7
|
-
Stopped development on details / summary for now.
|
|
8
|
-
Not enough css control for animation.
|
|
9
|
-
*/
|
|
10
|
-
/* ========== MENU ========== */
|
|
11
6
|
export function MenuExpando(props) {
|
|
12
|
-
|
|
7
|
+
const detailsRef = useRef(null);
|
|
8
|
+
const ulRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const details = detailsRef.current;
|
|
11
|
+
const ul = ulRef.current;
|
|
12
|
+
if (!details || !ul)
|
|
13
|
+
return;
|
|
14
|
+
const summary = details.querySelector('summary');
|
|
15
|
+
if (!summary)
|
|
16
|
+
return;
|
|
17
|
+
// Initialize nested menus to be closed
|
|
18
|
+
const nestedDetails = details.querySelectorAll('details.menuExpandoNested');
|
|
19
|
+
nestedDetails.forEach((nested) => {
|
|
20
|
+
const nestedUl = nested.querySelector('ul');
|
|
21
|
+
if (nestedUl) {
|
|
22
|
+
nestedUl.style.maxHeight = '0px';
|
|
23
|
+
nestedUl.style.opacity = '0';
|
|
24
|
+
nestedUl.style.overflow = 'hidden';
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
let isAnimating = false;
|
|
28
|
+
summary.addEventListener('click', (e) => {
|
|
29
|
+
if (isAnimating) {
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
isAnimating = true;
|
|
35
|
+
if (details.open) {
|
|
36
|
+
// Closing animation
|
|
37
|
+
ul.style.animation = 'menuExpandoSlideUp 0.3s ease-out forwards';
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
details.open = false;
|
|
40
|
+
ul.style.animation = '';
|
|
41
|
+
isAnimating = false;
|
|
42
|
+
}, 300);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Opening animation
|
|
46
|
+
details.open = true;
|
|
47
|
+
ul.style.animation = 'menuExpandoSlideDown 0.3s ease-out forwards';
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
ul.style.animation = '';
|
|
50
|
+
isAnimating = false;
|
|
51
|
+
}, 300);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
// Handle nested menu animations
|
|
55
|
+
const nestedDetailsForAnimation = details.querySelectorAll('details.menuExpandoNested');
|
|
56
|
+
nestedDetailsForAnimation.forEach((nested) => {
|
|
57
|
+
nested.addEventListener('toggle', (e) => {
|
|
58
|
+
const nestedUl = nested.querySelector('ul');
|
|
59
|
+
if (nestedUl) {
|
|
60
|
+
if (nested.open) {
|
|
61
|
+
nestedUl.style.maxHeight = '0px';
|
|
62
|
+
nestedUl.style.opacity = '0';
|
|
63
|
+
nestedUl.style.overflow = 'hidden';
|
|
64
|
+
// Force reflow
|
|
65
|
+
void nestedUl.offsetHeight;
|
|
66
|
+
nestedUl.style.transition = 'max-height 0.3s ease-out, opacity 0.3s ease-out';
|
|
67
|
+
nestedUl.style.maxHeight = '500px';
|
|
68
|
+
nestedUl.style.opacity = '1';
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
nestedUl.style.overflow = 'visible';
|
|
71
|
+
nestedUl.style.transition = '';
|
|
72
|
+
}, 300);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
nestedUl.style.overflow = 'hidden';
|
|
76
|
+
nestedUl.style.transition = 'max-height 0.3s ease-out, opacity 0.3s ease-out';
|
|
77
|
+
nestedUl.style.maxHeight = '0px';
|
|
78
|
+
nestedUl.style.opacity = '0';
|
|
79
|
+
setTimeout(() => {
|
|
80
|
+
nestedUl.style.transition = '';
|
|
81
|
+
}, 300);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}, []);
|
|
13
87
|
function generateMenuItems() {
|
|
14
88
|
const myItems = [];
|
|
15
|
-
|
|
16
|
-
|
|
89
|
+
console.log('MenuExpando props.menuItems:', props.menuItems);
|
|
90
|
+
console.log('Is array?', Array.isArray(props.menuItems));
|
|
91
|
+
// Handle both object format (name: href) and array format (with name/path properties)
|
|
92
|
+
if (Array.isArray(props.menuItems)) {
|
|
93
|
+
// Array format like MenuAccordion
|
|
94
|
+
console.log('Processing as array, length:', props.menuItems.length);
|
|
95
|
+
for (const item of props.menuItems) {
|
|
96
|
+
console.log('Item:', item);
|
|
97
|
+
if (item.routes && item.routes.length > 0) {
|
|
98
|
+
// Item has nested routes - create expandable submenu
|
|
99
|
+
myItems.push(_jsx("li", { children: _jsxs("details", { className: "menuExpandoNested", children: [_jsx("summary", { children: _jsx("a", { href: item.path, children: item.name }) }), _jsx("ul", { children: item.routes.map((route) => (_jsx(MenuExpandoItem, { name: route.name, href: route.path }, route.name))) })] }) }, item.name));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// Regular item without nested routes
|
|
103
|
+
myItems.push(_jsx(MenuExpandoItem, { name: item.name, href: item.path }, item.name));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
17
106
|
}
|
|
107
|
+
else {
|
|
108
|
+
// Object format
|
|
109
|
+
console.log('Processing as object');
|
|
110
|
+
for (const itemKey in props.menuItems) {
|
|
111
|
+
myItems.push(_jsx(MenuExpandoItem, { name: itemKey, href: props.menuItems[itemKey] }, itemKey));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
console.log('Generated items count:', myItems.length);
|
|
18
115
|
return myItems;
|
|
19
116
|
}
|
|
20
|
-
return (_jsx("div", { className: "menuExpando", id: "menuExpando", children: _jsxs("details", { className: "menuExpandoWrapper", id: "menuExpandoWrapper", children: [_jsx("summary", {}), _jsx("ul", { children: generateMenuItems() })] }) }));
|
|
117
|
+
return (_jsx("div", { className: "menuExpando", id: "menuExpando", children: _jsxs("details", { className: "menuExpandoWrapper", id: "menuExpandoWrapper", ref: detailsRef, children: [_jsx("summary", {}), _jsx("ul", { ref: ulRef, children: generateMenuItems() })] }) }));
|
|
21
118
|
}
|
|
22
119
|
MenuExpando.propTypes = {
|
|
23
|
-
menuItems: PropTypes.
|
|
120
|
+
menuItems: PropTypes.oneOfType([
|
|
121
|
+
PropTypes.object,
|
|
122
|
+
PropTypes.arrayOf(PropTypes.shape({
|
|
123
|
+
name: PropTypes.string.isRequired,
|
|
124
|
+
path: PropTypes.string.isRequired,
|
|
125
|
+
routes: PropTypes.array,
|
|
126
|
+
}))
|
|
127
|
+
]).isRequired
|
|
24
128
|
};
|
|
25
|
-
/* ========== MENU ITEM ========== */
|
|
26
129
|
export function MenuExpandoItem(props) {
|
|
27
130
|
return (_jsx("li", { children: _jsx("a", { href: props.href, children: props.name }) }));
|
|
28
131
|
}
|
|
@@ -30,15 +133,10 @@ MenuExpandoItem.propTypes = {
|
|
|
30
133
|
name: PropTypes.string.isRequired,
|
|
31
134
|
href: PropTypes.string.isRequired
|
|
32
135
|
};
|
|
33
|
-
/* ========== MENU BUTTON ========== */
|
|
34
136
|
export function MenuExpandoButton() {
|
|
35
137
|
function handleMenuExpandoButtonClick(event) {
|
|
36
|
-
const debug = false;
|
|
37
|
-
if (debug)
|
|
38
|
-
console.log("MenuExpandoButton clicked");
|
|
39
138
|
event.preventDefault();
|
|
40
139
|
event.stopPropagation();
|
|
41
|
-
// const button = document.getElementById('menuExpandoButton');
|
|
42
140
|
const details = document.getElementById('menuExpandoWrapper');
|
|
43
141
|
if (details)
|
|
44
142
|
details.open = !details.open;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import PropTypes from "prop-types";
|
|
2
2
|
import { getAllRoutes } from "./metadata";
|
|
3
|
-
import { getWordPressItems } from "../cms/wordpress.functions";
|
|
3
|
+
import { getWordPressItems, getWordPressItemImages } from "../cms/wordpress.functions";
|
|
4
4
|
import { getContentfulFieldValues, getContentfulAssetURLs } from "../cms/contentful.delivery";
|
|
5
5
|
import { getEbayAppToken, getEbayItemsSearch } from "../shoppingcart/ebay.functions";
|
|
6
6
|
import { getFullPixelatedConfig } from '../config/config';
|
|
@@ -63,6 +63,7 @@ export async function generateSitemap(cfg = {}, originInput) {
|
|
|
63
63
|
// Defaults: pages true, image json true, others false
|
|
64
64
|
const usePages = cfg.createPageURLs ?? true;
|
|
65
65
|
const useWP = cfg.createWordPressURLs ?? false;
|
|
66
|
+
const useWPImages = cfg.createWordPressImageURLs ?? false;
|
|
66
67
|
const useImageJSON = cfg.createImageURLsFromJSON ?? true;
|
|
67
68
|
const useContentful = cfg.createContentfulURLs ?? false;
|
|
68
69
|
const useContentfulImages = cfg.createContentfulImageURLs ?? false;
|
|
@@ -81,7 +82,7 @@ export async function generateSitemap(cfg = {}, originInput) {
|
|
|
81
82
|
}
|
|
82
83
|
// WordPress
|
|
83
84
|
if (useWP && cfg.wordpress?.site) {
|
|
84
|
-
sitemapEntries.push(...(await createWordPressURLs({ site: cfg.wordpress.site })));
|
|
85
|
+
sitemapEntries.push(...(await createWordPressURLs({ site: cfg.wordpress.site, includeImages: useWPImages })));
|
|
85
86
|
}
|
|
86
87
|
// Contentful (pages)
|
|
87
88
|
if (useContentful && cfg.contentful) {
|
|
@@ -151,9 +152,17 @@ export async function createImageURLsFromJSON(origin, jsonPath = 'public/site-im
|
|
|
151
152
|
const resp = await fetch(`${origin}${urlPath}`);
|
|
152
153
|
if (!resp.ok)
|
|
153
154
|
return sitemap;
|
|
154
|
-
const
|
|
155
|
-
|
|
155
|
+
const json = await resp.json();
|
|
156
|
+
let imgs = [];
|
|
157
|
+
if (Array.isArray(json)) {
|
|
158
|
+
imgs = json;
|
|
159
|
+
}
|
|
160
|
+
else if (json && Array.isArray(json.images)) {
|
|
161
|
+
imgs = json.images;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
156
164
|
return sitemap;
|
|
165
|
+
}
|
|
157
166
|
// Use an array of URL strings so the sitemap serializer writes the URL text
|
|
158
167
|
const newImages = imgs.map(i => {
|
|
159
168
|
const rel = i.startsWith('/') ? i : `/${i}`;
|
|
@@ -174,11 +183,14 @@ export async function createWordPressURLs(props) {
|
|
|
174
183
|
const sitemap = [];
|
|
175
184
|
const blogPosts = await getWordPressItems({ site: props.site });
|
|
176
185
|
for await (const post of blogPosts ?? []) {
|
|
186
|
+
// Next.js sitemap only supports string URLs for images, so we map to .url
|
|
187
|
+
const images = props.includeImages ? getWordPressItemImages(post).map(img => img.url) : [];
|
|
177
188
|
sitemap.push({
|
|
178
189
|
url: post.URL,
|
|
179
190
|
lastModified: post.modified ? new Date(post.modified) : new Date(),
|
|
180
191
|
changeFrequency: "hourly",
|
|
181
192
|
priority: 1.0,
|
|
193
|
+
images: images.length > 0 ? images : undefined
|
|
182
194
|
});
|
|
183
195
|
}
|
|
184
196
|
return sitemap;
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,6 @@ export * from './components/cms/google.reviews.functions'; // server-side
|
|
|
14
14
|
export * from './components/cms/gravatar.functions'; // server-side
|
|
15
15
|
export * from './components/cms/gravatar.components';
|
|
16
16
|
export * from './components/cms/hubspot.components';
|
|
17
|
-
export * from './components/cms/hubspot'; // server-side
|
|
18
17
|
export * from './components/cms/instagram.functions'; // server-side
|
|
19
18
|
export * from './components/cms/instagram.components';
|
|
20
19
|
/* export * from './components/linkedin/linkedin'; */
|
|
@@ -34,7 +33,7 @@ export * from './components/general/semantic';
|
|
|
34
33
|
export * from './components/general/sidepanel';
|
|
35
34
|
export * from './components/general/table';
|
|
36
35
|
export * from './components/menu/menu-accordion';
|
|
37
|
-
|
|
36
|
+
export * from './components/menu/menu-expando';
|
|
38
37
|
export * from './components/menu/menu-simple';
|
|
39
38
|
export * from './components/nerdjoke/nerdjoke';
|
|
40
39
|
export * from './components/pagebuilder/components/ComponentPropertiesForm';
|
package/dist/index.server.js
CHANGED
|
@@ -7,7 +7,6 @@ export * from './components/cms/contentful.delivery';
|
|
|
7
7
|
export * from './components/cms/contentful.management';
|
|
8
8
|
export * from './components/cms/flickr';
|
|
9
9
|
export * from './components/cms/google.reviews.functions';
|
|
10
|
-
export * from './components/cms/hubspot';
|
|
11
10
|
export * from './components/cms/gravatar.functions';
|
|
12
11
|
export * from './components/cms/instagram.functions';
|
|
13
12
|
export * from './components/cms/wordpress.functions';
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
+
import PropTypes, { InferProps } from 'prop-types';
|
|
2
|
+
export type GoogleReviewsCardType = InferProps<typeof GoogleReviewsCard.propTypes>;
|
|
1
3
|
export declare function GoogleReviewsCard(props: {
|
|
2
4
|
placeId: string;
|
|
3
5
|
language?: string;
|
|
4
6
|
maxReviews?: number;
|
|
5
7
|
proxyBase?: string;
|
|
6
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace GoogleReviewsCard {
|
|
10
|
+
var propTypes: {
|
|
11
|
+
placeID: PropTypes.Validator<string>;
|
|
12
|
+
language: PropTypes.Requireable<string>;
|
|
13
|
+
maxReviews: PropTypes.Requireable<number>;
|
|
14
|
+
proxyBase: PropTypes.Requireable<string>;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
7
17
|
//# sourceMappingURL=google.reviews.components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.reviews.components.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/google.reviews.components.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google.reviews.components.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/google.reviews.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAYnD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,2CAwFA;yBA7Fe,iBAAiB"}
|
|
@@ -11,5 +11,21 @@ export declare namespace HubSpotForm {
|
|
|
11
11
|
containerId: PropTypes.Requireable<string>;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
+
export type HubspotTrackingCodeType = InferProps<typeof HubspotTrackingCode.propTypes>;
|
|
15
|
+
export declare function HubspotTrackingCode(props: HubspotTrackingCodeType): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare namespace HubspotTrackingCode {
|
|
17
|
+
var propTypes: {
|
|
18
|
+
hubID: PropTypes.Validator<string>;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export type getHubspotFormSubmissionsType = InferProps<typeof getHubspotFormSubmissions.propTypes>;
|
|
22
|
+
export declare function getHubspotFormSubmissions(props: getHubspotFormSubmissionsType): Promise<any>;
|
|
23
|
+
export declare namespace getHubspotFormSubmissions {
|
|
24
|
+
var propTypes: {
|
|
25
|
+
proxyURL: PropTypes.Validator<string>;
|
|
26
|
+
formGUID: PropTypes.Validator<string>;
|
|
27
|
+
apiToken: PropTypes.Validator<string>;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
14
30
|
export {};
|
|
15
31
|
//# sourceMappingURL=hubspot.components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubspot.components.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/hubspot.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"hubspot.components.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/hubspot.components.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKnD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAUvE;AASD,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AAChE,wBAAgB,WAAW,CAAC,EAC3B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAsC,EACxE,EAAE,eAAe,2CAyBjB;yBA3Be,WAAW;;;;;;;;;AAmC3B,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,2CAQjE;yBARe,mBAAmB;;;;;AAmBnC,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B,gBAmBnF;yBAnBqB,yBAAyB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import PropTypes, { InferProps } from "prop-types";
|
|
1
2
|
export type BlogPostType = {
|
|
2
3
|
ID: string;
|
|
3
4
|
title: string;
|
|
@@ -9,11 +10,35 @@ export type BlogPostType = {
|
|
|
9
10
|
URL: string;
|
|
10
11
|
categories: string[];
|
|
11
12
|
featured_image?: string;
|
|
13
|
+
post_thumbnail?: {
|
|
14
|
+
URL: string;
|
|
15
|
+
};
|
|
16
|
+
attachments?: Record<string, any>;
|
|
12
17
|
};
|
|
18
|
+
export type getWordPressItemsType = InferProps<typeof getWordPressItems.propTypes>;
|
|
13
19
|
export declare function getWordPressItems(props: {
|
|
14
20
|
site: string;
|
|
15
21
|
count?: number;
|
|
16
22
|
}): Promise<BlogPostType[] | undefined>;
|
|
23
|
+
export declare namespace getWordPressItems {
|
|
24
|
+
var propTypes: {
|
|
25
|
+
site: PropTypes.Validator<string>;
|
|
26
|
+
count: PropTypes.Requireable<number>;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export type WordPressSitemapImage = {
|
|
30
|
+
url: string;
|
|
31
|
+
title?: string;
|
|
32
|
+
caption?: string;
|
|
33
|
+
thumbnail_loc?: string;
|
|
34
|
+
};
|
|
35
|
+
export type getWordPressItemImagesType = InferProps<typeof getWordPressItemImages.propTypes>;
|
|
36
|
+
export declare function getWordPressItemImages(item: BlogPostType): WordPressSitemapImage[];
|
|
37
|
+
export declare namespace getWordPressItemImages {
|
|
38
|
+
var propTypes: {
|
|
39
|
+
item: PropTypes.Validator<object>;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
17
42
|
export type BlogPostCategoryType = {
|
|
18
43
|
id: number;
|
|
19
44
|
name: string;
|
|
@@ -22,7 +47,13 @@ export type BlogPostCategoryType = {
|
|
|
22
47
|
post_count: number;
|
|
23
48
|
feed_url: string;
|
|
24
49
|
};
|
|
50
|
+
export type getWordPressCategoriesType = InferProps<typeof getWordPressCategories.propTypes>;
|
|
25
51
|
export declare function getWordPressCategories(props: {
|
|
26
52
|
site: string;
|
|
27
53
|
}): Promise<any[] | undefined>;
|
|
54
|
+
export declare namespace getWordPressCategories {
|
|
55
|
+
var propTypes: {
|
|
56
|
+
site: PropTypes.Validator<string>;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
28
59
|
//# sourceMappingURL=wordpress.functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordpress.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/wordpress.functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wordpress.functions.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/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;AAKF,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,CAAA;CAAE,uCA0B9E;yBA1BqB,iBAAiB;;;;;;AAgCvC,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;AAIF,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;;;;;AA8CtC,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;AAIF,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7F,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,8BAcnE;yBAdqB,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-expando.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/menu-expando.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"menu-expando.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/menu-expando.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,CAAC;AAE5B,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,2CA2JrC;yBA3Je,WAAW;;;;;AAwK3B,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,2CAIzC;yBAJe,eAAe;;;;;;AAW/B,wBAAgB,iBAAiB,4CAahC;yBAbe,iBAAiB"}
|
|
@@ -4,6 +4,7 @@ export type SitemapEntry = MetadataRoute.Sitemap[number];
|
|
|
4
4
|
export type SitemapConfig = {
|
|
5
5
|
createPageURLs?: boolean;
|
|
6
6
|
createWordPressURLs?: boolean;
|
|
7
|
+
createWordPressImageURLs?: boolean;
|
|
7
8
|
createImageURLs?: boolean;
|
|
8
9
|
createImageURLsFromJSON?: boolean;
|
|
9
10
|
createContentfulURLs?: boolean;
|
|
@@ -55,6 +56,7 @@ export declare function createPageURLs(myRoutes: {
|
|
|
55
56
|
export declare function createImageURLsFromJSON(origin: string, jsonPath?: string): Promise<SitemapEntry[]>;
|
|
56
57
|
export declare function createWordPressURLs(props: {
|
|
57
58
|
site: string;
|
|
59
|
+
includeImages?: boolean;
|
|
58
60
|
}): Promise<{
|
|
59
61
|
url: string;
|
|
60
62
|
lastModified?: string | Date | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAQ1C,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAWzD,MAAM,MAAM,aAAa,GAAG;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAKF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,EAAE,cAAc,SAA0B,UAU7I;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,SAA0B,mBAatF;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,SAGxC;AAID,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,UAU3D;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,GAAE,aAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAQ1C,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAWzD,MAAM,MAAM,aAAa,GAAG;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAKF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,EAAE,cAAc,SAA0B,UAU7I;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,SAA0B,mBAatF;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,SAGxC;AAID,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,UAU3D;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,GAAE,aAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAmEnH;AAKD,wBAAsB,cAAc,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,MAAM,EAAE,MAAM;;;;;;iBA2N8rK,CAAC;;;;KA5M/wK;AAMD,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA+B3H;AAKD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAC;;;;;;iBAkKurK,CAAC;;;;KAnJ/wK;AAcD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB;;;;;;iBAoIqsK,CAAC;;;;KA/G/wK;yBArBqB,oBAAoB;;;;;;;;;;;AAkC1C,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,SAAS,CAAC,CAAC;AAC/G,wBAAsB,+BAA+B,CAAC,KAAK,EAAE,mCAAmC;;;;;;iBAiG+qK,CAAC;;;;KAjF/wK;yBAhBqB,+BAA+B;;;;;;;;;;;AAgCrD,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAsB7G;yBAtBqB,yBAAyB;;;;;;;;;;;;AAyC/C,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;;;;iBAuBwtK,CAAC;;;;KAN/wK"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ export * from "./components/cms/google.reviews.functions";
|
|
|
14
14
|
export * from "./components/cms/gravatar.functions";
|
|
15
15
|
export * from "./components/cms/gravatar.components";
|
|
16
16
|
export * from "./components/cms/hubspot.components";
|
|
17
|
-
export * from "./components/cms/hubspot";
|
|
18
17
|
export * from "./components/cms/instagram.functions";
|
|
19
18
|
export * from "./components/cms/instagram.components";
|
|
20
19
|
export * from "./components/cms/wordpress.components";
|
|
@@ -32,6 +31,7 @@ export * from "./components/general/semantic";
|
|
|
32
31
|
export * from "./components/general/sidepanel";
|
|
33
32
|
export * from "./components/general/table";
|
|
34
33
|
export * from "./components/menu/menu-accordion";
|
|
34
|
+
export * from "./components/menu/menu-expando";
|
|
35
35
|
export * from "./components/menu/menu-simple";
|
|
36
36
|
export * from "./components/nerdjoke/nerdjoke";
|
|
37
37
|
export * from "./components/pagebuilder/components/ComponentPropertiesForm";
|
|
@@ -3,7 +3,6 @@ export * from "./components/cms/contentful.delivery";
|
|
|
3
3
|
export * from "./components/cms/contentful.management";
|
|
4
4
|
export * from "./components/cms/flickr";
|
|
5
5
|
export * from "./components/cms/google.reviews.functions";
|
|
6
|
-
export * from "./components/cms/hubspot";
|
|
7
6
|
export * from "./components/cms/gravatar.functions";
|
|
8
7
|
export * from "./components/cms/instagram.functions";
|
|
9
8
|
export * from "./components/cms/wordpress.functions";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { MenuExpando as component };
|
|
4
|
+
}
|
|
5
|
+
export default _default;
|
|
6
|
+
export function Expando(): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
import { MenuExpando } from '@/components/menu/menu-expando';
|
|
8
|
+
//# sourceMappingURL=menu-expando.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-expando.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/menu/menu-expando.stories.js"],"names":[],"mappings":";;;;;AAWA,mEAMC;4BAhB2B,gCAAgC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixelated-tech/components",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Pixelated Technologies",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"@eslint/markdown": "^7.5.1",
|
|
89
89
|
"@storybook/addon-webpack5-compiler-babel": "^4.0.0",
|
|
90
90
|
"@storybook/preset-scss": "^1.0.3",
|
|
91
|
-
"@storybook/react-webpack5": "^10.1.
|
|
91
|
+
"@storybook/react-webpack5": "^10.1.6",
|
|
92
92
|
"@types/md5": "^2.3.6",
|
|
93
93
|
"@types/node": "^24.10.2",
|
|
94
94
|
"@types/prop-types": "^15.7.15",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"eslint-plugin-n": "^17.23.1",
|
|
109
109
|
"eslint-plugin-promise": "^7.2.1",
|
|
110
110
|
"eslint-plugin-react": "^7.37.4",
|
|
111
|
-
"eslint-plugin-storybook": "^10.1.
|
|
111
|
+
"eslint-plugin-storybook": "^10.1.6",
|
|
112
112
|
"file-loader": "^6.2.0",
|
|
113
113
|
"less-loader": "^12.3.0",
|
|
114
114
|
"mini-css-extract-plugin": "^2.9.4",
|
|
@@ -117,9 +117,9 @@
|
|
|
117
117
|
"prop-types": "^15.8.1",
|
|
118
118
|
"react": "^19.2.1",
|
|
119
119
|
"react-dom": "^19.2.1",
|
|
120
|
-
"sass": "^1.95.
|
|
120
|
+
"sass": "^1.95.1",
|
|
121
121
|
"sass-loader": "^16.0.6",
|
|
122
|
-
"storybook": "^10.1.
|
|
122
|
+
"storybook": "^10.1.6",
|
|
123
123
|
"style-loader": "^4.0.0",
|
|
124
124
|
"ts-loader": "^9.5.4",
|
|
125
125
|
"typescript": "^5.9.3",
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
HubspotTrackingCode.propTypes = {
|
|
4
|
-
hubID: PropTypes.string.isRequired,
|
|
5
|
-
};
|
|
6
|
-
export function HubspotTrackingCode(props) {
|
|
7
|
-
return (_jsx(_Fragment, { children: _jsx("script", { type: "text/javascript", id: "hs-script-loader", async: true, defer: true, src: `//js-na2.hs-scripts.com/${props.hubID}.js` }) }));
|
|
8
|
-
}
|
|
9
|
-
getHubspotFormSubmissions.propTypes = {
|
|
10
|
-
proxyURL: PropTypes.string.isRequired,
|
|
11
|
-
formGUID: PropTypes.string.isRequired,
|
|
12
|
-
apiToken: PropTypes.string.isRequired,
|
|
13
|
-
};
|
|
14
|
-
export async function getHubspotFormSubmissions(props) {
|
|
15
|
-
const url = `${props.proxyURL}https://api.hubapi.com/form-integrations/v1/submissions/forms/${props.formGUID}`;
|
|
16
|
-
const headers = {
|
|
17
|
-
Authorization: "Bearer " + props.apiToken,
|
|
18
|
-
};
|
|
19
|
-
try {
|
|
20
|
-
const response = await fetch(url, {
|
|
21
|
-
method: 'GET',
|
|
22
|
-
headers: headers,
|
|
23
|
-
});
|
|
24
|
-
if (!response.ok) {
|
|
25
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
26
|
-
}
|
|
27
|
-
const data = await response.json();
|
|
28
|
-
return data;
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
console.error('Error fetching HubSpot form submissions:', error);
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import PropTypes, { InferProps } from 'prop-types';
|
|
2
|
-
export type HubspotTrackingCodeType = InferProps<typeof HubspotTrackingCode.propTypes>;
|
|
3
|
-
export declare function HubspotTrackingCode(props: HubspotTrackingCodeType): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
export declare namespace HubspotTrackingCode {
|
|
5
|
-
var propTypes: {
|
|
6
|
-
hubID: PropTypes.Validator<string>;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export type getHubspotFormSubmissionsType = InferProps<typeof getHubspotFormSubmissions.propTypes>;
|
|
10
|
-
export declare function getHubspotFormSubmissions(props: getHubspotFormSubmissionsType): Promise<any>;
|
|
11
|
-
export declare namespace getHubspotFormSubmissions {
|
|
12
|
-
var propTypes: {
|
|
13
|
-
proxyURL: PropTypes.Validator<string>;
|
|
14
|
-
formGUID: PropTypes.Validator<string>;
|
|
15
|
-
apiToken: PropTypes.Validator<string>;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=hubspot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hubspot.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/hubspot.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKnD,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,2CAQjE;yBARe,mBAAmB;;;;;AAgBnC,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B,gBAmBnF;yBAnBqB,yBAAyB"}
|