diff --git a/docs/developer-guide.md b/docs/developer-guide.md index 11e749c2..1dd67dc1 100644 --- a/docs/developer-guide.md +++ b/docs/developer-guide.md @@ -201,14 +201,11 @@ YASGUI is built as a monorepo with four main packages, each serving a specific p - DOM manipulation utilities - Local storage abstraction - Common helper functions -- SVG icon rendering - DOMPurify integration for XSS protection **Exports:** - `Storage`: localStorage abstraction with namespacing - `addClass`, `removeClass`, `hasClass`: DOM class utilities -- `drawSvgStringAsElement`: SVG helper -- `drawFontAwesomeIconAsSvg`: Icon rendering #### @matdata/yasqe (SPARQL Query Editor) diff --git a/package-lock.json b/package-lock.json index 2818d9db..ef482010 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "packages/*" ], "dependencies": { + "@fortawesome/fontawesome-free": "^7.1.0", "@matdata/yasgui-graph-plugin": "^1.4.1", "@matdata/yasgui-table-plugin": "^1.2.0", "@typescript-eslint/eslint-plugin": "^6.13.2", @@ -1095,23 +1096,30 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", - "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", - "hasInstallScript": true, + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-7.1.0.tgz", + "integrity": "sha512-l/BQM7fYntsCI//du+6sEnHOP6a74UixFyOYUyz2DLMXKx+6DEhfR3F2NYGE45XH1JJuIamacb4IZs9S0ZOWLA==", "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.1.0.tgz", + "integrity": "sha512-+WxNld5ZCJHvPQCr/GnzCTVREyStrAJjisUPtUxG5ngDA8TMlPnKp6dddlTpai4+1GNmltAeuk1hJEkBohwZYA==", + "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", + "engines": { + "node": ">=6" + } + }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", - "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", - "hasInstallScript": true, + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-7.1.0.tgz", + "integrity": "sha512-Udu3K7SzAo9N013qt7qmm22/wo2hADdheXtBfxFTecp+ogsc0caQNRKEb7pkvvagUGOpG9wJC1ViH6WXs8oXIA==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" + "@fortawesome/fontawesome-common-types": "7.1.0" }, "engines": { "node": ">=6" @@ -8974,7 +8982,7 @@ "version": "4.6.1", "license": "MIT", "dependencies": { - "@fortawesome/free-solid-svg-icons": "^5.14.0", + "@fortawesome/free-solid-svg-icons": "^7.1.0", "@json2csv/plainjs": "^7.0.4", "@matdata/yasgui-utils": "^4.6.1", "@matdata/yasqe": "^4.6.1", diff --git a/package.json b/package.json index 3571fea1..dd52f919 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ ] }, "dependencies": { + "@fortawesome/fontawesome-free": "^7.1.0", "@matdata/yasgui-graph-plugin": "^1.4.1", "@matdata/yasgui-table-plugin": "^1.2.0", "@typescript-eslint/eslint-plugin": "^6.13.2", diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 013b5bd0..5afefcb1 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -3,36 +3,6 @@ export { default as Storage } from "./Storage"; const { sanitize } = DOMPurify; -export function drawSvgStringAsElement(svgString: string) { - if (svgString && svgString.trim().indexOf("