✨ 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
40 lines
1.7 KiB
TypeScript
40 lines
1.7 KiB
TypeScript
import type { FieldArrayPath, FieldValues, UseFieldArrayProps, UseFieldArrayReturn } from './types';
|
|
/**
|
|
* A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)
|
|
*
|
|
* @remarks
|
|
* [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)
|
|
*
|
|
* @param props - useFieldArray props
|
|
*
|
|
* @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* function App() {
|
|
* const { register, control, handleSubmit, reset, trigger, setError } = useForm({
|
|
* defaultValues: {
|
|
* test: []
|
|
* }
|
|
* });
|
|
* const { fields, append } = useFieldArray({
|
|
* control,
|
|
* name: "test"
|
|
* });
|
|
*
|
|
* return (
|
|
* <form onSubmit={handleSubmit(data => console.log(data))}>
|
|
* {fields.map((item, index) => (
|
|
* <input key={item.id} {...register(`test.${index}.firstName`)} />
|
|
* ))}
|
|
* <button type="button" onClick={() => append({ firstName: "bill" })}>
|
|
* append
|
|
* </button>
|
|
* <input type="submit" />
|
|
* </form>
|
|
* );
|
|
* }
|
|
* ```
|
|
*/
|
|
export declare function useFieldArray<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id', TTransformedValues = TFieldValues>(props: UseFieldArrayProps<TFieldValues, TFieldArrayName, TKeyName, TTransformedValues>): UseFieldArrayReturn<TFieldValues, TFieldArrayName, TKeyName>;
|
|
//# sourceMappingURL=useFieldArray.d.ts.map
|