@datatechsolutions/ui 2.11.51 → 2.11.53
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/index.d.mts +2 -18
- package/dist/astrlabe/index.d.ts +2 -18
- package/dist/astrlabe/index.js +142 -185
- package/dist/astrlabe/index.js.map +1 -1
- package/dist/astrlabe/index.mjs +7 -49
- package/dist/astrlabe/index.mjs.map +1 -1
- package/dist/astrlabe/workflow-canvas.js +4 -4
- package/dist/astrlabe/workflow-canvas.mjs +3 -3
- package/dist/{chunk-2IOPJ5BM.js → chunk-5N6QYUAA.js} +363 -3
- package/dist/chunk-5N6QYUAA.js.map +1 -0
- package/dist/{chunk-VZHQMOVM.js → chunk-7LCEP4X5.js} +52 -52
- package/dist/{chunk-VZHQMOVM.js.map → chunk-7LCEP4X5.js.map} +1 -1
- package/dist/{chunk-MDD6H63O.mjs → chunk-GWLWSE2C.mjs} +357 -4
- package/dist/chunk-GWLWSE2C.mjs.map +1 -0
- package/dist/{chunk-XRTBXSQY.mjs → chunk-PEBQWL6R.mjs} +3 -3
- package/dist/{chunk-XRTBXSQY.mjs.map → chunk-PEBQWL6R.mjs.map} +1 -1
- package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +17 -0
- package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +17 -0
- package/dist/index.d.mts +232 -7
- package/dist/index.d.ts +232 -7
- package/dist/index.js +742 -714
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-2IOPJ5BM.js.map +0 -1
- package/dist/chunk-MDD6H63O.mjs.map +0 -1
- package/dist/dynamic-island-confirm-Bw24Ll2r.d.mts +0 -114
- package/dist/dynamic-island-confirm-Bw24Ll2r.d.ts +0 -114
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { triggerHaptic } from './chunk-D2JF6C3E.mjs';
|
|
3
2
|
import { useTranslations, useLocale } from './chunk-7VJ7CMMT.mjs';
|
|
4
3
|
import { useLink, useRouter, usePathname } from './chunk-QWG2FMUN.mjs';
|
|
4
|
+
import { triggerHaptic } from './chunk-D2JF6C3E.mjs';
|
|
5
5
|
import * as Headless6 from '@headlessui/react';
|
|
6
6
|
import { Button as Button$1, Transition, Dialog, TransitionChild, DialogPanel, DialogTitle, DialogBackdrop, Menu, MenuButton, MenuItems, MenuItem } from '@headlessui/react';
|
|
7
7
|
import clsx, { clsx as clsx$1 } from 'clsx';
|
|
@@ -2005,6 +2005,359 @@ function MetricCard({
|
|
|
2005
2005
|
icon && /* @__PURE__ */ jsx("div", { className: `flex h-10 w-10 items-center justify-center rounded-lg ${iconStyles[variant]}`, children: icon })
|
|
2006
2006
|
] }) });
|
|
2007
2007
|
}
|
|
2008
|
+
|
|
2009
|
+
// src/types/chart-spec.ts
|
|
2010
|
+
var DEFAULT_COLORS = [
|
|
2011
|
+
"#6366f1",
|
|
2012
|
+
// indigo-500
|
|
2013
|
+
"#10b981",
|
|
2014
|
+
// emerald-500
|
|
2015
|
+
"#f59e0b",
|
|
2016
|
+
// amber-500
|
|
2017
|
+
"#ef4444",
|
|
2018
|
+
// red-500
|
|
2019
|
+
"#0ea5e9",
|
|
2020
|
+
// sky-500
|
|
2021
|
+
"#8b5cf6"
|
|
2022
|
+
// violet-500
|
|
2023
|
+
];
|
|
2024
|
+
function computeSeries(spec) {
|
|
2025
|
+
return spec.series.map((series, index) => ({
|
|
2026
|
+
name: series.name,
|
|
2027
|
+
color: series.color ?? DEFAULT_COLORS[index % DEFAULT_COLORS.length] ?? DEFAULT_COLORS[0],
|
|
2028
|
+
values: spec.data.map((point) => {
|
|
2029
|
+
const raw = point[series.name];
|
|
2030
|
+
const num = typeof raw === "number" ? raw : Number(raw);
|
|
2031
|
+
return Number.isFinite(num) ? num : 0;
|
|
2032
|
+
})
|
|
2033
|
+
}));
|
|
2034
|
+
}
|
|
2035
|
+
function computeDomain(spec, series) {
|
|
2036
|
+
if (spec.yAxis.domain) return spec.yAxis.domain;
|
|
2037
|
+
const allValues = series.flatMap((row) => row.values);
|
|
2038
|
+
if (allValues.length === 0) return [0, 1];
|
|
2039
|
+
const min = Math.min(...allValues);
|
|
2040
|
+
const max = Math.max(...allValues);
|
|
2041
|
+
if (min === max) {
|
|
2042
|
+
const padded = Math.abs(min) * 0.1 || 1;
|
|
2043
|
+
return [min - padded, max + padded];
|
|
2044
|
+
}
|
|
2045
|
+
const padding = (max - min) * 0.1;
|
|
2046
|
+
return [min - padding, max + padding];
|
|
2047
|
+
}
|
|
2048
|
+
function yScale(value, domain, height) {
|
|
2049
|
+
const [min, max] = domain;
|
|
2050
|
+
if (max === min) return height / 2;
|
|
2051
|
+
const normalized = (value - min) / (max - min);
|
|
2052
|
+
return height - normalized * height;
|
|
2053
|
+
}
|
|
2054
|
+
function xScale(index, count, width) {
|
|
2055
|
+
if (count <= 1) return width / 2;
|
|
2056
|
+
return index / (count - 1) * width;
|
|
2057
|
+
}
|
|
2058
|
+
var MARGIN = { top: 24, right: 16, bottom: 32, left: 48 };
|
|
2059
|
+
function ChartRenderer({ spec, width = 640, height = 280, className }) {
|
|
2060
|
+
const innerWidth = width - MARGIN.left - MARGIN.right;
|
|
2061
|
+
const innerHeight = height - MARGIN.top - MARGIN.bottom;
|
|
2062
|
+
const seriesComputed = computeSeries(spec);
|
|
2063
|
+
const domain = computeDomain(spec, seriesComputed);
|
|
2064
|
+
const count = spec.data.length;
|
|
2065
|
+
const yTicks = buildTicks(domain[0], domain[1], 4);
|
|
2066
|
+
return /* @__PURE__ */ jsxs("figure", { className: className ?? "w-full", children: [
|
|
2067
|
+
/* @__PURE__ */ jsxs("figcaption", { className: "mb-2", children: [
|
|
2068
|
+
/* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold text-slate-900 dark:text-slate-100", children: spec.title }),
|
|
2069
|
+
spec.subtitle && /* @__PURE__ */ jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: spec.subtitle })
|
|
2070
|
+
] }),
|
|
2071
|
+
/* @__PURE__ */ jsx(
|
|
2072
|
+
"svg",
|
|
2073
|
+
{
|
|
2074
|
+
role: "img",
|
|
2075
|
+
"aria-label": spec.title,
|
|
2076
|
+
viewBox: `0 0 ${width} ${height}`,
|
|
2077
|
+
className: "w-full overflow-visible text-slate-600 dark:text-slate-400",
|
|
2078
|
+
children: /* @__PURE__ */ jsxs("g", { transform: `translate(${MARGIN.left},${MARGIN.top})`, children: [
|
|
2079
|
+
yTicks.map((tick) => {
|
|
2080
|
+
const y = yScale(tick, domain, innerHeight);
|
|
2081
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
2082
|
+
/* @__PURE__ */ jsx("line", { x1: 0, x2: innerWidth, y1: y, y2: y, stroke: "currentColor", strokeOpacity: 0.08 }),
|
|
2083
|
+
/* @__PURE__ */ jsx(
|
|
2084
|
+
"text",
|
|
2085
|
+
{
|
|
2086
|
+
x: -8,
|
|
2087
|
+
y,
|
|
2088
|
+
textAnchor: "end",
|
|
2089
|
+
dominantBaseline: "middle",
|
|
2090
|
+
className: "fill-current text-[10px] font-mono",
|
|
2091
|
+
children: formatTick(tick, spec.yAxis.unit)
|
|
2092
|
+
}
|
|
2093
|
+
)
|
|
2094
|
+
] }, `y-${tick}`);
|
|
2095
|
+
}),
|
|
2096
|
+
/* @__PURE__ */ jsx(
|
|
2097
|
+
"line",
|
|
2098
|
+
{
|
|
2099
|
+
x1: 0,
|
|
2100
|
+
x2: innerWidth,
|
|
2101
|
+
y1: innerHeight,
|
|
2102
|
+
y2: innerHeight,
|
|
2103
|
+
stroke: "currentColor",
|
|
2104
|
+
strokeOpacity: 0.2
|
|
2105
|
+
}
|
|
2106
|
+
),
|
|
2107
|
+
count > 0 && renderXLabels(spec.data, count, innerWidth, innerHeight),
|
|
2108
|
+
seriesComputed.map(
|
|
2109
|
+
(series, index) => spec.type === "bar" ? renderBars(series, index, seriesComputed.length, count, domain, innerWidth, innerHeight) : renderLine(series, spec.type, count, domain, innerWidth, innerHeight)
|
|
2110
|
+
),
|
|
2111
|
+
spec.annotations?.map((annotation, index) => {
|
|
2112
|
+
const xIndex = spec.data.findIndex((point) => point.x === annotation.x);
|
|
2113
|
+
if (xIndex < 0) return null;
|
|
2114
|
+
const x = xScale(xIndex, count, innerWidth);
|
|
2115
|
+
const color = annotation.color ?? "#f43f5e";
|
|
2116
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
2117
|
+
/* @__PURE__ */ jsx(
|
|
2118
|
+
"line",
|
|
2119
|
+
{
|
|
2120
|
+
x1: x,
|
|
2121
|
+
x2: x,
|
|
2122
|
+
y1: 0,
|
|
2123
|
+
y2: innerHeight,
|
|
2124
|
+
stroke: color,
|
|
2125
|
+
strokeDasharray: "4 3",
|
|
2126
|
+
strokeWidth: 1
|
|
2127
|
+
}
|
|
2128
|
+
),
|
|
2129
|
+
/* @__PURE__ */ jsx(
|
|
2130
|
+
"text",
|
|
2131
|
+
{
|
|
2132
|
+
x: x + 4,
|
|
2133
|
+
y: 10,
|
|
2134
|
+
fill: color,
|
|
2135
|
+
className: "text-[10px] font-medium",
|
|
2136
|
+
children: annotation.label
|
|
2137
|
+
}
|
|
2138
|
+
)
|
|
2139
|
+
] }, `ann-${index}`);
|
|
2140
|
+
})
|
|
2141
|
+
] })
|
|
2142
|
+
}
|
|
2143
|
+
),
|
|
2144
|
+
/* @__PURE__ */ jsx("ul", { className: "mt-2 flex flex-wrap gap-3 text-xs text-slate-600 dark:text-slate-400", children: seriesComputed.map((series) => /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-1.5", children: [
|
|
2145
|
+
/* @__PURE__ */ jsx(
|
|
2146
|
+
"span",
|
|
2147
|
+
{
|
|
2148
|
+
className: "inline-block h-2 w-2 rounded-full",
|
|
2149
|
+
style: { backgroundColor: series.color },
|
|
2150
|
+
"aria-hidden": true
|
|
2151
|
+
}
|
|
2152
|
+
),
|
|
2153
|
+
/* @__PURE__ */ jsx("span", { children: series.name })
|
|
2154
|
+
] }, series.name)) })
|
|
2155
|
+
] });
|
|
2156
|
+
}
|
|
2157
|
+
function buildTicks(min, max, count) {
|
|
2158
|
+
const step = (max - min) / (count - 1);
|
|
2159
|
+
const ticks = [];
|
|
2160
|
+
for (let index = 0; index < count; index += 1) {
|
|
2161
|
+
ticks.push(min + step * index);
|
|
2162
|
+
}
|
|
2163
|
+
return ticks;
|
|
2164
|
+
}
|
|
2165
|
+
function formatTick(value, unit) {
|
|
2166
|
+
const formatted = Math.abs(value) >= 1e3 ? value.toFixed(0) : value.toFixed(Math.abs(value) < 10 ? 2 : 1);
|
|
2167
|
+
return unit ? `${formatted}${unit}` : formatted;
|
|
2168
|
+
}
|
|
2169
|
+
function renderXLabels(data, count, width, height) {
|
|
2170
|
+
const indexes = count > 6 ? [0, Math.floor(count / 3), Math.floor(2 * count / 3), count - 1] : Array.from({ length: count }, (_, index) => index);
|
|
2171
|
+
return indexes.map((index) => {
|
|
2172
|
+
const x = xScale(index, count, width);
|
|
2173
|
+
const label = String(data[index]?.x ?? "");
|
|
2174
|
+
return /* @__PURE__ */ jsx(
|
|
2175
|
+
"text",
|
|
2176
|
+
{
|
|
2177
|
+
x,
|
|
2178
|
+
y: height + 16,
|
|
2179
|
+
textAnchor: "middle",
|
|
2180
|
+
className: "fill-current text-[10px] font-mono",
|
|
2181
|
+
children: label
|
|
2182
|
+
},
|
|
2183
|
+
`x-${index}`
|
|
2184
|
+
);
|
|
2185
|
+
});
|
|
2186
|
+
}
|
|
2187
|
+
function renderLine(series, type, count, domain, width, height) {
|
|
2188
|
+
const points = series.values.map((value, index) => ({
|
|
2189
|
+
x: xScale(index, count, width),
|
|
2190
|
+
y: yScale(value, domain, height)
|
|
2191
|
+
}));
|
|
2192
|
+
const linePath = points.reduce((acc, point, index) => index === 0 ? `M${point.x},${point.y}` : `${acc} L${point.x},${point.y}`, "");
|
|
2193
|
+
const areaPath = type === "area" && points.length > 0 ? `${linePath} L${points[points.length - 1]?.x ?? 0},${height} L${points[0]?.x ?? 0},${height} Z` : null;
|
|
2194
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
2195
|
+
areaPath && /* @__PURE__ */ jsx("path", { d: areaPath, fill: series.color, fillOpacity: 0.15 }),
|
|
2196
|
+
/* @__PURE__ */ jsx("path", { d: linePath, stroke: series.color, strokeWidth: 2, fill: "none" }),
|
|
2197
|
+
points.map((point, index) => /* @__PURE__ */ jsx("circle", { cx: point.x, cy: point.y, r: 2.5, fill: series.color }, `${series.name}-${index}`))
|
|
2198
|
+
] }, series.name);
|
|
2199
|
+
}
|
|
2200
|
+
function renderBars(series, seriesIndex, seriesCount, count, domain, width, height) {
|
|
2201
|
+
const slot = count > 1 ? width / (count - 1) : width;
|
|
2202
|
+
const barWidth = Math.max(2, slot * 0.8 / seriesCount);
|
|
2203
|
+
const offset = seriesCount * barWidth / 2;
|
|
2204
|
+
return /* @__PURE__ */ jsx("g", { children: series.values.map((value, index) => {
|
|
2205
|
+
const cx = xScale(index, count, width);
|
|
2206
|
+
const barX = cx - offset + seriesIndex * barWidth;
|
|
2207
|
+
const y = yScale(value, domain, height);
|
|
2208
|
+
const barHeight = height - y;
|
|
2209
|
+
return /* @__PURE__ */ jsx(
|
|
2210
|
+
"rect",
|
|
2211
|
+
{
|
|
2212
|
+
x: barX,
|
|
2213
|
+
y,
|
|
2214
|
+
width: barWidth,
|
|
2215
|
+
height: Math.max(0, barHeight),
|
|
2216
|
+
fill: series.color,
|
|
2217
|
+
fillOpacity: 0.85,
|
|
2218
|
+
rx: 2
|
|
2219
|
+
},
|
|
2220
|
+
`${series.name}-${index}`
|
|
2221
|
+
);
|
|
2222
|
+
}) }, series.name);
|
|
2223
|
+
}
|
|
2224
|
+
function DashboardView({ spec, className }) {
|
|
2225
|
+
const layout = spec.layout ?? "grid";
|
|
2226
|
+
const hasCharts = (spec.charts?.length ?? 0) > 0;
|
|
2227
|
+
const chartGrid = layout === "grid" && (spec.charts?.length ?? 0) > 1 ? "grid grid-cols-1 gap-4 lg:grid-cols-2" : "grid grid-cols-1 gap-4";
|
|
2228
|
+
return /* @__PURE__ */ jsxs("div", { className: className ?? "space-y-6", children: [
|
|
2229
|
+
/* @__PURE__ */ jsxs("header", { children: [
|
|
2230
|
+
/* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold text-slate-900 dark:text-slate-100", children: spec.title }),
|
|
2231
|
+
spec.subtitle && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-slate-500 dark:text-slate-400", children: spec.subtitle })
|
|
2232
|
+
] }),
|
|
2233
|
+
spec.kpis && spec.kpis.length > 0 && /* @__PURE__ */ jsx(
|
|
2234
|
+
"section",
|
|
2235
|
+
{
|
|
2236
|
+
className: spec.kpis.length > 3 ? "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4" : "grid grid-cols-1 gap-3 sm:grid-cols-3",
|
|
2237
|
+
children: spec.kpis.map((kpi, index) => /* @__PURE__ */ jsx(KpiCard, { kpi }, `${kpi.label}-${index}`))
|
|
2238
|
+
}
|
|
2239
|
+
),
|
|
2240
|
+
hasCharts && /* @__PURE__ */ jsx("section", { className: chartGrid, children: spec.charts?.map((chart, index) => /* @__PURE__ */ jsx(
|
|
2241
|
+
"div",
|
|
2242
|
+
{
|
|
2243
|
+
className: "rounded-xl border border-zinc-950/10 bg-white p-4 dark:border-white/10 dark:bg-zinc-900",
|
|
2244
|
+
children: /* @__PURE__ */ jsx(ChartRenderer, { spec: chart })
|
|
2245
|
+
},
|
|
2246
|
+
`${chart.title}-${index}`
|
|
2247
|
+
)) }),
|
|
2248
|
+
spec.table && spec.table.rows.length > 0 && /* @__PURE__ */ jsxs("section", { className: "rounded-xl border border-zinc-950/10 bg-white dark:border-white/10 dark:bg-zinc-900", children: [
|
|
2249
|
+
spec.table.title && /* @__PURE__ */ jsx("h3", { className: "border-b border-zinc-950/10 px-5 py-3 text-sm font-semibold text-slate-900 dark:border-white/10 dark:text-slate-100", children: spec.table.title }),
|
|
2250
|
+
/* @__PURE__ */ jsx(DashboardTableView, { table: spec.table })
|
|
2251
|
+
] }),
|
|
2252
|
+
spec.recommendation && spec.recommendation.trim().length > 0 && /* @__PURE__ */ jsxs("section", { className: "rounded-xl border border-indigo-500/20 bg-indigo-500/5 p-4 dark:border-indigo-400/30 dark:bg-indigo-500/10", children: [
|
|
2253
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-indigo-700 dark:text-indigo-300", children: "Recommendation" }),
|
|
2254
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-indigo-900 dark:text-indigo-100", children: spec.recommendation })
|
|
2255
|
+
] }),
|
|
2256
|
+
spec.meta && Object.keys(spec.meta).length > 0 && /* @__PURE__ */ jsx("footer", { className: "flex flex-wrap gap-4 text-[10px] text-slate-400 dark:text-slate-500", children: Object.entries(spec.meta).map(([key, value]) => /* @__PURE__ */ jsxs("span", { children: [
|
|
2257
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold uppercase tracking-wide", children: key }),
|
|
2258
|
+
": ",
|
|
2259
|
+
value
|
|
2260
|
+
] }, key)) })
|
|
2261
|
+
] });
|
|
2262
|
+
}
|
|
2263
|
+
function KpiCard({ kpi }) {
|
|
2264
|
+
const value = typeof kpi.value === "number" ? formatNumber(kpi.value) : kpi.value;
|
|
2265
|
+
const displayValue = kpi.unit ? `${value}${kpi.unit}` : value;
|
|
2266
|
+
const variant = kpi.tone ?? "default";
|
|
2267
|
+
return /* @__PURE__ */ jsx(
|
|
2268
|
+
MetricCard,
|
|
2269
|
+
{
|
|
2270
|
+
title: kpi.label,
|
|
2271
|
+
value: displayValue,
|
|
2272
|
+
variant,
|
|
2273
|
+
trend: kpi.deltaPct !== void 0 ? { value: kpi.deltaPct } : void 0
|
|
2274
|
+
}
|
|
2275
|
+
);
|
|
2276
|
+
}
|
|
2277
|
+
function DashboardTableView({ table }) {
|
|
2278
|
+
return /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "min-w-full divide-y divide-zinc-200 text-sm dark:divide-zinc-700", children: [
|
|
2279
|
+
/* @__PURE__ */ jsx("thead", { className: "bg-zinc-50 dark:bg-zinc-800/50", children: /* @__PURE__ */ jsx("tr", { children: table.columns.map((column) => /* @__PURE__ */ jsx(
|
|
2280
|
+
"th",
|
|
2281
|
+
{
|
|
2282
|
+
scope: "col",
|
|
2283
|
+
className: `px-4 py-2 text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 ${columnAlign(column.align)}`,
|
|
2284
|
+
children: column.label
|
|
2285
|
+
},
|
|
2286
|
+
column.key
|
|
2287
|
+
)) }) }),
|
|
2288
|
+
/* @__PURE__ */ jsx("tbody", { className: "divide-y divide-zinc-100 dark:divide-zinc-800", children: table.rows.map((row, rowIndex) => /* @__PURE__ */ jsx("tr", { className: "hover:bg-zinc-50/70 dark:hover:bg-zinc-800/30", children: table.columns.map((column) => {
|
|
2289
|
+
const raw = row[column.key] ?? "";
|
|
2290
|
+
return /* @__PURE__ */ jsx(
|
|
2291
|
+
"td",
|
|
2292
|
+
{
|
|
2293
|
+
className: `px-4 py-2 text-slate-700 dark:text-slate-300 ${columnAlign(column.align)}`,
|
|
2294
|
+
children: formatCell(raw, column.format)
|
|
2295
|
+
},
|
|
2296
|
+
column.key
|
|
2297
|
+
);
|
|
2298
|
+
}) }, rowIndex)) })
|
|
2299
|
+
] }) });
|
|
2300
|
+
}
|
|
2301
|
+
function columnAlign(align) {
|
|
2302
|
+
if (align === "right") return "text-right";
|
|
2303
|
+
if (align === "center") return "text-center";
|
|
2304
|
+
return "text-left";
|
|
2305
|
+
}
|
|
2306
|
+
function formatCell(value, format3) {
|
|
2307
|
+
if (value === null || value === void 0 || value === "") return "\u2014";
|
|
2308
|
+
if (format3 === "currency" && typeof value === "number") {
|
|
2309
|
+
return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(value);
|
|
2310
|
+
}
|
|
2311
|
+
if (format3 === "percent" && typeof value === "number") {
|
|
2312
|
+
return `${(value * 100).toFixed(1)}%`;
|
|
2313
|
+
}
|
|
2314
|
+
if (format3 === "number" && typeof value === "number") {
|
|
2315
|
+
return formatNumber(value);
|
|
2316
|
+
}
|
|
2317
|
+
return String(value);
|
|
2318
|
+
}
|
|
2319
|
+
function formatNumber(value) {
|
|
2320
|
+
if (Math.abs(value) >= 1e3) return new Intl.NumberFormat("en-US").format(Math.round(value));
|
|
2321
|
+
return value.toFixed(Math.abs(value) < 10 ? 2 : 1);
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
// src/types/dashboard-spec.ts
|
|
2325
|
+
function validateDashboardSpec(spec) {
|
|
2326
|
+
const issues = [];
|
|
2327
|
+
const hasCharts = (spec.charts?.length ?? 0) > 0;
|
|
2328
|
+
const hasKpis = (spec.kpis?.length ?? 0) > 0;
|
|
2329
|
+
const hasTable = (spec.table?.rows.length ?? 0) > 0;
|
|
2330
|
+
const hasRecommendation = Boolean(spec.recommendation?.trim());
|
|
2331
|
+
if (!hasCharts && !hasKpis && !hasTable && !hasRecommendation) {
|
|
2332
|
+
issues.push({ kind: "empty", message: "Dashboard has no content (no charts, KPIs, table, or recommendation)." });
|
|
2333
|
+
}
|
|
2334
|
+
spec.charts?.forEach((chart, chartIndex) => {
|
|
2335
|
+
if (chart.series.length === 0) {
|
|
2336
|
+
issues.push({
|
|
2337
|
+
kind: "chartSeriesMissing",
|
|
2338
|
+
chartIndex,
|
|
2339
|
+
message: `Chart "${chart.title}" has no series.`
|
|
2340
|
+
});
|
|
2341
|
+
}
|
|
2342
|
+
});
|
|
2343
|
+
if (spec.table) {
|
|
2344
|
+
const columnKeys = new Set(spec.table.columns.map((column) => column.key));
|
|
2345
|
+
const reported = /* @__PURE__ */ new Set();
|
|
2346
|
+
for (const row of spec.table.rows) {
|
|
2347
|
+
for (const key of Object.keys(row)) {
|
|
2348
|
+
if (!columnKeys.has(key) && !reported.has(key)) {
|
|
2349
|
+
reported.add(key);
|
|
2350
|
+
issues.push({
|
|
2351
|
+
kind: "tableColumnMissing",
|
|
2352
|
+
column: key,
|
|
2353
|
+
message: `Table row references column "${key}" not declared in columns.`
|
|
2354
|
+
});
|
|
2355
|
+
}
|
|
2356
|
+
}
|
|
2357
|
+
}
|
|
2358
|
+
}
|
|
2359
|
+
return issues;
|
|
2360
|
+
}
|
|
2008
2361
|
function AgentAnalysisCard({ name, avatar, duration, output }) {
|
|
2009
2362
|
return /* @__PURE__ */ jsxs("div", { className: "liquid-surface rounded-xl p-3 transition-all duration-300", children: [
|
|
2010
2363
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-1.5", children: [
|
|
@@ -20156,6 +20509,6 @@ function SkipToContent({
|
|
|
20156
20509
|
);
|
|
20157
20510
|
}
|
|
20158
20511
|
|
|
20159
|
-
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, ChipPicker, CircularRefreshIndicator, Code, CollapsibleGroupedList, CompactSegmentedControl, ContactCard, ContactSection, Container, ContextMenu, CookieConsent, CopyableId, CountPill, CreateActionButton, DE_THEME_CONFIG, DashboardProgressShell, 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, 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 };
|
|
20160
|
-
//# sourceMappingURL=chunk-
|
|
20161
|
-
//# sourceMappingURL=chunk-
|
|
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-GWLWSE2C.mjs.map
|
|
20514
|
+
//# sourceMappingURL=chunk-GWLWSE2C.mjs.map
|