Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
1.2 KiB
Text
36 lines
1.2 KiB
Text
import { type RefObject } from 'react';
|
|
import { type Corners } from '../../../shared';
|
|
export type ResizeDirection = 'top' | 'right' | 'bottom' | 'left' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
interface ResizeContextValue {
|
|
resizeRef: RefObject<HTMLElement | null>;
|
|
minWidth: number;
|
|
minHeight: number;
|
|
maxWidth?: number;
|
|
maxHeight?: number;
|
|
draggingDirection: ResizeDirection | null;
|
|
setDraggingDirection: (direction: ResizeDirection | null) => void;
|
|
storageKey: string;
|
|
}
|
|
interface ResizeProviderProps {
|
|
value: {
|
|
resizeRef: RefObject<HTMLElement | null>;
|
|
minWidth?: number;
|
|
minHeight?: number;
|
|
maxWidth?: number;
|
|
maxHeight?: number;
|
|
devToolsPosition: Corners;
|
|
devToolsPanelSize: Record<string, {
|
|
width: number;
|
|
height: number;
|
|
}>;
|
|
storageKey?: string;
|
|
initialSize?: {
|
|
height: number;
|
|
width: number;
|
|
};
|
|
};
|
|
children: React.ReactNode;
|
|
}
|
|
export declare const ResizeProvider: ({ value, children }: ResizeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
export declare const useResize: () => ResizeContextValue;
|
|
export {};
|