@pixelated-tech/components 3.7.1 → 3.7.4
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/admin/site-health/site-health-on-site-seo.integration.js +15 -0
- package/dist/components/general/callout.js +4 -3
- package/dist/components/general/intersection-observer.js +117 -0
- package/dist/components/general/microinteractions.js +39 -50
- package/dist/components/general/schema-services.js +17 -4
- package/dist/components/general/schema-website.js +100 -7
- package/dist/components/general/splitscroll.css +125 -0
- package/dist/components/general/splitscroll.js +89 -0
- package/dist/components/sitebuilder/config/ConfigBuilder.js +142 -25
- package/dist/components/sitebuilder/config/services-form.json +51 -0
- package/dist/components/sitebuilder/config/siteinfo-form.json +68 -0
- package/dist/index.js +2 -0
- package/dist/scripts/generate-site-images.js +7 -4
- package/dist/scripts/setup-remotes.sh +69 -0
- package/dist/scripts/validate-exports.cjs +280 -0
- package/dist/types/components/admin/site-health/site-health-on-site-seo.integration.d.ts.map +1 -1
- package/dist/types/components/config/config.types.d.ts +8 -1
- package/dist/types/components/config/config.types.d.ts.map +1 -1
- package/dist/types/components/general/callout.d.ts +3 -2
- package/dist/types/components/general/callout.d.ts.map +1 -1
- package/dist/types/components/general/intersection-observer.d.ts +73 -0
- package/dist/types/components/general/intersection-observer.d.ts.map +1 -0
- package/dist/types/components/general/microinteractions.d.ts +1 -1
- package/dist/types/components/general/microinteractions.d.ts.map +1 -1
- package/dist/types/components/general/schema-services.d.ts +25 -6
- package/dist/types/components/general/schema-services.d.ts.map +1 -1
- package/dist/types/components/general/schema-website.d.ts +60 -5
- package/dist/types/components/general/schema-website.d.ts.map +1 -1
- package/dist/types/components/general/splitscroll.d.ts +51 -0
- package/dist/types/components/general/splitscroll.d.ts.map +1 -0
- package/dist/types/components/sitebuilder/config/ConfigBuilder.d.ts +30 -0
- package/dist/types/components/sitebuilder/config/ConfigBuilder.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/scripts/validate-exports.d.cts +2 -0
- package/dist/types/scripts/validate-exports.d.cts.map +1 -0
- package/dist/types/stories/callout/callout.stories.d.ts +7 -0
- package/dist/types/stories/callout/callout.stories.d.ts.map +1 -1
- package/dist/types/stories/general/splitscroll.stories.d.ts +19 -0
- package/dist/types/stories/general/splitscroll.stories.d.ts.map +1 -0
- package/dist/types/stories/lookbook/lookbook.stories.d.ts +19 -0
- package/dist/types/stories/lookbook/lookbook.stories.d.ts.map +1 -0
- package/dist/types/tests/splitscroll.test.d.ts +2 -0
- package/dist/types/tests/splitscroll.test.d.ts.map +1 -0
- package/package.json +5 -5
- package/dist/mocks/browser.js +0 -1
- package/dist/mocks/handlers.js +0 -206
- package/dist/mocks/index.js +0 -1
- package/dist/types/mocks/browser.d.ts +0 -1
- package/dist/types/mocks/browser.d.ts.map +0 -1
- package/dist/types/mocks/handlers.d.ts +0 -2
- package/dist/types/mocks/handlers.d.ts.map +0 -1
- package/dist/types/mocks/index.d.ts +0 -1
- package/dist/types/mocks/index.d.ts.map +0 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import glob from 'glob';
|
|
3
|
+
import { CLIENT_ONLY_PATTERNS, TS_FILE_IGNORE_PATTERNS, TSX_FILE_IGNORE_PATTERNS, SERVER_ONLY_PATTERNS } from '../components/utilities/functions.js';
|
|
4
|
+
|
|
5
|
+
console.log('🔍 Validating exports...\n');
|
|
6
|
+
|
|
7
|
+
// Find all .ts files (excluding .d.ts, test files, stories, examples, types.ts)
|
|
8
|
+
const tsFiles = glob.sync('src/components/**/*.ts', {
|
|
9
|
+
ignore: TS_FILE_IGNORE_PATTERNS
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
// Find all .tsx files (excluding test files, stories, examples)
|
|
13
|
+
const tsxFiles = glob.sync('src/components/**/*.tsx', {
|
|
14
|
+
ignore: TSX_FILE_IGNORE_PATTERNS
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// Combine all component files
|
|
18
|
+
const allComponentFiles = [...tsFiles, ...tsxFiles];
|
|
19
|
+
|
|
20
|
+
// Analyze each component file to determine if it's client-required or server-safe
|
|
21
|
+
function analyzeComponentFile(filePath) {
|
|
22
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
23
|
+
|
|
24
|
+
// Server-only patterns that indicate this should only be on server (not client)
|
|
25
|
+
// (Imported from shared utilities)
|
|
26
|
+
|
|
27
|
+
// Client-only patterns that require the component to run on client
|
|
28
|
+
// (Imported from shared utilities)
|
|
29
|
+
|
|
30
|
+
// Check if file contains any server-only patterns
|
|
31
|
+
const isServerOnly = SERVER_ONLY_PATTERNS.some(pattern => pattern.test(content));
|
|
32
|
+
|
|
33
|
+
// Check if file contains any client-only patterns
|
|
34
|
+
const isClientOnly = CLIENT_ONLY_PATTERNS.some(pattern => pattern.test(content));
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
filePath,
|
|
38
|
+
isClientOnly,
|
|
39
|
+
isServerOnly,
|
|
40
|
+
exportPath: filePath.replace('src/', './').replace(/\.tsx?$/, '')
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Analyze all component files
|
|
45
|
+
const analyzedComponents = allComponentFiles.map(analyzeComponentFile);
|
|
46
|
+
|
|
47
|
+
// Special handling for utilities/functions.ts - it's safe for both client and server despite containing pattern definitions
|
|
48
|
+
analyzedComponents.forEach(comp => {
|
|
49
|
+
if (comp.exportPath === './components/utilities/functions') {
|
|
50
|
+
comp.isClientOnly = false;
|
|
51
|
+
comp.isServerOnly = false;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// Separate admin and non-admin components
|
|
56
|
+
const adminComponents = analyzedComponents.filter(comp => comp.exportPath.startsWith('./components/admin/'));
|
|
57
|
+
const nonAdminComponents = analyzedComponents.filter(comp => !comp.exportPath.startsWith('./components/admin/'));
|
|
58
|
+
|
|
59
|
+
// Create arrays of components for each bundle (non-admin only)
|
|
60
|
+
// If a component has server-only patterns, it's server-only; if client-only and not server-only, client-only; else safe
|
|
61
|
+
const serverOnlyComponents = nonAdminComponents.filter(comp => comp.isServerOnly);
|
|
62
|
+
const clientOnlyComponents = nonAdminComponents.filter(comp => comp.isClientOnly && !comp.isServerOnly);
|
|
63
|
+
const clientAndServerSafeComponents = nonAdminComponents.filter(comp => !comp.isClientOnly && !comp.isServerOnly);
|
|
64
|
+
|
|
65
|
+
// Read index files
|
|
66
|
+
const indexServer = fs.readFileSync('src/index.server.js', 'utf8');
|
|
67
|
+
const indexClient = fs.readFileSync('src/index.js', 'utf8');
|
|
68
|
+
const indexAdminServer = fs.readFileSync('src/index.adminserver.js', 'utf8');
|
|
69
|
+
const indexAdminClient = fs.readFileSync('src/index.adminclient.js', 'utf8');
|
|
70
|
+
|
|
71
|
+
// Helper function to extract exports from index file
|
|
72
|
+
function extractExports(content) {
|
|
73
|
+
// Remove comments
|
|
74
|
+
content = content.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
75
|
+
content = content.replace(/\/\/.*$/gm, '');
|
|
76
|
+
|
|
77
|
+
const exports = [];
|
|
78
|
+
|
|
79
|
+
// Handle export * from './path' syntax
|
|
80
|
+
const exportAllRegex = /export\s+\*\s+from\s+['"]([^'"]+)['"]/g;
|
|
81
|
+
let match;
|
|
82
|
+
|
|
83
|
+
while ((match = exportAllRegex.exec(content)) !== null) {
|
|
84
|
+
exports.push(match[1]);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Handle export { ... } from './path' syntax
|
|
88
|
+
const exportRegex = /export\s+{\s*([^}]+)\s*}\s+from\s+['"]([^'"]+)['"]/g;
|
|
89
|
+
while ((match = exportRegex.exec(content)) !== null) {
|
|
90
|
+
const exportList = match[1];
|
|
91
|
+
const exportItems = exportList.split(',').map(item => item.trim());
|
|
92
|
+
exports.push(...exportItems.map(item => match[2])); // Use the from path
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return exports;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Extract exports from all index files
|
|
99
|
+
const serverExports = extractExports(indexServer);
|
|
100
|
+
const clientExports = extractExports(indexClient);
|
|
101
|
+
const adminServerExports = extractExports(indexAdminServer);
|
|
102
|
+
const adminClientExports = extractExports(indexAdminClient);
|
|
103
|
+
|
|
104
|
+
const missing = {
|
|
105
|
+
server: [],
|
|
106
|
+
client: [],
|
|
107
|
+
adminServer: [],
|
|
108
|
+
adminClient: [],
|
|
109
|
+
files: [] // New: exported paths that don't correspond to existing files
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const bundleErrors = {
|
|
113
|
+
server: [], // Client-only components incorrectly in server bundle
|
|
114
|
+
client: [], // Server-only components incorrectly in client bundle
|
|
115
|
+
adminServer: [], // Client-only components incorrectly in admin server bundle
|
|
116
|
+
adminClient: [] // Server-only components incorrectly in admin client bundle
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// Check if exported paths correspond to existing files
|
|
120
|
+
function checkExportPathsExist(exports, bundleName) {
|
|
121
|
+
exports.forEach(exportPath => {
|
|
122
|
+
// Convert export path to file path (./components/... -> src/components/...)
|
|
123
|
+
const filePathBase = exportPath.replace('./', 'src/');
|
|
124
|
+
const tsFile = `${filePathBase}.ts`;
|
|
125
|
+
const tsxFile = `${filePathBase}.tsx`;
|
|
126
|
+
|
|
127
|
+
const tsExists = fs.existsSync(tsFile);
|
|
128
|
+
const tsxExists = fs.existsSync(tsxFile);
|
|
129
|
+
|
|
130
|
+
if (!tsExists && !tsxExists) {
|
|
131
|
+
missing.files.push(`${bundleName}: ${exportPath} (.ts/.tsx files not found)`);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
checkExportPathsExist(serverExports, 'server bundle');
|
|
137
|
+
checkExportPathsExist(clientExports, 'client bundle');
|
|
138
|
+
checkExportPathsExist(adminServerExports, 'admin server bundle');
|
|
139
|
+
checkExportPathsExist(adminClientExports, 'admin client bundle');
|
|
140
|
+
|
|
141
|
+
// Check for missing exports
|
|
142
|
+
clientAndServerSafeComponents.forEach(comp => {
|
|
143
|
+
if (!serverExports.includes(comp.exportPath)) {
|
|
144
|
+
missing.server.push(comp.exportPath);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
serverOnlyComponents.forEach(comp => {
|
|
149
|
+
if (!serverExports.includes(comp.exportPath)) {
|
|
150
|
+
missing.server.push(comp.exportPath);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
clientOnlyComponents.forEach(comp => {
|
|
155
|
+
if (!clientExports.includes(comp.exportPath)) {
|
|
156
|
+
missing.client.push(comp.exportPath);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
clientAndServerSafeComponents.forEach(comp => {
|
|
161
|
+
if (!clientExports.includes(comp.exportPath)) {
|
|
162
|
+
missing.client.push(comp.exportPath);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// Check admin components - separate server and client bundles
|
|
167
|
+
const serverRelevantAdmin = adminComponents.filter(comp => comp.isServerOnly || !comp.isClientOnly);
|
|
168
|
+
const clientRelevantAdmin = adminComponents.filter(comp => comp.isClientOnly || !comp.isServerOnly);
|
|
169
|
+
|
|
170
|
+
serverRelevantAdmin.forEach(comp => {
|
|
171
|
+
if (!adminServerExports.includes(comp.exportPath)) {
|
|
172
|
+
missing.adminServer.push(comp.exportPath);
|
|
173
|
+
}
|
|
174
|
+
if (serverExports.includes(comp.exportPath) && !comp.isServerOnly) {
|
|
175
|
+
bundleErrors.server.push(comp.exportPath + ' (admin component in server bundle)');
|
|
176
|
+
}
|
|
177
|
+
if (clientExports.includes(comp.exportPath) && !comp.isServerOnly) {
|
|
178
|
+
bundleErrors.client.push(comp.exportPath + ' (admin component in client bundle)');
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
clientRelevantAdmin.forEach(comp => {
|
|
183
|
+
if (!adminClientExports.includes(comp.exportPath)) {
|
|
184
|
+
missing.adminClient.push(comp.exportPath);
|
|
185
|
+
}
|
|
186
|
+
if (serverExports.includes(comp.exportPath) && comp.isClientOnly) {
|
|
187
|
+
bundleErrors.server.push(comp.exportPath + ' (client-only admin component in server bundle)');
|
|
188
|
+
}
|
|
189
|
+
// Allow client-only components in adminserver if they are also server-only (both)
|
|
190
|
+
if (adminServerExports.includes(comp.exportPath) && comp.isClientOnly && !comp.isServerOnly) {
|
|
191
|
+
bundleErrors.adminServer.push(comp.exportPath + ' (client-only admin component in admin server bundle)');
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
// Check for bundle contamination errors
|
|
196
|
+
clientOnlyComponents.forEach(comp => {
|
|
197
|
+
if (serverExports.includes(comp.exportPath)) {
|
|
198
|
+
bundleErrors.server.push(comp.exportPath);
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
serverOnlyComponents.forEach(comp => {
|
|
203
|
+
if (clientExports.includes(comp.exportPath)) {
|
|
204
|
+
bundleErrors.client.push(comp.exportPath + ' (server-only component in client bundle)');
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
// Report results
|
|
209
|
+
console.log('📊 Analysis Results:');
|
|
210
|
+
console.log(` Found ${allComponentFiles.length} component files`);
|
|
211
|
+
console.log(` ${clientOnlyComponents.length} client-only components`);
|
|
212
|
+
console.log(` ${clientAndServerSafeComponents.length} client-and-server-safe components`);
|
|
213
|
+
console.log(` ${serverOnlyComponents.length} server-only components`);
|
|
214
|
+
console.log(` ${adminComponents.length} admin components`);
|
|
215
|
+
if (missing.server.length > 0) {
|
|
216
|
+
console.log('❌ Missing from server bundle (index.server.js):');
|
|
217
|
+
missing.server.forEach(path => console.log(` - ${path}`));
|
|
218
|
+
console.log('');
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (missing.client.length > 0) {
|
|
222
|
+
console.log('❌ Missing from client bundle (index.js):');
|
|
223
|
+
missing.client.forEach(path => console.log(` - ${path}`));
|
|
224
|
+
console.log('');
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (missing.adminServer.length > 0) {
|
|
228
|
+
console.log('❌ Missing from admin server bundle (index.adminserver.js):');
|
|
229
|
+
missing.adminServer.forEach(path => console.log(` - ${path}`));
|
|
230
|
+
console.log('');
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
if (missing.adminClient.length > 0) {
|
|
234
|
+
console.log('❌ Missing from admin client bundle (index.adminclient.js):');
|
|
235
|
+
missing.adminClient.forEach(path => console.log(` - ${path}`));
|
|
236
|
+
console.log('');
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (bundleErrors.server.length > 0) {
|
|
240
|
+
console.log('🚨 Bundle contamination errors:');
|
|
241
|
+
console.log(' Client-required components incorrectly exported from server bundle:');
|
|
242
|
+
bundleErrors.server.forEach(path => console.log(` - ${path}`));
|
|
243
|
+
console.log('');
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if (bundleErrors.client.length > 0) {
|
|
247
|
+
console.log('🚨 Bundle contamination errors:');
|
|
248
|
+
console.log(' Server-required components incorrectly exported from client bundle:');
|
|
249
|
+
bundleErrors.client.forEach(path => console.log(` - ${path}`));
|
|
250
|
+
console.log('');
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (bundleErrors.adminServer.length > 0) {
|
|
254
|
+
console.log('🚨 Bundle contamination errors:');
|
|
255
|
+
console.log(' Client-required components incorrectly exported from admin server bundle:');
|
|
256
|
+
bundleErrors.adminServer.forEach(path => console.log(` - ${path}`));
|
|
257
|
+
console.log('');
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
if (bundleErrors.adminClient.length > 0) {
|
|
261
|
+
console.log('🚨 Bundle contamination errors:');
|
|
262
|
+
console.log(' Server-only components incorrectly exported from admin client bundle:');
|
|
263
|
+
bundleErrors.adminClient.forEach(path => console.log(` - ${path}`));
|
|
264
|
+
console.log('');
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
if (missing.files.length > 0) {
|
|
268
|
+
console.log('❌ Exported paths that don\'t exist:');
|
|
269
|
+
missing.files.forEach(path => console.log(` - ${path}`));
|
|
270
|
+
console.log('');
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
const hasErrors = missing.server.length > 0 || missing.client.length > 0 || missing.adminServer.length > 0 || missing.adminClient.length > 0 || bundleErrors.server.length > 0 || bundleErrors.client.length > 0 || bundleErrors.adminServer.length > 0 || bundleErrors.adminClient.length > 0 || missing.files.length > 0;
|
|
274
|
+
|
|
275
|
+
if (hasErrors) {
|
|
276
|
+
console.log('❌ Validation failed!');
|
|
277
|
+
process.exit(1);
|
|
278
|
+
} else {
|
|
279
|
+
console.log('✅ All exports validated successfully!');
|
|
280
|
+
}
|
package/dist/types/components/admin/site-health/site-health-on-site-seo.integration.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-health-on-site-seo.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-on-site-seo.integration.ts"],"names":[],"mappings":"AAq0BA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,QAAQ,GAAG,eAAe,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"site-health-on-site-seo.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-on-site-seo.integration.ts"],"names":[],"mappings":"AAq0BA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,QAAQ,GAAG,eAAe,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6dD;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA6KtF"}
|
|
@@ -95,6 +95,14 @@ export interface SiteInfo {
|
|
|
95
95
|
priceRange?: string;
|
|
96
96
|
sameAs?: string[];
|
|
97
97
|
keywords?: string;
|
|
98
|
+
publisherType?: string;
|
|
99
|
+
copyrightYear?: number;
|
|
100
|
+
potentialAction?: {
|
|
101
|
+
"@type"?: string;
|
|
102
|
+
target: string;
|
|
103
|
+
"query-input"?: string;
|
|
104
|
+
queryInput?: string;
|
|
105
|
+
};
|
|
98
106
|
author?: string;
|
|
99
107
|
theme_color?: string;
|
|
100
108
|
background_color?: string;
|
|
@@ -114,7 +122,6 @@ export interface PixelatedConfig {
|
|
|
114
122
|
hubspot?: HubspotConfig;
|
|
115
123
|
paypal?: PaypalConfig;
|
|
116
124
|
proxy?: ProxyConfig;
|
|
117
|
-
siteInfo?: SiteInfo;
|
|
118
125
|
wordpress?: WordpressConfig;
|
|
119
126
|
}
|
|
120
127
|
//# sourceMappingURL=config.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export type VariantType = typeof variants[number];
|
|
|
9
9
|
export type LayoutType = typeof layouts[number];
|
|
10
10
|
export type DirectionType = typeof directions[number];
|
|
11
11
|
export type CalloutType = InferProps<typeof Callout.propTypes>;
|
|
12
|
-
export declare function Callout({ variant, boxShape, layout, direction, gridColumns, url, img, imgAlt, imgShape, imgClick, title, subtitle, content, buttonText, aboveFold, }: CalloutType): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function Callout({ variant, boxShape, layout, direction, gridColumns, url, img, imgAlt, imgShape, imgClick, title, subtitle, content, children, buttonText, aboveFold, }: CalloutType): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export declare namespace Callout {
|
|
14
14
|
var propTypes: {
|
|
15
15
|
variant: PropTypes.Requireable<"split" | "grid" | "overlay" | "default" | "boxed" | "boxed grid" | "full">;
|
|
@@ -27,7 +27,8 @@ export declare namespace Callout {
|
|
|
27
27
|
imgClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
28
28
|
title: PropTypes.Requireable<string>;
|
|
29
29
|
subtitle: PropTypes.Requireable<string>;
|
|
30
|
-
content: PropTypes.Requireable<
|
|
30
|
+
content: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
31
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
31
32
|
buttonText: PropTypes.Requireable<string>;
|
|
32
33
|
aboveFold: PropTypes.Requireable<boolean>;
|
|
33
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../../src/components/general/callout.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,gBAAgB,CAAC;AAiBxB,eAAO,MAAM,QAAQ,iFAAkF,CAAC;AACxG,eAAO,MAAM,MAAM,mDAAoD,CAAC;AACxE,eAAO,MAAM,OAAO,qCAAsC,CAAC;AAC3D,eAAO,MAAM,UAAU,4BAA6B,CAAC;AAGrD,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../../src/components/general/callout.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,gBAAgB,CAAC;AAiBxB,eAAO,MAAM,QAAQ,iFAAkF,CAAC;AACxG,eAAO,MAAM,MAAM,mDAAoD,CAAC;AACxE,eAAO,MAAM,OAAO,qCAAsC,CAAC;AAC3D,eAAO,MAAM,UAAU,4BAA6B,CAAC;AAGrD,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AA2BtD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/D,wBAAgB,OAAO,CAAC,EACvB,OAAmB,EACnB,QAAqB,EACrB,MAAqB,EACrB,SAAkB,EAClB,WAAiC,EACjC,GAAG,EAAE,GAAG,EAAE,MAAM,EAChB,QAAmB,EACnB,QAAQ,EACR,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAC9C,SAAS,GAGgB,EAAE,WAAW,2CA2EtC;yBAxFe,OAAO;;;;;;;;;;;;;;;;;;;;;;;AAkGvB,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAE,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAC,EAAE,iBAAiB,2CASrE;yBATe,aAAa;;;;;;;AAmB7B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAG,iBAAiB,2CAgBxE;yBAhBe,aAAa"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Options for the IntersectionObserver hook
|
|
4
|
+
*/
|
|
5
|
+
export interface UseIntersectionObserverOptions {
|
|
6
|
+
/** The element that is used as the viewport for checking visibility (null = browser viewport) */
|
|
7
|
+
root?: Element | null;
|
|
8
|
+
/** Margin around the root. Can have values similar to CSS margin property */
|
|
9
|
+
rootMargin?: string;
|
|
10
|
+
/** Either a single number or an array of numbers between 0 and 1 indicating at what percentage of the target's visibility the observer's callback should be executed */
|
|
11
|
+
threshold?: number | number[];
|
|
12
|
+
/** Whether to disconnect the observer after the first intersection */
|
|
13
|
+
disconnectAfterIntersection?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Callback function type for intersection changes
|
|
17
|
+
*/
|
|
18
|
+
export type IntersectionCallback = (entry: IntersectionObserverEntry, observer: IntersectionObserver) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Custom hook for IntersectionObserver
|
|
21
|
+
*
|
|
22
|
+
* @param callback - Function to call when intersection changes
|
|
23
|
+
* @param options - IntersectionObserver options
|
|
24
|
+
* @returns Ref to attach to the element to observe
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* const elementRef = useIntersectionObserver((entry) => {
|
|
29
|
+
* if (entry.isIntersecting) {
|
|
30
|
+
* console.log('Element is visible!');
|
|
31
|
+
* }
|
|
32
|
+
* }, { threshold: 0.5 });
|
|
33
|
+
*
|
|
34
|
+
* return <div ref={elementRef}>Observed content</div>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function useIntersectionObserver<T extends Element>(callback: IntersectionCallback, options?: UseIntersectionObserverOptions): RefObject<T | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Utility function to observe multiple elements with the same configuration
|
|
40
|
+
* Useful for observing a list of elements or when you need more control than the hook provides
|
|
41
|
+
*
|
|
42
|
+
* @param selector - CSS selector for elements to observe
|
|
43
|
+
* @param callback - Function to call when intersection changes
|
|
44
|
+
* @param options - IntersectionObserver options
|
|
45
|
+
* @returns Cleanup function to disconnect the observer
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* useEffect(() => {
|
|
50
|
+
* const cleanup = observeIntersection('.fade-in', (entry) => {
|
|
51
|
+
* if (entry.isIntersecting) {
|
|
52
|
+
* entry.target.classList.add('visible');
|
|
53
|
+
* }
|
|
54
|
+
* }, { threshold: 0.1 });
|
|
55
|
+
*
|
|
56
|
+
* return cleanup;
|
|
57
|
+
* }, []);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function observeIntersection(selector: string, callback: IntersectionCallback, options?: UseIntersectionObserverOptions): () => void;
|
|
61
|
+
/**
|
|
62
|
+
* Utility functions for viewport detection
|
|
63
|
+
* These are useful for initial checks before setting up observers
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
* Check if an element is fully in the viewport
|
|
67
|
+
*/
|
|
68
|
+
export declare function isElementInViewport(element: Element): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Check if an element is partially in the viewport
|
|
71
|
+
*/
|
|
72
|
+
export declare function isElementPartiallyInViewport(element: Element): boolean;
|
|
73
|
+
//# sourceMappingURL=intersection-observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intersection-observer.d.ts","sourceRoot":"","sources":["../../../../src/components/general/intersection-observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC9C,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wKAAwK;IACxK,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,sEAAsE;IACtE,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAE9G;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EACxD,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,8BAAmC,GAC1C,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAoCrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,8BAAmC,GAC1C,MAAM,IAAI,CAmCZ;AAED;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQ7D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQtE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import PropTypes, { InferProps } from "prop-types";
|
|
2
2
|
import './microinteractions.css';
|
|
3
3
|
export type MicroInteractionsType = InferProps<typeof MicroInteractions.propTypes>;
|
|
4
|
-
export declare function MicroInteractions(props: MicroInteractionsType): void;
|
|
4
|
+
export declare function MicroInteractions(props: MicroInteractionsType): (() => void) | undefined;
|
|
5
5
|
export declare namespace MicroInteractions {
|
|
6
6
|
var propTypes: {
|
|
7
7
|
buttonring: PropTypes.Requireable<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microinteractions.d.ts","sourceRoot":"","sources":["../../../../src/components/general/microinteractions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"microinteractions.d.ts","sourceRoot":"","sources":["../../../../src/components/general/microinteractions.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,yBAAyB,CAAC;AAsBjC,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,4BAgB7D;yBAhBe,iBAAiB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import PropTypes
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
2
|
/**
|
|
3
3
|
* Services Schema Component
|
|
4
4
|
* Generates JSON-LD structured data for services
|
|
@@ -11,18 +11,37 @@ export interface ServiceItem {
|
|
|
11
11
|
image?: string;
|
|
12
12
|
areaServed?: string | string[];
|
|
13
13
|
}
|
|
14
|
-
export
|
|
15
|
-
|
|
14
|
+
export interface ServicesSchemaProps {
|
|
15
|
+
siteInfo?: {
|
|
16
|
+
name?: string;
|
|
17
|
+
url?: string;
|
|
18
|
+
image?: string;
|
|
19
|
+
telephone?: string;
|
|
20
|
+
email?: string;
|
|
21
|
+
services?: ServiceItem[];
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
};
|
|
24
|
+
provider?: {
|
|
25
|
+
name: string;
|
|
26
|
+
url: string;
|
|
27
|
+
logo?: string;
|
|
28
|
+
telephone?: string;
|
|
29
|
+
email?: string;
|
|
30
|
+
};
|
|
31
|
+
services?: ServiceItem[];
|
|
32
|
+
}
|
|
33
|
+
export declare function ServicesSchema(props: ServicesSchemaProps): import("react/jsx-runtime").JSX.Element | null;
|
|
16
34
|
export declare namespace ServicesSchema {
|
|
17
35
|
var propTypes: {
|
|
18
|
-
|
|
36
|
+
siteInfo: PropTypes.Requireable<object>;
|
|
37
|
+
provider: PropTypes.Requireable<PropTypes.InferProps<{
|
|
19
38
|
name: PropTypes.Validator<string>;
|
|
20
39
|
url: PropTypes.Validator<string>;
|
|
21
40
|
logo: PropTypes.Requireable<string>;
|
|
22
41
|
telephone: PropTypes.Requireable<string>;
|
|
23
42
|
email: PropTypes.Requireable<string>;
|
|
24
|
-
}
|
|
25
|
-
services: PropTypes.
|
|
43
|
+
}>>;
|
|
44
|
+
services: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
26
45
|
name: PropTypes.Validator<string>;
|
|
27
46
|
description: PropTypes.Validator<string>;
|
|
28
47
|
url: PropTypes.Requireable<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-services.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-services.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"schema-services.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-services.tsx"],"names":[],"mappings":"AACA,OAAO,SAAyB,MAAM,YAAY,CAAC;AAEnD;;;;GAIG;AAEH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAoBD,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,kDA8CxD;yBA9Ce,cAAc;;;;;;;;;;;;;;;;;;;AAkD9B,eAAe,cAAc,CAAC"}
|
|
@@ -1,18 +1,73 @@
|
|
|
1
|
-
import PropTypes
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import PropTypes from "prop-types";
|
|
2
|
+
import type { SiteInfo } from '../config/config.types';
|
|
3
|
+
export interface WebsiteSchemaProps {
|
|
4
|
+
siteInfo?: SiteInfo;
|
|
5
|
+
name?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
keywords?: string;
|
|
9
|
+
inLanguage?: string;
|
|
10
|
+
sameAs?: string[];
|
|
11
|
+
potentialAction?: {
|
|
12
|
+
'@type'?: string;
|
|
13
|
+
target: {
|
|
14
|
+
'@type': string;
|
|
15
|
+
urlTemplate: string;
|
|
16
|
+
};
|
|
17
|
+
'query-input'?: string;
|
|
18
|
+
};
|
|
19
|
+
publisher?: {
|
|
20
|
+
'@type'?: string;
|
|
21
|
+
name: string;
|
|
22
|
+
url?: string;
|
|
23
|
+
logo?: {
|
|
24
|
+
'@type'?: string;
|
|
25
|
+
url: string;
|
|
26
|
+
width?: number;
|
|
27
|
+
height?: number;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
copyrightYear?: number;
|
|
31
|
+
copyrightHolder?: {
|
|
32
|
+
'@type'?: string;
|
|
33
|
+
name: string;
|
|
34
|
+
url?: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export type WebsiteSchemaType = WebsiteSchemaProps;
|
|
38
|
+
export declare function WebsiteSchema(props: WebsiteSchemaProps): import("react/jsx-runtime").JSX.Element | null;
|
|
4
39
|
export declare namespace WebsiteSchema {
|
|
5
40
|
var propTypes: {
|
|
6
41
|
name: PropTypes.Requireable<string>;
|
|
7
42
|
url: PropTypes.Requireable<string>;
|
|
8
43
|
description: PropTypes.Requireable<string>;
|
|
44
|
+
keywords: PropTypes.Requireable<string>;
|
|
45
|
+
inLanguage: PropTypes.Requireable<string>;
|
|
46
|
+
sameAs: PropTypes.Requireable<(string | null | undefined)[]>;
|
|
9
47
|
potentialAction: PropTypes.Requireable<PropTypes.InferProps<{
|
|
10
48
|
'@type': PropTypes.Requireable<string>;
|
|
11
|
-
target: PropTypes.
|
|
49
|
+
target: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
12
50
|
'@type': PropTypes.Requireable<string>;
|
|
13
51
|
urlTemplate: PropTypes.Requireable<string>;
|
|
52
|
+
}>>>;
|
|
53
|
+
'query-input': PropTypes.Requireable<string>;
|
|
54
|
+
}>>;
|
|
55
|
+
publisher: PropTypes.Requireable<PropTypes.InferProps<{
|
|
56
|
+
'@type': PropTypes.Requireable<string>;
|
|
57
|
+
name: PropTypes.Validator<string>;
|
|
58
|
+
url: PropTypes.Requireable<string>;
|
|
59
|
+
logo: PropTypes.Requireable<PropTypes.InferProps<{
|
|
60
|
+
'@type': PropTypes.Requireable<string>;
|
|
61
|
+
url: PropTypes.Validator<string>;
|
|
62
|
+
width: PropTypes.Requireable<number>;
|
|
63
|
+
height: PropTypes.Requireable<number>;
|
|
14
64
|
}>>;
|
|
15
|
-
|
|
65
|
+
}>>;
|
|
66
|
+
copyrightYear: PropTypes.Requireable<number>;
|
|
67
|
+
copyrightHolder: PropTypes.Requireable<PropTypes.InferProps<{
|
|
68
|
+
'@type': PropTypes.Requireable<string>;
|
|
69
|
+
name: PropTypes.Validator<string>;
|
|
70
|
+
url: PropTypes.Requireable<string>;
|
|
16
71
|
}>>;
|
|
17
72
|
siteInfo: PropTypes.Requireable<object>;
|
|
18
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-website.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-website.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"schema-website.d.ts","sourceRoot":"","sources":["../../../../src/components/general/schema-website.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE;YACP,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YACN,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACF,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACF;AA8CD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD,wBAAgB,aAAa,CAAE,KAAK,EAAE,kBAAkB,kDAsCvD;yBAtCe,aAAa"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import PropTypes, { InferProps } from 'prop-types';
|
|
2
|
+
import './splitscroll.css';
|
|
3
|
+
export type SplitScrollType = InferProps<typeof SplitScroll.propTypes>;
|
|
4
|
+
export declare function SplitScroll({ children }: SplitScrollType): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare namespace SplitScroll {
|
|
6
|
+
var propTypes: {
|
|
7
|
+
children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
|
|
8
|
+
};
|
|
9
|
+
var Section: {
|
|
10
|
+
({ img, imgAlt, imgShape, title, subtitle, url, buttonText, children, aboveFold, isActive, sectionIndex, totalSections, }: SplitScrollSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
propTypes: {
|
|
12
|
+
img: PropTypes.Validator<string>;
|
|
13
|
+
imgAlt: PropTypes.Requireable<string>;
|
|
14
|
+
imgShape: PropTypes.Requireable<"round" | "square" | "bevel" | "squircle">;
|
|
15
|
+
title: PropTypes.Requireable<string>;
|
|
16
|
+
subtitle: PropTypes.Requireable<string>;
|
|
17
|
+
url: PropTypes.Requireable<string>;
|
|
18
|
+
buttonText: PropTypes.Requireable<string>;
|
|
19
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
20
|
+
aboveFold: PropTypes.Requireable<boolean>;
|
|
21
|
+
isActive: PropTypes.Requireable<boolean>;
|
|
22
|
+
sectionIndex: PropTypes.Requireable<number>;
|
|
23
|
+
totalSections: PropTypes.Requireable<number>;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* SplitScroll.Section - Individual section within a SplitScroll
|
|
29
|
+
*
|
|
30
|
+
* A facade for the Callout component with variant="split" preset.
|
|
31
|
+
* Automatically configured for the splitscroll layout.
|
|
32
|
+
*/
|
|
33
|
+
declare const splitscrollSectionPropTypes: {
|
|
34
|
+
img: PropTypes.Validator<string>;
|
|
35
|
+
imgAlt: PropTypes.Requireable<string>;
|
|
36
|
+
imgShape: PropTypes.Requireable<"round" | "square" | "bevel" | "squircle">;
|
|
37
|
+
title: PropTypes.Requireable<string>;
|
|
38
|
+
subtitle: PropTypes.Requireable<string>;
|
|
39
|
+
url: PropTypes.Requireable<string>;
|
|
40
|
+
buttonText: PropTypes.Requireable<string>;
|
|
41
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
42
|
+
aboveFold: PropTypes.Requireable<boolean>;
|
|
43
|
+
isActive: PropTypes.Requireable<boolean>;
|
|
44
|
+
sectionIndex: PropTypes.Requireable<number>;
|
|
45
|
+
totalSections: PropTypes.Requireable<number>;
|
|
46
|
+
};
|
|
47
|
+
type SplitScrollSectionProps = InferProps<typeof splitscrollSectionPropTypes> & {
|
|
48
|
+
imgShape?: 'square' | 'bevel' | 'squircle' | 'round';
|
|
49
|
+
};
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=splitscroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"splitscroll.d.ts","sourceRoot":"","sources":["../../../../src/components/general/splitscroll.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,mBAAmB,CAAC;AAyB3B,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AACvE,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA0CxD;yBA1Ce,WAAW;;;;;mIAoFxB,uBAAuB;;;;;;;;;;;;;;;;;AAxC1B;;;;;GAKG;AAEH,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;CAchC,CAAC;AAEF,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,GAAG;IAC/E,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;CACrD,CAAC"}
|