@ohhwells/bridge 0.1.43 → 0.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2742 -480
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -4
- package/dist/index.d.ts +30 -4
- package/dist/index.js +2746 -484
- package/dist/index.js.map +1 -1
- package/dist/styles.css +56 -49
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -152,8 +152,14 @@ declare const DropIndicator: React.ForwardRefExoticComponent<React.HTMLAttribute
|
|
|
152
152
|
state?: "default" | "hover" | "dragIdle" | "dragActive" | null | undefined;
|
|
153
153
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
154
154
|
|
|
155
|
+
/**
|
|
156
|
+
* Custom/Toolbar shell (Figma 7320:11058).
|
|
157
|
+
* One pill, two fills — text formatting or item actions. No hardcoded colors.
|
|
158
|
+
*/
|
|
155
159
|
declare const CustomToolbar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
160
|
+
/** Separators belong on the text-format fill only — not item-actions. */
|
|
156
161
|
declare function CustomToolbarDivider({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
|
|
162
|
+
/** Figma Toggle: 28×28, radius calc(var(--radius)-2px)=6px, icon 16. */
|
|
157
163
|
declare const CustomToolbarButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
158
164
|
active?: boolean;
|
|
159
165
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -165,11 +171,15 @@ type ItemActionToolbarProps = {
|
|
|
165
171
|
editLinkDisabled?: boolean;
|
|
166
172
|
addItemDisabled?: boolean;
|
|
167
173
|
moreDisabled?: boolean;
|
|
174
|
+
/** Hide Add item — CTA buttons only show Edit link (prototype). */
|
|
175
|
+
showAddItem?: boolean;
|
|
176
|
+
/** Hide More — CTA buttons only show Edit link (prototype). */
|
|
177
|
+
showMore?: boolean;
|
|
168
178
|
/** Tooltip placement relative to each icon — Figma uses bottom. */
|
|
169
179
|
tooltipSide?: 'top' | 'bottom' | 'left' | 'right';
|
|
170
180
|
};
|
|
171
|
-
/** Item-action fill for Custom/Toolbar — Edit link / Add item / More. */
|
|
172
|
-
declare function ItemActionToolbar({ onEditLink, onAddItem, onMore, editLinkDisabled, addItemDisabled, moreDisabled, tooltipSide, }: ItemActionToolbarProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
/** Item-action fill for Custom/Toolbar — Edit link / Add item / More (no separators). */
|
|
182
|
+
declare function ItemActionToolbar({ onEditLink, onAddItem, onMore, editLinkDisabled, addItemDisabled, moreDisabled, showAddItem, showMore, tooltipSide, }: ItemActionToolbarProps): react_jsx_runtime.JSX.Element;
|
|
173
183
|
|
|
174
184
|
type ItemInteractionState = 'default' | 'hover' | 'sibling-hint' | 'active-top' | 'active-bottom' | 'dragging';
|
|
175
185
|
type ItemInteractionLayerProps = {
|
|
@@ -183,15 +193,31 @@ type ItemInteractionLayerProps = {
|
|
|
183
193
|
dragHandleLabel?: string;
|
|
184
194
|
onDragHandleDragStart?: (e: React.DragEvent<HTMLButtonElement>) => void;
|
|
185
195
|
onDragHandleDragEnd?: (e: React.DragEvent<HTMLButtonElement>) => void;
|
|
196
|
+
/** Press on the item chrome (not handle/toolbar) — starts press-to-drag. */
|
|
197
|
+
onItemPointerDown?: (e: React.PointerEvent<HTMLDivElement>) => void;
|
|
198
|
+
/** Click on chrome without a drag — typically enter text edit. */
|
|
199
|
+
onItemClick?: (clientX: number, clientY: number) => void;
|
|
200
|
+
/**
|
|
201
|
+
* Full-bleed press-drag surface over the selection.
|
|
202
|
+
* Disable for footer column frames so child links keep grab cursor / hover.
|
|
203
|
+
*/
|
|
204
|
+
itemDragSurface?: boolean;
|
|
205
|
+
/** Gap between element and chrome border — Figma inset is 4px. */
|
|
186
206
|
chromeGap?: number;
|
|
187
207
|
className?: string;
|
|
188
208
|
};
|
|
189
|
-
declare function ItemInteractionLayer({ rect, state, elRef, toolbar, showHandle, dragDisabled, dragHandleLabel, onDragHandleDragStart, onDragHandleDragEnd, chromeGap, className, }: ItemInteractionLayerProps): react_jsx_runtime.JSX.Element | null;
|
|
209
|
+
declare function ItemInteractionLayer({ rect, state, elRef, toolbar, showHandle, dragDisabled, dragHandleLabel, onDragHandleDragStart, onDragHandleDragEnd, onItemPointerDown, onItemClick, itemDragSurface, chromeGap, className, }: ItemInteractionLayerProps): react_jsx_runtime.JSX.Element | null;
|
|
190
210
|
|
|
191
211
|
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip$1.Provider>): react_jsx_runtime.JSX.Element;
|
|
192
212
|
declare function Tooltip({ ...props }: React.ComponentProps<typeof Tooltip$1.Root>): react_jsx_runtime.JSX.Element;
|
|
193
213
|
declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof Tooltip$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
194
|
-
|
|
214
|
+
/**
|
|
215
|
+
* Tooltip content — CSS caret (not Radix Arrow) so `sideOffset` is the true
|
|
216
|
+
* trigger↔tooltip gap. Default 6px matches item-action toolbar AC.
|
|
217
|
+
*/
|
|
218
|
+
declare function TooltipContent({ className, sideOffset, side, children, hideArrow, ...props }: React.ComponentProps<typeof Tooltip$1.Content> & {
|
|
219
|
+
hideArrow?: boolean;
|
|
220
|
+
}): react_jsx_runtime.JSX.Element;
|
|
195
221
|
|
|
196
222
|
declare function isEditSessionActive(): boolean;
|
|
197
223
|
|
package/dist/index.d.ts
CHANGED
|
@@ -152,8 +152,14 @@ declare const DropIndicator: React.ForwardRefExoticComponent<React.HTMLAttribute
|
|
|
152
152
|
state?: "default" | "hover" | "dragIdle" | "dragActive" | null | undefined;
|
|
153
153
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
154
154
|
|
|
155
|
+
/**
|
|
156
|
+
* Custom/Toolbar shell (Figma 7320:11058).
|
|
157
|
+
* One pill, two fills — text formatting or item actions. No hardcoded colors.
|
|
158
|
+
*/
|
|
155
159
|
declare const CustomToolbar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
160
|
+
/** Separators belong on the text-format fill only — not item-actions. */
|
|
156
161
|
declare function CustomToolbarDivider({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
|
|
162
|
+
/** Figma Toggle: 28×28, radius calc(var(--radius)-2px)=6px, icon 16. */
|
|
157
163
|
declare const CustomToolbarButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
158
164
|
active?: boolean;
|
|
159
165
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -165,11 +171,15 @@ type ItemActionToolbarProps = {
|
|
|
165
171
|
editLinkDisabled?: boolean;
|
|
166
172
|
addItemDisabled?: boolean;
|
|
167
173
|
moreDisabled?: boolean;
|
|
174
|
+
/** Hide Add item — CTA buttons only show Edit link (prototype). */
|
|
175
|
+
showAddItem?: boolean;
|
|
176
|
+
/** Hide More — CTA buttons only show Edit link (prototype). */
|
|
177
|
+
showMore?: boolean;
|
|
168
178
|
/** Tooltip placement relative to each icon — Figma uses bottom. */
|
|
169
179
|
tooltipSide?: 'top' | 'bottom' | 'left' | 'right';
|
|
170
180
|
};
|
|
171
|
-
/** Item-action fill for Custom/Toolbar — Edit link / Add item / More. */
|
|
172
|
-
declare function ItemActionToolbar({ onEditLink, onAddItem, onMore, editLinkDisabled, addItemDisabled, moreDisabled, tooltipSide, }: ItemActionToolbarProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
/** Item-action fill for Custom/Toolbar — Edit link / Add item / More (no separators). */
|
|
182
|
+
declare function ItemActionToolbar({ onEditLink, onAddItem, onMore, editLinkDisabled, addItemDisabled, moreDisabled, showAddItem, showMore, tooltipSide, }: ItemActionToolbarProps): react_jsx_runtime.JSX.Element;
|
|
173
183
|
|
|
174
184
|
type ItemInteractionState = 'default' | 'hover' | 'sibling-hint' | 'active-top' | 'active-bottom' | 'dragging';
|
|
175
185
|
type ItemInteractionLayerProps = {
|
|
@@ -183,15 +193,31 @@ type ItemInteractionLayerProps = {
|
|
|
183
193
|
dragHandleLabel?: string;
|
|
184
194
|
onDragHandleDragStart?: (e: React.DragEvent<HTMLButtonElement>) => void;
|
|
185
195
|
onDragHandleDragEnd?: (e: React.DragEvent<HTMLButtonElement>) => void;
|
|
196
|
+
/** Press on the item chrome (not handle/toolbar) — starts press-to-drag. */
|
|
197
|
+
onItemPointerDown?: (e: React.PointerEvent<HTMLDivElement>) => void;
|
|
198
|
+
/** Click on chrome without a drag — typically enter text edit. */
|
|
199
|
+
onItemClick?: (clientX: number, clientY: number) => void;
|
|
200
|
+
/**
|
|
201
|
+
* Full-bleed press-drag surface over the selection.
|
|
202
|
+
* Disable for footer column frames so child links keep grab cursor / hover.
|
|
203
|
+
*/
|
|
204
|
+
itemDragSurface?: boolean;
|
|
205
|
+
/** Gap between element and chrome border — Figma inset is 4px. */
|
|
186
206
|
chromeGap?: number;
|
|
187
207
|
className?: string;
|
|
188
208
|
};
|
|
189
|
-
declare function ItemInteractionLayer({ rect, state, elRef, toolbar, showHandle, dragDisabled, dragHandleLabel, onDragHandleDragStart, onDragHandleDragEnd, chromeGap, className, }: ItemInteractionLayerProps): react_jsx_runtime.JSX.Element | null;
|
|
209
|
+
declare function ItemInteractionLayer({ rect, state, elRef, toolbar, showHandle, dragDisabled, dragHandleLabel, onDragHandleDragStart, onDragHandleDragEnd, onItemPointerDown, onItemClick, itemDragSurface, chromeGap, className, }: ItemInteractionLayerProps): react_jsx_runtime.JSX.Element | null;
|
|
190
210
|
|
|
191
211
|
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip$1.Provider>): react_jsx_runtime.JSX.Element;
|
|
192
212
|
declare function Tooltip({ ...props }: React.ComponentProps<typeof Tooltip$1.Root>): react_jsx_runtime.JSX.Element;
|
|
193
213
|
declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof Tooltip$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
194
|
-
|
|
214
|
+
/**
|
|
215
|
+
* Tooltip content — CSS caret (not Radix Arrow) so `sideOffset` is the true
|
|
216
|
+
* trigger↔tooltip gap. Default 6px matches item-action toolbar AC.
|
|
217
|
+
*/
|
|
218
|
+
declare function TooltipContent({ className, sideOffset, side, children, hideArrow, ...props }: React.ComponentProps<typeof Tooltip$1.Content> & {
|
|
219
|
+
hideArrow?: boolean;
|
|
220
|
+
}): react_jsx_runtime.JSX.Element;
|
|
195
221
|
|
|
196
222
|
declare function isEditSessionActive(): boolean;
|
|
197
223
|
|