summaryrefslogtreecommitdiff
path: root/src/components/common/ToggleMenu.astro
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-07-21 21:56:55 +0300
committerDawid Rycerz <dawid@rycerz.xyz>2025-07-21 21:56:55 +0300
commitc735556726e75428550a3d28a2cf58e2c8490b7d (patch)
treefd0ae29d1636b825abeedff6b99d3376bb383135 /src/components/common/ToggleMenu.astro
Initial template
Diffstat (limited to 'src/components/common/ToggleMenu.astro')
-rw-r--r--src/components/common/ToggleMenu.astro29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/components/common/ToggleMenu.astro b/src/components/common/ToggleMenu.astro
new file mode 100644
index 0000000..2d19b16
--- /dev/null
+++ b/src/components/common/ToggleMenu.astro
@@ -0,0 +1,29 @@
+---
+export interface Props {
+ label?: string;
+ class?: string;
+}
+
+const {
+ label = 'Toggle Menu',
+ class: className = 'flex flex-col h-12 w-12 rounded justify-center items-center cursor-pointer group',
+} = Astro.props;
+---
+
+<button type="button" class={className} aria-label={label} data-aw-toggle-menu>
+ <span class="sr-only">{label}</span>
+ <slot>
+ <span
+ aria-hidden="true"
+ class="h-0.5 w-6 my-1 rounded-full bg-black dark:bg-white transition ease transform duration-200 opacity-80 group-[.expanded]:rotate-45 group-[.expanded]:translate-y-2.5"
+ ></span>
+ <span
+ aria-hidden="true"
+ class="h-0.5 w-6 my-1 rounded-full bg-black dark:bg-white transition ease transform duration-200 opacity-80 group-[.expanded]:opacity-0"
+ ></span>
+ <span
+ aria-hidden="true"
+ class="h-0.5 w-6 my-1 rounded-full bg-black dark:bg-white transition ease transform duration-200 opacity-80 group-[.expanded]:-rotate-45 group-[.expanded]:-translate-y-2.5"
+ ></span>
+ </slot>
+</button>