From 348ecd279890e9095733f9be0d4d9e5b4f851a0b Mon Sep 17 00:00:00 2001 From: Locrian24 Date: Mon, 2 Jun 2025 09:20:32 -0700 Subject: [PATCH 001/302] testing new tags --- packages/mint-components/package-lock.json | 919 +++++++++++++++++- packages/mint-components/package.json | 3 +- packages/mint-components/src/components.d.ts | 155 ++- .../readme.md | 60 +- .../src/components/sqm-portal-login/readme.md | 28 +- .../sqm-portal-registration-form/readme.md | 54 +- .../sqm-tax-and-cash/sqm-tax-and-cash.tsx | 11 +- 7 files changed, 1108 insertions(+), 122 deletions(-) diff --git a/packages/mint-components/package-lock.json b/packages/mint-components/package-lock.json index feed4ad68..9ae10b171 100644 --- a/packages/mint-components/package-lock.json +++ b/packages/mint-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@saasquatch/mint-components", - "version": "1.13.2", + "version": "1.13.5-0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@saasquatch/mint-components", - "version": "1.13.2", + "version": "1.13.5-0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -55,6 +55,7 @@ "clipboard": "^1.7.1", "cross-env": "^7.0.2", "docx": "^5.4.1", + "http-server": "^14.1.1", "jest": "^26.6.3", "jest-cli": "^26.6.3", "jest-config": "^26.6.3", @@ -3683,6 +3684,12 @@ "node": ">=4" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4183,6 +4190,18 @@ } ] }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/basic-ftp": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", @@ -4355,6 +4374,34 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -4776,6 +4823,15 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/cosmiconfig": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", @@ -5613,6 +5669,19 @@ "node": ">=8" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -5712,6 +5781,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -6334,6 +6430,26 @@ "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.8.tgz", "integrity": "sha512-vkHTluRCoq9FcsrldC0ulQHiyBYgVJB2CX53I8r0nTC6KnEij7Of0jpBspjt3/CuNb6fyoj3aOh9J2HgQUM0og==" }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -6412,9 +6528,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/generic-names": { "version": "2.0.1", @@ -6442,13 +6561,23 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6469,6 +6598,18 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -6616,6 +6757,17 @@ "delegate": "^3.1.2" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", @@ -6715,9 +6867,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "engines": { "node": ">= 0.4" }, @@ -6788,6 +6940,17 @@ "node": ">=0.10.0" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/haunted": { "version": "4.8.2", "resolved": "https://registry.npmjs.org/haunted/-/haunted-4.8.2.tgz", @@ -6797,6 +6960,15 @@ "lit-html": "^1.0.0" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, "node_modules/hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", @@ -6844,6 +7016,20 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", @@ -6858,6 +7044,139 @@ "node": ">= 6" } }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/http-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/http-server/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/http-server/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/http-server/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-server/node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-server/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-server/node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -9988,6 +10307,14 @@ "node": ">= 12" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/maxmin": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", @@ -10174,6 +10501,18 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/mime-db": { "version": "1.48.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", @@ -10574,9 +10913,12 @@ } }, "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10701,6 +11043,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -11249,6 +11600,42 @@ "node": ">=8" } }, + "node_modules/portfinder": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.37.tgz", + "integrity": "sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==", + "dev": true, + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -13177,8 +13564,23 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/queue-microtask": { @@ -13398,6 +13800,12 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -14059,6 +14467,12 @@ "node": ">=10" } }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -14166,6 +14580,78 @@ "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==", "dev": true }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -15296,6 +15782,18 @@ "node": ">=4" } }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -15389,6 +15887,12 @@ "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, "node_modules/urlpattern-polyfill": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", @@ -18696,6 +19200,12 @@ "tslib": "^2.0.1" } }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -19093,6 +19603,15 @@ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, "basic-ftp": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", @@ -19214,6 +19733,25 @@ "get-intrinsic": "^1.0.2" } }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + } + }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -19560,6 +20098,12 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true + }, "cosmiconfig": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", @@ -20201,6 +20745,16 @@ "is-obj": "^2.0.0" } }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -20279,6 +20833,24 @@ "unbox-primitive": "^1.0.1" } }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -20762,6 +21334,12 @@ "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.6.8.tgz", "integrity": "sha512-vkHTluRCoq9FcsrldC0ulQHiyBYgVJB2CX53I8r0nTC6KnEij7Of0jpBspjt3/CuNb6fyoj3aOh9J2HgQUM0og==" }, + "follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -20814,9 +21392,9 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "generic-names": { "version": "2.0.1", @@ -20838,13 +21416,20 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" } }, "get-own-enumerable-property-symbols": { @@ -20859,6 +21444,15 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -20972,6 +21566,11 @@ "delegate": "^3.1.2" } }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" + }, "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", @@ -21046,9 +21645,9 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" }, "has-value": { "version": "1.0.0", @@ -21102,6 +21701,14 @@ } } }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, "haunted": { "version": "4.8.2", "resolved": "https://registry.npmjs.org/haunted/-/haunted-4.8.2.tgz", @@ -21111,6 +21718,12 @@ "lit-html": "^1.0.0" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, "hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", @@ -21152,6 +21765,17 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, "http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", @@ -21163,6 +21787,105 @@ "debug": "4" } }, + "http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "requires": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + } + } + } + }, "https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -23570,6 +24293,11 @@ "integrity": "sha512-jBo8AOayNaEcvBhNobg6/BLhdsK3NvnKWJg33MAAPbvTWiG4QBn9gpW1+7RssrKu4K1dKlN+0goVQwV41xEfOA==", "dev": true }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, "maxmin": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", @@ -23723,6 +24451,12 @@ "picomatch": "^2.2.3" } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, "mime-db": { "version": "1.48.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", @@ -24037,9 +24771,9 @@ } }, "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==" }, "object-keys": { "version": "1.1.1", @@ -24122,6 +24856,12 @@ "is-wsl": "^2.1.1" } }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -24518,6 +25258,33 @@ "find-up": "^4.0.0" } }, + "portfinder": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.37.tgz", + "integrity": "sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==", + "dev": true, + "requires": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "dependencies": { + "debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -25916,6 +26683,15 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, + "qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "requires": { + "side-channel": "^1.1.0" + } + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -26087,6 +26863,12 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -26610,6 +27392,12 @@ "xmlchars": "^2.2.0" } }, + "secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, "select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -26703,6 +27491,54 @@ } } }, + "side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + } + }, + "side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + } + }, + "side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + } + }, + "side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "requires": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + } + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", @@ -27611,6 +28447,15 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" }, + "union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "requires": { + "qs": "^6.4.0" + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -27689,6 +28534,12 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, "urlpattern-polyfill": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", diff --git a/packages/mint-components/package.json b/packages/mint-components/package.json index 24ae47c00..4adbfad55 100644 --- a/packages/mint-components/package.json +++ b/packages/mint-components/package.json @@ -1,7 +1,7 @@ { "name": "@saasquatch/mint-components", "title": "Mint Components", - "version": "1.13.4", + "version": "1.13.5-0", "description": "A minimal design library with components for referral and loyalty experiences. Built with Shoelace components by Saasquatch.", "icon": "https://res.cloudinary.com/saasquatch/image/upload/v1652219900/squatch-assets/For_Mint.svg", "raisins": "docs/raisins.json", @@ -55,6 +55,7 @@ "clipboard": "^1.7.1", "cross-env": "^7.0.2", "docx": "^5.4.1", + "http-server": "^14.1.1", "jest": "^26.6.3", "jest-cli": "^26.6.3", "jest-config": "^26.6.3", diff --git a/packages/mint-components/src/components.d.ts b/packages/mint-components/src/components.d.ts index 1fd5bd383..673661a0d 100644 --- a/packages/mint-components/src/components.d.ts +++ b/packages/mint-components/src/components.d.ts @@ -32,6 +32,7 @@ import { UsePagination } from "./components/sqm-pagination/usePagination"; import { PasswordFieldViewDemoProps } from "./components/sqm-password-field/sqm-password-field"; import { PayoutButtonScrollViewProps } from "./components/sqm-payout-button-scroll/sqm-payout-button-scroll-view"; import { PayoutStatusAlertViewProps } from "./components/tax-and-cash/sqm-payout-status-alert/sqm-payout-status-alert-view"; +import { ChangeMarketingViewProps } from "./components/sqm-portal-change-marketing/sqm-portal-change-marketing-view"; import { PortalChangePasswordViewProps } from "./components/sqm-portal-change-password/sqm-portal-change-password-view"; import { PortalEmailVerificationViewProps } from "./components/sqm-portal-email-verification/sqm-portal-email-verification-view"; import { PortalForgotPasswordViewProps } from "./components/sqm-portal-forgot-password/sqm-portal-forgot-password-view"; @@ -402,11 +403,11 @@ export namespace Components { * Used with link text if the checkbox label contains {labelLink} * @uiName Checkbox label link */ - "checkboxLabelLink": string; + "checkboxLabelLink"?: string; /** * @uiName Checkbox label link lext */ - "checkboxLabelLinkText": string; + "checkboxLabelLinkText"?: string; /** * This name is used as the key for this form field on submission. The name must be unique within this specific form. * @uiName Checkbox name attribute @@ -425,7 +426,7 @@ export namespace Components { /** * @uiName Unchecked error message */ - "errorMessage": string; + "errorMessage"?: string; } interface SqmCloseButton { /** @@ -1605,6 +1606,22 @@ export namespace Components { */ "userIdentificationText": string; } + interface SqmMarketingEmailsCheckbox { + /** + * @uiName Checkbox label + * @uiWidget textArea + */ + "checkboxLabel": string; + /** + * @undocumented + */ + "checkboxName": string; + /** + * @undocumented + * @uiType object + */ + "demoData"?: DemoData; + } interface SqmNameFields { /** * @undocumented @@ -1872,6 +1889,34 @@ export namespace Components { */ "poweredByText": string; } + interface SqmPortalChangeMarketing { + /** + * @undocumented + * @uiType object + */ + "demoData"?: DemoData; + /** + * @uiName Email preferences header + */ + "emailPreferencesHeader": string; + /** + * @uiName Marketing checkbox label + */ + "marketingCheckboxLabel": string; + /** + * Displayed when the page fails to load due to a network error. The participant can try refreshing the page. + * @uiName Network request error message + */ + "networkRequestMessage": string; + /** + * @uiName Submit changes button text + */ + "submitChangeButtonText": string; + /** + * @uiName Successful update message + */ + "successMessage": string; + } interface SqmPortalChangePassword { /** * Found in modal @@ -2029,7 +2074,8 @@ export namespace Components { */ "emailVerificationHeader": string; /** - * @uiName Network error message Displayed when your verification email fails to send due to a network error. The participant can try refreshing the page. + * Displayed when your verification email fails to send due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage": string; /** @@ -2157,7 +2203,8 @@ export namespace Components { */ "loginText": string; /** - * @uiName Network error message Displayed when the forgot password action fails due to a network error. The participant can try refreshing the page. + * Displayed when the forgot password action fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage": string; /** @@ -2406,7 +2453,8 @@ export namespace Components { */ "forgotPasswordPath": string; /** - * @uiName Network error message Displayed when the login fails due to a network error. The participant can try refreshing the page. + * Displayed when the login fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage": string; /** @@ -2804,7 +2852,8 @@ export namespace Components { */ "minErrorText": string; /** - * @uiName Network error message Displayed when the password reset fails due to a network error. The participant can try refreshing the page. + * Displayed when the password reset fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage": string; /** @@ -2861,7 +2910,8 @@ export namespace Components { */ "failedPage": string; /** - * @uiName Network error message Displayed when the email verification fails due to a network error. The participant can try refreshing the page. + * Displayed when the email verification fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage": string; /** @@ -4613,8 +4663,14 @@ export namespace Components { */ "dashboard_verificationReviewInternalHeader": string; /** + * @ghost * @undocumented * @uiType object + * @demo Step 1 - { "step": "/1" } + * @demo Step 2 - { "step": "/2" } + * @demo Step 3 - { "step": "/3" } + * @demo Step 3 - { "step": "/4" } + * @demo Dashboard - { "step": "/dashboard" } */ "demoData"?: DemoData; /** @@ -6077,6 +6133,12 @@ declare global { prototype: HTMLSqmLogoutCurrentUserElement; new (): HTMLSqmLogoutCurrentUserElement; }; + interface HTMLSqmMarketingEmailsCheckboxElement extends Components.SqmMarketingEmailsCheckbox, HTMLStencilElement { + } + var HTMLSqmMarketingEmailsCheckboxElement: { + prototype: HTMLSqmMarketingEmailsCheckboxElement; + new (): HTMLSqmMarketingEmailsCheckboxElement; + }; interface HTMLSqmNameFieldsElement extends Components.SqmNameFields, HTMLStencilElement { } var HTMLSqmNameFieldsElement: { @@ -6137,6 +6199,12 @@ declare global { prototype: HTMLSqmPopupContainerElement; new (): HTMLSqmPopupContainerElement; }; + interface HTMLSqmPortalChangeMarketingElement extends Components.SqmPortalChangeMarketing, HTMLStencilElement { + } + var HTMLSqmPortalChangeMarketingElement: { + prototype: HTMLSqmPortalChangeMarketingElement; + new (): HTMLSqmPortalChangeMarketingElement; + }; interface HTMLSqmPortalChangePasswordElement extends Components.SqmPortalChangePassword, HTMLStencilElement { } var HTMLSqmPortalChangePasswordElement: { @@ -6603,6 +6671,7 @@ declare global { "sqm-leaderboard-rank": HTMLSqmLeaderboardRankElement; "sqm-link-button": HTMLSqmLinkButtonElement; "sqm-logout-current-user": HTMLSqmLogoutCurrentUserElement; + "sqm-marketing-emails-checkbox": HTMLSqmMarketingEmailsCheckboxElement; "sqm-name-fields": HTMLSqmNameFieldsElement; "sqm-navigation-menu": HTMLSqmNavigationMenuElement; "sqm-navigation-sidebar": HTMLSqmNavigationSidebarElement; @@ -6613,6 +6682,7 @@ declare global { "sqm-payout-details-card": HTMLSqmPayoutDetailsCardElement; "sqm-payout-status-alert": HTMLSqmPayoutStatusAlertElement; "sqm-popup-container": HTMLSqmPopupContainerElement; + "sqm-portal-change-marketing": HTMLSqmPortalChangeMarketingElement; "sqm-portal-change-password": HTMLSqmPortalChangePasswordElement; "sqm-portal-container": HTMLSqmPortalContainerElement; "sqm-portal-email-verification": HTMLSqmPortalEmailVerificationElement; @@ -8232,6 +8302,22 @@ declare namespace LocalJSX { */ "userIdentificationText"?: string; } + interface SqmMarketingEmailsCheckbox { + /** + * @uiName Checkbox label + * @uiWidget textArea + */ + "checkboxLabel"?: string; + /** + * @undocumented + */ + "checkboxName"?: string; + /** + * @undocumented + * @uiType object + */ + "demoData"?: DemoData; + } interface SqmNameFields { /** * @undocumented @@ -8499,6 +8585,34 @@ declare namespace LocalJSX { */ "poweredByText"?: string; } + interface SqmPortalChangeMarketing { + /** + * @undocumented + * @uiType object + */ + "demoData"?: DemoData; + /** + * @uiName Email preferences header + */ + "emailPreferencesHeader"?: string; + /** + * @uiName Marketing checkbox label + */ + "marketingCheckboxLabel"?: string; + /** + * Displayed when the page fails to load due to a network error. The participant can try refreshing the page. + * @uiName Network request error message + */ + "networkRequestMessage"?: string; + /** + * @uiName Submit changes button text + */ + "submitChangeButtonText"?: string; + /** + * @uiName Successful update message + */ + "successMessage"?: string; + } interface SqmPortalChangePassword { /** * Found in modal @@ -8656,7 +8770,8 @@ declare namespace LocalJSX { */ "emailVerificationHeader"?: string; /** - * @uiName Network error message Displayed when your verification email fails to send due to a network error. The participant can try refreshing the page. + * Displayed when your verification email fails to send due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage"?: string; /** @@ -8784,7 +8899,8 @@ declare namespace LocalJSX { */ "loginText"?: string; /** - * @uiName Network error message Displayed when the forgot password action fails due to a network error. The participant can try refreshing the page. + * Displayed when the forgot password action fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage"?: string; /** @@ -9033,7 +9149,8 @@ declare namespace LocalJSX { */ "forgotPasswordPath"?: string; /** - * @uiName Network error message Displayed when the login fails due to a network error. The participant can try refreshing the page. + * Displayed when the login fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage"?: string; /** @@ -9431,7 +9548,8 @@ declare namespace LocalJSX { */ "minErrorText"?: string; /** - * @uiName Network error message Displayed when the password reset fails due to a network error. The participant can try refreshing the page. + * Displayed when the password reset fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage"?: string; /** @@ -9488,7 +9606,8 @@ declare namespace LocalJSX { */ "failedPage"?: string; /** - * @uiName Network error message Displayed when the email verification fails due to a network error. The participant can try refreshing the page. + * Displayed when the email verification fails due to a network error. The participant can try refreshing the page. + * @uiName Network error message */ "networkErrorMessage"?: string; /** @@ -11216,8 +11335,14 @@ declare namespace LocalJSX { */ "dashboard_verificationReviewInternalHeader"?: string; /** + * @ghost * @undocumented * @uiType object + * @demo Step 1 - { "step": "/1" } + * @demo Step 2 - { "step": "/2" } + * @demo Step 3 - { "step": "/3" } + * @demo Step 3 - { "step": "/4" } + * @demo Dashboard - { "step": "/dashboard" } */ "demoData"?: DemoData; /** @@ -12483,6 +12608,7 @@ declare namespace LocalJSX { "sqm-leaderboard-rank": SqmLeaderboardRank; "sqm-link-button": SqmLinkButton; "sqm-logout-current-user": SqmLogoutCurrentUser; + "sqm-marketing-emails-checkbox": SqmMarketingEmailsCheckbox; "sqm-name-fields": SqmNameFields; "sqm-navigation-menu": SqmNavigationMenu; "sqm-navigation-sidebar": SqmNavigationSidebar; @@ -12493,6 +12619,7 @@ declare namespace LocalJSX { "sqm-payout-details-card": SqmPayoutDetailsCard; "sqm-payout-status-alert": SqmPayoutStatusAlert; "sqm-popup-container": SqmPopupContainer; + "sqm-portal-change-marketing": SqmPortalChangeMarketing; "sqm-portal-change-password": SqmPortalChangePassword; "sqm-portal-container": SqmPortalContainer; "sqm-portal-email-verification": SqmPortalEmailVerification; @@ -12609,6 +12736,7 @@ declare module "@stencil/core" { "sqm-leaderboard-rank": LocalJSX.SqmLeaderboardRank & JSXBase.HTMLAttributes; "sqm-link-button": LocalJSX.SqmLinkButton & JSXBase.HTMLAttributes; "sqm-logout-current-user": LocalJSX.SqmLogoutCurrentUser & JSXBase.HTMLAttributes; + "sqm-marketing-emails-checkbox": LocalJSX.SqmMarketingEmailsCheckbox & JSXBase.HTMLAttributes; "sqm-name-fields": LocalJSX.SqmNameFields & JSXBase.HTMLAttributes; "sqm-navigation-menu": LocalJSX.SqmNavigationMenu & JSXBase.HTMLAttributes; "sqm-navigation-sidebar": LocalJSX.SqmNavigationSidebar & JSXBase.HTMLAttributes; @@ -12619,6 +12747,7 @@ declare module "@stencil/core" { "sqm-payout-details-card": LocalJSX.SqmPayoutDetailsCard & JSXBase.HTMLAttributes; "sqm-payout-status-alert": LocalJSX.SqmPayoutStatusAlert & JSXBase.HTMLAttributes; "sqm-popup-container": LocalJSX.SqmPopupContainer & JSXBase.HTMLAttributes; + "sqm-portal-change-marketing": LocalJSX.SqmPortalChangeMarketing & JSXBase.HTMLAttributes; "sqm-portal-change-password": LocalJSX.SqmPortalChangePassword & JSXBase.HTMLAttributes; "sqm-portal-container": LocalJSX.SqmPortalContainer & JSXBase.HTMLAttributes; "sqm-portal-email-verification": LocalJSX.SqmPortalEmailVerification & JSXBase.HTMLAttributes; diff --git a/packages/mint-components/src/components/sqm-portal-google-registration-form/readme.md b/packages/mint-components/src/components/sqm-portal-google-registration-form/readme.md index c9614e051..777229f93 100644 --- a/packages/mint-components/src/components/sqm-portal-google-registration-form/readme.md +++ b/packages/mint-components/src/components/sqm-portal-google-registration-form/readme.md @@ -7,36 +7,36 @@ ## Properties -| Property | Attribute | Description | Type | Default | -| ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- | -| `confirmPassword` | `confirm-password` | | `boolean` | `false` | -| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `"Confirm Password"` | -| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; hidePasswords?: boolean; registrationFormState?: RegistrationFormState; enablePasswordValidation?: boolean; loginPath: string; emailDisabled?: boolean; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel?: string; networkErrorMessage?: string; passwordMismatchErrorMessage?: string; invalidEmailErrorMessage?: string; formDisabledErrorMessage?: string; requiredFieldErrorMessage?: string; meetsRequirementsText?: string; doesNotMeetRequirementsText?: string; minErrorText?: string; uppercaseErrorText?: string; lowercaseErrorText?: string; hasErrorText?: string; }; }` | `undefined` | -| `demoGoogleData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; hidePasswords?: boolean; registrationFormState?: RegistrationFormState; enablePasswordValidation?: boolean; loginPath: string; emailDisabled?: boolean; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel?: string; networkErrorMessage?: string; passwordMismatchErrorMessage?: string; invalidEmailErrorMessage?: string; formDisabledErrorMessage?: string; requiredFieldErrorMessage?: string; meetsRequirementsText?: string; doesNotMeetRequirementsText?: string; minErrorText?: string; uppercaseErrorText?: string; lowercaseErrorText?: string; hasErrorText?: string; }; }` | `undefined` | -| `disablePasswordValidation` | `disable-password-validation` | | `boolean` | `false` | -| `doesNotMeetRequirementsText` | `does-not-meet-requirements-text` | | `string` | `"Password must meet the following requirements:"` | -| `emailLabel` | `email-label` | | `string` | `"Email"` | -| `formDisabledErrorMessage` | `form-disabled-error-message` | The message to be displayed when the registration form is disabled. | `string` | `"The registration form is currently disabled."` | -| `formKey` | `form-key` | The key of the registration form used for this microsite. | `string` | `undefined` | -| `googleButtonText` | `google-button-text` | Can be "signup_with", "signin_with", "continue_with", or "signin" | `string` | `"signup_with"` | -| `hasErrorText` | `has-error-text` | | `string` | `"contain at least 1 number or symbol"` | -| `hideInputs` | `hide-inputs` | Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes "email" and "password" for this form to succeed. | `boolean` | `false` | -| `invalidEmailErrorMessage` | `invalid-email-error-message` | The message to be displayed when the email used is invalid or blocked. | `string` | `"Must be a valid email address"` | -| `loginCTA` | `login-c-t-a` | Login Call-to-action | `string` | `"Already have an account?"` | -| `loginLabel` | `login-label` | | `string` | `"Sign in"` | -| `loginPath` | `login-path` | Redirect participants to this page after clicking the login button. | `string` | `"/login"` | -| `lowercaseErrorText` | `lowercase-error-text` | | `string` | `"contain at least 1 lowercase character"` | -| `meetsRequirementsText` | `meets-requirements-text` | | `string` | `"Password has met all requirements"` | -| `minErrorText` | `min-error-text` | | `string` | `"be a minimum of 8 characters"` | -| `networkErrorMessage` | `network-error-message` | The message to be displayed when a the form submission fails unexpectedly. | `string` | `"Network request failed."` | -| `nextPage` | `next-page` | Redirect participants to this page after they successfully register. | `string` | `"/"` | -| `pageLabel` | `page-label` | | `string` | `"Register"` | -| `passwordLabel` | `password-label` | | `string` | `"Password"` | -| `passwordMismatchErrorMessage` | `password-mismatch-error-message` | The message to be displayed when password inputs do not match. | `string` | `"Passwords do not match."` | -| `redirectPath` | `redirect-path` | Redirect participants to this page from their verification email | `string` | `"/verifyEmail"` | -| `requiredFieldErrorMessage` | `required-field-error-message` | The message to be displayed when a required field is not filled. | `string` | `"Cannot be empty"` | -| `submitLabel` | `submit-label` | | `string` | `"Register"` | -| `uppercaseErrorText` | `uppercase-error-text` | | `string` | `"contain at least 1 uppercase character"` | +| Property | Attribute | Description | Type | Default | +| ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| `confirmPassword` | `confirm-password` | | `boolean` | `false` | +| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `"Confirm Password"` | +| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; hidePasswords?: boolean; registrationFormState?: RegistrationFormState; enablePasswordValidation?: boolean; loginPath: string; emailDisabled?: boolean; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; emailOptIn?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel?: string; networkErrorMessage?: string; passwordMismatchErrorMessage?: string; invalidEmailErrorMessage?: string; formDisabledErrorMessage?: string; requiredFieldErrorMessage?: string; meetsRequirementsText?: string; doesNotMeetRequirementsText?: string; minErrorText?: string; uppercaseErrorText?: string; lowercaseErrorText?: string; hasErrorText?: string; }; }` | `undefined` | +| `demoGoogleData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; hidePasswords?: boolean; registrationFormState?: RegistrationFormState; enablePasswordValidation?: boolean; loginPath: string; emailDisabled?: boolean; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; emailOptIn?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel?: string; networkErrorMessage?: string; passwordMismatchErrorMessage?: string; invalidEmailErrorMessage?: string; formDisabledErrorMessage?: string; requiredFieldErrorMessage?: string; meetsRequirementsText?: string; doesNotMeetRequirementsText?: string; minErrorText?: string; uppercaseErrorText?: string; lowercaseErrorText?: string; hasErrorText?: string; }; }` | `undefined` | +| `disablePasswordValidation` | `disable-password-validation` | | `boolean` | `false` | +| `doesNotMeetRequirementsText` | `does-not-meet-requirements-text` | | `string` | `"Password must meet the following requirements:"` | +| `emailLabel` | `email-label` | | `string` | `"Email"` | +| `formDisabledErrorMessage` | `form-disabled-error-message` | The message to be displayed when the registration form is disabled. | `string` | `"The registration form is currently disabled."` | +| `formKey` | `form-key` | The key of the registration form used for this microsite. | `string` | `undefined` | +| `googleButtonText` | `google-button-text` | Can be "signup_with", "signin_with", "continue_with", or "signin" | `string` | `"signup_with"` | +| `hasErrorText` | `has-error-text` | | `string` | `"contain at least 1 number or symbol"` | +| `hideInputs` | `hide-inputs` | Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes "email" and "password" for this form to succeed. | `boolean` | `false` | +| `invalidEmailErrorMessage` | `invalid-email-error-message` | The message to be displayed when the email used is invalid or blocked. | `string` | `"Must be a valid email address"` | +| `loginCTA` | `login-c-t-a` | Login Call-to-action | `string` | `"Already have an account?"` | +| `loginLabel` | `login-label` | | `string` | `"Sign in"` | +| `loginPath` | `login-path` | Redirect participants to this page after clicking the login button. | `string` | `"/login"` | +| `lowercaseErrorText` | `lowercase-error-text` | | `string` | `"contain at least 1 lowercase character"` | +| `meetsRequirementsText` | `meets-requirements-text` | | `string` | `"Password has met all requirements"` | +| `minErrorText` | `min-error-text` | | `string` | `"be a minimum of 8 characters"` | +| `networkErrorMessage` | `network-error-message` | The message to be displayed when a the form submission fails unexpectedly. | `string` | `"Network request failed."` | +| `nextPage` | `next-page` | Redirect participants to this page after they successfully register. | `string` | `"/"` | +| `pageLabel` | `page-label` | | `string` | `"Register"` | +| `passwordLabel` | `password-label` | | `string` | `"Password"` | +| `passwordMismatchErrorMessage` | `password-mismatch-error-message` | The message to be displayed when password inputs do not match. | `string` | `"Passwords do not match."` | +| `redirectPath` | `redirect-path` | Redirect participants to this page from their verification email | `string` | `"/verifyEmail"` | +| `requiredFieldErrorMessage` | `required-field-error-message` | The message to be displayed when a required field is not filled. | `string` | `"Cannot be empty"` | +| `submitLabel` | `submit-label` | | `string` | `"Register"` | +| `uppercaseErrorText` | `uppercase-error-text` | | `string` | `"contain at least 1 uppercase character"` | ## Dependencies diff --git a/packages/mint-components/src/components/sqm-portal-login/readme.md b/packages/mint-components/src/components/sqm-portal-login/readme.md index ecf9a3b35..5efab6c66 100644 --- a/packages/mint-components/src/components/sqm-portal-login/readme.md +++ b/packages/mint-components/src/components/sqm-portal-login/readme.md @@ -7,20 +7,20 @@ ## Properties -| Property | Attribute | Description | Type | Default | -| --------------------- | ----------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `demoData` | -- | | `{ states?: { error: string; loading: boolean; forgotPasswordPath: string; registerPath: string; }; content?: { googleButton?: VNode; forgotPasswordButton?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; }; }` | `undefined` | -| `emailLabel` | `email-label` | | `string` | `"Email"` | -| `forgotPasswordLabel` | `forgot-password-label` | | `string` | `"Forgot Password?"` | -| `forgotPasswordPath` | `forgot-password-path` | Redirect participants to this page to reset their password | `string` | `"/forgotPassword"` | -| `networkErrorMessage` | `network-error-message` | | `string` | `"An error occurred while logging you in. Please refresh the page and try again."` | -| `nextPage` | `next-page` | Redirect participants to this page after they successfully login. | `string` | `"/"` | -| `pageLabel` | `page-label` | | `string` | `"Sign in to your account"` | -| `passwordLabel` | `password-label` | | `string` | `"Password"` | -| `registerCTA` | `register-c-t-a` | | `string` | `"Don't have an account?"` | -| `registerLabel` | `register-label` | | `string` | `"Register"` | -| `registerPath` | `register-path` | Redirect participants to this page to start registration. | `string` | `"/register"` | -| `submitLabel` | `submit-label` | | `string` | `"Sign In"` | +| Property | Attribute | Description | Type | Default | +| --------------------- | ----------------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `demoData` | -- | | `{ states?: { error: string; loading: boolean; forgotPasswordPath: string; registerPath: string; }; content?: { googleButton?: VNode; forgotPasswordButton?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; }; }` | `undefined` | +| `emailLabel` | `email-label` | | `string` | `"Email"` | +| `forgotPasswordLabel` | `forgot-password-label` | | `string` | `"Forgot Password?"` | +| `forgotPasswordPath` | `forgot-password-path` | Redirect participants to this page to reset their password | `string` | `"/forgotPassword"` | +| `networkErrorMessage` | `network-error-message` | Displayed when the login fails due to a network error. The participant can try refreshing the page. | `string` | `"An error occurred while logging you in. Please refresh the page and try again."` | +| `nextPage` | `next-page` | Redirect participants to this page after they successfully login. | `string` | `"/"` | +| `pageLabel` | `page-label` | | `string` | `"Sign in to your account"` | +| `passwordLabel` | `password-label` | | `string` | `"Password"` | +| `registerCTA` | `register-c-t-a` | | `string` | `"Don't have an account?"` | +| `registerLabel` | `register-label` | | `string` | `"Register"` | +| `registerPath` | `register-path` | Redirect participants to this page to start registration. | `string` | `"/register"` | +| `submitLabel` | `submit-label` | | `string` | `"Sign In"` | ## Dependencies diff --git a/packages/mint-components/src/components/sqm-portal-registration-form/readme.md b/packages/mint-components/src/components/sqm-portal-registration-form/readme.md index ba1155b9d..5fabd259b 100644 --- a/packages/mint-components/src/components/sqm-portal-registration-form/readme.md +++ b/packages/mint-components/src/components/sqm-portal-registration-form/readme.md @@ -5,33 +5,33 @@ ## Properties -| Property | Attribute | Description | Type | Default | -| ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- | -| `confirmPassword` | `confirm-password` | | `boolean` | `false` | -| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `"Confirm Password"` | -| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; hidePasswords?: boolean; registrationFormState?: RegistrationFormState; enablePasswordValidation?: boolean; loginPath: string; emailDisabled?: boolean; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel?: string; networkErrorMessage?: string; passwordMismatchErrorMessage?: string; invalidEmailErrorMessage?: string; formDisabledErrorMessage?: string; requiredFieldErrorMessage?: string; meetsRequirementsText?: string; doesNotMeetRequirementsText?: string; minErrorText?: string; uppercaseErrorText?: string; lowercaseErrorText?: string; hasErrorText?: string; }; }` | `undefined` | -| `disablePasswordValidation` | `disable-password-validation` | | `boolean` | `false` | -| `doesNotMeetRequirementsText` | `does-not-meet-requirements-text` | | `string` | `"Password must meet the following requirements:"` | -| `emailLabel` | `email-label` | | `string` | `"Email"` | -| `formDisabledErrorMessage` | `form-disabled-error-message` | The message to be displayed when the registration form is disabled. | `string` | `"The registration form is currently disabled."` | -| `formKey` | `form-key` | The key of the registration form used for this microsite. | `string` | `undefined` | -| `hasErrorText` | `has-error-text` | | `string` | `"contain at least 1 number or symbol"` | -| `hideInputs` | `hide-inputs` | Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes "email" and "password" for this form to succeed. | `boolean` | `false` | -| `invalidEmailErrorMessage` | `invalid-email-error-message` | The message to be displayed when the email used is invalid or blocked. | `string` | `"Must be a valid email address"` | -| `loginLabel` | `login-label` | | `string` | `"Sign in"` | -| `loginPath` | `login-path` | Redirect participants to this page after clicking the login button. | `string` | `"/login"` | -| `lowercaseErrorText` | `lowercase-error-text` | | `string` | `"contain at least 1 lowercase character"` | -| `meetsRequirementsText` | `meets-requirements-text` | | `string` | `"Password has met all requirements"` | -| `minErrorText` | `min-error-text` | | `string` | `"be a minimum of 8 characters"` | -| `networkErrorMessage` | `network-error-message` | The message to be displayed when a the form submission fails unexpectedly. | `string` | `"Network request failed."` | -| `nextPage` | `next-page` | Redirect participants to this page after they successfully register. | `string` | `"/"` | -| `pageLabel` | `page-label` | | `string` | `"Register"` | -| `passwordLabel` | `password-label` | | `string` | `"Password"` | -| `passwordMismatchErrorMessage` | `password-mismatch-error-message` | The message to be displayed when password inputs do not match. | `string` | `"Passwords do not match."` | -| `redirectPath` | `redirect-path` | Redirect participants to this page from their verification email | `string` | `"/verifyEmail"` | -| `requiredFieldErrorMessage` | `required-field-error-message` | The message to be displayed when a required field is not filled. | `string` | `"Cannot be empty"` | -| `submitLabel` | `submit-label` | | `string` | `"Register"` | -| `uppercaseErrorText` | `uppercase-error-text` | | `string` | `"contain at least 1 uppercase character"` | +| Property | Attribute | Description | Type | Default | +| ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | +| `confirmPassword` | `confirm-password` | | `boolean` | `false` | +| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `"Confirm Password"` | +| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; hidePasswords?: boolean; registrationFormState?: RegistrationFormState; enablePasswordValidation?: boolean; loginPath: string; emailDisabled?: boolean; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; emailOptIn?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel?: string; networkErrorMessage?: string; passwordMismatchErrorMessage?: string; invalidEmailErrorMessage?: string; formDisabledErrorMessage?: string; requiredFieldErrorMessage?: string; meetsRequirementsText?: string; doesNotMeetRequirementsText?: string; minErrorText?: string; uppercaseErrorText?: string; lowercaseErrorText?: string; hasErrorText?: string; }; }` | `undefined` | +| `disablePasswordValidation` | `disable-password-validation` | | `boolean` | `false` | +| `doesNotMeetRequirementsText` | `does-not-meet-requirements-text` | | `string` | `"Password must meet the following requirements:"` | +| `emailLabel` | `email-label` | | `string` | `"Email"` | +| `formDisabledErrorMessage` | `form-disabled-error-message` | The message to be displayed when the registration form is disabled. | `string` | `"The registration form is currently disabled."` | +| `formKey` | `form-key` | The key of the registration form used for this microsite. | `string` | `undefined` | +| `hasErrorText` | `has-error-text` | | `string` | `"contain at least 1 number or symbol"` | +| `hideInputs` | `hide-inputs` | Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes "email" and "password" for this form to succeed. | `boolean` | `false` | +| `invalidEmailErrorMessage` | `invalid-email-error-message` | The message to be displayed when the email used is invalid or blocked. | `string` | `"Must be a valid email address"` | +| `loginLabel` | `login-label` | | `string` | `"Sign in"` | +| `loginPath` | `login-path` | Redirect participants to this page after clicking the login button. | `string` | `"/login"` | +| `lowercaseErrorText` | `lowercase-error-text` | | `string` | `"contain at least 1 lowercase character"` | +| `meetsRequirementsText` | `meets-requirements-text` | | `string` | `"Password has met all requirements"` | +| `minErrorText` | `min-error-text` | | `string` | `"be a minimum of 8 characters"` | +| `networkErrorMessage` | `network-error-message` | The message to be displayed when a the form submission fails unexpectedly. | `string` | `"Network request failed."` | +| `nextPage` | `next-page` | Redirect participants to this page after they successfully register. | `string` | `"/"` | +| `pageLabel` | `page-label` | | `string` | `"Register"` | +| `passwordLabel` | `password-label` | | `string` | `"Password"` | +| `passwordMismatchErrorMessage` | `password-mismatch-error-message` | The message to be displayed when password inputs do not match. | `string` | `"Passwords do not match."` | +| `redirectPath` | `redirect-path` | Redirect participants to this page from their verification email | `string` | `"/verifyEmail"` | +| `requiredFieldErrorMessage` | `required-field-error-message` | The message to be displayed when a required field is not filled. | `string` | `"Cannot be empty"` | +| `submitLabel` | `submit-label` | | `string` | `"Register"` | +| `uppercaseErrorText` | `uppercase-error-text` | | `string` | `"contain at least 1 uppercase character"` | ## Dependencies diff --git a/packages/mint-components/src/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.tsx b/packages/mint-components/src/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.tsx index 2ba5e44f8..9223a30df 100644 --- a/packages/mint-components/src/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.tsx +++ b/packages/mint-components/src/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.tsx @@ -1,14 +1,14 @@ +import { isDemo, useParentState } from "@saasquatch/component-boilerplate"; import { withHooks } from "@saasquatch/stencil-hooks"; import { Component, Prop, h } from "@stencil/core"; import deepmerge from "deepmerge"; import { DemoData } from "../../../global/demo"; import { getProps } from "../../../utils/utils"; +import { ErrorView } from "./ErrorView"; import LoadingView from "./LoadingView"; import { TAX_CONTEXT_NAMESPACE } from "./data"; import { extractProps } from "./extractProps"; import { UseTaxAndCashResultType, useTaxAndCash } from "./useTaxAndCash"; -import { isDemo, useParentState } from "@saasquatch/component-boilerplate"; -import { ErrorView } from "./ErrorView"; /** * @uiName Tax and Cash @@ -1099,9 +1099,14 @@ export class TaxAndCashMonolith { @Prop() supportLink: string = "support team"; /** - * + * @ghost * @undocumented * @uiType object + * @demo Step 1 - { "step": "/1" } + * @demo Step 2 - { "step": "/2" } + * @demo Step 3 - { "step": "/3" } + * @demo Step 3 - { "step": "/4" } + * @demo Dashboard - { "step": "/dashboard" } */ @Prop() demoData?: DemoData; From 0c09059b6fe28dbbc75ee1fcadfd7ead61b1158b Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Mon, 2 Jun 2025 15:19:54 -0700 Subject: [PATCH 002/302] card feed component annotations --- .../src/components/sqm-card-feed/sqm-card-feed.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx b/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx index 38ebbda10..334c98d72 100644 --- a/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx +++ b/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx @@ -6,6 +6,8 @@ import { CardFeedView } from "./sqm-card-feed-view"; /** * @uiName Card Feed * @slots [{"name":"","title":"Cards"}] + * @validParents ["sqm-brand","sqm-portal-container", "sqm-popup-container-sqm-hero", "sqm-titled-section", "div"] + * @validChildren ["sqm-task-card"] * @exampleGroup Rewards * @example Task Card Feed - */ From 728c77c4818857b98ad2fa61979f8651de5df8de Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Tue, 3 Jun 2025 14:43:34 -0700 Subject: [PATCH 003/302] Start adding component annotations --- packages/mint-components/package.json | 2 +- .../src/components/sqm-big-stat/sqm-big-stat.tsx | 2 ++ .../src/components/sqm-card-feed/sqm-card-feed.tsx | 2 +- .../src/components/sqm-stat-container/sqm-stat-container.tsx | 2 ++ .../src/components/sqm-task-card/sqm-task-card.tsx | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/mint-components/package.json b/packages/mint-components/package.json index ba0a99dce..70b876740 100644 --- a/packages/mint-components/package.json +++ b/packages/mint-components/package.json @@ -1,7 +1,7 @@ { "name": "@saasquatch/mint-components", "title": "Mint Components", - "version": "1.14.0", + "version": "1.15.0-2", "description": "A minimal design library with components for referral and loyalty experiences. Built with Shoelace components by Saasquatch.", "icon": "https://res.cloudinary.com/saasquatch/image/upload/v1652219900/squatch-assets/For_Mint.svg", "raisins": "docs/raisins.json", diff --git a/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat.tsx b/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat.tsx index 4ccfa707a..00e8dde98 100644 --- a/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat.tsx +++ b/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat.tsx @@ -9,6 +9,8 @@ import { DemoData } from "../../global/demo"; /** * * @uiName User Stat + * @validParents ["sqm-stat-container"] + * @validChildren ["p","div","h1","h2","h3","h4","h5","span"] * @slots [{"name":"","title":"Stat Text"}] * @slotEditor richText * @exampleGroup Statistics diff --git a/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx b/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx index 334c98d72..b1215ba87 100644 --- a/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx +++ b/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx @@ -6,7 +6,7 @@ import { CardFeedView } from "./sqm-card-feed-view"; /** * @uiName Card Feed * @slots [{"name":"","title":"Cards"}] - * @validParents ["sqm-brand","sqm-portal-container", "sqm-popup-container-sqm-hero", "sqm-titled-section", "div"] + * @validParents ["sqm-brand","sqm-portal-container", "sqm-popup-container-sqm-hero", "sqm-titled-section", "div", "sqm-divided-layout", "template", "sqb-program-section", "sqb-conditional-section"] * @validChildren ["sqm-task-card"] * @exampleGroup Rewards * @example Task Card Feed - diff --git a/packages/mint-components/src/components/sqm-stat-container/sqm-stat-container.tsx b/packages/mint-components/src/components/sqm-stat-container/sqm-stat-container.tsx index 5ac5514a9..0100b0ec7 100644 --- a/packages/mint-components/src/components/sqm-stat-container/sqm-stat-container.tsx +++ b/packages/mint-components/src/components/sqm-stat-container/sqm-stat-container.tsx @@ -6,6 +6,8 @@ import { Spacing } from "../../global/mixins"; /** * @uiName Stat Container + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero", "sqb-program-section", "sqb-conditional-section"] + * @validChildren ["sqm-big-stat"] * @slots [{"name":"", "title":"Stats"}] * @exampleGroup Statistics * @example Container with Three Stats -

