@datatechsolutions/ui 2.11.56 → 2.11.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/contracts.d.mts +4 -0
- package/dist/astrlabe/contracts.d.ts +4 -0
- package/dist/astrlabe/index.js +131 -131
- package/dist/astrlabe/index.mjs +3 -3
- package/dist/astrlabe/workflow-canvas.js +3 -3
- package/dist/astrlabe/workflow-canvas.mjs +2 -2
- package/dist/{chunk-GWLWSE2C.mjs → chunk-7L2ASZLV.mjs} +543 -4
- package/dist/chunk-7L2ASZLV.mjs.map +1 -0
- package/dist/{chunk-FXJBJ77I.mjs → chunk-ESC5OVLF.mjs} +18 -4
- package/dist/chunk-ESC5OVLF.mjs.map +1 -0
- package/dist/{chunk-P67L6WXL.js → chunk-G77XRUWZ.js} +67 -53
- package/dist/{chunk-P67L6WXL.js.map → chunk-G77XRUWZ.js.map} +1 -1
- package/dist/{chunk-5N6QYUAA.js → chunk-JGVH3R46.js} +542 -2
- package/dist/chunk-JGVH3R46.js.map +1 -0
- package/dist/index.d.mts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +720 -716
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
- package/dist/chunk-5N6QYUAA.js.map +0 -1
- package/dist/chunk-FXJBJ77I.mjs.map +0 -1
- package/dist/chunk-GWLWSE2C.mjs.map +0 -1
|
@@ -11,7 +11,7 @@ import { AnimatePresence, motion, useReducedMotion, useMotionValue, useTransform
|
|
|
11
11
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
12
12
|
import { ChevronDownIcon, CheckCircleIcon, EyeSlashIcon, EyeIcon, XMarkIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, EllipsisVerticalIcon, ClipboardDocumentIcon as ClipboardDocumentIcon$1, ArrowDownTrayIcon } from '@heroicons/react/20/solid';
|
|
13
13
|
import * as HeroIcons from '@heroicons/react/24/outline';
|
|
14
|
-
import { PlusIcon, MinusIcon, CheckCircleIcon as CheckCircleIcon$1, RocketLaunchIcon, HandThumbUpIcon, AdjustmentsHorizontalIcon, TableCellsIcon, MapIcon, XMarkIcon as XMarkIcon$1, ClockIcon, BuildingStorefrontIcon, MagnifyingGlassIcon, InformationCircleIcon, ArrowTrendingUpIcon, ArrowTrendingDownIcon, ChevronUpIcon, ChevronDownIcon as ChevronDownIcon$1, ChevronUpDownIcon, DocumentMagnifyingGlassIcon, ShieldExclamationIcon, ServerStackIcon, WifiIcon, ExclamationTriangleIcon, ArrowPathIcon, FolderOpenIcon, BellIcon, TrashIcon, ExclamationCircleIcon, CheckIcon as CheckIcon$1, ClipboardDocumentCheckIcon, ClipboardDocumentIcon, CalendarDaysIcon, ChevronLeftIcon as ChevronLeftIcon$1, ChevronRightIcon as ChevronRightIcon$1, FunnelIcon, CameraIcon, ArrowUpTrayIcon, BeakerIcon, GlobeAltIcon, WrenchScrewdriverIcon, EyeDropperIcon, MoonIcon as MoonIcon$1, SunIcon as SunIcon$1, UserCircleIcon, ArrowRightOnRectangleIcon, LanguageIcon, Squares2X2Icon, PlusCircleIcon, XCircleIcon, LockClosedIcon, UserIcon } from '@heroicons/react/24/outline';
|
|
14
|
+
import { PlusIcon, MinusIcon, CheckCircleIcon as CheckCircleIcon$1, RocketLaunchIcon, HandThumbUpIcon, AdjustmentsHorizontalIcon, TableCellsIcon, MapIcon, XMarkIcon as XMarkIcon$1, ClockIcon, BuildingStorefrontIcon, MagnifyingGlassIcon, InformationCircleIcon, ArrowTrendingUpIcon, ArrowTrendingDownIcon, ChevronUpIcon, ChevronDownIcon as ChevronDownIcon$1, ChevronUpDownIcon, DocumentMagnifyingGlassIcon, ShieldExclamationIcon, ServerStackIcon, WifiIcon, ExclamationTriangleIcon, ArrowPathIcon, FolderOpenIcon, BellIcon, TrashIcon, ExclamationCircleIcon, CheckIcon as CheckIcon$1, ClipboardDocumentCheckIcon, ClipboardDocumentIcon, CalendarDaysIcon, ChevronLeftIcon as ChevronLeftIcon$1, ChevronRightIcon as ChevronRightIcon$1, FunnelIcon, CameraIcon, ArrowUpTrayIcon, BeakerIcon, GlobeAltIcon, WrenchScrewdriverIcon, EyeDropperIcon, MoonIcon as MoonIcon$1, SunIcon as SunIcon$1, UserCircleIcon, ArrowRightOnRectangleIcon, LanguageIcon, Squares2X2Icon, PlusCircleIcon, XCircleIcon, CloudIcon, NewspaperIcon, LockClosedIcon, UserIcon, PlayIcon, StopIcon, BoltIcon, CpuChipIcon, ShieldCheckIcon } from '@heroicons/react/24/outline';
|
|
15
15
|
import * as Popover from '@radix-ui/react-popover';
|
|
16
16
|
import { createPortal } from 'react-dom';
|
|
17
17
|
import { startOfDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, subMonths, addMonths, isAfter, format, isSameDay, isSameMonth, parse } from 'date-fns';
|
|
@@ -13300,6 +13300,545 @@ var getBrazilGradient = (uf, direction) => getSubdivisionGradient("BR", uf, dire
|
|
|
13300
13300
|
var getBrazilColors = (uf) => getSubdivisionColors("BR", uf);
|
|
13301
13301
|
var getBrazilAccent = (uf) => getSubdivisionAccent("BR", uf);
|
|
13302
13302
|
var isValidBrazilState = (uf) => isValidSubdivision("BR", uf);
|
|
13303
|
+
var FUELS = [
|
|
13304
|
+
{ id: "gasolina", label: "Gasolina", color: "text-orange-400", bg: "bg-orange-500/15", ring: "ring-orange-500/40" },
|
|
13305
|
+
{ id: "etanol", label: "Etanol", color: "text-emerald-400", bg: "bg-emerald-500/15", ring: "ring-emerald-500/40" },
|
|
13306
|
+
{ id: "diesel", label: "Diesel", color: "text-slate-300", bg: "bg-slate-500/15", ring: "ring-slate-500/40" },
|
|
13307
|
+
{ id: "gnv", label: "GNV", color: "text-cyan-400", bg: "bg-cyan-500/15", ring: "ring-cyan-500/40" }
|
|
13308
|
+
];
|
|
13309
|
+
var FUEL_PRICING = {
|
|
13310
|
+
gasolina: {
|
|
13311
|
+
currentPrice: "R$ 5.77",
|
|
13312
|
+
aiPrice: "R$ 5.89",
|
|
13313
|
+
delta: "+R$ 0.12",
|
|
13314
|
+
deltaUp: true,
|
|
13315
|
+
confidence: "94%",
|
|
13316
|
+
revenue: "R$ 2.4M",
|
|
13317
|
+
volume: "890K L",
|
|
13318
|
+
margin: "12.8%",
|
|
13319
|
+
minMax: "MIN 5.20 \u2014 MAX 6.10",
|
|
13320
|
+
competitors: [
|
|
13321
|
+
{ name: "Shell Paulista", distance: "0.8km", price: "R$ 5.99", change: "+1.7%", up: true },
|
|
13322
|
+
{ name: "Ipiranga Centro", distance: "1.2km", price: "R$ 5.85", change: "-0.7%", up: false },
|
|
13323
|
+
{ name: "BR Distribuidora", distance: "2.1km", price: "R$ 5.92", change: "+0.5%", up: true }
|
|
13324
|
+
]
|
|
13325
|
+
},
|
|
13326
|
+
etanol: {
|
|
13327
|
+
currentPrice: "R$ 3.45",
|
|
13328
|
+
aiPrice: "R$ 3.49",
|
|
13329
|
+
delta: "+R$ 0.04",
|
|
13330
|
+
deltaUp: true,
|
|
13331
|
+
confidence: "91%",
|
|
13332
|
+
revenue: "R$ 980K",
|
|
13333
|
+
volume: "620K L",
|
|
13334
|
+
margin: "14.2%",
|
|
13335
|
+
minMax: "MIN 2.90 \u2014 MAX 3.80",
|
|
13336
|
+
competitors: [
|
|
13337
|
+
{ name: "Shell Paulista", distance: "0.8km", price: "R$ 3.59", change: "+2.9%", up: true },
|
|
13338
|
+
{ name: "Ipiranga Centro", distance: "1.2km", price: "R$ 3.42", change: "-0.9%", up: false },
|
|
13339
|
+
{ name: "BR Distribuidora", distance: "2.1km", price: "R$ 3.55", change: "+1.1%", up: true }
|
|
13340
|
+
]
|
|
13341
|
+
},
|
|
13342
|
+
diesel: {
|
|
13343
|
+
currentPrice: "R$ 6.04",
|
|
13344
|
+
aiPrice: "R$ 6.12",
|
|
13345
|
+
delta: "+R$ 0.08",
|
|
13346
|
+
deltaUp: true,
|
|
13347
|
+
confidence: "89%",
|
|
13348
|
+
revenue: "R$ 1.8M",
|
|
13349
|
+
volume: "450K L",
|
|
13350
|
+
margin: "10.5%",
|
|
13351
|
+
minMax: "MIN 5.60 \u2014 MAX 6.50",
|
|
13352
|
+
competitors: [
|
|
13353
|
+
{ name: "Shell Paulista", distance: "0.8km", price: "R$ 6.19", change: "+1.1%", up: true },
|
|
13354
|
+
{ name: "Ipiranga Centro", distance: "1.2km", price: "R$ 6.02", change: "-0.5%", up: false },
|
|
13355
|
+
{ name: "BR Distribuidora", distance: "2.1km", price: "R$ 6.15", change: "+0.8%", up: true }
|
|
13356
|
+
]
|
|
13357
|
+
},
|
|
13358
|
+
gnv: {
|
|
13359
|
+
currentPrice: "R$ 4.22",
|
|
13360
|
+
aiPrice: "R$ 4.29",
|
|
13361
|
+
delta: "+R$ 0.07",
|
|
13362
|
+
deltaUp: true,
|
|
13363
|
+
confidence: "87%",
|
|
13364
|
+
revenue: "R$ 420K",
|
|
13365
|
+
volume: "180K m\xB3",
|
|
13366
|
+
margin: "15.1%",
|
|
13367
|
+
minMax: "MIN 3.80 \u2014 MAX 4.60",
|
|
13368
|
+
competitors: [
|
|
13369
|
+
{ name: "GNV Center SP", distance: "1.5km", price: "R$ 4.35", change: "+1.4%", up: true },
|
|
13370
|
+
{ name: "Posto GNV Sul", distance: "2.8km", price: "R$ 4.19", change: "-0.7%", up: false },
|
|
13371
|
+
{ name: "Auto Gas BR", distance: "3.2km", price: "R$ 4.28", change: "+0.2%", up: true }
|
|
13372
|
+
]
|
|
13373
|
+
}
|
|
13374
|
+
};
|
|
13375
|
+
var STATIONS = [
|
|
13376
|
+
{ id: "1", name: "Posto Paulista", region: "SP", value: 42e4, fuel: "gasolina", price: "R$ 5.89" },
|
|
13377
|
+
{ id: "2", name: "Posto Moema", region: "SP", value: 38e4, fuel: "etanol", price: "R$ 3.49" },
|
|
13378
|
+
{ id: "3", name: "Posto Campinas", region: "SP", value: 34e4, fuel: "diesel", price: "R$ 6.12" },
|
|
13379
|
+
{ id: "4", name: "Posto Santos", region: "SP", value: 29e4, fuel: "gnv", price: "R$ 4.29" },
|
|
13380
|
+
{ id: "5", name: "Posto Barra", region: "RJ", value: 31e4, fuel: "gasolina", price: "R$ 6.05" },
|
|
13381
|
+
{ id: "6", name: "Posto Niter\xF3i", region: "RJ", value: 26e4, fuel: "etanol", price: "R$ 3.59" },
|
|
13382
|
+
{ id: "7", name: "Posto Savassi", region: "MG", value: 29e4, fuel: "gasolina", price: "R$ 5.79" },
|
|
13383
|
+
{ id: "8", name: "Posto Contagem", region: "MG", value: 22e4, fuel: "diesel", price: "R$ 6.05" },
|
|
13384
|
+
{ id: "9", name: "Posto Boa Viagem", region: "PE", value: 24e4, fuel: "gasolina", price: "R$ 5.85" },
|
|
13385
|
+
{ id: "10", name: "Posto Moinhos", region: "RS", value: 26e4, fuel: "etanol", price: "R$ 3.42" },
|
|
13386
|
+
{ id: "11", name: "Posto Curitiba", region: "PR", value: 27e4, fuel: "diesel", price: "R$ 5.99" },
|
|
13387
|
+
{ id: "12", name: "Posto Salvador", region: "BA", value: 25e4, fuel: "gasolina", price: "R$ 5.82" },
|
|
13388
|
+
{ id: "13", name: "Posto Bras\xEDlia", region: "DF", value: 3e5, fuel: "gnv", price: "R$ 4.15" },
|
|
13389
|
+
{ id: "14", name: "Posto Goi\xE2nia", region: "GO", value: 21e4, fuel: "gasolina", price: "R$ 5.78" },
|
|
13390
|
+
{ id: "15", name: "Posto Bel\xE9m", region: "PA", value: 19e4, fuel: "diesel", price: "R$ 6.25" }
|
|
13391
|
+
];
|
|
13392
|
+
var AVATARS = {
|
|
13393
|
+
data: "https://api.dicebear.com/9.x/lorelei/svg?seed=Laura&hair=variant31&beardProbability=0&mouth=happy01",
|
|
13394
|
+
market: "https://api.dicebear.com/9.x/notionists/svg?seed=Paulo&hair=variant35&beardProbability=0&gestureProbability=0&glasses=variant03&glassesProbability=100",
|
|
13395
|
+
pricing: "https://api.dicebear.com/9.x/lorelei/svg?seed=Roberta&hair=variant31&beardProbability=0&glasses=variant01&glassesProbability=100&mouth=happy01"
|
|
13396
|
+
};
|
|
13397
|
+
function buildPipelineNodes(fuelLabel, aiPrice, state, stationName) {
|
|
13398
|
+
const isAll = state === "ALL";
|
|
13399
|
+
const location = stationName ? `${stationName} (${state})` : isAll ? "All Regions" : `${state} Region`;
|
|
13400
|
+
const stateLabel = isAll ? "BR" : state;
|
|
13401
|
+
return [
|
|
13402
|
+
{ id: "start", label: "Start", subtitle: `${fuelLabel} \xB7 ${location}`, icon: PlayIcon, color: "text-emerald-400", bg: "bg-emerald-500/15", glow: "rgba(16,185,129,0.5)", step: 0 },
|
|
13403
|
+
{ id: "bigquery", label: "BigQuery Sales", subtitle: `${fuelLabel} \xB7 ${stateLabel} sales_daily`, icon: ServerStackIcon, color: "text-blue-400", bg: "bg-blue-500/15", glow: "rgba(59,130,246,0.5)", badges: [{ text: "datasource", color: "bg-blue-500/20 text-blue-300" }], step: 1 },
|
|
13404
|
+
{ id: "postgres", label: "Pricing DB", subtitle: `${stateLabel} competitor_prices`, icon: ServerStackIcon, color: "text-blue-400", bg: "bg-blue-500/15", glow: "rgba(59,130,246,0.5)", badges: [{ text: "datasource", color: "bg-blue-500/20 text-blue-300" }], step: 1 },
|
|
13405
|
+
{ id: "weather", label: "Weather", subtitle: `${stateLabel} \xB7 OpenMeteo API`, icon: CloudIcon, color: "text-cyan-400", bg: "bg-cyan-500/15", glow: "rgba(6,182,212,0.5)", badges: [{ text: "tool", color: "bg-cyan-500/20 text-cyan-300" }, { text: "external", color: "bg-gray-500/20 text-gray-300" }], step: 1 },
|
|
13406
|
+
{ id: "market", label: "Market Data", subtitle: "Brent, USD/BRL, Petrobras", icon: ArrowTrendingUpIcon, color: "text-amber-400", bg: "bg-amber-500/15", glow: "rgba(245,158,11,0.5)", badges: [{ text: "tool", color: "bg-amber-500/20 text-amber-300" }, { text: "market", color: "bg-gray-500/20 text-gray-300" }], step: 1 },
|
|
13407
|
+
{ id: "news", label: "News", subtitle: `${fuelLabel} \xB7 ${stateLabel} headlines`, icon: NewspaperIcon, color: "text-orange-400", bg: "bg-orange-500/15", glow: "rgba(249,115,22,0.5)", badges: [{ text: "tool", color: "bg-orange-500/20 text-orange-300" }, { text: "external", color: "bg-gray-500/20 text-gray-300" }], step: 1 },
|
|
13408
|
+
{ id: "agg", label: "Aggregate", subtitle: `5 inputs \u2192 ${fuelLabel} \xB7 ${stateLabel}`, icon: BoltIcon, color: "text-teal-400", bg: "bg-teal-500/15", glow: "rgba(20,184,166,0.5)", badges: [{ text: "aggregator", color: "bg-teal-500/20 text-teal-300" }], step: 2 },
|
|
13409
|
+
{ id: "data-analyst", label: "Data Analyst", subtitle: `${fuelLabel} \xB7 ${stateLabel} patterns`, icon: CpuChipIcon, color: "text-purple-400", bg: "bg-purple-500/15", glow: "rgba(168,85,247,0.5)", avatar: AVATARS.data, badges: [{ text: "agent", color: "bg-purple-500/20 text-purple-300" }, { text: "intermediate", color: "bg-blue-500/20 text-blue-300" }], step: 3 },
|
|
13410
|
+
{ id: "market-analyst", label: "Market Analyst", subtitle: `${fuelLabel} \xB7 ${stateLabel} trends`, icon: CpuChipIcon, color: "text-purple-400", bg: "bg-purple-500/15", glow: "rgba(168,85,247,0.5)", avatar: AVATARS.market, badges: [{ text: "agent", color: "bg-purple-500/20 text-purple-300" }, { text: "advanced", color: "bg-amber-500/20 text-amber-300" }], step: 4 },
|
|
13411
|
+
{ id: "pricing-mgr", label: "Pricing Manager", subtitle: `${fuelLabel} \xB7 ${location}`, icon: CpuChipIcon, color: "text-purple-400", bg: "bg-purple-500/15", glow: "rgba(168,85,247,0.5)", avatar: AVATARS.pricing, badges: [{ text: "agent", color: "bg-purple-500/20 text-purple-300" }, { text: "advanced", color: "bg-amber-500/20 text-amber-300" }], step: 5 },
|
|
13412
|
+
{ id: "rule", label: "Peak Hours", subtitle: `+2% \xB7 ${fuelLabel} \xB7 ${stateLabel}`, icon: ShieldCheckIcon, color: "text-rose-400", bg: "bg-rose-500/15", glow: "rgba(244,63,94,0.5)", badges: [{ text: "rule", color: "bg-rose-500/20 text-rose-300" }, { text: "percentage", color: "bg-gray-500/20 text-gray-300" }], step: 6 },
|
|
13413
|
+
{ id: "end", label: "End", subtitle: `${aiPrice} \xB7 ${location}`, icon: StopIcon, color: "text-red-400", bg: "bg-red-500/15", glow: "rgba(239,68,68,0.5)", step: 7 }
|
|
13414
|
+
];
|
|
13415
|
+
}
|
|
13416
|
+
var STEP_LABELS = [
|
|
13417
|
+
"Triggering pipeline",
|
|
13418
|
+
"Fetching data sources (parallel)",
|
|
13419
|
+
"Aggregating context",
|
|
13420
|
+
"Running Data Analyst",
|
|
13421
|
+
"Running Market Analyst",
|
|
13422
|
+
"Running Pricing Manager",
|
|
13423
|
+
"Applying business rules",
|
|
13424
|
+
"Complete \u2014 R$ 5.89/L \xB7 94% confidence"
|
|
13425
|
+
];
|
|
13426
|
+
function PipelinePreview({ activeFuel, activeState, activeStation, onActiveFuelChange, onActiveStateChange, onActiveStationChange, onStepChange }) {
|
|
13427
|
+
const fuelMeta = FUELS.find((f) => f.id === activeFuel);
|
|
13428
|
+
const fuelPricing = FUEL_PRICING[activeFuel];
|
|
13429
|
+
const stationsInState = useMemo(() => activeState === "ALL" ? [] : STATIONS.filter((s) => s.region === activeState && s.fuel === activeFuel), [activeFuel, activeState]);
|
|
13430
|
+
const availableStates = useMemo(() => [...new Set(STATIONS.filter((s) => s.fuel === activeFuel).map((s) => s.region))], [activeFuel]);
|
|
13431
|
+
const selectedStationName = activeStation ? STATIONS.find((s) => s.id === activeStation)?.name.replace("Posto ", "") ?? null : null;
|
|
13432
|
+
const pipelineNodes = useMemo(() => buildPipelineNodes(fuelMeta.label, fuelPricing.aiPrice, activeState, selectedStationName), [activeFuel, activeState, activeStation, fuelMeta.label, fuelPricing.aiPrice, selectedStationName]);
|
|
13433
|
+
const [activeStep, setActiveStep] = useState(-1);
|
|
13434
|
+
const intervalRef = useRef(null);
|
|
13435
|
+
const isIdle = activeStep === -1;
|
|
13436
|
+
const isRunning = activeStep >= 0 && activeStep < 7;
|
|
13437
|
+
const isComplete = activeStep === 7;
|
|
13438
|
+
const handleRun = useCallback(() => {
|
|
13439
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
13440
|
+
setActiveStep(0);
|
|
13441
|
+
onStepChange?.(0);
|
|
13442
|
+
let step = 0;
|
|
13443
|
+
intervalRef.current = setInterval(() => {
|
|
13444
|
+
step += 1;
|
|
13445
|
+
if (step > 7) {
|
|
13446
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
13447
|
+
setActiveStep(7);
|
|
13448
|
+
onStepChange?.(7);
|
|
13449
|
+
} else {
|
|
13450
|
+
setActiveStep(step);
|
|
13451
|
+
onStepChange?.(step);
|
|
13452
|
+
}
|
|
13453
|
+
}, 1400);
|
|
13454
|
+
}, [onStepChange]);
|
|
13455
|
+
const handleStop = useCallback(() => {
|
|
13456
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
13457
|
+
setActiveStep(-1);
|
|
13458
|
+
onStepChange?.(-1);
|
|
13459
|
+
}, [onStepChange]);
|
|
13460
|
+
useEffect(() => () => {
|
|
13461
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
13462
|
+
}, []);
|
|
13463
|
+
const getStatus = (node) => {
|
|
13464
|
+
if (activeStep < 0) return "idle";
|
|
13465
|
+
if (node.step < activeStep) return "complete";
|
|
13466
|
+
if (node.step === activeStep) return "active";
|
|
13467
|
+
return "idle";
|
|
13468
|
+
};
|
|
13469
|
+
const rows = useMemo(() => {
|
|
13470
|
+
const result = [];
|
|
13471
|
+
let step = -1;
|
|
13472
|
+
for (const node of pipelineNodes) {
|
|
13473
|
+
if (node.step !== step) {
|
|
13474
|
+
result.push([]);
|
|
13475
|
+
step = node.step;
|
|
13476
|
+
}
|
|
13477
|
+
result[result.length - 1].push(node);
|
|
13478
|
+
}
|
|
13479
|
+
return result;
|
|
13480
|
+
}, [pipelineNodes]);
|
|
13481
|
+
return /* @__PURE__ */ jsxs("div", { className: "h-full flex flex-col", children: [
|
|
13482
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 px-3 py-2 border-b border-white/5 shrink-0 overflow-x-auto", children: [
|
|
13483
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center rounded-lg bg-white/[0.03] p-0.5 gap-0.5 shrink-0", children: [
|
|
13484
|
+
/* @__PURE__ */ jsx("span", { className: "text-[7px] font-bold uppercase tracking-wider text-gray-600 px-1.5", children: "Fuel" }),
|
|
13485
|
+
FUELS.map((fuel) => /* @__PURE__ */ jsx(
|
|
13486
|
+
"button",
|
|
13487
|
+
{
|
|
13488
|
+
type: "button",
|
|
13489
|
+
onClick: () => {
|
|
13490
|
+
onActiveFuelChange?.(fuel.id);
|
|
13491
|
+
if (!isIdle) handleStop();
|
|
13492
|
+
},
|
|
13493
|
+
className: `px-2 py-1 rounded-md text-[9px] font-semibold transition-all duration-200 ${activeFuel === fuel.id ? `${fuel.bg} ${fuel.color} shadow-sm` : "text-gray-500 hover:text-gray-300 hover:bg-white/5"}`,
|
|
13494
|
+
children: fuel.label
|
|
13495
|
+
},
|
|
13496
|
+
fuel.id
|
|
13497
|
+
))
|
|
13498
|
+
] }),
|
|
13499
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center rounded-lg bg-white/[0.03] p-0.5 gap-0.5 shrink-0", children: [
|
|
13500
|
+
/* @__PURE__ */ jsx("span", { className: "text-[7px] font-bold uppercase tracking-wider text-gray-600 px-1.5", children: "State" }),
|
|
13501
|
+
/* @__PURE__ */ jsx(
|
|
13502
|
+
"button",
|
|
13503
|
+
{
|
|
13504
|
+
type: "button",
|
|
13505
|
+
onClick: () => {
|
|
13506
|
+
onActiveStateChange?.("ALL");
|
|
13507
|
+
onActiveStationChange?.(null);
|
|
13508
|
+
if (!isIdle) handleStop();
|
|
13509
|
+
},
|
|
13510
|
+
className: `px-2 py-1 rounded-md text-[9px] font-semibold transition-all duration-200 ${activeState === "ALL" ? "bg-white/10 text-white shadow-sm" : "text-gray-500 hover:text-gray-300 hover:bg-white/5"}`,
|
|
13511
|
+
children: "All"
|
|
13512
|
+
}
|
|
13513
|
+
),
|
|
13514
|
+
availableStates.map((state) => /* @__PURE__ */ jsxs(
|
|
13515
|
+
"button",
|
|
13516
|
+
{
|
|
13517
|
+
type: "button",
|
|
13518
|
+
onClick: () => {
|
|
13519
|
+
onActiveStateChange?.(state);
|
|
13520
|
+
onActiveStationChange?.(null);
|
|
13521
|
+
if (!isIdle) handleStop();
|
|
13522
|
+
},
|
|
13523
|
+
className: `flex items-center gap-1 px-1.5 py-1 rounded-md text-[9px] font-semibold transition-all duration-200 ${activeState === state ? "bg-white/10 text-white shadow-sm" : "text-gray-500 hover:text-gray-300 hover:bg-white/5"}`,
|
|
13524
|
+
children: [
|
|
13525
|
+
/* @__PURE__ */ jsx("img", { src: `/flags/${state}.svg`, alt: state, className: "h-3.5 w-3.5 rounded-sm", loading: "lazy" }),
|
|
13526
|
+
state
|
|
13527
|
+
]
|
|
13528
|
+
},
|
|
13529
|
+
state
|
|
13530
|
+
))
|
|
13531
|
+
] }),
|
|
13532
|
+
activeState !== "ALL" && stationsInState.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex items-center rounded-lg bg-white/[0.03] p-0.5 gap-0.5 shrink-0", children: [
|
|
13533
|
+
/* @__PURE__ */ jsx("span", { className: "text-[7px] font-bold uppercase tracking-wider text-gray-600 px-1.5", children: "Station" }),
|
|
13534
|
+
/* @__PURE__ */ jsx(
|
|
13535
|
+
"button",
|
|
13536
|
+
{
|
|
13537
|
+
type: "button",
|
|
13538
|
+
onClick: () => {
|
|
13539
|
+
onActiveStationChange?.(null);
|
|
13540
|
+
if (!isIdle) handleStop();
|
|
13541
|
+
},
|
|
13542
|
+
className: `px-2 py-1 rounded-md text-[9px] font-semibold transition-all duration-200 ${!activeStation ? "bg-white/10 text-white shadow-sm" : "text-gray-500 hover:text-gray-300 hover:bg-white/5"}`,
|
|
13543
|
+
children: "All"
|
|
13544
|
+
}
|
|
13545
|
+
),
|
|
13546
|
+
stationsInState.map((station) => /* @__PURE__ */ jsx(
|
|
13547
|
+
"button",
|
|
13548
|
+
{
|
|
13549
|
+
type: "button",
|
|
13550
|
+
onClick: () => {
|
|
13551
|
+
onActiveStationChange?.(station.id);
|
|
13552
|
+
if (!isIdle) handleStop();
|
|
13553
|
+
},
|
|
13554
|
+
className: `px-2 py-1 rounded-md text-[9px] font-semibold transition-all duration-200 ${activeStation === station.id ? "bg-blue-500/15 text-blue-300 shadow-sm" : "text-gray-500 hover:text-gray-300 hover:bg-white/5"}`,
|
|
13555
|
+
children: station.name.replace("Posto ", "")
|
|
13556
|
+
},
|
|
13557
|
+
station.id
|
|
13558
|
+
))
|
|
13559
|
+
] }),
|
|
13560
|
+
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-2 shrink-0", children: [
|
|
13561
|
+
activeStep >= 0 && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: STEP_LABELS.map((_, index) => /* @__PURE__ */ jsx("div", { className: `h-1 w-2.5 rounded-full transition-all duration-500 ${index < activeStep || isComplete ? "bg-emerald-500" : index === activeStep ? "bg-blue-500 animate-pulse" : "bg-white/10"}` }, index)) }),
|
|
13562
|
+
isComplete && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 rounded-full bg-emerald-500/10 px-2 py-0.5", children: [
|
|
13563
|
+
/* @__PURE__ */ jsx(CheckCircleIcon$1, { className: "h-3 w-3 text-emerald-400" }),
|
|
13564
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[8px] font-semibold text-emerald-400", children: [
|
|
13565
|
+
fuelPricing.aiPrice,
|
|
13566
|
+
" \xB7 ",
|
|
13567
|
+
fuelPricing.confidence
|
|
13568
|
+
] })
|
|
13569
|
+
] }),
|
|
13570
|
+
/* @__PURE__ */ jsx("div", { className: `h-2 w-2 rounded-full ${isRunning ? "bg-blue-500 animate-pulse" : isComplete ? "bg-emerald-500" : "bg-gray-600"}` }),
|
|
13571
|
+
/* @__PURE__ */ jsx("span", { className: "text-[9px] text-gray-500 max-w-[120px] truncate", children: activeStep >= 0 ? STEP_LABELS[activeStep] : "Ready" }),
|
|
13572
|
+
isIdle ? /* @__PURE__ */ jsxs("button", { type: "button", onClick: handleRun, className: "flex items-center gap-1 rounded-lg bg-gradient-to-r from-blue-600 to-indigo-600 px-3 py-1 text-[10px] font-semibold text-white shadow-lg shadow-blue-500/20 hover:shadow-blue-500/30 hover:scale-105 active:scale-95 transition-all", children: [
|
|
13573
|
+
/* @__PURE__ */ jsx(PlayIcon, { className: "h-3 w-3" }),
|
|
13574
|
+
" Run"
|
|
13575
|
+
] }) : isRunning ? /* @__PURE__ */ jsxs("button", { type: "button", onClick: handleStop, className: "flex items-center gap-1 rounded-lg bg-rose-600/80 px-3 py-1 text-[10px] font-semibold text-white", children: [
|
|
13576
|
+
/* @__PURE__ */ jsx(StopIcon, { className: "h-3 w-3" }),
|
|
13577
|
+
" Stop"
|
|
13578
|
+
] }) : /* @__PURE__ */ jsxs("button", { type: "button", onClick: handleRun, className: "flex items-center gap-1 rounded-lg border border-white/10 px-3 py-1 text-[10px] font-medium text-gray-300 hover:bg-white/5", children: [
|
|
13579
|
+
/* @__PURE__ */ jsx(PlayIcon, { className: "h-3 w-3" }),
|
|
13580
|
+
" Run Again"
|
|
13581
|
+
] })
|
|
13582
|
+
] })
|
|
13583
|
+
] }),
|
|
13584
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 flex items-center gap-0 overflow-x-auto px-6 py-4", children: [
|
|
13585
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
13586
|
+
@keyframes nodeGlow { 0%, 100% { box-shadow: 0 0 12px var(--glow); } 50% { box-shadow: 0 0 28px var(--glow); } }
|
|
13587
|
+
@keyframes edgeFlow { to { stroke-dashoffset: -12; } }
|
|
13588
|
+
` }),
|
|
13589
|
+
rows.map((row, rowIndex) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-0 shrink-0", children: [
|
|
13590
|
+
rowIndex > 0 && row[0] && /* @__PURE__ */ jsx("svg", { width: "40", height: "2", className: "shrink-0 mx-1.5", children: /* @__PURE__ */ jsx("line", { x1: "0", y1: "1", x2: "40", y2: "1", stroke: activeStep >= row[0].step ? "#10b981" : "#374151", strokeWidth: "2", strokeDasharray: "4 3", style: { animation: activeStep === row[0].step ? "edgeFlow 0.8s linear infinite" : "none" } }) }),
|
|
13591
|
+
/* @__PURE__ */ jsx("div", { className: `flex ${row.length > 1 ? "flex-col gap-2" : ""}`, children: row.map((node) => {
|
|
13592
|
+
const status = getStatus(node);
|
|
13593
|
+
return /* @__PURE__ */ jsxs(
|
|
13594
|
+
"div",
|
|
13595
|
+
{
|
|
13596
|
+
className: `liquid-surface rounded-2xl px-4 py-3 transition-all duration-500 ${row.length > 1 ? "w-[180px]" : "w-[220px]"} ${status === "active" ? "ring-2 ring-blue-500/50 scale-[1.03]" : status === "complete" ? "ring-1 ring-emerald-500/30" : "opacity-40"}`,
|
|
13597
|
+
style: status === "active" ? { "--glow": node.glow, animation: "nodeGlow 1.5s ease-in-out infinite" } : void 0,
|
|
13598
|
+
children: [
|
|
13599
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5 mb-1.5", children: [
|
|
13600
|
+
node.avatar ? /* @__PURE__ */ jsx("img", { src: node.avatar, alt: "", className: "h-9 w-9 rounded-xl shrink-0" }) : /* @__PURE__ */ jsx("div", { className: `flex h-9 w-9 items-center justify-center rounded-xl shrink-0 ${node.bg}`, children: /* @__PURE__ */ jsx(node.icon, { className: `h-5 w-5 ${node.color}` }) }),
|
|
13601
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
13602
|
+
/* @__PURE__ */ jsx("div", { className: "text-[13px] font-semibold text-white truncate", children: node.label }),
|
|
13603
|
+
/* @__PURE__ */ jsx("div", { className: "text-[9px] text-gray-500 truncate", children: node.subtitle })
|
|
13604
|
+
] }),
|
|
13605
|
+
status === "complete" ? /* @__PURE__ */ jsx(CheckCircleIcon$1, { className: "h-5 w-5 text-emerald-400 shrink-0" }) : null
|
|
13606
|
+
] }),
|
|
13607
|
+
node.badges && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1 mt-1", children: node.badges.map((badge) => /* @__PURE__ */ jsx("span", { className: `rounded-full px-2 py-0.5 text-[8px] font-semibold ${badge.color}`, children: badge.text }, badge.text)) })
|
|
13608
|
+
]
|
|
13609
|
+
},
|
|
13610
|
+
node.id
|
|
13611
|
+
);
|
|
13612
|
+
}) })
|
|
13613
|
+
] }, rowIndex))
|
|
13614
|
+
] })
|
|
13615
|
+
] });
|
|
13616
|
+
}
|
|
13617
|
+
function AgentAnalysisCard2({ name, avatar, duration, output }) {
|
|
13618
|
+
return /* @__PURE__ */ jsxs("div", { className: "liquid-surface rounded-xl p-3 transition-all duration-300", children: [
|
|
13619
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-1.5", children: [
|
|
13620
|
+
/* @__PURE__ */ jsx("img", { src: avatar, alt: "", className: "h-6 w-6 rounded-lg" }),
|
|
13621
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
13622
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] font-semibold text-white", children: name }),
|
|
13623
|
+
/* @__PURE__ */ jsx("div", { className: "text-[8px] text-gray-500", children: duration })
|
|
13624
|
+
] }),
|
|
13625
|
+
/* @__PURE__ */ jsx(CheckCircleIcon$1, { className: "h-3.5 w-3.5 text-emerald-400 shrink-0" })
|
|
13626
|
+
] }),
|
|
13627
|
+
/* @__PURE__ */ jsx("p", { className: "text-[8px] text-gray-400 leading-relaxed", children: output })
|
|
13628
|
+
] });
|
|
13629
|
+
}
|
|
13630
|
+
function MarketPricesCard2({ competitors }) {
|
|
13631
|
+
return /* @__PURE__ */ jsxs("div", { className: "liquid-surface rounded-xl p-3.5", children: [
|
|
13632
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-1.5 text-[10px] font-semibold text-gray-400", children: [
|
|
13633
|
+
/* @__PURE__ */ jsx(TableCellsIcon, { className: "h-3 w-3 text-sky-500" }),
|
|
13634
|
+
"Market Prices"
|
|
13635
|
+
] }),
|
|
13636
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: competitors.map((competitor) => /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-[9px]", children: [
|
|
13637
|
+
/* @__PURE__ */ jsx("span", { className: "text-gray-400 truncate mr-2", children: competitor.name }),
|
|
13638
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 shrink-0", children: [
|
|
13639
|
+
/* @__PURE__ */ jsx("span", { className: "text-gray-500", children: competitor.distance }),
|
|
13640
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold text-white", children: competitor.price }),
|
|
13641
|
+
/* @__PURE__ */ jsx("span", { className: `font-semibold ${competitor.up ? "text-emerald-400" : "text-rose-400"}`, children: competitor.change })
|
|
13642
|
+
] })
|
|
13643
|
+
] }, competitor.name)) })
|
|
13644
|
+
] });
|
|
13645
|
+
}
|
|
13646
|
+
var TOOL_OUTPUTS = {
|
|
13647
|
+
SP: {
|
|
13648
|
+
weather: "Clear skies next 7 days. Temp 28-32\xB0C. No rain expected \u2014 stable demand pattern for commuters.",
|
|
13649
|
+
market: "Brent $82.40 (+2.3%). USD/BRL 5.12 (stable). Petrobras wholesale +1.2% effective Monday.",
|
|
13650
|
+
news: "OPEC holds production steady. Petrobras announces refinery maintenance in Cubat\xE3o \u2014 supply may tighten in SP region next week."
|
|
13651
|
+
},
|
|
13652
|
+
RJ: {
|
|
13653
|
+
weather: "Scattered rain Thu-Fri. Temp 26-30\xB0C. Weekend clear \u2014 expect lower weekday volumes, rebound Sat-Sun.",
|
|
13654
|
+
market: "Brent $82.40 (+2.3%). USD/BRL 5.12. Reduc refinery running at 92% capacity \u2014 normal supply.",
|
|
13655
|
+
news: "Rio toll road expansion opening next month. New stations in Barra da Tijuca corridor \u2014 increased competition expected."
|
|
13656
|
+
},
|
|
13657
|
+
MG: {
|
|
13658
|
+
weather: "Dry season continues. Temp 24-28\xB0C. Rural demand rising with harvest season logistics.",
|
|
13659
|
+
market: "Brent $82.40. REGAP refinery at full capacity. Ethanol supply strong from Tri\xE2ngulo Mineiro mills.",
|
|
13660
|
+
news: "MG state reduces ICMS on diesel by 2% starting next month. Fleet operators may shift purchasing patterns."
|
|
13661
|
+
},
|
|
13662
|
+
PE: {
|
|
13663
|
+
weather: "Tropical heat 30-34\xB0C. Brief showers. High AC usage boosting GNV demand for taxi fleets.",
|
|
13664
|
+
market: "Northeast wholesale prices 3% below Southeast. Lower logistics costs from Suape port proximity.",
|
|
13665
|
+
news: "Recife urban mobility plan adds 50 GNV buses. Growing alternative fuel adoption in metro region."
|
|
13666
|
+
},
|
|
13667
|
+
RS: {
|
|
13668
|
+
weather: "Cold front arriving. Temp dropping to 12-18\xB0C. Diesel demand spike expected for heating and freight.",
|
|
13669
|
+
market: "Brent $82.40. Cross-border pricing from Argentina putting downward pressure on border stations.",
|
|
13670
|
+
news: "RS floods recovery driving construction diesel demand. Federal highway repairs boosting freight volumes."
|
|
13671
|
+
},
|
|
13672
|
+
ALL: {
|
|
13673
|
+
weather: "National: mixed conditions. Clear in SE, rain in NE coast, cold front in South. Regional demand patterns diverging.",
|
|
13674
|
+
market: "Brent $82.40 (+2.3%). USD/BRL 5.12. Petrobras wholesale adjustment +1.2% Monday. Ethanol harvest underway.",
|
|
13675
|
+
news: "OPEC holds output. Petrobras maintenance in SP. MG cuts diesel ICMS. RS recovery drives freight demand."
|
|
13676
|
+
}
|
|
13677
|
+
};
|
|
13678
|
+
var AGENT_ANALYSES = {
|
|
13679
|
+
gasolina: {
|
|
13680
|
+
dataAnalyst: "Sales volume up 12% MoM in SP region. Peak demand 6-9 AM and 5-8 PM. Weekend volumes 18% lower. 3 stations below target margin at current pricing.",
|
|
13681
|
+
marketAnalyst: "Shell Paulista raised prices +1.7% yesterday. Ipiranga holding steady. Brent crude up 2.3% this week. USD/BRL stable at 5.12. Weather forecast clear \u2014 no demand impact expected.",
|
|
13682
|
+
pricingManager: "Recommend R$ 5.89/L (+R$ 0.12). Captures competitor gap while maintaining 12.8% margin. Peak hours rule adds +2% during rush. All prices within MIN 5.20 \u2014 MAX 6.10 guardrails."
|
|
13683
|
+
},
|
|
13684
|
+
etanol: {
|
|
13685
|
+
dataAnalyst: "Etanol demand rising seasonally. Volume 620K L with 14.2% margin. Sugar crop outlook positive \u2014 supply stable through Q2.",
|
|
13686
|
+
marketAnalyst: "Etanol/gasoline ratio at 68% \u2014 below the 70% threshold that drives consumer switching. Competitors averaging R$ 3.52 in SP region.",
|
|
13687
|
+
pricingManager: "Recommend R$ 3.49/L (+R$ 0.04). Conservative increase to maintain ratio advantage. Confidence 91% based on stable supply and competitor positioning."
|
|
13688
|
+
},
|
|
13689
|
+
diesel: {
|
|
13690
|
+
dataAnalyst: "Diesel volumes declining 3% \u2014 seasonal fleet maintenance cycle. B2B contracts account for 72% of volume. Margin pressure from logistics operators.",
|
|
13691
|
+
marketAnalyst: "Diesel supply tightening globally. Brent+crack spread widening. Competitor BR Distribuidora cut prices -0.5% to gain fleet contracts.",
|
|
13692
|
+
pricingManager: "Recommend R$ 6.12/L (+R$ 0.08). Modest increase justified by supply constraints. Fleet contracts locked \u2014 minimal churn risk. Confidence 89%."
|
|
13693
|
+
},
|
|
13694
|
+
gnv: {
|
|
13695
|
+
dataAnalyst: "GNV adoption accelerating \u2014 15% new vehicle conversions in SP. Volume 180K m\xB3 with highest margin at 15.1%. Limited competition in the segment.",
|
|
13696
|
+
marketAnalyst: "Only 3 GNV competitors within 5km radius. GNV Center SP at R$ 4.35 is the price ceiling. Natural gas wholesale costs flat this quarter.",
|
|
13697
|
+
pricingManager: "Recommend R$ 4.29/L (+R$ 0.07). Room to increase given limited competition. Confidence 87% \u2014 lower due to smaller dataset but strong margin signal."
|
|
13698
|
+
}
|
|
13699
|
+
};
|
|
13700
|
+
function FuelDashboardView({ activeFuel, onActiveFuelChange }) {
|
|
13701
|
+
const [activeState, setActiveState] = useState("ALL");
|
|
13702
|
+
const [activeStation, setActiveStation] = useState(null);
|
|
13703
|
+
const [pipelineStep, setPipelineStep] = useState(-1);
|
|
13704
|
+
const pricing = FUEL_PRICING[activeFuel];
|
|
13705
|
+
const fuelMeta = FUELS.find((f) => f.id === activeFuel);
|
|
13706
|
+
const analysis = AGENT_ANALYSES[activeFuel];
|
|
13707
|
+
const selectedMapState = activeState === "ALL" ? null : activeState;
|
|
13708
|
+
const toggleMapState = useCallback((code) => {
|
|
13709
|
+
setActiveState((prev) => prev === code ? "ALL" : code);
|
|
13710
|
+
setActiveStation(null);
|
|
13711
|
+
}, []);
|
|
13712
|
+
const isMapActive = useCallback((code) => code === selectedMapState, [selectedMapState]);
|
|
13713
|
+
const toolOutputs = TOOL_OUTPUTS[selectedMapState ?? "ALL"] ?? TOOL_OUTPUTS["ALL"];
|
|
13714
|
+
const filteredStations = useMemo(() => {
|
|
13715
|
+
const byFuel = STATIONS.filter((s) => s.fuel === activeFuel);
|
|
13716
|
+
return selectedMapState ? byFuel.filter((s) => s.region === selectedMapState) : byFuel;
|
|
13717
|
+
}, [activeFuel, selectedMapState]);
|
|
13718
|
+
return /* @__PURE__ */ jsxs("div", { className: "liquid-surface rounded-xl overflow-hidden", children: [
|
|
13719
|
+
/* @__PURE__ */ jsx(
|
|
13720
|
+
PipelinePreview,
|
|
13721
|
+
{
|
|
13722
|
+
activeFuel,
|
|
13723
|
+
activeState,
|
|
13724
|
+
activeStation,
|
|
13725
|
+
onActiveFuelChange,
|
|
13726
|
+
onActiveStateChange: setActiveState,
|
|
13727
|
+
onActiveStationChange: setActiveStation,
|
|
13728
|
+
onStepChange: setPipelineStep
|
|
13729
|
+
}
|
|
13730
|
+
),
|
|
13731
|
+
pipelineStep >= 3 && /* @__PURE__ */ jsxs("div", { className: "border-t border-white/5 px-3 py-2", children: [
|
|
13732
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-3 gap-2", children: [
|
|
13733
|
+
pipelineStep >= 3 && /* @__PURE__ */ jsx(AgentAnalysisCard2, { name: "Data Analyst", avatar: AVATARS.data, duration: "1.8s", output: analysis.dataAnalyst }),
|
|
13734
|
+
pipelineStep >= 4 && /* @__PURE__ */ jsx(AgentAnalysisCard2, { name: "Market Analyst", avatar: AVATARS.market, duration: "2.1s", output: analysis.marketAnalyst }),
|
|
13735
|
+
pipelineStep >= 5 && /* @__PURE__ */ jsx(AgentAnalysisCard2, { name: "Pricing Manager", avatar: AVATARS.pricing, duration: "1.4s", output: analysis.pricingManager })
|
|
13736
|
+
] }),
|
|
13737
|
+
pipelineStep >= 6 && /* @__PURE__ */ jsxs("div", { className: "mt-2 grid grid-cols-[200px_1fr_1fr] gap-2", children: [
|
|
13738
|
+
/* @__PURE__ */ jsx("div", { className: "liquid-surface rounded-xl overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
13739
|
+
InteractiveGeoMap,
|
|
13740
|
+
{
|
|
13741
|
+
items: STATIONS.filter((s) => s.fuel === activeFuel),
|
|
13742
|
+
getRegionCode: (item) => item.region,
|
|
13743
|
+
regionCoordinates: BRAZIL_STATE_COORDINATES,
|
|
13744
|
+
defaultCenter: BRAZIL_MAP_CENTER,
|
|
13745
|
+
geoJsonUrl: "/maps/brazil.geo.json",
|
|
13746
|
+
regionPropertyKey: "code",
|
|
13747
|
+
projectionType: "mercator",
|
|
13748
|
+
getRegionColor: (code) => BRAZIL_STATE_PALETTES[code]?.primary ?? "#374151",
|
|
13749
|
+
isRegionActive: isMapActive,
|
|
13750
|
+
onRegionToggle: toggleMapState,
|
|
13751
|
+
formatCounter: (total, regions, activeItems) => selectedMapState ? `${activeItems ?? 0} ${fuelMeta.label} stations in ${selectedMapState}` : `${total} stations \xB7 ${regions} states`,
|
|
13752
|
+
ariaLabel: `Brazil ${fuelMeta.label} stations`,
|
|
13753
|
+
className: "h-full"
|
|
13754
|
+
}
|
|
13755
|
+
) }),
|
|
13756
|
+
/* @__PURE__ */ jsxs("div", { className: "liquid-surface rounded-xl p-3", children: [
|
|
13757
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-1.5 text-[10px] font-semibold text-gray-400", children: [
|
|
13758
|
+
/* @__PURE__ */ jsx(RocketLaunchIcon, { className: "h-3.5 w-3.5 text-amber-500" }),
|
|
13759
|
+
"AI Recommendations \u2014 ",
|
|
13760
|
+
fuelMeta.label,
|
|
13761
|
+
selectedMapState && /* @__PURE__ */ jsx("img", { src: `/flags/${selectedMapState}.svg`, alt: selectedMapState, className: "h-4 w-4 rounded-sm" }),
|
|
13762
|
+
selectedMapState && /* @__PURE__ */ jsx("span", { className: "text-[9px] font-bold text-white", children: selectedMapState }),
|
|
13763
|
+
/* @__PURE__ */ jsxs("span", { className: "ml-auto rounded-full bg-emerald-500/10 px-1.5 py-0.5 text-[8px] font-semibold text-emerald-400", children: [
|
|
13764
|
+
pricing.confidence,
|
|
13765
|
+
" confidence"
|
|
13766
|
+
] })
|
|
13767
|
+
] }),
|
|
13768
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0.5", children: [
|
|
13769
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[auto_1fr_auto_auto_auto_auto] items-center gap-x-3 px-2 py-1 text-[8px] font-bold uppercase tracking-wider text-gray-600", children: [
|
|
13770
|
+
/* @__PURE__ */ jsx("span", { children: "State" }),
|
|
13771
|
+
/* @__PURE__ */ jsx("span", { children: "Station" }),
|
|
13772
|
+
/* @__PURE__ */ jsx("span", { children: "Current" }),
|
|
13773
|
+
/* @__PURE__ */ jsx("span", { children: "AI Price" }),
|
|
13774
|
+
/* @__PURE__ */ jsx("span", { children: "Delta" }),
|
|
13775
|
+
/* @__PURE__ */ jsx("span", { children: "Status" })
|
|
13776
|
+
] }),
|
|
13777
|
+
filteredStations.slice(0, 6).map((station) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[auto_1fr_auto_auto_auto_auto] items-center gap-x-3 rounded-lg px-2 py-1.5 hover:bg-white/[0.03] text-[9px]", children: [
|
|
13778
|
+
/* @__PURE__ */ jsx("img", { src: `/flags/${station.region}.svg`, alt: station.region, className: "h-4 w-4 rounded-sm" }),
|
|
13779
|
+
/* @__PURE__ */ jsx("span", { className: "text-gray-300 truncate", children: station.name }),
|
|
13780
|
+
/* @__PURE__ */ jsx("span", { className: "text-gray-500 line-through", children: station.price }),
|
|
13781
|
+
/* @__PURE__ */ jsx("span", { className: "font-bold text-white", children: pricing.aiPrice }),
|
|
13782
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold text-emerald-400", children: pricing.delta }),
|
|
13783
|
+
/* @__PURE__ */ jsx("span", { className: "rounded-full bg-emerald-500/15 px-1.5 py-0.5 text-[7px] font-semibold text-emerald-400", children: "\u2713" })
|
|
13784
|
+
] }, station.id)),
|
|
13785
|
+
filteredStations.length === 0 && /* @__PURE__ */ jsxs("div", { className: "px-2 py-3 text-center text-[9px] text-gray-500 italic", children: [
|
|
13786
|
+
"No ",
|
|
13787
|
+
fuelMeta.label,
|
|
13788
|
+
" stations in ",
|
|
13789
|
+
selectedMapState
|
|
13790
|
+
] })
|
|
13791
|
+
] }),
|
|
13792
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-2 border-t border-white/5 pt-2", children: [
|
|
13793
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "rounded-lg bg-emerald-600 px-2.5 py-1 text-[9px] font-semibold text-white flex items-center gap-1", children: [
|
|
13794
|
+
/* @__PURE__ */ jsx(HandThumbUpIcon, { className: "h-3 w-3" }),
|
|
13795
|
+
" Approve ",
|
|
13796
|
+
selectedMapState ? filteredStations.length : "All"
|
|
13797
|
+
] }),
|
|
13798
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: "rounded-lg bg-gray-700 px-2.5 py-1 text-[9px] font-semibold text-gray-300", children: "Modify" }),
|
|
13799
|
+
/* @__PURE__ */ jsxs("span", { className: "ml-auto text-[8px] text-purple-400 flex items-center gap-1", children: [
|
|
13800
|
+
/* @__PURE__ */ jsx(AdjustmentsHorizontalIcon, { className: "h-3 w-3" }),
|
|
13801
|
+
" ",
|
|
13802
|
+
pricing.minMax
|
|
13803
|
+
] })
|
|
13804
|
+
] })
|
|
13805
|
+
] }),
|
|
13806
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
13807
|
+
/* @__PURE__ */ jsxs("div", { className: "liquid-surface rounded-xl p-2.5", children: [
|
|
13808
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-1.5 flex items-center gap-1.5 text-[8px] font-bold uppercase tracking-wider text-gray-600", children: [
|
|
13809
|
+
"Tool Outputs",
|
|
13810
|
+
selectedMapState && /* @__PURE__ */ jsxs("span", { className: "normal-case tracking-normal font-semibold text-white", children: [
|
|
13811
|
+
" \u2014 ",
|
|
13812
|
+
selectedMapState
|
|
13813
|
+
] })
|
|
13814
|
+
] }),
|
|
13815
|
+
[
|
|
13816
|
+
{ icon: CloudIcon, tool: "Weather", color: "text-cyan-400", bg: "bg-cyan-500/15", output: toolOutputs.weather },
|
|
13817
|
+
{ icon: ArrowTrendingUpIcon, tool: "Market", color: "text-amber-400", bg: "bg-amber-500/15", output: toolOutputs.market },
|
|
13818
|
+
{ icon: NewspaperIcon, tool: "News", color: "text-orange-400", bg: "bg-orange-500/15", output: toolOutputs.news }
|
|
13819
|
+
].map((t) => /* @__PURE__ */ jsxs("div", { className: "mb-1.5", children: [
|
|
13820
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 mb-0.5", children: [
|
|
13821
|
+
/* @__PURE__ */ jsx(t.icon, { className: `h-3 w-3 ${t.color}` }),
|
|
13822
|
+
/* @__PURE__ */ jsx("span", { className: `text-[9px] font-semibold ${t.color}`, children: t.tool }),
|
|
13823
|
+
/* @__PURE__ */ jsx(CheckCircleIcon$1, { className: "ml-auto h-3 w-3 text-emerald-400" })
|
|
13824
|
+
] }),
|
|
13825
|
+
/* @__PURE__ */ jsx("p", { className: "text-[8px] text-gray-400 leading-relaxed", children: t.output })
|
|
13826
|
+
] }, t.tool))
|
|
13827
|
+
] }),
|
|
13828
|
+
/* @__PURE__ */ jsx(MarketPricesCard2, { competitors: pricing.competitors })
|
|
13829
|
+
] })
|
|
13830
|
+
] })
|
|
13831
|
+
] })
|
|
13832
|
+
] });
|
|
13833
|
+
}
|
|
13834
|
+
function FuelPipelineDemo({ defaultFuel = "gasolina", onFuelChange } = {}) {
|
|
13835
|
+
const [activeFuel, setActiveFuel] = useState(defaultFuel);
|
|
13836
|
+
const handleFuelChange = useCallback((fuel) => {
|
|
13837
|
+
setActiveFuel(fuel);
|
|
13838
|
+
onFuelChange?.(fuel);
|
|
13839
|
+
}, [onFuelChange]);
|
|
13840
|
+
return /* @__PURE__ */ jsx(FuelDashboardView, { activeFuel, onActiveFuelChange: handleFuelChange });
|
|
13841
|
+
}
|
|
13303
13842
|
function EntityDrawer({
|
|
13304
13843
|
open,
|
|
13305
13844
|
onClose,
|
|
@@ -20509,6 +21048,6 @@ function SkipToContent({
|
|
|
20509
21048
|
);
|
|
20510
21049
|
}
|
|
20511
21050
|
|
|
20512
|
-
export { ARGENTINA_ACCENT_MAP, ARGENTINA_MACRO_REGIONS, ARGENTINA_MAP_CENTER, ARGENTINA_PROVINCE_COORDINATES, ARGENTINA_PROVINCE_PALETTES, AR_THEME_CONFIG, AUSTRALIA_ACCENT_MAP, AUSTRALIA_MACRO_REGIONS, AUSTRALIA_MAP_CENTER, AUSTRALIA_STATE_COORDINATES, AUSTRALIA_STATE_PALETTES, AU_THEME_CONFIG, ActionMenu, ActionSheet, ActiveFilterChips, AgentAnalysisCard, AnalysisSkeleton, AnimatedNumber, AnimatedTableRow, AppLogo, AppNavigation, AppShell, ArchiveSwipeAction, AuthLayout, Avatar, AvatarButton, BRAZIL_ACCENT_MAP, BRAZIL_MACRO_REGIONS, BRAZIL_MAP_CENTER, BRAZIL_STATE_COORDINATES, BRAZIL_STATE_PALETTES, BR_THEME_CONFIG, BackupCodeGrid, BadRequestPage, Badge, BaseForm, BentoCard, BooleanFlagsPicker, BottomSafeArea, BrandFilterSkeleton, BrandedLoader, Breadcrumb, Button, CANADA_ACCENT_MAP, CANADA_MACRO_REGIONS, CANADA_MAP_CENTER, CANADA_PROVINCE_COORDINATES, CANADA_PROVINCE_PALETTES, CA_THEME_CONFIG, CHILE_ACCENT_MAP, CHILE_MACRO_REGIONS, CHILE_MAP_CENTER, CHILE_REGION_COORDINATES, CHILE_REGION_PALETTES, CL_THEME_CONFIG, COLOMBIA_ACCENT_MAP, COLOMBIA_DEPARTMENT_COORDINATES, COLOMBIA_DEPARTMENT_PALETTES, COLOMBIA_MACRO_REGIONS, COLOMBIA_MAP_CENTER, CO_THEME_CONFIG, Card, CardActionMenu, CardContent, CardDescription, CardDivider, CardFooter, CardGridSkeleton, CardHeader, CardSectionHeader, CardTitle, CategoryBadge, CategoryTab, CategoryTabs, ChartRenderer, ChipPicker, CircularRefreshIndicator, Code, CollapsibleGroupedList, CompactSegmentedControl, ContactCard, ContactSection, Container, ContextMenu, CookieConsent, CopyableId, CountPill, CreateActionButton, DE_THEME_CONFIG, DashboardProgressShell, DashboardView, DataPagination, DatePicker, DeleteSwipeAction, Description4 as Description, DetailsPopover, DevModeBanner, Dialog4 as Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle3 as DialogTitle, Divider, Dock, DockContainer, DockSkeleton, DotRefreshIndicator, Dropdown, DropdownButton, DropdownDivider, DropdownItem, DropdownLabel, DropdownMenu, DropdownSelect, DynamicIsland, DynamicIslandConfirm, DynamicIslandNotification, EGYPT_ACCENT_MAP, EGYPT_GOVERNORATE_COORDINATES, EGYPT_GOVERNORATE_PALETTES, EGYPT_MACRO_REGIONS, EGYPT_MAP_CENTER, EG_THEME_CONFIG, ES_THEME_CONFIG, EdgeSwipeIndicator, EdgeSwipeProvider, EditSwipeAction, EmptyState, EntityCard, EntityDrawer, ErrorMessage, ErrorState, ExpandableHistoryList, ExpandingPageIndicator, FRANCE_ACCENT_MAP, FRANCE_MACRO_REGIONS, FRANCE_MAP_CENTER, FRANCE_REGION_COORDINATES, FRANCE_REGION_PALETTES, FR_THEME_CONFIG, FUEL_PRICE_LOADER, FavoriteSwipeAction, FeatureCard, FeedItemCard, Field2 as Field, FieldGroup, Fieldset2 as Fieldset, FilterBadge, FilterPill, FilterSectionHeader, FilterTileButton, FloatingActionButton, FlyoutMenu, FlyoutNavGrid, FlyoutQuickActions, ForceTouchMenu, Form, FormActions, FormActionsRow, FormCheckbox, FormField, FormGrid, FormInput, FormPriceInput, FormSection, FormSelect, FormTextarea, FormToggle, GB_THEME_CONFIG, GERMANY_ACCENT_MAP, GERMANY_MACRO_REGIONS, GERMANY_MAP_CENTER, GERMANY_STATE_COORDINATES, GERMANY_STATE_PALETTES, GeoMapCanvas, GeoMapLegend, GlassModal, Gradient, GradientBackground, GrowthIndicator, Heading, HeroPanel, HeroSection, ID_THEME_CONFIG, INDIA_ACCENT_MAP, INDIA_MACRO_REGIONS, INDIA_MAP_CENTER, INDIA_STATE_COORDINATES, INDIA_STATE_PALETTES, INDONESIA_ACCENT_MAP, INDONESIA_MACRO_REGIONS, INDONESIA_MAP_CENTER, INDONESIA_PROVINCE_COORDINATES, INDONESIA_PROVINCE_PALETTES, IN_THEME_CONFIG, ITALY_ACCENT_MAP, ITALY_MACRO_REGIONS, ITALY_MAP_CENTER, ITALY_REGION_COORDINATES, ITALY_REGION_PALETTES, IT_THEME_CONFIG, IconButton, ImageUpload, InfoPopover, InlineForm, InlineSpinner, Input, InteractiveGeoMap, ItemSummary, JAPAN_ACCENT_MAP, JAPAN_MACRO_REGIONS, JAPAN_MAP_CENTER, JAPAN_PREFECTURE_COORDINATES, JAPAN_PREFECTURE_PALETTES, JP_THEME_CONFIG, KORI_ERP_LOADER, KR_THEME_CONFIG, LOCALE_FLAGS, Label2 as Label, LabeledToggle, LanguageSwitcher, LaunchpadGrid, Lead, Legend2 as Legend, LiquidFilterInput, ListCard, ListCardItem, ListItem, LoadingOverlay, MEXICO_ACCENT_MAP, MEXICO_MACRO_REGIONS, MEXICO_MAP_CENTER, MEXICO_STATE_COORDINATES, MEXICO_STATE_PALETTES, MX_THEME_CONFIG, ManagementPageLayout, ManagementSurface, MapZoomControls, MarketPricesCard, MetricCard, MonthPicker, MultiColumnPicker, NETHERLANDS_ACCENT_MAP, NETHERLANDS_MACRO_REGIONS, NETHERLANDS_MAP_CENTER, NETHERLANDS_PROVINCE_COORDINATES, NETHERLANDS_PROVINCE_PALETTES, NEW_ZEALAND_ACCENT_MAP, NEW_ZEALAND_MACRO_REGIONS, NEW_ZEALAND_MAP_CENTER, NEW_ZEALAND_REGION_COORDINATES, NEW_ZEALAND_REGION_PALETTES, NG_THEME_CONFIG, NIGERIA_ACCENT_MAP, NIGERIA_MACRO_REGIONS, NIGERIA_MAP_CENTER, NIGERIA_STATE_COORDINATES, NIGERIA_STATE_PALETTES, NL_THEME_CONFIG, NORWAY_ACCENT_MAP, NORWAY_COUNTY_COORDINATES, NORWAY_COUNTY_PALETTES, NORWAY_MACRO_REGIONS, NORWAY_MAP_CENTER, NO_THEME_CONFIG, NZ_THEME_CONFIG, NavigationProgress, NoDataState, NoResultsState, NotFoundPage, NotificationBadge, NotificationBellButton, NotificationProvider, OfficeCard, OfflineState, OptionGrid, OtpInput, PERU_ACCENT_MAP, PERU_DEPARTMENT_COORDINATES, PERU_DEPARTMENT_PALETTES, PERU_MACRO_REGIONS, PERU_MAP_CENTER, PE_THEME_CONFIG, PHILIPPINES_ACCENT_MAP, PHILIPPINES_MACRO_REGIONS, PHILIPPINES_MAP_CENTER, PHILIPPINES_PROVINCE_COORDINATES, PHILIPPINES_PROVINCE_PALETTES, PH_THEME_CONFIG, PL_THEME_CONFIG, POLAND_ACCENT_MAP, POLAND_MACRO_REGIONS, POLAND_MAP_CENTER, POLAND_VOIVODESHIP_COORDINATES, POLAND_VOIVODESHIP_PALETTES, PORTUGAL_ACCENT_MAP, PORTUGAL_DISTRICT_COORDINATES, PORTUGAL_DISTRICT_PALETTES, PORTUGAL_MACRO_REGIONS, PORTUGAL_MAP_CENTER, PT_THEME_CONFIG, PageEmptyState, PageErrorState, PageHeader, PageHeading, PageIndicator, PageLoadingState, PageSectionHeader, Pagination, PasswordInput, PasswordStrengthMeter, Pill, PlatformShell, PlusGrid, PlusGridItem, PlusGridRow, PreferenceSection, PriceChangeBadge, ProfileIdentityCard, Progress, ProgressIndicator, PullToRefreshContainer, PullToRefreshIndicator, RadiantHeading, RadiantStatCard, RadiantSubheading, RecommendationCard, RegionFilterSkeleton, RoleBadge, SE_THEME_CONFIG, SOUTH_AFRICA_ACCENT_MAP, SOUTH_AFRICA_MACRO_REGIONS, SOUTH_AFRICA_MAP_CENTER, SOUTH_AFRICA_PROVINCE_COORDINATES, SOUTH_AFRICA_PROVINCE_PALETTES, SOUTH_KOREA_ACCENT_MAP, SOUTH_KOREA_MACRO_REGIONS, SOUTH_KOREA_MAP_CENTER, SOUTH_KOREA_PROVINCE_COORDINATES, SOUTH_KOREA_PROVINCE_PALETTES, SPAIN_ACCENT_MAP, SPAIN_MACRO_REGIONS, SPAIN_MAP_CENTER, SPAIN_PROVINCE_COORDINATES, SPAIN_PROVINCE_PALETTES, SWEDEN_ACCENT_MAP, SWEDEN_COUNTY_COORDINATES, SWEDEN_COUNTY_PALETTES, SWEDEN_MACRO_REGIONS, SWEDEN_MAP_CENTER, SafeArea, SafeAreaSpacer, SafeAreaView, SearchBar, SearchFilterToolbar, SearchInput, SectionCard, SectionHeader, SectionHeaderSkeleton, SegmentedControl, Select, SelectableChipPicker, SelectableListPicker, SelectableOptionsGrid, SelectableTableRow, SelectionCard, ServerErrorPage, SettingsModal, Sheet, SkipToContent, SocialLoginButtons, SortableTableHeader, Spinner, Stat, StatCard, StatCardSkeleton, StatusBadge, StatusToggle, StepFormPage, StepNavigationButtons, StepTimeline, Strong, Subheading, SwipeableRow, Switch2 as Switch, THAILAND_ACCENT_MAP, THAILAND_MACRO_REGIONS, THAILAND_MAP_CENTER, THAILAND_PROVINCE_COORDINATES, THAILAND_PROVINCE_PALETTES, TH_THEME_CONFIG, TR_THEME_CONFIG, TURKEY_ACCENT_MAP, TURKEY_MACRO_REGIONS, TURKEY_MAP_CENTER, TURKEY_PROVINCE_COORDINATES, TURKEY_PROVINCE_PALETTES, Table, TableBody, TableCell, TableEmptyState, TableHead, TableHeader, TableRow, TableSkeleton, TableSkeletonRow, Tabs, TabsContent, TabsList, TabsTrigger, TagBadge, Text, TextLink, Textarea, ThemeSwitch, ThemeToggle, ThemeToggleCompact, TimePicker, ToggleSwitch, TouchTarget, UK_ACCENT_MAP, UK_MACRO_REGIONS, UK_MAP_CENTER, UK_NATION_COORDINATES, UK_NATION_PALETTES, US_ACCENT_MAP, US_MACRO_REGIONS, US_MAP_CENTER, US_STATE_COORDINATES, US_STATE_PALETTES, US_THEME_CONFIG, UserAvatar, UserMobileInfo, WINDSOCK_LOADER, WIRE_LOADER, WheelPicker, WindsockIcon, ZA_THEME_CONFIG, buildDockActions, buildFlyoutNavItems, buildLaunchpadItems, buttonPress, buttonPressReduced, buttonTap, cardHover, cardHoverReduced, cardPress, computeDomain, computeSeries, createMotionProps, durations, durationsReduced, easings, fadeOnly, fadeScale, filterByPermission, formatAddress, formatCurrency, formatCurrency2, formatDate, formatPercentage, getAllCountries, getArgentinaAccent, getArgentinaColors, getArgentinaFlagUrl, getArgentinaGradient, getArgentinaHexColor, getArgentinaPalette, getAustraliaAccent, getAustraliaColors, getAustraliaFlagUrl, getAustraliaGradient, getAustraliaHexColor, getAustraliaPalette, getBrazilAccent, getBrazilColors, getBrazilFlagUrl, getBrazilGradient, getBrazilHexColor, getBrazilPalette, getCanadaAccent, getCanadaColors, getCanadaFlagUrl, getCanadaGradient, getCanadaHexColor, getCanadaPalette, getChileAccent, getChileColors, getChileFlagUrl, getChileGradient, getChileHexColor, getChilePalette, getColombiaAccent, getColombiaColors, getColombiaFlagUrl, getColombiaGradient, getColombiaHexColor, getColombiaPalette, getCountryConfig, getEgyptAccent, getEgyptColors, getEgyptFlagUrl, getEgyptGradient, getEgyptHexColor, getEgyptPalette, getFranceAccent, getFranceColors, getFranceFlagUrl, getFranceGradient, getFranceHexColor, getFrancePalette, getGermanyAccent, getGermanyColors, getGermanyFlagUrl, getGermanyGradient, getGermanyHexColor, getGermanyPalette, getIndiaAccent, getIndiaColors, getIndiaFlagUrl, getIndiaGradient, getIndiaHexColor, getIndiaPalette, getIndonesiaAccent, getIndonesiaColors, getIndonesiaFlagUrl, getIndonesiaGradient, getIndonesiaHexColor, getIndonesiaPalette, getItalyAccent, getItalyColors, getItalyFlagUrl, getItalyGradient, getItalyHexColor, getItalyPalette, getJapanAccent, getJapanColors, getJapanFlagUrl, getJapanGradient, getJapanHexColor, getJapanPalette, getMexicoAccent, getMexicoColors, getMexicoFlagUrl, getMexicoGradient, getMexicoHexColor, getMexicoPalette, getNetherlandsAccent, getNetherlandsColors, getNetherlandsFlagUrl, getNetherlandsGradient, getNetherlandsHexColor, getNetherlandsPalette, getNewZealandAccent, getNewZealandColors, getNewZealandFlagUrl, getNewZealandGradient, getNewZealandHexColor, getNewZealandPalette, getNigeriaAccent, getNigeriaColors, getNigeriaFlagUrl, getNigeriaGradient, getNigeriaHexColor, getNigeriaPalette, getNorwayAccent, getNorwayColors, getNorwayFlagUrl, getNorwayGradient, getNorwayHexColor, getNorwayPalette, getPeruAccent, getPeruColors, getPeruFlagUrl, getPeruGradient, getPeruHexColor, getPeruPalette, getPhilippinesAccent, getPhilippinesColors, getPhilippinesFlagUrl, getPhilippinesGradient, getPhilippinesHexColor, getPhilippinesPalette, getPolandAccent, getPolandColors, getPolandFlagUrl, getPolandGradient, getPolandHexColor, getPolandPalette, getPortugalAccent, getPortugalColors, getPortugalFlagUrl, getPortugalGradient, getPortugalHexColor, getPortugalPalette, getSouthAfricaAccent, getSouthAfricaColors, getSouthAfricaFlagUrl, getSouthAfricaGradient, getSouthAfricaHexColor, getSouthAfricaPalette, getSouthKoreaAccent, getSouthKoreaColors, getSouthKoreaFlagUrl, getSouthKoreaGradient, getSouthKoreaHexColor, getSouthKoreaPalette, getSpainAccent, getSpainColors, getSpainFlagUrl, getSpainGradient, getSpainHexColor, getSpainPalette, getStatusColor, getSubdivisionAccent, getSubdivisionColors, getSubdivisionFlagUrl, getSubdivisionGradient, getSubdivisionHexColor, getSubdivisionPalette, getSwedenAccent, getSwedenColors, getSwedenFlagUrl, getSwedenGradient, getSwedenHexColor, getSwedenPalette, getThailandAccent, getThailandColors, getThailandFlagUrl, getThailandGradient, getThailandHexColor, getThailandPalette, getTransition, getTurkeyAccent, getTurkeyColors, getTurkeyFlagUrl, getTurkeyGradient, getTurkeyHexColor, getTurkeyPalette, getUKAccent, getUKColors, getUKFlagUrl, getUKGradient, getUKHexColor, getUKPalette, getUsAccent, getUsColors, getUsFlagUrl, getUsGradient, getUsHexColor, getUsPalette, getVariants, iosColors, isValidArgentinaProvince, isValidAustraliaState, isValidBrazilState, isValidCanadaProvince, isValidChileRegion, isValidColombiaDepartment, isValidEgyptGovernorate, isValidFranceRegion, isValidGermanyState, isValidIndiaState, isValidIndonesiaProvince, isValidItalyRegion, isValidJapanPrefecture, isValidMexicoState, isValidNetherlandsProvince, isValidNewZealandRegion, isValidNigeriaState, isValidNorwayCounty, isValidPeruDepartment, isValidPhilippinesProvince, isValidPolandVoivodeship, isValidPortugalDistrict, isValidSouthAfricaProvince, isValidSouthKoreaProvince, isValidSpainProvince, isValidSubdivision, isValidSwedenCounty, isValidThailandProvince, isValidTurkeyProvince, isValidUKNation, isValidUsState, listItem, listItemReduced, notificationBanner, notificationBannerReduced, pageControlDot, prefersReducedMotion, registerCountry, registerSubdivisionTheme, resolveGlassAccentRgb, selectIsAuthenticated, selectShowShellChrome, selectUserInitial, selectUserName, shimmerClass, shimmerWhiteClass, slideDown, slideRight, slideUp, springPresets, springPresetsReduced, staggerContainer, swipeActionThreshold, swipeConstraints, useGeoMapState, useNotifications, usePlatformShellStore, usePullToRefresh, validateDashboardSpec, xScale, yScale };
|
|
20513
|
-
//# sourceMappingURL=chunk-
|
|
20514
|
-
//# sourceMappingURL=chunk-
|
|
21051
|
+
export { ARGENTINA_ACCENT_MAP, ARGENTINA_MACRO_REGIONS, ARGENTINA_MAP_CENTER, ARGENTINA_PROVINCE_COORDINATES, ARGENTINA_PROVINCE_PALETTES, AR_THEME_CONFIG, AUSTRALIA_ACCENT_MAP, AUSTRALIA_MACRO_REGIONS, AUSTRALIA_MAP_CENTER, AUSTRALIA_STATE_COORDINATES, AUSTRALIA_STATE_PALETTES, AU_THEME_CONFIG, ActionMenu, ActionSheet, ActiveFilterChips, AgentAnalysisCard, AnalysisSkeleton, AnimatedNumber, AnimatedTableRow, AppLogo, AppNavigation, AppShell, ArchiveSwipeAction, AuthLayout, Avatar, AvatarButton, BRAZIL_ACCENT_MAP, BRAZIL_MACRO_REGIONS, BRAZIL_MAP_CENTER, BRAZIL_STATE_COORDINATES, BRAZIL_STATE_PALETTES, BR_THEME_CONFIG, BackupCodeGrid, BadRequestPage, Badge, BaseForm, BentoCard, BooleanFlagsPicker, BottomSafeArea, BrandFilterSkeleton, BrandedLoader, Breadcrumb, Button, CANADA_ACCENT_MAP, CANADA_MACRO_REGIONS, CANADA_MAP_CENTER, CANADA_PROVINCE_COORDINATES, CANADA_PROVINCE_PALETTES, CA_THEME_CONFIG, CHILE_ACCENT_MAP, CHILE_MACRO_REGIONS, CHILE_MAP_CENTER, CHILE_REGION_COORDINATES, CHILE_REGION_PALETTES, CL_THEME_CONFIG, COLOMBIA_ACCENT_MAP, COLOMBIA_DEPARTMENT_COORDINATES, COLOMBIA_DEPARTMENT_PALETTES, COLOMBIA_MACRO_REGIONS, COLOMBIA_MAP_CENTER, CO_THEME_CONFIG, Card, CardActionMenu, CardContent, CardDescription, CardDivider, CardFooter, CardGridSkeleton, CardHeader, CardSectionHeader, CardTitle, CategoryBadge, CategoryTab, CategoryTabs, ChartRenderer, ChipPicker, CircularRefreshIndicator, Code, CollapsibleGroupedList, CompactSegmentedControl, ContactCard, ContactSection, Container, ContextMenu, CookieConsent, CopyableId, CountPill, CreateActionButton, DE_THEME_CONFIG, DashboardProgressShell, DashboardView, DataPagination, DatePicker, DeleteSwipeAction, Description4 as Description, DetailsPopover, DevModeBanner, Dialog4 as Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle3 as DialogTitle, Divider, Dock, DockContainer, DockSkeleton, DotRefreshIndicator, Dropdown, DropdownButton, DropdownDivider, DropdownItem, DropdownLabel, DropdownMenu, DropdownSelect, DynamicIsland, DynamicIslandConfirm, DynamicIslandNotification, EGYPT_ACCENT_MAP, EGYPT_GOVERNORATE_COORDINATES, EGYPT_GOVERNORATE_PALETTES, EGYPT_MACRO_REGIONS, EGYPT_MAP_CENTER, EG_THEME_CONFIG, ES_THEME_CONFIG, EdgeSwipeIndicator, EdgeSwipeProvider, EditSwipeAction, EmptyState, EntityCard, EntityDrawer, ErrorMessage, ErrorState, ExpandableHistoryList, ExpandingPageIndicator, FRANCE_ACCENT_MAP, FRANCE_MACRO_REGIONS, FRANCE_MAP_CENTER, FRANCE_REGION_COORDINATES, FRANCE_REGION_PALETTES, FR_THEME_CONFIG, FUEL_PRICE_LOADER, FavoriteSwipeAction, FeatureCard, FeedItemCard, Field2 as Field, FieldGroup, Fieldset2 as Fieldset, FilterBadge, FilterPill, FilterSectionHeader, FilterTileButton, FloatingActionButton, FlyoutMenu, FlyoutNavGrid, FlyoutQuickActions, ForceTouchMenu, Form, FormActions, FormActionsRow, FormCheckbox, FormField, FormGrid, FormInput, FormPriceInput, FormSection, FormSelect, FormTextarea, FormToggle, FuelPipelineDemo, GB_THEME_CONFIG, GERMANY_ACCENT_MAP, GERMANY_MACRO_REGIONS, GERMANY_MAP_CENTER, GERMANY_STATE_COORDINATES, GERMANY_STATE_PALETTES, GeoMapCanvas, GeoMapLegend, GlassModal, Gradient, GradientBackground, GrowthIndicator, Heading, HeroPanel, HeroSection, ID_THEME_CONFIG, INDIA_ACCENT_MAP, INDIA_MACRO_REGIONS, INDIA_MAP_CENTER, INDIA_STATE_COORDINATES, INDIA_STATE_PALETTES, INDONESIA_ACCENT_MAP, INDONESIA_MACRO_REGIONS, INDONESIA_MAP_CENTER, INDONESIA_PROVINCE_COORDINATES, INDONESIA_PROVINCE_PALETTES, IN_THEME_CONFIG, ITALY_ACCENT_MAP, ITALY_MACRO_REGIONS, ITALY_MAP_CENTER, ITALY_REGION_COORDINATES, ITALY_REGION_PALETTES, IT_THEME_CONFIG, IconButton, ImageUpload, InfoPopover, InlineForm, InlineSpinner, Input, InteractiveGeoMap, ItemSummary, JAPAN_ACCENT_MAP, JAPAN_MACRO_REGIONS, JAPAN_MAP_CENTER, JAPAN_PREFECTURE_COORDINATES, JAPAN_PREFECTURE_PALETTES, JP_THEME_CONFIG, KORI_ERP_LOADER, KR_THEME_CONFIG, LOCALE_FLAGS, Label2 as Label, LabeledToggle, LanguageSwitcher, LaunchpadGrid, Lead, Legend2 as Legend, LiquidFilterInput, ListCard, ListCardItem, ListItem, LoadingOverlay, MEXICO_ACCENT_MAP, MEXICO_MACRO_REGIONS, MEXICO_MAP_CENTER, MEXICO_STATE_COORDINATES, MEXICO_STATE_PALETTES, MX_THEME_CONFIG, ManagementPageLayout, ManagementSurface, MapZoomControls, MarketPricesCard, MetricCard, MonthPicker, MultiColumnPicker, NETHERLANDS_ACCENT_MAP, NETHERLANDS_MACRO_REGIONS, NETHERLANDS_MAP_CENTER, NETHERLANDS_PROVINCE_COORDINATES, NETHERLANDS_PROVINCE_PALETTES, NEW_ZEALAND_ACCENT_MAP, NEW_ZEALAND_MACRO_REGIONS, NEW_ZEALAND_MAP_CENTER, NEW_ZEALAND_REGION_COORDINATES, NEW_ZEALAND_REGION_PALETTES, NG_THEME_CONFIG, NIGERIA_ACCENT_MAP, NIGERIA_MACRO_REGIONS, NIGERIA_MAP_CENTER, NIGERIA_STATE_COORDINATES, NIGERIA_STATE_PALETTES, NL_THEME_CONFIG, NORWAY_ACCENT_MAP, NORWAY_COUNTY_COORDINATES, NORWAY_COUNTY_PALETTES, NORWAY_MACRO_REGIONS, NORWAY_MAP_CENTER, NO_THEME_CONFIG, NZ_THEME_CONFIG, NavigationProgress, NoDataState, NoResultsState, NotFoundPage, NotificationBadge, NotificationBellButton, NotificationProvider, OfficeCard, OfflineState, OptionGrid, OtpInput, PERU_ACCENT_MAP, PERU_DEPARTMENT_COORDINATES, PERU_DEPARTMENT_PALETTES, PERU_MACRO_REGIONS, PERU_MAP_CENTER, PE_THEME_CONFIG, PHILIPPINES_ACCENT_MAP, PHILIPPINES_MACRO_REGIONS, PHILIPPINES_MAP_CENTER, PHILIPPINES_PROVINCE_COORDINATES, PHILIPPINES_PROVINCE_PALETTES, PH_THEME_CONFIG, PL_THEME_CONFIG, POLAND_ACCENT_MAP, POLAND_MACRO_REGIONS, POLAND_MAP_CENTER, POLAND_VOIVODESHIP_COORDINATES, POLAND_VOIVODESHIP_PALETTES, PORTUGAL_ACCENT_MAP, PORTUGAL_DISTRICT_COORDINATES, PORTUGAL_DISTRICT_PALETTES, PORTUGAL_MACRO_REGIONS, PORTUGAL_MAP_CENTER, PT_THEME_CONFIG, PageEmptyState, PageErrorState, PageHeader, PageHeading, PageIndicator, PageLoadingState, PageSectionHeader, Pagination, PasswordInput, PasswordStrengthMeter, Pill, PlatformShell, PlusGrid, PlusGridItem, PlusGridRow, PreferenceSection, PriceChangeBadge, ProfileIdentityCard, Progress, ProgressIndicator, PullToRefreshContainer, PullToRefreshIndicator, RadiantHeading, RadiantStatCard, RadiantSubheading, RecommendationCard, RegionFilterSkeleton, RoleBadge, SE_THEME_CONFIG, SOUTH_AFRICA_ACCENT_MAP, SOUTH_AFRICA_MACRO_REGIONS, SOUTH_AFRICA_MAP_CENTER, SOUTH_AFRICA_PROVINCE_COORDINATES, SOUTH_AFRICA_PROVINCE_PALETTES, SOUTH_KOREA_ACCENT_MAP, SOUTH_KOREA_MACRO_REGIONS, SOUTH_KOREA_MAP_CENTER, SOUTH_KOREA_PROVINCE_COORDINATES, SOUTH_KOREA_PROVINCE_PALETTES, SPAIN_ACCENT_MAP, SPAIN_MACRO_REGIONS, SPAIN_MAP_CENTER, SPAIN_PROVINCE_COORDINATES, SPAIN_PROVINCE_PALETTES, SWEDEN_ACCENT_MAP, SWEDEN_COUNTY_COORDINATES, SWEDEN_COUNTY_PALETTES, SWEDEN_MACRO_REGIONS, SWEDEN_MAP_CENTER, SafeArea, SafeAreaSpacer, SafeAreaView, SearchBar, SearchFilterToolbar, SearchInput, SectionCard, SectionHeader, SectionHeaderSkeleton, SegmentedControl, Select, SelectableChipPicker, SelectableListPicker, SelectableOptionsGrid, SelectableTableRow, SelectionCard, ServerErrorPage, SettingsModal, Sheet, SkipToContent, SocialLoginButtons, SortableTableHeader, Spinner, Stat, StatCard, StatCardSkeleton, StatusBadge, StatusToggle, StepFormPage, StepNavigationButtons, StepTimeline, Strong, Subheading, SwipeableRow, Switch2 as Switch, THAILAND_ACCENT_MAP, THAILAND_MACRO_REGIONS, THAILAND_MAP_CENTER, THAILAND_PROVINCE_COORDINATES, THAILAND_PROVINCE_PALETTES, TH_THEME_CONFIG, TR_THEME_CONFIG, TURKEY_ACCENT_MAP, TURKEY_MACRO_REGIONS, TURKEY_MAP_CENTER, TURKEY_PROVINCE_COORDINATES, TURKEY_PROVINCE_PALETTES, Table, TableBody, TableCell, TableEmptyState, TableHead, TableHeader, TableRow, TableSkeleton, TableSkeletonRow, Tabs, TabsContent, TabsList, TabsTrigger, TagBadge, Text, TextLink, Textarea, ThemeSwitch, ThemeToggle, ThemeToggleCompact, TimePicker, ToggleSwitch, TouchTarget, UK_ACCENT_MAP, UK_MACRO_REGIONS, UK_MAP_CENTER, UK_NATION_COORDINATES, UK_NATION_PALETTES, US_ACCENT_MAP, US_MACRO_REGIONS, US_MAP_CENTER, US_STATE_COORDINATES, US_STATE_PALETTES, US_THEME_CONFIG, UserAvatar, UserMobileInfo, WINDSOCK_LOADER, WIRE_LOADER, WheelPicker, WindsockIcon, ZA_THEME_CONFIG, buildDockActions, buildFlyoutNavItems, buildLaunchpadItems, buttonPress, buttonPressReduced, buttonTap, cardHover, cardHoverReduced, cardPress, computeDomain, computeSeries, createMotionProps, durations, durationsReduced, easings, fadeOnly, fadeScale, filterByPermission, formatAddress, formatCurrency, formatCurrency2, formatDate, formatPercentage, getAllCountries, getArgentinaAccent, getArgentinaColors, getArgentinaFlagUrl, getArgentinaGradient, getArgentinaHexColor, getArgentinaPalette, getAustraliaAccent, getAustraliaColors, getAustraliaFlagUrl, getAustraliaGradient, getAustraliaHexColor, getAustraliaPalette, getBrazilAccent, getBrazilColors, getBrazilFlagUrl, getBrazilGradient, getBrazilHexColor, getBrazilPalette, getCanadaAccent, getCanadaColors, getCanadaFlagUrl, getCanadaGradient, getCanadaHexColor, getCanadaPalette, getChileAccent, getChileColors, getChileFlagUrl, getChileGradient, getChileHexColor, getChilePalette, getColombiaAccent, getColombiaColors, getColombiaFlagUrl, getColombiaGradient, getColombiaHexColor, getColombiaPalette, getCountryConfig, getEgyptAccent, getEgyptColors, getEgyptFlagUrl, getEgyptGradient, getEgyptHexColor, getEgyptPalette, getFranceAccent, getFranceColors, getFranceFlagUrl, getFranceGradient, getFranceHexColor, getFrancePalette, getGermanyAccent, getGermanyColors, getGermanyFlagUrl, getGermanyGradient, getGermanyHexColor, getGermanyPalette, getIndiaAccent, getIndiaColors, getIndiaFlagUrl, getIndiaGradient, getIndiaHexColor, getIndiaPalette, getIndonesiaAccent, getIndonesiaColors, getIndonesiaFlagUrl, getIndonesiaGradient, getIndonesiaHexColor, getIndonesiaPalette, getItalyAccent, getItalyColors, getItalyFlagUrl, getItalyGradient, getItalyHexColor, getItalyPalette, getJapanAccent, getJapanColors, getJapanFlagUrl, getJapanGradient, getJapanHexColor, getJapanPalette, getMexicoAccent, getMexicoColors, getMexicoFlagUrl, getMexicoGradient, getMexicoHexColor, getMexicoPalette, getNetherlandsAccent, getNetherlandsColors, getNetherlandsFlagUrl, getNetherlandsGradient, getNetherlandsHexColor, getNetherlandsPalette, getNewZealandAccent, getNewZealandColors, getNewZealandFlagUrl, getNewZealandGradient, getNewZealandHexColor, getNewZealandPalette, getNigeriaAccent, getNigeriaColors, getNigeriaFlagUrl, getNigeriaGradient, getNigeriaHexColor, getNigeriaPalette, getNorwayAccent, getNorwayColors, getNorwayFlagUrl, getNorwayGradient, getNorwayHexColor, getNorwayPalette, getPeruAccent, getPeruColors, getPeruFlagUrl, getPeruGradient, getPeruHexColor, getPeruPalette, getPhilippinesAccent, getPhilippinesColors, getPhilippinesFlagUrl, getPhilippinesGradient, getPhilippinesHexColor, getPhilippinesPalette, getPolandAccent, getPolandColors, getPolandFlagUrl, getPolandGradient, getPolandHexColor, getPolandPalette, getPortugalAccent, getPortugalColors, getPortugalFlagUrl, getPortugalGradient, getPortugalHexColor, getPortugalPalette, getSouthAfricaAccent, getSouthAfricaColors, getSouthAfricaFlagUrl, getSouthAfricaGradient, getSouthAfricaHexColor, getSouthAfricaPalette, getSouthKoreaAccent, getSouthKoreaColors, getSouthKoreaFlagUrl, getSouthKoreaGradient, getSouthKoreaHexColor, getSouthKoreaPalette, getSpainAccent, getSpainColors, getSpainFlagUrl, getSpainGradient, getSpainHexColor, getSpainPalette, getStatusColor, getSubdivisionAccent, getSubdivisionColors, getSubdivisionFlagUrl, getSubdivisionGradient, getSubdivisionHexColor, getSubdivisionPalette, getSwedenAccent, getSwedenColors, getSwedenFlagUrl, getSwedenGradient, getSwedenHexColor, getSwedenPalette, getThailandAccent, getThailandColors, getThailandFlagUrl, getThailandGradient, getThailandHexColor, getThailandPalette, getTransition, getTurkeyAccent, getTurkeyColors, getTurkeyFlagUrl, getTurkeyGradient, getTurkeyHexColor, getTurkeyPalette, getUKAccent, getUKColors, getUKFlagUrl, getUKGradient, getUKHexColor, getUKPalette, getUsAccent, getUsColors, getUsFlagUrl, getUsGradient, getUsHexColor, getUsPalette, getVariants, iosColors, isValidArgentinaProvince, isValidAustraliaState, isValidBrazilState, isValidCanadaProvince, isValidChileRegion, isValidColombiaDepartment, isValidEgyptGovernorate, isValidFranceRegion, isValidGermanyState, isValidIndiaState, isValidIndonesiaProvince, isValidItalyRegion, isValidJapanPrefecture, isValidMexicoState, isValidNetherlandsProvince, isValidNewZealandRegion, isValidNigeriaState, isValidNorwayCounty, isValidPeruDepartment, isValidPhilippinesProvince, isValidPolandVoivodeship, isValidPortugalDistrict, isValidSouthAfricaProvince, isValidSouthKoreaProvince, isValidSpainProvince, isValidSubdivision, isValidSwedenCounty, isValidThailandProvince, isValidTurkeyProvince, isValidUKNation, isValidUsState, listItem, listItemReduced, notificationBanner, notificationBannerReduced, pageControlDot, prefersReducedMotion, registerCountry, registerSubdivisionTheme, resolveGlassAccentRgb, selectIsAuthenticated, selectShowShellChrome, selectUserInitial, selectUserName, shimmerClass, shimmerWhiteClass, slideDown, slideRight, slideUp, springPresets, springPresetsReduced, staggerContainer, swipeActionThreshold, swipeConstraints, useGeoMapState, useNotifications, usePlatformShellStore, usePullToRefresh, validateDashboardSpec, xScale, yScale };
|
|
21052
|
+
//# sourceMappingURL=chunk-7L2ASZLV.mjs.map
|
|
21053
|
+
//# sourceMappingURL=chunk-7L2ASZLV.mjs.map
|