@pixelated-tech/components 3.12.0 → 3.13.1

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 (87) hide show
  1. package/dist/components/admin/componentusage/componentAnalysis.js +2 -0
  2. package/dist/components/admin/deploy/deployment.integration.js +8 -0
  3. package/dist/components/admin/site-health/site-health-dependency-vulnerabilities.js +3 -1
  4. package/dist/components/config/config.js +41 -2
  5. package/dist/components/general/buzzwordbingo.css +8 -8
  6. package/dist/components/general/buzzwordbingo.js +3 -3
  7. package/dist/components/general/countup.css +19 -0
  8. package/dist/components/general/countup.js +62 -0
  9. package/dist/components/general/global-error.css +1 -1
  10. package/dist/components/general/global-error.js +1 -1
  11. package/dist/components/general/menu-accordion.css +24 -24
  12. package/dist/components/general/menu-accordion.js +13 -13
  13. package/dist/components/general/menu-expando.css +4 -4
  14. package/dist/components/general/menu-expando.js +7 -7
  15. package/dist/components/general/metadata.functions.js +1 -1
  16. package/dist/components/general/microinteractions.css +1 -1
  17. package/dist/components/general/nerdjoke.css +5 -5
  18. package/dist/components/general/nerdjoke.js +2 -2
  19. package/dist/components/general/recipe.css +1 -1
  20. package/dist/components/general/recipe.js +1 -1
  21. package/dist/components/general/semantic.js +1 -1
  22. package/dist/components/general/sidepanel.css +3 -3
  23. package/dist/components/general/skeleton.css +4 -4
  24. package/dist/components/general/skeleton.js +3 -3
  25. package/dist/components/general/styleguide.js +2 -2
  26. package/dist/components/general/table.css +6 -6
  27. package/dist/components/general/table.js +5 -5
  28. package/dist/components/general/tiles.js +3 -2
  29. package/dist/components/general/well-known.js +137 -0
  30. package/dist/components/integrations/contentful.management.js +25 -25
  31. package/dist/components/integrations/socialcard.css +6 -6
  32. package/dist/components/integrations/socialcard.js +2 -2
  33. package/dist/components/integrations/wordpress.components.js +1 -1
  34. package/dist/components/integrations/wordpress.css +2 -2
  35. package/dist/components/shoppingcart/ebay.components.js +11 -11
  36. package/dist/components/shoppingcart/ebay.css +20 -20
  37. package/dist/components/shoppingcart/shoppingcart.components.js +11 -11
  38. package/dist/components/shoppingcart/shoppingcart.css +19 -19
  39. package/dist/components/sitebuilder/form/form.css +4 -4
  40. package/dist/components/sitebuilder/form/formcomponents.js +3 -3
  41. package/dist/components/sitebuilder/page/components/PageBuilderUI.js +2 -2
  42. package/dist/components/sitebuilder/page/lib/pageStorageContentful.js +4 -4
  43. package/dist/config/pixelated.config.json.enc +1 -1
  44. package/dist/css/pixelated.grid.scss +1 -1
  45. package/dist/index.js +1 -1
  46. package/dist/index.server.js +3 -4
  47. package/dist/scripts/pixelated-eslint-plugin.js +51 -3
  48. package/dist/types/components/admin/componentusage/componentAnalysis.d.ts +2 -5
  49. package/dist/types/components/admin/componentusage/componentAnalysis.d.ts.map +1 -1
  50. package/dist/types/components/admin/deploy/deployment.integration.d.ts +1 -5
  51. package/dist/types/components/admin/deploy/deployment.integration.d.ts.map +1 -1
  52. package/dist/types/components/admin/site-health/site-health-dependency-vulnerabilities.d.ts.map +1 -1
  53. package/dist/types/components/admin/site-health/site-health-github.integration.d.ts +1 -11
  54. package/dist/types/components/admin/site-health/site-health-github.integration.d.ts.map +1 -1
  55. package/dist/types/components/admin/sites/sites.integration.d.ts +7 -1
  56. package/dist/types/components/admin/sites/sites.integration.d.ts.map +1 -1
  57. package/dist/types/components/config/config.d.ts.map +1 -1
  58. package/dist/types/components/config/config.types.d.ts +2 -2
  59. package/dist/types/components/config/config.types.d.ts.map +1 -1
  60. package/dist/types/components/general/countup.d.ts +17 -0
  61. package/dist/types/components/general/countup.d.ts.map +1 -0
  62. package/dist/types/components/general/tiles.d.ts.map +1 -1
  63. package/dist/types/components/general/well-known.d.ts +56 -0
  64. package/dist/types/components/general/well-known.d.ts.map +1 -0
  65. package/dist/types/components/integrations/contentful.management.d.ts +1 -5
  66. package/dist/types/components/integrations/contentful.management.d.ts.map +1 -1
  67. package/dist/types/components/shoppingcart/ebay.functions.d.ts +2 -2
  68. package/dist/types/components/shoppingcart/ebay.functions.d.ts.map +1 -1
  69. package/dist/types/components/shoppingcart/paypal.d.ts.map +1 -1
  70. package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts +20 -12
  71. package/dist/types/components/shoppingcart/shoppingcart.functions.d.ts.map +1 -1
  72. package/dist/types/components/sitebuilder/page/lib/pageStorageContentful.d.ts +1 -1
  73. package/dist/types/components/sitebuilder/page/lib/pageStorageContentful.d.ts.map +1 -1
  74. package/dist/types/index.d.ts +1 -1
  75. package/dist/types/index.server.d.ts +3 -4
  76. package/dist/types/scripts/pixelated-eslint-plugin.d.ts +18 -0
  77. package/dist/types/stories/general/countup.stories.d.ts +47 -0
  78. package/dist/types/stories/general/countup.stories.d.ts.map +1 -0
  79. package/dist/types/tests/securitytxt.test.d.ts +2 -0
  80. package/dist/types/tests/securitytxt.test.d.ts.map +1 -0
  81. package/package.json +23 -13
  82. package/dist/components/config/config.utils.js +0 -52
  83. package/dist/components/general/humanstxt.js +0 -81
  84. package/dist/types/components/config/config.utils.d.ts +0 -6
  85. package/dist/types/components/config/config.utils.d.ts.map +0 -1
  86. package/dist/types/components/general/humanstxt.d.ts +0 -37
  87. package/dist/types/components/general/humanstxt.d.ts.map +0 -1
