@texturehq/edges 1.15.3 → 1.15.5

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.cts CHANGED
@@ -2,8 +2,8 @@ import { Key, ValidationResult, BreadcrumbProps, BreadcrumbsProps, ButtonProps a
2
2
  export { BreadcrumbProps, BreadcrumbsProps, DialogTrigger } from 'react-aria-components';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { RefObject, HTMLAttributes, ReactNode, ComponentProps, CSSProperties, ComponentType, Component, ErrorInfo } from 'react';
5
- import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, k as BadgeProps, Y as YFormatType, l as TooltipData, m as IconName$3, n as DeviceState, G as GridState, o as ComponentFormatter, L as LayerSpec, p as CustomPinsSpec, q as GeoJsonLayerSpec, r as RasterLayerSpec, s as VectorLayerSpec, t as ClusteredVectorLayerSpec } from './server-2XGnhJXF.cjs';
6
- export { A as ActionItem, v as ActionMenu, u as ActionMenuProps, x as AppShell, w as AppShellProps, z as Avatar, y as AvatarProps, H as Badge, aH as BaseFormat, ao as ChartContext, aq as ChartMargin, O as CodeEditor, J as CodeEditorProps, K as CodeLanguage, M as CodeTheme, $ as ColorSpec, aE as ComponentFormatOptions, aP as CurrentUnit, aS as CustomFormat, S as DateField, Q as DateFieldProps, aL as DateFormatStyle, aR as DistanceUnit, aM as EnergyUnit, W as FileUpload, U as FileUploadProps, X as Heading, a7 as InteractiveMap, a0 as InteractiveMapProps, a1 as LayerFeature, a2 as LayerStyle, Z as Loader, _ as Logo, a8 as MAP_TYPES, a3 as MapPoint, ab as Meter, aa as MeterProps, aT as MetricFormat, aK as PercentageFormat, aN as PowerUnit, a4 as RenderType, aQ as ResistanceUnit, ad as RichTextEditor, ac as RichTextEditorProps, af as SegmentOption, ag as SegmentedControl, ae as SegmentedControlProps, aj as SideNav, ah as SideNavItem, ai as SideNavProps, a9 as StaticMap, a5 as StaticMapProps, ak as TextLink, aI as TextTransform, aJ as TextTruncatePosition, an as TooltipSeries, am as TopNav, al as TopNavProps, aO as VoltageUnit, av as YFormatSettings, a6 as ZoomStops, aV as activeDeviceStates, aw as clearColorCache, ax as createCategoryColorMap, ar as createXScale, as as createYScale, at as defaultMargin, aW as deviceStateLabels, aU as deviceStateMetricFormats, aF as formatComponentValue, ay as getContrastingTextColor, az as getDefaultChartColor, aA as getDefaultColors, aY as getDeviceStateDisplayLabel, aY as getDeviceStateLabel, a_ as getGridStateLabel, aB as getResolvedColor, aC as getThemeCategoricalColors, au as getYFormatSettings, aZ as gridStateLabels, aX as isActiveDeviceState, aX as isActiveState, aD as isLightColor, ap as useChartContext, aG as useComponentFormatter } from './server-2XGnhJXF.cjs';
5
+ import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, k as BadgeProps, Y as YFormatType, l as TooltipData, m as IconName$3, n as DeviceState, G as GridState, o as ComponentFormatter, L as LayerSpec, p as CustomPinsSpec, q as GeoJsonLayerSpec, r as RasterLayerSpec, s as VectorLayerSpec, t as ClusteredVectorLayerSpec } from './server-DfqlfwZg.cjs';
6
+ export { A as ActionItem, v as ActionMenu, u as ActionMenuProps, x as AppShell, w as AppShellProps, z as Avatar, y as AvatarProps, H as Badge, aH as BaseFormat, ao as ChartContext, aq as ChartMargin, O as CodeEditor, J as CodeEditorProps, K as CodeLanguage, M as CodeTheme, $ as ColorSpec, aE as ComponentFormatOptions, aP as CurrentUnit, aS as CustomFormat, S as DateField, Q as DateFieldProps, aL as DateFormatStyle, aR as DistanceUnit, aM as EnergyUnit, W as FileUpload, U as FileUploadProps, X as Heading, a7 as InteractiveMap, a0 as InteractiveMapProps, a1 as LayerFeature, a2 as LayerStyle, Z as Loader, _ as Logo, a8 as MAP_TYPES, a3 as MapPoint, ab as Meter, aa as MeterProps, aT as MetricFormat, aK as PercentageFormat, aN as PowerUnit, a4 as RenderType, aQ as ResistanceUnit, ad as RichTextEditor, ac as RichTextEditorProps, af as SegmentOption, ag as SegmentedControl, ae as SegmentedControlProps, aj as SideNav, ah as SideNavItem, ai as SideNavProps, a9 as StaticMap, a5 as StaticMapProps, ak as TextLink, aI as TextTransform, aJ as TextTruncatePosition, an as TooltipSeries, am as TopNav, al as TopNavProps, aO as VoltageUnit, av as YFormatSettings, a6 as ZoomStops, aV as activeDeviceStates, aw as clearColorCache, ax as createCategoryColorMap, ar as createXScale, as as createYScale, at as defaultMargin, aW as deviceStateLabels, aU as deviceStateMetricFormats, aF as formatComponentValue, ay as getContrastingTextColor, az as getDefaultChartColor, aA as getDefaultColors, aY as getDeviceStateDisplayLabel, aY as getDeviceStateLabel, a_ as getGridStateLabel, aB as getResolvedColor, aC as getThemeCategoricalColors, au as getYFormatSettings, aZ as gridStateLabels, aX as isActiveDeviceState, aX as isActiveState, aD as isLightColor, ap as useChartContext, aG as useComponentFormatter } from './server-DfqlfwZg.cjs';
7
7
  import { Virtualizer } from '@tanstack/react-virtual';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import { ScaleTime, ScaleLinear } from 'd3-scale';
@@ -2548,6 +2548,14 @@ declare function getBooleanBadgeVariant(value: boolean): "success" | "neutral";
2548
2548
  * Get color classes for numeric values
2549
2549
  */
2550
2550
  declare function getNumericColorClasses(value: number, colorCode?: boolean): string;
2551
+ /**
2552
+ * Get link styling classes based on behavior
2553
+ */
2554
+ declare function getLinkClasses(behavior?: LinkBehavior, variant?: "default" | "brand" | "muted" | "unstyled"): string;
2555
+ /**
2556
+ * Wrap content with link if href is provided
2557
+ */
2558
+ declare function wrapWithLink<T>(content: ReactNode, href?: string | ((row: T) => string), row?: T, linkBehavior?: LinkBehavior, linkVariant?: "default" | "brand" | "muted" | "unstyled", emphasis?: CellEmphasis, className?: string): ReactNode;
2551
2559
 
