cekat-ui 1.3.7 → 1.3.9
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.mts +353 -56
- package/dist/index.d.ts +353 -56
- package/dist/index.mjs +10755 -7264
- package/dist/index.umd.js +4 -4
- package/dist/style.css +575 -88
- package/package.json +1 -1
- package/tailwind.preset.cjs +2 -0
package/dist/index.d.mts
CHANGED
|
@@ -4,15 +4,28 @@ import { CellProps as CellProps_2 } from 'react-aria-components';
|
|
|
4
4
|
import { ClassValue } from 'clsx';
|
|
5
5
|
import { ColumnProps as ColumnProps_2 } from 'react-aria-components';
|
|
6
6
|
import { ColumnResizerProps as ColumnResizerProps_2 } from 'react-aria-components';
|
|
7
|
+
import { ComboBoxProps as ComboBoxProps_2 } from 'react-aria-components';
|
|
7
8
|
import { default as default_2 } from 'react';
|
|
9
|
+
import { DialogProps } from 'react-aria-components';
|
|
10
|
+
import { GroupProps } from 'react-aria-components';
|
|
11
|
+
import { InputProps as InputProps_2 } from 'react-aria-components';
|
|
8
12
|
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
9
13
|
import { Key } from 'react-aria-components';
|
|
14
|
+
import { ListBoxItemProps as ListBoxItemProps_2 } from 'react-aria-components';
|
|
15
|
+
import { ListBoxProps as ListBoxProps_2 } from 'react-aria-components';
|
|
16
|
+
import { MenuItemProps as MenuItemProps_2 } from 'react-aria-components';
|
|
17
|
+
import { MenuProps as MenuProps_2 } from 'react-aria-components';
|
|
18
|
+
import { MenuTrigger } from 'react-aria-components';
|
|
19
|
+
import { ModalOverlayProps } from 'react-aria-components';
|
|
20
|
+
import { PopoverProps as PopoverProps_2 } from 'react-aria-components';
|
|
10
21
|
import { PressEvent } from 'react-aria-components';
|
|
11
22
|
import * as React_2 from 'react';
|
|
12
23
|
import { ReactNode } from 'react';
|
|
13
24
|
import { ResizableTableContainerProps } from 'react-aria-components';
|
|
14
25
|
import { RowProps as RowProps_2 } from 'react-aria-components';
|
|
15
26
|
import { SelectionIndicator } from 'react-aria-components';
|
|
27
|
+
import { SelectProps as SelectProps_2 } from 'react-aria-components';
|
|
28
|
+
import { SelectValueProps as SelectValueProps_2 } from 'react-aria-components';
|
|
16
29
|
import { TableBodyProps as TableBodyProps_2 } from 'react-aria-components';
|
|
17
30
|
import { TableFooterProps as TableFooterProps_2 } from 'react-aria-components';
|
|
18
31
|
import { TableHeaderProps as TableHeaderProps_2 } from 'react-aria-components';
|
|
@@ -344,53 +357,92 @@ export declare const ColumnResizer: React_2.ForwardRefExoticComponent<ColumnResi
|
|
|
344
357
|
export declare interface ColumnResizerProps extends ColumnResizerProps_2 {
|
|
345
358
|
}
|
|
346
359
|
|
|
347
|
-
export declare
|
|
360
|
+
export declare const ComboBox: <T extends object, M extends ComboBoxSelectionMode = "single">(props: ComboBoxProps<T, M> & {
|
|
361
|
+
ref?: React_2.Ref<HTMLDivElement>;
|
|
362
|
+
}) => React_2.ReactElement;
|
|
348
363
|
|
|
349
|
-
export declare
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
status?: AvatarStatus;
|
|
364
|
+
export declare const ComboBoxInput: React_2.ForwardRefExoticComponent<ComboBoxInputProps & React_2.RefAttributes<HTMLInputElement>>;
|
|
365
|
+
|
|
366
|
+
export declare interface ComboBoxInputProps extends Omit<InputProps_2, 'className' | 'style'> {
|
|
367
|
+
className?: ClassValue;
|
|
368
|
+
style?: React_2.CSSProperties;
|
|
355
369
|
}
|
|
356
370
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
371
|
+
/**
|
|
372
|
+
* `ListBoxItem` with the same provisional selected-row treatment as `Select`'s `SelectItem` —
|
|
373
|
+
* see `selectItemSelectedStyles` for why it's provisional. Reused directly rather than
|
|
374
|
+
* re-declared, same as `Menu` does for its own items.
|
|
375
|
+
*/
|
|
376
|
+
export declare function ComboBoxItem<T extends object>({ className, ...props }: ListBoxItemProps<T>): JSX_2.Element;
|
|
377
|
+
|
|
378
|
+
export declare interface ComboBoxProps<T extends object, M extends ComboBoxSelectionMode = 'single'> extends Omit<ComboBoxProps_2<T, M>, 'className' | 'style' | 'children'> {
|
|
379
|
+
children: ComboBoxProps_2<T, M>['children'];
|
|
380
|
+
className?: ClassValue;
|
|
381
|
+
style?: React_2.CSSProperties;
|
|
367
382
|
}
|
|
368
383
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
384
|
+
/**
|
|
385
|
+
* `'single' | 'multiple'` — unlike `Select` (single-value by construction), `ComboBox`
|
|
386
|
+
* genuinely supports both: multi-selection with removable tags is this component's job,
|
|
387
|
+
* not `Select`'s.
|
|
388
|
+
*/
|
|
389
|
+
export declare type ComboBoxSelectionMode = 'single' | 'multiple';
|
|
390
|
+
|
|
391
|
+
export declare type ComboBoxSize = 'xs' | 'sm' | 'md';
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Renders one chip per selected item, via a render-prop rather than owning `Tag` rendering
|
|
395
|
+
* itself — reuses the existing `Tag` component rather than re-declaring chip styling, and
|
|
396
|
+
* `Tag`'s own color/size/icon surface is a styling decision that belongs to the consumer, not
|
|
397
|
+
* this component. Reads
|
|
398
|
+
* `ComboBoxStateContext` directly (same context `ComboBoxValue` uses internally) rather than
|
|
399
|
+
* threading `selectedItems` through props.
|
|
400
|
+
*
|
|
401
|
+
* Wrapped in `comboBoxTagsRowStyles` (single row, horizontal scroll, no visible scrollbar) so
|
|
402
|
+
* every consumer gets Figma's fixed-height, non-wrapping `Tags` layout by construction, rather
|
|
403
|
+
* than each call site having to remember to wrap it correctly.
|
|
404
|
+
*/
|
|
405
|
+
export declare const ComboBoxTags: ({ children }: ComboBoxTagsProps) => JSX_2.Element | null;
|
|
406
|
+
|
|
407
|
+
export declare interface ComboBoxTagsProps {
|
|
408
|
+
/** Rendered per selected item; must call the given `onRemove` from a close affordance. */
|
|
409
|
+
children: (item: {
|
|
410
|
+
key: React_2.Key;
|
|
411
|
+
textValue: string;
|
|
412
|
+
onRemove: () => void;
|
|
413
|
+
}) => React_2.ReactNode;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Wraps RAC's `Group`, not a `Button` — the trigger holds the leading icon, the text input, and
|
|
418
|
+
* any tag chips (`ComboBoxTags`) as siblings.
|
|
419
|
+
*
|
|
420
|
+
* No trailing chevron/toggle button — Figma's `Type=Search`/`Type=Tags` nodes (81:15162,
|
|
421
|
+
* 81:15174) never render one; the leading search icon alone signals the field is searchable.
|
|
422
|
+
* `icon` stays optional at the type level (not required) even though omitting it removes the
|
|
423
|
+
* only visual affordance a trigger has once the chevron is gone — that's a deliberate usage
|
|
424
|
+
* note, not something enforced here. Consumers rendering `ComboBoxTrigger` without an `icon`
|
|
425
|
+
* get a field that looks like a plain text input; pass one.
|
|
426
|
+
*
|
|
427
|
+
* Clicking anywhere in the field — the icon, the padding, blank space next to the tags —
|
|
428
|
+
* focuses the input, the same way clicking anywhere in a native bordered text field does.
|
|
429
|
+
* `Group` gets no such behavior for free (it's a plain `<div role="group">`; only the `<input>`
|
|
430
|
+
* itself is focusable), so this was a real gap, not a style-only wrapper: without it, everything
|
|
431
|
+
* outside the input's own hit area is dead space that looks clickable and isn't. Only clicks
|
|
432
|
+
* that don't already land on a real control (the input, a tag's remove button) redirect focus —
|
|
433
|
+
* `closest('button, input')` is the check — so this never steals a click already meant for one
|
|
434
|
+
* of those.
|
|
435
|
+
*/
|
|
436
|
+
export declare const ComboBoxTrigger: React_2.ForwardRefExoticComponent<ComboBoxTriggerProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
437
|
+
|
|
438
|
+
export declare interface ComboBoxTriggerProps extends Omit<GroupProps, 'className' | 'style' | 'children' | 'role'> {
|
|
439
|
+
size?: ComboBoxSize;
|
|
440
|
+
/** Leading ornament slot — same as `Select`'s: icon, `Avatar`, or a status dot. */
|
|
375
441
|
icon?: React_2.ReactNode;
|
|
376
|
-
|
|
377
|
-
avatarSrc?: string;
|
|
378
|
-
avatarInitials?: React_2.ReactNode;
|
|
379
|
-
/** Optional user summary rendered at the top of the menu. */
|
|
380
|
-
header?: DropdownHeader;
|
|
381
|
-
items: DropdownMenuItem[];
|
|
382
|
-
open?: boolean;
|
|
383
|
-
defaultOpen?: boolean;
|
|
384
|
-
onOpenChange?: (open: boolean) => void;
|
|
385
|
-
disabled?: boolean;
|
|
386
|
-
/** Which edge of the trigger the menu aligns to. */
|
|
387
|
-
align?: 'start' | 'end';
|
|
442
|
+
children: React_2.ReactNode;
|
|
388
443
|
className?: ClassValue;
|
|
389
|
-
menuClassName?: ClassValue;
|
|
390
444
|
}
|
|
391
445
|
|
|
392
|
-
export declare type DropdownTriggerType = 'button' | 'icon' | 'avatar';
|
|
393
|
-
|
|
394
446
|
/**
|
|
395
447
|
* Standalone, not table-scoped — search results and filtered lists need it
|
|
396
448
|
* too. Structure follows the shipped "No Data Found" design (Figma
|
|
@@ -541,6 +593,43 @@ declare interface InputTrailingButtonSlot {
|
|
|
541
593
|
disabled?: boolean;
|
|
542
594
|
}
|
|
543
595
|
|
|
596
|
+
export declare const ListBox: <T extends object>(props: ListBoxProps<T> & {
|
|
597
|
+
ref?: React_2.Ref<HTMLDivElement>;
|
|
598
|
+
}) => React_2.ReactElement;
|
|
599
|
+
|
|
600
|
+
export declare const ListBoxItem: <T extends object>(props: ListBoxItemProps<T> & {
|
|
601
|
+
ref?: React_2.Ref<HTMLDivElement>;
|
|
602
|
+
}) => React_2.ReactElement;
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* Leading-content axis for an item. A single enum, not `icon`/`checkbox` booleans — no
|
|
606
|
+
* Figma variant combines them, and one axis makes the combination unrepresentable instead
|
|
607
|
+
* of just unused. Default `none`.
|
|
608
|
+
*/
|
|
609
|
+
export declare type ListBoxItemContent = 'none' | 'icon' | 'selection';
|
|
610
|
+
|
|
611
|
+
export declare interface ListBoxItemProps<T extends object = object> extends Omit<ListBoxItemProps_2<T>, 'className' | 'style'> {
|
|
612
|
+
content?: ListBoxItemContent;
|
|
613
|
+
/** Rendered in the leading slot when `content="icon"`. */
|
|
614
|
+
icon?: React_2.ReactNode;
|
|
615
|
+
/** Rendered right-aligned, e.g. a keyboard shortcut hint. */
|
|
616
|
+
shortcut?: React_2.ReactNode;
|
|
617
|
+
className?: ClassValue;
|
|
618
|
+
style?: React_2.CSSProperties;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
export declare interface ListBoxProps<T extends object> extends Omit<ListBoxProps_2<T>, 'className' | 'style'> {
|
|
622
|
+
className?: ClassValue;
|
|
623
|
+
style?: React_2.CSSProperties;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
/** A `Separator` element, not an item variant. */
|
|
627
|
+
export declare const ListBoxSeparator: ({ className }: ListBoxSeparatorProps) => JSX_2.Element;
|
|
628
|
+
|
|
629
|
+
export declare interface ListBoxSeparatorProps {
|
|
630
|
+
className?: string;
|
|
631
|
+
}
|
|
632
|
+
|
|
544
633
|
export declare const Loading: {
|
|
545
634
|
({ size, style, supportingText, label, className, }: LoadingProps): JSX_2.Element;
|
|
546
635
|
displayName: string;
|
|
@@ -558,30 +647,141 @@ export declare type LoadingSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
|
558
647
|
|
|
559
648
|
export declare type LoadingStyle = 'line-simple' | 'line-spinner' | 'dot-circle';
|
|
560
649
|
|
|
561
|
-
export declare
|
|
650
|
+
export declare const Menu: <T extends object>(props: MenuProps<T> & {
|
|
651
|
+
ref?: React_2.Ref<HTMLDivElement>;
|
|
652
|
+
}) => React_2.ReactElement;
|
|
562
653
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
654
|
+
/**
|
|
655
|
+
* Figma `_Dropdown list header` (81:14786) has two authored forms — avatar-group and plain
|
|
656
|
+
* text. Shipped as one slot, not two variants: this component only owns the header's
|
|
657
|
+
* structural chrome (bottom border, padding); the consumer supplies whichever content.
|
|
658
|
+
*
|
|
659
|
+
* Built on RAC's own `<Header>` (`createLeafComponent(HeaderNode, ...)`), not a plain `<div>` —
|
|
660
|
+
* every child of `<Menu>` is routed through RAC's collection builder, which only recognizes
|
|
661
|
+
* proper collection node types (`MenuItem`, `MenuSection`, `Separator`, `Header`). A plain,
|
|
662
|
+
* unrecognized `<div>` here silently corrupts collection building: `state.collection.size`
|
|
663
|
+
* drops to 0 and every `MenuItem` disappears with no error thrown. Verified directly — swapping
|
|
664
|
+
* this back to a raw `<div>` reproduces zero rendered `role="menuitem"` elements on open, even
|
|
665
|
+
* with otherwise-unmodified content.
|
|
666
|
+
*/
|
|
667
|
+
export declare const MenuHeader: ({ children, className }: MenuHeaderProps) => JSX_2.Element;
|
|
668
|
+
|
|
669
|
+
export declare interface MenuHeaderProps {
|
|
670
|
+
children: React_2.ReactNode;
|
|
671
|
+
className?: string;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
export declare const MenuItem: <T extends object>(props: MenuItemProps<T> & {
|
|
675
|
+
ref?: React_2.Ref<HTMLDivElement>;
|
|
676
|
+
}) => React_2.ReactElement;
|
|
677
|
+
|
|
678
|
+
/** Same enum as `ListBox`'s `content` axis. Default `none`. */
|
|
679
|
+
export declare type MenuItemContent = 'none' | 'icon' | 'selection';
|
|
680
|
+
|
|
681
|
+
export declare interface MenuItemProps<T extends object = object> extends Omit<MenuItemProps_2<T>, 'className' | 'style'> {
|
|
682
|
+
content?: MenuItemContent;
|
|
683
|
+
/** Rendered in the leading slot when `content="icon"`. */
|
|
684
|
+
icon?: React_2.ReactNode;
|
|
685
|
+
/** Figma `.Shortcut` (355:3773) — text-only, right-aligned. */
|
|
686
|
+
shortcut?: React_2.ReactNode;
|
|
572
687
|
className?: ClassValue;
|
|
573
|
-
|
|
574
|
-
options: MultiSelectOption[];
|
|
575
|
-
value?: MultiSelectOption[];
|
|
576
|
-
onChange?: (value: MultiSelectOption[]) => void;
|
|
688
|
+
style?: React_2.CSSProperties;
|
|
577
689
|
}
|
|
578
690
|
|
|
579
|
-
declare interface
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
691
|
+
export declare interface MenuProps<T extends object> extends Omit<MenuProps_2<T>, 'className' | 'style'> {
|
|
692
|
+
className?: ClassValue;
|
|
693
|
+
style?: React_2.CSSProperties;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
/** A `Separator` element, not an item variant. */
|
|
697
|
+
export declare const MenuSeparator: ({ className }: MenuSeparatorProps) => JSX_2.Element;
|
|
698
|
+
|
|
699
|
+
export declare interface MenuSeparatorProps {
|
|
700
|
+
className?: string;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
export { MenuTrigger }
|
|
704
|
+
|
|
705
|
+
export declare const Modal: ModalCompound;
|
|
706
|
+
|
|
707
|
+
export declare interface ModalBodyProps {
|
|
708
|
+
children?: React_2.ReactNode;
|
|
709
|
+
className?: ClassValue;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
/** `ForwardRefExoticComponent` rather than `FC`: the base forwards a ref to RAC's `Modal`. */
|
|
713
|
+
export declare type ModalCompound = React_2.ForwardRefExoticComponent<ModalProps & React_2.RefAttributes<HTMLDivElement>> & {
|
|
714
|
+
Header: React_2.FC<ModalHeaderProps>;
|
|
715
|
+
Body: React_2.FC<ModalBodyProps>;
|
|
716
|
+
ImagePanel: React_2.FC<ModalImagePanelProps>;
|
|
717
|
+
Footer: React_2.FC<ModalFooterProps>;
|
|
718
|
+
};
|
|
719
|
+
|
|
720
|
+
export declare type ModalFooterLayout = 'horizontal-fill' | 'horizontal' | 'vertical-fill' | 'right-aligned' | 'right-aligned-checkbox' | 'wizard-navigation' | 'single-cta';
|
|
721
|
+
|
|
722
|
+
export declare interface ModalFooterProps {
|
|
723
|
+
/** Default `horizontal-fill`, matching Figma's documented default. */
|
|
724
|
+
layout?: ModalFooterLayout;
|
|
725
|
+
/** Reddens the primary action (Confirm/Delete/Next) for irreversible operations. Default `false`. */
|
|
726
|
+
destructive?: boolean;
|
|
727
|
+
/** Disables every button in the footer — matches the single `busy` flag every current dashboard confirm dialog already uses for its Cancel+Confirm pair. Default `false`. */
|
|
728
|
+
isPending?: boolean;
|
|
729
|
+
/** Not used by `single-cta`. */
|
|
730
|
+
cancelLabel?: string;
|
|
731
|
+
onCancel?: () => void;
|
|
732
|
+
/** The primary action's label — "Next" for `wizard-navigation`, "Confirm"/"Delete" elsewhere. Every layout has one. */
|
|
733
|
+
confirmLabel: string;
|
|
734
|
+
onConfirm: () => void;
|
|
735
|
+
isConfirmDisabled?: boolean;
|
|
736
|
+
/** `wizard-navigation` only. Default `'Back'`. */
|
|
737
|
+
backLabel?: string;
|
|
738
|
+
/** `wizard-navigation` only. */
|
|
739
|
+
onBack?: () => void;
|
|
740
|
+
/** `right-aligned-checkbox` only — consumer-supplied, e.g. cekat-ui's own `Checkbox` alongside its own label markup (`Checkbox` itself has no built-in label). */
|
|
741
|
+
checkbox?: React_2.ReactNode;
|
|
742
|
+
className?: ClassValue;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
export declare interface ModalHeaderProps {
|
|
746
|
+
title: React_2.ReactNode;
|
|
747
|
+
subtitle?: React_2.ReactNode;
|
|
748
|
+
icon?: React_2.ReactNode;
|
|
749
|
+
className?: ClassValue;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
export declare interface ModalImagePanelProps {
|
|
753
|
+
children?: React_2.ReactNode;
|
|
754
|
+
className?: ClassValue;
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
export declare interface ModalProps extends Omit<ModalOverlayProps, 'className' | 'style' | 'children'> {
|
|
758
|
+
children?: DialogProps['children'];
|
|
759
|
+
/** Content-area width. Figma foundation: sm 500px · md 640px · lg 800px. Default `sm`. */
|
|
760
|
+
size?: ModalSize;
|
|
761
|
+
/**
|
|
762
|
+
* The standalone top-right dismiss button Figma's foundation `Modal Shell` renders on the
|
|
763
|
+
* card itself, regardless of whether a `Modal.Header` is present. Default `true`.
|
|
764
|
+
*/
|
|
765
|
+
showCloseButton?: boolean;
|
|
766
|
+
/**
|
|
767
|
+
* Optional left-side image area — pass a `Modal.ImagePanel`. Widens the card beyond `size`'s
|
|
768
|
+
* content-area width, matching Figma's `Show Image Panel` toggle (the three per-size
|
|
769
|
+
* `Image Placeholder` slots in the design file are a Figma-variant artifact of the same single
|
|
770
|
+
* slot, not three independent props — collapsed here into one).
|
|
771
|
+
*/
|
|
772
|
+
imagePanel?: React_2.ReactNode;
|
|
773
|
+
'aria-label'?: string;
|
|
774
|
+
'aria-labelledby'?: string;
|
|
775
|
+
/**
|
|
776
|
+
* Applied to the content area — the whole card when `imagePanel` isn't used, otherwise just
|
|
777
|
+
* the left column beside it. Overrides `size`'s default width.
|
|
778
|
+
*/
|
|
779
|
+
className?: ClassValue;
|
|
780
|
+
style?: React_2.CSSProperties;
|
|
583
781
|
}
|
|
584
782
|
|
|
783
|
+
export declare type ModalSize = 'sm' | 'md' | 'lg';
|
|
784
|
+
|
|
585
785
|
declare type NativeButtonProps = Omit<React_2.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'className' | 'style'>;
|
|
586
786
|
|
|
587
787
|
export declare function PhoneInput({ size, label, required, hint, error, disabled, placeholder, rightIcon, value, onChange, className, wrapperClassName, }: PhoneInputProps): JSX_2.Element;
|
|
@@ -601,6 +801,29 @@ declare interface PhoneInputProps {
|
|
|
601
801
|
wrapperClassName?: InputProps['wrapperClassName'];
|
|
602
802
|
}
|
|
603
803
|
|
|
804
|
+
/**
|
|
805
|
+
* Overlay foundation for the dropdown family (Menu, Select, ComboBox) and Tooltip. Wraps RAC's
|
|
806
|
+
* `Popover`, which already provides: portal to `document.body`,
|
|
807
|
+
* flip on the main axis and boundary-clamped shift on the cross axis when space runs out,
|
|
808
|
+
* `maxHeight` clamped to available viewport space, reposition on window resize and on trigger/
|
|
809
|
+
* overlay size change, Escape-to-close with focus restored to the trigger, and outside-press
|
|
810
|
+
* dismissal. This wrapper adds the two things RAC does not: reposition (not close) on ancestor
|
|
811
|
+
* scroll, and suppressing the ARIA role RAC would otherwise emit.
|
|
812
|
+
*/
|
|
813
|
+
export declare const Popover: React_2.ForwardRefExoticComponent<PopoverProps & React_2.RefAttributes<HTMLElement>>;
|
|
814
|
+
|
|
815
|
+
export declare interface PopoverProps extends Omit<PopoverProps_2, 'className' | 'style' | 'children'> {
|
|
816
|
+
children?: PopoverProps_2['children'];
|
|
817
|
+
/**
|
|
818
|
+
* Matches the panel's width to the trigger's width, via RAC's `--trigger-width` CSS
|
|
819
|
+
* var. Opt-in — most consumers (menus, comboboxes with long option labels) must not
|
|
820
|
+
* be clamped to trigger width. Default `false`.
|
|
821
|
+
*/
|
|
822
|
+
matchTriggerWidth?: boolean;
|
|
823
|
+
className?: ClassValue;
|
|
824
|
+
style?: React_2.CSSProperties;
|
|
825
|
+
}
|
|
826
|
+
|
|
604
827
|
export { PressEvent }
|
|
605
828
|
|
|
606
829
|
export declare const RadioGroup: ({ value, defaultValue, onValueChange, children, className, }: RadioGroupProps) => JSX_2.Element;
|
|
@@ -653,8 +876,63 @@ declare interface SaleAmountInputProps {
|
|
|
653
876
|
wrapperClassName?: InputProps['wrapperClassName'];
|
|
654
877
|
}
|
|
655
878
|
|
|
879
|
+
export declare const Select: <T extends object>(props: SelectProps<T> & {
|
|
880
|
+
ref?: React_2.Ref<HTMLDivElement>;
|
|
881
|
+
}) => React_2.ReactElement;
|
|
882
|
+
|
|
656
883
|
export { SelectionIndicator }
|
|
657
884
|
|
|
885
|
+
/**
|
|
886
|
+
* `ListBoxItem` with the selected-row treatment baked in — see `selectItemSelectedStyles` for
|
|
887
|
+
* why it's a placeholder. This lives on `Select`'s own item rather than on the shared `ListBox`
|
|
888
|
+
* because `Menu` doesn't have a Selected state to render at all. `content="selection"` reuses
|
|
889
|
+
* `ListBox`'s leading-checkmark rendering unchanged.
|
|
890
|
+
*/
|
|
891
|
+
export declare function SelectItem<T extends object>({ className, ...props }: ListBoxItemProps<T>): JSX_2.Element;
|
|
892
|
+
|
|
893
|
+
/**
|
|
894
|
+
* Single-value by construction — RAC's `Select` also supports `selectionMode: 'multiple'`,
|
|
895
|
+
* deliberately not exposed here. A multi-value trigger is a different interaction (chips, no
|
|
896
|
+
* auto-close) that belongs to its own component, not a prop on this one.
|
|
897
|
+
*/
|
|
898
|
+
export declare interface SelectProps<T extends object> extends Omit<SelectProps_2<T, 'single'>, 'className' | 'style' | 'children' | 'selectionMode'> {
|
|
899
|
+
children: SelectProps_2<T, 'single'>['children'];
|
|
900
|
+
className?: ClassValue;
|
|
901
|
+
style?: React_2.CSSProperties;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
export declare type SelectSize = 'xs' | 'sm' | 'md';
|
|
905
|
+
|
|
906
|
+
/**
|
|
907
|
+
* Wraps RAC's raw `Button`, not this library's own `Button` — a Select trigger has its own
|
|
908
|
+
* bordered-field chrome (matching `InputDropdown`'s size scale/tokens), not a button variant,
|
|
909
|
+
* and the extra `tone`/`variant`/`iconOnly` surface of the library `Button` doesn't apply here.
|
|
910
|
+
*/
|
|
911
|
+
export declare const SelectTrigger: React_2.ForwardRefExoticComponent<SelectTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
912
|
+
|
|
913
|
+
export declare interface SelectTriggerProps extends Omit<ButtonProps_2, 'className' | 'style' | 'children'> {
|
|
914
|
+
children: ButtonProps_2['children'];
|
|
915
|
+
size?: SelectSize;
|
|
916
|
+
/**
|
|
917
|
+
* Leading ornament slot — icon, `Avatar`, or a status dot all go through this one prop.
|
|
918
|
+
* Ornament is a slot, not a variant axis: three separate typed props would make "which
|
|
919
|
+
* ornament kind" a variant decision that isn't this component's to make — the consumer
|
|
920
|
+
* already has the icon/avatar/dot element.
|
|
921
|
+
*/
|
|
922
|
+
icon?: React_2.ReactNode;
|
|
923
|
+
className?: ClassValue;
|
|
924
|
+
style?: React_2.CSSProperties;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
export declare const SelectValue: <T>(props: SelectValueProps<T> & {
|
|
928
|
+
ref?: React_2.Ref<HTMLSpanElement>;
|
|
929
|
+
}) => React_2.ReactElement;
|
|
930
|
+
|
|
931
|
+
export declare interface SelectValueProps<T> extends Omit<SelectValueProps_2<T>, 'className' | 'style'> {
|
|
932
|
+
className?: ClassValue;
|
|
933
|
+
style?: React_2.CSSProperties;
|
|
934
|
+
}
|
|
935
|
+
|
|
658
936
|
/**
|
|
659
937
|
* Shared by `Column` and `Cell`. Freezes the element during horizontal scroll
|
|
660
938
|
* — `'left'` pins it to the left edge, `'right'` to the right. Requires an
|
|
@@ -979,6 +1257,25 @@ declare type ToggleSize = 'sm' | 'md'
|
|
|
979
1257
|
|
|
980
1258
|
declare type ToggleVariant = 'default' | 'success';
|
|
981
1259
|
|
|
1260
|
+
/**
|
|
1261
|
+
* Routes through `Popover` — standalone (no trigger context: `triggerRef`/`isOpen` driven
|
|
1262
|
+
* directly, same as `Popover`'s own standalone-usage support), with `isNonModal` so RAC skips
|
|
1263
|
+
* everything a tooltip must never do: `role="dialog"`, focus containment, a `DismissButton`,
|
|
1264
|
+
* stealing focus on open, and body-scroll locking (all gated on `!isNonModal` inside RAC's
|
|
1265
|
+
* `usePopover`/`PopoverInner` — confirmed against source, not just docs). `isNonModal` also
|
|
1266
|
+
* switches RAC's ancestor-scroll handling from Popover's own custom reposition-on-scroll to
|
|
1267
|
+
* RAC's own close-on-scroll — acceptable here since a tooltip is ephemeral and hover-driven;
|
|
1268
|
+
* closing instead of chasing the trigger across a scrolling container is reasonable, arguably
|
|
1269
|
+
* better than for a menu/select where closing loses navigation context.
|
|
1270
|
+
*
|
|
1271
|
+
* This replaces the previous hand-rolled `createPortal` + manual measurement (`getBoundingClientRect`
|
|
1272
|
+
* math per `side`) + `ResizeObserver` + scroll/resize listeners with RAC's own positioning:
|
|
1273
|
+
* portal-to-body, flip-on-both-axes (the old implementation had none — always rendered at the
|
|
1274
|
+
* exact requested `side` regardless of viewport edges), and `maxHeight` clamping, none of which
|
|
1275
|
+
* existed before. `OverlayArrow` needs no wiring on `Popover`'s side — RAC's `Popover` always
|
|
1276
|
+
* provides `OverlayArrowContext` to its children regardless of whether anything consumes it, so
|
|
1277
|
+
* it "just works" as a child here with zero changes to `Popover.tsx`.
|
|
1278
|
+
*/
|
|
982
1279
|
export declare const Tooltip: {
|
|
983
1280
|
({ content, supportingText, side, open, defaultOpen, disabled, delay, className, children, }: TooltipProps): JSX_2.Element;
|
|
984
1281
|
displayName: string;
|