From 869e2af81b3371d916d0b43272dd7ecf875d52e1 Mon Sep 17 00:00:00 2001 From: steveoh Date: Mon, 29 Jul 2024 19:32:27 -0600 Subject: [PATCH] feat(design): add tray styling --- .../src/components/Drawer.tsx | 60 +++++++++++++++---- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/packages/utah-design-system/src/components/Drawer.tsx b/packages/utah-design-system/src/components/Drawer.tsx index dc7a83be..6177edb5 100644 --- a/packages/utah-design-system/src/components/Drawer.tsx +++ b/packages/utah-design-system/src/components/Drawer.tsx @@ -1,6 +1,6 @@ import { useOverlayTrigger } from 'react-aria'; import { Button } from './Button'; -import { ChevronLeftIcon } from '@heroicons/react/24/solid'; +import { ChevronLeftIcon, ChevronDownIcon } from '@heroicons/react/24/solid'; import { twJoin } from 'tailwind-merge'; /* @@ -26,6 +26,18 @@ const overlayTriggerProps = useOverlayTrigger( */ +const sidebarContainer = + "data-[type='sidebar']:relative data-[type='sidebar']:h-full data-[open='false']:data-[type='sidebar']:w-0 data-[type='sidebar']:w-80 data-[type='sidebar']:transition-[width]"; +const sidebarContent = + "data-[type='sidebar']:h-full data-[type='sidebar']:w-80 data-[type='sidebar']:data-[open='false']:-translate-x-full data-[type='sidebar']:data-[open='true']:translate-x-0 data-[type='sidebar']:overflow-y-auto"; +const sidebarTrigger = + "group-data-[type='sidebar']:-right-8 group-data-[type='sidebar']:top-[calc(50%-24px)] group-data-[type='sidebar']:w-6 group-data-[type='sidebar']:rounded-l-none group-data-[type='sidebar']:border-l-0"; +const trayContainer = + 'data-[type="tray"]:absolute data-[type="tray"]:inset-x-0 data-[type="tray"]:bottom-0 data-[type="tray"]:z-20 data-[type="tray"]:h-80 data-[type="tray"]:rounded-t-lg bg-zinc-900 data-[type="tray"]:transition-[height] data-[open="false"]:data-[type="tray"]:h-0 data-[open="true"]:data-[type="tray"]:h-80'; +const trayContent = + "data-[type='tray']:h-80 data-[type='tray']:data-[open='false']:overflow-hidden data-[type='tray']:data-[open='true']:translate-y-0 data-[type='tray']:overflow-x-auto"; +const trayTrigger = + "group-data-[type='tray']:-top-6 group-data-[type='tray']:rounded-b-none group-data-[type='tray']:border-b-0 roup-data-[type='tray']:w-10 roup-data-[type='tray']:h-6 roup-data-[type='tray']:-top-6 group-data-[type='tray']:left-[calc(50%)] bg-white"; export const Drawer = ({ triggerProps, overlayProps, @@ -47,39 +59,63 @@ export const Drawer = ({
); }; -const DefaultDrawerTrigger = ({ triggerProps, state }) => ( -
+const DefaultDrawerTrigger = ({ triggerProps, type, state }) => ( +
);