|
@@ -132,6 +132,7 @@ function Tabs({
|
|
|
hoveringKey,
|
|
|
setHoveringKey,
|
|
|
tempTabActive,
|
|
|
+ editingTabKey,
|
|
|
}: {
|
|
|
ariaProps: AriaTabListOptions<DraggableTabListItemProps>;
|
|
|
hoveringKey: Key | 'addView' | null;
|
|
@@ -145,6 +146,7 @@ function Tabs({
|
|
|
tempTabActive: boolean;
|
|
|
className?: string;
|
|
|
disabled?: boolean;
|
|
|
+ editingTabKey?: string;
|
|
|
onChange?: (key: string | number) => void;
|
|
|
tabVariant?: BaseTabProps['variant'];
|
|
|
value?: string | number;
|
|
@@ -230,6 +232,7 @@ function Tabs({
|
|
|
dragTransition={{bounceStiffness: 400, bounceDamping: 40}} // Recovers spring behavior thats lost when using dragElastic=0
|
|
|
transition={{delay: -0.1}} // Skips the first few frames of the animation that make the tab appear to shrink before growing
|
|
|
layout
|
|
|
+ drag={item.key !== editingTabKey} // Disable dragging if the tab is being edited
|
|
|
onDrag={() => setIsDragging(true)}
|
|
|
onDragEnd={() => setIsDragging(false)}
|
|
|
onHoverStart={() => setHoveringKey(item.key)}
|
|
@@ -331,6 +334,7 @@ function BaseDraggableTabList({
|
|
|
hoveringKey={hoveringKey}
|
|
|
setHoveringKey={setHoveringKey}
|
|
|
tempTabActive={!!tempTab}
|
|
|
+ editingTabKey={props.editingTabKey}
|
|
|
/>
|
|
|
<AddViewTempTabWrap ref={addViewTempTabRef}>
|
|
|
<AddViewMotionWrapper
|
|
@@ -389,6 +393,7 @@ export interface DraggableTabListProps
|
|
|
TabListStateOptions<DraggableTabListItemProps> {
|
|
|
onReorder: (newOrder: Node<DraggableTabListItemProps>[]) => void;
|
|
|
className?: string;
|
|
|
+ editingTabKey?: string;
|
|
|
hideBorder?: boolean;
|
|
|
onAddView?: React.MouseEventHandler;
|
|
|
outerWrapStyles?: React.CSSProperties;
|