diff --git a/package-lock.json b/package-lock.json index ac15858..1878aec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,23 +1,20 @@ { "name": "rea11y-easy-form", - "version": "0.3.7", + "version": "0.3.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "rea11y-easy-form", - "version": "0.3.7", + "version": "0.3.8", "license": "MIT", "dependencies": { "@react-hookz/deep-equal": "^2.0.2", "@react-hookz/web": "^24.0.4", - "aria-autocomplete": "^1.5.1", "clone-deep": "^4.0.1", "clsx": "^2.1.1", - "dompurify": "^3.1.6", "final-form-arrays": "^3.1.0", "final-form-set-field-data": "^1.0.2", - "react-beautiful-dnd": "^13.1.1", "react-is": "^18.3.1", "tabbable": "^6.2.0", "use-constant": "^1.1.1" @@ -50,8 +47,10 @@ "@types/react-beautiful-dnd": "^13.1.8", "@types/react-dom": "^18.3.0", "@types/react-is": "^18.3.0", + "aria-autocomplete": "^1.5.1", "babel-loader": "^9.1.3", "babel-preset-react-app": "^10.0.1", + "dompurify": "^3.1.6", "eslint": "^8.57.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-jsx-a11y": "^6.9.0", @@ -63,8 +62,10 @@ "less": "^4.2.0", "less-loader": "^12.2.0", "react": "^18.3.1", + "react-beautiful-dnd": "^13.1.1", "react-dom": "^18.3.1", "react-final-form": "^6.5.9", + "rimraf": "^6.0.1", "rollup": "^4.21.0", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-peer-deps-external": "^2.2.4", @@ -75,10 +76,24 @@ "typescript": "^5.5.4" }, "peerDependencies": { + "aria-autocomplete": ">=1.5.1", + "dompurify": ">=3.0.0", "final-form": ">=4.0.0", "react": ">=17.0.0", + "react-beautiful-dnd": ">=13.0.0", "react-dom": ">=17.0.0", "react-final-form": ">=6.0.0" + }, + "peerDependenciesMeta": { + "aria-autocomplete": { + "optional": true + }, + "dompurify": { + "optional": true + }, + "react-beautiful-dnd": { + "optional": true + } } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -5250,6 +5265,7 @@ }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.4", + "dev": true, "license": "MIT", "dependencies": { "@types/react": "*", @@ -5373,6 +5389,7 @@ }, "node_modules/@types/prop-types": { "version": "15.7.9", + "dev": true, "license": "MIT" }, "node_modules/@types/qs": { @@ -5391,6 +5408,7 @@ "version": "18.3.4", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.4.tgz", "integrity": "sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==", + "dev": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5425,6 +5443,7 @@ }, "node_modules/@types/react-redux": { "version": "7.1.28", + "dev": true, "license": "MIT", "dependencies": { "@types/hoist-non-react-statics": "^3.3.0", @@ -6086,6 +6105,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/aria-autocomplete/-/aria-autocomplete-1.5.1.tgz", "integrity": "sha512-JaSmfbPZxBoyRBGc7WZroMJ/ER8is41W91crn/65BPVw4nfc1/z8Ybjrv91TWZkzhZxDs4OfbYNzgzOSDnz2pw==", + "dev": true, "dependencies": { "element-addclass": "^1.0.2", "element-removeclass": "^1.0.1", @@ -6836,11 +6856,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -7569,6 +7590,7 @@ }, "node_modules/css-box-model": { "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { "tiny-invariant": "^1.0.6" @@ -7781,6 +7803,7 @@ }, "node_modules/csstype": { "version": "3.1.2", + "dev": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { @@ -7854,9 +7877,10 @@ } }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -8167,7 +8191,8 @@ "node_modules/dompurify": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", - "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==" + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", + "dev": true }, "node_modules/domutils": { "version": "2.8.0", @@ -8228,12 +8253,14 @@ "node_modules/element-addclass": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/element-addclass/-/element-addclass-1.0.2.tgz", - "integrity": "sha512-Rx2ZofOL/oLGzHXXpmPTgRLCI/VYb2QK41RVUrqQPXo4jHj/soLEtClut44CCjgPdkMxDAU1pYkOOnoOhawugg==" + "integrity": "sha512-Rx2ZofOL/oLGzHXXpmPTgRLCI/VYb2QK41RVUrqQPXo4jHj/soLEtClut44CCjgPdkMxDAU1pYkOOnoOhawugg==", + "dev": true }, "node_modules/element-removeclass": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/element-removeclass/-/element-removeclass-1.0.1.tgz", - "integrity": "sha512-fpH8Nxs+ygSwgrSQwC8a1LEO2kPuPKischcri5WRR+7w6StPSVMwfd0og7d/t5LZYK2E8u2btaD4Dq6Ozf/iDQ==" + "integrity": "sha512-fpH8Nxs+ygSwgrSQwC8a1LEO2kPuPKischcri5WRR+7w6StPSVMwfd0og7d/t5LZYK2E8u2btaD4Dq6Ozf/iDQ==", + "dev": true }, "node_modules/emittery": { "version": "0.13.1", @@ -9583,9 +9610,10 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -9720,10 +9748,27 @@ "node": ">=12.0.0" } }, - "node_modules/flatted": { - "version": "3.2.9", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "license": "ISC" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true }, "node_modules/flow-parser": { "version": "0.243.0", @@ -10289,6 +10334,7 @@ }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" @@ -10297,7 +10343,8 @@ "node_modules/hoist-non-react-statics/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", @@ -10532,9 +10579,10 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -10648,6 +10696,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/input-autowidth/-/input-autowidth-1.0.3.tgz", "integrity": "sha512-FWVUJsfTnlR6lSXWjV5SS7fSdAKGTbOfwmdNUgW06U8So+09nMtsDyicpn23B/XvYIy/7RvdNrd8xmAGw1xusQ==", + "dev": true, "dependencies": { "is-printable-keycode": "^1.0.3" } @@ -10943,8 +10992,9 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -10999,7 +11049,8 @@ "node_modules/is-printable-keycode": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-printable-keycode/-/is-printable-keycode-1.0.3.tgz", - "integrity": "sha512-AlV2FGBdbfOUqLyCEjsW1PZVcptIpttgnMW7pPYYXt9UuoDIi3IiuAiVPso/mBVThOtiMj1/BlUvMV8WS1hvLg==" + "integrity": "sha512-AlV2FGBdbfOUqLyCEjsW1PZVcptIpttgnMW7pPYYXt9UuoDIi3IiuAiVPso/mBVThOtiMj1/BlUvMV8WS1hvLg==", + "dev": true }, "node_modules/is-reference": { "version": "1.2.1", @@ -12591,6 +12642,7 @@ }, "node_modules/memoize-one": { "version": "5.2.1", + "dev": true, "license": "MIT" }, "node_modules/memoizerific": { @@ -13194,11 +13246,12 @@ ] }, "node_modules/micromatch": { - "version": "4.0.5", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, - "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -13670,6 +13723,7 @@ }, "node_modules/object-assign": { "version": "4.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -14727,9 +14781,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14860,6 +14915,7 @@ }, "node_modules/prop-types": { "version": "15.8.1", + "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", @@ -14870,7 +14926,8 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -14960,6 +15017,7 @@ }, "node_modules/raf-schd": { "version": "4.0.3", + "dev": true, "license": "MIT" }, "node_modules/randombytes": { @@ -15009,6 +15067,7 @@ "version": "13.1.1", "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz", "integrity": "sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==", + "dev": true, "dependencies": { "@babel/runtime": "^7.9.2", "css-box-model": "^1.2.0", @@ -15155,6 +15214,7 @@ }, "node_modules/react-redux": { "version": "7.2.9", + "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.15.4", @@ -15178,6 +15238,7 @@ }, "node_modules/react-redux/node_modules/react-is": { "version": "17.0.2", + "dev": true, "license": "MIT" }, "node_modules/readable-stream": { @@ -15236,6 +15297,7 @@ }, "node_modules/redux": { "version": "4.2.1", + "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" @@ -15544,14 +15606,109 @@ } }, "node_modules/rimraf": { - "version": "3.0.2", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -16767,7 +16924,8 @@ "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true }, "node_modules/tinyspy": { "version": "2.2.1", @@ -16793,8 +16951,9 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -17385,6 +17544,7 @@ }, "node_modules/use-memo-one": { "version": "1.1.3", + "dev": true, "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -21443,6 +21603,7 @@ }, "@types/hoist-non-react-statics": { "version": "3.3.4", + "dev": true, "requires": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -21556,7 +21717,8 @@ "dev": true }, "@types/prop-types": { - "version": "15.7.9" + "version": "15.7.9", + "dev": true }, "@types/qs": { "version": "6.9.15", @@ -21574,6 +21736,7 @@ "version": "18.3.4", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.4.tgz", "integrity": "sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==", + "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -21608,6 +21771,7 @@ }, "@types/react-redux": { "version": "7.1.28", + "dev": true, "requires": { "@types/hoist-non-react-statics": "^3.3.0", "@types/react": "*", @@ -22096,6 +22260,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/aria-autocomplete/-/aria-autocomplete-1.5.1.tgz", "integrity": "sha512-JaSmfbPZxBoyRBGc7WZroMJ/ER8is41W91crn/65BPVw4nfc1/z8Ybjrv91TWZkzhZxDs4OfbYNzgzOSDnz2pw==", + "dev": true, "requires": { "element-addclass": "^1.0.2", "element-removeclass": "^1.0.1", @@ -22615,10 +22780,12 @@ } }, "braces": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browser-assert": { @@ -23093,6 +23260,7 @@ }, "css-box-model": { "version": "1.2.1", + "dev": true, "requires": { "tiny-invariant": "^1.0.6" } @@ -23223,7 +23391,8 @@ } }, "csstype": { - "version": "3.1.2" + "version": "3.1.2", + "dev": true }, "damerau-levenshtein": { "version": "1.0.8", @@ -23274,7 +23443,9 @@ } }, "debug": { - "version": "4.3.4", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "requires": { "ms": "2.1.2" @@ -23483,7 +23654,8 @@ "dompurify": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", - "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==" + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", + "dev": true }, "domutils": { "version": "2.8.0", @@ -23534,12 +23706,14 @@ "element-addclass": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/element-addclass/-/element-addclass-1.0.2.tgz", - "integrity": "sha512-Rx2ZofOL/oLGzHXXpmPTgRLCI/VYb2QK41RVUrqQPXo4jHj/soLEtClut44CCjgPdkMxDAU1pYkOOnoOhawugg==" + "integrity": "sha512-Rx2ZofOL/oLGzHXXpmPTgRLCI/VYb2QK41RVUrqQPXo4jHj/soLEtClut44CCjgPdkMxDAU1pYkOOnoOhawugg==", + "dev": true }, "element-removeclass": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/element-removeclass/-/element-removeclass-1.0.1.tgz", - "integrity": "sha512-fpH8Nxs+ygSwgrSQwC8a1LEO2kPuPKischcri5WRR+7w6StPSVMwfd0og7d/t5LZYK2E8u2btaD4Dq6Ozf/iDQ==" + "integrity": "sha512-fpH8Nxs+ygSwgrSQwC8a1LEO2kPuPKischcri5WRR+7w6StPSVMwfd0og7d/t5LZYK2E8u2btaD4Dq6Ozf/iDQ==", + "dev": true }, "emittery": { "version": "0.13.1", @@ -24535,7 +24709,9 @@ "dev": true }, "fill-range": { - "version": "7.0.1", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -24624,10 +24800,23 @@ "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "flatted": { - "version": "3.2.9", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, "flow-parser": { @@ -25007,6 +25196,7 @@ }, "hoist-non-react-statics": { "version": "3.3.2", + "dev": true, "requires": { "react-is": "^16.7.0" }, @@ -25014,7 +25204,8 @@ "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true } } }, @@ -25153,7 +25344,9 @@ "dev": true }, "ignore": { - "version": "5.2.4", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true }, "image-size": { @@ -25221,6 +25414,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/input-autowidth/-/input-autowidth-1.0.3.tgz", "integrity": "sha512-FWVUJsfTnlR6lSXWjV5SS7fSdAKGTbOfwmdNUgW06U8So+09nMtsDyicpn23B/XvYIy/7RvdNrd8xmAGw1xusQ==", + "dev": true, "requires": { "is-printable-keycode": "^1.0.3" } @@ -25398,6 +25592,8 @@ }, "is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-object": { @@ -25428,7 +25624,8 @@ "is-printable-keycode": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-printable-keycode/-/is-printable-keycode-1.0.3.tgz", - "integrity": "sha512-AlV2FGBdbfOUqLyCEjsW1PZVcptIpttgnMW7pPYYXt9UuoDIi3IiuAiVPso/mBVThOtiMj1/BlUvMV8WS1hvLg==" + "integrity": "sha512-AlV2FGBdbfOUqLyCEjsW1PZVcptIpttgnMW7pPYYXt9UuoDIi3IiuAiVPso/mBVThOtiMj1/BlUvMV8WS1hvLg==", + "dev": true }, "is-reference": { "version": "1.2.1", @@ -26520,7 +26717,8 @@ } }, "memoize-one": { - "version": "5.2.1" + "version": "5.2.1", + "dev": true }, "memoizerific": { "version": "1.11.3", @@ -26877,10 +27075,12 @@ "dev": true }, "micromatch": { - "version": "4.0.5", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "requires": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" } }, @@ -27192,7 +27392,8 @@ } }, "object-assign": { - "version": "4.1.1" + "version": "4.1.1", + "dev": true }, "object-inspect": { "version": "1.13.1", @@ -27828,7 +28029,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.13", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -27909,6 +28112,7 @@ }, "prop-types": { "version": "15.8.1", + "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -27918,7 +28122,8 @@ "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true } } }, @@ -27967,7 +28172,8 @@ "dev": true }, "raf-schd": { - "version": "4.0.3" + "version": "4.0.3", + "dev": true }, "randombytes": { "version": "2.1.0", @@ -28006,6 +28212,7 @@ "version": "13.1.1", "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz", "integrity": "sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==", + "dev": true, "requires": { "@babel/runtime": "^7.9.2", "css-box-model": "^1.2.0", @@ -28110,6 +28317,7 @@ }, "react-redux": { "version": "7.2.9", + "dev": true, "requires": { "@babel/runtime": "^7.15.4", "@types/react-redux": "^7.1.20", @@ -28120,7 +28328,8 @@ }, "dependencies": { "react-is": { - "version": "17.0.2" + "version": "17.0.2", + "dev": true } } }, @@ -28167,6 +28376,7 @@ }, "redux": { "version": "4.2.1", + "dev": true, "requires": { "@babel/runtime": "^7.9.2" } @@ -28384,10 +28594,70 @@ "dev": true }, "rimraf": { - "version": "3.0.2", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, "requires": { - "glob": "^7.1.3" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + } + }, + "jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true + }, + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + } + } } }, "rollup": { @@ -29234,7 +29504,8 @@ "tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true }, "tinyspy": { "version": "2.2.1", @@ -29252,6 +29523,8 @@ }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -29637,6 +29910,7 @@ }, "use-memo-one": { "version": "1.1.3", + "dev": true, "requires": {} }, "util": { diff --git a/package.json b/package.json index fa7d31d..0339246 100755 --- a/package.json +++ b/package.json @@ -1,16 +1,23 @@ { "name": "rea11y-easy-form", - "version": "0.3.7", + "version": "0.3.8", "main": "build/cjs/index.js", "module": "build/esm/index.js", "files": [ "build" ], + "sideEffects": [ + "*.less.js", + "*.css.js", + "*.less", + "*.css" + ], "types": "build/index.d.ts", - "sideEffects": false, "description": "Accessible form library using react-final-form", "scripts": { - "build": "rollup -c", + "build:rollup": "rollup -c", + "build:clean": "rimraf build", + "build": "npm run build:clean && npm run build:rollup", "test": "jest", "test:coverage": "jest --coverage", "lint": "eslint src --ext .ts,.js", @@ -37,11 +44,25 @@ "author": "Leon Slater", "license": "MIT", "peerDependencies": { + "aria-autocomplete": ">=1.5.1", + "dompurify": ">=3.0.0", "final-form": ">=4.0.0", "react": ">=17.0.0", + "react-beautiful-dnd": ">=13.0.0", "react-dom": ">=17.0.0", "react-final-form": ">=6.0.0" }, + "peerDependenciesMeta": { + "aria-autocomplete": { + "optional": true + }, + "dompurify": { + "optional": true + }, + "react-beautiful-dnd": { + "optional": true + } + }, "devDependencies": { "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.3", @@ -70,8 +91,10 @@ "@types/react-beautiful-dnd": "^13.1.8", "@types/react-dom": "^18.3.0", "@types/react-is": "^18.3.0", + "aria-autocomplete": "^1.5.1", "babel-loader": "^9.1.3", "babel-preset-react-app": "^10.0.1", + "dompurify": "^3.1.6", "eslint": "^8.57.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-jsx-a11y": "^6.9.0", @@ -83,8 +106,10 @@ "less": "^4.2.0", "less-loader": "^12.2.0", "react": "^18.3.1", + "react-beautiful-dnd": "^13.1.1", "react-dom": "^18.3.1", "react-final-form": "^6.5.9", + "rimraf": "^6.0.1", "rollup": "^4.21.0", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-peer-deps-external": "^2.2.4", @@ -97,13 +122,10 @@ "dependencies": { "@react-hookz/deep-equal": "^2.0.2", "@react-hookz/web": "^24.0.4", - "aria-autocomplete": "^1.5.1", "clone-deep": "^4.0.1", "clsx": "^2.1.1", - "dompurify": "^3.1.6", "final-form-arrays": "^3.1.0", "final-form-set-field-data": "^1.0.2", - "react-beautiful-dnd": "^13.1.1", "react-is": "^18.3.1", "tabbable": "^6.2.0", "use-constant": "^1.1.1" diff --git a/rollup.config.js b/rollup.config.js index 58c299e..ddecb0e 100755 --- a/rollup.config.js +++ b/rollup.config.js @@ -7,16 +7,16 @@ const terser = require('@rollup/plugin-terser'); const copy = require('rollup-plugin-copy'); /** - * @todo: investigate handling to allow for + * @todo: investigate handling to allow for * dompurify, aria-autocomplete, and react-beautiful-dnd * to be optional peer dependencies, without imports in the main bundle, * and without causing warnings in consuming packages. - * + * * For now, we will **trust** that tree-shaking should work * for any larger dependencies in components that are not used; * however, the dynamic import for EasyForm defaults may be an issue * dependingo on how it is handled. - */ + */ module.exports = { input: 'src/index.ts', @@ -36,6 +36,7 @@ module.exports = { preserveModulesRoot: 'src', }, ], + treeshake: 'smallest', plugins: [ peerDepsExternal(), resolve({ @@ -43,16 +44,16 @@ module.exports = { }), commonjs(), typescript({ useTsconfigDeclarationDir: true }), - postcss({ minimize: true }), + postcss({ minimize: true, extensions: ['.css', '.sss', '.pcss', '.less'] }), terser(), copy({ targets: [ { - src: 'src/variables.less', + src: 'src/less/variables.less', dest: 'build', rename: 'variables.less', }, ], }), ], -}; \ No newline at end of file +}; diff --git a/src/components/AsHtml/AsHtml.stories.tsx b/src/components/AsHtml/AsHtml.stories.tsx index 4c28f3d..7c84a40 100644 --- a/src/components/AsHtml/AsHtml.stories.tsx +++ b/src/components/AsHtml/AsHtml.stories.tsx @@ -9,7 +9,7 @@ StandardUsage.args = { }; /** - * ![Dependency: dompurify](https://img.shields.io/badge/Dependency-dompurify-blue) + * ![Peer dependency: dompurify](https://img.shields.io/badge/Peer_dependency-dompurify-blue) * * Render provided string as HTML. * Sanitizes with `dompurify` by default. diff --git a/src/components/AutoComplete/AutoComplete.stories.tsx b/src/components/AutoComplete/AutoComplete.stories.tsx index 2107e85..9d9f23c 100644 --- a/src/components/AutoComplete/AutoComplete.stories.tsx +++ b/src/components/AutoComplete/AutoComplete.stories.tsx @@ -268,7 +268,7 @@ StandardUsage.args = { }; /** - * ![Dependency: aria-autocomplete](https://img.shields.io/badge/Dependency-aria--autocomplete-blue) + * ![Peer dependency: aria-autocomplete](https://img.shields.io/badge/Peer_dependency-aria--autocomplete-blue) * * The `` component is a React wrapper around the * [`aria-autocomplete` library](https://mynamesleon.github.io/aria-autocomplete/). diff --git a/src/components/FieldRepeater/FieldRepeater.stories.tsx b/src/components/FieldRepeater/FieldRepeater.stories.tsx index ec2ec64..55ce3de 100644 --- a/src/components/FieldRepeater/FieldRepeater.stories.tsx +++ b/src/components/FieldRepeater/FieldRepeater.stories.tsx @@ -53,7 +53,7 @@ StandardUsage.args = { }; /** - * ![Dependency: react-beautiful-dnd](https://img.shields.io/badge/Dependency-react--beautiful--dnd-blue) + * ![Peer dependency: react-beautiful-dnd](https://img.shields.io/badge/Peer_dependency-react--beautiful--dnd-blue) * * The `FieldRepeater` **must** be used within a `
` or ``, * and its `children` **must** be a function. The function will receive diff --git a/tsconfig.json b/tsconfig.json index 265a5a7..3a04d9c 100755 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,28 @@ { "compilerOptions": { "rootDir": "src", - "target": "ESNext", + "outDir": "build", + "target": "ES6", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, + // generate type files "declaration": true, "declarationDir": "build", "strict": true, "module": "esnext", - "lib": ["es6", "dom", "es2016", "es2017"], + "lib": ["DOM", "ES2021"], "sourceMap": true, + "declarationMap": true, + "resolveJsonModule": true, "jsx": "react", + // import tslib helpers to reduce file size + "importHelpers": true, + "allowJs": true, "moduleResolution": "node", "allowSyntheticDefaultImports": true, "noImplicitAny": false, "types": ["node", "jest", "@testing-library/jest-dom"], + "strictNullChecks": true }, "include": ["src/**/*"], "exclude": [