@texturehq/edges 1.26.5 → 1.26.7

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,15 +1,15 @@
1
1
  import { BreadcrumbProps, BreadcrumbsProps, DateValue, CalendarProps as CalendarProps$1, ValidationResult, DisclosurePanelProps, ButtonProps, DisclosureProps, DisclosureGroupProps, DateRangePickerProps as DateRangePickerProps$1, FormProps, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, ListBoxProps as ListBoxProps$1, ListBoxItemProps, ModalOverlayProps, Key, PopoverProps as PopoverProps$1, ProgressBarProps as ProgressBarProps$1, RangeCalendarProps as RangeCalendarProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps, TabsProps as TabsProps$2 } from 'react-aria-components';
2
2
  export { BreadcrumbProps, BreadcrumbsProps, DialogTrigger } from 'react-aria-components';
3
3
  import * as React$1 from 'react';
4
- import React__default, { RefObject, HTMLAttributes, ReactNode, ComponentProps, ComponentType, CSSProperties, Component, ErrorInfo } from 'react';
5
- import { V as FieldValue, W as BooleanFormat, X as FormattedValue, Z as CurrentFormat, _ as DateFormat, $ as DistanceFormat, a0 as EnergyFormat, a1 as CurrencyFormat, a2 as NumberFormat, a3 as PhoneFormat, a4 as PowerFormat, a5 as FormatterFunction, a6 as ResistanceFormat, a7 as TemperatureUnitString, a8 as TemperatureUnit, a9 as TemperatureFormat, aa as TextFormat, ab as VoltageFormat, ac as FieldFormat, K as BaseDataPoint, B as BadgeProps, Y as YFormatType, G as TooltipData, ad as DeviceState, ae as GridState, af as ComponentFormatter, ag as LayerSpec, ah as CustomPinsSpec, ai as GeoJsonLayerSpec, aj as RasterLayerSpec, ak as VectorLayerSpec, al as ClusteredVectorLayerSpec } from './colors-CmCDc1y7.js';
6
- export { A as ActionItem, am as ActionMenu, a as ActionMenuProps, b as AppShell, c as AppShellProps, an as Avatar, d as AvatarProps, ao as Badge, aF as BaseFormat, aA as ChartContext, N as ChartMargin, ap as CodeEditor, C as CodeEditorProps, e as CodeLanguage, f as CodeTheme, aq as ColorSpec, aC as ComponentFormatOptions, aN as CurrentUnit, aQ as CustomFormat, aJ as DateFormatStyle, aP as DistanceUnit, q as ENTITY_CONFIG, aK as EnergyUnit, E as EntityConfig, p as EntityType, H as Heading, av as InteractiveMap, I as InteractiveMapProps, ar as LayerFeature, as as LayerStyle, L as Loader, g as Logo, aw as MAP_TYPES, M as MapPoint, ay as Meter, h as MeterProps, aR as MetricFormat, aI as PercentageFormat, aL as PowerUnit, at as RenderType, aO as ResistanceUnit, j as SegmentOption, az as SegmentedControl, i as SegmentedControlProps, k as SideNav, l as SideNavItem, m as SideNavProps, ax as StaticMap, S as StaticMapProps, T as TextLink, aG as TextTransform, aH as TextTruncatePosition, J as TooltipSeries, n as TopNav, o as TopNavProps, aM as VoltageUnit, U as YFormatSettings, au as ZoomStops, aT as activeDeviceStates, u as clearColorCache, v as createCategoryColorMap, O as createXScale, P as createYScale, Q as defaultMargin, aU as deviceStateLabels, aS as deviceStateMetricFormats, aD as formatComponentValue, w as getContrastingTextColor, x as getDefaultChartColor, y as getDefaultColors, aW as getDeviceStateDisplayLabel, aW as getDeviceStateLabel, r as getEntityConfig, s as getEntityIcon, t as getEntityLabel, aY as getGridStateLabel, z as getResolvedColor, D as getThemeCategoricalColors, R as getYFormatSettings, aX as gridStateLabels, aV as isActiveDeviceState, aV as isActiveState, F as isLightColor, aB as useChartContext, aE as useComponentFormatter } from './colors-CmCDc1y7.js';
4
+ import React__default, { RefObject, ComponentType, ReactNode, HTMLAttributes, ComponentProps, CSSProperties, Component, ErrorInfo } from 'react';
5
+ import { V as FieldValue, W as BooleanFormat, X as FormattedValue, Z as CurrentFormat, _ as DateFormat, $ as DistanceFormat, a0 as EnergyFormat, a1 as CurrencyFormat, a2 as NumberFormat, a3 as PhoneFormat, a4 as PowerFormat, a5 as FormatterFunction, a6 as ResistanceFormat, a7 as TemperatureUnitString, a8 as TemperatureUnit, a9 as TemperatureFormat, aa as TextFormat, ab as VoltageFormat, ac as FieldFormat, K as BaseDataPoint, B as BadgeProps, Y as YFormatType, G as TooltipData, ad as DeviceState, ae as GridState, af as ComponentFormatter, ag as LayerSpec, ah as CustomPinsSpec, ai as GeoJsonLayerSpec, aj as RasterLayerSpec, ak as VectorLayerSpec, al as ClusteredVectorLayerSpec } from './colors-DOPjVyDB.js';
6
+ export { A as ActionItem, am as ActionMenu, a as ActionMenuProps, b as AppShell, c as AppShellProps, an as Avatar, d as AvatarProps, ao as Badge, aF as BaseFormat, aA as ChartContext, N as ChartMargin, ap as CodeEditor, C as CodeEditorProps, e as CodeLanguage, f as CodeTheme, aq as ColorSpec, aC as ComponentFormatOptions, aN as CurrentUnit, aQ as CustomFormat, aJ as DateFormatStyle, aP as DistanceUnit, q as ENTITY_CONFIG, aK as EnergyUnit, E as EntityConfig, p as EntityType, H as Heading, av as InteractiveMap, I as InteractiveMapProps, ar as LayerFeature, as as LayerStyle, L as Loader, g as Logo, aw as MAP_TYPES, M as MapPoint, ay as Meter, h as MeterProps, aR as MetricFormat, aI as PercentageFormat, aL as PowerUnit, at as RenderType, aO as ResistanceUnit, j as SegmentOption, az as SegmentedControl, i as SegmentedControlProps, k as SideNav, l as SideNavItem, m as SideNavProps, ax as StaticMap, S as StaticMapProps, T as TextLink, aG as TextTransform, aH as TextTruncatePosition, J as TooltipSeries, n as TopNav, o as TopNavProps, aM as VoltageUnit, U as YFormatSettings, au as ZoomStops, aT as activeDeviceStates, u as clearColorCache, v as createCategoryColorMap, O as createXScale, P as createYScale, Q as defaultMargin, aU as deviceStateLabels, aS as deviceStateMetricFormats, aD as formatComponentValue, w as getContrastingTextColor, x as getDefaultChartColor, y as getDefaultColors, aW as getDeviceStateDisplayLabel, aW as getDeviceStateLabel, r as getEntityConfig, s as getEntityIcon, t as getEntityLabel, aY as getGridStateLabel, z as getResolvedColor, D as getThemeCategoricalColors, R as getYFormatSettings, aX as gridStateLabels, aV as isActiveDeviceState, aV as isActiveState, F as isLightColor, aB as useChartContext, aE as useComponentFormatter } from './colors-DOPjVyDB.js';
7
7
  import { Virtualizer } from '@tanstack/react-virtual';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import { I as Icon, S as Size, d as IconName$2, B as BaseInputProps } from './RichTextEditor-CZCqHSPF.js';
10
10
  export { f as BaseProps, C as ClearButton, a as DateField, D as DateFieldProps, r as Description, g as DescriptionPlacement, j as DescriptionProps, s as FieldError, h as FieldErrorProps, v as FieldGroup, k as FieldGroupProps, b as FileUpload, F as FileUploadProps, t as Input, i as InputProps, e as InputStyleProps, l as InputWrapper, q as Label, L as LabelProps, c as RichTextEditor, R as RichTextEditorProps, p as getFieldGroupStyles, n as getInputBackgroundStyles, o as getInputBaseStyles, m as getInputStateStyles, u as useInputFocus } from './RichTextEditor-CZCqHSPF.js';
