✨ 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
96 lines
2.4 KiB
TypeScript
96 lines
2.4 KiB
TypeScript
import { Plugin } from 'postcss'
|
|
import { Stats } from 'browserslist'
|
|
|
|
declare function autoprefixer<T extends string[]>(
|
|
...args: [...T, autoprefixer.Options]
|
|
): Plugin & autoprefixer.ExportedAPI
|
|
|
|
declare function autoprefixer(
|
|
browsers: string[],
|
|
options?: autoprefixer.Options
|
|
): Plugin & autoprefixer.ExportedAPI
|
|
|
|
declare function autoprefixer(
|
|
options?: autoprefixer.Options
|
|
): Plugin & autoprefixer.ExportedAPI
|
|
|
|
declare namespace autoprefixer {
|
|
type GridValue = 'autoplace' | 'no-autoplace'
|
|
|
|
interface Options {
|
|
/** environment for `Browserslist` */
|
|
env?: string
|
|
|
|
/** should Autoprefixer use Visual Cascade, if CSS is uncompressed */
|
|
cascade?: boolean
|
|
|
|
/** should Autoprefixer add prefixes. */
|
|
add?: boolean
|
|
|
|
/** should Autoprefixer [remove outdated] prefixes */
|
|
remove?: boolean
|
|
|
|
/** should Autoprefixer add prefixes for @supports parameters. */
|
|
supports?: boolean
|
|
|
|
/** should Autoprefixer add prefixes for flexbox properties */
|
|
flexbox?: boolean | 'no-2009'
|
|
|
|
/** should Autoprefixer add IE 10-11 prefixes for Grid Layout properties */
|
|
grid?: boolean | GridValue
|
|
|
|
/** custom usage statistics for > 10% in my stats browsers query */
|
|
stats?: Stats
|
|
|
|
/**
|
|
* list of queries for target browsers.
|
|
* Try to not use it.
|
|
* The best practice is to use `.browserslistrc` config or `browserslist` key in `package.json`
|
|
* to share target browsers with Babel, ESLint and Stylelint
|
|
*/
|
|
overrideBrowserslist?: string | string[]
|
|
|
|
/** do not raise error on unknown browser version in `Browserslist` config. */
|
|
ignoreUnknownVersions?: boolean
|
|
}
|
|
|
|
interface ExportedAPI {
|
|
/** Autoprefixer data */
|
|
data: {
|
|
browsers: { [browser: string]: object | undefined }
|
|
prefixes: { [prefixName: string]: object | undefined }
|
|
}
|
|
|
|
/** Autoprefixer default browsers */
|
|
defaults: string[]
|
|
|
|
/** Inspect with default Autoprefixer */
|
|
info(options?: { from?: string }): string
|
|
|
|
options: Options
|
|
|
|
browsers: string | string[]
|
|
}
|
|
|
|
/** Autoprefixer data */
|
|
let data: ExportedAPI['data']
|
|
|
|
/** Autoprefixer default browsers */
|
|
let defaults: ExportedAPI['defaults']
|
|
|
|
/** Inspect with default Autoprefixer */
|
|
let info: ExportedAPI['info']
|
|
|
|
let postcss: true
|
|
}
|
|
|
|
declare global {
|
|
namespace NodeJS {
|
|
interface ProcessEnv {
|
|
AUTOPREFIXER_GRID?: autoprefixer.GridValue
|
|
}
|
|
}
|
|
}
|
|
|
|
export = autoprefixer
|