@texturehq/edges 0.1.8 → 1.0.1

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,8 +1,23 @@
1
+ import { I as Icon, B as BaseDataPoint, Y as YFormatType, T as TooltipData, a as IconName$2 } from './server-DmvMh5XJ.js';
2
+ export { A as ActionItem, c as ActionMenu, b as ActionMenuProps, e as AppShell, d as AppShellProps, g as Avatar, f as AvatarProps, i as Badge, h as BadgeProps, C as Card, Q as ChartContext, V as ChartMargin, m as CodeEditor, j as CodeEditorProps, k as CodeLanguage, l as CodeTheme, n as DateField, D as DateFieldProps, o as FileUpload, F as FileUploadProps, H as Heading, r as InteractiveMap, q as InteractiveMapProps, L as Loader, p as Logo, s as MAPBOX_THEMES, M as MapPoint, v as Meter, u as MeterProps, w as RichTextEditor, R as RichTextEditorProps, y as SegmentOption, z as SegmentedControl, x as SegmentedControlProps, J as SideNav, E as SideNavItem, G as SideNavProps, t as StaticMap, S as StaticMapProps, K as TextLink, P as TooltipSeries, O as TopNav, N as TopNavProps, $ as YFormatSettings, a0 as clearColorCache, a1 as createCategoryColorMap, W as createXScale, X as createYScale, Z as defaultMargin, a2 as getContrastingTextColor, a3 as getDefaultChartColor, a4 as getDefaultColors, a5 as getResolvedColor, a6 as getThemeCategoricalColors, _ as getYFormatSettings, a7 as isLightColor, U as useChartContext } from './server-DmvMh5XJ.js';
1
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
4
  import * as React$1 from 'react';
3
- import React__default, { ComponentProps, ReactNode, Component, ErrorInfo } from 'react';
4
- import { Key, ValidationResult, ButtonProps as ButtonProps$1, DateValue, CalendarProps as CalendarProps$1, CheckboxProps as CheckboxProps$1, CheckboxRenderProps, DateFieldProps as DateFieldProps$1, DateRangePickerProps as DateRangePickerProps$1, DialogProps, TextProps, FormProps, ListBoxProps as ListBoxProps$1, ListBoxItemProps, NumberFieldProps as NumberFieldProps$1, PopoverProps as PopoverProps$1, ProgressBarProps as ProgressBarProps$1, RangeCalendarProps as RangeCalendarProps$1, SelectProps as SelectProps$1, SwitchProps as SwitchProps$1, TabProps as TabProps$1, TabListProps, TabPanelProps, TabsProps, TextFieldProps as TextFieldProps$1, TimeFieldProps as TimeFieldProps$1, TimeValue, TooltipProps as TooltipProps$1, RadioGroupProps as RadioGroupProps$1, RadioProps } from 'react-aria-components';
5
- import * as _phosphor_icons_react from '@phosphor-icons/react';
5
+ import React__default, { ComponentProps, ReactNode, ComponentType, Component, ErrorInfo } from 'react';
6
+ import { Key, ValidationResult, BreadcrumbProps, BreadcrumbsProps, ButtonProps as ButtonProps$1, DateValue, CalendarProps as CalendarProps$1, CheckboxProps as CheckboxProps$1, CheckboxRenderProps, CheckboxGroupProps as CheckboxGroupProps$1, DateRangePickerProps as DateRangePickerProps$1, DialogProps, TextProps, FormProps, ListBoxProps as ListBoxProps$1, ListBoxItemProps, NumberFieldProps as NumberFieldProps$1, PopoverProps as PopoverProps$1, ProgressBarProps as ProgressBarProps$1, RadioProps, RadioGroupProps as RadioGroupProps$1, RangeCalendarProps as RangeCalendarProps$1, SelectProps as SelectProps$1, SwitchProps as SwitchProps$1, TabProps as TabProps$1, TabListProps, TabPanelProps, TabsProps, TextFieldProps as TextFieldProps$1, TimeFieldProps as TimeFieldProps$1, TimeValue, TooltipProps as TooltipProps$1 } from 'react-aria-components';
7
+ export { BreadcrumbProps, BreadcrumbsProps } from 'react-aria-components';
8
+ import { ScaleTime, ScaleLinear } from 'd3-scale';
9
+ import '@phosphor-icons/react';
10
+ import 'react-map-gl';
11
+
12
+ declare function useDebounce<T>(value: T, delay?: number): T;
13
+
14
+ /**
15
+ * Hook for managing localStorage values with React state synchronization
16
+ * @param key - The localStorage key
17
+ * @param initialValue - The initial value if nothing is stored
18
+ * @returns [value, setValue, removeValue] - Current value, setter function, and remove function
19
+ */
20
+ declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((val: T) => T)) => void, () => void];
6
21
 