@@ -0,0 +1,47 @@
1
+ import { CountUp } from '@/components/general/countup';
2
+ declare const _default: {
3
+ title: string;
4
+ component: typeof CountUp;
5
+ argTypes: {
6
+ start: {
7
+ control: string;
8
+ description: string;
9
+ };
10
+ end: {
11
+ control: string;
12
+ description: string;
13
+ };
14
+ duration: {
15
+ control: string;
16
+ description: string;
17
+ };
18
+ decimals: {
19
+ control: string;
20
+ description: string;
21
+ };
22
+ pre: {
23
+ control: string;
24
+ };
25
+ post: {
26
+ control: string;
27
+ };
28
+ content: {
29
+ control: string;
30
+ };
31
+ };
32
+ };
33
+ export default _default;
34
+ export declare const Play: {
35
+ render: (args: any) => import("react/jsx-runtime").JSX.Element;
36
+ args: {
37
+ id: string;
38
+ start: number;
39
+ end: number;
40
+ duration: number;
41
+ decimals: number;
42
+ pre: string;
43
+ post: string;
44
+ content: string;
45
+ };
46
+ };
47
+ //# sourceMappingURL=countup.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countup.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/countup.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,wBAYE;AAIF,eAAO,MAAM,IAAI;mBAFO,GAAG;;;;;;;;;;;CAc1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=securitytxt.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"securitytxt.test.d.ts","sourceRoot":"","sources":["../../../src/tests/securitytxt.test.tsx"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelated-tech/components",
3
- "version": "3.12.0",
3
+ "version": "3.13.1",
4
4
  "private": false,
5
5
  "author": {
6
6
  "name": "Pixelated Technologies",
@@ -109,8 +109,8 @@
109
109
  "html-entities": "^2.6.0"
110
110
  },