11
- import { D as DialogAction, a as DialogHeaderConfig, b as DialogFooterConfig } from './index-Dkhk7IbI.js';
12
- export { d as Dialog, g as DialogForm, c as DialogProps, f as Drawer, h as DrawerForm, e as DrawerProps, F as FormActions, j as FormDivider, i as FormGrid, k as FormSection, l as FormStepper, S as SaveBar, U as UnsavedChangesPrompt, u as useWizard } from './index-Dkhk7IbI.js';
11
+ import { D as DialogAction, a as DialogHeaderConfig, b as DialogFooterConfig } from './index-rh1icNsb.js';
12
+ export { d as Dialog, g as DialogForm, c as DialogProps, f as Drawer, h as DrawerForm, e as DrawerProps, F as FormActions, j as FormDivider, i as FormGrid, k as FormSection, l as FormStepper, S as SaveBar, U as UnsavedChangesPrompt, u as useWizard } from './index-rh1icNsb.js';
13
13
  export { A as Autocomplete, B as Button, C as Checkbox, a as CheckboxGroup, b as ColorField, f as ColorFieldProps, N as NumberField, g as Radio, R as RadioGroup, S as Select, c as Switch, T as TextArea, d as TextField, h as TimeField } from './TimeField-CDgde0qa.js';
14
14
  import { ScaleTime, ScaleLinear } from 'd3-scale';
15
15
  import 'react-map-gl';
@@ -851,6 +851,8 @@ interface FacetConfig {
851
851
  maxVisibleOptions?: number;
852
852
  /** Optional description text to show below the label */
853
853
  description?: string;
854
+ /** Optional: Custom render function for option labels (e.g., to show Badges) */
855
+ renderLabel?: (value: string, label: string) => React.ReactNode;
854
856
  }