7
22
  /**
8
23
  * Control-specific style utilities for form elements and interactive components.
@@ -77,147 +92,20 @@ interface AutocompleteProps {
77
92
  }
78
93
  declare function Autocomplete({ label, staticItems, sections, selectedKey, defaultSelectedKey, onSelectionChange, requestConfig, defaultFilter, placeholder, errorMessage, description, size, tooltip, isRequired, isDisabled, isInvalid, validationResult, showErrors, renderItem, renderLeftIcon, renderSection, autoFocus, }: AutocompleteProps): react_jsx_runtime.JSX.Element;
79
94
 
80
- declare const iconMapping: {
81
- readonly AppWindow: _phosphor_icons_react.Icon;
82
- readonly ArrowCircleUp: _phosphor_icons_react.Icon;
83
- readonly ArrowDown: _phosphor_icons_react.Icon;
84
- readonly ArrowLeft: _phosphor_icons_react.Icon;
85
- readonly ArrowLineLeft: _phosphor_icons_react.Icon;
86
- readonly ArrowRight: _phosphor_icons_react.Icon;
87
- readonly ArrowSquareOut: _phosphor_icons_react.Icon;
88
- readonly ArrowUp: _phosphor_icons_react.Icon;
89
- readonly ArrowsClockwise: _phosphor_icons_react.Icon;
90
- readonly BatteryCharging: _phosphor_icons_react.Icon;
91
- readonly BatteryEmpty: _phosphor_icons_react.Icon;
92
- readonly BatteryFull: _phosphor_icons_react.Icon;
93
- readonly BatteryHigh: _phosphor_icons_react.Icon;
94
- readonly BatteryLow: _phosphor_icons_react.Icon;
95
- readonly BatteryMedium: _phosphor_icons_react.Icon;
96
- readonly BatteryWarning: _phosphor_icons_react.Icon;
97
- readonly BookOpen: _phosphor_icons_react.Icon;
98
- readonly BookmarkSimple: _phosphor_icons_react.Icon;
99
- readonly BracketsCurly: _phosphor_icons_react.Icon;
100
- readonly Broadcast: _phosphor_icons_react.Icon;
101
- readonly Buildings: _phosphor_icons_react.Icon;
102
- readonly CalendarBlank: _phosphor_icons_react.Icon;
103
- readonly CaretDown: _phosphor_icons_react.Icon;
104
- readonly CaretLeft: _phosphor_icons_react.Icon;
105
- readonly CaretRight: _phosphor_icons_react.Icon;
106
- readonly CaretUp: _phosphor_icons_react.Icon;
107
- readonly CarSimple: _phosphor_icons_react.Icon;
108
- readonly ChargingStation: _phosphor_icons_react.Icon;
109
- readonly ChartBar: _phosphor_icons_react.Icon;
110
- readonly ChartLine: _phosphor_icons_react.Icon;
111
- readonly ChartLineUp: _phosphor_icons_react.Icon;
112
- readonly Check: _phosphor_icons_react.Icon;
113
- readonly CheckCircle: _phosphor_icons_react.Icon;
114
- readonly CheckSquare: _phosphor_icons_react.Icon;
115
- readonly Circle: _phosphor_icons_react.Icon;
116
- readonly CircleDashed: _phosphor_icons_react.Icon;
117
- readonly CircleNotch: _phosphor_icons_react.Icon;
118
- readonly ClipboardText: _phosphor_icons_react.Icon;
119
- readonly ClockCountdown: _phosphor_icons_react.Icon;
120
- readonly Cloud: _phosphor_icons_react.Icon;
121
- readonly CloudArrowDown: _phosphor_icons_react.Icon;
122
- readonly CloudFog: _phosphor_icons_react.Icon;
123
- readonly CloudLightning: _phosphor_icons_react.Icon;
124
- readonly CloudRain: _phosphor_icons_react.Icon;
125
- readonly CloudSnow: _phosphor_icons_react.Icon;
126
- readonly CloudSun: _phosphor_icons_react.Icon;
127
- readonly Code: _phosphor_icons_react.Icon;
128
- readonly Columns: _phosphor_icons_react.Icon;
129
- readonly Copy: _phosphor_icons_react.Icon;
130
- readonly Cursor: _phosphor_icons_react.Icon;
131
- readonly Database: _phosphor_icons_react.Icon;
132
- readonly DotsSix: _phosphor_icons_react.Icon;
133
- readonly DotsThree: _phosphor_icons_react.Icon;
134
- readonly DownloadSimple: _phosphor_icons_react.Icon;
135
- readonly EnvelopeSimple: _phosphor_icons_react.Icon;
136
- readonly Eye: _phosphor_icons_react.Icon;
137
- readonly EyeClosed: _phosphor_icons_react.Icon;
138
- readonly EyeSlash: _phosphor_icons_react.Icon;
139
- readonly Export: _phosphor_icons_react.Icon;
140
- readonly FireSimple: _phosphor_icons_react.Icon;
141
- readonly Flag: _phosphor_icons_react.Icon;
142
- readonly Gauge: _phosphor_icons_react.Icon;
143
- readonly GearSix: _phosphor_icons_react.Icon;
144
- readonly GitBranch: _phosphor_icons_react.Icon;
145
- readonly HandPointing: _phosphor_icons_react.Icon;
146
- readonly Handshake: _phosphor_icons_react.Icon;
147
- readonly Info: _phosphor_icons_react.Icon;
148
- readonly IntersectSquare: _phosphor_icons_react.Icon;
149
- readonly Lightning: _phosphor_icons_react.Icon;
150
- readonly LightningSlash: _phosphor_icons_react.Icon;
151
- readonly List: _phosphor_icons_react.Icon;
152
- readonly ListBullets: _phosphor_icons_react.Icon;
153
- readonly ListNumbers: _phosphor_icons_react.Icon;
154
- readonly Lock: _phosphor_icons_react.Icon;
155
- readonly MagnifyingGlass: _phosphor_icons_react.Icon;
156
- readonly MapPin: _phosphor_icons_react.Icon;
157
- readonly MapPinArea: _phosphor_icons_react.Icon;
158
- readonly MaskHappy: _phosphor_icons_react.Icon;
159
- readonly Moon: _phosphor_icons_react.Icon;
160
- readonly PaperPlaneRight: _phosphor_icons_react.Icon;
161
- readonly PaperPlaneTilt: _phosphor_icons_react.Icon;
162
- readonly PaperclipHorizontal: _phosphor_icons_react.Icon;
163
- readonly PencilSimple: _phosphor_icons_react.Icon;
164
- readonly Plugs: _phosphor_icons_react.Icon;
165
- readonly PlugsConnected: _phosphor_icons_react.Icon;
166
- readonly Plus: _phosphor_icons_react.Icon;
167
- readonly Power: _phosphor_icons_react.Icon;
168
- readonly Pulse: _phosphor_icons_react.Icon;
169
- readonly Question: _phosphor_icons_react.Icon;
170
- readonly Repeat: _phosphor_icons_react.Icon;
171
- readonly Rocket: _phosphor_icons_react.Icon;
172
- readonly ShareNetwork: _phosphor_icons_react.Icon;
173
- readonly ShieldCheck: _phosphor_icons_react.Icon;
174
- readonly SignOut: _phosphor_icons_react.Icon;
175
- readonly SlackLogo: _phosphor_icons_react.Icon;
176
- readonly Sliders: _phosphor_icons_react.Icon;
177
- readonly SlidersHorizontal: _phosphor_icons_react.Icon;
178
- readonly Snowflake: _phosphor_icons_react.Icon;
179
- readonly SolarPanel: _phosphor_icons_react.Icon;
180
- readonly Square: _phosphor_icons_react.Icon;
181
- readonly SquaresFour: _phosphor_icons_react.Icon;
182
- readonly Stack: _phosphor_icons_react.Icon;
183
- readonly Sun: _phosphor_icons_react.Icon;
184
- readonly Terminal: _phosphor_icons_react.Icon;
185
- readonly ThermometerCold: _phosphor_icons_react.Icon;
186
- readonly ThermometerHot: _phosphor_icons_react.Icon;
187
- readonly ThermometerSimple: _phosphor_icons_react.Icon;
188
- readonly Trash: _phosphor_icons_react.Icon;
189
- readonly TreeEvergreen: _phosphor_icons_react.Icon;
190
- readonly User: _phosphor_icons_react.Icon;
191
- readonly UserCircle: _phosphor_icons_react.Icon;
192
- readonly UserPlus: _phosphor_icons_react.Icon;
193
- readonly Users: _phosphor_icons_react.Icon;
194
- readonly UsersFour: _phosphor_icons_react.Icon;
195
- readonly Warning: _phosphor_icons_react.Icon;
196
- readonly WarningCircle: _phosphor_icons_react.Icon;
197
- readonly WebhooksLogo: _phosphor_icons_react.Icon;
198
- readonly Wind: _phosphor_icons_react.Icon;
199
- readonly X: _phosphor_icons_react.Icon;
200
- readonly TextureMenuLight: () => react_jsx_runtime.JSX.Element;
201
- readonly TextureMenuDark: () => react_jsx_runtime.JSX.Element;
202
- readonly WaveSine: _phosphor_icons_react.Icon;
203
- };
204
- type IconName$2 = keyof typeof iconMapping;
205
- type IconVariant = "default" | "container" | "brand";
206
- interface ExtendedIconProps {
207
- name: IconName$2;
208
- size?: number;
209
- color?: string;
210
- weight?: "thin" | "light" | "regular" | "bold" | "fill" | "duotone";
211
- className?: string;
212
- title?: string;
213
- ariaLabel?: string;
214
- grow?: boolean;
215
- variant?: IconVariant;
216
- rounded?: boolean;
217
- bgColor?: string;
218
- [key: string]: unknown;
219
- }
220
- declare const Icon: React$1.MemoExoticComponent<({ name, size, color, weight, className, title, ariaLabel, grow, variant, rounded, bgColor, ...props }: ExtendedIconProps) => react_jsx_runtime.JSX.Element | null>;
95
+ /**
96
+ * Breadcrumbs
97
+ *
98
+ * Navigation breadcrumbs that show the user's current location in the hierarchy
99
+ */
100
+ declare function Breadcrumbs<T extends object>(props: BreadcrumbsProps<T>): react_jsx_runtime.JSX.Element;
101
+ /**
102
+ * Breadcrumb
103
+ *
104
+ * Individual breadcrumb item with optional link
105
+ */
106
+ declare function Breadcrumb(props: BreadcrumbProps & {
107
+ href?: string;
108
+ }): react_jsx_runtime.JSX.Element;
221
109
 
