@bpfdev/oly-ui 1.0.16 → 1.0.18

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/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { SxProps, Theme, ButtonProps } from '@mui/material';
2
+ import { SxProps, Theme, ButtonProps, TooltipProps, PopoverProps } from '@mui/material';
3
3
  import * as React$1 from 'react';
4
- import React__default, { ReactNode, ReactElement, CSSProperties } from 'react';
4
+ import React__default, { ReactNode, ReactElement, CSSProperties, ElementType } from 'react';
5
5
  import { SxProps as SxProps$1, Theme as Theme$1 } from '@mui/material/styles';
6
6
  import { TooltipContentProps } from 'recharts';
7
7
  import { GridColDef } from '@mui/x-data-grid';
@@ -1049,12 +1049,502 @@ interface JourneyMetricCardProps {
1049
1049
  */
1050
1050
  declare function JourneyMetricCard({ label, labelColor, labelFontSize, labelFontWeight, value, valueColor, valueFontSize, valueFontWeight, textAlign, isLoading, sx, }: JourneyMetricCardProps): react_jsx_runtime.JSX.Element;
1051
1051
 
1052
+ /**
1053
+ * `danger` — red shell + red status badge (e.g. "Over Crowding"). `normal` — green shell + green
1054
+ * status badge. `inactive` — gray shell (top border only) + gray status badge (e.g. "Inactive").
1055
+ * `custom` — a neutral gray palette with no built-in meaning, for callers who want to drive every
1056
+ * color entirely from `customization` instead of picking one of the three named variants.
1057
+ */
1058
+ type CounterStatusOverviewCardsVariant = 'normal' | 'danger' | 'inactive' | 'custom';
1059
+ interface CounterStatusOverviewCardsStat {
1060
+ key: string;
1061
+ /** e.g. "Served Today", "Avg. Queue Time". */
1062
+ label: string;
1063
+ value: string | number;
1064
+ /** Shows a warning icon next to the value (e.g. an over-threshold queue). Default: **false**. */
1065
+ showWarningIcon?: boolean;
1066
+ /** Replaces the default warning triangle when `showWarningIcon` is true. */
1067
+ warningIcon?: ReactNode;
1068
+ }
1069
+ /** Per-area style overrides — every field falls back to the `variant`'s default color/size. */
1070
+ interface CounterStatusOverviewCardsCustomization {
1071
+ /** Outer card shell. */
1072
+ card?: {
1073
+ background?: string;
1074
+ /** Border color. Applied per `borderSide`. */
1075
+ borderColor?: string;
1076
+ /** Which side(s) the card border is drawn on. Default: **'all'** (`'top'` for the `inactive` variant). */
1077
+ borderSide?: 'all' | 'top';
1078
+ /** Default: **2** (px). */
1079
+ borderWidth?: number | string;
1080
+ /** Default: **14** (px). */
1081
+ borderRadius?: number | string;
1082
+ /** Default: **16** (px). */
1083
+ padding?: number | string;
1084
+ /** Default: **420** (px). */
1085
+ width?: number | string;
1086
+ /** Default: **124** (px). */
1087
+ height?: number | string;
1088
+ /** Default: **`'"Neue Haas Grotesk Display Pro", "Noto Sans", "Roboto", "Public Sans", sans-serif'`** — applied to every text element in the card. */
1089
+ fontFamily?: string;
1090
+ /** CSS `box-shadow`. Unset by default. */
1091
+ boxShadow?: string;
1092
+ /** Background while hovered — only takes effect when `onClick` is set. */
1093
+ hoverBackground?: string;
1094
+ /** Border color while hovered — only takes effect when `onClick` is set. */
1095
+ hoverBorderColor?: string;
1096
+ sx?: SxProps$1<Theme$1>;
1097
+ };
1098
+ /** The status pill (top-right), e.g. "Over Crowding" / "Normal". */
1099
+ badge?: {
1100
+ background?: string;
1101
+ textColor?: string;
1102
+ borderTopColor?: string;
1103
+ borderTopWidth?: number | string;
1104
+ /** Default: **12** (px). */
1105
+ fontSize?: number | string;
1106
+ /** Default: **600**. */
1107
+ fontWeight?: number | string;
1108
+ /** Default: **8** (px). */
1109
+ borderRadius?: number | string;
1110
+ /**
1111
+ * Caps how wide the badge can grow before its text is truncated with an ellipsis — keeps a
1112
+ * long `statusLabel` from pushing past the card's right edge. Default: **'55%'** (of the
1113
+ * card's content width). Set to `'none'` to disable truncation entirely.
1114
+ */
1115
+ maxWidth?: number | string;
1116
+ sx?: SxProps$1<Theme$1>;
1117
+ };
1118
+ /** The rounded square showing `counterNumber` (top-left). */
1119
+ counterNumberBox?: {
1120
+ background?: string;
1121
+ textColor?: string;
1122
+ /** Default: **36** (px) — a floor, not a fixed size: the box grows wider (never shorter) to fit multi-digit `counterNumber` values without clipping. */
1123
+ size?: number;
1124
+ /** Default: **10** (px). */
1125
+ borderRadius?: number | string;
1126
+ /** Default: **20** (px). */
1127
+ fontSize?: number | string;
1128
+ /** Default: **600**. */
1129
+ fontWeight?: number | string;
1130
+ /** Horizontal padding applied once the number is wide enough to grow the box past `size`. Default: **4** (px). */
1131
+ paddingX?: number | string;
1132
+ sx?: SxProps$1<Theme$1>;
1133
+ };
1134
+ /** `title` text (e.g. "Counter 3"). */
1135
+ title?: {
1136
+ /** Default: **#101828**. */
1137
+ color?: string;
1138
+ /** Default: **14** (px). */
1139
+ fontSize?: number | string;
1140
+ /** Default: **600**. */
1141
+ fontWeight?: number | string;
1142
+ sx?: SxProps$1<Theme$1>;
1143
+ };
1144
+ /** `cameraId` text (e.g. "CAM-061"). */
1145
+ cameraId?: {
1146
+ /** Default: **#6A7282**. */
1147
+ color?: string;
1148
+ /** Default: **12** (px). */
1149
+ fontSize?: number | string;
1150
+ /** Default: **500**. */
1151
+ fontWeight?: number | string;
1152
+ sx?: SxProps$1<Theme$1>;
1153
+ };
1154
+ /** The 4-column stat row + vertical dividers. */
1155
+ stats?: {
1156
+ /** Default: **#6A7282**. */
1157
+ labelColor?: string;
1158
+ /** Default: **12** (px). */
1159
+ labelFontSize?: number | string;
1160
+ /** Default: **#101828**. */
1161
+ valueColor?: string;
1162
+ /** Default: **14** (px). */
1163
+ valueFontSize?: number | string;
1164
+ /** Default: **#0000001A**. */
1165
+ dividerColor?: string;
1166
+ /** Divider thickness. Default: **1** (px). */
1167
+ dividerWidth?: number | string;
1168
+ /** Divider height. Default: **36** (px). */
1169
+ dividerHeight?: number | string;
1170
+ /** Color of the default warning triangle icon (ignored when a stat sets its own `warningIcon`). Default: **#ED1C24**. */
1171
+ warningIconColor?: string;
1172
+ /** Size of the default warning triangle icon. Default: **16** (px). */
1173
+ warningIconSize?: number;
1174
+ sx?: SxProps$1<Theme$1>;
1175
+ };
1176
+ /** Spacing between the card's internal areas — everything not already covered by a named area's own padding/gap. */
1177
+ layout?: {
1178
+ /** Gap between the header row (number/title/badge) and the stats row. Default: **16** (px). */
1179
+ contentGap?: number | string;
1180
+ /** Gap between the counter-number box and the title/cameraId column. Default: **12** (px). */
1181
+ headerGap?: number | string;
1182
+ /** Gap between the title and cameraId lines. Default: **2** (px). */
1183
+ titleGap?: number | string;
1184
+ /** Gap between adjacent stat columns (and their divider). Default: **12** (px). */
1185
+ statsGap?: number | string;
1186
+ };
1187
+ }
1188
+ interface CounterStatusOverviewCardsProps {
1189
+ /** Selects the red/"danger", green/"normal", or gray/"inactive" default palette for the card, badge, and number box. */
1190
+ variant: CounterStatusOverviewCardsVariant;
1191
+ /** Number shown inside the rounded square (top-left), e.g. `3`. */
1192
+ counterNumber: number | string;
1193
+ /** e.g. "Counter 3". */
1194
+ title: string;
1195
+ /** e.g. "CAM-061". */
1196
+ cameraId: string;
1197
+ /** Status pill text, e.g. "Over Crowding" or "Normal". */
1198
+ statusLabel: string;
1199
+ /** Exactly the 4 stat columns shown under the header (e.g. Served Today / Avg. Queue Time / Current Queue / Alerts Generated). */
1200
+ stats: CounterStatusOverviewCardsStat[];
1201
+ /** Makes the whole card clickable — adds `cursor: pointer` and enables `customization.card.hoverBackground`/`hoverBorderColor`. */
1202
+ onClick?: () => void;
1203
+ /** Extra root styles — merges last. */
1204
+ sx?: SxProps$1<Theme$1>;
1205
+ /** Per-area style overrides — see `CounterStatusOverviewCardsCustomization`. */
1206
+ customization?: CounterStatusOverviewCardsCustomization;
1207
+ }
1208
+
1209
+ /**
1210
+ * **CounterStatusOverviewCards** — a single status card for a billing/service counter: a numbered
1211
+ * badge, counter name + camera id, a status pill (`Normal` / `Over Crowding` / any custom text),
1212
+ * and a 4-column stat row (e.g. Served Today, Avg. Queue Time, Current Queue, Alerts Generated)
1213
+ * separated by vertical dividers. `variant` selects the red ("danger"), green ("normal"), or
1214
+ * gray ("inactive") default palette for the card shell, badge, and counter-number box — every
1215
+ * color is still overridable per-area via `customization`.
1216
+ */
1217
+ declare function CounterStatusOverviewCards({ variant, counterNumber, title, cameraId, statusLabel, stats, onClick, sx, customization, }: CounterStatusOverviewCardsProps): React$1.ReactElement;
1218
+
1219
+ /** `danger` tints the whole row red (matches `CounterStatusOverviewCards`'s danger card); `normal` is the default white row. */
1220
+ type CounterStatusOverviewTableRowVariant = 'normal' | 'danger';
1221
+ /** `danger` = red pill; `normal` = green pill. */
1222
+ type CounterStatusOverviewTableQueuePillVariant = 'normal' | 'danger';
1223
+ interface CounterStatusOverviewTableQueuePill {
1224
+ count: number | string;
1225
+ /** Appended after `count`, e.g. `"people"`. Default: **'people'**. */
1226
+ unitLabel?: string;
1227
+ variant: CounterStatusOverviewTableQueuePillVariant;
1228
+ }
1229
+ /** `danger` = red status pill (default); `normal` = green status pill. */
1230
+ type CounterStatusOverviewTableDetailStatusVariant = 'normal' | 'danger';
1231
+ /** Data shown in the counter-details modal opened by a row's eye icon. */
1232
+ interface CounterStatusOverviewTableRowDetails {
1233
+ /** Modal heading. Defaults to `"Counter {n}"`, derived from the row's `counterNumber`. */
1234
+ title?: string;
1235
+ /** Camera snapshot rendered at the top of the modal. Omit to render the modal without an image. */
1236
+ imageUrl?: string;
1237
+ imageAlt?: string;
1238
+ /** Status pill text, e.g. `"Over Crowding"`. */
1239
+ status: string;
1240
+ /** Default: **'danger'**. */
1241
+ statusVariant?: CounterStatusOverviewTableDetailStatusVariant;
1242
+ servedToday: string | number;
1243
+ /** e.g. `"8 mins"`. */
1244
+ avgWaitTime: string | number;
1245
+ queueLength: string | number;
1246
+ /** Tints `queueLength` red with a warning icon. Default: **false**. */
1247
+ queueLengthWarning?: boolean;
1248
+ }
1249
+ /** One extra action icon rendered alongside the default eye/view icon in the Action column. */
1250
+ interface CounterStatusOverviewTableRowAction {
1251
+ key: string;
1252
+ icon: ReactNode;
1253
+ onClick: () => void;
1254
+ ariaLabel: string;
1255
+ }
1256
+ interface CounterStatusOverviewTableRow {
1257
+ key: string;
1258
+ /** e.g. `"#3"`. */
1259
+ counterNumber: string | number;
1260
+ /** e.g. `"CAM-010"`. */
1261
+ cameraId: string;
1262
+ totalServed: string | number;
1263
+ /** e.g. `"6 min"`. */
1264
+ avgQueueTime: string;
1265
+ alertsGenerated: string | number;
1266
+ currentQueue: CounterStatusOverviewTableQueuePill;
1267
+ /** e.g. `"Active"`. */
1268
+ status: string;
1269
+ /** Row-level highlight. Default: **'normal'**. */
1270
+ variant?: CounterStatusOverviewTableRowVariant;
1271
+ /** Called when the row's action icon is clicked. Omit to render the icon without a click handler. */
1272
+ onActionClick?: () => void;
1273
+ /** When present, clicking the row's eye icon opens the counter-details modal populated with this data. */
1274
+ details?: CounterStatusOverviewTableRowDetails;
1275
+ /** Additional action icons rendered after the default eye/view icon, in order. */
1276
+ extraActions?: CounterStatusOverviewTableRowAction[];
1277
+ /**
1278
+ * Per-column custom cell renderer for this row — takes over that column's cell content
1279
+ * entirely (the default `Typography`/pill/icon for that column is skipped). Keyed the same as
1280
+ * `CounterStatusOverviewTableColumnWidths`.
1281
+ */
1282
+ renderCell?: Partial<Record<CounterStatusOverviewTableColumnKey, () => ReactNode>>;
1283
+ }
1284
+ /** The eight column keys, in their default left-to-right order. */
1285
+ type CounterStatusOverviewTableColumnKey = 'counter' | 'camera' | 'totalServed' | 'avgQueueTime' | 'alertsGenerated' | 'currentQueue' | 'status' | 'action';
1286
+ /** Per-column width (px). Every column defaults to the Figma spec's exact value; the eight together sum to 1288 — `customization.root.width`'s default. */
1287
+ interface CounterStatusOverviewTableColumnWidths {
1288
+ /** Default: **86**. */
1289
+ counter?: number;
1290
+ /** Default: **192.8**. */
1291
+ camera?: number;
1292
+ /** Default: **192.8**. */
1293
+ totalServed?: number;
1294
+ /** Default: **192.8**. */
1295
+ avgQueueTime?: number;
1296
+ /** Default: **192.8**. */
1297
+ alertsGenerated?: number;
1298
+ /** Default: **192.8**. */
1299
+ currentQueue?: number;
1300
+ /** Default: **142**. */
1301
+ status?: number;
1302
+ /** Default: **96**. */
1303
+ action?: number;
1304
+ }
1305
+ /** `'asc'` / `'desc'` sort direction for the currently sorted column. */
1306
+ type CounterStatusOverviewTableSortDirection = 'asc' | 'desc';
1307
+ interface CounterStatusOverviewTableCustomization {
1308
+ /**
1309
+ * The single grid-line color shared by every divider in the table — header/body boundary,
1310
+ * every column divider, and every row-to-row divider, including the Status column. The whole
1311
+ * table renders as one CSS Grid sharing one set of column/row tracks (not a separate grid per
1312
+ * row), and each boundary is drawn by exactly one cell (the left cell's `borderRight`, the
1313
+ * upper cell's `borderBottom`), so every line renders at the same 1px thickness everywhere.
1314
+ * Default: **#D8D8D8**.
1315
+ */
1316
+ gridLineColor?: string;
1317
+ /** Outer table shell. */
1318
+ root?: {
1319
+ /** Default: **1288** (px) — the sum of the column widths. */
1320
+ width?: number | string;
1321
+ /** Default: **186** (px) — header height + (row height × row count) at the default 3 rows. */
1322
+ height?: number | string;
1323
+ /** Default: **8** (px). */
1324
+ borderRadius?: number | string;
1325
+ /** Default: **#E9E9F0**. */
1326
+ borderColor?: string;
1327
+ /** Default: **`'"Neue Haas Grotesk Display Pro", "Noto Sans", "Roboto", "Public Sans", sans-serif'`** — applied to every piece of text in the table (header, cells, detail modal). */
1328
+ fontFamily?: string;
1329
+ sx?: SxProps$1<Theme$1>;
1330
+ };
1331
+ /** Header row (column titles). */
1332
+ header?: {
1333
+ /** Default: **48** (px). */
1334
+ height?: number | string;
1335
+ /** Default: **#F1F1F5**. */
1336
+ background?: string;
1337
+ /** Default: **#444444**. */
1338
+ textColor?: string;
1339
+ /** Default: **13** (px). */
1340
+ fontSize?: number | string;
1341
+ /** Default: **600**. */
1342
+ fontWeight?: number | string;
1343
+ /**
1344
+ * Columns whose header is clickable to sort the rows (ascending, then descending). Unset by
1345
+ * default — no column is sortable unless listed here.
1346
+ */
1347
+ sortableColumns?: CounterStatusOverviewTableColumnKey[];
1348
+ /** Color of the sort direction arrow shown on the active sorted column. Defaults to `textColor`. */
1349
+ sortIconColor?: string;
1350
+ /** Extra styles merged onto every header cell. */
1351
+ sx?: SxProps$1<Theme$1>;
1352
+ };
1353
+ /** Body rows. */
1354
+ row?: {
1355
+ /** Default: **46** (px). */
1356
+ height?: number | string;
1357
+ /** `variant: 'danger'` row background. Default: **#FEF2F2**. */
1358
+ dangerBackground?: string;
1359
+ /** Default (non-`danger`) row background. Default: **#FFFFFF**. */
1360
+ normalBackground?: string;
1361
+ /** Row background while hovered. Unset by default (no hover effect). */
1362
+ hoverBackground?: string;
1363
+ /** Counter number cell (e.g. "#3"). Default: **#242424**. */
1364
+ counterTextColor?: string;
1365
+ /** Default: **13** (px). */
1366
+ counterFontSize?: number | string;
1367
+ /** Default: **600**. */
1368
+ counterFontWeight?: number | string;
1369
+ /** Camera / Total Served / Avg. Queue Time / Alerts Generated cells. Default: **#444444**. */
1370
+ cellTextColor?: string;
1371
+ /** Default: **13** (px). */
1372
+ cellFontSize?: number | string;
1373
+ /** Default: **600**. */
1374
+ cellFontWeight?: number | string;
1375
+ /** Status column cell background. Default: **#F0FDF4**. */
1376
+ statusBackground?: string;
1377
+ /** Default: **#008236**. */
1378
+ statusTextColor?: string;
1379
+ /** Default: **13** (px). */
1380
+ statusFontSize?: number | string;
1381
+ /** Default: **600**. */
1382
+ statusFontWeight?: number | string;
1383
+ /** Extra styles merged onto every cell in every body row. */
1384
+ sx?: SxProps$1<Theme$1>;
1385
+ };
1386
+ /** The rounded "N people" pill in the Current Queue column. */
1387
+ queuePill?: {
1388
+ /** `variant: 'danger'`. Default: **#ED1C24**. */
1389
+ dangerBackground?: string;
1390
+ /** `variant: 'normal'`. Default: **#4EAF51**. */
1391
+ normalBackground?: string;
1392
+ /** Default: **#FFFFFF**. */
1393
+ textColor?: string;
1394
+ /** Default: **11** (px). */
1395
+ fontSize?: number | string;
1396
+ /** Default: **600**. */
1397
+ fontWeight?: number | string;
1398
+ /** Default: **100** (px) — fully rounded. */
1399
+ borderRadius?: number | string;
1400
+ sx?: SxProps$1<Theme$1>;
1401
+ };
1402
+ /** The Action column's eye icon button. */
1403
+ actionIcon?: {
1404
+ /** Default: **24** (px). */
1405
+ size?: number;
1406
+ /** Default: **#0A0A0A**. */
1407
+ color?: string;
1408
+ };
1409
+ /** Per-column widths — see `CounterStatusOverviewTableColumnWidths`. */
1410
+ columns?: CounterStatusOverviewTableColumnWidths;
1411
+ /**
1412
+ * Left-to-right column order. Default: `['counter', 'camera', 'totalServed', 'avgQueueTime',
1413
+ * 'alertsGenerated', 'currentQueue', 'status', 'action']`. Any key omitted from this array is
1414
+ * still subject to `columnVisibility` but renders in its default relative position.
1415
+ */
1416
+ columnOrder?: CounterStatusOverviewTableColumnKey[];
1417
+ /** Per-column visibility. Every column defaults to **visible**; set a key to `false` to hide it. */
1418
+ columnVisibility?: Partial<Record<CounterStatusOverviewTableColumnKey, boolean>>;
1419
+ /** Per-column text alignment (header + body cells). Default: **'center'** for every column. */
1420
+ columnAlign?: Partial<Record<CounterStatusOverviewTableColumnKey, 'left' | 'center' | 'right'>>;
1421
+ /** Shown instead of the grid body when `rows` is empty. */
1422
+ emptyState?: {
1423
+ /** Default: **'No data found'**. */
1424
+ label?: string;
1425
+ /** Rendered above the label. */
1426
+ icon?: ReactNode;
1427
+ sx?: SxProps$1<Theme$1>;
1428
+ };
1429
+ /** The counter-details modal opened by a row's eye icon (only when that row has `details`). */
1430
+ detailModal?: {
1431
+ /** Default: **518** (px). */
1432
+ width?: number | string;
1433
+ /** Default: **20** (px). */
1434
+ borderRadius?: number | string;
1435
+ /** Default: **rgba(0, 0, 0, 0.1)**. */
1436
+ borderColor?: string;
1437
+ /** "Counter Details" section label. Default: **'Counter Details'**. */
1438
+ sectionTitle?: string;
1439
+ /** Per-field label override. Defaults: Status / Served Today / Avg. Wait Time / Queue Length. */
1440
+ labels?: {
1441
+ status?: string;
1442
+ servedToday?: string;
1443
+ avgWaitTime?: string;
1444
+ queueLength?: string;
1445
+ };
1446
+ /** Status pill — `statusVariant: 'danger'`. Default: **#D4183D**. */
1447
+ dangerStatusBackground?: string;
1448
+ /** Status pill — `statusVariant: 'normal'`. Default: **#00A63E**. */
1449
+ normalStatusBackground?: string;
1450
+ /** `queueLengthWarning` text/icon color. Default: **#ED1C24**. */
1451
+ warningColor?: string;
1452
+ /** Camera-snapshot placeholder height. Default: **300** (px). */
1453
+ imageHeight?: number | string;
1454
+ /** Gap between the Status / Served Today / Avg. Wait Time / Queue Length fields. Default: **20** (px). */
1455
+ fieldsGap?: number | string;
1456
+ /** Field label font size. Default: **14** (px). */
1457
+ labelFontSize?: number | string;
1458
+ /** Field value font size. Default: **16** (px). */
1459
+ valueFontSize?: number | string;
1460
+ /** Extra `sx` merged onto the modal's backdrop. */
1461
+ backdropSx?: SxProps$1<Theme$1>;
1462
+ sx?: SxProps$1<Theme$1>;
1463
+ };
1464
+ }
1465
+ interface CounterStatusOverviewTableProps {
1466
+ /** Header labels, in column order. Defaults match the Figma spec. */
1467
+ headerLabels?: {
1468
+ counter?: string;
1469
+ camera?: string;
1470
+ totalServed?: string;
1471
+ avgQueueTime?: string;
1472
+ alertsGenerated?: string;
1473
+ currentQueue?: string;
1474
+ status?: string;
1475
+ action?: string;
1476
+ };
1477
+ rows: CounterStatusOverviewTableRow[];
1478
+ /**
1479
+ * Controlled sorted column. Pass `null` for unsorted. Omit to let the component manage its own
1480
+ * (see `defaultSortBy`) — sorting only activates for columns listed in
1481
+ * `customization.header.sortableColumns`.
1482
+ */
1483
+ sortBy?: CounterStatusOverviewTableColumnKey | null;
1484
+ /** Initial sorted column in uncontrolled mode. Default: **null** (unsorted). */
1485
+ defaultSortBy?: CounterStatusOverviewTableColumnKey | null;
1486
+ /** Controlled sort direction. Omit to let the component manage its own (see `defaultSortDirection`). */
1487
+ sortDirection?: CounterStatusOverviewTableSortDirection;
1488
+ /** Initial sort direction in uncontrolled mode. Default: **'asc'**. */
1489
+ defaultSortDirection?: CounterStatusOverviewTableSortDirection;
1490
+ /** Fired whenever the sorted column/direction changes (clicking a sortable header). */
1491
+ onSortChange?: (sortBy: CounterStatusOverviewTableColumnKey | null, direction: CounterStatusOverviewTableSortDirection) => void;
1492
+ /**
1493
+ * Overrides the comparator used to sort two rows by `sortBy`. Defaults to a numeric-aware
1494
+ * comparison (parses a leading number out of the column's display value where relevant, e.g.
1495
+ * `"6 min"` → `6`, `"#3"` → `3`) falling back to a case-insensitive string compare.
1496
+ */
1497
+ sortComparator?: (a: CounterStatusOverviewTableRow, b: CounterStatusOverviewTableRow, sortBy: CounterStatusOverviewTableColumnKey) => number;
1498
+ /** Extra root styles — merges last. */
1499
+ sx?: SxProps$1<Theme$1>;
1500
+ /** Deep per-area style override — see `CounterStatusOverviewTableCustomization`. */
1501
+ customization?: CounterStatusOverviewTableCustomization;
1502
+ }
1503
+
1504
+ declare function CounterStatusOverviewTable({ headerLabels, rows, sortBy, defaultSortBy, sortDirection, defaultSortDirection, onSortChange, sortComparator, sx, customization, }: CounterStatusOverviewTableProps): React$1.ReactElement;
1505
+
1052
1506
  interface FalconButtonProps extends ButtonProps {
1053
1507
  loading?: boolean;
1054
1508
  iconPlacement?: 'start' | 'end';
1509
+ /**
1510
+ * Visual active/selected state — e.g. one pill in a filter/tab row that's currently active.
1511
+ * Drives `selectedBg`/`selectedTextColor`/`selectedBorderColor`/`selectedHoverBg` instead of
1512
+ * their unselected counterparts. Default: `false`.
1513
+ */
1514
+ selected?: boolean;
1515
+ /** Background when not selected. Default: inherits the MUI `variant`/`color` styling. */
1516
+ bg?: string;
1517
+ /** Background when `selected`. Default: inherits the MUI `variant`/`color` styling. */
1518
+ selectedBg?: string;
1519
+ /** Text color when not selected. */
1520
+ textColor?: string;
1521
+ /** Text color when `selected`. Default: `'#FFFFFF'`. */
1522
+ selectedTextColor?: string;
1523
+ /** Border color when not selected (only visible with `variant="outlined"`). */
1524
+ borderColor?: string;
1525
+ /** Border color when `selected`. Defaults to `selectedBg` so the border blends into the fill. */
1526
+ selectedBorderColor?: string;
1527
+ /** Background on hover when not selected. */
1528
+ hoverBg?: string;
1529
+ /** Background on hover when `selected`. Defaults to `selectedBg`. */
1530
+ selectedHoverBg?: string;
1531
+ /**
1532
+ * Corner radius. A bare number is treated as px (e.g. `20` → `'20px'`) — pass a large value
1533
+ * (e.g. `999`) for a fully rounded pill shape.
1534
+ */
1535
+ borderRadius?: number | string;
1536
+ /** Label font-family. Default: inherits the theme/MUI `Button` typography. */
1537
+ fontFamily?: string;
1538
+ /**
1539
+ * Label font-size. A bare number is treated as px (e.g. `14` → `'14px'`). Default: inherits the
1540
+ * `size` prop's MUI typography.
1541
+ */
1542
+ fontSize?: number | string;
1543
+ /** Label font-weight. Default: inherits the theme/MUI `Button` typography. */
1544
+ fontWeight?: number | string;
1055
1545
  }
1056
1546
 
1057
- declare const FalconButton: ({ loading, disabled, children, size, variant, type, fullWidth, className, ...props }: FalconButtonProps) => react_jsx_runtime.JSX.Element;
1547
+ declare const FalconButton: ({ loading, disabled, children, size, variant, type, fullWidth, className, selected, bg, selectedBg, textColor, selectedTextColor, borderColor, selectedBorderColor, hoverBg, selectedHoverBg, borderRadius, fontFamily, fontSize, fontWeight, sx, ...props }: FalconButtonProps) => react_jsx_runtime.JSX.Element;
1058
1548
 
1059
1549
  interface MonthData$1 {
1060
1550
  label: string;
@@ -1270,6 +1760,13 @@ interface FalconExportReportDialogProps {
1270
1760
  * @default DEFAULT_FILTERS
1271
1761
  */
1272
1762
  filters?: FilterOption[];
1763
+ /**
1764
+ * Whether to show the "Filter" card (region/store dropdowns + selected
1765
+ * count). Set to `false` to hide it entirely, e.g. when the host app
1766
+ * doesn't need per-region store filtering for exports.
1767
+ * @default true
1768
+ */
1769
+ showFilters?: boolean;
1273
1770
  /**
1274
1771
  * Mapping for filter labels to store lists if not provided in filters
1275
1772
  */
@@ -1355,6 +1852,20 @@ interface FalconExportReportDialogProps {
1355
1852
  exportCsvText?: string;
1356
1853
  /** Text for PDF export checkbox */
1357
1854
  exportPdfText?: string;
1855
+ /**
1856
+ * Custom icon shown next to the CSV checkbox label. Accepts an Iconify
1857
+ * icon name (string) or a React node. Defaults to the built-in CSV icon.
1858
+ */
1859
+ csvIcon?: string | React__default.ReactNode;
1860
+ /**
1861
+ * Custom icon shown next to the PDF checkbox label. Accepts an Iconify
1862
+ * icon name (string) or a React node. Defaults to the built-in PDF icon.
1863
+ */
1864
+ pdfIcon?: string | React__default.ReactNode;
1865
+ /** Size (width/height) of the CSV icon. @default 20 */
1866
+ csvIconSize?: string | number;
1867
+ /** Size (width/height) of the PDF icon. @default 20 */
1868
+ pdfIconSize?: string | number;
1358
1869
  /** Background color for the regional dropdowns */
1359
1870
  dropdownBackgroundColor?: string;
1360
1871
  /** Text color for the stores in the dropdown */
@@ -1386,7 +1897,12 @@ declare const FalconExportReportDialog: React__default.FC<FalconExportReportDial
1386
1897
  interface MonthData {
1387
1898
  label: string;
1388
1899
  year?: number;
1389
- count: number;
1900
+ /**
1901
+ * @deprecated No longer rendered — the month pill badge shows the number of
1902
+ * calendar days in the month (derived from `label`/`year`) instead. Kept
1903
+ * optional for backwards compatibility with existing consumers.
1904
+ */
1905
+ count?: number;
1390
1906
  /** Override the unselected pill background for this specific month. */
1391
1907
  pillBg?: string;
1392
1908
  /** Override the unselected pill text/icon color for this specific month. */
@@ -1452,13 +1968,40 @@ interface FalconAuditTimelineV2Props {
1452
1968
  exportButtonText?: string;
1453
1969
  upcomingButtonText?: string;
1454
1970
  showYearSelector?: boolean;
1971
+ /**
1972
+ * Whether clicking "Export Report" opens the component's own built-in
1973
+ * `FalconExportReportDialog`. Set to `false` when the host app renders its
1974
+ * own export dialog to avoid two dialogs stacking on screen — in that case
1975
+ * `onExportReportClick` fires immediately on click (with no `exportSelection`)
1976
+ * instead of waiting for the built-in dialog's Export button.
1977
+ * @default true
1978
+ */
1979
+ showBuiltInExportDialog?: boolean;
1980
+ /**
1981
+ * Whether the built-in export dialog shows its "Filter" card (region/store
1982
+ * dropdowns + selected count). Set to `false` to hide it when per-region
1983
+ * store filtering isn't needed for exports. Overridable per-call via
1984
+ * `exportDialogProps.showFilters`.
1985
+ * @default true
1986
+ */
1987
+ showExportFilters?: boolean;
1455
1988
  onMonthChange?: (month: string, year?: number) => void;
1456
1989
  onPrevYearClick?: () => void;
1457
1990
  onNextYearClick?: () => void;
1458
- onExportReportClick?: (event: React__default.MouseEvent, day: number, month: string, year: number, run?: AuditRunItemV2) => void;
1991
+ /**
1992
+ * Fired when the user confirms an export.
1993
+ * - When `showBuiltInExportDialog` is `true` (default): fires once, when the
1994
+ * user clicks Export inside the built-in dialog — `exportSelection` carries
1995
+ * the actual CSV/PDF checkbox state from that dialog.
1996
+ * - When `showBuiltInExportDialog` is `false`: fires immediately when
1997
+ * "Export Report" is clicked on a day card — `exportSelection` is
1998
+ * `undefined` since no built-in selection UI was shown.
1999
+ */
2000
+ onExportReportClick?: (event: React__default.MouseEvent, day: number, month: string, year: number, run?: AuditRunItemV2, exportSelection?: {
2001
+ csv: boolean;
2002
+ pdf: boolean;
2003
+ }) => void;
1459
2004
  onDayClick?: (day: number, month: string, year: number) => void;
1460
- /** Fired when an audit run pill (below the main card) is clicked. Receives the full `AuditRunItemV2` object. */
1461
- onAuditRunPillClick?: (run: AuditRunItemV2) => void;
1462
2005
  brandFont?: string;
1463
2006
  interFont?: string;
1464
2007
  headerFontSize?: string;
@@ -1547,32 +2090,17 @@ interface FalconAuditTimelineV2Props {
1547
2090
  closeButtonIconSize?: string;
1548
2091
  /** Border radius of the close button. @default '50%' */
1549
2092
  closeButtonBorderRadius?: string;
1550
- /** Background of an inactive (unselected) audit run pill. @default '#FFFFFF' */
1551
- auditRunPillInactiveBg?: string;
1552
- /** Border color of an inactive (unselected) audit run pill. @default '#0000001A' */
1553
- auditRunPillInactiveBorderColor?: string;
1554
- /** Text color of an audit run pill. @default '#374151' */
1555
- auditRunPillTextColor?: string;
1556
- /** Font size of audit run pill text. @default '14px' */
1557
- auditRunPillFontSize?: string;
1558
- /** Font weight of audit run pill text. @default '600' */
1559
- auditRunPillFontWeight?: string | number;
1560
- /** Height of each audit run pill. @default '32px' */
1561
- auditRunPillHeight?: string;
1562
- /** Border radius of each audit run pill. @default '100px' */
1563
- auditRunPillBorderRadius?: string;
1564
- /** Left/right padding inside each audit run pill. @default '12px' */
1565
- auditRunPillPaddingX?: string;
1566
- /** Gap between multiple audit run pills. @default '8px' */
1567
- auditRunPillsGap?: string;
1568
- /** Margin-top of the audit run pills container. @default '16px' */
1569
- auditRunPillsMt?: string;
1570
- /** Background of an active (done/selected) audit run pill. Defaults to primaryColor. */
1571
- auditRunPillDoneBg?: string;
1572
2093
  /** Max width of the modal as a viewport fraction, e.g. '95vw'. @default '95vw' */
1573
2094
  modalMaxVw?: string;
1574
2095
  /** Max height of the modal as a viewport fraction, e.g. '95vh'. @default '95vh' */
1575
2096
  modalMaxVh?: string;
2097
+ /**
2098
+ * Fixed height of the modal (capped by `modalMaxVh`). Keeps the dialog the
2099
+ * same size across months instead of growing/shrinking with content; the
2100
+ * day grid scrolls internally once it exceeds this height.
2101
+ * @default '80vh'
2102
+ */
2103
+ modalHeight?: string;
1576
2104
  /** Margin around the modal dialog. @default '16px' */
1577
2105
  modalMargin?: string;
1578
2106
  /** Gap between the modal header, month selector, and day grid sections. @default '16px' */
@@ -1609,6 +2137,12 @@ interface FalconAuditTimelineV2Props {
1609
2137
  dayCardDateFontSize?: string;
1610
2138
  /** Date text font weight inside each day card. @default '700' */
1611
2139
  dayCardDateFontWeight?: string | number;
2140
+ /** Ordinal label ("1st Audit", "2nd Audit"...) color inside each day card. @default '#6B7280' */
2141
+ dayCardLabelColor?: string;
2142
+ /** Ordinal label font size inside each day card. @default '10px' */
2143
+ dayCardLabelFontSize?: string;
2144
+ /** Ordinal label font weight inside each day card. @default '600' */
2145
+ dayCardLabelFontWeight?: string | number;
1612
2146
  /** Size of the status dot in each day card. @default '8px' */
1613
2147
  dayCardDotSize?: string;
1614
2148
  /** Gap between the status dot and the date text. @default '6px' */
@@ -1619,6 +2153,8 @@ interface FalconAuditTimelineV2Props {
1619
2153
  dayCardMinHeight?: string;
1620
2154
  /** Minimum width of each day card. @default '0' */
1621
2155
  dayCardMinWidth?: string;
2156
+ /** Gap between side-by-side cards when a day has more than one audit run. @default '6px' */
2157
+ dayCellGap?: string;
1622
2158
  /** Background of the export button. @default '#FFFFFF' */
1623
2159
  exportButtonBg?: string;
1624
2160
  /** Border color of the export button. @default '#D1D5DC' */
@@ -1931,6 +2467,20 @@ interface FalconExportDialogProps {
1931
2467
  exportCsvText?: string;
1932
2468
  /** Text for PDF export checkbox */
1933
2469
  exportPdfText?: string;
2470
+ /**
2471
+ * Custom icon shown next to the CSV checkbox label. Accepts an Iconify
2472
+ * icon name (string) or a React node. Defaults to the built-in CSV icon.
2473
+ */
2474
+ csvIcon?: string | React__default.ReactNode;
2475
+ /**
2476
+ * Custom icon shown next to the PDF checkbox label. Accepts an Iconify
2477
+ * icon name (string) or a React node. Defaults to the built-in PDF icon.
2478
+ */
2479
+ pdfIcon?: string | React__default.ReactNode;
2480
+ /** Size (width/height) of the CSV icon. @default 20 */
2481
+ csvIconSize?: string | number;
2482
+ /** Size (width/height) of the PDF icon. @default 20 */
2483
+ pdfIconSize?: string | number;
1934
2484
  /** Primary color for calendar (selected day bg, header icons) */
1935
2485
  calendarPrimaryColor?: string;
1936
2486
  /** Text color for the selected day in calendar */
@@ -1982,6 +2532,28 @@ interface FalconStatBannerTrend {
1982
2532
  badgeColor?: string;
1983
2533
  badgeIconBg?: string;
1984
2534
  badgeIconColor?: string;
2535
+ /** Default: `'50px'`. */
2536
+ badgeBorderRadius?: number | string;
2537
+ /** Default: `'6px 16px'` (matches the default `py: 0.75, px: 2`). */
2538
+ badgePadding?: string;
2539
+ /** Gap between the label text and the icon (or icon circle). Default: `1` (theme spacing, 8px). */
2540
+ badgeGap?: number | string;
2541
+ /** Default: `'0.8rem'`. */
2542
+ badgeFontSize?: number | string;
2543
+ /** Default: `600`. */
2544
+ badgeFontWeight?: number | string;
2545
+ /**
2546
+ * When `true`, renders `iconName` (or the built-in up/down arrow) directly with no circular
2547
+ * background behind it — for icon sets whose glyph is already self-contained (e.g.
2548
+ * `material-symbols:arrow-circle-up-rounded`, which already draws its own circle outline).
2549
+ * `badgeIconColor` colors the icon itself instead of a circle background. Default: `false`
2550
+ * (wraps the icon in a solid colored circle, e.g. `mdi:arrow-up` on `badgeIconBg`).
2551
+ */
2552
+ iconOnly?: boolean;
2553
+ /** Overrides the built-in `mdi:arrow-up` / `mdi:arrow-down` icon name. */
2554
+ iconName?: string;
2555
+ /** Icon width/height in px. Default: `11` (wrapped) — pass a larger value (e.g. `14`) for `iconOnly` icons, which have no circle padding around them. */
2556
+ iconSize?: number;
1985
2557
  }
1986
2558
  interface FalconStatBannerProps {
1987
2559
  label: string;
@@ -1990,15 +2562,26 @@ interface FalconStatBannerProps {
1990
2562
  textColor?: string;
1991
2563
  width?: number | string;
1992
2564
  height?: number | string;
2565
+ /** Font-family for the whole banner text. Default: inherits the theme. */
2566
+ fontFamily?: string;
2567
+ /** Applies to both the label and value text unless `valueFontSize` overrides the value. Default: `1rem`. */
1993
2568
  fontSize?: number | string;
2569
+ /** Weight of the **value** text specifically. Default: `600`. */
1994
2570
  fontWeight?: number | string;
2571
+ /** Weight of the **label** text specifically. Default: inherits (browser/theme normal weight). */
2572
+ labelFontWeight?: number | string;
2573
+ /** Overrides `fontSize` for just the value text. Default: same as `fontSize`. */
2574
+ valueFontSize?: number | string;
2575
+ /** Default: `1.4`. */
2576
+ lineHeight?: number | string;
2577
+ letterSpacing?: number | string;
1995
2578
  trend?: FalconStatBannerTrend;
1996
2579
  trendPlacement?: 'inline' | 'end';
1997
2580
  sx?: SxProps<Theme>;
1998
2581
  className?: string;
1999
2582
  }
2000
2583
 
2001
- declare const FalconStatBanner: ({ label, value, color, textColor, width, height, fontSize, fontWeight, trend, trendPlacement, sx, className, }: FalconStatBannerProps) => react_jsx_runtime.JSX.Element;
2584
+ declare const FalconStatBanner: ({ label, value, color, textColor, width, height, fontFamily, fontSize, fontWeight, labelFontWeight, valueFontSize, lineHeight, letterSpacing, trend, trendPlacement, sx, className, }: FalconStatBannerProps) => react_jsx_runtime.JSX.Element;
2002
2585
 
2003
2586
  interface FalconStatBannerGroupProps {
2004
2587
  banners: FalconStatBannerProps[];
@@ -2051,11 +2634,179 @@ interface FalconSingleSwitchProps {
2051
2634
 
2052
2635
  declare const FalconSingleSwitch: ({ color, setStatus, value, onChange, }: FalconSingleSwitchProps) => react_jsx_runtime.JSX.Element;
2053
2636
 
2637
+ interface FalconStoreCountPillProps {
2638
+ /** Number of assigned stores. Ignored for display when `isAllStores` is set. */
2639
+ count: number;
2640
+ /** Store names shown in the popover when the eye icon is clicked. */
2641
+ storeNames?: string[];
2642
+ /** Render as "All stores" instead of the numeric count. @default false */
2643
+ isAllStores?: boolean;
2644
+ /** Singular unit label. @default 'store' */
2645
+ unitLabelSingular?: string;
2646
+ /** Plural unit label. @default 'stores' */
2647
+ unitLabelPlural?: string;
2648
+ /** Label used when `isAllStores` is set. @default 'All stores' */
2649
+ allStoresLabel?: string;
2650
+ /**
2651
+ * Zero-pad the numeric count to this many digits (e.g. `2` -> `"01"`).
2652
+ * Set to `0` to disable padding. Ignored when `isAllStores` is set.
2653
+ * @default 2
2654
+ */
2655
+ padCountToDigits?: number;
2656
+ /**
2657
+ * Show the eye icon (and enable the store-list popover) when true. Defaults to showing it
2658
+ * whenever there's more than one store to look at — i.e. hidden for a single assigned store.
2659
+ */
2660
+ showEyeIcon?: boolean;
2661
+ /** Title shown at the top of the store-list popover. Empty by default (the search bar sits at the top instead). */
2662
+ popoverTitle?: string;
2663
+ /** Text shown in the popover when `storeNames` is empty. @default 'No stores to show.' */
2664
+ popoverEmptyStateText?: string;
2665
+ /** Called when the eye icon is clicked, in addition to opening the built-in popover. */
2666
+ onEyeClick?: (event: React__default.MouseEvent<HTMLElement>) => void;
2667
+ /** Accessible label for the eye icon control. @default 'Show assigned stores' */
2668
+ eyeIconAriaLabel?: string;
2669
+ /**
2670
+ * How the popover opens. `'hover'` opens on pointer-enter of the pill (backed by a MUI
2671
+ * `Popover`, so the pointer can move onto the popover content — including the search input —
2672
+ * without it closing, and the content keeps correct focusable/interactive semantics) and skips
2673
+ * the eye-icon click entirely; `'click'` uses the same `Popover` with click-to-open /
2674
+ * click-away-to-close behavior instead of hover. @default 'hover'
2675
+ */
2676
+ triggerMode?: 'hover' | 'click';
2677
+ /** Delay (ms) before a `'hover'`-triggered popover closes after the pointer leaves. @default 150 */
2678
+ hoverCloseDelayMs?: number;
2679
+ brandFont?: string;
2680
+ /** @default '#FFFFFF' */
2681
+ bg?: string;
2682
+ /** @default '#D1D5DC' */
2683
+ borderColor?: string;
2684
+ /** @default '#0A0A0A' */
2685
+ textColor?: string;
2686
+ /** @default '8px' */
2687
+ borderRadius?: string;
2688
+ /** @default '10px' */
2689
+ fontSize?: string;
2690
+ /** @default 600 */
2691
+ fontWeight?: string | number;
2692
+ /** @default '8px' */
2693
+ paddingX?: string;
2694
+ /** @default '2px' */
2695
+ paddingY?: string;
2696
+ /** @default '4px' */
2697
+ gap?: string;
2698
+ /** Custom eye icon. Accepts an Iconify icon name (string) or a React node. @default 'tabler:eye' */
2699
+ eyeIcon?: string | React__default.ReactNode;
2700
+ /** @default '#6B7280' */
2701
+ eyeIconColor?: string;
2702
+ /** @default '13px' */
2703
+ eyeIconSize?: string;
2704
+ /** @default '239px' */
2705
+ popoverMinWidth?: string;
2706
+ /** Max height of the scrollable store-name list specifically (search bar + "Show all" row are always visible, unscrolled). @default '180px' */
2707
+ popoverMaxHeight?: string;
2708
+ /** Popover panel background. @default '#FFFFFF' */
2709
+ popoverBg?: string;
2710
+ /** Popover panel border color. @default 'rgba(0, 0, 0, 0.08)' */
2711
+ popoverBorderColor?: string;
2712
+ /** Popover panel border-radius. @default '8px' */
2713
+ popoverBorderRadius?: string;
2714
+ /** Popover panel box-shadow. @default '0px 4px 16px rgba(0, 0, 0, 0.15)' */
2715
+ popoverBoxShadow?: string;
2716
+ /** Popover title text color (only relevant when `popoverTitle` is set). @default '#0A0A0A' */
2717
+ popoverTitleColor?: string;
2718
+ /** Shows the "Search Stores" filter input at the top of the popover. @default true */
2719
+ showSearch?: boolean;
2720
+ /** @default 'Search Stores' */
2721
+ searchPlaceholder?: string;
2722
+ /** Custom search icon. Accepts an Iconify icon name (string) or a React node. @default 'tabler:search' */
2723
+ searchIcon?: string | React__default.ReactNode;
2724
+ /** @default '#1A1A1A' */
2725
+ searchIconColor?: string;
2726
+ /** @default '16px' */
2727
+ searchIconSize?: string;
2728
+ /** Search input text color. @default '#1A1A1A' */
2729
+ searchTextColor?: string;
2730
+ /** Divider color under the search row. @default '#E5E7EB' */
2731
+ searchDividerColor?: string;
2732
+ /**
2733
+ * Shows the "Show All Stores" row directly under the search input (or at the top of the
2734
+ * popover when `showSearch` is `false`) — clicking it clears any current search text.
2735
+ * Independent of `showSearch`. @default true
2736
+ */
2737
+ showAllStoresOption?: boolean;
2738
+ /** @default 'Show All Stores' */
2739
+ showAllStoresOptionLabel?: string;
2740
+ /** Called when "Show All Stores" is clicked, in addition to clearing the search text. */
2741
+ onShowAllStoresClick?: () => void;
2742
+ /** "Show All Stores" row text color. @default '#1A1A1A' */
2743
+ showAllStoresOptionTextColor?: string;
2744
+ /** "Show All Stores" row background on hover. @default '#F9FAFB' */
2745
+ showAllStoresOptionHoverBg?: string;
2746
+ /** Divider color below the "Show All Stores" row. @default 'transparent' (no divider) */
2747
+ showAllStoresOptionBorderColor?: string;
2748
+ /** Text shown when the search text matches no stores. @default 'No matching stores.' */
2749
+ noSearchResultsText?: string;
2750
+ /** Store-name row text color. @default '#374151' */
2751
+ popoverItemTextColor?: string;
2752
+ /** Divider color between store-name rows. @default 'transparent' (no divider) */
2753
+ popoverItemDividerColor?: string;
2754
+ /** Popover empty/no-results state text color. @default '#6B7280' */
2755
+ popoverEmptyStateTextColor?: string;
2756
+ /** Scrollbar thumb color for the store-name list. @default '#BDBDBD' */
2757
+ scrollbarThumbColor?: string;
2758
+ /** MUI `sx` on the root pill `Box`; merged last (can override any style prop above). */
2759
+ sx?: SxProps<Theme>;
2760
+ /** `className` on the root pill `Box`. */
2761
+ className?: string;
2762
+ /** MUI `sx` on the eye-icon click target. */
2763
+ eyeButtonSx?: SxProps<Theme>;
2764
+ /** MUI `sx` on the label `Typography`; merged after the flat font props above. */
2765
+ labelSx?: SxProps<Theme>;
2766
+ /**
2767
+ * @deprecated No longer used. `triggerMode="hover"` is now backed by the same MUI `Popover` as
2768
+ * `'click'` (a `Tooltip` isn't appropriate for hosting a focusable, searchable list) — pass
2769
+ * `popoverProps` instead for `placement`/`slotProps` customization in either mode. Kept optional
2770
+ * for backwards compatibility with existing consumers.
2771
+ */
2772
+ tooltipProps?: Partial<Omit<TooltipProps, 'title' | 'children' | 'open' | 'onOpen' | 'onClose'>>;
2773
+ /**
2774
+ * Forwarded to the underlying MUI `Popover` in both `'click'` and `'hover'` trigger modes —
2775
+ * every prop except `open`/`anchorEl`/`onClose`, which the component owns. Use this for
2776
+ * `anchorOrigin`, `transformOrigin`, `slotProps.paper`, etc. In `'hover'` mode, `slotProps.paper`
2777
+ * mouse handlers are chained after the component's own (which keep the popover open while the
2778
+ * pointer is over it).
2779
+ */
2780
+ popoverProps?: Partial<Omit<PopoverProps, 'open' | 'anchorEl' | 'onClose'>>;
2781
+ /** MUI `sx` on the popover's inner content wrapper (min-width/padding). */
2782
+ popoverContentSx?: SxProps<Theme>;
2783
+ /** MUI `sx` on the popover title `Typography`. */
2784
+ popoverTitleSx?: SxProps<Theme>;
2785
+ /** MUI `sx` on the search input row. */
2786
+ searchInputSx?: SxProps<Theme>;
2787
+ /** MUI `sx` on the "Show All Stores" row. */
2788
+ showAllStoresOptionSx?: SxProps<Theme>;
2789
+ /** MUI `sx` on the scrollable store-name list container. */
2790
+ popoverListSx?: SxProps<Theme>;
2791
+ /** MUI `sx` on each store-name row `Typography` inside the popover. */
2792
+ popoverItemSx?: SxProps<Theme>;
2793
+ /** MUI `sx` on the popover empty-state `Typography`. */
2794
+ popoverEmptyStateSx?: SxProps<Theme>;
2795
+ }
2796
+
2797
+ declare const FalconStoreCountPill: React__default.FC<FalconStoreCountPillProps>;
2798
+
2054
2799
  interface FalconTableProps<T = Record<string, unknown>> {
2055
2800
  rows: T[];
2056
2801
  getRowId: (row: T) => string | number;
2057
2802
  columns: GridColDef[];
2058
2803
  pageSizeOptions?: number[];
2804
+ /**
2805
+ * Seeds the initial page size only — unlike MUI `DataGrid`'s own `initialState`, this is not
2806
+ * forwarded to the `DataGrid` and has no effect on sorting, filtering, or column state (the
2807
+ * type intentionally only accepts `pagination.paginationModel.pageSize`). Automatically merged
2808
+ * into `pageSizeOptions` if not already present.
2809
+ */
2059
2810
  initialState?: {
2060
2811
  pagination?: {
2061
2812
  paginationModel: {
@@ -2063,9 +2814,71 @@ interface FalconTableProps<T = Record<string, unknown>> {
2063
2814
  };
2064
2815
  };
2065
2816
  };
2817
+ /** Hides the pagination footer entirely (e.g. when every row already fits on screen). Default: `false`. */
2818
+ hideFooter?: boolean;
2819
+ /** Shows the column header's sort-menu icon button. Default: `false` (matches the clean production look). */
2820
+ showColumnMenu?: boolean;
2821
+ /** Shows the active-sort arrow icon in column headers. Default: `false`. */
2822
+ showSortIcons?: boolean;
2823
+ /** Outer card border. Default: `'1px solid #D8D8D8'`. */
2824
+ border?: string;
2825
+ /** Outer card border-radius. A bare number is treated as px. Default: `'8px'`. */
2826
+ borderRadius?: number | string;
2827
+ /** Outer card padding. A bare number is treated as px. Default: `0`. */
2828
+ padding?: number | string;
2829
+ /** Outer card background. Default: `'#FFFFFF'`. */
2830
+ background?: string;
2831
+ /** Outer card box-shadow. Default: `'0px 4px 20px rgba(0, 0, 0, 0.05)'`. */
2832
+ boxShadow?: string;
2833
+ /** MUI `sx` on the outer card `Box`; merged last. */
2834
+ cardSx?: SxProps<Theme>;
2835
+ /** Column-header row background. Default: `'#EBEBEB'`. */
2836
+ headerBg?: string;
2837
+ /** Column-header label text color. Default: `'#444444'`. */
2838
+ headerTextColor?: string;
2839
+ /** Column-header label font-family. Default: the brand font stack. */
2840
+ headerFontFamily?: string;
2841
+ /** Column-header label font-size. A bare number is treated as px. Default: `'15px'`. */
2842
+ headerFontSize?: number | string;
2843
+ /** Column-header label font-weight. Default: `600`. */
2844
+ headerFontWeight?: number | string;
2845
+ /** Column-header row height in px (forwarded to the `DataGrid`). Default: `56`. */
2846
+ columnHeaderHeight?: number;
2847
+ /** Border between the header row and the body. Default: `'#D8D8D8'`. */
2848
+ headerBorderColor?: string;
2849
+ /** Border width (px) between the header row and the body. Default: `1`. */
2850
+ headerBorderWidth?: number;
2851
+ /** Horizontal padding for header cells. A bare number is treated as px. Default: `'12px'`. */
2852
+ headerPaddingX?: number | string;
2853
+ /** Body row background. Default: `'#F9F9F9'`. */
2854
+ rowBg?: string;
2855
+ /** Body row background on hover. Default: `'#F2F2F2'`. */
2856
+ rowHoverBg?: string;
2857
+ /** Body cell text color. Default: `'#242424'`. */
2858
+ cellTextColor?: string;
2859
+ /** Body cell font-family. Default: the brand font stack. */
2860
+ cellFontFamily?: string;
2861
+ /** Body cell font-size. A bare number is treated as px. Default: `'14px'`. */
2862
+ cellFontSize?: number | string;
2863
+ /** Body cell font-weight. Default: `400`. */
2864
+ cellFontWeight?: number | string;
2865
+ /** Horizontal padding for body cells. A bare number is treated as px. Default: `'12px'`. */
2866
+ cellPaddingX?: number | string;
2867
+ /** Row height in px (forwarded to the `DataGrid`). Default: `46`. */
2868
+ rowHeight?: number;
2869
+ /** Vertical divider color between header columns. Default: `'#D8D8D8'`. */
2870
+ columnDividerColor?: string;
2871
+ /** Divider color between body rows/cells (both the horizontal row divider and the vertical column divider inside the body). Default: `'#E8E8E8'`. */
2872
+ rowDividerColor?: string;
2873
+ /** Shows the vertical column dividers. Default: `true`. */
2874
+ showColumnDividers?: boolean;
2875
+ /** Shows the DataGrid's default focus outline around a clicked cell/header. Default: `false`. */
2876
+ showCellFocusOutline?: boolean;
2877
+ /** MUI `sx` on the `DataGrid` itself; merged last (wins over every prop above). */
2878
+ sx?: SxProps<Theme>;
2066
2879
  }
2067
2880
 
2068
- declare const FalconTable: <T extends Record<string, unknown>>({ rows, getRowId, columns, pageSizeOptions, }: FalconTableProps<T>) => react_jsx_runtime.JSX.Element;
2881
+ declare const FalconTable: <T extends Record<string, unknown>>({ rows, getRowId, columns, pageSizeOptions, initialState, hideFooter, showColumnMenu, showSortIcons, border, borderRadius, padding, background, boxShadow, cardSx, headerBg, headerTextColor, headerFontFamily, headerFontSize, headerFontWeight, columnHeaderHeight, headerBorderColor, headerBorderWidth, headerPaddingX, rowBg, rowHoverBg, cellTextColor, cellFontFamily, cellFontSize, cellFontWeight, cellPaddingX, rowHeight, columnDividerColor, rowDividerColor, showColumnDividers, showCellFocusOutline, sx, }: FalconTableProps<T>) => react_jsx_runtime.JSX.Element;
2069
2882
 
2070
2883
  interface FalconTicketColumsFilterProps {
2071
2884
  columns?: {
@@ -2637,6 +3450,14 @@ interface PasserbyConversionProps {
2637
3450
  conversionAxisLabel?: string;
2638
3451
  /** Tick formatter for the left (count) Y-axis. */
2639
3452
  yAxisTickFormatter?: (value: number) => string;
3453
+ /** Override the left (count) y-axis `[min, max]` domain. Default: auto. */
3454
+ yAxisDomain?: [number | string, number | string];
3455
+ /** Override the explicit left (count) y-axis tick values (pairs with `yAxisDomain` to force a specific top tick). Default: auto. */
3456
+ yAxisTicks?: number[];
3457
+ /** Override the right (conversion) y-axis `[min, max]` domain. Default: auto. */
3458
+ conversionAxisDomain?: [number | string, number | string];
3459
+ /** Override the explicit right (conversion) y-axis tick values (pairs with `conversionAxisDomain`). Default: auto. */
3460
+ conversionAxisTicks?: number[];
2640
3461
  /** Tick formatter for the right (conversion) Y-axis. */
2641
3462
  conversionAxisTickFormatter?: (value: number) => string;
2642
3463
  tooltipStyles?: PasserbyConversionTooltipStyles;
@@ -2695,7 +3516,7 @@ interface PasserbyConversionProps {
2695
3516
  xAxisTickStyle?: Record<string, string | number>;
2696
3517
  }
2697
3518
 
2698
- declare function PasserbyConversion({ title, data, isLoading, timeSlots, fillMissingTimeSlots, chartHeight, passerbySeriesName, walkInsSeriesName, conversionSeriesName, lineType, minWidthPerCategory, horizontalScroll: horizontalScrollProp, maxBarSize: maxBarSizeProp, barGap, barCategoryGap: barCategoryGapProp, barRadius, cardMaxWidth, cardSx, titleRowSx, titleSx, dividerSx, legendRowSx, legendItemSx, legendSwatchSx, legendLabelSx, chartScrollAreaSx, stackSx, emptyStateSx, headerActions, tooltipTimeLabel, tooltipOverallLabel, tooltipWalkInsLabel, tooltipPasserbyLabel, tooltipConversionLabel, formatTooltipConversion, conversionAxisLabel, yAxisTickFormatter, conversionAxisTickFormatter, tooltipStyles, renderTooltip, showLegend, showConversionLine: showConversionLineProp, showBarValueLabels, barValueLabelAngle, chartMargin: chartMarginProp, yAxisTickDx, yAxisTickStyle, conversionAxisTickDx, conversionAxisTickStyle, rightYAxisTickDx, rightYAxisTickStyle, chartColors: chartColorsProp, emptyStatePlaceholderProps, isChartAnimationActive, chartAnimationDuration, scrollChartToEndOnDataChange, xAxisTickAngle, xAxisTickDx, xAxisTickStyle, }: PasserbyConversionProps): react_jsx_runtime.JSX.Element;
3519
+ declare function PasserbyConversion({ title, data, isLoading, timeSlots, fillMissingTimeSlots, chartHeight, passerbySeriesName, walkInsSeriesName, conversionSeriesName, lineType, minWidthPerCategory, horizontalScroll: horizontalScrollProp, maxBarSize: maxBarSizeProp, barGap, barCategoryGap: barCategoryGapProp, barRadius, cardMaxWidth, cardSx, titleRowSx, titleSx, dividerSx, legendRowSx, legendItemSx, legendSwatchSx, legendLabelSx, chartScrollAreaSx, stackSx, emptyStateSx, headerActions, tooltipTimeLabel, tooltipOverallLabel, tooltipWalkInsLabel, tooltipPasserbyLabel, tooltipConversionLabel, formatTooltipConversion, conversionAxisLabel, yAxisTickFormatter, yAxisDomain, yAxisTicks, conversionAxisTickFormatter, conversionAxisDomain, conversionAxisTicks, tooltipStyles, renderTooltip, showLegend, showConversionLine: showConversionLineProp, showBarValueLabels, barValueLabelAngle, chartMargin: chartMarginProp, yAxisTickDx, yAxisTickStyle, conversionAxisTickDx, conversionAxisTickStyle, rightYAxisTickDx, rightYAxisTickStyle, chartColors: chartColorsProp, emptyStatePlaceholderProps, isChartAnimationActive, chartAnimationDuration, scrollChartToEndOnDataChange, xAxisTickAngle, xAxisTickDx, xAxisTickStyle, }: PasserbyConversionProps): react_jsx_runtime.JSX.Element;
2699
3520
 
2700
3521
  /** Pie diameter: fixed px, or per-breakpoint (`xs` / `sm` / `md` match MUI breakpoints). */
2701
3522
  type WalkinAnalysisPieSize = number | {
@@ -2962,6 +3783,10 @@ interface WalkinTrafficProps {
2962
3783
  chartColors?: WalkinTrafficChartColors;
2963
3784
  emptyStatePlaceholderProps?: ChartEmptyStateProps;
2964
3785
  yAxisTickFormatter?: (value: number) => string;
3786
+ /** Override the y-axis `[min, max]` domain (Recharts accepts numbers or `'auto'`/`'dataMin'`/`'dataMax'`). Default: auto. */
3787
+ yAxisDomain?: [number | string, number | string];
3788
+ /** Override the explicit y-axis tick values (pairs with `yAxisDomain` to force a specific top tick). Default: auto. */
3789
+ yAxisTicks?: number[];
2965
3790
  emptyStateText?: string;
2966
3791
  /**
2967
3792
  * Recharts animation for bars and trend line. Defaults **true** / **400** ms.
@@ -2985,7 +3810,7 @@ interface WalkinTrafficProps {
2985
3810
  xAxisTickStyle?: Record<string, string | number>;
2986
3811
  }
2987
3812
 
2988
- declare function WalkinTraffic({ title, data, isLoading, chartHeight, barSeriesName, lineSeriesName, lineType, minWidthPerCategory, horizontalScroll: horizontalScrollProp, maxBarSize: maxBarSizeProp, barCategoryGap: barCategoryGapProp, barRadius, cardMaxWidth, cardSx, titleRowSx, titleSx, dividerSx, legendRowSx, legendItemSx, legendSwatchSx, legendLabelSx, chartScrollAreaSx, stackSx, emptyStateSx, headerActions, tooltipTitle, tooltipTimeLabel, tooltipCurrentYearLabel, tooltipLastYearLabel, tooltipGrowthLabel, tooltipFooterNote: tooltipFooterNoteProp, tooltipHourLabel, tooltipStyles, renderTooltip, showLegend, showTrendLine: showTrendLineProp, showLineInLegend, showBarValueLabels, barValueLabelAngle, chartMargin: chartMarginProp, yAxisTickDx, yAxisTickStyle, chartColors: chartColorsProp, emptyStatePlaceholderProps, yAxisTickFormatter, isChartAnimationActive, chartAnimationDuration, scrollChartToEndOnDataChange, xAxisTickAngle, xAxisTickDx, xAxisTickStyle, }: WalkinTrafficProps): react_jsx_runtime.JSX.Element;
3813
+ declare function WalkinTraffic({ title, data, isLoading, chartHeight, barSeriesName, lineSeriesName, lineType, minWidthPerCategory, horizontalScroll: horizontalScrollProp, maxBarSize: maxBarSizeProp, barCategoryGap: barCategoryGapProp, barRadius, cardMaxWidth, cardSx, titleRowSx, titleSx, dividerSx, legendRowSx, legendItemSx, legendSwatchSx, legendLabelSx, chartScrollAreaSx, stackSx, emptyStateSx, headerActions, tooltipTitle, tooltipTimeLabel, tooltipCurrentYearLabel, tooltipLastYearLabel, tooltipGrowthLabel, tooltipFooterNote: tooltipFooterNoteProp, tooltipHourLabel, tooltipStyles, renderTooltip, showLegend, showTrendLine: showTrendLineProp, showLineInLegend, showBarValueLabels, barValueLabelAngle, chartMargin: chartMarginProp, yAxisTickDx, yAxisTickStyle, chartColors: chartColorsProp, emptyStatePlaceholderProps, yAxisTickFormatter, yAxisDomain, yAxisTicks, isChartAnimationActive, chartAnimationDuration, scrollChartToEndOnDataChange, xAxisTickAngle, xAxisTickDx, xAxisTickStyle, }: WalkinTrafficProps): react_jsx_runtime.JSX.Element;
2989
3814
 
2990
3815
  /** Primary line + tooltip fill (violet). */
2991
3816
  declare const BILLING_COUNTER_LINE_PRIMARY: "#7C3AED";
@@ -4254,6 +5079,392 @@ interface CustomerJourneyAnalysisProps {
4254
5079
 
4255
5080
  declare function CustomerJourneyAnalysis({ walkIns, trialVisits, billingVisits, walkInToBillingConversion, trialToBillingConversion, avgTrialsPerWalkIn, avgBillingPerTrial, title, hideTitle, titleFontSize, titleFontWeight, titleColor, walkInsLabel, trialVisitsLabel, billingVisitsLabel, walkInToBillingLabel, trialToBillingLabel, avgTrialsPerWalkInLabel, avgBillingPerTrialLabel, walkInsIcon, trialVisitsIcon, billingVisitsIcon, walkInsCardConfig, trialVisitsCardConfig, billingVisitsCardConfig, statCardDefaults, walkInToBillingMetricConfig, trialToBillingMetricConfig, avgTrialsPerWalkInMetricConfig, avgBillingPerTrialMetricConfig, metricCardDefaults, walkInsBg, trialVisitsBg, billingVisitsBg, statIconColor, statIconStyle, statShowOuterCard, statLabelColor, statValueColor, metricLabelColor, metricValueColor, metricsCardBg, metricsCardBorderRadius, metricsGap, metricsPadding, statLabelFontSize, statLabelFontWeight, statValueFontSize, statValueFontWeight, statIconSize, metricLabelFontSize, metricLabelFontWeight, metricValueFontSize, metricValueFontWeight, statCardGap, statStripBg, statStripPadding, statStripBorder, statStripBorderRadius, statStripBoxShadow, statStripInnerBorderRadius, statStripInnerBoxShadow, sectionFlex, statSectionFlex, metricsSectionFlex, bodyBreakpoint, bodyGap, statMinHeight, statCardFlexes, isLoading, formatConversion, formatAverage, headerActions, cardSx, statStripSx, metricsSx, }: CustomerJourneyAnalysisProps): react_jsx_runtime.JSX.Element;
4256
5081
 
5082
+ /** One stat pill above the two charts; `width` comes from the widget's `FalconStatBannerGroup`, everything else is yours. */
5083
+ type OverallFootfallPasserbyTrendsBanner = Omit<FalconStatBannerProps, 'width'>;
5084
+ interface OverallFootfallPasserbyTrendsBottomLegendItem {
5085
+ key: string;
5086
+ label: string;
5087
+ color: string;
5088
+ /** Renders a thin line swatch instead of a square (for the conversion series). */
5089
+ isLine?: boolean;
5090
+ /** Per-item `sx` override, merged after `customization.bottomLegend.itemSx`. */
5091
+ sx?: SxProps$1<Theme$1>;
5092
+ }
5093
+ /**
5094
+ * Per-breakpoint width for one of the two chart panels — same shape as MUI Grid v2's `size` prop
5095
+ * (a bare column count, or an object keyed by breakpoint).
5096
+ * Defaults to `{ xs: 12, md: 6 }` (stacked on mobile, 50/50 from `md` up) for both panels.
5097
+ */
5098
+ type OverallFootfallPasserbyTrendsGridSize = number | 'auto' | Partial<Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', number | 'auto'>>;
5099
+ /**
5100
+ * Deep customization surface. Outer widget chrome (card, header, banners, charts row, bottom
5101
+ * legend) is layered separately from the two inner charts, which accept their **full** own prop
5102
+ * set (minus the data/title/timeSlots the widget already owns) so nothing in either chart is
5103
+ * off-limits.
5104
+ */
5105
+ interface OverallFootfallPasserbyTrendsCustomization {
5106
+ /** Outer card (the widget shell wrapping everything). */
5107
+ rootCard?: {
5108
+ sx?: SxProps$1<Theme$1>;
5109
+ /** Default: **12** (px). */
5110
+ borderRadius?: number | string;
5111
+ /** Border color. Default: **#E5E5E5**. */
5112
+ borderColor?: string;
5113
+ /** Background color. Default: **#FFFFFF**. */
5114
+ background?: string;
5115
+ /** Card padding. Default: **24** (px). */
5116
+ padding?: number | string;
5117
+ /** Vertical gap between the title row, banners, charts, and bottom legend. Default: **10** (px). */
5118
+ gap?: number | string;
5119
+ /** Explicit width (in addition to the `cardMaxWidth` prop's max-width). Default: **100%**. */
5120
+ width?: number | string;
5121
+ /** CSS `box-shadow`. Unset by default. */
5122
+ boxShadow?: string;
5123
+ /** Root element/component rendered for the card shell. Default: MUI `Box`'s own default (`'div'`). */
5124
+ component?: ElementType;
5125
+ };
5126
+ /** Title row (title + info button + `headerActions`). */
5127
+ header?: {
5128
+ titleSx?: SxProps$1<Theme$1>;
5129
+ rowSx?: SxProps$1<Theme$1>;
5130
+ /** Default: **`"Noto Sans", sans-serif`**. */
5131
+ titleFontFamily?: string;
5132
+ /** Default: **700**. */
5133
+ titleFontWeight?: number | string;
5134
+ /** Default: **22** (px). */
5135
+ titleFontSize?: number | string;
5136
+ /** Default: **#000000**. */
5137
+ titleColor?: string;
5138
+ /** Root element/component rendered for the title. Default: **`'h2'`**. */
5139
+ titleComponent?: ElementType;
5140
+ /** Gap between the title and the info-button/`headerActions` group. Default: **2** (theme spacing, 16px). */
5141
+ gap?: number | string;
5142
+ /** Gap between the separator, info button, and `headerActions` within their group. Default: **1.5** (theme spacing, 12px). */
5143
+ actionsGap?: number | string;
5144
+ /** Hides the whole title row (title, separator, info button, `headerActions`). Default: **false**. */
5145
+ hidden?: boolean;
5146
+ /** `aria-label` on the info button. Default: **`'Chart information'`**. */
5147
+ infoButtonAriaLabel?: string;
5148
+ /** Forwarded to `ChartWidgetInfoButton` — every prop except `popover`/`ariaLabel`, which are already covered by `infoPopover`/`infoButtonAriaLabel`. */
5149
+ infoButtonProps?: Partial<Omit<ChartWidgetInfoButtonProps, 'popover' | 'ariaLabel'>>;
5150
+ };
5151
+ /** The `FalconStatBannerGroup` row above the charts. */
5152
+ banners?: {
5153
+ sx?: SxProps$1<Theme$1>;
5154
+ /** Gap between the two pills. Forwarded to `FalconStatBannerGroup`'s `spacing`. */
5155
+ spacing?: number;
5156
+ /** Hides the whole stat-pill row. Default: **false**. */
5157
+ hidden?: boolean;
5158
+ /**
5159
+ * When `false`, skip layering the Go Colors day-over-day badge defaults (radius, padding,
5160
+ * font, self-contained arrow icon) under `walkinsBanner.trend` / `passerbyBanner.trend` —
5161
+ * your `trend` object is used exactly as given, falling back to `FalconStatBanner`'s own
5162
+ * built-in defaults for anything you don't set. Default: **true**.
5163
+ */
5164
+ applyTrendDefaults?: boolean;
5165
+ };
5166
+ /** The two-column Grid row containing the charts. */
5167
+ chartsRow?: {
5168
+ sx?: SxProps$1<Theme$1>;
5169
+ /** Hides the whole charts row (both panels). Default: **false**. */
5170
+ hidden?: boolean;
5171
+ /** Gap between the two chart panels. Forwarded to the Grid `spacing`. Default: `3`. */
5172
+ spacing?: number;
5173
+ /** Left (Walk-in Traffic) panel width. Default: `{ xs: 12, md: 6 }`. */
5174
+ walkinTrafficGridSize?: OverallFootfallPasserbyTrendsGridSize;
5175
+ /** Right (Passerby Conversion) panel width. Default: `{ xs: 12, md: 6 }`. */
5176
+ passerbyConversionGridSize?: OverallFootfallPasserbyTrendsGridSize;
5177
+ /** CSS `order` for the Walk-in Traffic panel — pair with a matching `passerbyConversionOrder` to swap which side each chart renders on. */
5178
+ walkinTrafficOrder?: number;
5179
+ /** CSS `order` for the Passerby Conversion panel. */
5180
+ passerbyConversionOrder?: number;
5181
+ };
5182
+ /** Bottom legend strip beneath the charts. */
5183
+ bottomLegend?: {
5184
+ sx?: SxProps$1<Theme$1>;
5185
+ /** Hides the whole bottom legend strip, regardless of `bottomLegendItems`. Default: **false**. */
5186
+ hidden?: boolean;
5187
+ itemSx?: SxProps$1<Theme$1>;
5188
+ labelSx?: SxProps$1<Theme$1>;
5189
+ /** Square swatch size (non-line items). Default: **16**. */
5190
+ swatchSizePx?: number;
5191
+ /** Line swatch width (line items, e.g. Conversion). Default: **16**. */
5192
+ lineSwatchWidthPx?: number;
5193
+ /** Line swatch thickness (line items). Default: **3**. */
5194
+ lineSwatchHeightPx?: number;
5195
+ /** Square swatch border-radius (non-line items). Default: **'2px'**. */
5196
+ swatchBorderRadius?: number | string;
5197
+ /** Line swatch border-radius (line items). Default: **0.5** (theme spacing, 4px). */
5198
+ lineSwatchBorderRadius?: number | string;
5199
+ /** Default: **`"Noto Sans", sans-serif`** (matches the title font). */
5200
+ labelFontFamily?: string;
5201
+ /** Default: **400**. */
5202
+ labelFontWeight?: number | string;
5203
+ /** Default: **14** (px). */
5204
+ labelFontSize?: number | string;
5205
+ /** Default: **#000000**. */
5206
+ labelColor?: string;
5207
+ };
5208
+ /** The two inner charts' own panel titles (`walkinTrafficTitle` / `passerbyConversionTitle`). */
5209
+ chartTitles?: {
5210
+ walkinTraffic?: {
5211
+ sx?: SxProps$1<Theme$1>;
5212
+ /** Default: falcon-web-ui's brand font stack (see component description). */
5213
+ fontFamily?: string;
5214
+ /** Default: **600**. */
5215
+ fontWeight?: number | string;
5216
+ /** Default: **12** (px). */
5217
+ fontSize?: number | string;
5218
+ /** Default: **#1a1a1a**. */
5219
+ color?: string;
5220
+ /** Default: **1.4**. */
5221
+ lineHeight?: number | string;
5222
+ /** Default: **'center'**. */
5223
+ textAlign?: 'left' | 'center' | 'right';
5224
+ };
5225
+ passerbyConversion?: {
5226
+ sx?: SxProps$1<Theme$1>;
5227
+ /** Default: falcon-web-ui's brand font stack (see component description). */
5228
+ fontFamily?: string;
5229
+ /** Default: **600**. */
5230
+ fontWeight?: number | string;
5231
+ /** Default: **12** (px). */
5232
+ fontSize?: number | string;
5233
+ /** Default: **#1a1a1a**. */
5234
+ color?: string;
5235
+ /** Default: **1.4**. */
5236
+ lineHeight?: number | string;
5237
+ /** Default: **'center'**. */
5238
+ textAlign?: 'left' | 'center' | 'right';
5239
+ };
5240
+ };
5241
+ /**
5242
+ * Forwarded to the inner **WalkinTraffic** chart — every prop except `data`/`title`, which the
5243
+ * widget owns via `walkinTrafficData`/`walkinTrafficTitle`.
5244
+ */
5245
+ walkinTraffic?: Partial<Omit<WalkinTrafficProps, 'data' | 'title'>>;
5246
+ /**
5247
+ * Forwarded to the inner **PasserbyConversion** chart — every prop except
5248
+ * `data`/`title`/`timeSlots`, which the widget owns via `passerbyConversionData`/
5249
+ * `passerbyConversionTitle`/`passerbyConversionTimeSlots`.
5250
+ */
5251
+ passerbyConversion?: Partial<Omit<PasserbyConversionProps, 'data' | 'title' | 'timeSlots'>>;
5252
+ }
5253
+ interface OverallFootfallPasserbyTrendsProps {
5254
+ /** Outer widget title. Default: **Overall Footfall & Passerby Trends**. */
5255
+ title?: string;
5256
+ /** Left stat pill (default color **#0086A9**, matches the Walk-in Traffic chart bar). */
5257
+ walkinsBanner: OverallFootfallPasserbyTrendsBanner;
5258
+ /** Right stat pill (default color **#FFC647**, matches the Passerby Conversion chart bar). */
5259
+ passerbyBanner: OverallFootfallPasserbyTrendsBanner;
5260
+ /** Rows for the left **WalkinTraffic** chart. */
5261
+ walkinTrafficData: WalkinTrafficProps['data'];
5262
+ /** Left chart panel title. Default: **Walk-in Traffic**. */
5263
+ walkinTrafficTitle?: string;
5264
+ /** Rows for the right **PasserbyConversion** chart. */
5265
+ passerbyConversionData: PasserbyConversionProps['data'];
5266
+ /** Right chart panel title. Default: **Passerby Conversion**. */
5267
+ passerbyConversionTitle?: string;
5268
+ /** Stable X-axis slots forwarded to **PasserbyConversion** (see its `timeSlots` prop). */
5269
+ passerbyConversionTimeSlots?: PasserbyConversionProps['timeSlots'];
5270
+ /** Shared plot height (px) applied to both charts, unless overridden per-chart via `customization`. Default: **400**. */
5271
+ chartHeight?: number;
5272
+ /**
5273
+ * Bottom legend items shown under both charts. Default: **Walk-ins** (**#0086A9**),
5274
+ * **Passerby** (**#FFC647**), **Conversion** (**#754C7F**) — all square swatches, matching the
5275
+ * Figma spec.
5276
+ */
5277
+ bottomLegendItems?: OverallFootfallPasserbyTrendsBottomLegendItem[];
5278
+ /** Header info button content. Omit for no info button. */
5279
+ infoPopover?: ChartWidgetInfoPopoverContent;
5280
+ /** Right side of the title row, rendered after the info button (e.g. a date filter). */
5281
+ headerActions?: ReactNode;
5282
+ /** Outer card max-width. Default: **1320** (px, matches the Figma frame) — `width: 100%` keeps it responsive below that. */
5283
+ cardMaxWidth?: ChartCardMaxWidth;
5284
+ /** Deep theme override — see `OverallFootfallPasserbyTrendsCustomization`. */
5285
+ customization?: OverallFootfallPasserbyTrendsCustomization;
5286
+ }
5287
+
5288
+ /**
5289
+ * **OverallFootfallPasserbyTrends** widget: outer card with a title row (+ optional info button),
5290
+ * two **FalconStatBanner** pills, the existing **WalkinTraffic** and **PasserbyConversion** charts
5291
+ * side by side (own legends hidden), and a single shared bottom legend.
5292
+ *
5293
+ * The two inner charts accept their **full** own prop set via `customization.walkinTraffic` /
5294
+ * `customization.passerbyConversion` (colors, tooltips, animation, bar styling, etc.) — nothing in
5295
+ * either chart is off-limits from this widget. Outer chrome (card, title, banners, bottom legend)
5296
+ * has its own named customization fields matching the Figma spec defaults, plus an `sx` escape
5297
+ * hatch on every area.
5298
+ */
5299
+ declare function OverallFootfallPasserbyTrends({ title, walkinsBanner, passerbyBanner, walkinTrafficData, walkinTrafficTitle, passerbyConversionData, passerbyConversionTitle, passerbyConversionTimeSlots, chartHeight, bottomLegendItems, infoPopover, headerActions, cardMaxWidth, customization, }: OverallFootfallPasserbyTrendsProps): React$1.ReactElement;
5300
+
5301
+ /** `'card'` renders `CounterStatusOverviewCards` (one per entry in `cards`); `'list'` renders `CounterStatusOverviewTable`. */
5302
+ type CounterStatusOverviewViewMode = 'card' | 'list';
5303
+ /** Per-area style overrides — every field falls back to the Figma-spec default. */
5304
+ interface CounterStatusOverviewCustomization {
5305
+ /** Outer card shell. */
5306
+ root?: {
5307
+ /** Default: **1320** (px). */
5308
+ width?: number | string;
5309
+ /** Unset by default — the card sizes to its content (header + cards/table) instead of a fixed height, so there's no dead space below a short card/list. Set explicitly to force a fixed height. */
5310
+ height?: number | string;
5311
+ /** Default: **12** (px). */
5312
+ borderRadius?: number | string;
5313
+ /** Gap between the header row and the card/list content. Default: **16** (px). */
5314
+ gap?: number | string;
5315
+ /** Default: **16** (px). */
5316
+ padding?: number | string;
5317
+ /** Default: **#FFFFFF**. */
5318
+ background?: string;
5319
+ /** Default: **`'"Neue Haas Grotesk Display Pro", "Noto Sans", "Roboto", "Public Sans", sans-serif'`** — applied to every piece of text in the widget (title, search, view toggle, empty state) unless a more specific `fontFamily` is set elsewhere. */
5320
+ fontFamily?: string;
5321
+ sx?: SxProps$1<Theme$1>;
5322
+ };
5323
+ /** The "Counter Status Overview" title + search bar + view toggle row. */
5324
+ header?: {
5325
+ /** Default: **#000000**. */
5326
+ titleColor?: string;
5327
+ /** Default: **20** (px). */
5328
+ titleFontSize?: number | string;
5329
+ /** Default: **700**. */
5330
+ titleFontWeight?: number | string;
5331
+ /** Root element/component rendered for the title. Default: MUI `Typography`'s own default (`'p'`, via the `body1` variant). */
5332
+ titleComponent?: ElementType;
5333
+ /** Gap between the search bar and the view-toggle group. Default: **16** (px). */
5334
+ actionsGap?: number | string;
5335
+ sx?: SxProps$1<Theme$1>;
5336
+ };
5337
+ /** The search input. */
5338
+ search?: {
5339
+ /** Hides the search bar entirely. Default: **false**. */
5340
+ hidden?: boolean;
5341
+ /** Default: **521** (px). */
5342
+ width?: number | string;
5343
+ /** Default: **40** (px). */
5344
+ height?: number | string;
5345
+ /** Default: **8** (px). */
5346
+ borderRadius?: number | string;
5347
+ /** Default: **#F3F3F5**. */
5348
+ background?: string;
5349
+ /** Default: **#E0E0E0**. */
5350
+ borderColor?: string;
5351
+ /** Default: **#757575**. */
5352
+ placeholderColor?: string;
5353
+ /** Input text color. Default: **#000000**. */
5354
+ textColor?: string;
5355
+ /** Input text weight. Default: **600**. */
5356
+ textFontWeight?: number | string;
5357
+ /** Input text size. Default: **14** (px). */
5358
+ textFontSize?: number | string;
5359
+ /** Input text letter-spacing. Default: **-0.05px**. */
5360
+ letterSpacing?: number | string;
5361
+ /** Default: **#000000**. */
5362
+ iconColor?: string;
5363
+ /** Replaces the default magnifying-glass icon entirely (ignores `iconColor`). */
5364
+ icon?: ReactNode;
5365
+ sx?: SxProps$1<Theme$1>;
5366
+ };
5367
+ /** The card-view / list-view toggle button group. */
5368
+ viewToggle?: {
5369
+ /** Hides the card/list toggle entirely. Default: **false**. */
5370
+ hidden?: boolean;
5371
+ /** Default: **88** (px). */
5372
+ width?: number | string;
5373
+ /** Default: **42** (px). */
5374
+ height?: number | string;
5375
+ /** Default: **8** (px). */
5376
+ borderRadius?: number | string;
5377
+ /** Default: **#0000001F** (the design's `--divider` token). */
5378
+ borderColor?: string;
5379
+ /** Selected button's background. Default: **#F3F3F5**. */
5380
+ activeBackground?: string;
5381
+ /** Unselected button's background. Default: **'transparent'**. */
5382
+ inactiveBackground?: string;
5383
+ /** Unselected button's hover background. Default: **rgba(0, 0, 0, 0.04)**. */
5384
+ inactiveHoverBackground?: string;
5385
+ /** Divider between the card/list buttons. Unset by default (no divider rendered). */
5386
+ dividerColor?: string;
5387
+ /** Replaces the default grid icon for the card-view button. */
5388
+ cardIcon?: ReactNode;
5389
+ /** Replaces the default list icon for the list-view button. */
5390
+ listIcon?: ReactNode;
5391
+ sx?: SxProps$1<Theme$1>;
5392
+ };
5393
+ /**
5394
+ * The row of `CounterStatusOverviewCards` shown in `'card'` view. Cards render as CSS Grid
5395
+ * columns (each card's own width is overridden to `100%` of its column) that grow to fill the
5396
+ * row but never shrink below `minCardWidth`, wrapping onto a new row instead. The gap between
5397
+ * cards defaults to the same value as the whitespace on either edge (`root.padding`).
5398
+ */
5399
+ cardsRow?: {
5400
+ /** Default: **16** (px) — matches `root.padding` so edge and inter-card spacing are equal. */
5401
+ gap?: number | string;
5402
+ /** Minimum width a card can shrink to before wrapping to a new row. Default: **400** (px) — deliberately a bit under `CounterStatusOverviewCards`'s own 420px default width so 3 cards still fit one row (stretching each to ~419px) at the default `root.width`/`root.padding`/`gap` instead of dropping to 2 stretched-out columns. */
5403
+ minCardWidth?: number | string;
5404
+ sx?: SxProps$1<Theme$1>;
5405
+ };
5406
+ /** Shown instead of the cards/table when the search query matches nothing. */
5407
+ emptyState?: {
5408
+ label?: string;
5409
+ /** Rendered above the label. */
5410
+ icon?: ReactNode;
5411
+ sx?: SxProps$1<Theme$1>;
5412
+ };
5413
+ }
5414
+ interface CounterStatusOverviewProps {
5415
+ /** Default: **'Counter Status Overview'**. */
5416
+ title?: string;
5417
+ /** Default: **'Search'**. */
5418
+ searchPlaceholder?: string;
5419
+ /** Controlled search text. Omit to let the component manage its own (see `defaultSearchValue`). */
5420
+ searchValue?: string;
5421
+ /** Initial search text in uncontrolled mode. Default: **''**. */
5422
+ defaultSearchValue?: string;
5423
+ /** Fired on every keystroke, in both controlled and uncontrolled mode. */
5424
+ onSearchChange?: (value: string) => void;
5425
+ /** Controlled view mode. Omit to let the component manage its own (see `defaultView`). */
5426
+ view?: CounterStatusOverviewViewMode;
5427
+ /** Initial view mode in uncontrolled mode. Default: **'card'**. */
5428
+ defaultView?: CounterStatusOverviewViewMode;
5429
+ onViewChange?: (view: CounterStatusOverviewViewMode) => void;
5430
+ /**
5431
+ * One `CounterStatusOverviewCards` per entry, rendered side by side when `view === 'card'`.
5432
+ * Filtered by the search query against `title` / `cameraId` / `counterNumber`.
5433
+ */
5434
+ cards: CounterStatusOverviewCardsProps[];
5435
+ /**
5436
+ * Forwarded to `CounterStatusOverviewTable` when `view === 'list'` — `rows` is filtered by the
5437
+ * search query against `counterNumber` / `cameraId` before being passed down.
5438
+ */
5439
+ table: CounterStatusOverviewTableProps;
5440
+ /**
5441
+ * Overrides which fields a search query matches against for `'card'` view. Defaults to matching
5442
+ * `title` / `cameraId` / `counterNumber` (case-insensitive, whitespace-trimmed).
5443
+ */
5444
+ filterCard?: (card: CounterStatusOverviewCardsProps, normalizedQuery: string) => boolean;
5445
+ /**
5446
+ * Overrides which fields a search query matches against for `'list'` view. Defaults to matching
5447
+ * `counterNumber` / `cameraId` (case-insensitive, whitespace-trimmed).
5448
+ */
5449
+ filterRow?: (row: CounterStatusOverviewTableRow, normalizedQuery: string) => boolean;
5450
+ /** Extra root styles — merges last. */
5451
+ sx?: SxProps$1<Theme$1>;
5452
+ /** Per-area style overrides — see `CounterStatusOverviewCustomization`. */
5453
+ customization?: CounterStatusOverviewCustomization;
5454
+ }
5455
+
5456
+ /**
5457
+ * **CounterStatusOverview** — the combined "Counter Status Overview" widget: a title row with a
5458
+ * search bar and a card-view/list-view toggle, showing either **CounterStatusOverviewCards** (side
5459
+ * by side) or **CounterStatusOverviewTable** underneath depending on the selected view. The search
5460
+ * query filters whichever view is active (against title/camera id/counter number).
5461
+ *
5462
+ * `view`/`onViewChange` and `searchValue`/`onSearchChange` each follow the standard
5463
+ * controlled/uncontrolled pair — omit the controlled prop to let the component manage its own
5464
+ * state (seeded from `defaultView`/`defaultSearchValue`).
5465
+ */
5466
+ declare function CounterStatusOverview({ title, searchPlaceholder, searchValue, defaultSearchValue, onSearchChange, view, defaultView, onViewChange, cards, table, filterCard, filterRow, sx, customization, }: CounterStatusOverviewProps): React$1.ReactElement;
5467
+
4257
5468
  type FalconThemeMode = 'light' | 'dark';
4258
5469
  type FalconThemeDirection = 'ltr' | 'rtl';
4259
5470
  interface FalconThemeSettings {
@@ -4274,4 +5485,4 @@ interface FalconThemeProviderProps {
4274
5485
 
4275
5486
  declare const FalconThemeProvider: ({ children, mode: modeProp, settings, }: FalconThemeProviderProps) => react_jsx_runtime.JSX.Element;
4276
5487
 
4277
- export { AddCommentInput, type AddCommentInputProps, AdvancedFiltersDialog, type AdvancedFiltersDialogProps, type AuditRunItemV2, BILLING_COUNTER_LINE_PRIMARY, BILLING_COUNTER_TABS_TRACK_BG, BillingCounterAnalytics, type BillingCounterAnalyticsCustomization, BillingCounterAnalyticsCustomizationProvider, type BillingCounterAnalyticsPoint, type BillingCounterAnalyticsProps, type BillingCounterAnalyticsTooltipRenderContext, type BillingCounterAnalyticsTooltipTheme, type BillingCounterChartMargin, ButtonWithIcon, type ButtonWithIconProps, CHART_PERIOD_FILTER_INFO_POPOVER, ChartEmptyState, type ChartEmptyStateProps, ChartWidgetHeaderSeparator, ChartWidgetInfoButton, type ChartWidgetInfoButtonProps, type ChartWidgetInfoPopoverContent, RankedBarList as ChartWidgetRankedBarList, type RankedBarListItem as ChartWidgetRankedBarListItem, type RankedBarListProps as ChartWidgetRankedBarListProps, type RankedBarListSegment as ChartWidgetRankedBarSegment, type ChartWidgetSegmentedTab, type ChartWidgetSegmentedTabLayout, ChartWidgetSegmentedTabs, type ChartWidgetSegmentedTabsProps, CustomerJourneyAnalysis, type CustomerJourneyAnalysisProps, DEFAULT_BILLING_COUNTER_ANALYTICS_INFO_POPOVER, DEFAULT_FOOTFALL_TILE_ICONS, DEFAULT_PEAK_BILLING_HOURS_INFO_POPOVER, DEFAULT_QUEUE_TIME_BREAKDOWN_INFO_POPOVER, DEFAULT_STORE_PERFORMANCE_BY_ASSIST_INFO_POPOVER, FalconAuditTimeline, type FalconAuditTimelineProps, FalconAuditTimelineV2, type FalconAuditTimelineV2Props, FalconButton, type FalconButtonProps, FalconDIstrictFilter, type FalconDIstrictFilterOption, type FalconDIstrictFilterProps, FalconExportDialog, type FalconExportDialogProps, FalconExportReportDialog, type FalconExportReportDialogProps, FalconGrayButton, type FalconGrayButtonProps, FalconMultiSelect, type FalconMultiSelectOption, type FalconMultiSelectProps, type FalconMultiSelectStyleProps, FalconPagination, type FalconPaginationProps, FalconSelect, type FalconSelectOption, type FalconSelectProps, FalconSelectReportDate, type FalconSelectReportDateProps, FalconSingleSwitch, type FalconSingleSwitchProps, FalconStatBanner, FalconStatBannerGroup, type FalconStatBannerGroupProps, type FalconStatBannerProps, FalconTable, type FalconTableProps, type FalconThemeDirection, type FalconThemeMode, FalconThemeProvider, type FalconThemeProviderProps, type FalconThemeSettings, FalconTicketColumsFilter, type FalconTicketColumsFilterProps, FalconTicketFilter, type FalconTicketFilterProps, type FilterOption, type FootFallHeatMapBarRowContext, type FootFallHeatMapBuildBarRow, type FootFallHeatMapIconColor, type FootFallHeatMapIconSize, type FootFallHeatMapIconSizeContext, type FootFallHeatMapIcons, type FootFallHeatMapKpiStripPresentation, type FootFallHeatMapKpiStripSegmentTooltipRenderContext, type FootFallHeatMapKpiSummaryCardItem, type FootFallHeatMapSummaryKpis, type FootFallHeatMapTileIconRole, type FootFallHeatMapTileMetricsCustomization, type FootFallHeatMapTreeOptions, type FootFallHeatMapTreemapColorCustomization, type FootFallHeatMapTreemapLayout, FootFallHeatMapView, type FootFallHeatMapViewProps, FootfallByAgeGroups, type ChartCardMaxWidth as FootfallByAgeGroupsCardMaxWidth, type FootfallByAgeGroupsChartColors, type FootfallByAgeGroupsChartMargin, type FootfallByAgeGroupsHorizontalScroll, type FootfallByAgeGroupsProps, type FootfallByAgeGroupsRow, type FootfallByAgeGroupsSeries, type FootfallByAgeGroupsTooltipRenderContext, type FootfallByAgeGroupsTooltipStyles, FootfallByGender, type ChartCardMaxWidth as FootfallByGenderCardMaxWidth, type FootfallByGenderChartColors, type FootfallByGenderChartMargin, type FootfallByGenderHorizontalScroll, type FootfallByGenderProps, type FootfallByGenderRow, type FootfallByGenderTooltipRenderContext, type FootfallByGenderTooltipStyles, HeatMapChartLegend, type HeatMapChartLegendProps, type HeatMapLegendItem, JourneyMetricCard, type JourneyMetricCardProps, type JourneyMetricConfig, JourneyStatCard, type JourneyStatCardProps, type JourneyStatConfig, KpiStatCard, type KpiStatCardCustomization, type KpiStatCardDetailedProps, type KpiStatCardIconBackdropShape, type KpiStatCardInfoPlacement, type KpiStatCardInlineProps, type KpiStatCardProps, type KpiTrend, type KpiTrendLayout, type MonthData$1 as MonthData, PasserbyConversion, type ChartCardMaxWidth as PasserbyConversionCardMaxWidth, type PasserbyConversionChartColors, type PasserbyConversionChartMargin, type PasserbyConversionHorizontalScroll, type PasserbyConversionProps, type PasserbyConversionRow, type PasserbyConversionTooltipRenderContext, type PasserbyConversionTooltipStyles, PeakBillingHours, type PeakBillingHoursChartMargin, type PeakBillingHoursCustomization, PeakBillingHoursCustomizationProvider, type PeakBillingHoursPoint, type PeakBillingHoursProps, type PeakBillingHoursTooltipRenderContext, ProgressBarNumber, type ProgressBarNumberProps, QUEUE_CHART_COLORS, QUEUE_STACKED_BAR_THICKNESS_PX, QUEUE_TIME_BREAKDOWN_DEFAULT_HEADER_IMAGE_SRC, QUEUE_TIME_BREAKDOWN_INFO_POPOVER, type QueueBucketLegendItem, type QueueTimeAreaSeriesPoint, type QueueTimeAreaTooltipTheme, QueueTimeBreakdown, QueueTimeBreakdownArea, type QueueTimeBreakdownAreaProps, type QueueTimeBreakdownAreaTooltipRenderContext, type QueueTimeBreakdownBarRow, type QueueTimeBreakdownCustomization, QueueTimeBreakdownCustomizationProvider, QueueTimeBreakdownDonut, type QueueTimeBreakdownDonutProps, type QueueTimeBreakdownDonutTooltipRenderContext, type QueueTimeBreakdownProps, QueueTimeBreakdownStackedBar, type QueueTimeBreakdownStackedBarProps, type QueueTimeBreakdownStackedBarTooltipRenderContext, type QueueTimeChartFilter, TimePeriodFilter as QueueTimePeriodFilter, type QueueTimePeriodFilterInfoButtonPresentation, type TimePeriodFilterProps as QueueTimePeriodFilterProps, type QueueTimePeriodFilterTheme, type QueueTimeRechartsTooltipTheme, type QueueTimeStackedSeriesItem, RankedBarList, type RankedBarListCustomization, type RankedBarListItem, type RankedBarListProps, type RankedBarListSegment, type RankedBarListSegmentTooltipRenderContext, STACKED_COMPARISON_DEFAULT_COMPARISON_COLOR, STACKED_COMPARISON_DEFAULT_FRAME_BORDER, STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR, STACKED_COMPARISON_DEFAULT_LEGEND_STACK_COLOR, STACKED_COMPARISON_DEFAULT_STACK_COLORS, STORE_PERFORMANCE_DEFAULT_BUCKETS, STORE_PERFORMANCE_DEFAULT_DATA, StackedComparisonBarChart, type StackedComparisonBarChartCustomization, StackedComparisonBarChartCustomizationProvider, type StackedComparisonBarChartProps, type StackedComparisonBarChartRow, StackedComparisonBarChartTooltip, type StackedComparisonBarChartTooltipProps, type StackedComparisonBarChartTooltipRenderContext, type StackedComparisonBarChartTooltipTheme, type StackedComparisonBucket, type StackedComparisonChartMargin, StorePerformanceByAssist, type StorePerformanceByAssistBucket, type StorePerformanceByAssistCustomization, type StorePerformanceByAssistProps, type StorePerformanceByAssistRow, TIME_PERIOD_FILTER_INFO_POPOVER, TIME_PERIOD_FILTER_INFO_POPOVER_BREAKDOWN, TimePeriodFilter, type TimePeriodFilterInfoButtonPresentation, type TimePeriodFilterProps, type TimePeriodFilterTheme, type TreemapNode, WalkinAnalysis, type WalkinAnalysisCardMaxWidth, type WalkinAnalysisCustomization, type WalkinAnalysisPieSize, type WalkinAnalysisProps, type WalkinAnalysisSlice, type WalkinAnalysisTab, type WalkinAnalysisTooltipRenderContext, type WalkinAnalysisTypography, WalkinTraffic, WalkinTraffic as WalkinTrafficByHour, type ChartCardMaxWidth as WalkinTrafficByHourCardMaxWidth, type WalkinTrafficChartColors as WalkinTrafficByHourChartColors, type WalkinTrafficChartMargin as WalkinTrafficByHourChartMargin, type WalkinTrafficHorizontalScroll as WalkinTrafficByHourHorizontalScroll, type WalkinTrafficProps as WalkinTrafficByHourProps, type WalkinTrafficRow as WalkinTrafficByHourRow, type WalkinTrafficTooltipStyles as WalkinTrafficByHourTooltipStyles, type ChartCardMaxWidth as WalkinTrafficCardMaxWidth, type WalkinTrafficChartColors, type WalkinTrafficChartMargin, type WalkinTrafficHorizontalScroll, type WalkinTrafficProps, type WalkinTrafficRow, type WalkinTrafficTooltipRenderContext, type WalkinTrafficTooltipStyles, WidgetHeaderFilter, type WidgetHeaderFilterProps, type WidgetHeaderFilterStyleProps, type WidgetHeaderMultiSelectConfig, type ZoneAnalyticsFlatItem, type ZoneAnalyticsHierarchy, type ZoneAnalyticsMetrics, type ZoneKpiStripPayload, ZoneWiseKpiCards, billingCounterDefaultTabs, billingCounterMockSeriesByTabId, buildTreemapNodes, createTreemapTileColorResolver, generateMockPerformanceData, getChildContainer, getNestedList, getQueueTimeBreakdownAreaSeriesData, getQueueTimeBreakdownAreaXAxisData, hashColor, isPlainObject, mergeAreaTooltipStyles, mergeCss$1 as mergeCss, mergeRechartsTooltipStyles, mergeSx$1 as mergeSx, metricForNode, parseMinutes, parseZoneKpiStripFromRaw, peakBillingHoursDefaultTabs, peakBillingHoursMockSeriesByTabId, peakBillingHoursVisitsMock, preprocessData, skipSingleBranchLevels, mergeCss as stackedComparisonMergeCss, mergeSx as stackedComparisonMergeSx, toRechartsTreemapData, useBillingCounterAnalyticsCustomization, usePeakBillingHoursCustomization, useQueueTimeBreakdownCustomization, useStackedComparisonBarChartCustomization };
5488
+ export { AddCommentInput, type AddCommentInputProps, AdvancedFiltersDialog, type AdvancedFiltersDialogProps, type AuditRunItemV2, BILLING_COUNTER_LINE_PRIMARY, BILLING_COUNTER_TABS_TRACK_BG, BillingCounterAnalytics, type BillingCounterAnalyticsCustomization, BillingCounterAnalyticsCustomizationProvider, type BillingCounterAnalyticsPoint, type BillingCounterAnalyticsProps, type BillingCounterAnalyticsTooltipRenderContext, type BillingCounterAnalyticsTooltipTheme, type BillingCounterChartMargin, ButtonWithIcon, type ButtonWithIconProps, CHART_PERIOD_FILTER_INFO_POPOVER, ChartEmptyState, type ChartEmptyStateProps, ChartWidgetHeaderSeparator, ChartWidgetInfoButton, type ChartWidgetInfoButtonProps, type ChartWidgetInfoPopoverContent, RankedBarList as ChartWidgetRankedBarList, type RankedBarListItem as ChartWidgetRankedBarListItem, type RankedBarListProps as ChartWidgetRankedBarListProps, type RankedBarListSegment as ChartWidgetRankedBarSegment, type ChartWidgetSegmentedTab, type ChartWidgetSegmentedTabLayout, ChartWidgetSegmentedTabs, type ChartWidgetSegmentedTabsProps, CounterStatusOverview, CounterStatusOverviewCards, type CounterStatusOverviewCardsCustomization, type CounterStatusOverviewCardsProps, type CounterStatusOverviewCardsStat, type CounterStatusOverviewCardsVariant, type CounterStatusOverviewCustomization, type CounterStatusOverviewProps, CounterStatusOverviewTable, type CounterStatusOverviewTableColumnWidths, type CounterStatusOverviewTableCustomization, type CounterStatusOverviewTableDetailStatusVariant, type CounterStatusOverviewTableProps, type CounterStatusOverviewTableQueuePill, type CounterStatusOverviewTableQueuePillVariant, type CounterStatusOverviewTableRow, type CounterStatusOverviewTableRowDetails, type CounterStatusOverviewTableRowVariant, type CounterStatusOverviewViewMode, CustomerJourneyAnalysis, type CustomerJourneyAnalysisProps, DEFAULT_BILLING_COUNTER_ANALYTICS_INFO_POPOVER, DEFAULT_FOOTFALL_TILE_ICONS, DEFAULT_PEAK_BILLING_HOURS_INFO_POPOVER, DEFAULT_QUEUE_TIME_BREAKDOWN_INFO_POPOVER, DEFAULT_STORE_PERFORMANCE_BY_ASSIST_INFO_POPOVER, FalconAuditTimeline, type FalconAuditTimelineProps, FalconAuditTimelineV2, type FalconAuditTimelineV2Props, FalconButton, type FalconButtonProps, FalconDIstrictFilter, type FalconDIstrictFilterOption, type FalconDIstrictFilterProps, FalconExportDialog, type FalconExportDialogProps, FalconExportReportDialog, type FalconExportReportDialogProps, FalconGrayButton, type FalconGrayButtonProps, FalconMultiSelect, type FalconMultiSelectOption, type FalconMultiSelectProps, type FalconMultiSelectStyleProps, FalconPagination, type FalconPaginationProps, FalconSelect, type FalconSelectOption, type FalconSelectProps, FalconSelectReportDate, type FalconSelectReportDateProps, FalconSingleSwitch, type FalconSingleSwitchProps, FalconStatBanner, FalconStatBannerGroup, type FalconStatBannerGroupProps, type FalconStatBannerProps, type FalconStatBannerTrend, FalconStoreCountPill, type FalconStoreCountPillProps, FalconTable, type FalconTableProps, type FalconThemeDirection, type FalconThemeMode, FalconThemeProvider, type FalconThemeProviderProps, type FalconThemeSettings, FalconTicketColumsFilter, type FalconTicketColumsFilterProps, FalconTicketFilter, type FalconTicketFilterProps, type FilterOption, type FootFallHeatMapBarRowContext, type FootFallHeatMapBuildBarRow, type FootFallHeatMapIconColor, type FootFallHeatMapIconSize, type FootFallHeatMapIconSizeContext, type FootFallHeatMapIcons, type FootFallHeatMapKpiStripPresentation, type FootFallHeatMapKpiStripSegmentTooltipRenderContext, type FootFallHeatMapKpiSummaryCardItem, type FootFallHeatMapSummaryKpis, type FootFallHeatMapTileIconRole, type FootFallHeatMapTileMetricsCustomization, type FootFallHeatMapTreeOptions, type FootFallHeatMapTreemapColorCustomization, type FootFallHeatMapTreemapLayout, FootFallHeatMapView, type FootFallHeatMapViewProps, FootfallByAgeGroups, type ChartCardMaxWidth as FootfallByAgeGroupsCardMaxWidth, type FootfallByAgeGroupsChartColors, type FootfallByAgeGroupsChartMargin, type FootfallByAgeGroupsHorizontalScroll, type FootfallByAgeGroupsProps, type FootfallByAgeGroupsRow, type FootfallByAgeGroupsSeries, type FootfallByAgeGroupsTooltipRenderContext, type FootfallByAgeGroupsTooltipStyles, FootfallByGender, type ChartCardMaxWidth as FootfallByGenderCardMaxWidth, type FootfallByGenderChartColors, type FootfallByGenderChartMargin, type FootfallByGenderHorizontalScroll, type FootfallByGenderProps, type FootfallByGenderRow, type FootfallByGenderTooltipRenderContext, type FootfallByGenderTooltipStyles, HeatMapChartLegend, type HeatMapChartLegendProps, type HeatMapLegendItem, JourneyMetricCard, type JourneyMetricCardProps, type JourneyMetricConfig, JourneyStatCard, type JourneyStatCardProps, type JourneyStatConfig, KpiStatCard, type KpiStatCardCustomization, type KpiStatCardDetailedProps, type KpiStatCardIconBackdropShape, type KpiStatCardInfoPlacement, type KpiStatCardInlineProps, type KpiStatCardProps, type KpiTrend, type KpiTrendLayout, type MonthData$1 as MonthData, type MonthData as MonthDataV2, OverallFootfallPasserbyTrends, type OverallFootfallPasserbyTrendsBanner, type OverallFootfallPasserbyTrendsBottomLegendItem, type ChartCardMaxWidth as OverallFootfallPasserbyTrendsCardMaxWidth, type OverallFootfallPasserbyTrendsCustomization, type OverallFootfallPasserbyTrendsGridSize, type OverallFootfallPasserbyTrendsProps, PasserbyConversion, type ChartCardMaxWidth as PasserbyConversionCardMaxWidth, type PasserbyConversionChartColors, type PasserbyConversionChartMargin, type PasserbyConversionHorizontalScroll, type PasserbyConversionProps, type PasserbyConversionRow, type PasserbyConversionTooltipRenderContext, type PasserbyConversionTooltipStyles, PeakBillingHours, type PeakBillingHoursChartMargin, type PeakBillingHoursCustomization, PeakBillingHoursCustomizationProvider, type PeakBillingHoursPoint, type PeakBillingHoursProps, type PeakBillingHoursTooltipRenderContext, ProgressBarNumber, type ProgressBarNumberProps, QUEUE_CHART_COLORS, QUEUE_STACKED_BAR_THICKNESS_PX, QUEUE_TIME_BREAKDOWN_DEFAULT_HEADER_IMAGE_SRC, QUEUE_TIME_BREAKDOWN_INFO_POPOVER, type QueueBucketLegendItem, type QueueTimeAreaSeriesPoint, type QueueTimeAreaTooltipTheme, QueueTimeBreakdown, QueueTimeBreakdownArea, type QueueTimeBreakdownAreaProps, type QueueTimeBreakdownAreaTooltipRenderContext, type QueueTimeBreakdownBarRow, type QueueTimeBreakdownCustomization, QueueTimeBreakdownCustomizationProvider, QueueTimeBreakdownDonut, type QueueTimeBreakdownDonutProps, type QueueTimeBreakdownDonutTooltipRenderContext, type QueueTimeBreakdownProps, QueueTimeBreakdownStackedBar, type QueueTimeBreakdownStackedBarProps, type QueueTimeBreakdownStackedBarTooltipRenderContext, type QueueTimeChartFilter, TimePeriodFilter as QueueTimePeriodFilter, type QueueTimePeriodFilterInfoButtonPresentation, type TimePeriodFilterProps as QueueTimePeriodFilterProps, type QueueTimePeriodFilterTheme, type QueueTimeRechartsTooltipTheme, type QueueTimeStackedSeriesItem, RankedBarList, type RankedBarListCustomization, type RankedBarListItem, type RankedBarListProps, type RankedBarListSegment, type RankedBarListSegmentTooltipRenderContext, STACKED_COMPARISON_DEFAULT_COMPARISON_COLOR, STACKED_COMPARISON_DEFAULT_FRAME_BORDER, STACKED_COMPARISON_DEFAULT_LEGEND_COMPARISON_COLOR, STACKED_COMPARISON_DEFAULT_LEGEND_STACK_COLOR, STACKED_COMPARISON_DEFAULT_STACK_COLORS, STORE_PERFORMANCE_DEFAULT_BUCKETS, STORE_PERFORMANCE_DEFAULT_DATA, StackedComparisonBarChart, type StackedComparisonBarChartCustomization, StackedComparisonBarChartCustomizationProvider, type StackedComparisonBarChartProps, type StackedComparisonBarChartRow, StackedComparisonBarChartTooltip, type StackedComparisonBarChartTooltipProps, type StackedComparisonBarChartTooltipRenderContext, type StackedComparisonBarChartTooltipTheme, type StackedComparisonBucket, type StackedComparisonChartMargin, StorePerformanceByAssist, type StorePerformanceByAssistBucket, type StorePerformanceByAssistCustomization, type StorePerformanceByAssistProps, type StorePerformanceByAssistRow, TIME_PERIOD_FILTER_INFO_POPOVER, TIME_PERIOD_FILTER_INFO_POPOVER_BREAKDOWN, TimePeriodFilter, type TimePeriodFilterInfoButtonPresentation, type TimePeriodFilterProps, type TimePeriodFilterTheme, type TreemapNode, WalkinAnalysis, type WalkinAnalysisCardMaxWidth, type WalkinAnalysisCustomization, type WalkinAnalysisPieSize, type WalkinAnalysisProps, type WalkinAnalysisSlice, type WalkinAnalysisTab, type WalkinAnalysisTooltipRenderContext, type WalkinAnalysisTypography, WalkinTraffic, WalkinTraffic as WalkinTrafficByHour, type ChartCardMaxWidth as WalkinTrafficByHourCardMaxWidth, type WalkinTrafficChartColors as WalkinTrafficByHourChartColors, type WalkinTrafficChartMargin as WalkinTrafficByHourChartMargin, type WalkinTrafficHorizontalScroll as WalkinTrafficByHourHorizontalScroll, type WalkinTrafficProps as WalkinTrafficByHourProps, type WalkinTrafficRow as WalkinTrafficByHourRow, type WalkinTrafficTooltipStyles as WalkinTrafficByHourTooltipStyles, type ChartCardMaxWidth as WalkinTrafficCardMaxWidth, type WalkinTrafficChartColors, type WalkinTrafficChartMargin, type WalkinTrafficHorizontalScroll, type WalkinTrafficProps, type WalkinTrafficRow, type WalkinTrafficTooltipRenderContext, type WalkinTrafficTooltipStyles, WidgetHeaderFilter, type WidgetHeaderFilterProps, type WidgetHeaderFilterStyleProps, type WidgetHeaderMultiSelectConfig, type ZoneAnalyticsFlatItem, type ZoneAnalyticsHierarchy, type ZoneAnalyticsMetrics, type ZoneKpiStripPayload, ZoneWiseKpiCards, billingCounterDefaultTabs, billingCounterMockSeriesByTabId, buildTreemapNodes, createTreemapTileColorResolver, generateMockPerformanceData, getChildContainer, getNestedList, getQueueTimeBreakdownAreaSeriesData, getQueueTimeBreakdownAreaXAxisData, hashColor, isPlainObject, mergeAreaTooltipStyles, mergeCss$1 as mergeCss, mergeRechartsTooltipStyles, mergeSx$1 as mergeSx, metricForNode, parseMinutes, parseZoneKpiStripFromRaw, peakBillingHoursDefaultTabs, peakBillingHoursMockSeriesByTabId, peakBillingHoursVisitsMock, preprocessData, skipSingleBranchLevels, mergeCss as stackedComparisonMergeCss, mergeSx as stackedComparisonMergeSx, toRechartsTreemapData, useBillingCounterAnalyticsCustomization, usePeakBillingHoursCustomization, useQueueTimeBreakdownCustomization, useStackedComparisonBarChartCustomization };