@pixelated-tech/components 3.11.2 → 3.11.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.
Files changed (38) hide show
  1. package/README.md +17 -106
  2. package/dist/components/admin/site-health/site-health-axe-core.integration.js +1 -1
  3. package/dist/components/admin/site-health/site-health-github.integration.js +0 -1
  4. package/dist/components/general/tiles.css +132 -32
  5. package/dist/components/general/tiles.js +12 -2
  6. package/dist/components/sitebuilder/form/formbuilder.js +2 -1
  7. package/dist/components/sitebuilder/form/formextractor.js +2 -1
  8. package/dist/components/sitebuilder/form/formutils.js +13 -2
  9. package/dist/config/pixelated.config.json.enc +1 -1
  10. package/dist/scripts/config-vault.js +7 -5
  11. package/dist/scripts/config-vault.ts +7 -5
  12. package/dist/scripts/pixelated-eslint-plugin.js +300 -0
  13. package/dist/types/components/admin/site-health/site-health-axe-core.integration.d.ts +1 -63
  14. package/dist/types/components/admin/site-health/site-health-axe-core.integration.d.ts.map +1 -1
  15. package/dist/types/components/admin/site-health/site-health-github.integration.d.ts +1 -6
  16. package/dist/types/components/admin/site-health/site-health-github.integration.d.ts.map +1 -1
  17. package/dist/types/components/admin/site-health/site-health-security.integration.d.ts +1 -8
  18. package/dist/types/components/admin/site-health/site-health-security.integration.d.ts.map +1 -1
  19. package/dist/types/components/admin/site-health/site-health-types.d.ts +2 -0
  20. package/dist/types/components/admin/site-health/site-health-types.d.ts.map +1 -1
  21. package/dist/types/components/general/tiles.d.ts +9 -0
  22. package/dist/types/components/general/tiles.d.ts.map +1 -1
  23. package/dist/types/components/sitebuilder/form/formbuilder.d.ts.map +1 -1
  24. package/dist/types/components/sitebuilder/form/formextractor.d.ts.map +1 -1
  25. package/dist/types/components/sitebuilder/form/formutils.d.ts +0 -5
  26. package/dist/types/components/sitebuilder/form/formutils.d.ts.map +1 -1
  27. package/dist/types/scripts/pixelated-eslint-plugin.d.ts +124 -0
  28. package/dist/types/scripts/pixelated-eslint-plugin.d.ts.map +1 -1
  29. package/dist/types/stories/general/tiles.stories.d.ts +12 -0
  30. package/dist/types/stories/general/tiles.stories.d.ts.map +1 -1
  31. package/dist/types/stories/sitebuilder/form.honeypot.stories.d.ts.map +1 -1
  32. package/dist/types/tests/components/general/sitemap.test.d.ts.map +1 -0
  33. package/dist/types/tests/pixelated-eslint-plugin.exports.test.d.ts +2 -0
  34. package/dist/types/tests/pixelated-eslint-plugin.exports.test.d.ts.map +1 -0
  35. package/package.json +5 -5
  36. package/dist/components/general/sitemap.test.js +0 -19
  37. package/dist/types/components/general/sitemap.test.d.ts.map +0 -1
  38. /package/dist/types/{components → tests/components}/general/sitemap.test.d.ts +0 -0
@@ -36,6 +36,16 @@ export const CLIENT_ONLY_PATTERNS = [
36
36
  /["']use client["']/ // Client directive
37
37
  ];
38
38
 
39
+ // Centralized, canonical allowlist for environment variables that are
40
+ // explicitly permitted in source (very narrow scope). Keep this list
41
+ // small and documented; reference it everywhere in this module.
42
+ export const ALLOWED_ENV_VARS = [
43
+ 'NEXTAUTH_URL',
44
+ 'NODE_ENV',
45
+ 'PIXELATED_CONFIG_KEY',
46
+ 'PUPPETEER_EXECUTABLE_PATH'
47
+ ];
48
+
39
49
  export function isClientComponent(fileContent) {
40
50
  return CLIENT_ONLY_PATTERNS.some(pattern => pattern.test(fileContent));
41
51
  }
@@ -419,6 +429,180 @@ const requireSectionIdsRule = {
419
429
  },
420
430
  };
