From 0c8fa3a2a270747f3dbb54fe8792f3f0aec997e3 Mon Sep 17 00:00:00 2001
From: Ryan Schanzenbacher <ryan@rschanz.org>
Date: Mon, 3 Aug 2026 01:22:44 -0400
Subject: Initial commit: combined darwin + guix-linux home-manager flake

Supersedes nix-dotfiles (darwin) and guix-dotfiles' ad-hoc
nix-home-manager flake (linux). See README.md/MIGRATION.md.
---
 .../lib/components/icons/icon.jsx                  | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100755 users/ryan/modules/simple-bar/simple-bar-source/lib/components/icons/icon.jsx

(limited to 'users/ryan/modules/simple-bar/simple-bar-source/lib/components/icons/icon.jsx')

diff --git a/users/ryan/modules/simple-bar/simple-bar-source/lib/components/icons/icon.jsx b/users/ryan/modules/simple-bar/simple-bar-source/lib/components/icons/icon.jsx
new file mode 100755
index 0000000..c46f60c
--- /dev/null
+++ b/users/ryan/modules/simple-bar/simple-bar-source/lib/components/icons/icon.jsx
@@ -0,0 +1,40 @@
+import * as Uebersicht from "uebersicht";
+
+const { React } = Uebersicht;
+
+/**
+ * Icon component renders an SVG element.
+ *
+ * @param {Object} props - The properties object.
+ * @param {number} [props.width=24] - The width of the SVG.
+ * @param {number} [props.height=24] - The height of the SVG.
+ * @param {React.ReactNode} props.children - The children elements to be rendered inside the SVG.
+ * @returns {JSX.Element} The SVG element.
+ */
+export default function Icon({ width = 24, height = 24, children, ...props }) {
+  return (
+    <svg
+      viewBox={`0 0 ${width} ${height}`}
+      width={width}
+      height={height}
+      {...props}
+    >
+      {children}
+    </svg>
+  );
+}
+
+/**
+ * SuspenseIcon component renders its children within a React.Suspense component.
+ *
+ * @param {Object} props - The properties object.
+ * @param {React.ReactNode} props.children - The children elements to be rendered inside the Suspense component.
+ * @returns {JSX.Element} The Suspense component with a fallback SVG loader.
+ */
+export function SuspenseIcon({ children }) {
+  return (
+    <React.Suspense fallback={<svg className="simple-bar-icon-loader" />}>
+      {children}
+    </React.Suspense>
+  );
+}
-- 
cgit v1.3.1