222
110
  type IconName$1 = ComponentProps<typeof Icon>["name"];
223
111
  type BaseButtonProps = Omit<ButtonProps$1, "className">;
@@ -269,21 +157,16 @@ interface CalendarProps<T extends DateValue> extends Omit<CalendarProps$1<T>, "v
269
157
  declare function Calendar<T extends DateValue>({ errorMessage, ...props }: CalendarProps<T>): react_jsx_runtime.JSX.Element;
270
158
 
271
159
  /**
272
- * Card
160
+ * CheckboxGroup
273
161
  *
274
- * Surface container with optional heading and actions.
162
+ * Groups multiple checkboxes with shared label/description.
275
163
  */
276
- interface CardProps {
277
- heading?: React__default.ReactNode;
278
- upperRightText?: React__default.ReactNode;
279
- withPadding?: boolean;
280
- isGhost?: boolean;
281
- children?: React__default.ReactNode;
282
- className?: string;
283
- isLoading?: boolean;
164
+ interface CheckboxGroupProps extends Omit<CheckboxGroupProps$1, "children"> {
165
+ label?: string;
166
+ children?: ReactNode;
167
+ description?: string;
168
+ errorMessage?: string | ((validation: ValidationResult) => string);
284
169
  }
285
- declare const Card: React__default.FC<CardProps>;
286
-
287
170
  /**
288
171
  * Checkbox
289
172
  *
@@ -292,6 +175,7 @@ declare const Card: React__default.FC<CardProps>;
292
175
  interface CheckboxProps extends Omit<CheckboxProps$1, "children"> {
293
176
  children?: ReactNode | ((props: CheckboxRenderProps) => ReactNode);
294
177
  }
178
+ declare function CheckboxGroup(props: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
295
179
  declare function Checkbox(props: CheckboxProps): react_jsx_runtime.JSX.Element;
296
180
 
297
181
  interface ChipProps {
@@ -340,17 +224,310 @@ interface CopyToClipboardProps {
340
224
  }
341
225
  declare function CopyToClipboard({ value, children, className, size }: CopyToClipboardProps): react_jsx_runtime.JSX.Element;
342
226
 
227
+ interface AreaSeriesProps {
228
+ data: BaseDataPoint[];
229
+ color?: string;
230
+ label?: string;
231
+ categoryColors?: Record<string, string>;
232
+ }
233
+ declare const AreaSeries: React__default.FC<AreaSeriesProps>;
234
+
235
+ interface BarSeriesProps {
236
+ data: BaseDataPoint[];
237
+ color?: string;
238
+ label?: string;
239
+ opacity?: number;
240
+ categoryColors?: Record<string, string>;
241
+ }
242
+ declare const BarSeries: React__default.FC<BarSeriesProps>;
243
+
244
+ interface AxisBottomProps {
245
+ top: number;
246
+ scale: ScaleTime<number, number>;
247
+ width: number;
248
+ }
249
+ interface AxisLeftProps {
250
+ left: number;
251
+ scale: ScaleLinear<number, number>;
252
+ yFormatType: YFormatType;
253
+ }
254
+ declare const ChartAxis: {
255
+ Bottom: React__default.FC<AxisBottomProps>;
256
+ Left: React__default.FC<AxisLeftProps>;
257
+ };
258
+
343
259
  /**
344
- * DateField
345
- *
346
- * Segmented date input with Edges styling.
260
+ * Chart export utilities for CSV, SVG, and PNG formats
261
+ * Provides comprehensive export functionality for chart visualizations
262
+ */
263
+
264
+ type ExportType = "csv" | "svg" | "png";
265
+ interface ChartExportMetadata {
266
+ xLabel?: string;
267
+ yLabel?: string;
268
+ seriesLabels?: string[];
269
+ filename?: string;
270
+ timestamp?: boolean;
271
+ }
272
+ /**
273
+ * Main export function that handles all export types
274
+ */
275
+ declare function exportChart(type: ExportType, datasets: BaseDataPoint[][] | BaseDataPoint[], metadata: ChartExportMetadata | undefined, svgRef: React__default.RefObject<SVGSVGElement>): Promise<void>;
276
+ /**
277
+ * Utility to check if export is supported in the current environment
347
278
  */
348
- interface DateFieldProps<T extends DateValue> extends DateFieldProps$1<T> {
279
+ declare function isExportSupported(type: ExportType): boolean;
280
+ /**
281
+ * Get human-readable export format name
282
+ */
283
+ declare function getExportFormatName(type: ExportType): string;
284
+
285
+ interface LegendItem {
286
+ category: string;
287
+ fill: string;
288
+ }
289
+ interface ChartBottomBarProps {
290
+ items: LegendItem[];
291
+ onExport: (type: ExportType) => void | Promise<void>;
292
+ }
293
+ declare const ChartBottomBar: React__default.FC<ChartBottomBarProps>;
294
+
295
+ interface ChartContainerProps {
296
+ children: React__default.ReactNode;
297
+ parentWidth: number;
298
+ parentHeight: number;
299
+ yFormatType?: YFormatType;
300
+ isLoading?: boolean;
301
+ }
302
+ declare const ChartContainer: React__default.FC<Omit<ChartContainerProps, "parentWidth" | "parentHeight">>;
303
+
304
+ interface ChartTooltipProps {
305
+ data: TooltipData | null;
306
+ formatType: YFormatType;
307
+ }
308
+ declare const ChartTooltip: React__default.FC<ChartTooltipProps>;
309
+
310
+ interface LineSeriesProps {
311
+ data: BaseDataPoint[];
312
+ color?: string;
349
313
  label?: string;
350
- description?: string;
351
- errorMessage?: string | ((validation: ValidationResult) => string);
314
+ strokeWidth?: number;
315
+ /** CSS stroke-dasharray value (e.g. "4 2" for dotted, "8 4" for dashed) */
316
+ strokeDasharray?: string;
317
+ categoryColors?: Record<string, string>;
352
318
  }
353
- declare function DateField<T extends DateValue>({ label, description, errorMessage, ...props }: DateFieldProps<T>): react_jsx_runtime.JSX.Element;
319
+ declare const LineSeries: React__default.FC<LineSeriesProps>;
320
+
321
+ type SortDirection = "asc" | "desc";
322
+ type CellAlignment = "left" | "center" | "right";
323
+ type TableDensity = "compact" | "default" | "relaxed";
324
+ type CellEmphasis = "high" | "normal" | "low";
325
+ type LinkBehavior = "none" | "hover" | "visible";
326
+ type TableLayout = "auto" | "fixed" | "responsive";
327
+ type TableWidth = "full" | "auto" | "contained";
328
+ type MobileRenderer = "auto" | "cards" | "custom" | "none";
329
+ type MobileBreakpoint = "sm" | "md" | "lg" | "xl";
330
+ interface SortConfig {
331
+ columnId: string;
332
+ direction: SortDirection;
333
+ }
334
+ interface CellContext {
335
+ isLoading: boolean;
336
+ isSelected?: boolean;
337
+ isHovered?: boolean;
338
+ rowIndex: number;
339
+ columnIndex: number;
340
+ density: TableDensity;
341
+ }
342
+ interface CellComponentProps<T = any> {
343
+ value: any;
344
+ row: T;
345
+ context: CellContext;
346
+ [key: string]: any;
347
+ }
348
+ type CellComponent<T = any> = ComponentType<CellComponentProps<T>>;
349
+ interface MobileConfig {
350
+ priority?: 1 | 2 | 3;
351
+ format?: "primary" | "secondary" | "badge" | "inline";
352
+ label?: boolean;
353
+ icon?: string;
354
+ }
355
+ interface Column<T> {
356
+ id: string;
357
+ label: string;
358
+ accessor?: keyof T | ((row: T) => any);
359
+ align?: CellAlignment;
360
+ width?: string | number;
361
+ minWidth?: string | number;
362
+ maxWidth?: string | number;
363
+ flex?: number;
364
+ cell?: CellComponent<T>;
365
+ cellProps?: Record<string, any> | ((value: any, row: T) => Record<string, any>);
366
+ render?: (value: any, row: T, context: CellContext) => ReactNode;
367
+ sortable?: boolean;
368
+ mobile?: MobileConfig | false;
369
+ }
370
+ interface DataTableProps<T> {
371
+ columns: Column<T>[];
372
+ data: T[];
373
+ className?: string;
374
+ density?: TableDensity;
375
+ width?: TableWidth;
376
+ height?: string | number;
377
+ maxHeight?: string | number;
378
+ layout?: TableLayout;
379
+ mobileRenderer?: MobileRenderer;
380
+ customMobileRowRender?: (row: T, index: number) => ReactNode;
381
+ mobileBreakpoint?: MobileBreakpoint;
382
+ isLoading?: boolean;
383
+ loadingRowCount?: number;
384
+ stickyHeader?: boolean;
385
+ onRowClick?: (row: T) => void;
386
+ getRowId?: (row: T) => string;
387
+ hideHeader?: boolean;
388
+ onSort?: (sortConfig: SortConfig | null) => void;
389
+ "aria-label"?: string;
390
+ }
391
+
392
+ interface Action<T = any> {
393
+ id: string;
394
+ label?: string;
395
+ icon?: IconName$2;
396
+ onClick: (row: T) => void;
397
+ disabled?: boolean | ((row: T) => boolean);
398
+ hidden?: boolean | ((row: T) => boolean);
399
+ variant?: "primary" | "secondary" | "icon";
400
+ }
401
+ interface ActionCellProps<T = any> extends CellComponentProps<T> {
402
+ actions: Action<T>[];
403
+ align?: "left" | "center" | "right";
404
+ size?: "sm" | "md" | "lg";
405
+ }
406
+ declare function ActionCell<T = any>({ row, context, actions, align, size, }: ActionCellProps<T>): react_jsx_runtime.JSX.Element | null;
407
+
408
+ interface BooleanCellProps<T = any> extends CellComponentProps<T> {
409
+ format?: "icon" | "text" | "badge";
410
+ trueText?: string;
411
+ falseText?: string;
412
+ trueIcon?: IconName$2;
413
+ falseIcon?: IconName$2;
414
+ showFalse?: boolean;
415
+ align?: "left" | "center" | "right";
416
+ emphasis?: CellEmphasis;
417
+ }
418
+ declare function BooleanCell<T = any>({ value, context, format, trueText, falseText, trueIcon, falseIcon, showFalse, align, emphasis, }: BooleanCellProps<T>): react_jsx_runtime.JSX.Element | null;
419
+
420
+ /**
421
+ * Get alignment classes for cell content
422
+ */
423
+ declare function getCellAlignmentClasses(align?: CellAlignment): string;
424
+ /**
425
+ * Get text styling based on emphasis level
426
+ */
427
+ declare function getCellTextClasses(emphasis?: CellEmphasis, isLink?: boolean): string;
428
+ /**
429
+ * Get container classes for cells
430
+ */
431
+ declare function getCellContainerClasses(align?: CellAlignment, additionalClasses?: string): string;
432
+ /**
433
+ * Format empty/null values consistently
434
+ */
435
+ declare function formatEmptyValue(value: unknown, emptyText?: string): string;
436
+ /**
437
+ * Common loading skeleton sizes
438
+ */
439
+ declare const SKELETON_SIZES: {
440
+ readonly xs: "h-4 w-12";
441
+ readonly sm: "h-4 w-20";
442
+ readonly md: "h-4 w-24";
443
+ readonly lg: "h-4 w-32";
444
+ readonly xl: "h-4 w-40";
445
+ };
446
+ /**
447
+ * Get skeleton size based on emphasis level
448
+ */
449
+ declare function getSkeletonSize(emphasis?: CellEmphasis): string;
450
+ /**
451
+ * Resolve a value that can be either static or dynamic (function)
452
+ */
453
+ declare function resolveValue<T, R>(value: R | ((row: T) => R), row: T): R;
454
+ /**
455
+ * Common badge/chip styles for status indicators
456
+ */
457
+ declare function getBadgeClasses(variant?: "success" | "error" | "warning" | "info" | "neutral", size?: "sm" | "md"): string;
458
+ /**
459
+ * Determine badge variant from boolean value
460
+ */
461
+ declare function getBooleanBadgeVariant(value: boolean): "success" | "neutral";
462
+ /**
463
+ * Get color classes for numeric values
464
+ */
465
+ declare function getNumericColorClasses(value: number, colorCode?: boolean): string;
466
+
467
+ interface DateCellProps<T = any> extends CellComponentProps<T> {
468
+ format?: "date" | "time" | "datetime" | "relative" | "custom";
469
+ customFormat?: Intl.DateTimeFormatOptions;
470
+ emptyText?: string;
471
+ align?: "left" | "center" | "right";
472
+ emphasis?: CellEmphasis;
473
+ href?: string | ((row: T) => string);
474
+ linkBehavior?: LinkBehavior;
475
+ }
476
+ declare function DateCell<T = any>({ value, row, context, format, customFormat, emptyText, align, emphasis, href, linkBehavior, }: DateCellProps<T>): react_jsx_runtime.JSX.Element;
477
+
478
+ interface NumberCellProps<T = any> extends CellComponentProps<T> {
479
+ format?: "number" | "currency" | "percent" | "compact";
480
+ decimals?: number;
481
+ prefix?: string;
482
+ suffix?: string;
483
+ emptyText?: string;
484
+ align?: "left" | "center" | "right";
485
+ emphasis?: CellEmphasis;
486
+ href?: string | ((row: T) => string);
487
+ linkBehavior?: LinkBehavior;
488
+ showPositiveSign?: boolean;
489
+ colorCode?: boolean;
490
+ }
491
+ declare function NumberCell<T = any>({ value, row, context, format, decimals, prefix, suffix, emptyText, align, emphasis, href, linkBehavior, showPositiveSign, colorCode, }: NumberCellProps<T>): react_jsx_runtime.JSX.Element;
492
+
493
+ interface SelectCellProps<T = any> extends CellComponentProps<T> {
494
+ isSelected?: boolean;
495
+ onSelect?: (row: T, checked: boolean) => void;
496
+ isDisabled?: boolean | ((row: T) => boolean);
497
+ align?: "left" | "center" | "right";
498
+ }
499
+ declare function SelectCell<T = any>({ row, context, isSelected, onSelect, isDisabled, align, }: SelectCellProps<T>): react_jsx_runtime.JSX.Element;
500
+
501
+ interface TextCellProps<T = any> extends CellComponentProps<T> {
502
+ prefix?: string;
503
+ suffix?: string;
504
+ emptyText?: string;
505
+ href?: string | ((row: T) => string);
506
+ linkBehavior?: LinkBehavior;
507
+ emphasis?: CellEmphasis;
508
+ truncate?: boolean;
509
+ align?: "left" | "center" | "right";
510
+ }
511
+ declare function TextCell<T = any>({ value, row, context, prefix, suffix, emptyText, href, linkBehavior, emphasis, truncate, align, }: TextCellProps<T>): react_jsx_runtime.JSX.Element;
512
+
513
+ declare function DataTable<T extends Record<string, unknown>>({ columns, data, className, density, width, height, maxHeight, layout, mobileRenderer, customMobileRowRender, mobileBreakpoint, isLoading, loadingRowCount, stickyHeader, onRowClick, getRowId, hideHeader, onSort, "aria-label": ariaLabel, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
514
+
515
+ interface MobileRowProps<T> {
516
+ row: T;
517
+ columns: Column<T>[];
518
+ density: "compact" | "default" | "relaxed";
519
+ isLoading?: boolean;
520
+ onClick?: () => void;
521
+ }
522
+ /**
523
+ * Automatic mobile card renderer
524
+ * Groups columns by priority and formats them appropriately
525
+ */
526
+ declare function AutoMobileRenderer<T>({ row, columns, density, isLoading, onClick, }: MobileRowProps<T>): react_jsx_runtime.JSX.Element;
527
+ /**
528
+ * Simple card renderer - displays all columns in a simple stacked layout
529
+ */
530
+ declare function CardMobileRenderer<T>({ row, columns, density, isLoading, onClick, }: MobileRowProps<T>): react_jsx_runtime.JSX.Element;
354
531
 
355
532
  /**
356
533
  * DateRangePicker
@@ -512,7 +689,7 @@ declare function useInputFocus(): {
512
689
  /**
513
690
  * Wrapper component for input containers
514
691
  */
515
- declare function InputWrapper({ children, className }: {
692
+ declare function InputWrapper({ children, className, }: {
516
693
  children: React__default.ReactNode;
517
694
  className?: string;
518
695
  }): react_jsx_runtime.JSX.Element;
@@ -593,7 +770,7 @@ declare function getFieldGroupStyles(props: FieldGroupProps): string;
593
770
  * </Label>
594
771
  * ```
595
772
  */
596
- declare function Label({ children, size, tooltip, isRequired, className, htmlFor }: LabelProps): react_jsx_runtime.JSX.Element;
773
+ declare function Label({ children, size, tooltip, isRequired, className, htmlFor, }: LabelProps): react_jsx_runtime.JSX.Element;
597
774
  /**
598
775
  * Description component for providing additional context about a form field.
599
776
  *
@@ -649,32 +826,6 @@ declare function FieldGroup(props: FieldGroupProps): react_jsx_runtime.JSX.Eleme
649
826
  */
650
827
  declare function Form(props: FormProps): react_jsx_runtime.JSX.Element;
651
828
 
652
- declare const sizeVariants: {
653
- readonly xs: "text-lg font-semibold";
654
- readonly sm: "text-xl font-semibold";
655
- readonly md: "text-2xl font-semibold";
656
- readonly lg: "text-3xl font-semibold";
657
- readonly xl: "text-4xl font-semibold";
658
- };
659
- declare const heightVariants: {
660
- readonly page: "h-16 leading-[62px]";
661
- };
662
- type HeadingSize = keyof typeof sizeVariants;
663
- type HeadingHeight = keyof typeof heightVariants;
664
- /**
665
- * Heading
666
- *
667
- * Typography component for page/section headings with size and height options.
668
- */
669
- interface HeadingProps {
670
- tag?: keyof JSX.IntrinsicElements;
671
- size?: HeadingSize;
672
- height?: HeadingHeight;
673
- className?: string;
674
- children?: React__default.ReactNode;
675
- }
676
- declare function Heading({ tag: Tag, size, height, className, children }: HeadingProps): react_jsx_runtime.JSX.Element;
677
-
678
829
  /**
679
830
  * ListBox
680
831
  *
@@ -697,29 +848,117 @@ interface ExtendedListBoxItemProps extends Omit<ListBoxItemProps, "className"> {
697
848
  }
698
849
  declare function ListBoxItem({ size, className, ...props }: ExtendedListBoxItemProps): react_jsx_runtime.JSX.Element;
699
850
 
700
- interface LoaderProps {
701
- /**
702
- * Optional className for custom styling
703
- */
851
+ type NoticeVariant = "success" | "error" | "warning" | "info";
852
+ interface NoticeProps {
853
+ /** Unique identifier for the notice */
854
+ id: string;
855
+ /** The message to display */
856
+ message: string;
857
+ /** Visual variant of the notice */
858
+ variant?: NoticeVariant;
859
+ /** Duration in milliseconds before auto-dismissal (0 = no auto-dismiss) */
860
+ duration?: number;
861
+ /** Whether the notice can be dismissed */
862
+ dismissible?: boolean;
863
+ /** Callback when the notice is dismissed */
864
+ onDismiss?: () => void;
865
+ /** Additional CSS classes */
704
866
  className?: string;
705
- /**
706
- * Size of the loader in pixels
707
- * @default 24
708
- */
709
- size?: number;
710
- /**
711
- * Color of the loader
712
- * @default "text-action-primary"
713
- */
714
- color?: string;
715
867
  }
716
- declare const Loader: ({ className, size, color }: LoaderProps) => react_jsx_runtime.JSX.Element;
868
+ /**
869
+ * Notice
870
+ *
871
+ * Individual notification component that displays a message with an icon.
872
+ * Typically used within a NoticeProvider for managing multiple notifications.
873
+ */
874
+ declare function Notice({ id: _id, message, variant, duration, dismissible, onDismiss, className, }: NoticeProps): react_jsx_runtime.JSX.Element;
717
875
 
718
- interface LogoProps {
876
+ interface NoticeData {
877
+ id: string;
878
+ message: string;
879
+ variant: "success" | "error" | "warning" | "info";
880
+ duration: number;
881
+ dismissible: boolean;
882
+ }
883
+ interface NoticeContainerProps {
884
+ /** Array of notices to display */
885
+ notices: NoticeData[];
886
+ /** Callback when a notice is dismissed */
887
+ onDismiss: (id: string) => void;
888
+ /** Position of the container on the screen */
889
+ position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
890
+ /** Additional CSS classes */
719
891
  className?: string;
720
- showWordmark?: boolean;
721
892
  }
722
- declare const Logo: ({ className, showWordmark }: LogoProps) => react_jsx_runtime.JSX.Element;
893
+ /**
894
+ * NoticeContainer
895
+ *
896
+ * Container component that positions and animates notices.
897
+ * Renders notices in a portal to ensure they appear above other content.
898
+ */
899
+ declare function NoticeContainer({ notices, onDismiss, position, className, }: NoticeContainerProps): React$1.ReactPortal | null;
900
+
901
+ interface NoticeProviderProps {
902
+ /** Child components */
903
+ children: ReactNode;
904
+ /** Position of the notice container */
905
+ position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
906
+ /** Maximum number of notices to display at once */
907
+ maxNotices?: number;
908
+ /** Default duration for notices in milliseconds */
909
+ defaultDuration?: number;
910
+ /** Whether notices are dismissible by default */
911
+ defaultDismissible?: boolean;
912
+ }
913
+ /**
914
+ * NoticeProvider
915
+ *
916
+ * Provides notice functionality to child components.
917
+ * Manages the state of all active notices and renders them in a container.
918
+ */
919
+ declare function NoticeProvider({ children, position, maxNotices, defaultDuration, defaultDismissible, }: NoticeProviderProps): react_jsx_runtime.JSX.Element;
920
+
921
+ interface NoticeOptions {
922
+ variant?: NoticeVariant;
923
+ duration?: number;
924
+ dismissible?: boolean;
925
+ }
926
+ /**
927
+ * useNotice
928
+ *
929
+ * Hook to display notices from anywhere in the component tree.
930
+ * Must be used within a NoticeProvider.
931
+ *
932
+ * @example
933
+ * ```tsx
934
+ * const notice = useNotice();
935
+ *
936
+ * // Show different types of notices
937
+ * notice.success("Settings saved!");
938
+ * notice.error("Failed to save settings");
939
+ * notice.warning("Your session will expire soon");
940
+ * notice.info("New features are available");
941
+ *
942
+ * // With custom options
943
+ * notice.show("Custom notice", {
944
+ * variant: "success",
945
+ * duration: 10000,
946
+ * dismissible: false
947
+ * });
948
+ *
949
+ * // Clear all notices
950
+ * notice.clear();
951
+ * ```
952
+ */
953
+ declare function useNotice(): {
954
+ show: (message: string, options?: NoticeOptions) => string;
955
+ success: (message: string, options?: Omit<NoticeOptions, "variant">) => string;
956
+ error: (message: string, options?: Omit<NoticeOptions, "variant">) => string;
957
+ warning: (message: string, options?: Omit<NoticeOptions, "variant">) => string;
958
+ info: (message: string, options?: Omit<NoticeOptions, "variant">) => string;
959
+ dismiss: (id: string) => void;
960
+ clear: () => void;
961
+ };
723
962
 
724
963
  /**
725
964
  * NumberField
@@ -806,6 +1045,21 @@ interface ProgressBarProps extends ProgressBarProps$1 {
806
1045
  }
807
1046
  declare function ProgressBar({ label, rightLabel, progressWidth, hideLabels, ...props }: ProgressBarProps): react_jsx_runtime.JSX.Element;
808
1047
 
1048
+ interface RadioGroupProps extends Omit<RadioGroupProps$1, "children"> {
1049
+ /** Label for the radio group */
1050
+ label?: string;
1051
+ /** Children elements */
1052
+ children?: ReactNode;
1053
+ /** Optional description for the radio group */
1054
+ description?: string;
1055
+ /** Error message to display when validation fails */
1056
+ errorMessage?: string | ((validation: ValidationResult) => string);
1057
+ /** Validation result object for functional errorMessage */
1058
+ validationResult?: ValidationResult;
1059
+ }
1060
+ declare function RadioGroup(props: RadioGroupProps): react_jsx_runtime.JSX.Element;
1061
+ declare function Radio(props: RadioProps): react_jsx_runtime.JSX.Element;
1062
+
809
1063
  /**
810
1064
  * RangeCalendar
811
1065
  *
@@ -882,6 +1136,25 @@ interface SkeletonProps {
882
1136
  }
883
1137
  declare const Skeleton: React__default.FC<SkeletonProps>;
884
1138
 
1139
+ interface SliderProps {
1140
+ label?: string;
1141
+ description?: string;
1142
+ tooltip?: string;
1143
+ errorMessage?: string;
1144
+ size?: Size;
1145
+ className?: string;
1146
+ value?: number;
1147
+ defaultValue?: number;
1148
+ onChange?: (value: number) => void;
1149
+ min?: number;
1150
+ max?: number;
1151
+ step?: number;
1152
+ disabled?: boolean;
1153
+ /** Show the current numeric value to the right of the track */
1154
+ showValue?: boolean;
1155
+ }
1156
+ declare function Slider({ label, description, tooltip, errorMessage, size, className, value, defaultValue, onChange, min, max, step, disabled, showValue, }: SliderProps): react_jsx_runtime.JSX.Element;
1157
+
885
1158
  interface SwitchProps extends Omit<SwitchProps$1, "children"> {
886
1159
  children: React__default.ReactNode;
887
1160
  }
@@ -983,20 +1256,6 @@ interface TextFieldProps extends Omit<TextFieldProps$1, "isRequired" | "size" |
983
1256
  */
984
1257
  declare function TextField({ label, description, errorMessage, size, tooltip, isRequired, transparent, showSearchIcon, isClearable, onClear, type, validationResult, ...props }: TextFieldProps): react_jsx_runtime.JSX.Element;
985
1258
 
986
- interface TextLinkProps {
987
- href?: string;
988
- children: ReactNode;
989
- className?: string;
990
- external?: boolean;
991
- title?: string;
992
- variant?: "default" | "primary" | "muted";
993
- onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
994
- asButton?: boolean;
995
- onPress?: () => void;
996
- showArrow?: boolean;
997
- }
998
- declare const TextLink: ({ href, children, className, external, title, variant, onClick, asButton, onPress, showArrow, }: TextLinkProps) => react_jsx_runtime.JSX.Element;
999
-
1000
1259
  /**
1001
1260
  * TimeField
1002
1261
  *
@@ -1056,40 +1315,15 @@ interface TooltipProps extends Omit<TooltipProps$1, "children"> {
1056
1315
  }
1057
1316
  declare function Tooltip({ children, content, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
1058
1317
 
1059
- interface SliderProps {
1060
- label?: string;
1061
- description?: string;
1062
- tooltip?: string;
1063
- errorMessage?: string;
1064
- size?: Size;
1065
- className?: string;
1066
- value?: number;
1067
- defaultValue?: number;
1068
- onChange?: (value: number) => void;
1069
- min?: number;
1070
- max?: number;
1071
- step?: number;
1072
- disabled?: boolean;
1073
- /** Show the current numeric value to the right of the track */
1074
- showValue?: boolean;
1318
+ interface ColorModeContextType {
1319
+ colorMode: string;
1320
+ isDarkTheme: boolean;
1321
+ toggleTheme: () => void;
1075
1322
  }
1076
- declare function Slider({ label, description, tooltip, errorMessage, size, className, value, defaultValue, onChange, min, max, step, disabled, showValue, }: SliderProps): react_jsx_runtime.JSX.Element;
1077
-
1078
- interface RadioGroupProps extends Omit<RadioGroupProps$1, "children"> {
1079
- /** Label for the radio group */
1080
- label?: string;
1081
- /** Children elements */
1082
- children?: ReactNode;
1083
- /** Optional description for the radio group */
1084
- description?: string;
1085
- /** Error message to display when validation fails */
1086
- errorMessage?: string | ((validation: ValidationResult) => string);
1087
- /** Validation result object for functional errorMessage */
1088
- validationResult?: ValidationResult;
1323
+ declare const useColorMode: () => ColorModeContextType;
1324
+ interface ColorModeProviderProps {
1325
+ children: React.ReactNode;
1089
1326
  }
1090
- declare function RadioGroup(props: RadioGroupProps): react_jsx_runtime.JSX.Element;
1091
- declare function Radio(props: RadioProps): react_jsx_runtime.JSX.Element;
1092
-
1093
- declare function useDebounce<T>(value: T, delay?: number): T;
1327
+ declare const ColorModeProvider: React.FC<ColorModeProviderProps>;
1094
1328
 
1095
- export { Autocomplete, type BaseInputProps, type BaseProps, Button, Calendar, Card, Checkbox, Chip, ClearButton, CopyToClipboard, DateField, DateRangePicker, Description, type DescriptionProps, Dialog, DialogHeader, Drawer, ErrorBoundary, FieldError, type FieldErrorProps, FieldGroup, type FieldGroupProps, Form, Heading, Icon, Input, type InputProps, type InputStyleProps, InputWrapper, Label, type LabelProps, ListBox, ListBoxItem, Loader, Logo, NumberField, PlaceSearch, Popover, ProgressBar, Radio, RadioGroup, RangeCalendar, Select, Skeleton, Slider, Switch, Tab, TabList, TabPanel, Tabs, TextArea, TextAreaWithChips, TextField, TextLink, TimeField, ToggleButton, Tooltip, getFieldGroupStyles, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, useDebounce, useInputFocus };
1329
+ export { type Action, ActionCell, type ActionCellProps, AreaSeries, AutoMobileRenderer, Autocomplete, BarSeries, BaseDataPoint, type BaseInputProps, type BaseProps, BooleanCell, type BooleanCellProps, Breadcrumb, Breadcrumbs, Button, Calendar, CardMobileRenderer, type CellAlignment, type CellComponent, type CellComponentProps, type CellContext, type CellEmphasis, ChartAxis, ChartBottomBar, ChartContainer, type ChartExportMetadata, ChartTooltip, Checkbox, CheckboxGroup, Chip, ClearButton, ColorModeProvider, type Column, CopyToClipboard, DataTable, type DataTableProps, DateCell, type DateCellProps, DateRangePicker, Description, type DescriptionProps, Dialog, DialogHeader, Drawer, ErrorBoundary, type ExportType, FieldError, type FieldErrorProps, FieldGroup, type FieldGroupProps, Form, Icon, Input, type InputProps, type InputStyleProps, InputWrapper, Label, type LabelProps, LineSeries, type LinkBehavior, ListBox, ListBoxItem, type MobileBreakpoint, type MobileConfig, type MobileRenderer, Notice, NoticeContainer, type NoticeContainerProps, type NoticeOptions, type NoticeProps, NoticeProvider, type NoticeProviderProps, type NoticeVariant, NumberCell, type NumberCellProps, NumberField, PlaceSearch, Popover, ProgressBar, Radio, RadioGroup, RangeCalendar, SKELETON_SIZES, Select, SelectCell, type SelectCellProps, Skeleton, Slider, type SortConfig, type SortDirection, Switch, Tab, TabList, TabPanel, type TableDensity, type TableLayout, type TableWidth, Tabs, TextArea, TextAreaWithChips, TextCell, type TextCellProps, TextField, TimeField, ToggleButton, Tooltip, TooltipData, YFormatType, exportChart, formatEmptyValue, getBadgeClasses, getBooleanBadgeVariant, getCellAlignmentClasses, getCellContainerClasses, getCellTextClasses, getExportFormatName, getFieldGroupStyles, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, getNumericColorClasses, getSkeletonSize, isExportSupported, resolveValue, useColorMode, useDebounce, useInputFocus, useLocalStorage, useNotice };