Points Balance

Giftcards Earned

Referrals

diff --git a/packages/mint-components/src/components/sqm-task-card/sqm-task-card.tsx b/packages/mint-components/src/components/sqm-task-card/sqm-task-card.tsx index db7579e16..0338f9065 100644 --- a/packages/mint-components/src/components/sqm-task-card/sqm-task-card.tsx +++ b/packages/mint-components/src/components/sqm-task-card/sqm-task-card.tsx @@ -13,6 +13,7 @@ import { useTaskCard } from "./useTaskCard"; /** * @uiName Task Card * @uiOrder ["reward-amount", "reward-unit", "card-title", "description", "repeatable", "finite", "show-progress-bar", "stat-type", "progress-source", "goal", "steps", "progress-bar-unit", "show-expiry", "reward-duration", "button-text", "button-link", "open-new-tab", "ended-message", "expiry-message", "starts-on-message", "event-key", "*"] + * @validParents ["sqm-card-feed"] * @exampleGroup Rewards * @example One Time Task Card - * @example Repeatable Task Card - From 6d5d59d13d361763aa460ab19de2336ceb603104 Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Tue, 3 Jun 2025 14:44:08 -0700 Subject: [PATCH 004/302] Fix typo --- .../src/components/sqm-card-feed/sqm-card-feed.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx b/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx index b1215ba87..9d2c787bb 100644 --- a/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx +++ b/packages/mint-components/src/components/sqm-card-feed/sqm-card-feed.tsx @@ -6,7 +6,7 @@ import { CardFeedView } from "./sqm-card-feed-view"; /** * @uiName Card Feed * @slots [{"name":"","title":"Cards"}] - * @validParents ["sqm-brand","sqm-portal-container", "sqm-popup-container-sqm-hero", "sqm-titled-section", "div", "sqm-divided-layout", "template", "sqb-program-section", "sqb-conditional-section"] + * @validParents ["sqm-brand","sqm-portal-container", "sqm-popup-container", "sqm-titled-section", "div", "sqm-divided-layout", "template", "sqb-program-section", "sqb-conditional-section"] * @validChildren ["sqm-task-card"] * @exampleGroup Rewards * @example Task Card Feed - From 90e41d0dc91c58632c6d0393bafbeccfc570925a Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Tue, 3 Jun 2025 19:28:28 -0700 Subject: [PATCH 005/302] Finish most of the component annotations --- .../src/components/sqm-coupon-code/sqm-coupon-code.tsx | 1 + .../src/components/sqm-divided-layout/sqm-divided-layout.tsx | 2 ++ .../src/components/sqm-header-logo/sqm-header-logo.tsx | 1 + .../src/components/sqm-hero-image/sqm-hero-image.tsx | 1 + .../mint-components/src/components/sqm-hero/sqm-hero.tsx | 1 + .../mint-components/src/components/sqm-image/sqm-image.tsx | 1 + .../sqm-instant-access-registration.tsx | 1 + .../src/components/sqm-leaderboard/sqm-leaderboard.tsx | 1 + .../components/sqm-navigation-menu/sqm-navigation-menu.tsx | 1 + .../sqm-navigation-sidebar/sqm-navigation-sidebar.tsx | 2 ++ .../sqm-portal-change-password.tsx | 1 + .../src/components/sqm-portal-footer/sqm-portal-footer.tsx | 1 + .../src/components/sqm-portal-login/sqm-portal-login.tsx | 1 + .../src/components/sqm-portal-logout/sqm-portal-logout.tsx | 1 + .../src/components/sqm-portal-profile/sqm-portal-profile.tsx | 1 + .../sqm-portal-protected-route.tsx | 1 + .../sqm-program-explainer/sqm-program-explainer.tsx | 2 ++ .../src/components/sqm-program-menu/sqm-program-menu.tsx | 1 + .../src/components/sqm-qr-code/sqm-qr-code.tsx | 1 + .../src/components/sqm-referral-card/sqm-referral-card.tsx | 5 ++++- .../src/components/sqm-referral-code/sqm-referral-code.tsx | 1 + .../src/components/sqm-referral-codes/sqm-referral-codes.tsx | 1 + .../src/components/sqm-referral-table/sqm-referral-table.tsx | 2 ++ .../sqm-referred-registration/sqm-referred-registration.tsx | 1 + .../sqm-reward-exchange-list/sqm-reward-exchange-list.tsx | 2 ++ .../src/components/sqm-rewards-table/sqm-rewards-table.tsx | 1 + 26 files changed, 34 insertions(+), 1 deletion(-) diff --git a/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code.tsx b/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code.tsx index 4abc594ba..74a161531 100644 --- a/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code.tsx +++ b/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code.tsx @@ -9,6 +9,7 @@ import { useCouponCode } from "./useCouponCode"; /** * @uiName Coupon Code + * @validParents ["sqm-brand","sqm-portal-container","div","sqm-popup-container","sqm-hero","sqm-referral-card","sqm-titled-section", "sqb-program-section", "sqb-conditional-section"] * @compatibility Built for instant access * @exampleGroup Instant Access * @example Coupon Code - diff --git a/packages/mint-components/src/components/sqm-divided-layout/sqm-divided-layout.tsx b/packages/mint-components/src/components/sqm-divided-layout/sqm-divided-layout.tsx index f988a2cfe..fb921eb52 100644 --- a/packages/mint-components/src/components/sqm-divided-layout/sqm-divided-layout.tsx +++ b/packages/mint-components/src/components/sqm-divided-layout/sqm-divided-layout.tsx @@ -8,6 +8,8 @@ import { getProps } from "../../utils/utils"; * Spacing is left up to the child * * @uiName Divided Layout + * @validParents ["sqm-brand","sqm-portal-container","div","sqm-popup-container","sqm-hero","sqm-referral-card","sqm-titled-section","sqb-program-section","sqb-conditional-section"] + * @exampleGroup Layout * @slots [{"name":"", "title":"Layout Content"}] */ @Component({ diff --git a/packages/mint-components/src/components/sqm-header-logo/sqm-header-logo.tsx b/packages/mint-components/src/components/sqm-header-logo/sqm-header-logo.tsx index baab13f91..203f7727f 100644 --- a/packages/mint-components/src/components/sqm-header-logo/sqm-header-logo.tsx +++ b/packages/mint-components/src/components/sqm-header-logo/sqm-header-logo.tsx @@ -3,6 +3,7 @@ import { Component, h, Host, Prop } from "@stencil/core"; /** * @uiName Header Logo + * @validParents ["sqm-portal-frame","div","sqm-brand"] */ @Component({ tag: "sqm-header-logo", diff --git a/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image.tsx b/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image.tsx index 9f4b787a3..0eb75663b 100644 --- a/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image.tsx +++ b/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image.tsx @@ -6,6 +6,7 @@ import { HeroImageView } from "./sqm-hero-image-view"; /** * @uiName Hero Image + * @validParents ["sqm-portal-container","sqm-brand", "div"] * @exampleGroup Common Components * @example Two Column Hero Image - * @example Overlay Hero Image - diff --git a/packages/mint-components/src/components/sqm-hero/sqm-hero.tsx b/packages/mint-components/src/components/sqm-hero/sqm-hero.tsx index b55794f6b..0960ff9b3 100644 --- a/packages/mint-components/src/components/sqm-hero/sqm-hero.tsx +++ b/packages/mint-components/src/components/sqm-hero/sqm-hero.tsx @@ -5,6 +5,7 @@ import { getProps } from "../../utils/utils"; /** * @uiName Hero Layout + * @validParents ["sqm-portal-container","sqm-brand","div"] * @slots [{"name":"","title":"Primary Column Content"},{"name":"secondary-column","title":"Secondary Column Content"}] * @example Two Column Hero Layout -

Primary Column Content

Secondary Column Content

* @exampleGroup Layout diff --git a/packages/mint-components/src/components/sqm-image/sqm-image.tsx b/packages/mint-components/src/components/sqm-image/sqm-image.tsx index caba15cc2..21d709548 100644 --- a/packages/mint-components/src/components/sqm-image/sqm-image.tsx +++ b/packages/mint-components/src/components/sqm-image/sqm-image.tsx @@ -5,6 +5,7 @@ import { ImageView } from "./sqm-image-view"; /** * @uiName Image + * @validParents ["sqm-brand","div","sqm-portal-container","sqm-divided-layout","sqm-titled-section", "sqb-program-section", "sqb-conditional-section"] * @exampleGroup Common Components * @example Image - */ diff --git a/packages/mint-components/src/components/sqm-instant-access-registration/sqm-instant-access-registration.tsx b/packages/mint-components/src/components/sqm-instant-access-registration/sqm-instant-access-registration.tsx index 034f1d7e9..f50665259 100644 --- a/packages/mint-components/src/components/sqm-instant-access-registration/sqm-instant-access-registration.tsx +++ b/packages/mint-components/src/components/sqm-instant-access-registration/sqm-instant-access-registration.tsx @@ -11,6 +11,7 @@ import { useInstantAccessRegistration } from "./useInstantAccessRegistration"; /** * @uiName Instant Access Registration + * @validParents ["sqm-portal-container","div","sqm-hero","template", "sqb-program-section", "sqb-conditional-section"] * @compatibility Built for instant access * @exampleGroup Instant Access * @example Instant Access Registration - diff --git a/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard.tsx b/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard.tsx index 03a3eb5f1..441e35c74 100644 --- a/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard.tsx +++ b/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard.tsx @@ -9,6 +9,7 @@ import { LeaderboardProps, useLeaderboard } from "./useLeaderboard"; /** * @uiName Leaderboard + * @validParents ["sqm-portal-container","div","sqm-hero","sqm-instant-access-registration","sqm-brand","sqb-program-section","sqb-conditional-section"] * @slots [{"name":"empty", "title":"Empty State"}] * @requiredFeatures ["LEADERBOARDS"] * @exampleGroup Leaderboard diff --git a/packages/mint-components/src/components/sqm-navigation-menu/sqm-navigation-menu.tsx b/packages/mint-components/src/components/sqm-navigation-menu/sqm-navigation-menu.tsx index 094b62be4..434734600 100644 --- a/packages/mint-components/src/components/sqm-navigation-menu/sqm-navigation-menu.tsx +++ b/packages/mint-components/src/components/sqm-navigation-menu/sqm-navigation-menu.tsx @@ -12,6 +12,7 @@ import deepmerge from "deepmerge"; /** * @uiName Navigation Menu + * @validParents ["sqm-portal-container","div","sqm-brand","sqm-divided-layout"] */ @Component({ tag: "sqm-navigation-menu", diff --git a/packages/mint-components/src/components/sqm-navigation-sidebar/sqm-navigation-sidebar.tsx b/packages/mint-components/src/components/sqm-navigation-sidebar/sqm-navigation-sidebar.tsx index 72b183d28..6875f20f2 100644 --- a/packages/mint-components/src/components/sqm-navigation-sidebar/sqm-navigation-sidebar.tsx +++ b/packages/mint-components/src/components/sqm-navigation-sidebar/sqm-navigation-sidebar.tsx @@ -9,6 +9,8 @@ import { NavigationSidebarView } from "./sqm-navigation-sidebar-view"; /** * @uiName Microsite Sidebar + * @validParents ["div","sqm-divided-layout","template","sqm-portal-container","sqm-brand"] + * @validChildren ["sqm-navigation-sidebar-item"] * @slots [{"name":"", "title":"Sidebar Content"}] */ @Component({ diff --git a/packages/mint-components/src/components/sqm-portal-change-password/sqm-portal-change-password.tsx b/packages/mint-components/src/components/sqm-portal-change-password/sqm-portal-change-password.tsx index 8678596d1..1cbe02afc 100644 --- a/packages/mint-components/src/components/sqm-portal-change-password/sqm-portal-change-password.tsx +++ b/packages/mint-components/src/components/sqm-portal-change-password/sqm-portal-change-password.tsx @@ -12,6 +12,7 @@ import { useState } from "@saasquatch/universal-hooks"; /** * @uiName Microsite Password Change + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand"] */ @Component({ tag: "sqm-portal-change-password", diff --git a/packages/mint-components/src/components/sqm-portal-footer/sqm-portal-footer.tsx b/packages/mint-components/src/components/sqm-portal-footer/sqm-portal-footer.tsx index 663af1249..3db9aff80 100644 --- a/packages/mint-components/src/components/sqm-portal-footer/sqm-portal-footer.tsx +++ b/packages/mint-components/src/components/sqm-portal-footer/sqm-portal-footer.tsx @@ -5,6 +5,7 @@ import { PortalFooterView } from "./sqm-portal-footer-view"; /** * @uiName Footer + * @validParents ["div","sqm-brand","sqm-portal-container"] */ @Component({ tag: "sqm-portal-footer", diff --git a/packages/mint-components/src/components/sqm-portal-login/sqm-portal-login.tsx b/packages/mint-components/src/components/sqm-portal-login/sqm-portal-login.tsx index 18c2e0278..32c121ada 100644 --- a/packages/mint-components/src/components/sqm-portal-login/sqm-portal-login.tsx +++ b/packages/mint-components/src/components/sqm-portal-login/sqm-portal-login.tsx @@ -9,6 +9,7 @@ import { createStyleSheet } from "../../styling/JSS"; /** * @uiName Microsite Login + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand", "template"] */ @Component({ tag: "sqm-portal-login", diff --git a/packages/mint-components/src/components/sqm-portal-logout/sqm-portal-logout.tsx b/packages/mint-components/src/components/sqm-portal-logout/sqm-portal-logout.tsx index c43a05e3b..49e1ab65c 100644 --- a/packages/mint-components/src/components/sqm-portal-logout/sqm-portal-logout.tsx +++ b/packages/mint-components/src/components/sqm-portal-logout/sqm-portal-logout.tsx @@ -5,6 +5,7 @@ import { usePortalLogout } from "./usePortalLogout"; /** * @uiName Microsite Logout + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template"] * @compatibility Built for instant access */ @Component({ diff --git a/packages/mint-components/src/components/sqm-portal-profile/sqm-portal-profile.tsx b/packages/mint-components/src/components/sqm-portal-profile/sqm-portal-profile.tsx index b0f2e8606..fc8946196 100644 --- a/packages/mint-components/src/components/sqm-portal-profile/sqm-portal-profile.tsx +++ b/packages/mint-components/src/components/sqm-portal-profile/sqm-portal-profile.tsx @@ -12,6 +12,7 @@ import deepmerge from "deepmerge"; /** * @uiName Microsite Participant Profile + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template"] */ @Component({ tag: "sqm-portal-profile", diff --git a/packages/mint-components/src/components/sqm-portal-protected-route/sqm-portal-protected-route.tsx b/packages/mint-components/src/components/sqm-portal-protected-route/sqm-portal-protected-route.tsx index 6f8bf68b3..97836955e 100644 --- a/packages/mint-components/src/components/sqm-portal-protected-route/sqm-portal-protected-route.tsx +++ b/packages/mint-components/src/components/sqm-portal-protected-route/sqm-portal-protected-route.tsx @@ -5,6 +5,7 @@ import { usePortalProtectedRoute } from "./usePortalProtectedRoute"; /** * @uiName Microsite Protected Route + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template", "sqb-program-section", "sqb-conditional-section"] * @slots [{"name":"","title":"Route Content"}] */ @Component({ diff --git a/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer.tsx b/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer.tsx index 8b29c1885..bbfb1243f 100644 --- a/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer.tsx +++ b/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer.tsx @@ -5,6 +5,8 @@ import { ProgramExplainerView } from "./sqm-program-explainer-view"; /** * @uiName Program Explainer + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqb-program-section","sqb-conditional-section"] + * @validChildren ["sqm-program-explainer-step"] * @exampleGroup Common Components * @slots [{"name":"", "title":"Explainer", "validChildren":["sqm-program-explainer-step"]}] * @example Program Explainer - diff --git a/packages/mint-components/src/components/sqm-program-menu/sqm-program-menu.tsx b/packages/mint-components/src/components/sqm-program-menu/sqm-program-menu.tsx index 221685273..143ee5392 100644 --- a/packages/mint-components/src/components/sqm-program-menu/sqm-program-menu.tsx +++ b/packages/mint-components/src/components/sqm-program-menu/sqm-program-menu.tsx @@ -5,6 +5,7 @@ import { getProps } from "../../utils/utils"; /** * @uiName Microsite Program Menu + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template"] * @slots [{"name":"","title":"Menu Content"}] * @canvasRenderer always-replace */ diff --git a/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code.tsx b/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code.tsx index 71d6572d4..29407217b 100644 --- a/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code.tsx +++ b/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code.tsx @@ -9,6 +9,7 @@ import { useQRCode } from "./useQRCode"; /** * @uiName QR Code + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand", "sqb-program-section", "sqb-conditional-section"] * @exampleGroup Sharing * @example QR Code - */ diff --git a/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card.tsx b/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card.tsx index 35fde1aa2..2c448a3ad 100644 --- a/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card.tsx +++ b/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card.tsx @@ -7,10 +7,13 @@ import { useChildElements } from "../../tables/useChildElements"; /** * @uiName Referral Card + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqb-program-section","sqb-conditional-section"] + * @validChildren ["div","sqm-portal-container","p","sqm-timeline","h1","h2","h3","h5","h4","sqm-pagination","sqm-qr-code","sqm-referral-code","sqm-referral-codes","sqm-share-code","sqm-share-link","sqm-text","span"] * @exampleGroup Referrals * @slots [{"name":"left", "title":"Left Content"},{"name":"right", "title":"Right Content"},{"name":"header", "title":"Header Content"},{"name":"footer", "title":"Footer Content"}] * @example Referral Card - They’ll get a $50 credit towards a new account and you’ll get: Choose how you want to share: Your unique referral link: Share via email Share on LinkedIn Share on Twitter - */ + * */ + @Component({ tag: "sqm-referral-card", shadow: true, diff --git a/packages/mint-components/src/components/sqm-referral-code/sqm-referral-code.tsx b/packages/mint-components/src/components/sqm-referral-code/sqm-referral-code.tsx index 36143507a..e1f52a83d 100644 --- a/packages/mint-components/src/components/sqm-referral-code/sqm-referral-code.tsx +++ b/packages/mint-components/src/components/sqm-referral-code/sqm-referral-code.tsx @@ -9,6 +9,7 @@ import { useReferralCode } from "./useReferralCode"; /** * @uiName Referral Code + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-referral-card","span"] * @exampleGroup Sharing * @example Referral Code - */ diff --git a/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes.tsx b/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes.tsx index 1dd261896..2c109960c 100644 --- a/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes.tsx +++ b/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes.tsx @@ -12,6 +12,7 @@ import { useReferralCodes } from "./useReferralCodes"; /** * @uiName Promo Codes + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-referral-card","span","sqb-program-section","sqb-conditional-section"] * @slots [{"name":"", "title":"Promo Codes Content"}] * @exampleGroup Sharing * @example Promo Codes - Share via emailShare on FacebookShare on WhatsApp diff --git a/packages/mint-components/src/components/sqm-referral-table/sqm-referral-table.tsx b/packages/mint-components/src/components/sqm-referral-table/sqm-referral-table.tsx index 7cccc2cbb..2ad7f57c1 100644 --- a/packages/mint-components/src/components/sqm-referral-table/sqm-referral-table.tsx +++ b/packages/mint-components/src/components/sqm-referral-table/sqm-referral-table.tsx @@ -18,6 +18,8 @@ import { tryMethod, useReferralTable } from "./useReferralTable"; /** * @uiName Referral Table + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-referral-card","span","sqm-tab","sqb-program-section","sqb-conditional-section"] + * @validChildren ["sqm-referral-table-column","sqm-referral-table-date-column","sqm-referral-table-rewards-column","sqm-referral-table-status-column","sqm-referral-table-user-column","sqm-empty"] * @exampleGroup Referrals * @slots [{"name":"", "title":"Table Row"},{"name":"empty", "title":"Empty"},{"name":"loading","title":"Loading"}] * @example Referral Table - diff --git a/packages/mint-components/src/components/sqm-referred-registration/sqm-referred-registration.tsx b/packages/mint-components/src/components/sqm-referred-registration/sqm-referred-registration.tsx index e7e9a1897..b71beaa2a 100644 --- a/packages/mint-components/src/components/sqm-referred-registration/sqm-referred-registration.tsx +++ b/packages/mint-components/src/components/sqm-referred-registration/sqm-referred-registration.tsx @@ -11,6 +11,7 @@ import { /** * @uiName Instant Access Friend Registration + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqb-program-section","sqb-conditional-section"] * @compatibility Built for instant access * @exampleGroup Instant Access * @example Instant Access Friend Registration - diff --git a/packages/mint-components/src/components/sqm-reward-exchange-list/sqm-reward-exchange-list.tsx b/packages/mint-components/src/components/sqm-reward-exchange-list/sqm-reward-exchange-list.tsx index 4e5a54a7a..a8ba2c742 100644 --- a/packages/mint-components/src/components/sqm-reward-exchange-list/sqm-reward-exchange-list.tsx +++ b/packages/mint-components/src/components/sqm-reward-exchange-list/sqm-reward-exchange-list.tsx @@ -19,6 +19,8 @@ import { demoRewardExchange, rewardExchange } from "./RewardExchangeListData"; /** * @uiName Reward Exchange + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab","sqb-program-section","sqb-conditional-section"] + * @validChildren ["sqm-empty"] * @slots [{"name":"empty", "title":"Empty State"}] * @exampleGroup Rewards * @example Reward Exchange - diff --git a/packages/mint-components/src/components/sqm-rewards-table/sqm-rewards-table.tsx b/packages/mint-components/src/components/sqm-rewards-table/sqm-rewards-table.tsx index 001701bb3..3f1ec9526 100644 --- a/packages/mint-components/src/components/sqm-rewards-table/sqm-rewards-table.tsx +++ b/packages/mint-components/src/components/sqm-rewards-table/sqm-rewards-table.tsx @@ -19,6 +19,7 @@ import { tryMethod, useRewardsTable } from "./useRewardsTable"; /** * @uiName Reward Table + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab","sqb-program-section","sqb-conditional-section"] * @exampleGroup Rewards * @slots [{"name":"", "title":"Table Row"},{"name":"empty", "title":"Empty"},{"name":"loading","title":"Loading"}] * @example Reward Table - From 527a9d12d35ab49619cfa6cefc54b524fee15c7e Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Tue, 3 Jun 2025 19:44:04 -0700 Subject: [PATCH 006/302] Finish first pass on component annotations --- .../mint-components/src/components/sqm-route/sqm-route.tsx | 1 + .../mint-components/src/components/sqm-router/sqm-router.tsx | 2 ++ .../mint-components/src/components/sqm-scroll/sqm-scroll.tsx | 1 + .../src/components/sqm-share-button/sqm-share-button.tsx | 1 + .../src/components/sqm-share-code/sqm-share-code.tsx | 1 + .../mint-components/src/components/sqm-tabs/sqm-tabs.tsx | 2 ++ .../src/components/sqm-text-span/sqm-text-span.tsx | 1 + .../mint-components/src/components/sqm-text/sqm-text.tsx | 1 + .../src/components/sqm-timeline/sqm-timeline.tsx | 5 +++-- .../src/components/sqm-titled-section/sqm-titled-section.tsx | 2 ++ 10 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/mint-components/src/components/sqm-route/sqm-route.tsx b/packages/mint-components/src/components/sqm-route/sqm-route.tsx index b2408cc4d..b8f5d3ec4 100644 --- a/packages/mint-components/src/components/sqm-route/sqm-route.tsx +++ b/packages/mint-components/src/components/sqm-route/sqm-route.tsx @@ -5,6 +5,7 @@ export interface RouteProps { /** * @uiName Route + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab"] * @slots [{"name":"","title":"Content"}] */ @Component({ diff --git a/packages/mint-components/src/components/sqm-router/sqm-router.tsx b/packages/mint-components/src/components/sqm-router/sqm-router.tsx index d18052811..6df2e86c5 100644 --- a/packages/mint-components/src/components/sqm-router/sqm-router.tsx +++ b/packages/mint-components/src/components/sqm-router/sqm-router.tsx @@ -4,6 +4,8 @@ import { useRouter } from "./useRouter"; /** * @uiName Router + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab", "sqb-program-section", "sqb-conditional-section"] + * @validChildren ["sqm-route"] * @slots [{"name":"","title":"Routes"}] */ @Component({ diff --git a/packages/mint-components/src/components/sqm-scroll/sqm-scroll.tsx b/packages/mint-components/src/components/sqm-scroll/sqm-scroll.tsx index f683ce85b..304ed1d37 100644 --- a/packages/mint-components/src/components/sqm-scroll/sqm-scroll.tsx +++ b/packages/mint-components/src/components/sqm-scroll/sqm-scroll.tsx @@ -5,6 +5,7 @@ import { createStyleSheet } from "../../styling/JSS"; /** * @uiName Scroll Button + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab","sqb-program-section","sqb-conditional-section"] * @slots [{"name":"", "title":"Button Content"}] * @slotEditor richText */ diff --git a/packages/mint-components/src/components/sqm-share-button/sqm-share-button.tsx b/packages/mint-components/src/components/sqm-share-button/sqm-share-button.tsx index 862b2fe92..6ce733dd2 100644 --- a/packages/mint-components/src/components/sqm-share-button/sqm-share-button.tsx +++ b/packages/mint-components/src/components/sqm-share-button/sqm-share-button.tsx @@ -9,6 +9,7 @@ import deepmerge from "deepmerge"; /** * @uiName Share Button + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqb-program-section","sqb-conditional-section"] * @slots [{"name":"", "title":"Button Content"}] * @slotEditor richText * @uiOrder ["medium", "program-id", "*", "pill", "disabled", "hideicon"] diff --git a/packages/mint-components/src/components/sqm-share-code/sqm-share-code.tsx b/packages/mint-components/src/components/sqm-share-code/sqm-share-code.tsx index c1920d187..8f95f8e93 100644 --- a/packages/mint-components/src/components/sqm-share-code/sqm-share-code.tsx +++ b/packages/mint-components/src/components/sqm-share-code/sqm-share-code.tsx @@ -9,6 +9,7 @@ import { useShareCode } from "./useShareCode"; /** * @uiName Share Code + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqb-program-section","sqb-conditional-section"] * @exampleGroup Sharing * @example Share Code - */ diff --git a/packages/mint-components/src/components/sqm-tabs/sqm-tabs.tsx b/packages/mint-components/src/components/sqm-tabs/sqm-tabs.tsx index 70db185fd..b159d75b7 100644 --- a/packages/mint-components/src/components/sqm-tabs/sqm-tabs.tsx +++ b/packages/mint-components/src/components/sqm-tabs/sqm-tabs.tsx @@ -6,6 +6,8 @@ import { useTabs } from "./useTabs"; /** * @uiName Tab Group + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqb-program-section","sqb-conditional-section"] + * @validChildren ["sqm-tab"] * @slots [{"name":"", "title":"Tabs","validChildren":["sqm-tab"]}] * @exampleGroup Layout * @canvasRenderer always-replace diff --git a/packages/mint-components/src/components/sqm-text-span/sqm-text-span.tsx b/packages/mint-components/src/components/sqm-text-span/sqm-text-span.tsx index 19ccff295..26367e822 100644 --- a/packages/mint-components/src/components/sqm-text-span/sqm-text-span.tsx +++ b/packages/mint-components/src/components/sqm-text-span/sqm-text-span.tsx @@ -4,6 +4,7 @@ import { TextSpanView } from "./sqm-text-span-view"; /** * @uiName Text Span + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-big-stat","span","sqm-text-span","sqb-program-section","sqb-conditional-section"] * @canvasRenderer always-replace */ @Component({ diff --git a/packages/mint-components/src/components/sqm-text/sqm-text.tsx b/packages/mint-components/src/components/sqm-text/sqm-text.tsx index b1b3628b6..d597703c8 100644 --- a/packages/mint-components/src/components/sqm-text/sqm-text.tsx +++ b/packages/mint-components/src/components/sqm-text/sqm-text.tsx @@ -51,6 +51,7 @@ const vanillaStyle = ` /** * @uiName Text + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-big-stat","span","sqm-text-span","sqb-program-section","sqb-conditional-section"] * @slots [{"name":"", "title":"Text"}] * @slotEditor richText * @canvasRenderer always-replace diff --git a/packages/mint-components/src/components/sqm-timeline/sqm-timeline.tsx b/packages/mint-components/src/components/sqm-timeline/sqm-timeline.tsx index c69ce0f69..6286a56a2 100644 --- a/packages/mint-components/src/components/sqm-timeline/sqm-timeline.tsx +++ b/packages/mint-components/src/components/sqm-timeline/sqm-timeline.tsx @@ -5,10 +5,12 @@ import { TimelineReward } from "./sqm-timeline-entry"; /** * @uiName Program Timeline + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab","sqb-program-section","sqb-conditional-section"] + * @validChildren ["sqm-timeline-entry"] * @slots [{"name":"","title":"Timeline","validChildren":["sqm-timeline-entry"]}] * @exampleGroup Common Components * @example Program Timeline - -*/ + */ @Component({ tag: "sqm-timeline", shadow: true, @@ -31,7 +33,6 @@ export class Timeline { disconnectedCallback() {} render() { - const rewards = useChildElements(); rewards.forEach((reward) => { diff --git a/packages/mint-components/src/components/sqm-titled-section/sqm-titled-section.tsx b/packages/mint-components/src/components/sqm-titled-section/sqm-titled-section.tsx index 8bbcbd902..20bcb5e28 100644 --- a/packages/mint-components/src/components/sqm-titled-section/sqm-titled-section.tsx +++ b/packages/mint-components/src/components/sqm-titled-section/sqm-titled-section.tsx @@ -6,6 +6,8 @@ import { PortalSectionView } from "./sqm-portal-section-view"; /** * @uiName Titled Section + * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqm-tab"] + * @validChildren ["div","sqm-portal-container","p","sqm-timeline","h1","h2","h3","h5","h4","sqm-qr-code","sqm-referral-code","sqm-referral-codes","sqm-share-code","sqm-share-link","sqm-text","span"] * @slots [{"name":"label", "title":"Label"},{"name":"content", "title":"Content"}] * @exampleGroup Layout * @example Titled Section -

Section Label

Add your section content here!

From 881a16f7c24606934cca4ca02cbd50aeab0d61fb Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Tue, 3 Jun 2025 19:47:55 -0700 Subject: [PATCH 007/302] version bump --- packages/mint-components/package-lock.json | 4 ++-- packages/mint-components/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mint-components/package-lock.json b/packages/mint-components/package-lock.json index 935fbc529..82d18d4e3 100644 --- a/packages/mint-components/package-lock.json +++ b/packages/mint-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@saasquatch/mint-components", - "version": "1.14.0", + "version": "1.15.0-3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@saasquatch/mint-components", - "version": "1.14.0", + "version": "1.15.0-3", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/packages/mint-components/package.json b/packages/mint-components/package.json index 70b876740..3011b1ae2 100644 --- a/packages/mint-components/package.json +++ b/packages/mint-components/package.json @@ -1,7 +1,7 @@ { "name": "@saasquatch/mint-components", "title": "Mint Components", - "version": "1.15.0-2", + "version": "1.15.0-3", "description": "A minimal design library with components for referral and loyalty experiences. Built with Shoelace components by Saasquatch.", "icon": "https://res.cloudinary.com/saasquatch/image/upload/v1652219900/squatch-assets/For_Mint.svg", "raisins": "docs/raisins.json", From 19b163b7fc0d4fc29dff07ac1033e3c377d0fe45 Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Wed, 4 Jun 2025 16:59:52 -0700 Subject: [PATCH 008/302] Update text colors --- .../end-user-testing/src/widgetTemplate.html | 622 ++++++++++++++---- .../sqm-big-stat/sqm-big-stat-view.tsx | 3 +- .../sqm-coupon-code/sqm-coupon-code-view.tsx | 2 +- .../components/sqm-empty/sqm-empty-view.tsx | 6 +- .../sqm-hero-image/sqm-hero-image-view.tsx | 4 +- .../sqm-leaderboard/sqm-leaderboard-view.tsx | 4 +- .../sqm-program-explainer-step-view.tsx | 4 +- .../sqm-program-explainer-view.tsx | 2 +- .../sqm-referral-card-view.tsx | 2 +- .../sqm-referral-codes-view.tsx | 2 +- .../sqm-task-card/sqm-task-card-view.tsx | 22 +- .../src/components/sqm-text/sqm-text.tsx | 13 +- .../sqm-timeline/sqm-timeline-entry-view.tsx | 2 +- packages/mint-components/src/global/styles.ts | 7 +- packages/mint-components/src/index.html | 53 +- 15 files changed, 567 insertions(+), 181 deletions(-) diff --git a/packages/end-user-testing/src/widgetTemplate.html b/packages/end-user-testing/src/widgetTemplate.html index e31ba5396..c93b4c822 100644 --- a/packages/end-user-testing/src/widgetTemplate.html +++ b/packages/end-user-testing/src/widgetTemplate.html @@ -1,170 +1,528 @@ - - - - - - - - - - +

This is a test paragraph, what color is it ? 

+ +

Referrals

Points Balance

Points Balance

Giftcards Earned

Giftcards Earned

Points Balance

+ + + + + + + + + + + + + + + Share via emailShare on FacebookShare on WhatsApp +
-
-

How it works

-
-
-

- Give your friends $20.00 off their first order when they purchase - using your link. You'll receive a $10.00 - giftcard—it’s a win-win. +

+ +

Top Performers

+

+ The leaderboard highlights the top performers in real-time. Stay + motivated, stay competitive!

-
- -

Referrals

-
- -

Rewards Earned

-
-
- +
+ +
-

Your share link

-

Share $50 with friends

+

+ They’ll get a $50 credit towards a new account and + you’ll get up to $1200 +

-
-

+ They’ll get a $50 credit towards a new account and + you’ll get: +

+

Choose how you want to share:

+

Your unique referral link:

+ Share via emailShare on LinkedInPost about us
- Share - Share on LinkedInShare via Messenger - Share via Email - - -
- - -

Referral History

-
- - - - - - - - - - - -
-

Earn more rewards

+

+ Get points while using our product. Use those points to redeem + rewards like one free month of Enterprise or two plane tickets to + anywhere in North America +

-
-
-
+ > diff --git a/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat-view.tsx b/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat-view.tsx index b699842bd..8f2f9dca8 100644 --- a/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat-view.tsx +++ b/packages/mint-components/src/components/sqm-big-stat/sqm-big-stat-view.tsx @@ -35,8 +35,7 @@ export function BigStatView(props: BigStatViewProps) { Description: { "font-size": "var(--sl-font-size-small)", "font-weight": "var(--sl-font-weight-normal)", - color: "var(--sl-color-gray-600)", - "text-transform": "uppercase", + color: "var(--sqm-text-subdued)", "text-align": alignment, }, }; diff --git a/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code-view.tsx b/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code-view.tsx index 56035cc65..66d3646a6 100644 --- a/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code-view.tsx +++ b/packages/mint-components/src/components/sqm-coupon-code/sqm-coupon-code-view.tsx @@ -12,7 +12,7 @@ const style = { HostBlock: HostBlock, couponCodeLabel: { margin: "var(--sl-spacing-x-small) 0", - color: "var(--sl-color-gray-500)", + color: "var(--sqm-text-subdued)", fontSize: "var(--sl-font-size-small)", }, }; diff --git a/packages/mint-components/src/components/sqm-empty/sqm-empty-view.tsx b/packages/mint-components/src/components/sqm-empty/sqm-empty-view.tsx index 590b136ec..a2587a671 100644 --- a/packages/mint-components/src/components/sqm-empty/sqm-empty-view.tsx +++ b/packages/mint-components/src/components/sqm-empty/sqm-empty-view.tsx @@ -30,11 +30,7 @@ export function EmptyStateView(props: EmptyStateViewProps) {

{emptyStateHeader}

-

+

{intl.formatMessage( { id: "emptyStateText", diff --git a/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx b/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx index e0880663a..05c7c13d7 100644 --- a/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx +++ b/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx @@ -62,7 +62,7 @@ export function HeroImageView(props: HeroImageViewProps, children: VNode) { props.paddingImage + "))", textAlign: "center", - color: props.textColor || "var(--sl-color-neutral-0)", + color: props.textColor || "var(--sqm-text)", lineHeight: "var(--sl-line-height-dense)", "@media (max-width: 599px)": { padding: "var(--sl-spacing-" + props.paddingText + ")", @@ -73,7 +73,7 @@ export function HeroImageView(props: HeroImageViewProps, children: VNode) { background: props.backgroundColor || "", flexDirection: props.imagePos === "right" ? "row-reverse" : "row", lineHeight: "var(--sl-line-height-dense)", - color: props.textColor || "var(--sl-color-neutral-900)", + color: props.textColor || "var(--sqm-text)", "& .image-area": { width: props.imagePercentage ? props.imagePercentage + "%" : "50%", padding: "var(--sl-spacing-" + props.paddingImage + ")", diff --git a/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx b/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx index 57aacdb2f..77bd74f2c 100644 --- a/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx +++ b/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx @@ -65,14 +65,14 @@ const style = { "& .ellipses": { textAlign: "left", padding: "0", - color: "var(--sl-color-neutral-500)", + color: "var(--sqm-text)", paddingLeft: "25%", }, "& .highlight": { background: "var(--sl-color-primary-50)", }, "& td, th": { - color: "var(--sl-color-gray-800)", + color: "var(--sqm-text)", padding: "var(--sl-spacing-medium)", }, "& .User": { diff --git a/packages/mint-components/src/components/sqm-program-explainer-step/sqm-program-explainer-step-view.tsx b/packages/mint-components/src/components/sqm-program-explainer-step/sqm-program-explainer-step-view.tsx index b4055b8f8..bde077395 100644 --- a/packages/mint-components/src/components/sqm-program-explainer-step/sqm-program-explainer-step-view.tsx +++ b/packages/mint-components/src/components/sqm-program-explainer-step/sqm-program-explainer-step-view.tsx @@ -18,7 +18,7 @@ export function ProgramExplainerStepView(props: ProgramExplainerStepViewProps) { width: "100%", padding: "var(--sl-spacing-x-large)", lineHeight: "var(--sl-line-height-dense)", - color: props.textColor || "var(--sl-color-neutral-900)", + color: props.textColor || "var(--sqm-text)", background: props.backgroundColor || "var(--sl-color-primary-50)", "@media (max-width: 499px)": { flexDirection: "row", @@ -32,6 +32,7 @@ export function ProgramExplainerStepView(props: ProgramExplainerStepViewProps) { }, }, Header: { + color: props.textColor || "var(--sqm-text)", fontSize: "var(--sl-font-size-large)", fontWeight: "var(--sl-font-weight-bold)", marginTop: "var(--sl-spacing-x-large)", @@ -40,6 +41,7 @@ export function ProgramExplainerStepView(props: ProgramExplainerStepViewProps) { }, }, Description: { + color: props.textColor || "var(--sqm-text)", fontSize: "var(--sl-font-size-medium)", marginTop: "var(--sl-spacing-small)", "@media (max-width: 499px)": { diff --git a/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer-view.tsx b/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer-view.tsx index 3404c6205..1e2005425 100644 --- a/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer-view.tsx +++ b/packages/mint-components/src/components/sqm-program-explainer/sqm-program-explainer-view.tsx @@ -13,7 +13,7 @@ export function ProgramExplainerView( ) { const style = { Container: { - color: props.textColor || "var(--sl-color-neutral-900)", + color: props.textColor || "var(--sqm-text)", background: props.backgroundColor || "", }, Header: { diff --git a/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card-view.tsx b/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card-view.tsx index 03d4b85c5..6444b127f 100644 --- a/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card-view.tsx +++ b/packages/mint-components/src/components/sqm-referral-card/sqm-referral-card-view.tsx @@ -22,7 +22,7 @@ export interface ReferralCardViewProps { const style = { Container: { borderRadius: "var(--sl-border-radius-large)", - color: "var(--sl-color-neutral-900)", + color: "var(--sqm-text)", background: "var(--sl-color-neutral-0)", display: "flex", flexDirection: "column", diff --git a/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes-view.tsx b/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes-view.tsx index 18ad82da4..975ee88f0 100644 --- a/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes-view.tsx +++ b/packages/mint-components/src/components/sqm-referral-codes/sqm-referral-codes-view.tsx @@ -48,7 +48,7 @@ const style = { }, TitleText: { - color: "var(--sl-color-neutral-700)", + color: "var(--sqm-text-subdued)", fontSize: "var(--sl-font-size-large)", margin: "0", }, diff --git a/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx b/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx index d9844fb4e..900082018 100644 --- a/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx +++ b/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx @@ -55,19 +55,19 @@ const style = { boxShadow: "1px 2px 4px rgba(211, 211, 211, 0.2)", fontSize: "var(--sl-font-size-small)", lineHeight: "var(--sl-line-height-dense)", - color: "var(--sl-color-neutral-600)", + color: "var(--sqm-text)", }, "& .main.complete": { background: "var(--sl-color-primary-50)", borderColor: "var(--sl-color-primary-500)", }, "& .main.expired": { - color: "var(--sl-color-neutral-600)", + color: "var(--sqm-text)", background: "var(--sl-color-neutral-50)", }, "& .title": { fontSize: "var(--sl-font-size-medium)", - color: "var(--sl-color-neutral-950)", + color: "var(--sqm-text)", }, "& .container": { margin: "var(--sl-spacing-medium)", @@ -130,7 +130,7 @@ const style = { alignSelf: "center", fontSize: "var(--sl-font-size-x-large)", fontWeight: "var(--sl-font-weight-semibold)", - color: "var(--sl-color-neutral-950)", + color: "var(--sqm-text)", lineHeight: "100%", marginRight: "var(--sl-spacing-xx-small)", }, @@ -139,7 +139,7 @@ const style = { alignSelf: "end", textTransform: "uppercase", fontSize: "var(--sl-font-size-x-small)", - color: "var(--sl-color-neutral-950)", + color: "var(--sqm-text)", lineHeight: "var(--sl-font-size-medium)", marginRight: "var(--sl-spacing-xx-small)", }, @@ -157,7 +157,7 @@ const style = { color: "var(--sl-color-primary-300)", }, "&[data-subdue] .neutral": { - color: "var(--sl-color-neutral-300)", + color: "var(--sqm-text)", }, display: "flex", "& .icon": { @@ -169,7 +169,7 @@ const style = { marginTop: "auto", verticalAlign: "text-bottom", fontSize: "var(--sl-font-size-x-small)", - color: "var(--sl-color-neutral-400)", + color: "var(--sqm-text)", }, "& .success": { color: "var(--sl-color-primary-500)", @@ -179,19 +179,19 @@ const style = { marginTop: "auto", marginLeft: "auto", "&::part(base)": { - color: "var(--sl-color-neutral-0)", + color: "var(--sqm-text)", }, "&.disabled::part(base)": { border: "1px solid var(--sl-color-primary-400)", background: "var(--sl-color-primary-400)", }, "&.neutral::part(base)": { - border: "1px solid var(--sl-color-neutral-400)", - background: "var(--sl-color-neutral-400)", + border: "1px solid var(--sqm-text)", + background: "var(--sqm-text)", }, }, "& .neutral": { - color: "var(--sl-color-neutral-400)", + color: "var(--sqm-text)", }, "& .datetime": { display: "block", diff --git a/packages/mint-components/src/components/sqm-text/sqm-text.tsx b/packages/mint-components/src/components/sqm-text/sqm-text.tsx index d597703c8..5abe96694 100644 --- a/packages/mint-components/src/components/sqm-text/sqm-text.tsx +++ b/packages/mint-components/src/components/sqm-text/sqm-text.tsx @@ -4,47 +4,48 @@ import { withHooks } from "@saasquatch/stencil-hooks"; const vanillaStyle = ` sqm-text { display: block; + color: var(--sqm-text); } sqm-text h1 { font-size: var(--sl-font-size-xxx-large); font-weight: var(--sl-font-weight-semibold); - color: var(--sl-color-neutral-800); + color: var(--sqm-text); margin: 0; } sqm-text h2 { font-size: var(--sl-font-size-xx-large); font-weight: var(--sl-font-weight-semibold); - color: var(--sl-color-neutral-800); + color: var(--sqm-text); margin: 0; } sqm-text h3 { font-size: var(--sl-font-size-x-large); font-weight: var(--sl-font-weight-semibold); - color: var(--sl-color-neutral-800); + color: var(--sqm-text); margin: 0; } sqm-text h4 { font-size: var(--sl-font-size-large); font-weight: var(--sl-font-weight-bold); - color: var(--sl-color-neutral-800); + color: var(--sqm-text); margin: 0; } sqm-text p { font-size: var(--sl-font-size-medium); font-weight: var(--sl-font-weight-normal); - color: var(--sl-color-neutral-800); + color: var(--sqm-text); margin: 0; } sqm-text sub { font-size: var(--sl-font-size-small); font-weight: var(--sl-font-weight-normal); - color: var(--sl-color-neutral-400); + color: var(--sqm-text); margin: 0; } `; diff --git a/packages/mint-components/src/components/sqm-timeline/sqm-timeline-entry-view.tsx b/packages/mint-components/src/components/sqm-timeline/sqm-timeline-entry-view.tsx index 35d83804d..b348af2f0 100644 --- a/packages/mint-components/src/components/sqm-timeline/sqm-timeline-entry-view.tsx +++ b/packages/mint-components/src/components/sqm-timeline/sqm-timeline-entry-view.tsx @@ -12,7 +12,7 @@ export interface TimelineEntryProps { const style = { TimelineReward: { - color: "var(--sl-color-neutral-900)", + color: "var(--sqm-text)", lineHeight: "var(--sl-line-height-dense)", "& .container": { display: "flex", diff --git a/packages/mint-components/src/global/styles.ts b/packages/mint-components/src/global/styles.ts index 69db9a918..7e97b75bb 100644 --- a/packages/mint-components/src/global/styles.ts +++ b/packages/mint-components/src/global/styles.ts @@ -585,6 +585,8 @@ html { --widget-background-color: var(--sl-color-white); --sqm-portal-main-width: 900px; --sqm-max-width: 100%; + --sqm-text: var(--sl-color-neutral-800); + --sqm-text-subdued: var(--sl-color-neutral-500); } body { @@ -592,7 +594,7 @@ body { font-size: var(--sl-font-size-medium); font-weight: var(--sl-font-weight-normal); letter-spacing: var(--sl-letter-spacing-small); - color: var(--sl-color-gray-800); + color: var(--sqm-text); line-height: var(--sl-line-height-normal); margin: 0; background-color: var(--sqm-portal-background); @@ -624,7 +626,6 @@ h2, .Title { } .P { font-size: var(--sl-font-size-small); - color: var(--sl-color-gray-800); margin-top: 0px; } @@ -635,7 +636,7 @@ h2, .Title { .Subtitle { text-align: center; margin-bottom: 0px; - color: var(--sl-color-gray-500); + color: var(--sqm-text-subdued); } .SupportText{ margin-top: var(--sl-spacing-small); diff --git a/packages/mint-components/src/index.html b/packages/mint-components/src/index.html index 1a3a0b906..6a43d072c 100644 --- a/packages/mint-components/src/index.html +++ b/packages/mint-components/src/index.html @@ -1,16 +1,45 @@ + + + + Mint Components Stencilbook + + - - - - Mint Components Stencilbook - - - + + + - - - - - \ No newline at end of file + + + + + From 47f1fb529f7c1cf0f5b5d022cf0c10d2038d1569 Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Wed, 4 Jun 2025 17:03:38 -0700 Subject: [PATCH 009/302] new pre release --- packages/mint-components/package-lock.json | 4 ++-- packages/mint-components/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mint-components/package-lock.json b/packages/mint-components/package-lock.json index 82d18d4e3..d6155f1f8 100644 --- a/packages/mint-components/package-lock.json +++ b/packages/mint-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@saasquatch/mint-components", - "version": "1.15.0-3", + "version": "1.15.0-4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@saasquatch/mint-components", - "version": "1.15.0-3", + "version": "1.15.0-4", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/packages/mint-components/package.json b/packages/mint-components/package.json index 3011b1ae2..0af5ec43d 100644 --- a/packages/mint-components/package.json +++ b/packages/mint-components/package.json @@ -1,7 +1,7 @@ { "name": "@saasquatch/mint-components", "title": "Mint Components", - "version": "1.15.0-3", + "version": "1.15.0-4", "description": "A minimal design library with components for referral and loyalty experiences. Built with Shoelace components by Saasquatch.", "icon": "https://res.cloudinary.com/saasquatch/image/upload/v1652219900/squatch-assets/For_Mint.svg", "raisins": "docs/raisins.json", From 0786a89c8eb325af40e48641288fcb4de327c981 Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Thu, 5 Jun 2025 15:37:15 -0700 Subject: [PATCH 010/302] Update buttons and text color --- .../end-user-testing/src/widgetTemplate.html | 11 +++- .../sqm-edit-profile-view.tsx | 2 +- .../sqm-form-message/FormMessage.stories.tsx | 4 +- .../sqm-hero-image/sqm-hero-image-view.tsx | 1 + .../sqm-qr-code/sqm-qr-code-view.tsx | 11 +--- .../cells/sqm-referral-table-rewards-cell.tsx | 2 - .../cells/sqm-rewards-table-reward-cell.tsx | 4 +- .../sqm-task-card/sqm-task-card-view.tsx | 2 +- .../sqm-text-span/sqm-text-span-view.tsx | 12 ++-- .../sqm-banking-info-form-view.tsx | 13 +--- .../sqm-docusign-form-view.tsx | 15 ----- .../sqm-indirect-tax-form-view.tsx | 11 ---- .../sqm-user-info-form-view.tsx | 3 +- .../mint-components/src/global/mixins.scss | 4 +- packages/mint-components/src/global/mixins.ts | 4 +- packages/mint-components/src/global/styles.ts | 63 ++++++++++++++++--- .../src/tables/GenericTableView.tsx | 4 +- 17 files changed, 86 insertions(+), 80 deletions(-) diff --git a/packages/end-user-testing/src/widgetTemplate.html b/packages/end-user-testing/src/widgetTemplate.html index c93b4c822..3c4a65802 100644 --- a/packages/end-user-testing/src/widgetTemplate.html +++ b/packages/end-user-testing/src/widgetTemplate.html @@ -1,4 +1,11 @@ - + :host { + --sqm-primary-button-background: tomato; + --sqm-text: slateblue; + } + + + { onClick={() => { callbacks.setShowEdit(false); }} - exportparts="base: defaultbutton-base" + exportparts="base: secondarybutton-base" > {text.canceltext} diff --git a/packages/mint-components/src/components/sqm-form-message/FormMessage.stories.tsx b/packages/mint-components/src/components/sqm-form-message/FormMessage.stories.tsx index 787404237..4dba2f969 100644 --- a/packages/mint-components/src/components/sqm-form-message/FormMessage.stories.tsx +++ b/packages/mint-components/src/components/sqm-form-message/FormMessage.stories.tsx @@ -43,8 +43,8 @@ export const FullStackSuccess = () => {

Title
Body text.
{ console.log("click"); }} diff --git a/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx b/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx index 05c7c13d7..db4964e45 100644 --- a/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx +++ b/packages/mint-components/src/components/sqm-hero-image/sqm-hero-image-view.tsx @@ -162,6 +162,7 @@ export function HeroImageView(props: HeroImageViewProps, children: VNode) { props.buttonNewTab ? window.open(props.buttonLink) diff --git a/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code-view.tsx b/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code-view.tsx index 536d69867..1eb5b3aca 100644 --- a/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code-view.tsx +++ b/packages/mint-components/src/components/sqm-qr-code/sqm-qr-code-view.tsx @@ -54,11 +54,7 @@ const style = { height: "100%", maxWidth: "335px", }, - TextButton: { - "&::part(base)": { - color: "var(--sl-color-gray-600)", - }, - }, + LoadingSkeleton: { "&::part(indicator)": { borderRadius: "0px !important", @@ -150,8 +146,8 @@ export function QrCodeView({
{downloadCodeText} @@ -161,7 +157,6 @@ export function QrCodeView({ exportparts="base: textbutton-base" type="text" onClick={createPrintable} - class={sheet.classes.TextButton} > {printCodeText} diff --git a/packages/mint-components/src/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.tsx b/packages/mint-components/src/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.tsx index 2c6c5c04f..14e583369 100644 --- a/packages/mint-components/src/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.tsx +++ b/packages/mint-components/src/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.tsx @@ -40,9 +40,7 @@ export class ReferralTableRewardsCell { }, Details: { - "padding-bottom": "var(--sl-spacing-small)", "max-width": "500px", - // "padding-right": "var(--sl-spacing-x-small)", "&::part(header)": { padding: "var(--sl-spacing-x-small)", cursor: `${this.hideDetails ? "default" : "pointer"}`, diff --git a/packages/mint-components/src/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.tsx b/packages/mint-components/src/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.tsx index 1d8c6de9e..332522f4a 100644 --- a/packages/mint-components/src/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.tsx +++ b/packages/mint-components/src/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.tsx @@ -201,11 +201,11 @@ export class RewardTableRewardsCell { }, Text: { fontSize: "var(--sl-font-size-medium)", - color: "var(--sl-color-gray-800)", + color: "var(--sqm-text)", }, Subtext: { fontSize: "var(--sl-font-size-small)", - color: "var(--sl-color-neutral-500)", + color: "var(--sqm-text-subdued)", }, }; const sheet = createStyleSheet(style); diff --git a/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx b/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx index 900082018..4fefb0ebd 100644 --- a/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx +++ b/packages/mint-components/src/components/sqm-task-card/sqm-task-card-view.tsx @@ -452,7 +452,7 @@ export function TaskCardView(props: TaskCardViewProps): VNode { "" ) : ( { {!states.hideBackButton && ( diff --git a/packages/mint-components/src/components/tax-and-cash/sqm-docusign-form/sqm-docusign-form-view.tsx b/packages/mint-components/src/components/tax-and-cash/sqm-docusign-form/sqm-docusign-form-view.tsx index a449f5d21..a5f4abf3a 100644 --- a/packages/mint-components/src/components/tax-and-cash/sqm-docusign-form/sqm-docusign-form-view.tsx +++ b/packages/mint-components/src/components/tax-and-cash/sqm-docusign-form/sqm-docusign-form-view.tsx @@ -99,15 +99,6 @@ const style = { BoldText: { fontWeight: "bold", }, - SecondaryBtn: { - "&::part(base)": { - color: "var(--sl-color-gray-800) !important", - }, - "&::part(label)": { - padding: "0px", - margin: "0px", - }, - }, ErrorAlertContainer: { "&::part(base)": { backgroundColor: "var(--sl-color-red-100)", @@ -188,12 +179,6 @@ const vanillaStyle = ` box-sizing: border-box; } - p { - line-height: 18px; - color: var(--sl-color-gray-800); - font-size: var(--sl-font-size-small); - } - a { cursor: pointer; } diff --git a/packages/mint-components/src/components/tax-and-cash/sqm-indirect-tax-form/sqm-indirect-tax-form-view.tsx b/packages/mint-components/src/components/tax-and-cash/sqm-indirect-tax-form/sqm-indirect-tax-form-view.tsx index bc270e47d..52e51e3cd 100644 --- a/packages/mint-components/src/components/tax-and-cash/sqm-indirect-tax-form/sqm-indirect-tax-form-view.tsx +++ b/packages/mint-components/src/components/tax-and-cash/sqm-indirect-tax-form/sqm-indirect-tax-form-view.tsx @@ -111,11 +111,6 @@ const style = { DescriptionText: { color: "var(--sl-color-neutral-500)", }, - SecondaryBtn: { - "&::part(base)": { - color: "var(--sl-color-gray-800) !important", - }, - }, AlertContainer: { "&::part(base)": { backgroundColor: "var(--sl-color-red-100)", @@ -180,11 +175,6 @@ const vanillaStyle = ` box-sizing: border-box; } - p { - line-height: 18px; - color: var(--sl-color-gray-800); - font-size: var(--sl-font-size-small); - } `; export const IndirectTaxFormView = (props: IndirectTaxFormViewProps) => { @@ -399,7 +389,6 @@ export const IndirectTaxFormView = (props: IndirectTaxFormViewProps) => { {text.continueButton} {data.textOverrides.prevLabel} @@ -202,7 +202,7 @@ export function GenericTableView(props: GenericTableViewProps) { loading={show === "loading"} disabled={!states.hasNext} onClick={callbacks.nextPage} - exportparts="base: defaultbutton-base" + exportparts="base: secondarybutton-base" class={!states.hasNext ? sheet.classes.ButtonDisabled : ""} > {data.textOverrides.moreLabel} From d366e3268e3dc9cb9a63a3836623a76d373f6bb3 Mon Sep 17 00:00:00 2001 From: Zach Harrison Date: Thu, 5 Jun 2025 16:07:55 -0700 Subject: [PATCH 011/302] update leaderboard props and publish new pre release --- packages/mint-components/package.json | 2 +- packages/mint-components/src/components.d.ts | 10 ++ .../src/components/sqm-leaderboard/readme.md | 37 +++--- .../sqm-leaderboard/sqm-leaderboard-view.tsx | 110 +++++++++--------- .../sqm-leaderboard/sqm-leaderboard.tsx | 7 ++ packages/mint-components/src/global/styles.ts | 2 +- 6 files changed, 94 insertions(+), 74 deletions(-) diff --git a/packages/mint-components/package.json b/packages/mint-components/package.json index 0af5ec43d..5fb3305bb 100644 --- a/packages/mint-components/package.json +++ b/packages/mint-components/package.json @@ -1,7 +1,7 @@ { "name": "@saasquatch/mint-components", "title": "Mint Components", - "version": "1.15.0-4", + "version": "1.15.0-5", "description": "A minimal design library with components for referral and loyalty experiences. Built with Shoelace components by Saasquatch.", "icon": "https://res.cloudinary.com/saasquatch/image/upload/v1652219900/squatch-assets/For_Mint.svg", "raisins": "docs/raisins.json", diff --git a/packages/mint-components/src/components.d.ts b/packages/mint-components/src/components.d.ts index 5980e60af..4a1fc7fb7 100644 --- a/packages/mint-components/src/components.d.ts +++ b/packages/mint-components/src/components.d.ts @@ -1513,6 +1513,11 @@ export namespace Components { * @uiName User column heading */ "usersheading": string; + /** + * @uiWidget color + * @uiName Viewing user highlight color + */ + "viewingUserHighlightColor": string; /** * @uiName Viewing user text */ @@ -8252,6 +8257,11 @@ declare namespace LocalJSX { * @uiName User column heading */ "usersheading"?: string; + /** + * @uiWidget color + * @uiName Viewing user highlight color + */ + "viewingUserHighlightColor"?: string; /** * @uiName Viewing user text */ diff --git a/packages/mint-components/src/components/sqm-leaderboard/readme.md b/packages/mint-components/src/components/sqm-leaderboard/readme.md index 0281480cd..11341857b 100644 --- a/packages/mint-components/src/components/sqm-leaderboard/readme.md +++ b/packages/mint-components/src/components/sqm-leaderboard/readme.md @@ -7,24 +7,25 @@ ## Properties -| Property | Attribute | Description | Type | Default | -| ----------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | -| `anonymousUser` | `anonymous-user` | Title displayed for users without names | `string` | `"Anonymous User"` | -| `demoData` | -- | | `{ states?: { loading: boolean; hasLeaders: boolean; isEssentials?: boolean; styles: { usersheading: string; statsheading: string; rankheading?: string; showRank?: boolean; hideViewer?: boolean; viewingUserText?: string; hideNames?: boolean; anonymousUser?: string; rankSuffix?: string; width?: string; }; }; data?: { rankType: string; leaderboard: { textValue: string; rank: number; firstName: string; lastInitial: string; rowNumber: number; }[]; viewerRank?: { textValue: string; rank: number; firstName?: string; lastInitial?: string; rowNumber: number; }; }; elements?: { empty: VNode; }; }` | `undefined` | -| `hideNames` | `hide-names` | Hide the Names of users to protect personal identifiable information | `boolean` | `false` | -| `hideViewer` | `hide-viewer` | Hide the viewer's leaderboard row if not in the top results. | `boolean` | `false` | -| `interval` | `interval` | | `string` | `undefined` | -| `leaderboardType` | `leaderboard-type` | | `"topConvertedReferrers" \| "topPointEarners" \| "topStartedReferrers"` | `undefined` | -| `maxRows` | `max-rows` | Control the maximum amount of rows displayed on the leaderboard. | `number` | `10` | -| `programId` | `program-id` | Filters leaderboard to show only data from this program. Defaults to the program context where this leaderboard is. If no program ID is set or provided by context, then a global leaderboard is shown. | `string` | `undefined` | -| `rankSuffix` | `rank-suffix` | A JSONata string that formats the rank with the appropriate ordinal suffix (e.g., "st" for 1st, "nd" for 2nd, "rd" for 3rd, and "th" for all others). | `string` | `undefined` | -| `rankType` | `rank-type` | | `"denseRank" \| "rank" \| "rowNumber"` | `undefined` | -| `rankheading` | `rankheading` | | `string` | `undefined` | -| `showRank` | `show-rank` | | `boolean` | `undefined` | -| `statsheading` | `statsheading` | | `string` | `undefined` | -| `usersheading` | `usersheading` | | `string` | `undefined` | -| `viewingUserText` | `viewing-user-text` | | `string` | `"You"` | -| `width` | `width` | Restrict the width of the leaderboard (Can be a pixel value or a percentage i.e. "500px", "33%", etc.) | `string` | `"100%"` | +| Property | Attribute | Description | Type | Default | +| --------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | +| `anonymousUser` | `anonymous-user` | Title displayed for users without names | `string` | `"Anonymous User"` | +| `demoData` | -- | | `{ states?: { loading: boolean; hasLeaders: boolean; isEssentials?: boolean; styles: { usersheading: string; statsheading: string; rankheading?: string; showRank?: boolean; hideViewer?: boolean; viewingUserText?: string; viewingUserhighlightColor?: string; hideNames?: boolean; anonymousUser?: string; rankSuffix?: string; width?: string; }; }; data?: { rankType: string; leaderboard: { textValue: string; rank: number; firstName: string; lastInitial: string; rowNumber: number; }[]; viewerRank?: { textValue: string; rank: number; firstName?: string; lastInitial?: string; rowNumber: number; }; }; elements?: { empty: VNode; }; }` | `undefined` | +| `hideNames` | `hide-names` | Hide the Names of users to protect personal identifiable information | `boolean` | `false` | +| `hideViewer` | `hide-viewer` | Hide the viewer's leaderboard row if not in the top results. | `boolean` | `false` | +| `interval` | `interval` | | `string` | `undefined` | +| `leaderboardType` | `leaderboard-type` | | `"topConvertedReferrers" \| "topPointEarners" \| "topStartedReferrers"` | `undefined` | +| `maxRows` | `max-rows` | Control the maximum amount of rows displayed on the leaderboard. | `number` | `10` | +| `programId` | `program-id` | Filters leaderboard to show only data from this program. Defaults to the program context where this leaderboard is. If no program ID is set or provided by context, then a global leaderboard is shown. | `string` | `undefined` | +| `rankSuffix` | `rank-suffix` | A JSONata string that formats the rank with the appropriate ordinal suffix (e.g., "st" for 1st, "nd" for 2nd, "rd" for 3rd, and "th" for all others). | `string` | `undefined` | +| `rankType` | `rank-type` | | `"denseRank" \| "rank" \| "rowNumber"` | `undefined` | +| `rankheading` | `rankheading` | | `string` | `undefined` | +| `showRank` | `show-rank` | | `boolean` | `undefined` | +| `statsheading` | `statsheading` | | `string` | `undefined` | +| `usersheading` | `usersheading` | | `string` | `undefined` | +| `viewingUserHighlightColor` | `viewing-user-highlight-color` | | `string` | `undefined` | +| `viewingUserText` | `viewing-user-text` | | `string` | `"You"` | +| `width` | `width` | Restrict the width of the leaderboard (Can be a pixel value or a percentage i.e. "500px", "33%", etc.) | `string` | `"100%"` | ## Dependencies diff --git a/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx b/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx index 77bd74f2c..104155cf6 100644 --- a/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx +++ b/packages/mint-components/src/components/sqm-leaderboard/sqm-leaderboard-view.tsx @@ -14,6 +14,7 @@ export interface LeaderboardViewProps { showRank?: boolean; hideViewer?: boolean; viewingUserText?: string; + viewingUserhighlightColor?: string; hideNames?: boolean; anonymousUser?: string; rankSuffix?: string; @@ -42,69 +43,70 @@ export interface LeaderboardViewProps { }; } -const style = { - Leaderboard: { - "& table": { - width: "100%", - borderCollapse: "collapse", - }, - "& th": { - textAlign: "left", - padding: "var(--sl-spacing-medium)", - paddingTop: "0", - fontSize: "var(--sl-font-size-medium)", - fontWeight: "var(--sl-font-weight-semibold)", - }, - "& tr:not(:first-child)": { - borderTop: "1px solid var(--sl-color-neutral-200)", - }, - "& td": { - fontSize: "var(--sl-font-size-medium)", - fontWeight: "var(--sl-font-weight-normal)", - }, - "& .ellipses": { - textAlign: "left", - padding: "0", - color: "var(--sqm-text)", - paddingLeft: "25%", - }, - "& .highlight": { - background: "var(--sl-color-primary-50)", - }, - "& td, th": { - color: "var(--sqm-text)", - padding: "var(--sl-spacing-medium)", - }, - "& .User": { - width: "100%", - }, - "& .Score": { - width: "auto", - whiteSpace: "nowrap", - }, +export function LeaderboardView(props: LeaderboardViewProps) { + const { states, data, elements } = props; + const { styles } = states; - "& .Rank": { - whiteSpace: "nowrap", - }, - "& .fullWidth": { - width: "100%", + const style = { + Leaderboard: { + "& table": { + width: "100%", + borderCollapse: "collapse", + }, + "& th": { + textAlign: "left", + padding: "var(--sl-spacing-medium)", + paddingTop: "0", + fontSize: "var(--sl-font-size-medium)", + fontWeight: "var(--sl-font-weight-semibold)", + }, + "& tr:not(:first-child)": { + borderTop: "1px solid var(--sl-color-neutral-200)", + }, + "& td": { + fontSize: "var(--sl-font-size-medium)", + fontWeight: "var(--sl-font-weight-normal)", + }, + "& .ellipses": { + textAlign: "left", + padding: "0", + color: "var(--sqm-text)", + paddingLeft: "25%", + }, + "& .highlight": { + background: + styles.viewingUserhighlightColor || "var(--sl-color-primary-100)", + }, + "& td, th": { + color: "var(--sqm-text)", + padding: "var(--sl-spacing-medium)", + }, + "& .User": { + width: "100%", + }, + "& .Score": { + width: "auto", + whiteSpace: "nowrap", + }, + + "& .Rank": { + whiteSpace: "nowrap", + }, + "& .fullWidth": { + width: "100%", + }, }, - }, -}; + }; -const sheet = createStyleSheet(style); -const styleString = sheet.toString(); + const sheet = createStyleSheet(style); + const styleString = sheet.toString(); -const vanillaStyle = ` + const vanillaStyle = ` :host{ display: block; } `; -export function LeaderboardView(props: LeaderboardViewProps) { - const { states, data, elements } = props; - const { styles } = states; - if (states.isEssentials) { return ( Date: Fri, 6 Jun 2025 18:23:46 -0700 Subject: [PATCH 012/302] Add new style props to task cards --- .../end-user-testing/src/widgetTemplate.html | 36 +- packages/mint-components/src/components.d.ts | 64 ++++ .../src/components/sqm-task-card/readme.md | 57 +-- .../sqm-task-card/sqm-task-card-view.tsx | 327 ++++++++++-------- .../sqm-task-card/sqm-task-card.tsx | 42 +++ .../components/sqm-task-card/useTaskCard.ts | 11 + packages/mint-components/src/global/styles.ts | 8 +- packages/mint-components/src/index.html | 13 +- 8 files changed, 361 insertions(+), 197 deletions(-) diff --git a/packages/end-user-testing/src/widgetTemplate.html b/packages/end-user-testing/src/widgetTemplate.html index 3c4a65802..61852be2f 100644 --- a/packages/end-user-testing/src/widgetTemplate.html +++ b/packages/end-user-testing/src/widgetTemplate.html @@ -1,40 +1,47 @@ - + Top Performers rankheading="Rank" show-rank="true" slot + viewing-user-highlight-color="rgba(30, 215, 96, 1)" >