855
857
  interface FacetCounts {
856
858
  [field: string]: {
@@ -1202,6 +1204,212 @@ declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T
1202
1204
  */
1203
1205
  declare function useMediaQuery(query: string, defaultValue?: boolean): boolean;
1204
1206
 
1207
+ type SortDirection = "asc" | "desc";
1208
+ type CellAlignment = "left" | "center" | "right";
1209
+ type TableDensity = "compact" | "default" | "relaxed";
1210
+ type CellEmphasis = "strong" | "high" | "normal" | "low";
1211
+ type LinkBehavior = "none" | "hover" | "visible";
1212
+ type TableLayout = "auto" | "fixed" | "responsive";
1213
+ type TableWidth = "full" | "auto" | "contained";
1214
+ type MobileRenderer = "auto" | "cards" | "custom" | "none";
1215
+ type MobileBreakpoint = "sm" | "md" | "lg" | "xl";
1216
+ interface SortConfig {
1217
+ columnId: string;
1218
+ direction: SortDirection;
1219
+ }
1220
+ interface CellContext {
1221
+ isLoading: boolean;
1222
+ isSelected?: boolean;
1223
+ isHovered?: boolean;
1224
+ rowIndex: number;
1225
+ columnIndex: number;
1226
+ density: TableDensity;
1227
+ }
1228
+ interface CellComponentProps<T = any> {
1229
+ value: any;
1230
+ row: T;
1231
+ context: CellContext;
1232
+ [key: string]: any;
1233
+ }
1234
+ type CellComponent<T = any> = ComponentType<CellComponentProps<T>>;
1235
+ interface MobileConfig {
1236
+ priority?: 1 | 2 | 3;
1237
+ format?: "primary" | "secondary" | "badge" | "inline";
1238
+ label?: boolean;
1239
+ icon?: string;
1240
+ }
1241
+ interface Column<T> {
1242
+ id: string;
1243
+ label: string;
1244
+ accessor?: keyof T | ((row: T) => any);
1245
+ align?: CellAlignment;
1246
+ width?: string | number;
1247
+ minWidth?: string | number;
1248
+ maxWidth?: string | number;
1249
+ flex?: number;
1250
+ cell?: CellComponent<T>;
1251
+ cellProps?: Record<string, any> | ((value: any, row: T) => Record<string, any>);
1252
+ render?: (value: any, row: T, context: CellContext) => ReactNode;
1253
+ sortable?: boolean;
1254
+ noCellPadding?: boolean;
1255
+ mobile?: MobileConfig | false;
1256
+ popover?: string | ((value: unknown, row: T) => ReactNode) | {
1257
+ content: string | ((value: unknown, row: T) => ReactNode);
1258
+ placement?: "top" | "bottom" | "left" | "right";
1259
+ showArrow?: boolean;
1260
+ trigger?: "hover" | "click";
1261
+ };
1262
+ /** Label to use for this column in CSV export headers. Falls back to `label` if not provided. */
1263
+ exportLabel?: string;
1264
+ /**
1265
+ * Custom function to transform the cell value for export.
1266
+ * If not provided, uses the raw accessor value converted to string.
1267
+ * @param value - The raw cell value from the accessor
1268
+ * @param row - The full row data
1269
+ * @returns The value to export (will be converted to string)
1270
+ */
1271
+ exportValue?: (value: unknown, row: T) => string | number | boolean | null;
1272
+ /**
1273
+ * Whether to include this column in CSV exports.
1274
+ * Defaults to true. Set to false to exclude columns like action buttons.
1275
+ */
1276
+ exportable?: boolean;
1277
+ }
1278
+ interface DataTableProps<T> {
1279
+ columns: Column<T>[];
1280
+ data: T[];
1281
+ className?: string;
1282
+ density?: TableDensity;
1283
+ width?: TableWidth;
1284
+ height?: string | number;
1285
+ maxHeight?: string | number;
1286
+ layout?: TableLayout;
1287
+ mobileRenderer?: MobileRenderer;
1288
+ customMobileRowRender?: (row: T, index: number) => ReactNode;
1289
+ mobileBreakpoint?: MobileBreakpoint;
1290
+ isLoading?: boolean;
1291
+ loadingState?: LoadingState;
1292
+ loadingRowCount?: number;
1293
+ onLoadMore?: () => void | Promise<void>;
1294
+ hasMore?: boolean;
1295
+ enableVirtualization?: boolean;
1296
+ estimatedRowHeight?: number;
1297
+ loadingIndicator?: ReactNode;
1298
+ stickyHeader?: boolean;
1299
+ onRowClick?: (row: T) => void;
1300
+ getRowId?: (row: T) => string;
1301
+ hideHeader?: boolean;
1302
+ /** Controlled sort configuration - when provided, DataTable becomes controlled */
1303
+ sortConfig?: SortConfig | null;
1304
+ onSort?: (sortConfig: SortConfig | null) => void;
1305
+ "aria-label"?: string;
1306
+ }
1307
+
1308
+ /**
1309
+ * Table export utilities for CSV format
1310
+ * Provides export functionality for DataTable data
1311
+ */
1312
+
1313
+ interface TableExportMetadata {
1314
+ /** Base filename for the exported file (without extension) */
1315
+ filename?: string;
1316
+ /** Whether to include timestamp in filename. Defaults to true */
1317
+ timestamp?: boolean;
1318
+ }
1319
+ interface TableExportOptions<T> {
1320
+ /** Column definitions for the table */
1321
+ columns: Column<T>[];
1322
+ /** Data rows to export */
1323
+ data: T[];
1324
+ /** Export metadata */
1325
+ metadata?: TableExportMetadata;
1326
+ }
1327
+ /**
1328
+ * Export table data as CSV
1329
+ *
1330
+ * @param options - Export configuration
1331
+ * @returns Promise that resolves when export is complete
1332
+ *
1333
+ * @example
1334
+ * ```typescript
1335
+ * await exportTableAsCSV({
1336
+ * columns: tableColumns,
1337
+ * data: tableData,
1338
+ * metadata: {
1339
+ * filename: "devices-export",
1340
+ * timestamp: true
1341
+ * }
1342
+ * });
1343
+ * ```
1344
+ */
1345
+ declare function exportTableAsCSV<T>(options: TableExportOptions<T>): Promise<void>;
1346
+ /**
1347
+ * Prepare table data for export (without triggering download)
1348
+ * Useful for server-side export where you need the transformed data
1349
+ *
1350
+ * @param options - Export configuration
1351
+ * @returns Array of row objects ready for CSV generation
1352
+ */
1353
+ declare function prepareTableDataForExport<T>(options: Omit<TableExportOptions<T>, "metadata">): Record<string, string | number | boolean>[];
1354
+ /**
1355
+ * Get column headers for export
1356
+ * Useful for generating CSV headers on the server
1357
+ */
1358
+ declare function getExportHeaders<T>(columns: Column<T>[]): string[];
1359
+
1360
+ interface UseTableExportOptions<T> {
1361
+ /** Column definitions for the table */
1362
+ columns: Column<T>[];
1363
+ /** Data rows to export */
1364
+ data: T[];
1365
+ /** Export metadata */
1366
+ metadata?: TableExportMetadata;
1367
+ }
1368
+ interface UseTableExportReturn {
1369
+ /** Trigger CSV export of the table data */
1370
+ exportCSV: () => Promise<void>;
1371
+ /** Whether export is available (has data and exportable columns) */
1372
+ canExport: boolean;
1373
+ }
1374
+ /**
1375
+ * Hook for exporting DataTable data as CSV.
1376
+ * Provides a stable callback for triggering exports with memoized dependencies.
1377
+ *
1378
+ * For client-side DataTables where all data is in the browser.
1379
+ * For server-side exports, use the `onExport` callback pattern instead.
1380
+ *
1381
+ * @param options - Configuration for table export
1382
+ * @returns Object with export function and status
1383
+ *
1384
+ * @example
1385
+ * ```tsx
1386
+ * const { exportCSV, canExport } = useTableExport({
1387
+ * columns: deviceColumns,
1388
+ * data: devices,
1389
+ * metadata: {
1390
+ * filename: "devices",
1391
+ * timestamp: true
1392
+ * }
1393
+ * });
1394
+ *
1395
+ * // In your DataControls actions
1396
+ * <DataControls
1397
+ * actions={{
1398
+ * items: [
1399
+ * {
1400
+ * id: "export",
1401
+ * label: "Export CSV",
1402
+ * icon: "Export",
1403
+ * onClick: exportCSV,
1404
+ * disabled: !canExport
1405
+ * }
1406
+ * ]
1407
+ * }}
1408
+ * />
1409
+ * ```
1410
+ */
1411
+ declare function useTableExport<T>({ columns, data, metadata, }: UseTableExportOptions<T>): UseTableExportReturn;
1412
+
1205
1413
  type ActivityFeedVariant = "timeline" | "stacked";
1206
1414
  type ActivityFeedSize = "md" | "sm";
1207
1415
  type ActivityItemTone = "neutral" | "brand" | "success" | "warning" | "danger" | "info";
@@ -1528,6 +1736,8 @@ interface CardProps {
1528
1736
  className?: string;
1529
1737
  children?: React__default.ReactNode;
1530
1738
  isLoading?: boolean;
1739
+ /** Enable flex column layout so children can expand to fill space */
1740
+ layout?: "default" | "flex";
1531
1741
  }
1532
1742
  interface CardHeaderProps {
1533
1743
  title?: React__default.ReactNode;
@@ -1548,6 +1758,8 @@ interface CardContentProps {
1548
1758
  className?: string;
1549
1759
  children?: React__default.ReactNode;
1550
1760
  isLoading?: boolean;
1761
+ /** When true and parent Card has layout="flex", content expands to fill available space */
1762
+ fill?: boolean;
1551
1763
  }
1552
1764
  interface CardFooterProps {
1553
1765
  className?: string;
@@ -1555,7 +1767,7 @@ interface CardFooterProps {
1555
1767
  align?: "start" | "end" | "center" | "between";
1556
1768
  isLoading?: boolean;
1557
1769
  }
1558
- declare function Card({ variant, className, children, isLoading }: CardProps): react_jsx_runtime.JSX.Element;
1770
+ declare function Card({ variant, className, children, isLoading, layout, }: CardProps): react_jsx_runtime.JSX.Element;
1559
1771
  declare namespace Card {
1560
1772
  var Header: typeof CardHeader;
1561
1773
  var Media: typeof CardMedia;
@@ -1564,7 +1776,7 @@ declare namespace Card {
1564
1776
  }
1565
1777
  declare function CardHeader({ title, subtitle, actions, className, isLoading, }: CardHeaderProps): react_jsx_runtime.JSX.Element | null;
1566
1778
  declare function CardMedia({ src, alt, aspectRatio, className, children, isLoading, }: CardMediaProps): react_jsx_runtime.JSX.Element | null;
1567
- declare function CardContent({ className, children, isLoading }: CardContentProps): react_jsx_runtime.JSX.Element | null;
1779
+ declare function CardContent({ className, children, isLoading, fill, }: CardContentProps): react_jsx_runtime.JSX.Element | null;
1568
1780
  declare function CardFooter({ className, children, align, isLoading, }: CardFooterProps): react_jsx_runtime.JSX.Element | null;
1569
1781
 
1570
1782
  interface CarouselRootProps extends React$1.HTMLAttributes<HTMLDivElement> {
@@ -1895,11 +2107,7 @@ interface ContactCardProps {
1895
2107
  /** Link to contact detail page (optional) */
1896
2108
  href?: string;
1897
2109
  /** Custom link component (e.g., Next.js Link) */
1898
- LinkComponent?: ComponentType<{
1899
- href: string;
1900
- className?: string;
1901
- children: React.ReactNode;
1902
- }>;
2110
+ LinkComponent?: LinkComponentType;
1903
2111
  /** Card variant */
1904
2112
  variant?: "outlined" | "elevated" | "filled" | "ghost";
1905
2113
  /** Layout orientation
@@ -1922,6 +2130,11 @@ interface ContactCardProps {
1922
2130
  className?: string;
1923
2131
  /** Additional classes for the card content (for padding control, etc.) */
1924
2132
  contentClassName?: string;
2133
+ /**
2134
+ * Entity identifier for PII masking (e.g., "contact:ctc_abc123")
2135
+ * When provided, adds data-pii-* attributes for the Curtain extension
2136
+ */
2137
+ piiEntity?: string;
1925
2138
  }
1926
2139
  /**
1927
2140
  * ContactCard
@@ -1942,91 +2155,7 @@ interface ContactCardProps {
1942
2155
  * />
1943
2156
  * ```
1944
2157
  */
1945
- declare function ContactCard({ firstName, lastName, email, phone, avatarUrl, href, LinkComponent, variant, layout, showEmail, showPhone, isLoading, className, contentClassName, }: ContactCardProps): react_jsx_runtime.JSX.Element;
1946
-
1947
- type SortDirection = "asc" | "desc";
1948
- type CellAlignment = "left" | "center" | "right";
1949
- type TableDensity = "compact" | "default" | "relaxed";
1950
- type CellEmphasis = "strong" | "high" | "normal" | "low";
1951
- type LinkBehavior = "none" | "hover" | "visible";
1952
- type TableLayout = "auto" | "fixed" | "responsive";
1953
- type TableWidth = "full" | "auto" | "contained";
1954
- type MobileRenderer = "auto" | "cards" | "custom" | "none";
1955
- type MobileBreakpoint = "sm" | "md" | "lg" | "xl";
1956
- interface SortConfig {
1957
- columnId: string;
1958
- direction: SortDirection;
1959
- }
1960
- interface CellContext {
1961
- isLoading: boolean;
1962
- isSelected?: boolean;
1963
- isHovered?: boolean;
1964
- rowIndex: number;
1965
- columnIndex: number;
1966
- density: TableDensity;
1967
- }
1968
- interface CellComponentProps<T = any> {
1969
- value: any;
1970
- row: T;
1971
- context: CellContext;
1972
- [key: string]: any;
1973
- }
1974
- type CellComponent<T = any> = ComponentType<CellComponentProps<T>>;
1975
- interface MobileConfig {
1976
- priority?: 1 | 2 | 3;
1977
- format?: "primary" | "secondary" | "badge" | "inline";
1978
- label?: boolean;
1979
- icon?: string;
1980
- }
1981
- interface Column<T> {
1982
- id: string;
1983
- label: string;
1984
- accessor?: keyof T | ((row: T) => any);
1985
- align?: CellAlignment;
1986
- width?: string | number;
1987
- minWidth?: string | number;
1988
- maxWidth?: string | number;
1989
- flex?: number;
1990
- cell?: CellComponent<T>;
1991
- cellProps?: Record<string, any> | ((value: any, row: T) => Record<string, any>);
1992
- render?: (value: any, row: T, context: CellContext) => ReactNode;
1993
- sortable?: boolean;
1994
- noCellPadding?: boolean;
1995
- mobile?: MobileConfig | false;
1996
- popover?: string | ((value: unknown, row: T) => ReactNode) | {
1997
- content: string | ((value: unknown, row: T) => ReactNode);
1998
- placement?: "top" | "bottom" | "left" | "right";
1999
- showArrow?: boolean;
2000
- trigger?: "hover" | "click";
2001
- };
2002
- }
2003
- interface DataTableProps<T> {
2004
- columns: Column<T>[];
2005
- data: T[];
2006
- className?: string;
2007
- density?: TableDensity;
2008
- width?: TableWidth;
2009
- height?: string | number;
2010
- maxHeight?: string | number;
2011
- layout?: TableLayout;
2012
- mobileRenderer?: MobileRenderer;
2013
- customMobileRowRender?: (row: T, index: number) => ReactNode;
2014
- mobileBreakpoint?: MobileBreakpoint;
2015
- isLoading?: boolean;
2016
- loadingState?: LoadingState;
2017
- loadingRowCount?: number;
2018
- onLoadMore?: () => void | Promise<void>;
2019
- hasMore?: boolean;
2020
- enableVirtualization?: boolean;
2021
- estimatedRowHeight?: number;
2022
- loadingIndicator?: ReactNode;
2023
- stickyHeader?: boolean;
2024
- onRowClick?: (row: T) => void;
2025
- getRowId?: (row: T) => string;
2026
- hideHeader?: boolean;
2027
- onSort?: (sortConfig: SortConfig | null) => void;
2028
- "aria-label"?: string;
2029
- }
2158
+ declare function ContactCard({ firstName, lastName, email, phone, avatarUrl, href, LinkComponent, variant, layout, showEmail, showPhone, isLoading, className, contentClassName, piiEntity, }: ContactCardProps): react_jsx_runtime.JSX.Element;
2030
2159
 
2031
2160
  interface ContactMetaDisplayProps {
2032
2161
  /** First name */
@@ -2044,11 +2173,7 @@ interface ContactMetaDisplayProps {
2044
2173
  /** Link to contact detail page (optional) */
2045
2174
  href?: string;
2046
2175
  /** Custom link component (e.g., Next.js Link) */
2047
- LinkComponent?: ComponentType<{
2048
- href: string;
2049
- className?: string;
2050
- children: React.ReactNode;
2051
- }>;
2176
+ LinkComponent?: LinkComponentType;
2052
2177
  /** Link variant for the name */
2053
2178
  linkVariant?: "default" | "brand" | "muted" | "unstyled";
2054
2179
  /** Text emphasis level - "strong"/"high" for bold, "normal" for regular, "low" for muted */
@@ -2057,10 +2182,17 @@ interface ContactMetaDisplayProps {
2057
2182
  showEmail?: boolean;
2058
2183
  /** Badge element to display next to the name (e.g., Owner, Admin badge) */
2059
2184
  badge?: React.ReactNode;
2185
+ /** Avatar shape (default: "square") */
2186
+ avatarShape?: "circle" | "square";
2060
2187
  /** Loading state */
2061
2188
  isLoading?: boolean;
2062
2189
  /** Additional classes */
2063
2190
  className?: string;
2191
+ /**
2192
+ * Entity identifier for PII masking (e.g., "contact:ctc_abc123")
2193
+ * When provided, adds data-pii-* attributes for the Curtain extension
2194
+ */
2195
+ piiEntity?: string;
2064
2196
  }
2065
2197
  /**
2066
2198
  * ContactMetaDisplay
@@ -2097,7 +2229,7 @@ interface ContactMetaDisplayProps {
2097
2229
  * />
2098
2230
  * ```
2099
2231
  */
2100
- declare function ContactMetaDisplay({ firstName, lastName, email, avatarUrl, layout, size, href, LinkComponent, linkVariant, emphasis, showEmail, badge, isLoading, className, }: ContactMetaDisplayProps): react_jsx_runtime.JSX.Element;
2232
+ declare function ContactMetaDisplay({ firstName, lastName, email, avatarUrl, layout, size, href, LinkComponent, linkVariant, emphasis, showEmail, badge, avatarShape, isLoading, className, piiEntity, }: ContactMetaDisplayProps): react_jsx_runtime.JSX.Element;
2101
2233
 
2102
2234
  interface CopyToClipboardProps {
2103
2235
  /**
@@ -2163,6 +2295,7 @@ interface AxisLeftProps {
2163
2295
  left: number;
2164
2296
  scale: ScaleLinear<number, number>;
2165
2297
  yFormatter: YFormatType;
2298
+ height?: number;
2166
2299
  }
2167
2300
  /**
2168
2301
  * ChartAxis
@@ -2837,11 +2970,7 @@ interface ContactMetaCellProps<T = unknown> extends CellComponentProps<T> {
2837
2970
  /** Link to contact detail page (optional) */
2838
2971
  href?: string | ((row: T) => string);
2839
2972
  /** Custom link component (e.g., Next.js Link) */
2840
- LinkComponent?: ComponentType<{
2841
- href: string;
2842
- className?: string;
2843
- children: React.ReactNode;
2844
- }>;
2973
+ LinkComponent?: LinkComponentType;
2845
2974
  /** Link variant for the name */
2846
2975
  linkVariant?: "default" | "brand" | "muted" | "unstyled";
2847
2976
  /** Text emphasis level - "strong"/"high" for bold, "normal" for regular, "low" for muted */
@@ -2854,6 +2983,11 @@ interface ContactMetaCellProps<T = unknown> extends CellComponentProps<T> {
2854
2983
  align?: "left" | "center" | "right";
2855
2984
  /** Additional classes */
2856
2985
  className?: string;
2986
+ /**
2987
+ * Entity identifier for PII masking (can be a function to extract from row)
2988
+ * Example: (row) => `contact:${row.id}`
2989
+ */
2990
+ piiEntity?: string | ((row: T) => string | undefined);
2857
2991
  }
2858
2992
  /**
2859
2993
  * ContactMetaCell
@@ -2881,7 +3015,7 @@ interface ContactMetaCellProps<T = unknown> extends CellComponentProps<T> {
2881
3015
  * }
2882
3016
  * ```
2883
3017
  */
2884
- declare function ContactMetaCell<T = unknown>({ row, context, firstName, lastName, email, avatarUrl, layout, size, href, LinkComponent, linkVariant, showEmail, badge, emphasis, align, className, }: ContactMetaCellProps<T>): react_jsx_runtime.JSX.Element;
3018
+ declare function ContactMetaCell<T = unknown>({ row, context, firstName, lastName, email, avatarUrl, layout, size, href, LinkComponent, linkVariant, showEmail, badge, emphasis, align, className, piiEntity, }: ContactMetaCellProps<T>): react_jsx_runtime.JSX.Element;
2885
3019
 
2886
3020
  interface CustomCellProps<T = any> extends CellComponentProps<T> {
2887
3021
  /**
@@ -3042,11 +3176,7 @@ interface DeviceMetaCellProps<T = unknown> extends CellComponentProps<T> {
3042
3176
  /** Link to device detail page (optional) */
3043
3177
  href?: string | ((row: T) => string);
3044
3178
  /** Custom link component (e.g., Next.js Link) */
3045
- LinkComponent?: ComponentType<{
3046
- href: string;
3047
- className?: string;
3048
- children: React.ReactNode;
3049
- }>;
3179
+ LinkComponent?: LinkComponentType;
3050
3180
  /** Link variant for the manufacturer name */
3051
3181
  linkVariant?: "default" | "brand" | "muted" | "unstyled";
3052
3182
  /** Show device type icon next to model name (stacked) or hide logo (inline) */
@@ -3328,11 +3458,7 @@ interface SiteMetaCellProps<T = unknown> extends CellComponentProps<T> {
3328
3458
  /** Link to site detail page (optional) */
3329
3459
  href?: string | ((row: T) => string);
3330
3460
  /** Custom link component (e.g., Next.js Link) */
3331
- LinkComponent?: ComponentType<{
3332
- href: string;
3333
- className?: string;
3334
- children: React.ReactNode;
3335
- }>;
3461
+ LinkComponent?: LinkComponentType;
3336
3462
  /** Link variant for the street address */
3337
3463
  linkVariant?: "default" | "brand" | "muted" | "unstyled";
3338
3464
  /** Text emphasis level - "strong"/"high" for bold, "normal" for regular, "low" for muted */
@@ -3341,6 +3467,11 @@ interface SiteMetaCellProps<T = unknown> extends CellComponentProps<T> {
3341
3467
  align?: "left" | "center" | "right";
3342
3468
  /** Additional classes */
3343
3469
  className?: string;
3470
+ /**
3471
+ * Entity identifier for PII masking (can be a function to extract from row)
3472
+ * Example: (row) => `site:${row.id}`
3473
+ */
3474
+ piiEntity?: string | ((row: T) => string | undefined);
3344
3475
  }
3345
3476
  /**
3346
3477
  * SiteMetaCell
@@ -3367,7 +3498,7 @@ interface SiteMetaCellProps<T = unknown> extends CellComponentProps<T> {
3367
3498
  * }
3368
3499
  * ```
3369
3500
  */
3370
- declare function SiteMetaCell<T = unknown>({ row, context, streetAddress, city, state, postalCode, layout, size, href, LinkComponent, linkVariant, emphasis, align, className, }: SiteMetaCellProps<T>): react_jsx_runtime.JSX.Element;
3501
+ declare function SiteMetaCell<T = unknown>({ row, context, streetAddress, city, state, postalCode, layout, size, href, LinkComponent, linkVariant, emphasis, align, className, piiEntity, }: SiteMetaCellProps<T>): react_jsx_runtime.JSX.Element;
3371
3502
 
3372
3503
  interface SparklineCellProps extends CellComponentProps {
3373
3504
  data?: BaseDataPoint[];
@@ -3422,6 +3553,16 @@ interface TextCellProps<T = any> extends CellComponentProps<T> {
3422
3553
  copyable?: boolean | ((row: T) => string);
3423
3554
  align?: "left" | "center" | "right";
3424
3555
  className?: string;
3556
+ /**
3557
+ * PII type for masking (e.g., "email", "phone", "full-name")
3558
+ * When provided along with piiEntity, adds data-pii-* attributes for masking
3559
+ */
3560
+ piiType?: string;
3561
+ /**
3562
+ * Entity identifier for PII masking (can be a function to extract from row)
3563
+ * Example: (row) => `contact:${row.id}`
3564
+ */
3565
+ piiEntity?: string | ((row: T) => string | undefined);
3425
3566
  }
3426
3567
  /**
3427
3568
  * TextCell
@@ -3448,7 +3589,7 @@ interface TextCellProps<T = any> extends CellComponentProps<T> {
3448
3589
  * }
3449
3590
  * ```
3450
3591
  */
3451
- declare function TextCell<T = any>({ value, row, context, prefix, suffix, emptyText, href, linkBehavior, linkVariant, emphasis, truncate, copyable, align, className, }: TextCellProps<T>): react_jsx_runtime.JSX.Element;
3592
+ declare function TextCell<T = any>({ value, row, context, prefix, suffix, emptyText, href, linkBehavior, linkVariant, emphasis, truncate, copyable, align, className, piiType, piiEntity, }: TextCellProps<T>): react_jsx_runtime.JSX.Element;
3452
3593
 
3453
3594
  /**
3454
3595
  * DataTable
@@ -3457,7 +3598,7 @@ declare function TextCell<T = any>({ value, row, context, prefix, suffix, emptyT
3457
3598
  * Supports custom cell renderers, column configurations, multiple display densities,
3458
3599
  * and virtualization for large datasets.
3459
3600
  */
3460
- declare function DataTable<T extends Record<string, unknown>>({ columns, data, className, density, width, height, maxHeight, layout, mobileRenderer, customMobileRowRender, mobileBreakpoint, isLoading, loadingState, loadingRowCount, onLoadMore, hasMore, enableVirtualization, estimatedRowHeight, loadingIndicator, stickyHeader, onRowClick, getRowId, hideHeader, onSort, "aria-label": ariaLabel, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
3601
+ declare function DataTable<T extends Record<string, unknown>>({ columns, data, className, density, width, height, maxHeight, layout, mobileRenderer, customMobileRowRender, mobileBreakpoint, isLoading, loadingState, loadingRowCount, onLoadMore, hasMore, enableVirtualization, estimatedRowHeight, loadingIndicator, stickyHeader, onRowClick, getRowId, hideHeader, sortConfig: controlledSortConfig, onSort, "aria-label": ariaLabel, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
3461
3602
 
3462
3603
  interface MobileRowProps<T> {
3463
3604
  row: T;
@@ -3533,11 +3674,7 @@ interface DeviceMetaDisplayProps {
3533
3674
  /** Link to device detail page (optional) */
3534
3675
  href?: string;
3535
3676
  /** Custom link component (e.g., Next.js Link) */
3536
- LinkComponent?: ComponentType<{
3537
- href: string;
3538
- className?: string;
3539
- children: React.ReactNode;
3540
- }>;
3677
+ LinkComponent?: LinkComponentType;
3541
3678
  /** Link variant for the manufacturer name */
3542
3679
  linkVariant?: "default" | "brand" | "muted" | "unstyled";
3543
3680
  /** Show device type icon next to model name (stacked) or hide logo (inline) */
@@ -4819,6 +4956,19 @@ interface ListItemProps {
4819
4956
  onMouseLeave?: (id: string) => void;
4820
4957
  className?: string;
4821
4958
  style?: CSSProperties;
4959
+ /**
4960
+ * PII type for masking the title (e.g., "full-name", "address")
4961
+ * When provided along with piiEntity, adds data-pii-* attributes
4962
+ */
4963
+ piiTitleType?: string;
4964
+ /**
4965
+ * PII type for masking the subtitle (e.g., "city-state", "email")
4966
+ */
4967
+ piiSubtitleType?: string;
4968
+ /**
4969
+ * Entity identifier for PII masking (e.g., "contact:ctc_abc123")
4970
+ */
4971
+ piiEntity?: string;
4822
4972
  }
4823
4973
  /**
4824
4974
  * ListItem
@@ -4840,7 +4990,7 @@ interface ListItemProps {
4840
4990
  * />
4841
4991
  * ```
4842
4992
  */
4843
- declare function ListItem({ id, title, subtitle, meta, leading, trailing, isSelected, isHovered, disabled, href, size, onClick, onMouseEnter, onMouseLeave, className, style, }: ListItemProps): react_jsx_runtime.JSX.Element;
4993
+ declare function ListItem({ id, title, subtitle, meta, leading, trailing, isSelected, isHovered, disabled, href, size, onClick, onMouseEnter, onMouseLeave, className, style, piiTitleType, piiSubtitleType, piiEntity, }: ListItemProps): react_jsx_runtime.JSX.Element;
4844
4994
 
4845
4995
  interface ListPaneProps {
4846
4996
  /** Content for the header area (typically DataControls or custom header) */
@@ -5580,11 +5730,7 @@ interface SiteCardProps {
5580
5730
  /** Link to site detail page (optional) */
5581
5731
  href?: string;
5582
5732
  /** Custom link component (e.g., Next.js Link) */
5583
- LinkComponent?: ComponentType<{
5584
- href: string;
5585
- className?: string;
5586
- children: React.ReactNode;
5587
- }>;
5733
+ LinkComponent?: LinkComponentType;
5588
5734
  /** Card variant */
5589
5735
  variant?: "outlined" | "elevated" | "filled" | "ghost";
5590
5736
  /** Layout mode
@@ -5615,6 +5761,11 @@ interface SiteCardProps {
5615
5761
  expandedMapTitle?: string;
5616
5762
  /** Address label to show in expanded map view (defaults to formatted address) */
5617
5763
  expandedMapAddressLabel?: string;
5764
+ /**
5765
+ * Entity identifier for PII masking (e.g., "site:site_abc123")
5766
+ * When provided, adds data-pii-* attributes for the Curtain extension
5767
+ */
5768
+ piiEntity?: string;
5618
5769
  }
5619
5770
  /**
5620
5771
  * SiteCard
@@ -5636,7 +5787,7 @@ interface SiteCardProps {
5636
5787
  * />
5637
5788
  * ```
5638
5789
  */
5639
- declare function SiteCard({ streetAddress, city, state, postalCode, longitude, latitude, href, LinkComponent, variant, layout, showMap, mapHeight, mapboxAccessToken, isLoading, className, contentClassName, showMapExpandToggle, expandedMapTitle, expandedMapAddressLabel, }: SiteCardProps): react_jsx_runtime.JSX.Element;
5790
+ declare function SiteCard({ streetAddress, city, state, postalCode, longitude, latitude, href, LinkComponent, variant, layout, showMap, mapHeight, mapboxAccessToken, isLoading, className, contentClassName, showMapExpandToggle, expandedMapTitle, expandedMapAddressLabel, piiEntity, }: SiteCardProps): react_jsx_runtime.JSX.Element;
5640
5791
 
5641
5792
  interface SiteContactCardProps {
5642
5793
  /** Site information */
@@ -5648,6 +5799,8 @@ interface SiteContactCardProps {
5648
5799
  longitude?: number;
5649
5800
  latitude?: number;
5650
5801
  href?: string;
5802
+ /** Entity identifier for PII masking (e.g., "site:site_abc123") */
5803
+ piiEntity?: string;
5651
5804
  };
5652
5805
  /** Contact information (optional) */
5653
5806
  contact?: {
@@ -5657,13 +5810,11 @@ interface SiteContactCardProps {
5657
5810
  phone?: string;
5658
5811
  avatarUrl?: string;
5659
5812
  href?: string;
5813
+ /** Entity identifier for PII masking (e.g., "contact:ctc_abc123") */
5814
+ piiEntity?: string;
5660
5815
  };
5661
5816
  /** Custom link component (e.g., Next.js Link) */
5662
- LinkComponent?: ComponentType<{
5663
- href: string;
5664
- className?: string;
5665
- children: React.ReactNode;
5666
- }>;
5817
+ LinkComponent?: LinkComponentType;
5667
5818
  /** Card variant */
5668
5819
  variant?: "outlined" | "elevated" | "filled" | "ghost";
5669
5820
  /** Layout mode
@@ -5752,11 +5903,7 @@ interface SiteMetaDisplayProps {
5752
5903
  /** Link to site detail page (optional) */
5753
5904
  href?: string;
5754
5905
  /** Custom link component (e.g., Next.js Link) */
5755
- LinkComponent?: ComponentType<{
5756
- href: string;
5757
- className?: string;
5758
- children: React.ReactNode;
5759
- }>;
5906
+ LinkComponent?: LinkComponentType;
5760
5907
  /** Link variant for the address */
5761
5908
  linkVariant?: "default" | "brand" | "muted" | "unstyled";
5762
5909
  /** Text emphasis level - "strong"/"high" for bold, "normal" for regular, "low" for muted */
@@ -5765,6 +5912,11 @@ interface SiteMetaDisplayProps {
5765
5912
  isLoading?: boolean;
5766
5913
  /** Additional classes */
5767
5914
  className?: string;
5915
+ /**
5916
+ * Entity identifier for PII masking (e.g., "site:site_abc123")
5917
+ * When provided, adds data-pii-* attributes for the Curtain extension
5918
+ */
5919
+ piiEntity?: string;
5768
5920
  }
5769
5921
  /**
5770
5922
  * SiteMetaDisplay
@@ -5800,7 +5952,7 @@ interface SiteMetaDisplayProps {
5800
5952
  * />
5801
5953
  * ```
5802
5954
  */
5803
- declare function SiteMetaDisplay({ streetAddress, city, state, postalCode, layout, size, href, LinkComponent, linkVariant, emphasis, isLoading, className, }: SiteMetaDisplayProps): react_jsx_runtime.JSX.Element;
5955
+ declare function SiteMetaDisplay({ streetAddress, city, state, postalCode, layout, size, href, LinkComponent, linkVariant, emphasis, isLoading, className, piiEntity, }: SiteMetaDisplayProps): react_jsx_runtime.JSX.Element;
5804
5956
 
5805
5957
  interface SkeletonProps {
5806
5958
  width?: number | string;
@@ -5965,6 +6117,15 @@ interface StatItem {
5965
6117
  disabled?: boolean;
5966
6118
  /** Stack label above value on mobile screens (useful for multi-line values like tags) */
5967
6119
  stackOnMobile?: boolean;
6120
+ /**
6121
+ * PII type for masking (e.g., "email", "phone", "full-name")
6122
+ * When provided along with piiEntity, adds data-pii-* attributes for masking
6123
+ */
6124
+ piiType?: string;
6125
+ /**
6126
+ * Entity identifier for PII masking (e.g., "contact:ctc_abc123")
6127
+ */
6128
+ piiEntity?: string;
5968
6129
  }
5969
6130
  interface StatListProps {
5970
6131
  /** Statistics to display */
@@ -6386,4 +6547,26 @@ type StatTone = "success" | "warning" | "error" | "info" | "neutral";
6386
6547
  */
6387
6548
  declare function getStateTone(state: DeviceState): StatTone;
6388
6549
 
6389
- export { type Action, ActionCell, type ActionCellProps, ActivityFeed, ActivityFeedGroup, type ActivityFeedGroupProps, type ActivityFeedProps, type ActivityFeedSize, type ActivityFeedVariant, ActivityItem, type ActivityItemProps, type ActivityItemSurface, type ActivityItemTone, Alert, type AlertProps, AreaSeries, AutoMobileRenderer, BREAKPOINTS, BadgeCell, type BadgeCellProps, BadgeProps, Banner, type BannerAction, type BannerAppearance, type BannerProps, type BannerVariant, BarSeries, BaseDataPoint, BaseInputProps, BooleanCell, type BooleanCellProps, BooleanFormat, BreadcrumbItem, type BreadcrumbItemProps, Breadcrumbs, type Breakpoint, type BreakpointState, Calendar, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, CardMobileRenderer, type CardProps, type CardVariant, CarouselAutoplayTrigger, CarouselControl, type CarouselControlProps, CarouselIndicator, CarouselIndicatorGroup, type CarouselIndicatorProps, CarouselItem, CarouselItemGroup, type CarouselItemGroupProps, type CarouselItemProps, CarouselNextTrigger, CarouselPrevTrigger, CarouselProgressText, CarouselRoot, type CarouselRootProps, type CarouselTriggerProps, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, ChartEventMarkers, type ChartEventMarkersProps, type ChartExportMetadata, ChartTooltip, Chip, ChipInputField, type ChipInputFieldProps, Collapse, CollapseContent, type CollapseContentProps, type CollapseDensity, CollapseHeader, type CollapseHeaderProps, CollapseItem, type CollapseItemProps, type CollapseProps, type CollapseVariant, ColorModeProvider, type Column, CommandPalette, type CommandPaletteProps, ComponentFormatter, Confirm, type ConfirmProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, ContactCard, type ContactCardProps, ContactMetaCell, ContactMetaDisplay, type ContactMetaDisplayProps, CopyToClipboard, CurrencyFormat, CurrentFormat, CustomCell, type CustomCellProps, CustomPinsSpec, DataControls, type Filter as DataControlsFilter, type DataControlsProps, type SortOption as DataControlsSortOption, DataTable, type DataTableProps, DateCell, type DateCellProps, DateFormat, DateRangePicker, DeviceHealthBadge, type DeviceHealthBadgeProps, DeviceMetaCell, type DeviceMetaCellProps, DeviceMetaDisplay, type DeviceMetaDisplayProps, DeviceState, DeviceStateBadge, type DeviceStateBadgeProps, DeviceStateCell, type DeviceStateCellProps, DeviceStateWithMetric, type DeviceStateWithMetricProps, type DeviceType, DeviceTypeIcon, type DeviceTypeIconProps, DialogAction, DialogFooterConfig, DialogHeader, DialogHeaderConfig, type DialogHeaderProps, DistanceFormat, type ElementSize, EmptyState, type EmptyStateAction, type EmptyStateAlignment, type EmptyStateProps, type EmptyStateSize, EnergyFormat, type EnrollmentStatus, EnrollmentStatusBadge, type EnrollmentStatusBadgeProps, ErrorBoundary, type EventMarker, type ExportType, type FacetConfig, type FacetCounts, type FacetType, FieldFormat, FieldValue, type FilterChip, FilterChips, type FilterChipsProps, type FilterCondition, FilterDialog, type FilterDialogProps, type FilterGroup, type FilterOperator, type FilterState, FirmwareVersionBadge, type FirmwareVersionBadgeProps, Form, FormatRegistry, FormattedCell, FormattedValue, FormatterFunction, FunnelSeries, type FunnelSeriesProps, type FunnelStage as FunnelSeriesStage, GeoJsonLayerSpec, GlobalSearch, type GlobalSearchProps, Grid, type GridAlign, type GridCols, type GridFlow, type GridGap, type GridItemProps, type GridJustify, type GridProps, type GridSpan, GridState, GridStateBadge, type GridStateBadgeProps, type HealthStatus, HierarchyExplorer, type HierarchyExplorerProps, type HierarchyNode, HorizontalBarCell, type HorizontalBarCellProps, HoverCard, type HoverCardContentProps, type HoverCardRootProps, Icon, InfiniteScrollIndicator, type InfiniteScrollIndicatorProps, Kpi, KpiGroup, type KpiGroupAlign, type KpiGroupCols, type KpiGroupGap, type KpiGroupProps, type KpiOrientation, type KpiProps, type KpiSize, type KpiStatus, LayerSpec, LineSeries, type LinkBehavior, List, ListBox, ListBoxItem, ListItem, type ListItemProps, ListPane, type ListPaneProps, type ListProps, type LoadingState, MiniBarCell, type MiniBarCellProps, type MobileBreakpoint, type MobileConfig, type MobileRenderer, ModalBackdrop, type ModalBackdropProps, type NodeState, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberFormat, type PageAsideProps, PageBanner, type PageBannerProps, type PageBreadcrumbItem, type PageContentProps, type PageHeaderProps, PageLayout, type PageLayoutProps, type PageScrollableContentProps, PercentBarCell, type PercentBarCellProps, PhoneFormat, type Place, PlaceSearch, type PlaceSearchProps, Popover, PowerFormat, type PresetRange, ProgressBar, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RangeCalendar, RasterLayerSpec, ResistanceFormat, type ResponsiveValue, ResultsCount, type ResultsCountProps, SKELETON_SIZES, type SearchConfig, SearchControl, type SearchControlProps, SearchEmptyState, type SearchEmptyStateProps, SearchLoadingState, type SearchLoadingStateProps, SearchResultGroup, type SearchResultGroupProps, SearchResultItem, type SearchResultItemProps, SearchResultsList, type SearchResultsListProps, SearchTrigger, type SearchTriggerProps, Section, SectionNav, type SectionNavItem, type SectionNavOrientation, type SectionNavProps, type SectionProps, type SectionSpacing, type SectionVariant, SelectCell, type SelectCellProps, SiteCard, type SiteCardProps, SiteContactCard, type SiteContactCardProps, SiteMetaCell, SiteMetaDisplay, type SiteMetaDisplayProps, Skeleton, Slider, type SortConfig, SortControl, type SortControlProps, type SortDirection, type SortState, SparklineCell, type SparklineCellProps, SplitPane, type SplitPaneOrientation, type SplitPanePanelProps, type SplitPaneProps, type StatAlign, type StatFormatter, type StatItem, type StatLayout, StatList, type StatListProps, type StatThreshold, type StatTone$1 as StatTone, type StatValue, Tab, TabList, TabPanel, type TableDensity, type TableLayout, type TableWidth, Tabs, type TabsProps$1 as TabsProps, TemperatureFormat, TemperatureUnit, TemperatureUnitString, TextAreaWithChips, TextCell, type TextCellProps, TextFormat, TimeControls, type TimeControlsProps, type TimeRange, Timeline, TimelineItem, type TimelineItemProps, type TimelineItemVariant, ToggleButton, Tooltip, TooltipData, Tray, type TrayProps, type TrendPoint, type UseBreakpointReturn, type UseClientDataControlsOptions, type UseClientDataControlsResult, type UseDataControlsClientOptions, type UseDataControlsOptions, type UseDataControlsResult, type UseDataControlsServerOptions, type UseElementSizeResult, type UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseServerDataControlsOptions, VectorLayerSpec, VoltageFormat, type WindowSize, type WindowSizeOption, YFormatType, addFilterCondition, autoScaleCurrent, autoScaleDistance, autoScaleEnergy, autoScalePower, autoScaleResistance, autoScaleVoltage, camelCaseToWords, capitalize, celsiusToFahrenheit, celsiusToKelvin, centimetersToInches, createEmptyFilter, createFilter, createFilters, createFormat, enumToSentenceCase, exportChart, fahrenheitToCelsius, fahrenheitToKelvin, feetToMeters, feetToMiles, filterToChips, formatBoolean, formatCapacity, formatCurrency, formatCurrent, formatDate, formatDistance, formatEmptyValue, formatEnergy, formatFieldValue, formatInternationalPhone, formatNumber, formatPercent, formatPhone, formatPhoneNumber, formatPower, formatPowerRating, formatResistance, formatTemperature, formatText, formatUSPhone, formatVoltage, getBadgeClasses, getBooleanBadgeVariant, getCellAlignmentClasses, getCellContainerClasses, getCellTextClasses, getDateParts, getExportFormatName, getFilterFields, getLinkClasses, getNumericColorClasses, getSkeletonSize, getStateTone, inchesToCentimeters, isCustomPinsLayer, isExportSupported, isFilterEmpty, isGeoJsonLayer, isNil, isRasterLayer, isVectorLayer, kelvinToCelsius, kelvinToFahrenheit, kilometersToMiles, layer, metersToFeet, metersToMiles, metersToYards, milesToFeet, milesToKilometers, milesToMeters, parseBoolean, removeFilterCondition, resolveValue, snakeCaseToWords, temperatureStringToSymbol, toA, toActiveInactive, toAmps, toBoolean, toCelsius, toCentimeters, toCheckmark, toCompactNumber, toCurrency, toCustomDateFormat, toDateString, toEnabledDisabled, toFahrenheit, toFeet, toFloat, toFormattedNumber, toFullDateTime, toGW, toGWh, toGigawatts, toISOString, toInches, toInteger, toKA, toKV, toKW, toKelvin, toKiloamps, toKilohms, toKilometers, toKilovolts, toKilowatts, toLowerCase, toMA, toMV, toMW, toMWh, toMegawatts, toMegohms, toMeters, toMiles, toMilliamps, toMillimeters, toMilliohms, toMillivolts, toNauticalMiles, toOhms, toOnOff, toPercentage, toRelativeTime, toScientificNotation, toSecret, toSentenceCase, toTemperature, toTitleCase, toTrueFalse, toUpperCase, toV, toVolts, toW, toWatts, toWh, toYards, tokWh, truncateEnd, truncateMiddle, truncateStart, ucFirst, useBreakpoint, useClientDataControls, useColorMode, useDataControls, useDebounce, useElementSize, useInfiniteScroll, useLocalStorage, useMediaQuery, useNotice, useServerDataControls, wrapWithLink, yardsToMeters };
6550
+ /**
6551
+ * @edges/components
6552
+ *
6553
+ * Components can be imported directly from the package root:
6554
+ * ```typescript
6555
+ * import { Button, TextField, AppShell, Avatar } from "@texturehq/edges"
6556
+ * ```
6557
+ *
6558
+ * Or from their specific paths for optimal tree-shaking:
6559
+ * ```typescript
6560
+ * import { Button } from "@texturehq/edges/Button"
6561
+ * import { TextField } from "@texturehq/edges/TextField"
6562
+ * ```
6563
+ */
6564
+
6565
+ /**
6566
+ * Type for custom link components (e.g., Next.js Link).
6567
+ * This type is intentionally permissive to allow framework-specific link components
6568
+ * that have additional props beyond the minimum required (href, className, children).
6569
+ */
6570
+ type LinkComponentType = React.ComponentType<any>;
6571
+
6572
+ export { type Action, ActionCell, type ActionCellProps, ActivityFeed, ActivityFeedGroup, type ActivityFeedGroupProps, type ActivityFeedProps, type ActivityFeedSize, type ActivityFeedVariant, ActivityItem, type ActivityItemProps, type ActivityItemSurface, type ActivityItemTone, Alert, type AlertProps, AreaSeries, AutoMobileRenderer, BREAKPOINTS, BadgeCell, type BadgeCellProps, BadgeProps, Banner, type BannerAction, type BannerAppearance, type BannerProps, type BannerVariant, BarSeries, BaseDataPoint, BaseInputProps, BooleanCell, type BooleanCellProps, BooleanFormat, BreadcrumbItem, type BreadcrumbItemProps, Breadcrumbs, type Breakpoint, type BreakpointState, Calendar, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, CardMobileRenderer, type CardProps, type CardVariant, CarouselAutoplayTrigger, CarouselControl, type CarouselControlProps, CarouselIndicator, CarouselIndicatorGroup, type CarouselIndicatorProps, CarouselItem, CarouselItemGroup, type CarouselItemGroupProps, type CarouselItemProps, CarouselNextTrigger, CarouselPrevTrigger, CarouselProgressText, CarouselRoot, type CarouselRootProps, type CarouselTriggerProps, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, ChartEventMarkers, type ChartEventMarkersProps, type ChartExportMetadata, ChartTooltip, Chip, ChipInputField, type ChipInputFieldProps, Collapse, CollapseContent, type CollapseContentProps, type CollapseDensity, CollapseHeader, type CollapseHeaderProps, CollapseItem, type CollapseItemProps, type CollapseProps, type CollapseVariant, ColorModeProvider, type Column, CommandPalette, type CommandPaletteProps, ComponentFormatter, Confirm, type ConfirmProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, ContactCard, type ContactCardProps, ContactMetaCell, ContactMetaDisplay, type ContactMetaDisplayProps, CopyToClipboard, CurrencyFormat, CurrentFormat, CustomCell, type CustomCellProps, CustomPinsSpec, DataControls, type Filter as DataControlsFilter, type DataControlsProps, type SortOption as DataControlsSortOption, DataTable, type DataTableProps, DateCell, type DateCellProps, DateFormat, DateRangePicker, DeviceHealthBadge, type DeviceHealthBadgeProps, DeviceMetaCell, type DeviceMetaCellProps, DeviceMetaDisplay, type DeviceMetaDisplayProps, DeviceState, DeviceStateBadge, type DeviceStateBadgeProps, DeviceStateCell, type DeviceStateCellProps, DeviceStateWithMetric, type DeviceStateWithMetricProps, type DeviceType, DeviceTypeIcon, type DeviceTypeIconProps, DialogAction, DialogFooterConfig, DialogHeader, DialogHeaderConfig, type DialogHeaderProps, DistanceFormat, type ElementSize, EmptyState, type EmptyStateAction, type EmptyStateAlignment, type EmptyStateProps, type EmptyStateSize, EnergyFormat, type EnrollmentStatus, EnrollmentStatusBadge, type EnrollmentStatusBadgeProps, ErrorBoundary, type EventMarker, type ExportType, type FacetConfig, type FacetCounts, type FacetType, FieldFormat, FieldValue, type FilterChip, FilterChips, type FilterChipsProps, type FilterCondition, FilterDialog, type FilterDialogProps, type FilterGroup, type FilterOperator, type FilterState, FirmwareVersionBadge, type FirmwareVersionBadgeProps, Form, FormatRegistry, FormattedCell, FormattedValue, FormatterFunction, FunnelSeries, type FunnelSeriesProps, type FunnelStage as FunnelSeriesStage, GeoJsonLayerSpec, GlobalSearch, type GlobalSearchProps, Grid, type GridAlign, type GridCols, type GridFlow, type GridGap, type GridItemProps, type GridJustify, type GridProps, type GridSpan, GridState, GridStateBadge, type GridStateBadgeProps, type HealthStatus, HierarchyExplorer, type HierarchyExplorerProps, type HierarchyNode, HorizontalBarCell, type HorizontalBarCellProps, HoverCard, type HoverCardContentProps, type HoverCardRootProps, Icon, InfiniteScrollIndicator, type InfiniteScrollIndicatorProps, Kpi, KpiGroup, type KpiGroupAlign, type KpiGroupCols, type KpiGroupGap, type KpiGroupProps, type KpiOrientation, type KpiProps, type KpiSize, type KpiStatus, LayerSpec, LineSeries, type LinkBehavior, type LinkComponentType, List, ListBox, ListBoxItem, ListItem, type ListItemProps, ListPane, type ListPaneProps, type ListProps, type LoadingState, MiniBarCell, type MiniBarCellProps, type MobileBreakpoint, type MobileConfig, type MobileRenderer, ModalBackdrop, type ModalBackdropProps, type NodeState, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberFormat, type PageAsideProps, PageBanner, type PageBannerProps, type PageBreadcrumbItem, type PageContentProps, type PageHeaderProps, PageLayout, type PageLayoutProps, type PageScrollableContentProps, PercentBarCell, type PercentBarCellProps, PhoneFormat, type Place, PlaceSearch, type PlaceSearchProps, Popover, PowerFormat, type PresetRange, ProgressBar, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RangeCalendar, RasterLayerSpec, ResistanceFormat, type ResponsiveValue, ResultsCount, type ResultsCountProps, SKELETON_SIZES, type SearchConfig, SearchControl, type SearchControlProps, SearchEmptyState, type SearchEmptyStateProps, SearchLoadingState, type SearchLoadingStateProps, SearchResultGroup, type SearchResultGroupProps, SearchResultItem, type SearchResultItemProps, SearchResultsList, type SearchResultsListProps, SearchTrigger, type SearchTriggerProps, Section, SectionNav, type SectionNavItem, type SectionNavOrientation, type SectionNavProps, type SectionProps, type SectionSpacing, type SectionVariant, SelectCell, type SelectCellProps, SiteCard, type SiteCardProps, SiteContactCard, type SiteContactCardProps, SiteMetaCell, SiteMetaDisplay, type SiteMetaDisplayProps, Skeleton, Slider, type SortConfig, SortControl, type SortControlProps, type SortDirection, type SortState, SparklineCell, type SparklineCellProps, SplitPane, type SplitPaneOrientation, type SplitPanePanelProps, type SplitPaneProps, type StatAlign, type StatFormatter, type StatItem, type StatLayout, StatList, type StatListProps, type StatThreshold, type StatTone$1 as StatTone, type StatValue, Tab, TabList, TabPanel, type TableDensity, type TableExportMetadata, type TableExportOptions, type TableLayout, type TableWidth, Tabs, type TabsProps$1 as TabsProps, TemperatureFormat, TemperatureUnit, TemperatureUnitString, TextAreaWithChips, TextCell, type TextCellProps, TextFormat, TimeControls, type TimeControlsProps, type TimeRange, Timeline, TimelineItem, type TimelineItemProps, type TimelineItemVariant, ToggleButton, Tooltip, TooltipData, Tray, type TrayProps, type TrendPoint, type UseBreakpointReturn, type UseClientDataControlsOptions, type UseClientDataControlsResult, type UseDataControlsClientOptions, type UseDataControlsOptions, type UseDataControlsResult, type UseDataControlsServerOptions, type UseElementSizeResult, type UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseServerDataControlsOptions, type UseTableExportOptions, type UseTableExportReturn, VectorLayerSpec, VoltageFormat, type WindowSize, type WindowSizeOption, YFormatType, addFilterCondition, autoScaleCurrent, autoScaleDistance, autoScaleEnergy, autoScalePower, autoScaleResistance, autoScaleVoltage, camelCaseToWords, capitalize, celsiusToFahrenheit, celsiusToKelvin, centimetersToInches, createEmptyFilter, createFilter, createFilters, createFormat, enumToSentenceCase, exportChart, exportTableAsCSV, fahrenheitToCelsius, fahrenheitToKelvin, feetToMeters, feetToMiles, filterToChips, formatBoolean, formatCapacity, formatCurrency, formatCurrent, formatDate, formatDistance, formatEmptyValue, formatEnergy, formatFieldValue, formatInternationalPhone, formatNumber, formatPercent, formatPhone, formatPhoneNumber, formatPower, formatPowerRating, formatResistance, formatTemperature, formatText, formatUSPhone, formatVoltage, getBadgeClasses, getBooleanBadgeVariant, getCellAlignmentClasses, getCellContainerClasses, getCellTextClasses, getDateParts, getExportFormatName, getExportHeaders, getFilterFields, getLinkClasses, getNumericColorClasses, getSkeletonSize, getStateTone, inchesToCentimeters, isCustomPinsLayer, isExportSupported, isFilterEmpty, isGeoJsonLayer, isNil, isRasterLayer, isVectorLayer, kelvinToCelsius, kelvinToFahrenheit, kilometersToMiles, layer, metersToFeet, metersToMiles, metersToYards, milesToFeet, milesToKilometers, milesToMeters, parseBoolean, prepareTableDataForExport, removeFilterCondition, resolveValue, snakeCaseToWords, temperatureStringToSymbol, toA, toActiveInactive, toAmps, toBoolean, toCelsius, toCentimeters, toCheckmark, toCompactNumber, toCurrency, toCustomDateFormat, toDateString, toEnabledDisabled, toFahrenheit, toFeet, toFloat, toFormattedNumber, toFullDateTime, toGW, toGWh, toGigawatts, toISOString, toInches, toInteger, toKA, toKV, toKW, toKelvin, toKiloamps, toKilohms, toKilometers, toKilovolts, toKilowatts, toLowerCase, toMA, toMV, toMW, toMWh, toMegawatts, toMegohms, toMeters, toMiles, toMilliamps, toMillimeters, toMilliohms, toMillivolts, toNauticalMiles, toOhms, toOnOff, toPercentage, toRelativeTime, toScientificNotation, toSecret, toSentenceCase, toTemperature, toTitleCase, toTrueFalse, toUpperCase, toV, toVolts, toW, toWatts, toWh, toYards, tokWh, truncateEnd, truncateMiddle, truncateStart, ucFirst, useBreakpoint, useClientDataControls, useColorMode, useDataControls, useDebounce, useElementSize, useInfiniteScroll, useLocalStorage, useMediaQuery, useNotice, useServerDataControls, useTableExport, wrapWithLink, yardsToMeters };