summaryrefslogtreecommitdiff
path: root/packages/web/src/components/icons/index.ts
diff options
context:
space:
mode:
authorJosh Kingsley <josh@joshkingsley.me>2025-11-23 19:27:57 +0200
committerJosh Kingsley <josh@joshkingsley.me>2025-11-23 19:27:57 +0200
commit602145c956bb594ca0d0e10601cc4ad1a71cf70d (patch)
treed9f9980bd2054cff5819d01379f5c1c55f8eb66d /packages/web/src/components/icons/index.ts
parentc2a6efb1b761014a90d90373cad47a14054af40b (diff)
feat: integrate web and doc packages
Diffstat (limited to 'packages/web/src/components/icons/index.ts')
-rw-r--r--packages/web/src/components/icons/index.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/web/src/components/icons/index.ts b/packages/web/src/components/icons/index.ts
new file mode 100644
index 0000000..5731026
--- /dev/null
+++ b/packages/web/src/components/icons/index.ts
@@ -0,0 +1,19 @@
+import plus16 from "./svgs/plus16.svg?raw";
+import minus16 from "./svgs/minus16.svg?raw";
+
+function makeIconFactory(source: string) {
+ return (attrs?: object): SVGElement => {
+ const parser = new DOMParser();
+ const doc = parser.parseFromString(source, "image/svg+xml");
+ const svg = doc.documentElement as unknown as SVGElement;
+
+ if (attrs) {
+ Object.entries(attrs).forEach(([k, v]) => svg.setAttribute(k, v));
+ }
+
+ return svg;
+ };
+}
+
+export const plus16Icon = makeIconFactory(plus16);
+export const minus16Icon = makeIconFactory(minus16);