111
111
  "devDependencies": {
112
- "@aws-sdk/client-amplify": "^3.975.0",
113
- "@aws-sdk/client-iam": "^3.975.0",
112
+ "@aws-sdk/client-amplify": "^3.980.0",
113
+ "@aws-sdk/client-iam": "^3.980.0",
114
114
  "@babel/cli": "^7.28.6",
115
115
  "@babel/core": "^7.28.6",
116
116
  "@babel/plugin-proposal-class-properties": "^7.18.6",
@@ -118,18 +118,18 @@
118
118
  "@babel/preset-env": "^7.28.6",
119
119
  "@babel/preset-react": "^7.28.5",
120
120
  "@babel/preset-typescript": "^7.28.5",
121
- "@eslint/json": "^0.14.0",
121
+ "@eslint/json": "^1.0.0",
122
122
  "@eslint/markdown": "^7.5.1",
123
- "@storybook/addon-a11y": "^10.2.1",
124
- "@storybook/addon-docs": "^10.2.1",
123
+ "@storybook/addon-a11y": "^10.2.3",
124
+ "@storybook/addon-docs": "^10.2.3",
125
125
  "@storybook/addon-webpack5-compiler-babel": "^4.0.0",
126
126
  "@storybook/preset-scss": "^1.0.3",
127
- "@storybook/react-webpack5": "^10.2.1",
127
+ "@storybook/react-webpack5": "^10.2.3",
128
128
  "@testing-library/dom": "^10.4.1",
129
129
  "@testing-library/react": "^16.3.2",
130
130
  "@testing-library/user-event": "^14.6.1",
131
131
  "@types/md5": "^2.3.6",
132
- "@types/node": "^25.0.10",
132
+ "@types/node": "^25.1.0",
133
133
  "@types/prop-types": "^15.7.15",
134
134
  "@types/react": "^19.2.10",
135
135
  "@types/react-dom": "^19.2.3",
@@ -151,7 +151,7 @@
151
151
  "eslint-plugin-n": "^17.23.2",
152
152
  "eslint-plugin-promise": "^7.2.1",
153
153
  "eslint-plugin-react": "^7.37.4",
154
- "eslint-plugin-storybook": "^10.2.1",
154
+ "eslint-plugin-storybook": "^10.2.3",
155
155
  "file-loader": "^6.2.0",
156
156
  "happy-dom": "^20.4.0",
157
157
  "jsdom": "^27.4.0",
@@ -167,7 +167,7 @@
167
167
  "redux": "^5.0.1",
168
168
  "sass": "^1.97.3",
169
169
  "sass-loader": "^16.0.6",
170
- "storybook": "^10.2.0",
170
+ "storybook": "^10.2.3",
171
171
  "style-loader": "^4.0.0",
172
172
  "ts-loader": "^9.5.4",
173
173
  "typescript": "^5.9.3",
@@ -184,14 +184,24 @@
184
184
  "react-dom": "^19.2.0"
185
185
  },
186
186
  "optionalDependencies": {
187
- "@aws-sdk/client-cloudwatch": "^3.975.0",
188
- "@aws-sdk/client-route-53": "^3.975.0",
189
- "googleapis": "^170.1.0",
187
+ "@aws-sdk/client-cloudwatch": "^3.980.0",
188
+ "@aws-sdk/client-route-53": "^3.980.0",
189
+ "googleapis": "^171.0.0",
190
190
  "md5": "^2.3.0",
191
191
  "puppeteer": "^24.36.1",
192
192
  "react-redux": "*",
193
193
  "recharts": "^3.7.0",
194
194
  "redux": "*"
195
195
  },
196
+ "overrides": {
197
+ "@aws-sdk/xml-builder": {
198
+ "fast-xml-parser": "^5.3.4"
199
+ },
200
+ "eslint-config-standard": {
201
+ "eslint": "^9.39.2",
202
+ "eslint-plugin-n": "^17.23.2",
203
+ "eslint-plugin-promise": "^7.2.1"
204
+ }
205
+ },
196
206
  "type": "module"
197
207
  }