421
431
 
432
+ /* ===== RULE: validate-test-locations ===== */
433
+ const validateTestLocationsRule = {
434
+ meta: {
435
+ type: 'problem',
436
+ docs: {
437
+ description: 'Enforce canonical test file locations (only `src/tests` or `src/stories`)',
438
+ category: 'Project Structure',
439
+ recommended: true,
440
+ },
441
+ messages: {
442
+ badLocation: 'Test spec files must live under `src/tests/` or `src/stories/` — move or add a migration note.',
443
+ },
444
+ schema: [],
445
+ },
446
+ create(context) {
447
+ const filename = context.getFilename();
448
+ if (!filename || filename === '<input>' || filename === '<text>') return {};
449
+
450
+ // identify test-like filenames
451
+ const isTestish = /\.(test|spec)\.(t|j)sx?$|\.honeypot\.test\.|\.stories?\./i.test(filename);
452
+ if (!isTestish) return {};
453
+
454
+ const normalized = filename.replaceAll('\\', '/');
455
+ const allowedRoots = ['/src/tests/', '/src/stories/'];
456
+ const ok = allowedRoots.some(r => normalized.includes(r));
457
+ if (ok) return {};
458
+
459
+ return {
460
+ Program(node) {
461
+ context.report({ node, messageId: 'badLocation' });
462
+ },
463
+ };
464
+ },
465
+ };
466
+
467
+ /* ===== RULE: no-process-env ===== */
468
+ const noProcessEnvRule = {
469
+ meta: {
470
+ type: 'problem',
471
+ docs: {
472
+ description: 'Disallow runtime environment-variable reads in source; use `pixelated.config.json` instead. Exception: PIXELATED_CONFIG_KEY',
473
+ category: 'Security',
474
+ recommended: true,
475
+ },
476
+ messages: {
477
+ forbiddenEnv: 'Direct access to environment variables is forbidden; use the config provider. Allowed exceptions: PIXELATED_CONFIG_KEY, PUPPETEER_EXECUTABLE_PATH.',
478
+ },
479
+ schema: [
480
+ {
481
+ type: 'object',
482
+ properties: { allowed: { type: 'array', items: { type: 'string' } } },
483
+ additionalProperties: false,
484
+ },
485
+ ],
486
+ },
487
+ create(context) {
488
+ const options = context.options[0] || {};
489
+ const allowed = new Set((options.allowed || ALLOWED_ENV_VARS).map(String));
490
+
491
+ function rootIsProcessEnv(node) {
492
+ let cur = node;
493
+ while (cur && cur.type === 'MemberExpression') {
494
+ if (cur.object && cur.object.type === 'Identifier' && cur.object.name === 'process') {
495
+ if (cur.property && ((cur.property.name === 'env') || (cur.property.value === 'env'))) return true;
496
+ }
497
+ cur = cur.object;
498
+ }
499
+ return false;
500
+ }
501
+
502
+ function reportIfForbidden(nameNode, node) {
503
+ const keyName = nameNode && (nameNode.name || nameNode.value);
504
+ if (!keyName) { context.report({ node, messageId: 'forbiddenEnv' }); return; }
505
+ if (!allowed.has(keyName)) context.report({ node, messageId: 'forbiddenEnv' });
506
+ }
507
+
508
+ return {
509
+ MemberExpression(node) {
510
+ // process.env.FOO or process['env'].FOO
511
+ if (node.object && node.object.type === 'MemberExpression') {
512
+ const obj = node.object;
513
+ if (obj.object && obj.object.type === 'Identifier' && obj.object.name === 'process' && (obj.property.name === 'env' || obj.property.value === 'env')) {
514
+ if (node.property.type === 'Identifier') reportIfForbidden(node.property, node);
515
+ else if (node.property.type === 'Literal') reportIfForbidden(node.property, node);
516
+ else context.report({ node, messageId: 'forbiddenEnv' });
517
+ }
518
+ }
519
+
520
+ // import.meta.env.X
521
+ if (node.object && node.object.type === 'MemberExpression' && node.object.object && node.object.object.type === 'MetaProperty') {
522
+ if (node.object.property && (node.object.property.name === 'env' || node.object.property.value === 'env')) {
523
+ if (node.property.type === 'Identifier') reportIfForbidden(node.property, node);
524
+ else context.report({ node, messageId: 'forbiddenEnv' });
525
+ }
526
+ }
527
+ },
528
+
529
+ VariableDeclarator(node) {
530
+ // const { X } = process.env
531
+ if (node.init && node.init.type === 'MemberExpression' && rootIsProcessEnv(node.init) && node.id.type === 'ObjectPattern') {
532
+ node.id.properties.forEach(p => { if (p.key) reportIfForbidden(p.key, p); else context.report({ node: p, messageId: 'forbiddenEnv' }); });
533
+ }
534
+ },
535
+
536
+ 'Program:exit'() {
537
+ const source = context.getSourceCode().text;
538
+ if (/\bprocess\s*\.\s*env\b/.test(source) && !(new RegExp('(?:' + ALLOWED_ENV_VARS.map(s => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|') + ')').test(source)) ) {
539
+ context.report({ loc: { line: 1, column: 0 }, messageId: 'forbiddenEnv' });
540
+ }
541
+ },
542
+ };
543
+ },
544
+ };
545
+
546
+ /* ===== RULE: no-debug-true ===== */
547
+ const noDebugTrueRule = {
548
+ meta: {
549
+ type: 'suggestion',
550
+ docs: {
551
+ description: 'Warn when `debug` is set to `true` in source files — ensure debug is disabled before shipping.',
552
+ category: 'Best Practices',
553
+ recommended: true,
554
+ },
555
+ messages: {
556
+ debugOn: 'Found `debug = true` in source. Ensure debug is disabled or gated behind a dev-only flag before shipping.',
557
+ },
558
+ schema: [],
559
+ },
560
+ create(context) {
561
+ const filename = context.getFilename() || '';
562
+ // Allow debug=true in test/story files
563
+ if (filename.includes('/src/tests/') || filename.includes('/src/test/') || filename.includes('/src/stories/')) {
564
+ return {};
565
+ }
566
+
567
+ function isDebugName(n) {
568
+ return typeof n === 'string' && /^debug$/i.test(n);
569
+ }
570
+
571
+ return {
572
+ VariableDeclarator(node) {
573
+ // const debug = true
574
+ if (node.id && node.id.type === 'Identifier' && isDebugName(node.id.name) && node.init && node.init.type === 'Literal' && node.init.value === true) {
575
+ context.report({ node: node.id, messageId: 'debugOn' });
576
+ }
577
+
578
+ // const cfg = { debug: true }
579
+ if (node.init && node.init.type === 'ObjectExpression') {
580
+ node.init.properties.forEach(p => {
581
+ const key = p.key && (p.key.name || p.key.value);
582
+ if (isDebugName(key) && p.value && p.value.type === 'Literal' && p.value.value === true) {
583
+ context.report({ node: p, messageId: 'debugOn' });
584
+ }
585
+ });
586
+ }
587
+ },
588
+
589
+ AssignmentExpression(node) {
590
+ // debug = true OR obj.debug = true
591
+ if (node.left.type === 'Identifier' && isDebugName(node.left.name) && node.right.type === 'Literal' && node.right.value === true) {
592
+ context.report({ node: node.left, messageId: 'debugOn' });
593
+ }
594
+ if (node.left.type === 'MemberExpression') {
595
+ const prop = node.left.property;
596
+ const propName = prop && (prop.name || prop.value);
597
+ if (isDebugName(propName) && node.right.type === 'Literal' && node.right.value === true) {
598
+ context.report({ node: node.left, messageId: 'debugOn' });
599
+ }
600
+ }
601
+ },
602
+ };
603
+ },
604
+ };
605
+
422
606
  const requiredFaqRule = {
423
607
  meta: {
424
608
  type: 'suggestion',
@@ -513,6 +697,112 @@ const requiredFaqRule = {
513
697
  },
514
698
  };
515
699
 
700
+ /* ===== RULE: file-name-kebab-case ===== */
701
+ const fileNameKebabCaseRule = (function fileNameKebabCaseRule(){
702
+ const KEBAB_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
703
+ const rule = {
704
+ meta: {
705
+ type: 'suggestion',
706
+ docs: { description: 'enforce kebab-case file names (lowercase-with-hyphens)', category: 'Stylistic Issues', recommended: true },
707
+ fixable: null,
708
+ schema: [ { type: 'object', properties: { allow: { type: 'array', items: { type: 'string' } } }, additionalProperties: false } ],
709
+ messages: { notKebab: 'File name "{{name}}" is not kebab-case. Rename to "{{expected}}" (exceptions: index, tests/stories, .d.ts, docs).' },
710
+ },
711
+ create(context) {
712
+ const opts = (context.options && context.options[0]) || {};
713
+ const allow = Array.isArray(opts.allow) ? opts.allow : [];
714
+ return {
715
+ Program(node) {
716
+ try {
717
+ const filename = context.getFilename();
718
+ if (!filename || filename === '<input>') return;
719
+ const fn = filename.replace(/\\\\/g, '/').split('/').pop();
720
+ if (!fn) return;
721
+ if (/^README(\.|$)/i.test(fn)) return;
722
+ let core = fn.replace(/\.d\.ts$/i, '').replace(/\.[^.]+$/, '');
723
+ core = core.replace(/\.(test|spec|stories|honeypot\.test)$/i, '');
724
+ if (!core || core === 'index') return;
725
+ if (/\/(?:docs|src\/tests|src\/stories)\//.test(filename)) return;
726
+ if (allow.includes(fn)) return;
727
+ if (!KEBAB_RE.test(core)) {
728
+ const expected = core.replace(/([A-Z])/g, (m) => '-' + m.toLowerCase()).replace(/[_\s]+/g, '-').replace(/--+/g, '-').replace(/^[-]+|[-]+$/g, '');
729
+ const suggested = expected || core.toLowerCase();
730
+ context.report({ node, messageId: 'notKebab', data: { name: fn, expected: suggested } });
731
+ }
732
+ } catch (err) { /* defensive */ }
733
+ }
734
+ };
735
+ }
736
+ };
737
+ return rule;
738
+ })();
739
+
740
+ /* ===== RULE: no-duplicate-export-names ===== */
741
+ const noDuplicateExportNamesRule = {
742
+ meta: {
743
+ type: 'problem',
744
+ docs: { description: 'Disallow duplicate exported identifiers from multiple source modules in a barrel file', category: 'Possible Errors', recommended: true },
745
+ schema: [],
746
+ messages: { duplicateExport: 'Duplicate export "{{name}}" found in multiple modules: {{modules}}' },
747
+ },
748
+ create(context) {
749
+ const filename = context.getFilename();
750
+ return {
751
+ Program() {
752
+ try {
753
+ const sourceCode = context.getSourceCode();
754
+ const exportAll = sourceCode.ast.body.filter(n => n.type === 'ExportAllDeclaration');
755
+ if (exportAll.length < 2) return; // nothing to compare
756
+
757
+ const nameMap = new Map();
758
+ for (const node of exportAll) {
759
+ if (!node.source || node.source.type !== 'Literal') continue;
760
+ const spec = String(node.source.value);
761
+ if (!spec.startsWith('.') && !spec.startsWith('/')) continue; // only local modules
762
+ let resolved;
763
+ try {
764
+ resolved = require.resolve(spec, { paths: [path.dirname(filename)] });
765
+ } catch (err) {
766
+ const alt = path.resolve(path.dirname(filename), spec);
767
+ if (fs.existsSync(alt + '.ts')) resolved = alt + '.ts';
768
+ else if (fs.existsSync(alt + '.tsx')) resolved = alt + '.tsx';
769
+ else if (fs.existsSync(alt + '.js')) resolved = alt + '.js';
770
+ else continue;
771
+ }
772
+ let content = '';
773
+ try { content = fs.readFileSync(resolved, 'utf8'); } catch (err) { continue; }
774
+
775
+ // best-effort: collect exported identifiers via regex (covers common TS/JS exports)
776
+ const exports = new Set();
777
+ const patterns = [ /export\s+function\s+([A-Za-z0-9_$]+)/g, /export\s+(?:const|let|var)\s+([A-Za-z0-9_$]+)/g, /export\s+class\s+([A-Za-z0-9_$]+)/g, /export\s+(?:type|interface|enum)\s+([A-Za-z0-9_$]+)/g, /export\s*\{([^}]+)\}/g ];
778
+ for (const re of patterns) {
779
+ let m;
780
+ while ((m = re.exec(content))) {
781
+ if (m[1]) {
782
+ m[1].split(',').map(s => s.trim().split(/\s+as\s+/)[0].trim()).filter(Boolean).forEach(n => exports.add(n));
783
+ }
784
+ }
785
+ }
786
+ for (const name of exports) {
787
+ if (!nameMap.has(name)) nameMap.set(name, []);
788
+ nameMap.get(name).push(spec);
789
+ }
790
+ }
791
+
792
+ // report duplicates collected across all export * sources
793
+ for (const [name, modules] of nameMap.entries()) {
794
+ if (modules.length > 1) {
795
+ context.report({ node: sourceCode.ast, messageId: 'duplicateExport', data: { name, modules: modules.join(', ') } });
796
+ }
797
+ }
798
+ } catch (err) {
799
+ // defensive: do not allow rule errors to crash ESLint
800
+ }
801
+ }
802
+ };
803
+ }
804
+ };
805
+
516
806
  export default {
517
807
  rules: {
518
808
  'prop-types-inferprops': propTypesInferPropsRule,
@@ -521,6 +811,11 @@ export default {
521
811
  'no-raw-img': noRawImgRule,
522
812
  'require-section-ids': requireSectionIdsRule,
523
813
  'required-faq': requiredFaqRule,
814
+ 'validate-test-locations': validateTestLocationsRule,
815
+ 'no-process-env': noProcessEnvRule,
816
+ 'no-debug-true': noDebugTrueRule,
817
+ 'file-name-kebab-case': fileNameKebabCaseRule,
818
+ 'no-duplicate-export-names': noDuplicateExportNamesRule,
524
819
  },
525
820
  configs: {
526
821
  recommended: {
@@ -531,6 +826,11 @@ export default {
531
826
  'pixelated/no-raw-img': 'warn',
532
827
  'pixelated/require-section-ids': 'warn',
533
828
  'pixelated/required-faq': 'warn',
829
+ 'pixelated/validate-test-locations': 'error',
830
+ 'pixelated/no-process-env': ['error', { allowed: ALLOWED_ENV_VARS } ],
831
+ 'pixelated/no-debug-true': 'warn',
832
+ 'pixelated/file-name-kebab-case': 'off',
833
+ 'pixelated/no-duplicate-export-names': 'warn',
534
834
  },
535
835
  },
536
836
  },
@@ -1,65 +1,3 @@
1
- /**
2
- * Axe-Core Accessibility Analysis Integration Services
3
- * Server-side utilities for performing comprehensive accessibility analysis on websites
4
- * Note: This makes external HTTP requests and should only be used server-side
5
- */
6
- interface AxeNode {
7
- target: string[];
8
- html: string;
9
- failureSummary?: string;
10
- ancestry?: string[];
11
- }
12
- interface AxeViolation {
13
- id: string;
14
- impact: 'minor' | 'moderate' | 'serious' | 'critical';
15
- description: string;
16
- help: string;
17
- helpUrl: string;
18
- nodes: AxeNode[];
19
- tags: string[];
20
- }
21
- interface AxeResult {
22
- violations: AxeViolation[];
23
- passes: AxeViolation[];
24
- incomplete: AxeViolation[];
25
- inapplicable: AxeViolation[];
26
- testEngine: {
27
- name: string;
28
- version: string;
29
- };
30
- testRunner: {
31
- name: string;
32
- };
33
- testEnvironment: {
34
- userAgent: string;
35
- windowWidth: number;
36
- windowHeight: number;
37
- orientationAngle?: number;
38
- orientationType?: string;
39
- };
40
- timestamp: string;
41
- url: string;
42
- }
43
- export interface AxeCoreData {
44
- site: string;
45
- url: string;
46
- result: AxeResult;
47
- summary: {
48
- violations: number;
49
- passes: number;
50
- incomplete: number;
51
- inapplicable: number;
52
- critical: number;
53
- serious: number;
54
- moderate: number;
55
- minor: number;
56
- };
57
- timestamp: string;
58
- status: 'success' | 'error';
59
- warnings?: string[];
60
- error?: string;
61
- injectionSource?: string;
62
- }
1
+ import type { AxeCoreData } from './site-health-types';
63
2
  export declare function performAxeCoreAnalysis(url: string, runtime_env?: 'auto' | 'local' | 'prod'): Promise<AxeCoreData>;
64
- export {};
65
3
  //# sourceMappingURL=site-health-axe-core.integration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"site-health-axe-core.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-axe-core.integration.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AAEH,UAAU,OAAO;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,eAAe,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA+D/H"}
1
+ {"version":3,"file":"site-health-axe-core.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-axe-core.integration.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAmDvD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA+D/H"}
@@ -1,9 +1,4 @@
1
- export interface GitCommit {
2
- hash: string;
3
- date: string;
4
- message: string;
5
- author: string;
6
- }
1
+ import type { GitCommit } from './site-health-types';
7
2
  export interface GitHealthResult {
8
3
  commits: GitCommit[];
9
4
  timestamp: string;
@@ -1 +1 @@
1
- {"version":3,"file":"site-health-github.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-github.integration.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAgHnM"}
1
+ {"version":3,"file":"site-health-github.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-github.integration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAgHnM"}
@@ -1,11 +1,4 @@
1
- export interface Vulnerability {
2
- name: string;
3
- severity: 'info' | 'low' | 'moderate' | 'high' | 'critical';
4
- title: string;
5
- url?: string;
6
- range: string;
7
- fixAvailable: boolean;
8
- }
1
+ import type { Vulnerability } from './site-health-types';
9
2
  export interface SecurityScanResult {
10
3
  status: 'success' | 'error';
11
4
  data?: {
@@ -1 +1 @@
1
- {"version":3,"file":"site-health-security.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-security.integration.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,aAAa,EAAE,CAAC;QACjC,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiHhI"}
1
+ {"version":3,"file":"site-health-security.integration.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-security.integration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,aAAa,EAAE,CAAC;QACjC,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiHhI"}
@@ -121,6 +121,8 @@ export interface AxeCoreData {
121
121
  };
122
122
  timestamp: string;
123
123
  status: 'success' | 'error';
124
+ warnings?: string[];
125
+ injectionSource?: string;
124
126
  error?: string;
125
127
  }
126
128
  export interface AxeCoreResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"site-health-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-health-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/admin/site-health/site-health-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import PropTypes, { InferProps } from "prop-types";
2
2
  import "../../css/pixelated.grid.scss";
3
3
  import "./tiles.css";
4
+ export declare const TilesVariants: readonly ["caption", "overlay"];
5
+ export type TilesVariantType = typeof TilesVariants[number] | undefined;
4
6
  export type TilesType = InferProps<typeof Tiles.propTypes>;
5
7
  export declare function Tiles(props: TilesType): import("react/jsx-runtime").JSX.Element;
6
8
  export declare namespace Tiles {
@@ -8,6 +10,11 @@ export declare namespace Tiles {
8
10
  cards: PropTypes.Validator<any[]>;
9
11
  rowCount: PropTypes.Requireable<number>;
10
12
  imgClick: PropTypes.Requireable<(...args: any[]) => any>;
13
+ /**
14
+ * Optional visual variant. Allowed values are enumerated so consumers get
15
+ * a discoverable, typed API.
16
+ */
17
+ variant: PropTypes.Requireable<"caption" | "overlay">;
11
18
  };
12
19
  }
13
20
  export type TileType = InferProps<typeof Tile.propTypes>;
@@ -21,6 +28,8 @@ declare namespace Tile {
21
28
  imageAlt: PropTypes.Requireable<string>;
22
29
  bodyText: PropTypes.Requireable<string>;
23
30
  imgClick: PropTypes.Requireable<(...args: any[]) => any>;
31
+ /** 'caption' - visual caption beneath image (prefers bodyText, falls back to imageAlt) */
32
+ variant: PropTypes.Requireable<"caption" | "overlay">;
24
33
  };
25
34
  }
26
35
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../../../src/components/general/tiles.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKnD,OAAO,+BAA+B,CAAC;AACvC,OAAO,aAAa,CAAC;AAQrB,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3D,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,2CA2BrC;yBA3Be,KAAK;;;;;;;AAyCrB,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,iBAAS,IAAI,CAAE,KAAK,EAAE,QAAQ,2CAyB7B;kBAzBQ,IAAI"}
1
+ {"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../../../src/components/general/tiles.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKnD,OAAO,+BAA+B,CAAC;AACvC,OAAO,aAAa,CAAC;AAErB,eAAO,MAAM,aAAa,iCAAoC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAWxE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3D,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,2CA4BrC;yBA5Be,KAAK;;;;;QAPpB;;;WAGG;;;;AAgDJ,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,iBAAS,IAAI,CAAE,KAAK,EAAE,QAAQ,2CA2B7B;kBA3BQ,IAAI;;;;;;;;;QAJZ,0FAA0F"}
@@ -1 +1 @@
1
- {"version":3,"file":"formbuilder.d.ts","sourceRoot":"","sources":["../../../../../src/components/sitebuilder/form/formbuilder.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAY,GAAG,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAUnD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AACvE,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,CA4DzC;yBA5De,WAAW;;;AAyE3B,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,2CA0D7C;yBA1De,SAAS"}
1
+ {"version":3,"file":"formbuilder.d.ts","sourceRoot":"","sources":["../../../../../src/components/sitebuilder/form/formbuilder.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAY,GAAG,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWnD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AACvE,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,CA4DzC;yBA5De,WAAW;;;AAyE3B,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,2CA0D7C;yBA1De,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"formextractor.d.ts","sourceRoot":"","sources":["../../../../../src/components/sitebuilder/form/formextractor.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgBnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAyCrD;yBAzCe,aAAa;;;;;;AA8C7B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAmCrD;yBAnCe,aAAa;;;;;AA0C7B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,2CAmL7D;yBAnLe,iBAAiB"}
1
+ {"version":3,"file":"formextractor.d.ts","sourceRoot":"","sources":["../../../../../src/components/sitebuilder/form/formextractor.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiBnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAyCrD;yBAzCe,aAAa;;;;;;AA8C7B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAmCrD;yBAnCe,aAAa;;;;;AA0C7B,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,2CAmL7D;yBAnLe,iBAAiB"}
@@ -1,13 +1,8 @@
1
1
  import { generateKey, capitalize, attributeMap } from '../../general/utilities';
2
- export declare const debug = false;
3
2
  /**
4
3
  * Maps input type to form component name
5
4
  */
6
5
  export declare function mapTypeToComponent(myType: string): string;
7
- /**
8
- * Generates field JSON for form building
9
- */
10
- export declare function generateFieldJSON(component: string, type: string): any;
11
6
  /**
12
7
  * Generates type selection field for form builder
13
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formutils.d.ts","sourceRoot":"","sources":["../../../../../src/components/sitebuilder/form/formutils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEhF,eAAO,MAAM,KAAK,QAAQ,CAAC;AAE3B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CA+ItE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAwBvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAgBpD;AAGD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"formutils.d.ts","sourceRoot":"","sources":["../../../../../src/components/sitebuilder/form/formutils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIhF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzD;AAiKD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAwBvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAgBpD;AAGD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}