✨ 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
43 lines
2.0 KiB
TypeScript
43 lines
2.0 KiB
TypeScript
import type { AddedKeywordDefinition, AnySchemaObject, KeywordErrorCxt, KeywordCxtParams } from "../../types";
|
|
import type { SchemaCxt, SchemaObjCxt } from "..";
|
|
import { SubschemaArgs } from "./subschema";
|
|
import { Code, Name, CodeGen } from "../codegen";
|
|
import type { JSONType } from "../rules";
|
|
import { ErrorPaths } from "../errors";
|
|
export declare function validateFunctionCode(it: SchemaCxt): void;
|
|
export declare class KeywordCxt implements KeywordErrorCxt {
|
|
readonly gen: CodeGen;
|
|
readonly allErrors?: boolean;
|
|
readonly keyword: string;
|
|
readonly data: Name;
|
|
readonly $data?: string | false;
|
|
schema: any;
|
|
readonly schemaValue: Code | number | boolean;
|
|
readonly schemaCode: Code | number | boolean;
|
|
readonly schemaType: JSONType[];
|
|
readonly parentSchema: AnySchemaObject;
|
|
readonly errsCount?: Name;
|
|
params: KeywordCxtParams;
|
|
readonly it: SchemaObjCxt;
|
|
readonly def: AddedKeywordDefinition;
|
|
constructor(it: SchemaObjCxt, def: AddedKeywordDefinition, keyword: string);
|
|
result(condition: Code, successAction?: () => void, failAction?: () => void): void;
|
|
failResult(condition: Code, successAction?: () => void, failAction?: () => void): void;
|
|
pass(condition: Code, failAction?: () => void): void;
|
|
fail(condition?: Code): void;
|
|
fail$data(condition: Code): void;
|
|
error(append?: boolean, errorParams?: KeywordCxtParams, errorPaths?: ErrorPaths): void;
|
|
private _error;
|
|
$dataError(): void;
|
|
reset(): void;
|
|
ok(cond: Code | boolean): void;
|
|
setParams(obj: KeywordCxtParams, assign?: true): void;
|
|
block$data(valid: Name, codeBlock: () => void, $dataValid?: Code): void;
|
|
check$data(valid?: Name, $dataValid?: Code): void;
|
|
invalid$data(): Code;
|
|
subschema(appl: SubschemaArgs, valid: Name): SchemaCxt;
|
|
mergeEvaluated(schemaCxt: SchemaCxt, toName?: typeof Name): void;
|
|
mergeValidEvaluated(schemaCxt: SchemaCxt, valid: Name): boolean | void;
|
|
}
|
|
export declare function getData($data: string, { dataLevel, dataNames, dataPathArr }: SchemaCxt): Code | number;
|