From db7600b91a8e106b2563bbf1ad62284016b776d5 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Thu, 9 Apr 2026 12:54:01 +0530 Subject: [PATCH 1/2] feat: add 'use client' directive to client rendered components --- packages/raystack/components/alert-dialog/alert-dialog.tsx | 2 ++ packages/raystack/components/avatar/avatar.tsx | 2 ++ packages/raystack/components/button/button.tsx | 2 ++ packages/raystack/components/combobox/combobox.tsx | 2 ++ packages/raystack/components/data-table/hooks/useDataTable.tsx | 2 ++ packages/raystack/components/dialog/dialog.tsx | 2 ++ packages/raystack/components/drawer/drawer.tsx | 2 ++ packages/raystack/components/flex/flex.tsx | 2 ++ packages/raystack/components/grid/grid-item.tsx | 2 ++ packages/raystack/components/grid/grid.tsx | 2 ++ packages/raystack/components/menu/menu.tsx | 2 ++ packages/raystack/components/radio/radio.tsx | 2 ++ packages/raystack/components/select/select.tsx | 2 ++ packages/raystack/components/separator/separator.tsx | 2 ++ packages/raystack/components/switch/switch.tsx | 2 ++ packages/raystack/components/tabs/tabs.tsx | 2 ++ packages/raystack/components/toast/toast.tsx | 2 ++ packages/raystack/components/tooltip/tooltip.tsx | 2 ++ 18 files changed, 36 insertions(+) diff --git a/packages/raystack/components/alert-dialog/alert-dialog.tsx b/packages/raystack/components/alert-dialog/alert-dialog.tsx index 74eded57e..5af981020 100644 --- a/packages/raystack/components/alert-dialog/alert-dialog.tsx +++ b/packages/raystack/components/alert-dialog/alert-dialog.tsx @@ -1,3 +1,5 @@ +'use client'; + import { AlertDialog as AlertDialogPrimitive } from '@base-ui/react'; import { AlertDialogContent } from './alert-dialog-content'; import { diff --git a/packages/raystack/components/avatar/avatar.tsx b/packages/raystack/components/avatar/avatar.tsx index 48dde77eb..18c6151f6 100644 --- a/packages/raystack/components/avatar/avatar.tsx +++ b/packages/raystack/components/avatar/avatar.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Avatar as AvatarPrimitive } from '@base-ui/react/avatar'; import { cva, cx, VariantProps } from 'class-variance-authority'; import { ComponentProps, isValidElement, ReactElement, ReactNode } from 'react'; diff --git a/packages/raystack/components/button/button.tsx b/packages/raystack/components/button/button.tsx index d523842ca..f02835b89 100644 --- a/packages/raystack/components/button/button.tsx +++ b/packages/raystack/components/button/button.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Button as ButtonPrimitive } from '@base-ui/react'; import { cva, cx, type VariantProps } from 'class-variance-authority'; import { ReactNode } from 'react'; diff --git a/packages/raystack/components/combobox/combobox.tsx b/packages/raystack/components/combobox/combobox.tsx index a79db22a0..1cdc15f1f 100644 --- a/packages/raystack/components/combobox/combobox.tsx +++ b/packages/raystack/components/combobox/combobox.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Combobox as ComboboxPrimitive } from '@base-ui/react'; import { ComboboxContent } from './combobox-content'; import { ComboboxInput } from './combobox-input'; diff --git a/packages/raystack/components/data-table/hooks/useDataTable.tsx b/packages/raystack/components/data-table/hooks/useDataTable.tsx index bbcf069b2..829cd8bda 100644 --- a/packages/raystack/components/data-table/hooks/useDataTable.tsx +++ b/packages/raystack/components/data-table/hooks/useDataTable.tsx @@ -1,3 +1,5 @@ +'use client'; + import { useContext } from 'react'; import { TableContext } from '../context'; diff --git a/packages/raystack/components/dialog/dialog.tsx b/packages/raystack/components/dialog/dialog.tsx index 8058222d8..188f04182 100644 --- a/packages/raystack/components/dialog/dialog.tsx +++ b/packages/raystack/components/dialog/dialog.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Dialog as DialogPrimitive } from '@base-ui/react'; import { DialogContent } from './dialog-content'; import { diff --git a/packages/raystack/components/drawer/drawer.tsx b/packages/raystack/components/drawer/drawer.tsx index d31c499ce..3b4711523 100644 --- a/packages/raystack/components/drawer/drawer.tsx +++ b/packages/raystack/components/drawer/drawer.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer'; import { DrawerContent } from './drawer-content'; import { diff --git a/packages/raystack/components/flex/flex.tsx b/packages/raystack/components/flex/flex.tsx index e7aa94c7c..01960ab3b 100644 --- a/packages/raystack/components/flex/flex.tsx +++ b/packages/raystack/components/flex/flex.tsx @@ -1,3 +1,5 @@ +'use client'; + import { mergeProps, useRender } from '@base-ui/react'; import { cva, VariantProps } from 'class-variance-authority'; import styles from './flex.module.css'; diff --git a/packages/raystack/components/grid/grid-item.tsx b/packages/raystack/components/grid/grid-item.tsx index 1078f61e6..cf7ad7a6f 100644 --- a/packages/raystack/components/grid/grid-item.tsx +++ b/packages/raystack/components/grid/grid-item.tsx @@ -1,3 +1,5 @@ +'use client'; + import { mergeProps, useRender } from '@base-ui/react'; import { AlignType } from './types'; diff --git a/packages/raystack/components/grid/grid.tsx b/packages/raystack/components/grid/grid.tsx index 74f80696e..537e7a613 100644 --- a/packages/raystack/components/grid/grid.tsx +++ b/packages/raystack/components/grid/grid.tsx @@ -1,3 +1,5 @@ +'use client'; + import { mergeProps, useRender } from '@base-ui/react'; import { useMemo } from 'react'; import { AlignExtendedType, AlignType } from './types'; diff --git a/packages/raystack/components/menu/menu.tsx b/packages/raystack/components/menu/menu.tsx index 348eccd4d..84b2e6820 100644 --- a/packages/raystack/components/menu/menu.tsx +++ b/packages/raystack/components/menu/menu.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Menu as MenuPrimitive } from '@base-ui/react/menu'; import { MenuContent, MenuSubContent } from './menu-content'; import { MenuItem } from './menu-item'; diff --git a/packages/raystack/components/radio/radio.tsx b/packages/raystack/components/radio/radio.tsx index 81e79b73e..7785540fb 100644 --- a/packages/raystack/components/radio/radio.tsx +++ b/packages/raystack/components/radio/radio.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Radio as RadioPrimitive } from '@base-ui/react/radio'; import { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group'; import { cx } from 'class-variance-authority'; diff --git a/packages/raystack/components/select/select.tsx b/packages/raystack/components/select/select.tsx index a4f29d02c..393e86417 100644 --- a/packages/raystack/components/select/select.tsx +++ b/packages/raystack/components/select/select.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Select as SelectPrimitive } from '@base-ui/react'; import { SelectContent } from './select-content'; import { SelectItem } from './select-item'; diff --git a/packages/raystack/components/separator/separator.tsx b/packages/raystack/components/separator/separator.tsx index fedbe3bb5..531c8b148 100644 --- a/packages/raystack/components/separator/separator.tsx +++ b/packages/raystack/components/separator/separator.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Separator as SeparatorPrimitive } from '@base-ui/react/separator'; import { cva, type VariantProps } from 'class-variance-authority'; diff --git a/packages/raystack/components/switch/switch.tsx b/packages/raystack/components/switch/switch.tsx index 214ec533b..fcee7f5b8 100644 --- a/packages/raystack/components/switch/switch.tsx +++ b/packages/raystack/components/switch/switch.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Switch as SwitchPrimitive } from '@base-ui/react/switch'; import { cva, type VariantProps } from 'class-variance-authority'; diff --git a/packages/raystack/components/tabs/tabs.tsx b/packages/raystack/components/tabs/tabs.tsx index f41a5572b..8c79aff64 100644 --- a/packages/raystack/components/tabs/tabs.tsx +++ b/packages/raystack/components/tabs/tabs.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Tabs as TabsPrimitive } from '@base-ui/react'; import { cva, cx, type VariantProps } from 'class-variance-authority'; import { ReactNode } from 'react'; diff --git a/packages/raystack/components/toast/toast.tsx b/packages/raystack/components/toast/toast.tsx index ff22ccafa..5cacb1dfa 100644 --- a/packages/raystack/components/toast/toast.tsx +++ b/packages/raystack/components/toast/toast.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Toast as ToastPrimitive } from '@base-ui/react'; import { ToastProvider } from './toast-provider'; import { ToastRoot } from './toast-root'; diff --git a/packages/raystack/components/tooltip/tooltip.tsx b/packages/raystack/components/tooltip/tooltip.tsx index abf2ed0e1..2858a0fb9 100644 --- a/packages/raystack/components/tooltip/tooltip.tsx +++ b/packages/raystack/components/tooltip/tooltip.tsx @@ -1,3 +1,5 @@ +'use client'; + import { Tooltip as TooltipPrimitive } from '@base-ui/react'; import { TooltipContent } from './tooltip-content'; import { TooltipProvider, TooltipTrigger } from './tooltip-misc'; From a7faa9ee421730de26924022a36d74bc41910812 Mon Sep 17 00:00:00 2001 From: paanSinghCoder Date: Thu, 9 Apr 2026 15:32:53 +0530 Subject: [PATCH 2/2] refactor: remove 'use client' directive from importing files --- packages/raystack/components/alert-dialog/alert-dialog.tsx | 2 -- packages/raystack/components/combobox/combobox.tsx | 2 -- packages/raystack/components/data-table/hooks/useDataTable.tsx | 2 -- packages/raystack/components/dialog/dialog.tsx | 2 -- packages/raystack/components/drawer/drawer.tsx | 2 -- packages/raystack/components/menu/menu.tsx | 2 -- packages/raystack/components/select/select.tsx | 2 -- packages/raystack/components/toast/toast.tsx | 2 -- packages/raystack/components/tooltip/tooltip.tsx | 2 -- 9 files changed, 18 deletions(-) diff --git a/packages/raystack/components/alert-dialog/alert-dialog.tsx b/packages/raystack/components/alert-dialog/alert-dialog.tsx index 5af981020..74eded57e 100644 --- a/packages/raystack/components/alert-dialog/alert-dialog.tsx +++ b/packages/raystack/components/alert-dialog/alert-dialog.tsx @@ -1,5 +1,3 @@ -'use client'; - import { AlertDialog as AlertDialogPrimitive } from '@base-ui/react'; import { AlertDialogContent } from './alert-dialog-content'; import { diff --git a/packages/raystack/components/combobox/combobox.tsx b/packages/raystack/components/combobox/combobox.tsx index 1cdc15f1f..a79db22a0 100644 --- a/packages/raystack/components/combobox/combobox.tsx +++ b/packages/raystack/components/combobox/combobox.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Combobox as ComboboxPrimitive } from '@base-ui/react'; import { ComboboxContent } from './combobox-content'; import { ComboboxInput } from './combobox-input'; diff --git a/packages/raystack/components/data-table/hooks/useDataTable.tsx b/packages/raystack/components/data-table/hooks/useDataTable.tsx index 829cd8bda..bbcf069b2 100644 --- a/packages/raystack/components/data-table/hooks/useDataTable.tsx +++ b/packages/raystack/components/data-table/hooks/useDataTable.tsx @@ -1,5 +1,3 @@ -'use client'; - import { useContext } from 'react'; import { TableContext } from '../context'; diff --git a/packages/raystack/components/dialog/dialog.tsx b/packages/raystack/components/dialog/dialog.tsx index 188f04182..8058222d8 100644 --- a/packages/raystack/components/dialog/dialog.tsx +++ b/packages/raystack/components/dialog/dialog.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Dialog as DialogPrimitive } from '@base-ui/react'; import { DialogContent } from './dialog-content'; import { diff --git a/packages/raystack/components/drawer/drawer.tsx b/packages/raystack/components/drawer/drawer.tsx index 3b4711523..d31c499ce 100644 --- a/packages/raystack/components/drawer/drawer.tsx +++ b/packages/raystack/components/drawer/drawer.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer'; import { DrawerContent } from './drawer-content'; import { diff --git a/packages/raystack/components/menu/menu.tsx b/packages/raystack/components/menu/menu.tsx index 84b2e6820..348eccd4d 100644 --- a/packages/raystack/components/menu/menu.tsx +++ b/packages/raystack/components/menu/menu.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Menu as MenuPrimitive } from '@base-ui/react/menu'; import { MenuContent, MenuSubContent } from './menu-content'; import { MenuItem } from './menu-item'; diff --git a/packages/raystack/components/select/select.tsx b/packages/raystack/components/select/select.tsx index 393e86417..a4f29d02c 100644 --- a/packages/raystack/components/select/select.tsx +++ b/packages/raystack/components/select/select.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Select as SelectPrimitive } from '@base-ui/react'; import { SelectContent } from './select-content'; import { SelectItem } from './select-item'; diff --git a/packages/raystack/components/toast/toast.tsx b/packages/raystack/components/toast/toast.tsx index 5cacb1dfa..ff22ccafa 100644 --- a/packages/raystack/components/toast/toast.tsx +++ b/packages/raystack/components/toast/toast.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Toast as ToastPrimitive } from '@base-ui/react'; import { ToastProvider } from './toast-provider'; import { ToastRoot } from './toast-root'; diff --git a/packages/raystack/components/tooltip/tooltip.tsx b/packages/raystack/components/tooltip/tooltip.tsx index 2858a0fb9..abf2ed0e1 100644 --- a/packages/raystack/components/tooltip/tooltip.tsx +++ b/packages/raystack/components/tooltip/tooltip.tsx @@ -1,5 +1,3 @@ -'use client'; - import { Tooltip as TooltipPrimitive } from '@base-ui/react'; import { TooltipContent } from './tooltip-content'; import { TooltipProvider, TooltipTrigger } from './tooltip-misc';