✨ 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
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
import { BLAKE2 } from './blake2.ts';
|
|
import { type CHashXO, type HashXOF, type Input } from './utils.ts';
|
|
/**
|
|
* Ensure to use EITHER `key` OR `context`, not both.
|
|
*
|
|
* * `key`: 32-byte MAC key.
|
|
* * `context`: string for KDF. Should be hardcoded, globally unique, and application - specific.
|
|
* A good default format for the context string is "[application] [commit timestamp] [purpose]".
|
|
*/
|
|
export type Blake3Opts = {
|
|
dkLen?: number;
|
|
key?: Input;
|
|
context?: Input;
|
|
};
|
|
/** Blake3 hash. Can be used as MAC and KDF. */
|
|
export declare class BLAKE3 extends BLAKE2<BLAKE3> implements HashXOF<BLAKE3> {
|
|
private chunkPos;
|
|
private chunksDone;
|
|
private flags;
|
|
private IV;
|
|
private state;
|
|
private stack;
|
|
private posOut;
|
|
private bufferOut32;
|
|
private bufferOut;
|
|
private chunkOut;
|
|
private enableXOF;
|
|
constructor(opts?: Blake3Opts, flags?: number);
|
|
protected get(): [];
|
|
protected set(): void;
|
|
private b2Compress;
|
|
protected compress(buf: Uint32Array, bufPos?: number, isLast?: boolean): void;
|
|
_cloneInto(to?: BLAKE3): BLAKE3;
|
|
destroy(): void;
|
|
private b2CompressOut;
|
|
protected finish(): void;
|
|
private writeInto;
|
|
xofInto(out: Uint8Array): Uint8Array;
|
|
xof(bytes: number): Uint8Array;
|
|
digestInto(out: Uint8Array): Uint8Array;
|
|
digest(): Uint8Array;
|
|
}
|
|
/**
|
|
* BLAKE3 hash function. Can be used as MAC and KDF.
|
|
* @param msg - message that would be hashed
|
|
* @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode
|
|
* @example
|
|
* const data = new Uint8Array(32);
|
|
* const hash = blake3(data);
|
|
* const mac = blake3(data, { key: new Uint8Array(32) });
|
|
* const kdf = blake3(data, { context: 'application name' });
|
|
*/
|
|
export declare const blake3: CHashXO;
|
|
//# sourceMappingURL=blake3.d.ts.map
|