@texturehq/edges 0.0.15 → 0.0.19

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
@@ -1,9 +1,81 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ButtonProps as ButtonProps$1, TextProps, TextFieldProps as TextFieldProps$1, ValidationResult, ListBoxProps as ListBoxProps$1, SelectProps as SelectProps$1, Key, NumberFieldProps as NumberFieldProps$1, TimeFieldProps as TimeFieldProps$1, TimeValue, DateValue, DateFieldProps as DateFieldProps$1, TooltipProps as TooltipProps$1, PopoverProps as PopoverProps$1, SwitchProps as SwitchProps$1, ProgressBarProps as ProgressBarProps$1, RangeCalendarProps as RangeCalendarProps$1, ListBoxItemProps, FormProps, DateRangePickerProps as DateRangePickerProps$1, DialogProps, CalendarProps as CalendarProps$1, CheckboxProps as CheckboxProps$1, CheckboxRenderProps } from 'react-aria-components';
3
2
  import * as React$1 from 'react';
4
- import React__default, { ComponentProps, ReactNode } 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 } from 'react-aria-components';
5
5
  import * as _phosphor_icons_react from '@phosphor-icons/react';
6
6
 
7
+ /**
8
+ * Control-specific style utilities for form elements and interactive components.
9
+ * These styles use CSS variables defined in the theme for consistent sizing
10
+ * and spacing across all control elements.
11
+ *
12
+ * Text sizes follow the relationships defined in theme.css:
13
+ * sm: --control-text-sm (maps to --text-xs)
14
+ * md: --control-text-md (maps to --text-sm)
15
+ * lg: --control-text-lg (maps to --text-base)
16
+ * xl: --control-text-xl (maps to --text-lg)
17
+ */
18
+ type Size = "sm" | "md" | "lg" | "xl";
19
+
20
+ interface Item {
21
+ id: string;
22
+ name: string;
23
+ }
24
+ interface Section {
25
+ name: string;
26
+ items: Item[];
27
+ }
28
+ type RequestMethod = "GET" | "POST";
29
+ interface BaseRequestConfig {
30
+ url: string;
31
+ headers?: Record<string, string>;
32
+ transformResponse: (data: unknown) => Item[];
33
+ }
34
+ interface RestRequestConfig extends BaseRequestConfig {
35
+ requestType: "REST";
36
+ method?: RequestMethod;
37
+ queryKey?: string;
38
+ extraParams?: Record<string, string>;
39
+ shouldLoad?: (filterText: string) => boolean;
40
+ }
41
+ interface GraphQLRequestConfig extends BaseRequestConfig {
42
+ requestType: "GraphQL";
43
+ graphqlQuery: string;
44
+ variableKey?: string;
45
+ responsePath?: string;
46
+ shouldLoad?: (filterText: string) => boolean;
47
+ }
48
+ type AutocompleteRequestConfig = RestRequestConfig | GraphQLRequestConfig;
49
+ /**
50
+ * Autocomplete
51
+ *
52
+ * Text input with typeahead suggestions and keyboard navigation.
53
+ */
54
+ interface AutocompleteProps {
55
+ label?: string;
56
+ staticItems?: Item[];
57
+ sections?: Section[];
58
+ selectedKey?: Key | null;
59
+ defaultSelectedKey?: Key | null;
60
+ onSelectionChange?: (key: Key | null) => void;
61
+ requestConfig?: AutocompleteRequestConfig;
62
+ defaultFilter?: (textValue: string, inputValue: string) => boolean;
63
+ placeholder?: string;
64
+ renderItem?: (item: Item) => React__default.ReactNode;
65
+ renderLeftIcon?: (isLoading: boolean) => React__default.ReactNode;
66
+ errorMessage?: string | ((validation: ValidationResult) => string);
67
+ description?: string;
68
+ size?: Size;
69
+ tooltip?: string;
70
+ isRequired?: boolean;
71
+ isDisabled?: boolean;
72
+ isInvalid?: boolean;
73
+ validationResult?: ValidationResult;
74
+ showErrors?: boolean;
75
+ autoFocus?: boolean;
76
+ }
77
+ declare function Autocomplete({ label, staticItems, sections, selectedKey, defaultSelectedKey, onSelectionChange, requestConfig, defaultFilter, placeholder, errorMessage, description, size, tooltip, isRequired, isDisabled, isInvalid, validationResult, showErrors, renderItem, renderLeftIcon, autoFocus, }: AutocompleteProps): react_jsx_runtime.JSX.Element;
78
+
7
79
  declare const iconMapping: {
8
80
  readonly AppWindow: _phosphor_icons_react.Icon;
9
81
  readonly ArrowCircleUp: _phosphor_icons_react.Icon;
@@ -145,21 +217,20 @@ interface ExtendedIconProps {
145
217
  }
146
218
  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>;
147
219
 
220
+ type IconName$1 = ComponentProps<typeof Icon>["name"];
221
+ type BaseButtonProps = Omit<ButtonProps$1, "className">;
148
222
  /**
149
- * Control-specific style utilities for form elements and interactive components.
150
- * These styles use CSS variables defined in the theme for consistent sizing
151
- * and spacing across all control elements.
223
+ * Button
152
224
  *
153
- * Text sizes follow the relationships defined in theme.css:
154
- * sm: --control-text-sm (maps to --text-xs)
155
- * md: --control-text-md (maps to --text-sm)
156
- * lg: --control-text-lg (maps to --text-base)
157
- * xl: --control-text-xl (maps to --text-lg)
225
+ * A versatile action component that supports multiple visual variants, sizes,
226
+ * optional icons, a loading state, and badge indicators. Follows the Edges
227
+ * design system tokens and composes `react-aria-components` under the hood.
228
+ *
229
+ * Example usage:
230
+ * ```tsx
231
+ * <Button variant="primary" size="md" icon="Check">Save</Button>
232
+ * ```
158
233
  */
159
- type Size = "sm" | "md" | "lg" | "xl";
160
-
161
- type IconName$1 = ComponentProps<typeof Icon>["name"];
162
- type BaseButtonProps = Omit<ButtonProps$1, "className">;
163
234
  interface ButtonProps extends BaseButtonProps {
164
235
  variant?: "default" | "primary" | "secondary" | "destructive" | "icon" | "link" | "unstyled" | "ghost";
165
236
  size?: Size;
@@ -179,8 +250,166 @@ interface ButtonProps extends BaseButtonProps {
179
250
  rel?: string;
180
251
  style?: React.CSSProperties;
181
252
  }
253
+ /**
254
+ * Renders an Edges Button. When `href` is provided, renders a link-styled
255
+ * button using the same visual system.
256
+ */
182
257
  declare function Button(props: ButtonProps): react_jsx_runtime.JSX.Element;
183
258
 
259
+ /**
260
+ * Calendar
261
+ *
262
+ * Single-date calendar primitive with Edges styling.
263
+ */
264
+ interface CalendarProps<T extends DateValue> extends Omit<CalendarProps$1<T>, "visibleDuration"> {
265
+ errorMessage?: string;
266
+ }
267
+ declare function Calendar<T extends DateValue>({ errorMessage, ...props }: CalendarProps<T>): react_jsx_runtime.JSX.Element;
268
+
269
+ /**
270
+ * Card
271
+ *
272
+ * Surface container with optional heading and actions.
273
+ */
274
+ interface CardProps {
275
+ heading?: React__default.ReactNode;
276
+ upperRightText?: React__default.ReactNode;
277
+ withPadding?: boolean;
278
+ isGhost?: boolean;
279
+ children?: React__default.ReactNode;
280
+ className?: string;
281
+ isLoading?: boolean;
282
+ }
283
+ declare const Card: React__default.FC<CardProps>;
284
+
285
+ /**
286
+ * Checkbox
287
+ *
288
+ * Single checkbox with Edges visuals.
289
+ */
290
+ interface CheckboxProps extends Omit<CheckboxProps$1, "children"> {
291
+ children?: ReactNode | ((props: CheckboxRenderProps) => ReactNode);
292
+ }
293
+ declare function Checkbox(props: CheckboxProps): react_jsx_runtime.JSX.Element;
294
+
295
+ interface CopyToClipboardProps {
296
+ /**
297
+ * The value to copy to clipboard. If not provided, will use the text content of children
298
+ */
299
+ value?: string;
300
+ /**
301
+ * The content to display
302
+ */
303
+ children: React__default.ReactNode;
304
+ /**
305
+ * Optional className for the container
306
+ */
307
+ className?: string;
308
+ /**
309
+ * Size of the copy button, defaults to "sm"
310
+ */
311
+ size?: "sm" | "md";
312
+ }
313
+ declare function CopyToClipboard({ value, children, className, size }: CopyToClipboardProps): react_jsx_runtime.JSX.Element;
314
+
315
+ /**
316
+ * DateField
317
+ *
318
+ * Segmented date input with Edges styling.
319
+ */
320
+ interface DateFieldProps<T extends DateValue> extends DateFieldProps$1<T> {
321
+ label?: string;
322
+ description?: string;
323
+ errorMessage?: string | ((validation: ValidationResult) => string);
324
+ }
325
+ declare function DateField<T extends DateValue>({ label, description, errorMessage, ...props }: DateFieldProps<T>): react_jsx_runtime.JSX.Element;
326
+
327
+ /**
328
+ * DateRangePicker
329
+ *
330
+ * Composed date range input with popover calendar.
331
+ */
332
+ interface DateRangePickerProps<T extends DateValue> extends DateRangePickerProps$1<T> {
333
+ label?: string;
334
+ description?: string;
335
+ errorMessage?: string | ((validation: ValidationResult) => string);
336
+ }
337
+ declare function DateRangePicker<T extends DateValue>({ label, description, errorMessage, ...props }: DateRangePickerProps<T>): react_jsx_runtime.JSX.Element;
338
+
339
+ /**
340
+ * Dialog
341
+ *
342
+ * Generic modal/dialog surface with Edges defaults.
343
+ */
344
+ declare function Dialog(props: DialogProps): react_jsx_runtime.JSX.Element;
345
+
346
+ type BaseDialogHeaderProps = {
347
+ title?: string;
348
+ onClose: () => void;
349
+ titleAlign?: "left" | "center";
350
+ headerContent?: React__default.ReactNode;
351
+ };
352
+ type WithBackArrow = BaseDialogHeaderProps & {
353
+ hasBackArrow: true;
354
+ onBack: () => void;
355
+ };
356
+ type WithoutBackArrow = BaseDialogHeaderProps & {
357
+ hasBackArrow?: false;
358
+ onBack?: never;
359
+ };
360
+ /**
361
+ * DialogHeader
362
+ *
363
+ * Header area for dialogs with optional back arrow.
364
+ */
365
+ type DialogHeaderProps = WithBackArrow | WithoutBackArrow;
366
+ declare const DialogHeader: React__default.FC<DialogHeaderProps>;
367
+
368
+ interface DrawerAction {
369
+ label: string;
370
+ onPress: () => void;
371
+ variant?: "default" | "primary" | "secondary" | "destructive" | "icon" | "link" | "unstyled" | "ghost";
372
+ size?: "sm" | "md" | "lg";
373
+ isLoading?: boolean;
374
+ isDisabled?: boolean;
375
+ }
376
+ /**
377
+ * Drawer
378
+ *
379
+ * Sliding panel that anchors to screen edges.
380
+ */
381
+ interface DrawerProps {
382
+ title?: string;
383
+ headerContent?: React__default.ReactNode;
384
+ children?: React__default.ReactNode;
385
+ isOpen: boolean;
386
+ slideInFrom?: "left" | "right";
387
+ transparentOverlay?: boolean;
388
+ onClose?: () => void;
389
+ className?: string;
390
+ primaryAction?: DrawerAction;
391
+ secondaryAction?: DrawerAction;
392
+ footerContent?: React__default.ReactNode;
393
+ }
394
+ declare const Drawer: React__default.FC<DrawerProps>;
395
+
396
+ interface Props {
397
+ children: ReactNode;
398
+ fallback?: ReactNode;
399
+ title?: string;
400
+ }
401
+ interface State {
402
+ hasError: boolean;
403
+ error?: Error;
404
+ }
405
+ declare class ErrorBoundary extends Component<Props, State> {
406
+ state: State;
407
+ static getDerivedStateFromError(error: Error): State;
408
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
409
+ private handleRetry;
410
+ render(): string | number | boolean | react_jsx_runtime.JSX.Element | Iterable<ReactNode> | null | undefined;
411
+ }
412
+
184
413
  interface InputStyleProps {
185
414
  /** Whether the input is in an invalid state */
186
415
  isInvalid?: boolean;
@@ -290,7 +519,7 @@ declare function getInputStateStyles(props: {
290
519
  declare function getInputBackgroundStyles(props: {
291
520
  transparent?: boolean;
292
521
  isDisabled?: boolean;
293
- }): "bg-transparent" | "bg-background-muted" | "bg-background-input";
522
+ }): "bg-background-muted" | "bg-transparent" | "bg-background-input";
294
523
  /**
295
524
  * Generates the complete set of base styles for input components.
296
525
  * This includes state styles, background, sizing, and custom classes.
@@ -380,55 +609,202 @@ declare function Input({ size, isInvalid, isDisabled, isFocused, transparent, cl
380
609
  */
381
610
  declare function FieldGroup(props: FieldGroupProps): react_jsx_runtime.JSX.Element;
382
611
 
383
- interface TextFieldProps extends Omit<TextFieldProps$1, "isRequired" | "size" | "className">, BaseInputProps {
384
- label?: string;
385
- description?: string;
386
- errorMessage?: string | ((validation: ValidationResult) => string);
387
- placeholder?: string;
388
- tooltip?: string;
389
- isRequired?: boolean;
390
- className?: string;
391
- validationResult?: ValidationResult;
392
- }
393
- declare function TextField({ label, description, errorMessage, size, tooltip, isRequired, transparent, showSearchIcon, isClearable, onClear, type, validationResult, ...props }: TextFieldProps): react_jsx_runtime.JSX.Element;
612
+ /**
613
+ * Form
614
+ *
615
+ * Accessibility-first form wrapper with consistent spacing.
616
+ */
617
+ declare function Form(props: FormProps): react_jsx_runtime.JSX.Element;
394
618
 
395
- interface TextAreaProps extends Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size">, BaseInputProps {
396
- label?: string;
397
- description?: string;
398
- errorMessage?: string | ((validation: ValidationResult) => string);
399
- tooltip?: string;
400
- size?: Size;
401
- isInvalid?: boolean;
402
- validationResult?: ValidationResult;
619
+ declare const sizeVariants: {
620
+ readonly xs: "text-lg font-semibold";
621
+ readonly sm: "text-xl font-semibold";
622
+ readonly md: "text-2xl font-semibold";
623
+ readonly lg: "text-3xl font-semibold";
624
+ readonly xl: "text-4xl font-semibold";
625
+ };
626
+ declare const heightVariants: {
627
+ readonly page: "h-16 leading-[62px]";
628
+ };
629
+ type HeadingSize = keyof typeof sizeVariants;
630
+ type HeadingHeight = keyof typeof heightVariants;
631
+ /**
632
+ * Heading
633
+ *
634
+ * Typography component for page/section headings with size and height options.
635
+ */
636
+ interface HeadingProps {
637
+ tag?: keyof JSX.IntrinsicElements;
638
+ size?: HeadingSize;
639
+ height?: HeadingHeight;
640
+ className?: string;
641
+ children?: React__default.ReactNode;
403
642
  }
404
- declare function TextArea({ label, description, errorMessage, size, tooltip, required, transparent, isInvalid, className, validationResult, ...props }: TextAreaProps): react_jsx_runtime.JSX.Element;
643
+ declare function Heading({ tag: Tag, size, height, className, children }: HeadingProps): react_jsx_runtime.JSX.Element;
405
644
 
645
+ /**
646
+ * ListBox
647
+ *
648
+ * Styled wrapper around `react-aria-components` ListBox and related parts
649
+ * used in dropdowns and menus.
650
+ */
406
651
  interface ListBoxProps<T> extends Omit<ListBoxProps$1<T>, "layout" | "orientation"> {
407
652
  }
408
653
  declare function ListBox<T extends object>({ children, ...props }: ListBoxProps<T>): react_jsx_runtime.JSX.Element;
409
654
 
410
655
  /**
411
- * Interface defining the shape of items in the Select component
656
+ * ListBoxItem
657
+ *
658
+ * A styled wrapper around `react-aria-components` ListBoxItem with size
659
+ * variants that align with Edges typography.
412
660
  */
413
- interface SelectItem<T = unknown> {
414
- /** Unique identifier for the item */
415
- id: string;
416
- /** Display label for the item */
417
- label: string;
418
- /** Value associated with the item */
419
- value: T;
661
+ interface ExtendedListBoxItemProps extends Omit<ListBoxItemProps, "className"> {
662
+ size?: "sm" | "md" | "lg" | "xl";
663
+ className?: string;
420
664
  }
421
- /**
422
- * Props for the Select component
423
- * @template T - The type of the items, must extend SelectItem
424
- */
425
- interface SelectProps<T extends SelectItem> extends Omit<SelectProps$1<T>, "children" | "onSelectionChange"> {
426
- /** Label text displayed above the select */
427
- label?: string;
428
- /** Helper text displayed below the select */
429
- description?: string;
430
- /** Error message or function to generate error message */
431
- errorMessage?: string | ((validation: ValidationResult) => React__default.ReactNode);
665
+ declare function ListBoxItem({ size, className, ...props }: ExtendedListBoxItemProps): react_jsx_runtime.JSX.Element;
666
+
667
+ interface LoaderProps {
668
+ /**
669
+ * Optional className for custom styling
670
+ */
671
+ className?: string;
672
+ /**
673
+ * Size of the loader in pixels
674
+ * @default 24
675
+ */
676
+ size?: number;
677
+ /**
678
+ * Color of the loader
679
+ * @default "text-action-primary"
680
+ */
681
+ color?: string;
682
+ }
683
+ declare const Loader: ({ className, size, color }: LoaderProps) => react_jsx_runtime.JSX.Element;
684
+
685
+ interface LogoProps {
686
+ className?: string;
687
+ showWordmark?: boolean;
688
+ }
689
+ declare const Logo: ({ className, showWordmark }: LogoProps) => react_jsx_runtime.JSX.Element;
690
+
691
+ /**
692
+ * NumberField
693
+ *
694
+ * Numeric input with stepper controls and validation.
695
+ */
696
+ interface NumberFieldProps extends Omit<NumberFieldProps$1, "size" | "className">, BaseInputProps {
697
+ value?: number;
698
+ defaultValue?: number;
699
+ onChange?: (value: number) => void;
700
+ minValue?: number;
701
+ maxValue?: number;
702
+ step?: number;
703
+ formatOptions?: Intl.NumberFormatOptions;
704
+ id?: string;
705
+ label?: string;
706
+ description?: string;
707
+ errorMessage?: string | ((validation: ValidationResult) => string);
708
+ tooltip?: string;
709
+ isRequired?: boolean;
710
+ className?: string;
711
+ validationResult?: ValidationResult;
712
+ }
713
+ declare function NumberField({ label, description, errorMessage, size, tooltip, isRequired, transparent, validationResult, ...props }: NumberFieldProps): react_jsx_runtime.JSX.Element;
714
+
715
+ interface Place {
716
+ id: string;
717
+ place_name: string;
718
+ place_type: string[];
719
+ center: [number, number];
720
+ }
721
+ type SearchType = "country" | "region" | "district" | "place" | "locality" | "neighborhood" | "address" | "street";
722
+ /**
723
+ * PlaceSearch
724
+ *
725
+ * Location search component with autocomplete; emits a `Place` value on
726
+ * selection.
727
+ */
728
+ interface PlaceSearchProps {
729
+ label?: string;
730
+ selectedKey?: Key | null;
731
+ defaultSelectedKey?: Key | null;
732
+ onSelectionChange?: (key: Key | null) => void;
733
+ placeholder?: string;
734
+ errorMessage?: string | ((validation: ValidationResult) => string);
735
+ description?: string;
736
+ size?: "sm" | "md" | "lg" | "xl";
737
+ tooltip?: string;
738
+ isRequired?: boolean;
739
+ isDisabled?: boolean;
740
+ showErrors?: boolean;
741
+ autoFocus?: boolean;
742
+ onSelect: (place: Place) => void;
743
+ searchTypes?: SearchType[];
744
+ defaultFilter?: (textValue: string, inputValue: string) => boolean;
745
+ validationResult?: ValidationResult;
746
+ countryRestrictions?: string[];
747
+ proximity?: "ip" | [number, number];
748
+ }
749
+ declare function PlaceSearch({ label, selectedKey, defaultSelectedKey, onSelectionChange, placeholder, errorMessage, description, size, tooltip, isRequired, isDisabled, showErrors, autoFocus, onSelect, searchTypes, defaultFilter, validationResult, countryRestrictions, proximity, }: PlaceSearchProps): react_jsx_runtime.JSX.Element;
750
+
751
+ /**
752
+ * Popover
753
+ *
754
+ * Positioned overlay container with optional arrow, built on
755
+ * `react-aria-components` Popover.
756
+ */
757
+ interface PopoverProps extends Omit<PopoverProps$1, "children"> {
758
+ showArrow?: boolean;
759
+ children: React__default.ReactNode;
760
+ }
761
+ declare function Popover({ children, showArrow, className, ...props }: PopoverProps): react_jsx_runtime.JSX.Element;
762
+
763
+ /**
764
+ * ProgressBar
765
+ *
766
+ * Linear progress indicator with optional labels.
767
+ */
768
+ interface ProgressBarProps extends ProgressBarProps$1 {
769
+ label?: string;
770
+ rightLabel?: string;
771
+ progressWidth?: number;
772
+ hideLabels?: boolean;
773
+ }
774
+ declare function ProgressBar({ label, rightLabel, progressWidth, hideLabels, ...props }: ProgressBarProps): react_jsx_runtime.JSX.Element;
775
+
776
+ /**
777
+ * RangeCalendar
778
+ *
779
+ * Calendar allowing selection of a date range.
780
+ */
781
+ interface RangeCalendarProps<T extends DateValue> extends Omit<RangeCalendarProps$1<T>, "visibleDuration"> {
782
+ errorMessage?: string;
783
+ }
784
+ declare function RangeCalendar<T extends DateValue>({ errorMessage, ...props }: RangeCalendarProps<T>): react_jsx_runtime.JSX.Element;
785
+
786
+ /**
787
+ * Interface defining the shape of items in the Select component
788
+ */
789
+ interface SelectItem<T = unknown> {
790
+ /** Unique identifier for the item */
791
+ id: string;
792
+ /** Display label for the item */
793
+ label: string;
794
+ /** Value associated with the item */
795
+ value: T;
796
+ }
797
+ /**
798
+ * Props for the Select component
799
+ * @template T - The type of the items, must extend SelectItem
800
+ */
801
+ interface SelectProps<T extends SelectItem> extends Omit<SelectProps$1<T>, "children" | "onSelectionChange"> {
802
+ /** Label text displayed above the select */
803
+ label?: string;
804
+ /** Helper text displayed below the select */
805
+ description?: string;
806
+ /** Error message or function to generate error message */
807
+ errorMessage?: string | ((validation: ValidationResult) => React__default.ReactNode);
432
808
  /** Collection of items to display in the select */
433
809
  items?: Iterable<T>;
434
810
  /** Size variant of the select */
@@ -454,26 +830,76 @@ interface SelectProps<T extends SelectItem> extends Omit<SelectProps$1<T>, "chil
454
830
  }
455
831
  declare function Select<T extends SelectItem>({ label, description, errorMessage, children, items, size, selectedKey: controlledSelectedKey, defaultSelectedKey, onSelectionChange, placeholder, showErrors, tooltip, isRequired, transparent, ...props }: SelectProps<T>): react_jsx_runtime.JSX.Element;
456
832
 
457
- interface NumberFieldProps extends Omit<NumberFieldProps$1, "size" | "className">, BaseInputProps {
458
- value?: number;
459
- defaultValue?: number;
460
- onChange?: (value: number) => void;
461
- minValue?: number;
462
- maxValue?: number;
463
- step?: number;
464
- formatOptions?: Intl.NumberFormatOptions;
833
+ interface SkeletonProps {
834
+ width?: number | string;
835
+ height?: number | string;
836
+ variant?: "text" | "rect" | "circle";
837
+ animation?: "pulse" | "wave" | "none";
838
+ gradient?: boolean;
839
+ flex?: boolean;
840
+ stack?: (number | string)[];
841
+ responsive?: Record<string, string | number>;
842
+ delay?: number;
843
+ adjustAnimationSpeedBasedOnWidth?: boolean;
844
+ ariaLabel?: string;
845
+ className?: string;
846
+ "data-testid"?: string;
847
+ }
848
+ declare const Skeleton: React__default.FC<SkeletonProps>;
849
+
850
+ interface SwitchProps extends Omit<SwitchProps$1, "children"> {
851
+ children: React__default.ReactNode;
852
+ }
853
+ declare function Switch({ children, ...props }: SwitchProps): react_jsx_runtime.JSX.Element;
854
+
855
+ type TabProps = TabProps$1 & {
856
+ isSelected?: boolean;
465
857
  id?: string;
858
+ };
859
+ /**
860
+ * Tabs
861
+ *
862
+ * Tabbed interface with styled tabs and panels.
863
+ */
864
+ declare function Tabs(props: TabsProps): react_jsx_runtime.JSX.Element;
865
+ /**
866
+ * TabList container.
867
+ */
868
+ declare function TabList<T extends object>(props: TabListProps<T>): react_jsx_runtime.JSX.Element;
869
+ /**
870
+ * Tab trigger element.
871
+ */
872
+ declare function Tab(props: TabProps): react_jsx_runtime.JSX.Element;
873
+ /**
874
+ * TabPanel content area.
875
+ */
876
+ declare function TabPanel(props: TabPanelProps): react_jsx_runtime.JSX.Element;
877
+
878
+ /**
879
+ * TextArea
880
+ *
881
+ * Multi-line text input with Edges styling, label, description, and error.
882
+ */
883
+ interface TextAreaProps extends Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size">, BaseInputProps {
466
884
  label?: string;
467
885
  description?: string;
468
886
  errorMessage?: string | ((validation: ValidationResult) => string);
469
887
  tooltip?: string;
470
- isRequired?: boolean;
471
- className?: string;
888
+ size?: Size;
889
+ isInvalid?: boolean;
472
890
  validationResult?: ValidationResult;
473
891
  }
474
- declare function NumberField({ label, description, errorMessage, size, tooltip, isRequired, transparent, validationResult, ...props }: NumberFieldProps): react_jsx_runtime.JSX.Element;
892
+ declare function TextArea({ label, description, errorMessage, size, tooltip, required, transparent, isInvalid, className, validationResult, ...props }: TextAreaProps): react_jsx_runtime.JSX.Element;
475
893
 
476
- interface TimeFieldProps extends Omit<TimeFieldProps$1<TimeValue>, "size" | "className">, BaseInputProps {
894
+ /**
895
+ * TextField
896
+ *
897
+ * A controlled or uncontrolled text input with Edges styling, label,
898
+ * description, error messaging, and optional affordances like a search icon,
899
+ * clear button, and password visibility toggle. Wraps
900
+ * `react-aria-components` TextField for accessible behavior.
901
+ */
902
+ interface TextFieldProps extends Omit<TextFieldProps$1, "isRequired" | "size" | "className">, BaseInputProps {
477
903
  label?: string;
478
904
  description?: string;
479
905
  errorMessage?: string | ((validation: ValidationResult) => string);
@@ -483,14 +909,46 @@ interface TimeFieldProps extends Omit<TimeFieldProps$1<TimeValue>, "size" | "cla
483
909
  className?: string;
484
910
  validationResult?: ValidationResult;
485
911
  }
486
- declare function TimeField({ label, description, errorMessage, size, tooltip, isRequired, transparent, validationResult, ...props }: TimeFieldProps): react_jsx_runtime.JSX.Element;
912
+ /**
913
+ * Renders an Edges TextField with label, description, validation states and
914
+ * optional search/clear/password affordances.
915
+ */
916
+ declare function TextField({ label, description, errorMessage, size, tooltip, isRequired, transparent, showSearchIcon, isClearable, onClear, type, validationResult, ...props }: TextFieldProps): react_jsx_runtime.JSX.Element;
487
917
 
488
- interface DateFieldProps<T extends DateValue> extends DateFieldProps$1<T> {
918
+ interface TextLinkProps {
919
+ href?: string;
920
+ children: ReactNode;
921
+ className?: string;
922
+ external?: boolean;
923
+ title?: string;
924
+ variant?: "default" | "primary" | "muted";
925
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
926
+ asButton?: boolean;
927
+ onPress?: () => void;
928
+ showArrow?: boolean;
929
+ }
930
+ declare const TextLink: ({ href, children, className, external, title, variant, onClick, asButton, onPress, showArrow, }: TextLinkProps) => react_jsx_runtime.JSX.Element;
931
+
932
+ /**
933
+ * TimeField
934
+ *
935
+ * Input segmented time with Edges styling and accessible behavior via
936
+ * `react-aria-components`. Supports labels, descriptions and validation.
937
+ */
938
+ interface TimeFieldProps extends Omit<TimeFieldProps$1<TimeValue>, "size" | "className">, BaseInputProps {
489
939
  label?: string;
490
940
  description?: string;
491
941
  errorMessage?: string | ((validation: ValidationResult) => string);
942
+ placeholder?: string;
943
+ tooltip?: string;
944
+ isRequired?: boolean;
945
+ className?: string;
946
+ validationResult?: ValidationResult;
492
947
  }
493
- declare function DateField<T extends DateValue>({ label, description, errorMessage, ...props }: DateFieldProps<T>): react_jsx_runtime.JSX.Element;
948
+ /**
949
+ * Renders an Edges TimeField composed from segmented date parts.
950
+ */
951
+ declare function TimeField({ label, description, errorMessage, size, tooltip, isRequired, transparent, validationResult, ...props }: TimeFieldProps): react_jsx_runtime.JSX.Element;
494
952
 
495
953
  type IconName = ComponentProps<typeof Icon>["name"];
496
954
  interface ToggleButtonProps {
@@ -519,241 +977,17 @@ interface ToggleButtonProps {
519
977
  }
520
978
  declare function ToggleButton(props: ToggleButtonProps): react_jsx_runtime.JSX.Element;
521
979
 
980
+ /**
981
+ * Tooltip
982
+ *
983
+ * Lightweight content container that appears on hover/focus/press.
984
+ */
522
985
  interface TooltipProps extends Omit<TooltipProps$1, "children"> {
523
986
  children: React__default.ReactNode;
524
987
  content: React__default.ReactNode;
525
988
  }
526
989
  declare function Tooltip({ children, content, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
527
990
 
528
- interface TextLinkProps {
529
- href?: string;
530
- children: ReactNode;
531
- className?: string;
532
- external?: boolean;
533
- title?: string;
534
- variant?: "default" | "primary" | "muted";
535
- onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
536
- asButton?: boolean;
537
- onPress?: () => void;
538
- showArrow?: boolean;
539
- }
540
- declare const TextLink: ({ href, children, className, external, title, variant, onClick, asButton, onPress, showArrow, }: TextLinkProps) => react_jsx_runtime.JSX.Element;
541
-
542
- interface SkeletonProps {
543
- width?: number | string;
544
- height?: number | string;
545
- variant?: "text" | "rect" | "circle";
546
- animation?: "pulse" | "wave" | "none";
547
- gradient?: boolean;
548
- flex?: boolean;
549
- stack?: (number | string)[];
550
- responsive?: Record<string, string | number>;
551
- delay?: number;
552
- adjustAnimationSpeedBasedOnWidth?: boolean;
553
- ariaLabel?: string;
554
- className?: string;
555
- "data-testid"?: string;
556
- }
557
- declare const Skeleton: React__default.FC<SkeletonProps>;
558
-
559
- interface LogoProps {
560
- className?: string;
561
- showWordmark?: boolean;
562
- }
563
- declare const Logo: ({ className, showWordmark }: LogoProps) => react_jsx_runtime.JSX.Element;
564
-
565
- interface PopoverProps extends Omit<PopoverProps$1, "children"> {
566
- showArrow?: boolean;
567
- children: React__default.ReactNode;
568
- }
569
- declare function Popover({ children, showArrow, className, ...props }: PopoverProps): react_jsx_runtime.JSX.Element;
570
-
571
- interface LoaderProps {
572
- /**
573
- * Optional className for custom styling
574
- */
575
- className?: string;
576
- /**
577
- * Size of the loader in pixels
578
- * @default 24
579
- */
580
- size?: number;
581
- /**
582
- * Color of the loader
583
- * @default "text-action-primary"
584
- */
585
- color?: string;
586
- }
587
- declare const Loader: ({ className, size, color }: LoaderProps) => react_jsx_runtime.JSX.Element;
588
-
589
- declare const sizeVariants: {
590
- readonly xs: "text-lg font-semibold";
591
- readonly sm: "text-xl font-semibold";
592
- readonly md: "text-2xl font-semibold";
593
- readonly lg: "text-3xl font-semibold";
594
- readonly xl: "text-4xl font-semibold";
595
- };
596
- declare const heightVariants: {
597
- readonly page: "h-16 leading-[62px]";
598
- };
599
- type HeadingSize = keyof typeof sizeVariants;
600
- type HeadingHeight = keyof typeof heightVariants;
601
- interface HeadingProps {
602
- tag?: keyof JSX.IntrinsicElements;
603
- size?: HeadingSize;
604
- height?: HeadingHeight;
605
- className?: string;
606
- children?: React__default.ReactNode;
607
- }
608
- declare function Heading({ tag: Tag, size, height, className, children }: HeadingProps): react_jsx_runtime.JSX.Element;
609
-
610
- interface CopyToClipboardProps {
611
- /**
612
- * The value to copy to clipboard. If not provided, will use the text content of children
613
- */
614
- value?: string;
615
- /**
616
- * The content to display
617
- */
618
- children: React__default.ReactNode;
619
- /**
620
- * Optional className for the container
621
- */
622
- className?: string;
623
- /**
624
- * Size of the copy button, defaults to "sm"
625
- */
626
- size?: "sm" | "md";
627
- }
628
- declare function CopyToClipboard({ value, children, className, size }: CopyToClipboardProps): react_jsx_runtime.JSX.Element;
629
-
630
- interface SwitchProps extends Omit<SwitchProps$1, "children"> {
631
- children: React__default.ReactNode;
632
- }
633
- declare function Switch({ children, ...props }: SwitchProps): react_jsx_runtime.JSX.Element;
634
-
635
- interface ProgressBarProps extends ProgressBarProps$1 {
636
- label?: string;
637
- rightLabel?: string;
638
- progressWidth?: number;
639
- hideLabels?: boolean;
640
- }
641
- declare function ProgressBar({ label, rightLabel, progressWidth, hideLabels, ...props }: ProgressBarProps): react_jsx_runtime.JSX.Element;
642
-
643
- interface RangeCalendarProps<T extends DateValue> extends Omit<RangeCalendarProps$1<T>, "visibleDuration"> {
644
- errorMessage?: string;
645
- }
646
- declare function RangeCalendar<T extends DateValue>({ errorMessage, ...props }: RangeCalendarProps<T>): react_jsx_runtime.JSX.Element;
647
-
648
- interface Place {
649
- id: string;
650
- place_name: string;
651
- place_type: string[];
652
- center: [number, number];
653
- }
654
- type SearchType = "country" | "region" | "district" | "place" | "locality" | "neighborhood" | "address" | "street";
655
- interface PlaceSearchProps {
656
- label?: string;
657
- selectedKey?: Key | null;
658
- defaultSelectedKey?: Key | null;
659
- onSelectionChange?: (key: Key | null) => void;
660
- placeholder?: string;
661
- errorMessage?: string | ((validation: ValidationResult) => string);
662
- description?: string;
663
- size?: "sm" | "md" | "lg" | "xl";
664
- tooltip?: string;
665
- isRequired?: boolean;
666
- isDisabled?: boolean;
667
- showErrors?: boolean;
668
- autoFocus?: boolean;
669
- onSelect: (place: Place) => void;
670
- searchTypes?: SearchType[];
671
- defaultFilter?: (textValue: string, inputValue: string) => boolean;
672
- validationResult?: ValidationResult;
673
- countryRestrictions?: string[];
674
- proximity?: "ip" | [number, number];
675
- }
676
- declare function PlaceSearch({ label, selectedKey, defaultSelectedKey, onSelectionChange, placeholder, errorMessage, description, size, tooltip, isRequired, isDisabled, showErrors, autoFocus, onSelect, searchTypes, defaultFilter, validationResult, countryRestrictions, proximity, }: PlaceSearchProps): react_jsx_runtime.JSX.Element;
677
-
678
- interface ExtendedListBoxItemProps extends Omit<ListBoxItemProps, "className"> {
679
- size?: "sm" | "md" | "lg" | "xl";
680
- className?: string;
681
- }
682
- declare function ListBoxItem({ size, className, ...props }: ExtendedListBoxItemProps): react_jsx_runtime.JSX.Element;
683
-
684
- declare function Form(props: FormProps): react_jsx_runtime.JSX.Element;
685
-
686
- interface DateRangePickerProps<T extends DateValue> extends DateRangePickerProps$1<T> {
687
- label?: string;
688
- description?: string;
689
- errorMessage?: string | ((validation: ValidationResult) => string);
690
- }
691
- declare function DateRangePicker<T extends DateValue>({ label, description, errorMessage, ...props }: DateRangePickerProps<T>): react_jsx_runtime.JSX.Element;
692
-
693
- declare function Dialog(props: DialogProps): react_jsx_runtime.JSX.Element;
694
-
695
- interface CalendarProps<T extends DateValue> extends Omit<CalendarProps$1<T>, "visibleDuration"> {
696
- errorMessage?: string;
697
- }
698
- declare function Calendar<T extends DateValue>({ errorMessage, ...props }: CalendarProps<T>): react_jsx_runtime.JSX.Element;
699
-
700
- interface CheckboxProps extends Omit<CheckboxProps$1, "children"> {
701
- children?: ReactNode | ((props: CheckboxRenderProps) => ReactNode);
702
- }
703
- declare function Checkbox(props: CheckboxProps): react_jsx_runtime.JSX.Element;
704
-
705
- interface Item {
706
- id: string;
707
- name: string;
708
- }
709
- interface Section {
710
- name: string;
711
- items: Item[];
712
- }
713
- type RequestMethod = "GET" | "POST";
714
- interface BaseRequestConfig {
715
- url: string;
716
- headers?: Record<string, string>;
717
- transformResponse: (data: unknown) => Item[];
718
- }
719
- interface RestRequestConfig extends BaseRequestConfig {
720
- requestType: "REST";
721
- method?: RequestMethod;
722
- queryKey?: string;
723
- extraParams?: Record<string, string>;
724
- shouldLoad?: (filterText: string) => boolean;
725
- }
726
- interface GraphQLRequestConfig extends BaseRequestConfig {
727
- requestType: "GraphQL";
728
- graphqlQuery: string;
729
- variableKey?: string;
730
- responsePath?: string;
731
- shouldLoad?: (filterText: string) => boolean;
732
- }
733
- type AutocompleteRequestConfig = RestRequestConfig | GraphQLRequestConfig;
734
- interface AutocompleteProps {
735
- label?: string;
736
- staticItems?: Item[];
737
- sections?: Section[];
738
- selectedKey?: Key | null;
739
- defaultSelectedKey?: Key | null;
740
- onSelectionChange?: (key: Key | null) => void;
741
- requestConfig?: AutocompleteRequestConfig;
742
- defaultFilter?: (textValue: string, inputValue: string) => boolean;
743
- placeholder?: string;
744
- renderItem?: (item: Item) => React__default.ReactNode;
745
- renderLeftIcon?: (isLoading: boolean) => React__default.ReactNode;
746
- errorMessage?: string | ((validation: ValidationResult) => string);
747
- description?: string;
748
- size?: "sm" | "md" | "lg" | "xl";
749
- tooltip?: string;
750
- isRequired?: boolean;
751
- isDisabled?: boolean;
752
- validationResult?: ValidationResult;
753
- showErrors?: boolean;
754
- autoFocus?: boolean;
755
- onLoadError?: (error: Error) => void;
756
- }
757
- declare function Autocomplete({ label, staticItems, sections, selectedKey, defaultSelectedKey, onSelectionChange, requestConfig, defaultFilter, errorMessage, size, tooltip, isRequired, isDisabled, renderLeftIcon, autoFocus, onLoadError, }: AutocompleteProps): react_jsx_runtime.JSX.Element;
991
+ declare function useDebounce<T>(value: T, delay?: number): T;
758
992
 
759
- export { Autocomplete, type BaseInputProps, type BaseProps, Button, Calendar, Checkbox, ClearButton, CopyToClipboard, DateField, DateRangePicker, Description, type DescriptionProps, Dialog, 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, RangeCalendar, Select, Skeleton, Switch, TextArea, TextField, TextLink, TimeField, ToggleButton, Tooltip, getFieldGroupStyles, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, useInputFocus };
993
+ export { Autocomplete, type BaseInputProps, type BaseProps, Button, Calendar, Card, Checkbox, 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, RangeCalendar, Select, Skeleton, Switch, Tab, TabList, TabPanel, Tabs, TextArea, TextField, TextLink, TimeField, ToggleButton, Tooltip, getFieldGroupStyles, getInputBackgroundStyles, getInputBaseStyles, getInputStateStyles, useDebounce, useInputFocus };