refactor(core): new workspace selector and create dialog (#10323)

This commit is contained in:
Cats Juice
2025-02-21 17:16:38 +08:00
committed by GitHub
parent 22e4bd8c20
commit 09cc5c392b
28 changed files with 760 additions and 563 deletions

View File

@@ -25,6 +25,8 @@ export interface MenuItemProps
suffix?: ReactNode;
prefixIcon?: ReactNode;
suffixIcon?: ReactNode;
prefixIconClassName?: string;
suffixIconClassName?: string;
checked?: boolean;
selected?: boolean;
block?: boolean;

View File

@@ -11,8 +11,10 @@ export const useMenuItem = <T extends MenuItemProps>({
className: propsClassName,
prefix,
prefixIcon,
prefixIconClassName,
suffix,
suffixIcon,
suffixIconClassName,
checked,
selected,
block,
@@ -38,13 +40,17 @@ export const useMenuItem = <T extends MenuItemProps>({
{prefix}
{prefixIcon ? (
<div className={styles.menuItemIcon}>{prefixIcon}</div>
<div className={clsx(styles.menuItemIcon, prefixIconClassName)}>
{prefixIcon}
</div>
) : null}
<span className={styles.menuSpan}>{propsChildren}</span>
{suffixIcon ? (
<div className={styles.menuItemIcon}>{suffixIcon}</div>
<div className={clsx(styles.menuItemIcon, suffixIconClassName)}>
{suffixIcon}
</div>
) : null}
{suffix}

View File

@@ -12,6 +12,7 @@ export type ScrollableContainerProps = {
viewPortClassName?: string;
styles?: React.CSSProperties;
scrollBarClassName?: string;
scrollThumbClassName?: string;
};
export const ScrollableContainer = ({
@@ -22,6 +23,7 @@ export const ScrollableContainer = ({
styles: _styles,
viewPortClassName,
scrollBarClassName,
scrollThumbClassName,
}: PropsWithChildren<ScrollableContainerProps>) => {
const [setContainer, hasScrollTop] = useHasScrollTop();
return (
@@ -45,7 +47,9 @@ export const ScrollableContainer = ({
[styles.TableScrollbar]: inTableView,
})}
>
<ScrollArea.Thumb className={styles.scrollbarThumb} />
<ScrollArea.Thumb
className={clsx(styles.scrollbarThumb, scrollThumbClassName)}
/>
</ScrollArea.Scrollbar>
</ScrollArea.Root>
);