✨ 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
66 lines
1.5 KiB
JSON
66 lines
1.5 KiB
JSON
{
|
|
"name": "react-use-measure",
|
|
"version": "2.1.7",
|
|
"description": "Utility to measure view bounds",
|
|
"keywords": [
|
|
"react",
|
|
"use",
|
|
"measure",
|
|
"bounds",
|
|
"hooks"
|
|
],
|
|
"author": "Paul Henschel",
|
|
"homepage": "https://github.com/pmndrs/react-use-measure",
|
|
"repository": "https://github.com/pmndrs/react-use-measure",
|
|
"license": "MIT",
|
|
"files": [
|
|
"dist/*",
|
|
"src/*"
|
|
],
|
|
"type": "module",
|
|
"types": "./dist/index.d.ts",
|
|
"main": "./dist/index.cjs",
|
|
"module": "./dist/index.js",
|
|
"exports": {
|
|
"require": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/index.cjs"
|
|
},
|
|
"import": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/index.js"
|
|
}
|
|
},
|
|
"sideEffects": false,
|
|
"devDependencies": {
|
|
"@testing-library/dom": "^10.4.0",
|
|
"@testing-library/react": "^16.2.0",
|
|
"@types/node": "^22.12.0",
|
|
"@types/react": "^19.0.8",
|
|
"@types/react-dom": "^19.0.3",
|
|
"@vitest/browser": "^3.0.4",
|
|
"playwright": "^1.50.0",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"resize-observer-polyfill": "^1.5.1",
|
|
"rimraf": "^6.0.1",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^6.0.11",
|
|
"vitest": "^3.0.4"
|
|
},
|
|
"peerDependencies": {
|
|
"react": ">=16.13",
|
|
"react-dom": ">=16.13"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"react-dom": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "rimraf dist && vite build && tsc",
|
|
"test": "npx playwright install && vitest run"
|
|
}
|
|
}
|