@@ -1,52 +0,0 @@
1
- import { SECRET_CONFIG_KEYS } from './config.types';
2
- /**
3
- * Produce a client-safe copy of a config by removing secret-like keys.
4
- */
5
- export function getClientOnlyPixelatedConfig(src) {
6
- const visited = new WeakSet();
7
- function isSecretKey(key, serviceName) {
8
- // 1. Check Global Secret List
9
- if (SECRET_CONFIG_KEYS.global.includes(key))
10
- return true;
11
- // 2. Check Service-Specific Secret List
12
- if (serviceName && SECRET_CONFIG_KEYS.services[serviceName]) {
13
- const serviceSecrets = SECRET_CONFIG_KEYS.services[serviceName];
14
- if (serviceSecrets.includes(key)) {
15
- // console.log(`Config Stripper: Removing secret key "${key}" from service "${serviceName}"`);
16
- return true;
17
- }
18
- }
19
- return false;
20
- }
21
- function strip(obj, serviceName) {
22
- // Base case for non-objects
23
- if (obj === null || typeof obj !== 'object')
24
- return obj;
25
- // Avoid circular references
26
- if (visited.has(obj))
27
- return '[Circular]';
28
- visited.add(obj);
29
- // Handle Arrays
30
- if (Array.isArray(obj)) {
31
- return obj.map((item) => strip(item, serviceName));
32
- }
33
- const out = {};
34
- for (const k of Object.keys(obj)) {
35
- // At the top level (serviceName is undefined), k is the service name
36
- const currentService = serviceName || k;
37
- // Check if this key should be stripped
38
- if (isSecretKey(k, serviceName)) {
39
- continue;
40
- }
41
- out[k] = strip(obj[k], currentService);
42
- }
43
- return out;
44
- }
45
- try {
46
- return strip(src);
47
- }
48
- catch (err) {
49
- console.error('Failed to strip secrets from config', err);
50
- return {};
51
- }
52
- }
@@ -1,81 +0,0 @@
1
- import { readFile } from 'fs/promises';
2
- import crypto from 'crypto';
3
- import { NextResponse } from 'next/server';
4
- import { flattenRoutes } from './sitemap';
5
- /**
6
- * Read JSON from disk safely — returns null on error.
7
- * Exported for testing.
8
- */
9
- export async function safeJSON(path) {
10
- try {
11
- const raw = await readFile(path, 'utf8');
12
- return JSON.parse(raw);
13
- }
14
- catch {
15
- return null;
16
- }
17
- }
18
- /**
19
- * Normalize a value into a single-line trimmed string (safe for humans.txt).
20
- * Exported for testing.
21
- */
22
- export function sanitizeString(v) {
23
- return v == null ? '' : String(v).replace(/\s+/g, ' ').trim();
24
- }
25
- /**
26
- * Generate the humans.txt body + metadata. Pure function when pkg/routesJson are provided —
27
- * otherwise will attempt to read from disk (runtime apps).
28
- */
29
- export async function generateHumansTxt(opts = {}) {
30
- const cwd = opts.cwd ?? process.cwd();
31
- const pkg = opts.pkg ?? (await safeJSON(cwd + '/package.json')) ?? {};
32
- const data = opts.routesJson ?? (await safeJSON(cwd + '/src/app/data/routes.json')) ?? {};
33
- const site = data.siteInfo ?? {};
34
- const routes = Array.isArray(data.routes) ? data.routes : [];
35
- const lines = [
36
- '/* HUMAN-READABLE SITE INFORMATION - generated at runtime */',
37
- '',
38
- ` Site name: ${sanitizeString(site.name ?? '')}`,
39
- ` Site Package Name: ${sanitizeString(pkg.name ?? '')}`,
40
- ` Site Package Version: ${sanitizeString(pkg.version ?? '')}`,
41
- ` Site URL: ${sanitizeString(site.url ?? '')}`,
42
- ` Author: ${sanitizeString(site.author ?? '')}`,
43
- ` Address: ${sanitizeString(site.address
44
- ? [
45
- site.address.streetAddress,
46
- site.address.addressLocality,
47
- site.address.addressRegion,
48
- site.address.postalCode,
49
- site.address.addressCountry,
50
- ]
51
- .filter(Boolean)
52
- .join(' ')
53
- : '')}`,
54
- ` Email: ${sanitizeString(site.email ?? '')}`,
55
- ` Telephone: ${sanitizeString(site.telephone ?? '')}`,
56
- ` Pages: (${routes.length})`,
57
- ];
58
- const limit = typeof opts.maxRoutes === 'number' ? opts.maxRoutes : 50;
59
- for (const r of flattenRoutes(routes).slice(0, limit)) {
60
- lines.push(` - ${sanitizeString(r.path ?? r.pathname ?? r.url ?? '')} - ${sanitizeString(r.title ?? '')}`);
61
- }
62
- const body = lines.join('\n');
63
- const etag = crypto.createHash('sha1').update(body).digest('hex');
64
- const headers = {
65
- 'Content-Type': 'text/plain; charset=utf-8',
66
- 'Cache-Control': 'public, max-age=60, stale-while-revalidate=3600',
67
- ETag: etag,
68
- };
69
- return { body, etag, headers };
70
- }
71
- /**
72
- * Next.js convenience: return a NextResponse for a humans.txt request.
73
- * Accepts the same options as `generateHumansTxt` (pass `pkg`/`routesJson` in tests).
74
- */
75
- export async function createHumansTxtResponse(req, opts = {}) {
76
- const { body, etag, headers } = await generateHumansTxt(opts);
77
- if (req?.headers?.get && req.headers.get('if-none-match') === etag) {
78
- return new NextResponse(null, { status: 304, headers });
79
- }
80
- return new NextResponse(body, { status: 200, headers });
81
- }
@@ -1,6 +0,0 @@
1
- import { type PixelatedConfig } from './config.types';
2
- /**
3
- * Produce a client-safe copy of a config by removing secret-like keys.
4
- */
5
- export declare function getClientOnlyPixelatedConfig(src: PixelatedConfig): PixelatedConfig;
6
- //# sourceMappingURL=config.utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/config/config.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AAE1E;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAqDlF"}
@@ -1,37 +0,0 @@
1
- import type { NextRequest } from 'next/server';
2
- import { NextResponse } from 'next/server';
3
- /**
4
- * Read JSON from disk safely — returns null on error.
5
- * Exported for testing.
6
- */
7
- export declare function safeJSON(path: string): Promise<any>;
8
- /**
9
- * Normalize a value into a single-line trimmed string (safe for humans.txt).
10
- * Exported for testing.
11
- */
12
- export declare function sanitizeString(v: unknown): string;
13
- export type GenerateHumansOpts = {
14
- /** base directory to read package.json / routes.json from (defaults to process.cwd()) */
15
- cwd?: string;
16
- /** optional package.json object (if provided, fs is not used) */
17
- pkg?: Record<string, any> | null;
18
- /** optional routes.json object (if provided, fs is not used) */
19
- routesJson?: any;
20
- /** limit how many routes to include (default 50) */
21
- maxRoutes?: number;
22
- };
23
- /**
24
- * Generate the humans.txt body + metadata. Pure function when pkg/routesJson are provided —
25
- * otherwise will attempt to read from disk (runtime apps).
26
- */
27
- export declare function generateHumansTxt(opts?: GenerateHumansOpts): Promise<{
28
- body: string;
29
- etag: string;
30
- headers: Record<string, string>;
31
- }>;
32
- /**
33
- * Next.js convenience: return a NextResponse for a humans.txt request.
34
- * Accepts the same options as `generateHumansTxt` (pass `pkg`/`routesJson` in tests).
35
- */
36
- export declare function createHumansTxtResponse(req?: NextRequest, opts?: GenerateHumansOpts): Promise<NextResponse<unknown>>;
37
- //# sourceMappingURL=humanstxt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"humanstxt.d.ts","sourceRoot":"","sources":["../../../../src/components/general/humanstxt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,gBAO1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,UAExC;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACjC,gEAAgE;IAChE,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB;;;;GA+CpE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,GAAE,kBAAuB,kCAM7F"}