2552
2560
  interface DateCellProps<T = any> extends CellComponentProps<T> {
2553
2561
  format?: "date" | "time" | "datetime" | "relative" | "custom";
@@ -2567,6 +2575,58 @@ interface DateCellProps<T = any> extends CellComponentProps<T> {
2567
2575
  */
2568
2576
  declare function DateCell<T = any>({ value, row, context, format, customFormat, emptyText, align, emphasis, href, linkBehavior, className, }: DateCellProps<T>): react_jsx_runtime.JSX.Element;
2569
2577
 
2578
+ /**
2579
+ * Device type classification
2580
+ */
2581
+ type DeviceType = "battery" | "charger" | "thermostat" | "inverter" | "vehicle" | "meter" | "gateway" | "other" | "unknown";
2582
+
2583
+ interface DeviceMetaCellProps<T = unknown> extends CellComponentProps<T> {
2584
+ /** Device manufacturer name (can be a function to extract from row) */
2585
+ manufacturer: string | ((row: T) => string);
2586
+ /** Device model name (can be a function to extract from row) */
2587
+ model: string | ((row: T) => string);
2588
+ /** Device type for fallback icon (can be a function to extract from row) */
2589
+ deviceType: DeviceType | ((row: T) => DeviceType);
2590
+ /** URL to manufacturer logo (optional, can be a function to extract from row) */
2591
+ logoUrl?: string | ((row: T) => string | undefined);
2592
+ /** Link to device detail page (optional) */
2593
+ href?: string | ((row: T) => string);
2594
+ /** Link variant for the manufacturer name */
2595
+ linkVariant?: "default" | "brand" | "muted" | "unstyled";
2596
+ /** Show device type icon next to model name */
2597
+ showDeviceTypeIcon?: boolean;
2598
+ /** Alignment */
2599
+ align?: "left" | "center" | "right";
2600
+ /** Additional classes */
2601
+ className?: string;
2602
+ }
2603
+ /**
2604
+ * DeviceMetaCell
2605
+ *
2606
+ * DataTable cell component for displaying device metadata (manufacturer, model, logo).
2607
+ * Displays manufacturer logo (with device type icon fallback) and device information.
2608
+ * Manufacturer name can be linked to device detail page.
2609
+ *
2610
+ * @example
2611
+ * ```tsx
2612
+ * // In DataTable column definition
2613
+ * {
2614
+ * id: "device",
2615
+ * label: "Device",
2616
+ * cell: DeviceMetaCell,
2617
+ * cellProps: {
2618
+ * manufacturer: (row) => row.manufacturerProfile?.name || row.manufacturer,
2619
+ * model: (row) => row.displayModelName || row.model,
2620
+ * deviceType: (row) => row.type,
2621
+ * logoUrl: (row) => row.manufacturerProfile?.logo,
2622
+ * href: (row) => `/devices/${row.id}`,
2623
+ * linkVariant: "default"
2624
+ * }
2625
+ * }
2626
+ * ```
2627
+ */
2628
+ declare function DeviceMetaCell<T = unknown>({ row, context, manufacturer, model, deviceType, logoUrl, href, linkVariant, showDeviceTypeIcon, align, className, }: DeviceMetaCellProps<T>): react_jsx_runtime.JSX.Element;
2629
+
2570
2630
  interface DeviceStateCellProps<T = any> extends Omit<CellComponentProps<T>, "value"> {
2571
2631
  /** The device state value */
2572
2632
  value?: DeviceState | null | undefined;
@@ -2626,6 +2686,61 @@ interface DeviceStateCellProps<T = any> extends Omit<CellComponentProps<T>, "val
2626
2686
  */
2627
2687
  declare function DeviceStateCell<T = any>({ value, row, context, metric, metricFormatter, secondaryState, size, shape, label, icon, fixedWidth, align, className, }: DeviceStateCellProps<T>): react_jsx_runtime.JSX.Element;
2628
2688
 
2689
+ interface FormattedCellProps<T = any> extends CellComponentProps<T> {
2690
+ /**
2691
+ * Formatter using the centralized formatting system
2692
+ * Can be a FieldFormat object or a custom function
2693
+ */
2694
+ formatter?: ComponentFormatter;
2695
+ /**
2696
+ * Text alignment
2697
+ */
2698
+ align?: "left" | "center" | "right";
2699
+ /**
2700
+ * Visual emphasis
2701
+ */
2702
+ emphasis?: CellEmphasis;
2703
+ /**
2704
+ * Make the cell a link
2705
+ */
2706
+ href?: string | ((row: T) => string);
2707
+ /**
2708
+ * Link behavior
2709
+ */
2710
+ linkBehavior?: LinkBehavior;
2711
+ /**
2712
+ * Additional className for the cell container
2713
+ */
2714
+ className?: string;
2715
+ /**
2716
+ * Custom empty text
2717
+ */
2718
+ emptyText?: React__default.ReactNode;
2719
+ /**
2720
+ * Custom empty className
2721
+ */
2722
+ emptyClassName?: string;
2723
+ }
2724
+ /**
2725
+ * A universal cell component that uses the centralized formatting system
2726
+ * This provides a consistent API with Kpi and StatList components
2727
+ *
2728
+ * @example
2729
+ * ```tsx
2730
+ * // In a DataTable column definition
2731
+ * {
2732
+ * id: "power",
2733
+ * accessor: "power",
2734
+ * cell: FormattedCell,
2735
+ * cellProps: {
2736
+ * formatter: { type: "power" },
2737
+ * align: "right"
2738
+ * }
2739
+ * }
2740
+ * ```
2741
+ */
2742
+ declare function FormattedCell<T = any>({ value, row, context, formatter, align, emphasis, href, linkBehavior, className, emptyText, emptyClassName, }: FormattedCellProps<T>): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
2743
+
2629
2744
  interface NumberCellProps<T = any> extends CellComponentProps<T> {
2630
2745
  format?: "number" | "currency" | "percent" | "compact";
2631
2746
  decimals?: number;
@@ -2749,64 +2864,49 @@ interface DeviceHealthBadgeProps extends Omit<BadgeProps, "variant" | "children"
2749
2864
  */
2750
2865
  declare function DeviceHealthBadge({ status, alertCount, showCount, isLoading, size, shape, ...badgeProps }: DeviceHealthBadgeProps): react_jsx_runtime.JSX.Element;
2751
2866
 
2752
- /**
2753
- * Device type classification
2754
- */
2755
- type DeviceType = "battery" | "charger" | "thermostat" | "inverter" | "vehicle" | "meter" | "gateway" | "other" | "unknown";
2756
-
2757
2867
  interface DeviceMetaDisplayProps {
2758
2868
  /** Device manufacturer name */
2759
2869
  manufacturer: string;
2760
- /** Device model */
2870
+ /** Device model name */
2761
2871
  model: string;
2762
- /** Device serial number (optional) */
2763
- serialNumber?: string;
2764
- /** URL to manufacturer logo */
2765
- logoUrl?: string;
2766
- /** Device type (for fallback icon) */
2872
+ /** Device type for fallback icon */
2767
2873
  deviceType: DeviceType;
2768
- /** Layout mode */
2769
- layout?: "compact" | "full";
2770
- /** Show manufacturer logo */
2771
- showLogo?: boolean;
2772
- /** Show device type icon */
2874
+ /** URL to manufacturer logo (optional) */
2875
+ logoUrl?: string;
2876
+ /** Link to device detail page (optional) */
2877
+ href?: string;
2878
+ /** Link variant for the manufacturer name */
2879
+ linkVariant?: "default" | "brand" | "muted" | "unstyled";
2880
+ /** Show device type icon next to model name */
2773
2881
  showDeviceTypeIcon?: boolean;
2774
2882
  /** Loading state */
2775
2883
  isLoading?: boolean;
2776
- /** Additional CSS classes */
2884
+ /** Additional classes */
2777
2885
  className?: string;
2778
2886
  }
2779
2887
  /**
2780
2888
  * DeviceMetaDisplay
2781
2889
  *
2782
- * Displays device metadata (manufacturer, model, serial number) with optional logo.
2783
- * Supports compact layout for tables and full layout for headers/cards.
2784
- * Falls back to device type icon if logo fails to load.
2890
+ * Reusable component for displaying device metadata (manufacturer, model, logo).
2891
+ * Displays manufacturer logo (with device type icon fallback) and device information.
2892
+ * Manufacturer name can be linked to device detail page.
2893
+ *
2894
+ * Use this component directly in cards, lists, or other layouts.
2895
+ * For DataTable cells, use DeviceMetaCell which wraps this component.
2785
2896
  *
2786
2897
  * @example
2787
2898
  * ```tsx
2788
- * // Table cell
2789
2899
  * <DeviceMetaDisplay
2790
2900
  * manufacturer="Tesla"
2791
2901
  * model="Powerwall 2"
2792
- * logoUrl="https://..."
2793
2902
  * deviceType="battery"
2794
- * layout="compact"
2795
- * />
2796
- *
2797
- * // Page header
2798
- * <DeviceMetaDisplay
2799
- * manufacturer="Tesla"
2800
- * model="Powerwall 2"
2801
- * serialNumber="TG123456789"
2802
2903
  * logoUrl="https://..."
2803
- * deviceType="battery"
2804
- * layout="full"
2904
+ * href="/devices/123"
2805
2905
  * showDeviceTypeIcon
2806
2906
  * />
2807
2907
  * ```
2808
2908
  */
2809
- declare function DeviceMetaDisplay({ manufacturer, model, serialNumber, logoUrl, deviceType, layout, showLogo, showDeviceTypeIcon, isLoading, className, }: DeviceMetaDisplayProps): react_jsx_runtime.JSX.Element;
2909
+ declare function DeviceMetaDisplay({ manufacturer, model, deviceType, logoUrl, href, linkVariant, showDeviceTypeIcon, isLoading, className, }: DeviceMetaDisplayProps): react_jsx_runtime.JSX.Element;
2810
2910
 
2811
2911
  interface DeviceStateBadgeProps extends Omit<BadgeProps, "variant" | "children"> {
2812
2912
  /** The device state to display */
@@ -5050,4 +5150,4 @@ type StatTone = "success" | "warning" | "error" | "info" | "neutral";
5050
5150
  */
5051
5151
  declare function getStateTone(state: DeviceState): StatTone;
5052
5152
 
5053
- 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, Autocomplete, BREAKPOINTS, BadgeProps, BarSeries, BaseDataPoint, type BaseInputProps, type BaseProps, BooleanCell, type BooleanCellProps, BooleanFormat, BreadcrumbItem, type BreadcrumbItemProps, Breadcrumbs, type Breakpoint, type BreakpointState, Button, Calendar, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, CardMobileRenderer, type CardProps, type CardVariant, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, type ChartExportMetadata, ChartTooltip, Checkbox, CheckboxGroup, Chip, ClearButton, Collapse, CollapseContent, type CollapseContentProps, type CollapseDensity, CollapseHeader, type CollapseHeaderProps, CollapseItem, type CollapseItemProps, type CollapseProps, type CollapseVariant, ColorModeProvider, type Column, ComponentFormatter, Confirm, type ConfirmProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, CopyToClipboard, CurrencyFormat, CurrentFormat, CustomPinsSpec, DataControls, type Filter as DataControlsFilter, type DataControlsProps, type SortOption as DataControlsSortOption, DataTable, type DataTableProps, DateCell, type DateCellProps, DateFormat, DateRangePicker, Description, type DescriptionProps, DeviceHealthBadge, type DeviceHealthBadgeProps, DeviceMetaDisplay, type DeviceMetaDisplayProps, DeviceState, DeviceStateBadge, type DeviceStateBadgeProps, DeviceStateCell, DeviceStateWithMetric, type DeviceStateWithMetricProps, type DeviceType, DeviceTypeIcon, type DeviceTypeIconProps, Dialog, type DialogAction, type DialogFooterConfig, DialogHeader, type DialogHeaderConfig, type DialogHeaderProps, type DialogProps, DistanceFormat, Drawer, type DrawerProps, EmptyState, type EmptyStateAction, type EmptyStateAlignment, type EmptyStateProps, type EmptyStateSize, EnergyFormat, type EnrollmentStatus, EnrollmentStatusBadge, type EnrollmentStatusBadgeProps, ErrorBoundary, type ExportType, type FacetConfig, type FacetCounts, type FacetType, FieldError, type FieldErrorProps, FieldFormat, FieldGroup, type FieldGroupProps, FieldValue, type FilterChip, FilterChips, type FilterChipsProps, type FilterCondition, FilterDialog, type FilterDialogProps, type FilterGroup, type FilterOperator, type FilterState, FirmwareVersionBadge, type FirmwareVersionBadgeProps, Form, FormatRegistry, FormattedValue, FormatterFunction, FunnelSeries, type FunnelSeriesProps, type FunnelStage as FunnelSeriesStage, GeoJsonLayerSpec, Grid, type GridAlign, type GridCols, type GridFlow, type GridGap, type GridItemProps, type GridJustify, type GridProps, type GridSpan, GridState, GridStateBadge, type GridStateBadgeProps, type HealthStatus, Icon, InfiniteScrollIndicator, type InfiniteScrollIndicatorProps, Input, type InputProps, type InputStyleProps, InputWrapper, Kpi, KpiGroup, type KpiGroupAlign, type KpiGroupCols, type KpiGroupGap, type KpiGroupProps, type KpiOrientation, type KpiProps, type KpiSize, type KpiStatus, Label, type LabelProps, LayerSpec, LineSeries, type LinkBehavior, List, ListBox, ListBoxItem, ListItem, type ListItemProps, ListPane, type ListPaneProps, type ListProps, type LoadingState, type MobileBreakpoint, type MobileConfig, type MobileRenderer, ModalBackdrop, type ModalBackdropProps, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberField, NumberFormat, type PageAsideProps, type PageBreadcrumbItem, type PageContentProps, type PageHeaderProps, PageLayout, type PageLayoutProps, type PageScrollableContentProps, PhoneFormat, PlaceSearch, Popover, PowerFormat, ProgressBar, Radio, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, RangeCalendar, RasterLayerSpec, ResistanceFormat, type ResponsiveValue, ResultsCount, type ResultsCountProps, SKELETON_SIZES, type SearchConfig, SearchControl, type SearchControlProps, Section, SectionNav, type SectionNavItem, type SectionNavOrientation, type SectionNavProps, type SectionProps, type SectionSpacing, type SectionVariant, Select, SelectCell, type SelectCellProps, Skeleton, Slider, type SortConfig, SortControl, type SortControlProps, type SortDirection, type SortState, 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, Switch, Tab, TabList, TabPanel, type TableDensity, type TableLayout, type TableWidth, Tabs, type TabsProps$1 as TabsProps, TemperatureFormat, TemperatureUnit, TemperatureUnitString, TextArea, TextAreaWithChips, TextCell, type TextCellProps, TextField, TextFormat, TimeField, 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 UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseServerDataControlsOptions, VectorLayerSpec, VoltageFormat, 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, getFieldGroupStyles, getFilterFields, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, 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, useInfiniteScroll, useInputFocus, useLocalStorage, useMediaQuery, useNotice, useServerDataControls, yardsToMeters };
5153
+ 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, Autocomplete, BREAKPOINTS, BadgeProps, BarSeries, BaseDataPoint, type BaseInputProps, type BaseProps, BooleanCell, type BooleanCellProps, BooleanFormat, BreadcrumbItem, type BreadcrumbItemProps, Breadcrumbs, type Breakpoint, type BreakpointState, Button, Calendar, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, CardMobileRenderer, type CardProps, type CardVariant, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, type ChartExportMetadata, ChartTooltip, Checkbox, CheckboxGroup, Chip, ClearButton, Collapse, CollapseContent, type CollapseContentProps, type CollapseDensity, CollapseHeader, type CollapseHeaderProps, CollapseItem, type CollapseItemProps, type CollapseProps, type CollapseVariant, ColorModeProvider, type Column, ComponentFormatter, Confirm, type ConfirmProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, CopyToClipboard, CurrencyFormat, CurrentFormat, CustomPinsSpec, DataControls, type Filter as DataControlsFilter, type DataControlsProps, type SortOption as DataControlsSortOption, DataTable, type DataTableProps, DateCell, type DateCellProps, DateFormat, DateRangePicker, Description, type DescriptionProps, DeviceHealthBadge, type DeviceHealthBadgeProps, DeviceMetaCell, type DeviceMetaCellProps, DeviceMetaDisplay, type DeviceMetaDisplayProps, DeviceState, DeviceStateBadge, type DeviceStateBadgeProps, DeviceStateCell, type DeviceStateCellProps, DeviceStateWithMetric, type DeviceStateWithMetricProps, type DeviceType, DeviceTypeIcon, type DeviceTypeIconProps, Dialog, type DialogAction, type DialogFooterConfig, DialogHeader, type DialogHeaderConfig, type DialogHeaderProps, type DialogProps, DistanceFormat, Drawer, type DrawerProps, EmptyState, type EmptyStateAction, type EmptyStateAlignment, type EmptyStateProps, type EmptyStateSize, EnergyFormat, type EnrollmentStatus, EnrollmentStatusBadge, type EnrollmentStatusBadgeProps, ErrorBoundary, type ExportType, type FacetConfig, type FacetCounts, type FacetType, FieldError, type FieldErrorProps, FieldFormat, FieldGroup, type FieldGroupProps, 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, Grid, type GridAlign, type GridCols, type GridFlow, type GridGap, type GridItemProps, type GridJustify, type GridProps, type GridSpan, GridState, GridStateBadge, type GridStateBadgeProps, type HealthStatus, Icon, InfiniteScrollIndicator, type InfiniteScrollIndicatorProps, Input, type InputProps, type InputStyleProps, InputWrapper, Kpi, KpiGroup, type KpiGroupAlign, type KpiGroupCols, type KpiGroupGap, type KpiGroupProps, type KpiOrientation, type KpiProps, type KpiSize, type KpiStatus, Label, type LabelProps, LayerSpec, LineSeries, type LinkBehavior, List, ListBox, ListBoxItem, ListItem, type ListItemProps, ListPane, type ListPaneProps, type ListProps, type LoadingState, type MobileBreakpoint, type MobileConfig, type MobileRenderer, ModalBackdrop, type ModalBackdropProps, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberField, NumberFormat, type PageAsideProps, type PageBreadcrumbItem, type PageContentProps, type PageHeaderProps, PageLayout, type PageLayoutProps, type PageScrollableContentProps, PhoneFormat, PlaceSearch, Popover, PowerFormat, ProgressBar, Radio, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, RangeCalendar, RasterLayerSpec, ResistanceFormat, type ResponsiveValue, ResultsCount, type ResultsCountProps, SKELETON_SIZES, type SearchConfig, SearchControl, type SearchControlProps, Section, SectionNav, type SectionNavItem, type SectionNavOrientation, type SectionNavProps, type SectionProps, type SectionSpacing, type SectionVariant, Select, SelectCell, type SelectCellProps, Skeleton, Slider, type SortConfig, SortControl, type SortControlProps, type SortDirection, type SortState, 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, Switch, Tab, TabList, TabPanel, type TableDensity, type TableLayout, type TableWidth, Tabs, type TabsProps$1 as TabsProps, TemperatureFormat, TemperatureUnit, TemperatureUnitString, TextArea, TextAreaWithChips, TextCell, type TextCellProps, TextField, TextFormat, TimeField, 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 UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseServerDataControlsOptions, VectorLayerSpec, VoltageFormat, 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, getFieldGroupStyles, getFilterFields, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, 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, useInfiniteScroll, useInputFocus, useLocalStorage, useMediaQuery, useNotice, useServerDataControls, wrapWithLink, yardsToMeters };
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { Key, ValidationResult, BreadcrumbProps, BreadcrumbsProps, ButtonProps a
2
2
  export { BreadcrumbProps, BreadcrumbsProps, DialogTrigger } from 'react-aria-components';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { RefObject, HTMLAttributes, ReactNode, ComponentProps, CSSProperties, ComponentType, Component, ErrorInfo } from 'react';
5
- import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, k as BadgeProps, Y as YFormatType, l as TooltipData, m as IconName$3, n as DeviceState, G as GridState, o as ComponentFormatter, L as LayerSpec, p as CustomPinsSpec, q as GeoJsonLayerSpec, r as RasterLayerSpec, s as VectorLayerSpec, t as ClusteredVectorLayerSpec } from './server-2XGnhJXF.js';
6
- export { A as ActionItem, v as ActionMenu, u as ActionMenuProps, x as AppShell, w as AppShellProps, z as Avatar, y as AvatarProps, H as Badge, aH as BaseFormat, ao as ChartContext, aq as ChartMargin, O as CodeEditor, J as CodeEditorProps, K as CodeLanguage, M as CodeTheme, $ as ColorSpec, aE as ComponentFormatOptions, aP as CurrentUnit, aS as CustomFormat, S as DateField, Q as DateFieldProps, aL as DateFormatStyle, aR as DistanceUnit, aM as EnergyUnit, W as FileUpload, U as FileUploadProps, X as Heading, a7 as InteractiveMap, a0 as InteractiveMapProps, a1 as LayerFeature, a2 as LayerStyle, Z as Loader, _ as Logo, a8 as MAP_TYPES, a3 as MapPoint, ab as Meter, aa as MeterProps, aT as MetricFormat, aK as PercentageFormat, aN as PowerUnit, a4 as RenderType, aQ as ResistanceUnit, ad as RichTextEditor, ac as RichTextEditorProps, af as SegmentOption, ag as SegmentedControl, ae as SegmentedControlProps, aj as SideNav, ah as SideNavItem, ai as SideNavProps, a9 as StaticMap, a5 as StaticMapProps, ak as TextLink, aI as TextTransform, aJ as TextTruncatePosition, an as TooltipSeries, am as TopNav, al as TopNavProps, aO as VoltageUnit, av as YFormatSettings, a6 as ZoomStops, aV as activeDeviceStates, aw as clearColorCache, ax as createCategoryColorMap, ar as createXScale, as as createYScale, at as defaultMargin, aW as deviceStateLabels, aU as deviceStateMetricFormats, aF as formatComponentValue, ay as getContrastingTextColor, az as getDefaultChartColor, aA as getDefaultColors, aY as getDeviceStateDisplayLabel, aY as getDeviceStateLabel, a_ as getGridStateLabel, aB as getResolvedColor, aC as getThemeCategoricalColors, au as getYFormatSettings, aZ as gridStateLabels, aX as isActiveDeviceState, aX as isActiveState, aD as isLightColor, ap as useChartContext, aG as useComponentFormatter } from './server-2XGnhJXF.js';
5
+ import { F as FieldValue, B as BooleanFormat, a as FormattedValue, C as CurrentFormat, D as DateFormat, b as DistanceFormat, E as EnergyFormat, c as CurrencyFormat, N as NumberFormat, P as PhoneFormat, d as PowerFormat, e as FormatterFunction, R as ResistanceFormat, T as TemperatureUnitString, f as TemperatureUnit, g as TemperatureFormat, h as TextFormat, V as VoltageFormat, i as FieldFormat, j as BaseDataPoint, I as Icon, k as BadgeProps, Y as YFormatType, l as TooltipData, m as IconName$3, n as DeviceState, G as GridState, o as ComponentFormatter, L as LayerSpec, p as CustomPinsSpec, q as GeoJsonLayerSpec, r as RasterLayerSpec, s as VectorLayerSpec, t as ClusteredVectorLayerSpec } from './server-DfqlfwZg.js';
6
+ export { A as ActionItem, v as ActionMenu, u as ActionMenuProps, x as AppShell, w as AppShellProps, z as Avatar, y as AvatarProps, H as Badge, aH as BaseFormat, ao as ChartContext, aq as ChartMargin, O as CodeEditor, J as CodeEditorProps, K as CodeLanguage, M as CodeTheme, $ as ColorSpec, aE as ComponentFormatOptions, aP as CurrentUnit, aS as CustomFormat, S as DateField, Q as DateFieldProps, aL as DateFormatStyle, aR as DistanceUnit, aM as EnergyUnit, W as FileUpload, U as FileUploadProps, X as Heading, a7 as InteractiveMap, a0 as InteractiveMapProps, a1 as LayerFeature, a2 as LayerStyle, Z as Loader, _ as Logo, a8 as MAP_TYPES, a3 as MapPoint, ab as Meter, aa as MeterProps, aT as MetricFormat, aK as PercentageFormat, aN as PowerUnit, a4 as RenderType, aQ as ResistanceUnit, ad as RichTextEditor, ac as RichTextEditorProps, af as SegmentOption, ag as SegmentedControl, ae as SegmentedControlProps, aj as SideNav, ah as SideNavItem, ai as SideNavProps, a9 as StaticMap, a5 as StaticMapProps, ak as TextLink, aI as TextTransform, aJ as TextTruncatePosition, an as TooltipSeries, am as TopNav, al as TopNavProps, aO as VoltageUnit, av as YFormatSettings, a6 as ZoomStops, aV as activeDeviceStates, aw as clearColorCache, ax as createCategoryColorMap, ar as createXScale, as as createYScale, at as defaultMargin, aW as deviceStateLabels, aU as deviceStateMetricFormats, aF as formatComponentValue, ay as getContrastingTextColor, az as getDefaultChartColor, aA as getDefaultColors, aY as getDeviceStateDisplayLabel, aY as getDeviceStateLabel, a_ as getGridStateLabel, aB as getResolvedColor, aC as getThemeCategoricalColors, au as getYFormatSettings, aZ as gridStateLabels, aX as isActiveDeviceState, aX as isActiveState, aD as isLightColor, ap as useChartContext, aG as useComponentFormatter } from './server-DfqlfwZg.js';
7
7
  import { Virtualizer } from '@tanstack/react-virtual';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import { ScaleTime, ScaleLinear } from 'd3-scale';
@@ -2548,6 +2548,14 @@ declare function getBooleanBadgeVariant(value: boolean): "success" | "neutral";
2548
2548
  * Get color classes for numeric values
2549
2549
  */
2550
2550
  declare function getNumericColorClasses(value: number, colorCode?: boolean): string;
2551
+ /**
2552
+ * Get link styling classes based on behavior
2553
+ */
2554
+ declare function getLinkClasses(behavior?: LinkBehavior, variant?: "default" | "brand" | "muted" | "unstyled"): string;
2555
+ /**
2556
+ * Wrap content with link if href is provided
2557
+ */
2558
+ declare function wrapWithLink<T>(content: ReactNode, href?: string | ((row: T) => string), row?: T, linkBehavior?: LinkBehavior, linkVariant?: "default" | "brand" | "muted" | "unstyled", emphasis?: CellEmphasis, className?: string): ReactNode;
2551
2559
 
2552
2560
  interface DateCellProps<T = any> extends CellComponentProps<T> {
2553
2561
  format?: "date" | "time" | "datetime" | "relative" | "custom";
@@ -2567,6 +2575,58 @@ interface DateCellProps<T = any> extends CellComponentProps<T> {
2567
2575
  */
2568
2576
  declare function DateCell<T = any>({ value, row, context, format, customFormat, emptyText, align, emphasis, href, linkBehavior, className, }: DateCellProps<T>): react_jsx_runtime.JSX.Element;
2569
2577
 
2578
+ /**
2579
+ * Device type classification
2580
+ */
2581
+ type DeviceType = "battery" | "charger" | "thermostat" | "inverter" | "vehicle" | "meter" | "gateway" | "other" | "unknown";
2582
+
2583
+ interface DeviceMetaCellProps<T = unknown> extends CellComponentProps<T> {
2584
+ /** Device manufacturer name (can be a function to extract from row) */
2585
+ manufacturer: string | ((row: T) => string);
2586
+ /** Device model name (can be a function to extract from row) */
2587
+ model: string | ((row: T) => string);
2588
+ /** Device type for fallback icon (can be a function to extract from row) */
2589
+ deviceType: DeviceType | ((row: T) => DeviceType);
2590
+ /** URL to manufacturer logo (optional, can be a function to extract from row) */
2591
+ logoUrl?: string | ((row: T) => string | undefined);
2592
+ /** Link to device detail page (optional) */
2593
+ href?: string | ((row: T) => string);
2594
+ /** Link variant for the manufacturer name */
2595
+ linkVariant?: "default" | "brand" | "muted" | "unstyled";
2596
+ /** Show device type icon next to model name */
2597
+ showDeviceTypeIcon?: boolean;
2598
+ /** Alignment */
2599
+ align?: "left" | "center" | "right";
2600
+ /** Additional classes */
2601
+ className?: string;
2602
+ }
2603
+ /**
2604
+ * DeviceMetaCell
2605
+ *
2606
+ * DataTable cell component for displaying device metadata (manufacturer, model, logo).
2607
+ * Displays manufacturer logo (with device type icon fallback) and device information.
2608
+ * Manufacturer name can be linked to device detail page.
2609
+ *
2610
+ * @example
2611
+ * ```tsx
2612
+ * // In DataTable column definition
2613
+ * {
2614
+ * id: "device",
2615
+ * label: "Device",
2616
+ * cell: DeviceMetaCell,
2617
+ * cellProps: {
2618
+ * manufacturer: (row) => row.manufacturerProfile?.name || row.manufacturer,
2619
+ * model: (row) => row.displayModelName || row.model,
2620
+ * deviceType: (row) => row.type,
2621
+ * logoUrl: (row) => row.manufacturerProfile?.logo,
2622
+ * href: (row) => `/devices/${row.id}`,
2623
+ * linkVariant: "default"
2624
+ * }
2625
+ * }
2626
+ * ```
2627
+ */
2628
+ declare function DeviceMetaCell<T = unknown>({ row, context, manufacturer, model, deviceType, logoUrl, href, linkVariant, showDeviceTypeIcon, align, className, }: DeviceMetaCellProps<T>): react_jsx_runtime.JSX.Element;
2629
+
2570
2630
  interface DeviceStateCellProps<T = any> extends Omit<CellComponentProps<T>, "value"> {
2571
2631
  /** The device state value */
2572
2632
  value?: DeviceState | null | undefined;
@@ -2626,6 +2686,61 @@ interface DeviceStateCellProps<T = any> extends Omit<CellComponentProps<T>, "val
2626
2686
  */
2627
2687
  declare function DeviceStateCell<T = any>({ value, row, context, metric, metricFormatter, secondaryState, size, shape, label, icon, fixedWidth, align, className, }: DeviceStateCellProps<T>): react_jsx_runtime.JSX.Element;
2628
2688
 
2689
+ interface FormattedCellProps<T = any> extends CellComponentProps<T> {
2690
+ /**
2691
+ * Formatter using the centralized formatting system
2692
+ * Can be a FieldFormat object or a custom function
2693
+ */
2694
+ formatter?: ComponentFormatter;
2695
+ /**
2696
+ * Text alignment
2697
+ */
2698
+ align?: "left" | "center" | "right";
2699
+ /**
2700
+ * Visual emphasis
2701
+ */
2702
+ emphasis?: CellEmphasis;
2703
+ /**
2704
+ * Make the cell a link
2705
+ */
2706
+ href?: string | ((row: T) => string);
2707
+ /**
2708
+ * Link behavior
2709
+ */
2710
+ linkBehavior?: LinkBehavior;
2711
+ /**
2712
+ * Additional className for the cell container
2713
+ */
2714
+ className?: string;
2715
+ /**
2716
+ * Custom empty text
2717
+ */
2718
+ emptyText?: React__default.ReactNode;
2719
+ /**
2720
+ * Custom empty className
2721
+ */
2722
+ emptyClassName?: string;
2723
+ }
2724
+ /**
2725
+ * A universal cell component that uses the centralized formatting system
2726
+ * This provides a consistent API with Kpi and StatList components
2727
+ *
2728
+ * @example
2729
+ * ```tsx
2730
+ * // In a DataTable column definition
2731
+ * {
2732
+ * id: "power",
2733
+ * accessor: "power",
2734
+ * cell: FormattedCell,
2735
+ * cellProps: {
2736
+ * formatter: { type: "power" },
2737
+ * align: "right"
2738
+ * }
2739
+ * }
2740
+ * ```
2741
+ */
2742
+ declare function FormattedCell<T = any>({ value, row, context, formatter, align, emphasis, href, linkBehavior, className, emptyText, emptyClassName, }: FormattedCellProps<T>): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
2743
+
2629
2744
  interface NumberCellProps<T = any> extends CellComponentProps<T> {
2630
2745
  format?: "number" | "currency" | "percent" | "compact";
2631
2746
  decimals?: number;
@@ -2749,64 +2864,49 @@ interface DeviceHealthBadgeProps extends Omit<BadgeProps, "variant" | "children"
2749
2864
  */
2750
2865
  declare function DeviceHealthBadge({ status, alertCount, showCount, isLoading, size, shape, ...badgeProps }: DeviceHealthBadgeProps): react_jsx_runtime.JSX.Element;
2751
2866
 
2752
- /**
2753
- * Device type classification
2754
- */
2755
- type DeviceType = "battery" | "charger" | "thermostat" | "inverter" | "vehicle" | "meter" | "gateway" | "other" | "unknown";
2756
-
2757
2867
  interface DeviceMetaDisplayProps {
2758
2868
  /** Device manufacturer name */
2759
2869
  manufacturer: string;
2760
- /** Device model */
2870
+ /** Device model name */
2761
2871
  model: string;
2762
- /** Device serial number (optional) */
2763
- serialNumber?: string;
2764
- /** URL to manufacturer logo */
2765
- logoUrl?: string;
2766
- /** Device type (for fallback icon) */
2872
+ /** Device type for fallback icon */
2767
2873
  deviceType: DeviceType;
2768
- /** Layout mode */
2769
- layout?: "compact" | "full";
2770
- /** Show manufacturer logo */
2771
- showLogo?: boolean;
2772
- /** Show device type icon */
2874
+ /** URL to manufacturer logo (optional) */
2875
+ logoUrl?: string;
2876
+ /** Link to device detail page (optional) */
2877
+ href?: string;
2878
+ /** Link variant for the manufacturer name */
2879
+ linkVariant?: "default" | "brand" | "muted" | "unstyled";
2880
+ /** Show device type icon next to model name */
2773
2881
  showDeviceTypeIcon?: boolean;
2774
2882
  /** Loading state */
2775
2883
  isLoading?: boolean;
2776
- /** Additional CSS classes */
2884
+ /** Additional classes */
2777
2885
  className?: string;
2778
2886
  }
2779
2887
  /**
2780
2888
  * DeviceMetaDisplay
2781
2889
  *
2782
- * Displays device metadata (manufacturer, model, serial number) with optional logo.
2783
- * Supports compact layout for tables and full layout for headers/cards.
2784
- * Falls back to device type icon if logo fails to load.
2890
+ * Reusable component for displaying device metadata (manufacturer, model, logo).
2891
+ * Displays manufacturer logo (with device type icon fallback) and device information.
2892
+ * Manufacturer name can be linked to device detail page.
2893
+ *
2894
+ * Use this component directly in cards, lists, or other layouts.
2895
+ * For DataTable cells, use DeviceMetaCell which wraps this component.
2785
2896
  *
2786
2897
  * @example
2787
2898
  * ```tsx
2788
- * // Table cell
2789
2899
  * <DeviceMetaDisplay
2790
2900
  * manufacturer="Tesla"
2791
2901
  * model="Powerwall 2"
2792
- * logoUrl="https://..."
2793
2902
  * deviceType="battery"
2794
- * layout="compact"
2795
- * />
2796
- *
2797
- * // Page header
2798
- * <DeviceMetaDisplay
2799
- * manufacturer="Tesla"
2800
- * model="Powerwall 2"
2801
- * serialNumber="TG123456789"
2802
2903
  * logoUrl="https://..."
2803
- * deviceType="battery"
2804
- * layout="full"
2904
+ * href="/devices/123"
2805
2905
  * showDeviceTypeIcon
2806
2906
  * />
2807
2907
  * ```
2808
2908
  */
2809
- declare function DeviceMetaDisplay({ manufacturer, model, serialNumber, logoUrl, deviceType, layout, showLogo, showDeviceTypeIcon, isLoading, className, }: DeviceMetaDisplayProps): react_jsx_runtime.JSX.Element;
2909
+ declare function DeviceMetaDisplay({ manufacturer, model, deviceType, logoUrl, href, linkVariant, showDeviceTypeIcon, isLoading, className, }: DeviceMetaDisplayProps): react_jsx_runtime.JSX.Element;
2810
2910
 
2811
2911
  interface DeviceStateBadgeProps extends Omit<BadgeProps, "variant" | "children"> {
2812
2912
  /** The device state to display */
@@ -5050,4 +5150,4 @@ type StatTone = "success" | "warning" | "error" | "info" | "neutral";
5050
5150
  */
5051
5151
  declare function getStateTone(state: DeviceState): StatTone;
5052
5152
 
5053
- 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, Autocomplete, BREAKPOINTS, BadgeProps, BarSeries, BaseDataPoint, type BaseInputProps, type BaseProps, BooleanCell, type BooleanCellProps, BooleanFormat, BreadcrumbItem, type BreadcrumbItemProps, Breadcrumbs, type Breakpoint, type BreakpointState, Button, Calendar, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, CardMobileRenderer, type CardProps, type CardVariant, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, type ChartExportMetadata, ChartTooltip, Checkbox, CheckboxGroup, Chip, ClearButton, Collapse, CollapseContent, type CollapseContentProps, type CollapseDensity, CollapseHeader, type CollapseHeaderProps, CollapseItem, type CollapseItemProps, type CollapseProps, type CollapseVariant, ColorModeProvider, type Column, ComponentFormatter, Confirm, type ConfirmProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, CopyToClipboard, CurrencyFormat, CurrentFormat, CustomPinsSpec, DataControls, type Filter as DataControlsFilter, type DataControlsProps, type SortOption as DataControlsSortOption, DataTable, type DataTableProps, DateCell, type DateCellProps, DateFormat, DateRangePicker, Description, type DescriptionProps, DeviceHealthBadge, type DeviceHealthBadgeProps, DeviceMetaDisplay, type DeviceMetaDisplayProps, DeviceState, DeviceStateBadge, type DeviceStateBadgeProps, DeviceStateCell, DeviceStateWithMetric, type DeviceStateWithMetricProps, type DeviceType, DeviceTypeIcon, type DeviceTypeIconProps, Dialog, type DialogAction, type DialogFooterConfig, DialogHeader, type DialogHeaderConfig, type DialogHeaderProps, type DialogProps, DistanceFormat, Drawer, type DrawerProps, EmptyState, type EmptyStateAction, type EmptyStateAlignment, type EmptyStateProps, type EmptyStateSize, EnergyFormat, type EnrollmentStatus, EnrollmentStatusBadge, type EnrollmentStatusBadgeProps, ErrorBoundary, type ExportType, type FacetConfig, type FacetCounts, type FacetType, FieldError, type FieldErrorProps, FieldFormat, FieldGroup, type FieldGroupProps, FieldValue, type FilterChip, FilterChips, type FilterChipsProps, type FilterCondition, FilterDialog, type FilterDialogProps, type FilterGroup, type FilterOperator, type FilterState, FirmwareVersionBadge, type FirmwareVersionBadgeProps, Form, FormatRegistry, FormattedValue, FormatterFunction, FunnelSeries, type FunnelSeriesProps, type FunnelStage as FunnelSeriesStage, GeoJsonLayerSpec, Grid, type GridAlign, type GridCols, type GridFlow, type GridGap, type GridItemProps, type GridJustify, type GridProps, type GridSpan, GridState, GridStateBadge, type GridStateBadgeProps, type HealthStatus, Icon, InfiniteScrollIndicator, type InfiniteScrollIndicatorProps, Input, type InputProps, type InputStyleProps, InputWrapper, Kpi, KpiGroup, type KpiGroupAlign, type KpiGroupCols, type KpiGroupGap, type KpiGroupProps, type KpiOrientation, type KpiProps, type KpiSize, type KpiStatus, Label, type LabelProps, LayerSpec, LineSeries, type LinkBehavior, List, ListBox, ListBoxItem, ListItem, type ListItemProps, ListPane, type ListPaneProps, type ListProps, type LoadingState, type MobileBreakpoint, type MobileConfig, type MobileRenderer, ModalBackdrop, type ModalBackdropProps, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberField, NumberFormat, type PageAsideProps, type PageBreadcrumbItem, type PageContentProps, type PageHeaderProps, PageLayout, type PageLayoutProps, type PageScrollableContentProps, PhoneFormat, PlaceSearch, Popover, PowerFormat, ProgressBar, Radio, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, RangeCalendar, RasterLayerSpec, ResistanceFormat, type ResponsiveValue, ResultsCount, type ResultsCountProps, SKELETON_SIZES, type SearchConfig, SearchControl, type SearchControlProps, Section, SectionNav, type SectionNavItem, type SectionNavOrientation, type SectionNavProps, type SectionProps, type SectionSpacing, type SectionVariant, Select, SelectCell, type SelectCellProps, Skeleton, Slider, type SortConfig, SortControl, type SortControlProps, type SortDirection, type SortState, 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, Switch, Tab, TabList, TabPanel, type TableDensity, type TableLayout, type TableWidth, Tabs, type TabsProps$1 as TabsProps, TemperatureFormat, TemperatureUnit, TemperatureUnitString, TextArea, TextAreaWithChips, TextCell, type TextCellProps, TextField, TextFormat, TimeField, 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 UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseServerDataControlsOptions, VectorLayerSpec, VoltageFormat, 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, getFieldGroupStyles, getFilterFields, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, 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, useInfiniteScroll, useInputFocus, useLocalStorage, useMediaQuery, useNotice, useServerDataControls, yardsToMeters };
5153
+ 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, Autocomplete, BREAKPOINTS, BadgeProps, BarSeries, BaseDataPoint, type BaseInputProps, type BaseProps, BooleanCell, type BooleanCellProps, BooleanFormat, BreadcrumbItem, type BreadcrumbItemProps, Breadcrumbs, type Breakpoint, type BreakpointState, Button, Calendar, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, CardMobileRenderer, type CardProps, type CardVariant, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, type ChartExportMetadata, ChartTooltip, Checkbox, CheckboxGroup, Chip, ClearButton, Collapse, CollapseContent, type CollapseContentProps, type CollapseDensity, CollapseHeader, type CollapseHeaderProps, CollapseItem, type CollapseItemProps, type CollapseProps, type CollapseVariant, ColorModeProvider, type Column, ComponentFormatter, Confirm, type ConfirmProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, CopyToClipboard, CurrencyFormat, CurrentFormat, CustomPinsSpec, DataControls, type Filter as DataControlsFilter, type DataControlsProps, type SortOption as DataControlsSortOption, DataTable, type DataTableProps, DateCell, type DateCellProps, DateFormat, DateRangePicker, Description, type DescriptionProps, DeviceHealthBadge, type DeviceHealthBadgeProps, DeviceMetaCell, type DeviceMetaCellProps, DeviceMetaDisplay, type DeviceMetaDisplayProps, DeviceState, DeviceStateBadge, type DeviceStateBadgeProps, DeviceStateCell, type DeviceStateCellProps, DeviceStateWithMetric, type DeviceStateWithMetricProps, type DeviceType, DeviceTypeIcon, type DeviceTypeIconProps, Dialog, type DialogAction, type DialogFooterConfig, DialogHeader, type DialogHeaderConfig, type DialogHeaderProps, type DialogProps, DistanceFormat, Drawer, type DrawerProps, EmptyState, type EmptyStateAction, type EmptyStateAlignment, type EmptyStateProps, type EmptyStateSize, EnergyFormat, type EnrollmentStatus, EnrollmentStatusBadge, type EnrollmentStatusBadgeProps, ErrorBoundary, type ExportType, type FacetConfig, type FacetCounts, type FacetType, FieldError, type FieldErrorProps, FieldFormat, FieldGroup, type FieldGroupProps, 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, Grid, type GridAlign, type GridCols, type GridFlow, type GridGap, type GridItemProps, type GridJustify, type GridProps, type GridSpan, GridState, GridStateBadge, type GridStateBadgeProps, type HealthStatus, Icon, InfiniteScrollIndicator, type InfiniteScrollIndicatorProps, Input, type InputProps, type InputStyleProps, InputWrapper, Kpi, KpiGroup, type KpiGroupAlign, type KpiGroupCols, type KpiGroupGap, type KpiGroupProps, type KpiOrientation, type KpiProps, type KpiSize, type KpiStatus, Label, type LabelProps, LayerSpec, LineSeries, type LinkBehavior, List, ListBox, ListBoxItem, ListItem, type ListItemProps, ListPane, type ListPaneProps, type ListProps, type LoadingState, type MobileBreakpoint, type MobileConfig, type MobileRenderer, ModalBackdrop, type ModalBackdropProps, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberField, NumberFormat, type PageAsideProps, type PageBreadcrumbItem, type PageContentProps, type PageHeaderProps, PageLayout, type PageLayoutProps, type PageScrollableContentProps, PhoneFormat, PlaceSearch, Popover, PowerFormat, ProgressBar, Radio, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, RangeCalendar, RasterLayerSpec, ResistanceFormat, type ResponsiveValue, ResultsCount, type ResultsCountProps, SKELETON_SIZES, type SearchConfig, SearchControl, type SearchControlProps, Section, SectionNav, type SectionNavItem, type SectionNavOrientation, type SectionNavProps, type SectionProps, type SectionSpacing, type SectionVariant, Select, SelectCell, type SelectCellProps, Skeleton, Slider, type SortConfig, SortControl, type SortControlProps, type SortDirection, type SortState, 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, Switch, Tab, TabList, TabPanel, type TableDensity, type TableLayout, type TableWidth, Tabs, type TabsProps$1 as TabsProps, TemperatureFormat, TemperatureUnit, TemperatureUnitString, TextArea, TextAreaWithChips, TextCell, type TextCellProps, TextField, TextFormat, TimeField, 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 UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseServerDataControlsOptions, VectorLayerSpec, VoltageFormat, 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, getFieldGroupStyles, getFilterFields, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, 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, useInfiniteScroll, useInputFocus, useLocalStorage, useMediaQuery, useNotice, useServerDataControls, wrapWithLink, yardsToMeters };