@tollerud/ui 1.0.8 → 1.1.0
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/README.md +4 -5
- package/dist/index.cjs +1181 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +251 -1
- package/dist/index.d.ts +251 -1
- package/dist/index.js +1162 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -707,4 +707,254 @@ interface BentoDashboardProps {
|
|
|
707
707
|
}
|
|
708
708
|
declare function BentoDashboard({ title, hosts, metrics, services, incidents, className, }: BentoDashboardProps): react.JSX.Element;
|
|
709
709
|
|
|
710
|
-
|
|
710
|
+
interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
711
|
+
/** Layout direction */
|
|
712
|
+
orientation?: 'horizontal' | 'vertical';
|
|
713
|
+
/** Optional label rendered inline (horizontal orientation only) */
|
|
714
|
+
label?: React.ReactNode;
|
|
715
|
+
}
|
|
716
|
+
declare const Divider: react.ForwardRefExoticComponent<DividerProps & react.RefAttributes<HTMLDivElement>>;
|
|
717
|
+
|
|
718
|
+
declare const pillVariants: {
|
|
719
|
+
readonly outline: "bg-transparent border border-tollerud-border text-tollerud-text-secondary";
|
|
720
|
+
readonly solid: "bg-tollerud-surface-raised text-tollerud-text-primary";
|
|
721
|
+
readonly accent: "bg-tollerud-yellow/15 border border-tollerud-yellow/30 text-tollerud-yellow";
|
|
722
|
+
};
|
|
723
|
+
interface PillProps extends HTMLAttributes<HTMLSpanElement> {
|
|
724
|
+
variant?: keyof typeof pillVariants;
|
|
725
|
+
}
|
|
726
|
+
declare const Pill: react.ForwardRefExoticComponent<PillProps & react.RefAttributes<HTMLSpanElement>>;
|
|
727
|
+
|
|
728
|
+
declare const avatarSizes: {
|
|
729
|
+
readonly sm: "h-6 w-6 text-[10px]";
|
|
730
|
+
readonly md: "h-8 w-8 text-xs";
|
|
731
|
+
readonly lg: "h-11 w-11 text-sm";
|
|
732
|
+
};
|
|
733
|
+
interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
|
|
734
|
+
/** Image source */
|
|
735
|
+
src?: string;
|
|
736
|
+
/** Accessible name / used to derive initials fallback */
|
|
737
|
+
name?: string;
|
|
738
|
+
/** Explicit fallback content (overrides derived initials) */
|
|
739
|
+
fallback?: React.ReactNode;
|
|
740
|
+
size?: keyof typeof avatarSizes;
|
|
741
|
+
}
|
|
742
|
+
declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
|
|
743
|
+
interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
744
|
+
/** Maximum avatars to render before collapsing into a "+N" overflow indicator */
|
|
745
|
+
max?: number;
|
|
746
|
+
size?: keyof typeof avatarSizes;
|
|
747
|
+
children: React.ReactNode;
|
|
748
|
+
}
|
|
749
|
+
declare const AvatarGroup: react.ForwardRefExoticComponent<AvatarGroupProps & react.RefAttributes<HTMLDivElement>>;
|
|
750
|
+
|
|
751
|
+
interface BreadcrumbItem {
|
|
752
|
+
label: React.ReactNode;
|
|
753
|
+
href?: string;
|
|
754
|
+
onClick?: () => void;
|
|
755
|
+
}
|
|
756
|
+
interface BreadcrumbProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
757
|
+
items: BreadcrumbItem[];
|
|
758
|
+
/** Custom separator (defaults to a chevron) */
|
|
759
|
+
separator?: React.ReactNode;
|
|
760
|
+
}
|
|
761
|
+
declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
|
|
762
|
+
|
|
763
|
+
interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
|
|
764
|
+
/** Current 1-indexed page */
|
|
765
|
+
page: number;
|
|
766
|
+
/** Total number of pages */
|
|
767
|
+
pageCount: number;
|
|
768
|
+
/** Called with the next page number when the user navigates */
|
|
769
|
+
onChange: (page: number) => void;
|
|
770
|
+
/** Number of sibling pages to show on either side of the current page */
|
|
771
|
+
siblingCount?: number;
|
|
772
|
+
}
|
|
773
|
+
declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLElement>>;
|
|
774
|
+
|
|
775
|
+
interface SegmentedOption {
|
|
776
|
+
value: string;
|
|
777
|
+
label: React.ReactNode;
|
|
778
|
+
disabled?: boolean;
|
|
779
|
+
}
|
|
780
|
+
interface SegmentedProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
781
|
+
options: SegmentedOption[];
|
|
782
|
+
value: string;
|
|
783
|
+
onChange: (value: string) => void;
|
|
784
|
+
size?: 'sm' | 'md';
|
|
785
|
+
}
|
|
786
|
+
declare const Segmented: react.ForwardRefExoticComponent<SegmentedProps & react.RefAttributes<HTMLDivElement>>;
|
|
787
|
+
|
|
788
|
+
interface StepperStep {
|
|
789
|
+
label: React.ReactNode;
|
|
790
|
+
description?: React.ReactNode;
|
|
791
|
+
}
|
|
792
|
+
interface StepperProps extends HTMLAttributes<HTMLOListElement> {
|
|
793
|
+
steps: StepperStep[];
|
|
794
|
+
/** 0-indexed current step */
|
|
795
|
+
current: number;
|
|
796
|
+
orientation?: 'horizontal' | 'vertical';
|
|
797
|
+
}
|
|
798
|
+
declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefAttributes<HTMLOListElement>>;
|
|
799
|
+
|
|
800
|
+
interface PanelProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
801
|
+
title?: React.ReactNode;
|
|
802
|
+
description?: React.ReactNode;
|
|
803
|
+
/** Content rendered on the right side of the header (actions, badges, etc.) */
|
|
804
|
+
actions?: React.ReactNode;
|
|
805
|
+
}
|
|
806
|
+
declare const Panel: react.ForwardRefExoticComponent<PanelProps & react.RefAttributes<HTMLDivElement>>;
|
|
807
|
+
|
|
808
|
+
declare const meterTones: {
|
|
809
|
+
readonly default: "bg-tollerud-yellow";
|
|
810
|
+
readonly success: "bg-tollerud-success";
|
|
811
|
+
readonly warning: "bg-tollerud-warning";
|
|
812
|
+
readonly error: "bg-tollerud-error";
|
|
813
|
+
};
|
|
814
|
+
interface MeterProps extends HTMLAttributes<HTMLDivElement> {
|
|
815
|
+
/** Current value */
|
|
816
|
+
value: number;
|
|
817
|
+
/** Maximum value (defaults to 100) */
|
|
818
|
+
max?: number;
|
|
819
|
+
/** Optional label rendered above the bar */
|
|
820
|
+
label?: React.ReactNode;
|
|
821
|
+
/** Show the numeric value/percentage to the right of the label */
|
|
822
|
+
showValue?: boolean;
|
|
823
|
+
tone?: keyof typeof meterTones;
|
|
824
|
+
}
|
|
825
|
+
declare const Meter: react.ForwardRefExoticComponent<MeterProps & react.RefAttributes<HTMLDivElement>>;
|
|
826
|
+
|
|
827
|
+
interface FormRowProps extends HTMLAttributes<HTMLDivElement> {
|
|
828
|
+
label?: React.ReactNode;
|
|
829
|
+
/** Hint text rendered below the label */
|
|
830
|
+
description?: React.ReactNode;
|
|
831
|
+
error?: React.ReactNode;
|
|
832
|
+
required?: boolean;
|
|
833
|
+
/** Forwarded to the label's `htmlFor` — should match the control's `id` */
|
|
834
|
+
htmlFor?: string;
|
|
835
|
+
}
|
|
836
|
+
declare const FormRow: react.ForwardRefExoticComponent<FormRowProps & react.RefAttributes<HTMLDivElement>>;
|
|
837
|
+
|
|
838
|
+
interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
839
|
+
name: React.ReactNode;
|
|
840
|
+
price: React.ReactNode;
|
|
841
|
+
/** Rendered after the price, e.g. "/month" */
|
|
842
|
+
period?: React.ReactNode;
|
|
843
|
+
description?: React.ReactNode;
|
|
844
|
+
features?: React.ReactNode[];
|
|
845
|
+
ctaLabel?: React.ReactNode;
|
|
846
|
+
onCtaClick?: () => void;
|
|
847
|
+
/** Visually highlights this plan as the recommended/featured option */
|
|
848
|
+
featured?: boolean;
|
|
849
|
+
/** Small label shown above the price when featured, e.g. "Most popular" */
|
|
850
|
+
badge?: React.ReactNode;
|
|
851
|
+
}
|
|
852
|
+
declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
853
|
+
|
|
854
|
+
interface AccordionProps extends HTMLAttributes<HTMLDivElement> {
|
|
855
|
+
/** Allow multiple items to be open at once */
|
|
856
|
+
multiple?: boolean;
|
|
857
|
+
/** Initially open item value(s) */
|
|
858
|
+
defaultOpen?: string | string[];
|
|
859
|
+
}
|
|
860
|
+
declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<HTMLDivElement>>;
|
|
861
|
+
interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
862
|
+
value: string;
|
|
863
|
+
}
|
|
864
|
+
declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<HTMLDivElement>>;
|
|
865
|
+
interface AccordionTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
866
|
+
}
|
|
867
|
+
declare const AccordionTrigger: react.ForwardRefExoticComponent<AccordionTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
868
|
+
interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
869
|
+
}
|
|
870
|
+
declare const AccordionContent: react.ForwardRefExoticComponent<AccordionContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
871
|
+
|
|
872
|
+
interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange'> {
|
|
873
|
+
label?: string;
|
|
874
|
+
/** Show the current numeric value next to the label */
|
|
875
|
+
showValue?: boolean;
|
|
876
|
+
onChange?: (value: number) => void;
|
|
877
|
+
}
|
|
878
|
+
declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLInputElement>>;
|
|
879
|
+
|
|
880
|
+
interface PasswordInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
881
|
+
label?: string;
|
|
882
|
+
error?: string;
|
|
883
|
+
}
|
|
884
|
+
declare const PasswordInput: react.ForwardRefExoticComponent<PasswordInputProps & react.RefAttributes<HTMLInputElement>>;
|
|
885
|
+
|
|
886
|
+
interface ComboboxOption {
|
|
887
|
+
value: string;
|
|
888
|
+
label: string;
|
|
889
|
+
disabled?: boolean;
|
|
890
|
+
}
|
|
891
|
+
interface ComboboxProps {
|
|
892
|
+
options: ComboboxOption[];
|
|
893
|
+
value?: string;
|
|
894
|
+
defaultValue?: string;
|
|
895
|
+
onChange?: (value: string) => void;
|
|
896
|
+
placeholder?: string;
|
|
897
|
+
label?: string;
|
|
898
|
+
error?: string;
|
|
899
|
+
/** Filter predicate, defaults to a case-insensitive substring match on the label */
|
|
900
|
+
filter?: (option: ComboboxOption, query: string) => boolean;
|
|
901
|
+
className?: string;
|
|
902
|
+
disabled?: boolean;
|
|
903
|
+
}
|
|
904
|
+
declare function Combobox({ options, value: valueProp, defaultValue, onChange, placeholder, label, error, filter, className, disabled, }: ComboboxProps): react.JSX.Element;
|
|
905
|
+
declare namespace Combobox {
|
|
906
|
+
var displayName: string;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
interface DatePickerProps {
|
|
910
|
+
value?: Date | null;
|
|
911
|
+
defaultValue?: Date | null;
|
|
912
|
+
onChange?: (date: Date | null) => void;
|
|
913
|
+
label?: string;
|
|
914
|
+
error?: string;
|
|
915
|
+
placeholder?: string;
|
|
916
|
+
/** Format a date for display in the input (defaults to locale short date) */
|
|
917
|
+
formatDate?: (date: Date) => string;
|
|
918
|
+
className?: string;
|
|
919
|
+
disabled?: boolean;
|
|
920
|
+
}
|
|
921
|
+
declare function DatePicker({ value: valueProp, defaultValue, onChange, label, error, placeholder, formatDate, className, disabled, }: DatePickerProps): react.JSX.Element;
|
|
922
|
+
declare namespace DatePicker {
|
|
923
|
+
var displayName: string;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
interface FileUploadProps {
|
|
927
|
+
label?: string;
|
|
928
|
+
description?: React.ReactNode;
|
|
929
|
+
error?: string;
|
|
930
|
+
/** Forwarded to the underlying `<input accept>` */
|
|
931
|
+
accept?: string;
|
|
932
|
+
multiple?: boolean;
|
|
933
|
+
/** Called whenever the selected file list changes */
|
|
934
|
+
onFilesChange?: (files: File[]) => void;
|
|
935
|
+
className?: string;
|
|
936
|
+
disabled?: boolean;
|
|
937
|
+
}
|
|
938
|
+
declare function FileUpload({ label, description, error, accept, multiple, onFilesChange, className, disabled, }: FileUploadProps): react.JSX.Element;
|
|
939
|
+
declare namespace FileUpload {
|
|
940
|
+
var displayName: string;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
interface TagInputProps {
|
|
944
|
+
value?: string[];
|
|
945
|
+
defaultValue?: string[];
|
|
946
|
+
onChange?: (tags: string[]) => void;
|
|
947
|
+
label?: string;
|
|
948
|
+
error?: string;
|
|
949
|
+
placeholder?: string;
|
|
950
|
+
/** Maximum number of tags allowed */
|
|
951
|
+
max?: number;
|
|
952
|
+
className?: string;
|
|
953
|
+
disabled?: boolean;
|
|
954
|
+
}
|
|
955
|
+
declare function TagInput({ value: valueProp, defaultValue, onChange, label, error, placeholder, max, className, disabled, }: TagInputProps): react.JSX.Element;
|
|
956
|
+
declare namespace TagInput {
|
|
957
|
+
var displayName: string;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, ActionDiff, type ActionDiffProps, type ActionItem, ActionRow, type ActionRowProps, Alert, AlertInbox, type AlertInboxProps, type AlertProps, ApprovalCard, type ApprovalCardProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BackupStatusPanel, type BackupStatusPanelProps, Badge, type BadgeProps, BentoDashboard, type BentoDashboardProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, type ButtonVariantProps, Card, type CardProps, Checkbox, type CheckboxProps, CodeBlock, type CodeBlockProps, type Column, Combobox, type ComboboxOption, type ComboboxProps, type CommandGroup, CommandMenu, type CommandMenuProps, Container, type ContainerProps, DataTable, type DataTableProps, DatePicker, type DatePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, type DividerProps, DockerStackCard, type DockerStackCardProps, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyIcon, EmptyTitle, FileUpload, type FileUploadProps, Footer, type FooterLabels, type FooterProps, FormRow, type FormRowProps, GlowCard, type GlowCardProps, HostCard, type HostCardProps, IncidentCard, type IncidentCardProps, type IncidentSeverity, Input, type InputProps, Kbd, type KbdProps, LogViewer, type LogViewerProps, Meter, type MeterProps, NoirGlowBackground, type NoirGlowBackgroundProps, Pagination, type PaginationProps, Panel, type PanelProps, PasswordInput, type PasswordInputProps, Pill, type PillProps, PricingCard, type PricingCardProps, Progress, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RollbackPlan, type RollbackPlanProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectProps, ServiceHealthCard, type ServiceHealthCardProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, type SliderProps, StatCard, type StatCardProps, type Status, StatusDot, type StatusDotProps, Stepper, type StepperProps, type StepperStep, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, type TextareaProps, Timeline, type TimelineItemData, type TimelineProps, Toaster, type TollerudToasterProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buttonVariants, cn };
|
package/dist/index.d.ts
CHANGED
|
@@ -707,4 +707,254 @@ interface BentoDashboardProps {
|
|
|
707
707
|
}
|
|
708
708
|
declare function BentoDashboard({ title, hosts, metrics, services, incidents, className, }: BentoDashboardProps): react.JSX.Element;
|
|
709
709
|
|
|
710
|
-
|
|
710
|
+
interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
711
|
+
/** Layout direction */
|
|
712
|
+
orientation?: 'horizontal' | 'vertical';
|
|
713
|
+
/** Optional label rendered inline (horizontal orientation only) */
|
|
714
|
+
label?: React.ReactNode;
|
|
715
|
+
}
|
|
716
|
+
declare const Divider: react.ForwardRefExoticComponent<DividerProps & react.RefAttributes<HTMLDivElement>>;
|
|
717
|
+
|
|
718
|
+
declare const pillVariants: {
|
|
719
|
+
readonly outline: "bg-transparent border border-tollerud-border text-tollerud-text-secondary";
|
|
720
|
+
readonly solid: "bg-tollerud-surface-raised text-tollerud-text-primary";
|
|
721
|
+
readonly accent: "bg-tollerud-yellow/15 border border-tollerud-yellow/30 text-tollerud-yellow";
|
|
722
|
+
};
|
|
723
|
+
interface PillProps extends HTMLAttributes<HTMLSpanElement> {
|
|
724
|
+
variant?: keyof typeof pillVariants;
|
|
725
|
+
}
|
|
726
|
+
declare const Pill: react.ForwardRefExoticComponent<PillProps & react.RefAttributes<HTMLSpanElement>>;
|
|
727
|
+
|
|
728
|
+
declare const avatarSizes: {
|
|
729
|
+
readonly sm: "h-6 w-6 text-[10px]";
|
|
730
|
+
readonly md: "h-8 w-8 text-xs";
|
|
731
|
+
readonly lg: "h-11 w-11 text-sm";
|
|
732
|
+
};
|
|
733
|
+
interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
|
|
734
|
+
/** Image source */
|
|
735
|
+
src?: string;
|
|
736
|
+
/** Accessible name / used to derive initials fallback */
|
|
737
|
+
name?: string;
|
|
738
|
+
/** Explicit fallback content (overrides derived initials) */
|
|
739
|
+
fallback?: React.ReactNode;
|
|
740
|
+
size?: keyof typeof avatarSizes;
|
|
741
|
+
}
|
|
742
|
+
declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
|
|
743
|
+
interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
744
|
+
/** Maximum avatars to render before collapsing into a "+N" overflow indicator */
|
|
745
|
+
max?: number;
|
|
746
|
+
size?: keyof typeof avatarSizes;
|
|
747
|
+
children: React.ReactNode;
|
|
748
|
+
}
|
|
749
|
+
declare const AvatarGroup: react.ForwardRefExoticComponent<AvatarGroupProps & react.RefAttributes<HTMLDivElement>>;
|
|
750
|
+
|
|
751
|
+
interface BreadcrumbItem {
|
|
752
|
+
label: React.ReactNode;
|
|
753
|
+
href?: string;
|
|
754
|
+
onClick?: () => void;
|
|
755
|
+
}
|
|
756
|
+
interface BreadcrumbProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
757
|
+
items: BreadcrumbItem[];
|
|
758
|
+
/** Custom separator (defaults to a chevron) */
|
|
759
|
+
separator?: React.ReactNode;
|
|
760
|
+
}
|
|
761
|
+
declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
|
|
762
|
+
|
|
763
|
+
interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
|
|
764
|
+
/** Current 1-indexed page */
|
|
765
|
+
page: number;
|
|
766
|
+
/** Total number of pages */
|
|
767
|
+
pageCount: number;
|
|
768
|
+
/** Called with the next page number when the user navigates */
|
|
769
|
+
onChange: (page: number) => void;
|
|
770
|
+
/** Number of sibling pages to show on either side of the current page */
|
|
771
|
+
siblingCount?: number;
|
|
772
|
+
}
|
|
773
|
+
declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLElement>>;
|
|
774
|
+
|
|
775
|
+
interface SegmentedOption {
|
|
776
|
+
value: string;
|
|
777
|
+
label: React.ReactNode;
|
|
778
|
+
disabled?: boolean;
|
|
779
|
+
}
|
|
780
|
+
interface SegmentedProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
781
|
+
options: SegmentedOption[];
|
|
782
|
+
value: string;
|
|
783
|
+
onChange: (value: string) => void;
|
|
784
|
+
size?: 'sm' | 'md';
|
|
785
|
+
}
|
|
786
|
+
declare const Segmented: react.ForwardRefExoticComponent<SegmentedProps & react.RefAttributes<HTMLDivElement>>;
|
|
787
|
+
|
|
788
|
+
interface StepperStep {
|
|
789
|
+
label: React.ReactNode;
|
|
790
|
+
description?: React.ReactNode;
|
|
791
|
+
}
|
|
792
|
+
interface StepperProps extends HTMLAttributes<HTMLOListElement> {
|
|
793
|
+
steps: StepperStep[];
|
|
794
|
+
/** 0-indexed current step */
|
|
795
|
+
current: number;
|
|
796
|
+
orientation?: 'horizontal' | 'vertical';
|
|
797
|
+
}
|
|
798
|
+
declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefAttributes<HTMLOListElement>>;
|
|
799
|
+
|
|
800
|
+
interface PanelProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
801
|
+
title?: React.ReactNode;
|
|
802
|
+
description?: React.ReactNode;
|
|
803
|
+
/** Content rendered on the right side of the header (actions, badges, etc.) */
|
|
804
|
+
actions?: React.ReactNode;
|
|
805
|
+
}
|
|
806
|
+
declare const Panel: react.ForwardRefExoticComponent<PanelProps & react.RefAttributes<HTMLDivElement>>;
|
|
807
|
+
|
|
808
|
+
declare const meterTones: {
|
|
809
|
+
readonly default: "bg-tollerud-yellow";
|
|
810
|
+
readonly success: "bg-tollerud-success";
|
|
811
|
+
readonly warning: "bg-tollerud-warning";
|
|
812
|
+
readonly error: "bg-tollerud-error";
|
|
813
|
+
};
|
|
814
|
+
interface MeterProps extends HTMLAttributes<HTMLDivElement> {
|
|
815
|
+
/** Current value */
|
|
816
|
+
value: number;
|
|
817
|
+
/** Maximum value (defaults to 100) */
|
|
818
|
+
max?: number;
|
|
819
|
+
/** Optional label rendered above the bar */
|
|
820
|
+
label?: React.ReactNode;
|
|
821
|
+
/** Show the numeric value/percentage to the right of the label */
|
|
822
|
+
showValue?: boolean;
|
|
823
|
+
tone?: keyof typeof meterTones;
|
|
824
|
+
}
|
|
825
|
+
declare const Meter: react.ForwardRefExoticComponent<MeterProps & react.RefAttributes<HTMLDivElement>>;
|
|
826
|
+
|
|
827
|
+
interface FormRowProps extends HTMLAttributes<HTMLDivElement> {
|
|
828
|
+
label?: React.ReactNode;
|
|
829
|
+
/** Hint text rendered below the label */
|
|
830
|
+
description?: React.ReactNode;
|
|
831
|
+
error?: React.ReactNode;
|
|
832
|
+
required?: boolean;
|
|
833
|
+
/** Forwarded to the label's `htmlFor` — should match the control's `id` */
|
|
834
|
+
htmlFor?: string;
|
|
835
|
+
}
|
|
836
|
+
declare const FormRow: react.ForwardRefExoticComponent<FormRowProps & react.RefAttributes<HTMLDivElement>>;
|
|
837
|
+
|
|
838
|
+
interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
839
|
+
name: React.ReactNode;
|
|
840
|
+
price: React.ReactNode;
|
|
841
|
+
/** Rendered after the price, e.g. "/month" */
|
|
842
|
+
period?: React.ReactNode;
|
|
843
|
+
description?: React.ReactNode;
|
|
844
|
+
features?: React.ReactNode[];
|
|
845
|
+
ctaLabel?: React.ReactNode;
|
|
846
|
+
onCtaClick?: () => void;
|
|
847
|
+
/** Visually highlights this plan as the recommended/featured option */
|
|
848
|
+
featured?: boolean;
|
|
849
|
+
/** Small label shown above the price when featured, e.g. "Most popular" */
|
|
850
|
+
badge?: React.ReactNode;
|
|
851
|
+
}
|
|
852
|
+
declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
853
|
+
|
|
854
|
+
interface AccordionProps extends HTMLAttributes<HTMLDivElement> {
|
|
855
|
+
/** Allow multiple items to be open at once */
|
|
856
|
+
multiple?: boolean;
|
|
857
|
+
/** Initially open item value(s) */
|
|
858
|
+
defaultOpen?: string | string[];
|
|
859
|
+
}
|
|
860
|
+
declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<HTMLDivElement>>;
|
|
861
|
+
interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
862
|
+
value: string;
|
|
863
|
+
}
|
|
864
|
+
declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<HTMLDivElement>>;
|
|
865
|
+
interface AccordionTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
866
|
+
}
|
|
867
|
+
declare const AccordionTrigger: react.ForwardRefExoticComponent<AccordionTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
868
|
+
interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
869
|
+
}
|
|
870
|
+
declare const AccordionContent: react.ForwardRefExoticComponent<AccordionContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
871
|
+
|
|
872
|
+
interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange'> {
|
|
873
|
+
label?: string;
|
|
874
|
+
/** Show the current numeric value next to the label */
|
|
875
|
+
showValue?: boolean;
|
|
876
|
+
onChange?: (value: number) => void;
|
|
877
|
+
}
|
|
878
|
+
declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLInputElement>>;
|
|
879
|
+
|
|
880
|
+
interface PasswordInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
881
|
+
label?: string;
|
|
882
|
+
error?: string;
|
|
883
|
+
}
|
|
884
|
+
declare const PasswordInput: react.ForwardRefExoticComponent<PasswordInputProps & react.RefAttributes<HTMLInputElement>>;
|
|
885
|
+
|
|
886
|
+
interface ComboboxOption {
|
|
887
|
+
value: string;
|
|
888
|
+
label: string;
|
|
889
|
+
disabled?: boolean;
|
|
890
|
+
}
|
|
891
|
+
interface ComboboxProps {
|
|
892
|
+
options: ComboboxOption[];
|
|
893
|
+
value?: string;
|
|
894
|
+
defaultValue?: string;
|
|
895
|
+
onChange?: (value: string) => void;
|
|
896
|
+
placeholder?: string;
|
|
897
|
+
label?: string;
|
|
898
|
+
error?: string;
|
|
899
|
+
/** Filter predicate, defaults to a case-insensitive substring match on the label */
|
|
900
|
+
filter?: (option: ComboboxOption, query: string) => boolean;
|
|
901
|
+
className?: string;
|
|
902
|
+
disabled?: boolean;
|
|
903
|
+
}
|
|
904
|
+
declare function Combobox({ options, value: valueProp, defaultValue, onChange, placeholder, label, error, filter, className, disabled, }: ComboboxProps): react.JSX.Element;
|
|
905
|
+
declare namespace Combobox {
|
|
906
|
+
var displayName: string;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
interface DatePickerProps {
|
|
910
|
+
value?: Date | null;
|
|
911
|
+
defaultValue?: Date | null;
|
|
912
|
+
onChange?: (date: Date | null) => void;
|
|
913
|
+
label?: string;
|
|
914
|
+
error?: string;
|
|
915
|
+
placeholder?: string;
|
|
916
|
+
/** Format a date for display in the input (defaults to locale short date) */
|
|
917
|
+
formatDate?: (date: Date) => string;
|
|
918
|
+
className?: string;
|
|
919
|
+
disabled?: boolean;
|
|
920
|
+
}
|
|
921
|
+
declare function DatePicker({ value: valueProp, defaultValue, onChange, label, error, placeholder, formatDate, className, disabled, }: DatePickerProps): react.JSX.Element;
|
|
922
|
+
declare namespace DatePicker {
|
|
923
|
+
var displayName: string;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
interface FileUploadProps {
|
|
927
|
+
label?: string;
|
|
928
|
+
description?: React.ReactNode;
|
|
929
|
+
error?: string;
|
|
930
|
+
/** Forwarded to the underlying `<input accept>` */
|
|
931
|
+
accept?: string;
|
|
932
|
+
multiple?: boolean;
|
|
933
|
+
/** Called whenever the selected file list changes */
|
|
934
|
+
onFilesChange?: (files: File[]) => void;
|
|
935
|
+
className?: string;
|
|
936
|
+
disabled?: boolean;
|
|
937
|
+
}
|
|
938
|
+
declare function FileUpload({ label, description, error, accept, multiple, onFilesChange, className, disabled, }: FileUploadProps): react.JSX.Element;
|
|
939
|
+
declare namespace FileUpload {
|
|
940
|
+
var displayName: string;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
interface TagInputProps {
|
|
944
|
+
value?: string[];
|
|
945
|
+
defaultValue?: string[];
|
|
946
|
+
onChange?: (tags: string[]) => void;
|
|
947
|
+
label?: string;
|
|
948
|
+
error?: string;
|
|
949
|
+
placeholder?: string;
|
|
950
|
+
/** Maximum number of tags allowed */
|
|
951
|
+
max?: number;
|
|
952
|
+
className?: string;
|
|
953
|
+
disabled?: boolean;
|
|
954
|
+
}
|
|
955
|
+
declare function TagInput({ value: valueProp, defaultValue, onChange, label, error, placeholder, max, className, disabled, }: TagInputProps): react.JSX.Element;
|
|
956
|
+
declare namespace TagInput {
|
|
957
|
+
var displayName: string;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, ActionDiff, type ActionDiffProps, type ActionItem, ActionRow, type ActionRowProps, Alert, AlertInbox, type AlertInboxProps, type AlertProps, ApprovalCard, type ApprovalCardProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BackupStatusPanel, type BackupStatusPanelProps, Badge, type BadgeProps, BentoDashboard, type BentoDashboardProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, type ButtonVariantProps, Card, type CardProps, Checkbox, type CheckboxProps, CodeBlock, type CodeBlockProps, type Column, Combobox, type ComboboxOption, type ComboboxProps, type CommandGroup, CommandMenu, type CommandMenuProps, Container, type ContainerProps, DataTable, type DataTableProps, DatePicker, type DatePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, type DividerProps, DockerStackCard, type DockerStackCardProps, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyIcon, EmptyTitle, FileUpload, type FileUploadProps, Footer, type FooterLabels, type FooterProps, FormRow, type FormRowProps, GlowCard, type GlowCardProps, HostCard, type HostCardProps, IncidentCard, type IncidentCardProps, type IncidentSeverity, Input, type InputProps, Kbd, type KbdProps, LogViewer, type LogViewerProps, Meter, type MeterProps, NoirGlowBackground, type NoirGlowBackgroundProps, Pagination, type PaginationProps, Panel, type PanelProps, PasswordInput, type PasswordInputProps, Pill, type PillProps, PricingCard, type PricingCardProps, Progress, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RollbackPlan, type RollbackPlanProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectProps, ServiceHealthCard, type ServiceHealthCardProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger, Skeleton, Slider, type SliderProps, StatCard, type StatCardProps, type Status, StatusDot, type StatusDotProps, Stepper, type StepperProps, type StepperStep, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, type TextareaProps, Timeline, type TimelineItemData, type TimelineProps, Toaster, type TollerudToasterProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buttonVariants, cn };
|