✨ MAJOR FEATURES: • Auto-zoom intelligence với smart bounds fitting • Enhanced 3D GPS markers với pulsing effects • Professional route display với 6-layer rendering • Status-based parking icons với availability indicators • Production-ready build optimizations 🗺️ AUTO-ZOOM FEATURES: • Smart bounds fitting cho GPS + selected parking • Adaptive padding (50px) cho visual balance • Max zoom control (level 16) để tránh quá gần • Dynamic centering khi không có selection 🎨 ENHANCED VISUALS: • 3D GPS marker với multi-layer pulse effects • Advanced parking icons với status colors • Selection highlighting với animation • Dimming system cho non-selected items 🛣️ ROUTE SYSTEM: • OpenRouteService API integration • Multi-layer route rendering (glow, shadow, main, animated) • Real-time distance & duration calculation • Visual route info trong popup 📱 PRODUCTION READY: • SSR safe với dynamic imports • Build errors resolved • Global deployment via Vercel • Optimized performance 🌍 DEPLOYMENT: • Vercel: https://whatever-ctk2auuxr-phong12hexdockworks-projects.vercel.app • Bundle size: 22.8 kB optimized • Global CDN distribution • HTTPS enabled 💾 VERSION CONTROL: • MapView-v2.0.tsx backup created • MAPVIEW_VERSIONS.md documentation • Full version history tracking
100 lines
3.4 KiB
TypeScript
100 lines
3.4 KiB
TypeScript
import type { Control, DeepPartialSkipArrayKey, FieldPath, FieldPathValue, FieldPathValues, FieldValues } from './types';
|
|
/**
|
|
* Custom hook to subscribe to field change and isolate re-rendering at the component level.
|
|
*
|
|
* @remarks
|
|
*
|
|
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
*
|
|
* @param props - defaultValue, disable subscription and match exact name.
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* const { control } = useForm();
|
|
* const values = useWatch({
|
|
* control,
|
|
* name: "fieldA",
|
|
* defaultValue: "default value",
|
|
* exact: false,
|
|
* })
|
|
* ```
|
|
*/
|
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformedValues = TFieldValues>(props: {
|
|
name: TFieldName;
|
|
defaultValue?: FieldPathValue<TFieldValues, TFieldName>;
|
|
control?: Control<TFieldValues, any, TTransformedValues>;
|
|
disabled?: boolean;
|
|
exact?: boolean;
|
|
}): FieldPathValue<TFieldValues, TFieldName>;
|
|
/**
|
|
* Subscribe to the entire form values change and re-render at the hook level.
|
|
*
|
|
* @remarks
|
|
*
|
|
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
*
|
|
* @param props - defaultValue, disable subscription and match exact name.
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* const { control } = useForm();
|
|
* const values = useWatch({
|
|
* control,
|
|
* defaultValue: {
|
|
* name: "data"
|
|
* },
|
|
* exact: false,
|
|
* })
|
|
* ```
|
|
*/
|
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TTransformedValues = TFieldValues>(props: {
|
|
defaultValue?: DeepPartialSkipArrayKey<TFieldValues>;
|
|
control?: Control<TFieldValues, any, TTransformedValues>;
|
|
disabled?: boolean;
|
|
exact?: boolean;
|
|
}): DeepPartialSkipArrayKey<TFieldValues>;
|
|
/**
|
|
* Custom hook to subscribe to field change and isolate re-rendering at the component level.
|
|
*
|
|
* @remarks
|
|
*
|
|
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
*
|
|
* @param props - defaultValue, disable subscription and match exact name.
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* const { control } = useForm();
|
|
* const values = useWatch({
|
|
* control,
|
|
* name: ["fieldA", "fieldB"],
|
|
* defaultValue: {
|
|
* fieldA: "data",
|
|
* fieldB: "data"
|
|
* },
|
|
* exact: false,
|
|
* })
|
|
* ```
|
|
*/
|
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues, TFieldNames extends readonly FieldPath<TFieldValues>[] = readonly FieldPath<TFieldValues>[], TTransformedValues = TFieldValues>(props: {
|
|
name: readonly [...TFieldNames];
|
|
defaultValue?: DeepPartialSkipArrayKey<TFieldValues>;
|
|
control?: Control<TFieldValues, any, TTransformedValues>;
|
|
disabled?: boolean;
|
|
exact?: boolean;
|
|
}): FieldPathValues<TFieldValues, TFieldNames>;
|
|
/**
|
|
* Custom hook to subscribe to field change and isolate re-rendering at the component level.
|
|
*
|
|
* @remarks
|
|
*
|
|
* [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* // can skip passing down the control into useWatch if the form is wrapped with the FormProvider
|
|
* const values = useWatch()
|
|
* ```
|
|
*/
|
|
export declare function useWatch<TFieldValues extends FieldValues = FieldValues>(): DeepPartialSkipArrayKey<TFieldValues>;
|
|
//# sourceMappingURL=useWatch.d.ts.map
|