Skip to content

Instantly share code, notes, and snippets.

@awhiteside1
Created June 3, 2023 07:53
Show Gist options
  • Save awhiteside1/8a8261b5033417983b93eefbf2619cc7 to your computer and use it in GitHub Desktop.
Save awhiteside1/8a8261b5033417983b93eefbf2619cc7 to your computer and use it in GitHub Desktop.
export { default as Accordion, AccordionProps } from "./components/Accordion";
export { default as Actionable, ActionableProps, ActionableRef } from "./components/Actionable";
export { default as ActionBar, ActionBarProps } from "./components/ActionBar";
export { default as Alert, AlertProps } from "./components/Alert";
export { default as Avatar, AvatarProps } from "./components/Avatar";
export { default as Backdrop, BackdropProps } from "./components/Backdrop";
export { default as Badge, BadgeProps } from "./components/Badge";
export { default as Button, ButtonProps, ButtonAlignerProps } from "./components/Button";
export { default as Breadcrumbs, BreadcrumbsProps } from "./components/Breadcrumbs";
export { default as Card, CardProps } from "./components/Card";
export { default as Carousel, CarouselProps, CarouselInstanceRef } from "./components/Carousel";
export { default as Checkbox, CheckboxProps } from "./components/Checkbox";
export { default as CheckboxGroup, CheckboxGroupProps } from "./components/CheckboxGroup";
export { default as Container, ContainerProps } from "./components/Container";
export { default as Dismissible, DismissibleProps } from "./components/Dismissible";
export { default as Divider, DividerProps } from "./components/Divider";
export { default as DropdownMenu, DropdownMenuProps } from "./components/DropdownMenu";
export { default as FormControl, FormControlProps } from "./components/FormControl";
export { default as Hidden, HiddenProps } from "./components/Hidden";
export { default as HiddenVisually, HiddenVisuallyProps } from "./components/HiddenVisually";
export { default as Icon, IconProps } from "./components/Icon";
export { default as Image, ImageProps } from "./components/Image";
export { default as Link, LinkProps } from "./components/Link";
export { default as Loader, LoaderProps } from "./components/Loader";
export { default as MenuItem, MenuItemProps } from "./components/MenuItem";
export { default as Modal, ModalProps } from "./components/Modal";
export { default as Overlay, OverlayProps } from "./components/Overlay";
export { default as Popover, PopoverProps } from "./components/Popover";
export { default as Progress, ProgressProps } from "./components/Progress";
export { default as Radio, RadioProps } from "./components/Radio";
export { default as RadioGroup, RadioGroupProps } from "./components/RadioGroup";
export { default as Reshaped, ReshapedProps } from "./components/Reshaped";
export { default as Select, SelectProps } from "./components/Select";
export { default as Skeleton, SkeletonProps } from "./components/Skeleton";
export { default as Switch, SwitchProps } from "./components/Switch";
export { default as Tabs, TabsProps } from "./components/Tabs";
export { default as Text, TextProps } from "./components/Text";
export { default as TextArea, TextAreaProps } from "./components/TextArea";
export { default as TextField, TextFieldProps } from "./components/TextField";
export { default as Timeline, TimelineProps, TimelineItemProps } from "./components/Timeline";
export { useToast, ToastProps } from "./components/Toast";
export { default as Tooltip, TooltipProps } from "./components/Tooltip";
export { default as View, ViewProps, ViewItemProps } from "./components/View";
export { useFormControl } from "./components/FormControl";
export { default as ThemeProvider, useTheme, ThemeProviderProps } from "./components/Theme";
export { default as useScrollLock } from "./hooks/useScrollLock";
export { default as useToggle } from "./hooks/useToggle";
export { default as useRTL } from "./hooks/useRTL";
export { default as useElementId } from "./hooks/useElementId";
export { default as useIsomorphicLayoutEffect } from "./hooks/useIsomorphicLayoutEffect";
export { default as useHotkeys } from "./hooks/useHotkeys";
export { default as useResponsiveClientValue } from "./hooks/useResponsiveClientValue";
export { default as Placeholder } from "./utilities/storybook/Placeholder";
export { ReshapedConfig } from "./types/config";
/** Deprecated */
export { default as AspectRatio, AspectRatioProps } from "./components/_deprecated/AspectRatio";
export { default as Frame, FrameProps } from "./components/_deprecated/Frame";
export { default as Stack, StackProps, StackItemProps } from "./components/_deprecated/Stack";
export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
padding?: G.Responsive<number>;
bleed?: G.Responsive<number>;
selected?: boolean;
elevated?: boolean;
children?: React.ReactNode;
onClick?: ActionableProps["onClick"];
href?: string;
as?: TagName;
className?: G.ClassName;
attributes?: G.Attributes<TagName, Props> & ActionableProps["attributes"];
};
import React from "react";
import type * as G from "../../types/global";
import type * as TStyles from "../../styles/types";
type Columns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "auto";
export type Direction = "row" | "column" | "row-reverse" | "column-reverse";
export type Padding = number | [number, number];
export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
children?: React.ReactNode;
as?: TagName;
divided?: boolean;
direction?: G.Responsive<Direction>;
gap?: G.Responsive<number>;
wrap?: G.Responsive<boolean>;
align?: G.Responsive<"center" | "start" | "end" | "stretch" | "baseline">;
justify?: G.Responsive<"center" | "start" | "end">;
height?: G.Responsive<string | number>;
width?: G.Responsive<string | number>;
aspectRatio?: G.Responsive<number>;
maxHeight?: G.Responsive<string | number>;
maxWidth?: G.Responsive<string | number>;
padding?: G.Responsive<Padding>;
paddingTop?: G.Responsive<number>;
paddingBottom?: G.Responsive<number>;
paddingStart?: G.Responsive<number>;
paddingEnd?: G.Responsive<number>;
bleed?: G.Responsive<number>;
textAlign?: "center" | "start" | "end";
backgroundColor?: "neutral" | "neutral-faded" | "critical" | "critical-faded" | "positive" | "positive-faded" | "primary" | "primary-faded" | "base" | "elevated" | "page" | "page-faded" | "disabled" | "disabled-faded" | "white" | "black";
borderColor?: "neutral" | "neutral-faded" | "critical" | "critical-faded" | "positive" | "positive-faded" | "primary" | "primary-faded" | "transparent";
borderRadius?: G.Responsive<TStyles.Radius>;
position?: G.Responsive<TStyles.Position>;
inset?: G.Responsive<number>;
insetStart?: G.Responsive<number>;
insetEnd?: G.Responsive<number>;
insetTop?: G.Responsive<number>;
insetBottom?: G.Responsive<number>;
zIndex?: number;
shadow?: "base" | "elevated";
overflow?: "hidden";
animated?: boolean;
className?: G.ClassName;
attributes?: G.Attributes<TagName>;
};
export type ItemProps<TagName extends keyof JSX.IntrinsicElements = "div"> = {
order?: G.Responsive<number>;
columns?: G.Responsive<Columns>;
grow?: G.Responsive<boolean>;
gapBefore?: G.Responsive<number> | "auto";
as?: TagName;
attributes?: G.Attributes<TagName>;
className?: G.ClassName;
children?: React.ReactNode;
};
export type RenderItem = (args: {
className?: string;
child: any;
index: number;
}) => React.ReactNode;
export type RenderDivider = (args: {
className?: string;
key: string;
}) => React.ReactNode;
export {};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment