export { EnumIconNames } from '@sproutsocial/seeds-icons'; export { EnumIllustrationNames, IllustrationNames as SpotIllustrationNames } from '@sproutsocial/seeds-illustrations'; export { EnumLogoNamesWithoutVariants as EnumLogoNames, LogoNamesWithoutVariants as PartnerLogoNames } from '@sproutsocial/seeds-partner-logos'; import { TypeStyledComponentsCommonProps } from '@sproutsocial/seeds-react-system-props'; export * from '@sproutsocial/seeds-react-system-props'; export * from '@sproutsocial/seeds-react-theme'; export { default as ThemeProvider } from '@sproutsocial/seeds-react-theme-provider'; export { useInteractiveColor, useMeasure, useMultiselect, useSelect, useTextContent } from '@sproutsocial/seeds-react-hooks'; export * from '@sproutsocial/seeds-react-mixins'; export * from '@sproutsocial/seeds-react-accordion'; export * from '@sproutsocial/seeds-react-avatar'; export * from '@sproutsocial/seeds-react-badge'; export * from '@sproutsocial/seeds-react-banner'; export { Banner as Alert } from '@sproutsocial/seeds-react-banner'; import * as _sproutsocial_seeds_react_box from '@sproutsocial/seeds-react-box'; import { TypeBoxProps } from '@sproutsocial/seeds-react-box'; export * from '@sproutsocial/seeds-react-box'; export * from '@sproutsocial/seeds-react-breadcrumb'; import { TypeButtonProps } from '@sproutsocial/seeds-react-button'; export * from '@sproutsocial/seeds-react-button'; export * from '@sproutsocial/seeds-react-card'; export * from '@sproutsocial/seeds-react-character-counter'; export * from '@sproutsocial/seeds-react-chart-legend'; export * from '@sproutsocial/seeds-react-chat-bubble'; export * from '@sproutsocial/seeds-react-checkbox'; export * from '@sproutsocial/seeds-react-collapsible'; export * from '@sproutsocial/seeds-react-container'; export * from '@sproutsocial/seeds-react-content-block'; export * from '@sproutsocial/seeds-react-content-header'; export * from '@sproutsocial/seeds-react-datepicker'; export * from '@sproutsocial/seeds-react-drawer'; export * from '@sproutsocial/seeds-react-duration'; export * from '@sproutsocial/seeds-react-empty-state'; export * from '@sproutsocial/seeds-react-fieldset'; export * from '@sproutsocial/seeds-react-form-field'; export * from '@sproutsocial/seeds-react-grid'; export * from '@sproutsocial/seeds-react-icon'; export * from '@sproutsocial/seeds-react-image'; export * from '@sproutsocial/seeds-react-indicator'; import * as _sproutsocial_seeds_react_input from '@sproutsocial/seeds-react-input'; import { TypeInputProps } from '@sproutsocial/seeds-react-input'; export * from '@sproutsocial/seeds-react-input'; export * from '@sproutsocial/seeds-react-keyboard-key'; export * from '@sproutsocial/seeds-react-label'; export * from '@sproutsocial/seeds-react-link'; import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; import { TypePopoutProps } from '@sproutsocial/seeds-react-popout'; export * from '@sproutsocial/seeds-react-popout'; import { TypeTextProps } from '@sproutsocial/seeds-react-text'; export * from '@sproutsocial/seeds-react-text'; import { TypeSwitchProps } from '@sproutsocial/seeds-react-switch'; export * from '@sproutsocial/seeds-react-switch'; export * from '@sproutsocial/seeds-react-list'; export * from '@sproutsocial/seeds-react-loader'; export * from '@sproutsocial/seeds-react-loader-button'; import * as styled_components from 'styled-components'; export * from '@sproutsocial/seeds-react-modal'; export * from '@sproutsocial/seeds-react-message'; export * from '@sproutsocial/seeds-react-narrative-kit'; export * from '@sproutsocial/seeds-react-numeral'; export * from '@sproutsocial/seeds-react-pagination'; export * from '@sproutsocial/seeds-react-panel'; export * from '@sproutsocial/seeds-react-peek-in'; export * from '@sproutsocial/seeds-react-partner-logo'; export * from '@sproutsocial/seeds-react-portal'; export * from '@sproutsocial/seeds-react-progress'; export * from '@sproutsocial/seeds-react-radio'; export * from '@sproutsocial/seeds-react-rating'; export * from '@sproutsocial/seeds-react-segmented-control'; export * from '@sproutsocial/seeds-react-select'; export * from '@sproutsocial/seeds-react-skeleton'; export * from '@sproutsocial/seeds-react-spot-illustration'; export * from '@sproutsocial/seeds-react-stack'; export * from '@sproutsocial/seeds-react-table'; export * from '@sproutsocial/seeds-react-table/TableCell'; export * from '@sproutsocial/seeds-react-table/TableHeaderCell'; export * from '@sproutsocial/seeds-react-table/TableRowAccordion'; export * from '@sproutsocial/seeds-react-tabs'; export * from '@sproutsocial/seeds-react-textarea'; export * from '@sproutsocial/seeds-react-toast'; export * from '@sproutsocial/seeds-react-token'; export * from '@sproutsocial/seeds-react-token-input'; export * from '@sproutsocial/seeds-react-tooltip'; export * from '@sproutsocial/seeds-react-visually-hidden'; export * from '@sproutsocial/seeds-react-data-table'; declare const MENU_ROLES: Readonly<{ readonly MENU: "menu"; readonly LIST: "list"; readonly LISTBOX: "listbox"; }>; declare const MENU_ITEM_ROLES: Readonly<{ readonly MENUITEM: "menuitem"; readonly LISTITEM: "listitem"; readonly OPTION: "option"; readonly RADIO: "menuitemradio"; readonly CHECKBOX: "menuitemcheckbox"; }>; type TypeMenuRoles = (typeof MENU_ROLES)[keyof typeof MENU_ROLES]; type TypeMenuItemRoles = (typeof MENU_ITEM_ROLES)[keyof typeof MENU_ITEM_ROLES]; interface TypeMenuState { selectionIndex: number; filterQuery: string; filteredItems: number[] | null | undefined; isFilterInputFocused: boolean; isFooterFocused: boolean; } interface TypeMenuSharedProps { multiselect?: boolean; onChange?: (val: string) => void; role?: TypeMenuRoles; value?: (string | null | undefined) | string[]; } interface TypeMenuContext extends TypeMenuSharedProps { menuRef: { current: HTMLDivElement | null; }; setState: (TypeMenuState: any) => void; state: TypeMenuState; selectCallbacks: { current: (((e?: any) => void) | null | undefined)[]; }; } interface TypeMenuProps extends Omit, TypeMenuSharedProps { children?: React.ReactNode; innerRef?: React.Ref; footerContent?: React.ReactNode; } interface TypeMenuItemProps { id?: string; index?: number; label?: string; children?: React.ReactNode; active?: boolean; selected?: boolean; disabled?: boolean; indeterminate?: boolean; value?: string; /** * Use method syntax instead of "arrow syntax" so `e` is bivariant * @see https://github.com/damianc/dev-notes/blob/e587153af/typescript/bivariance-hack.md */ onClick?(e: React.SyntheticEvent): void; onKeyPress?: React.KeyboardEvent; role?: TypeMenuItemRoles; elemAfter?: React.ReactNode; elemBefore?: React.ReactNode; as?: TypeStyledComponentsCommonProps["as"]; "data-qa-menu-item"?: string; alignItems?: string; } interface TypeMenuSwitchProps extends TypeMenuItemProps { /** Determines whether the Switch will be rendered as elemBefore or elemAfter. */ placement: "before" | "after"; /** Pass any valid Text props except children to the label. * children is omitted because Menu.Switch's children is rendered as the label's children.*/ labelProps?: Partial>; /** Pass any valid Switch props except onClick to the Switch. * onClick is omitted because it would only be triggered when the Switch itself is clicked with a mouse. * The top-level onClick prop, which will be triggered for a click or keypress anywhere on the Menu Item, should be used instead. */ switchProps?: Partial>; } interface TypeMenuGroupProps extends Omit { children: React.ReactNode; /** If provided, a visible title will be rendered for the group. */ title?: React.ReactNode; titleAs?: React.ElementType; /** Use the flush appearance if you're using the menu outside of a popout */ appearance?: "default" | "flush"; disabled?: boolean; } interface TypeMenuButtonContext { closeOnItemClick?: boolean; closePopout?: () => any; } interface TypeMenuButtonProps extends Omit, TypeMenuButtonContext { id?: string; "aria-labelledby"?: string; "aria-label"?: string; content: React.ReactNode; popoutProps?: Partial>; placement?: TypePopoutProps["placement"]; invalid?: boolean; isOpen?: boolean; setIsOpen?: (isOpen: boolean, event?: MouseEvent | KeyboardEvent) => void; } interface TypeMenuItemContainerProps extends TypeMenuItemProps { interactive: boolean; isCheckboxOrRadio: boolean; hidden: boolean | null | undefined; } interface TypeListboxProps extends TypeMenuProps { role?: "listbox"; } interface TypeListboxButtonProps extends Omit, TypeMenuButtonContext, TypeMenuButtonProps { size?: "large" | "default" | "small"; content: React.ReactNode; popoutProps?: Partial>; "aria-label"?: string; "aria-labelledby"?: string; } /** * @deprecated Listbox is deprecated. Listbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}. */ declare const Listbox: { ({ role, children, ...rest }: TypeListboxProps): react_jsx_runtime.JSX.Element; Option: { ({ id: idProp, index: indexProp, as, children, role: roleProp, elemBefore, elemAfter, value: valueProp, onKeyPress, onClick, selected, disabled, indeterminate, label: labelProp, active: activeProp, ...props }: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Item: { ({ id: idProp, index: indexProp, as, children, role: roleProp, elemBefore, elemAfter, value: valueProp, onKeyPress, onClick, selected, disabled, indeterminate, label: labelProp, active: activeProp, ...props }: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Checkbox: { (props: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Radio: { (props: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Switch: { (props: TypeMenuSwitchProps): react_jsx_runtime.JSX.Element; displayName: string; }; Group: { ({ children, title, titleAs, disabled: isDisabled, ...props }: TypeMenuGroupProps): react_jsx_runtime.JSX.Element; displayName: string; }; Divider: { (props: _sproutsocial_seeds_react_box.TypeBoxProps): react_jsx_runtime.JSX.Element; displayName: string; }; FilterInput: { ({ type, ...props }: _sproutsocial_seeds_react_input.TypeInputProps): react_jsx_runtime.JSX.Element; displayName: string; }; }; /** * @deprecated ListboxButton is deprecated. ListboxButton will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}. */ declare const ListboxButton: ({ children, ...restProps }: TypeListboxButtonProps) => react_jsx_runtime.JSX.Element; /** * @deprecated Menu is deprecated. Menu will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}. */ declare const Menu: { ({ role, children, onChange, value, multiselect, innerRef, footerContent, ...props }: TypeMenuProps): react_jsx_runtime.JSX.Element; displayName: string; Group: { ({ children, title, titleAs, disabled: isDisabled, ...props }: TypeMenuGroupProps): react_jsx_runtime.JSX.Element; displayName: string; }; Item: { ({ id: idProp, index: indexProp, as, children, role: roleProp, elemBefore, elemAfter, value: valueProp, onKeyPress, onClick, selected, disabled, indeterminate, label: labelProp, active: activeProp, ...props }: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Checkbox: { (props: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Radio: { (props: TypeMenuItemProps): react_jsx_runtime.JSX.Element; displayName: string; }; Switch: { (props: TypeMenuSwitchProps): react_jsx_runtime.JSX.Element; displayName: string; }; Divider: { (props: TypeBoxProps): react_jsx_runtime.JSX.Element; displayName: string; }; FilterInput: { ({ type, ...props }: TypeInputProps): react_jsx_runtime.JSX.Element; displayName: string; }; }; /** * @deprecated MenuButton is deprecated. MenuButton will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}. */ declare const MenuButton: ({ content, popoutProps, children, onClick, closeOnItemClick, id, placement, isOpen, setIsOpen, ...props }: TypeMenuButtonProps) => react_jsx_runtime.JSX.Element; declare const MenuItemContainer: styled_components.StyledComponent & React.RefAttributes>, styled_components.DefaultTheme, TypeMenuItemContainerProps, never>; declare const MenuItemsContainer: styled_components.StyledComponent & React.RefAttributes>, styled_components.DefaultTheme, {}, never>; /** * These hooks and utilities are largely copied from the @reach-ui/descendents package. They consider the package * pre-release and unstable, so instead of importing it, we copied it here and changed the types from TypeScript to * Flow. If the package ever stabilizes, we can import these functions from there and remove this file. */ type TypeDescendant = DescendantProps & { element: ElementType | null; index: number; }; type TypeDescendantContext = { descendants: TypeDescendant[]; registerDescendant(descendant: Omit, "index">): void; unregisterDescendant(element: ElementType | null): void; }; /** * Returns the previous value of a reference after a component update. * * @param value */ declare function usePrevious(value: any): null; /** * Wraps a lib-defined event handler and a user-defined event handler, returning * a single handler that allows a user to prevent lib-defined handlers from * firing. * * @param theirHandler User-supplied event handler * @param ourHandler Library-supplied event handler */ declare function wrapEvent(theirHandler: ((event: EventType) => any) | null | undefined, ourHandler: (event: EventType) => any): (event: EventType) => any; declare function canUseDOM(): boolean; declare function createNamedContext(name: string, defaultValue: ContextValueType): React.Context; declare function createDescendantContext(name: string, initialValue?: { descendants: never[]; registerDescendant: () => void; unregisterDescendant: () => void; }): React.Context<{ descendants: never[]; registerDescendant: () => void; unregisterDescendant: () => void; }>; /** * This hook registers our descendant by passing it into an array. We can then * search that array by to find its index when registering it in the component. * We use this for focus management, keyboard navigation, and typeahead * functionality for some components. * * The hook accepts the element node and (optionally) a key. The key is useful * if multiple descendants have identical text values and we need to * differentiate siblings for some reason. * * Our main goals with this are: * 1) maximum composability, * 2) minimal API friction * 3) SSR compatibility* * 4) concurrent safe * 5) index always up-to-date with the tree despite changes * 6) works with memoization of any component in the tree (hopefully) * * * As for SSR, the good news is that we don't actually need the index on the * server for most use-cases, as we are only using it to determine the order of * composed descendants for keyboard navigation. However, in the few cases where * this is not the case, we can require an explicit index from the app. */ declare function useDescendant({ context, element, ...rest }: { [x: string]: any; context: any; element: any; }, indexProp?: number): number; declare function useDescendants(): [TypeDescendant[], React.Dispatch[]>>]; declare function DescendantProvider({ context: Ctx, children, items, set, }: { context: any; children: React.ReactNode; items: TypeDescendant[]; set: (arg0: (arg0: TypeDescendant[]) => any) => any; }): react_jsx_runtime.JSX.Element; declare function useDescendantKeyDown>(context: React.Context>, options: { currentIndex?: number; key?: K | "option"; filter?: (descendant: TypeDescendant) => boolean; orientation?: "vertical" | "horizontal" | "both"; rotate?: boolean; rtl?: boolean; callback(nextOption: TypeDescendant | TypeDescendant[keyof TypeDescendant]): void; }): (event: React.KeyboardEvent) => void; declare const MenuContext: React.Context; declare const MenuButtonContext: React.Context; type TypeMenuDescendantProps = { id: string; label: string | null | undefined; value?: string; disabled?: boolean; }; declare const MenuDescendantContext: React.Context<{ descendants: never[]; registerDescendant: () => void; unregisterDescendant: () => void; }>; declare function useMenuKeyDown(): { activeDescendent: never; handleKeyDown: (event: React.KeyboardEvent) => any; }; export { DescendantProvider, Listbox, ListboxButton, MENU_ITEM_ROLES, MENU_ROLES, Menu, MenuButton, MenuButtonContext, MenuContext, MenuDescendantContext, MenuItemContainer, MenuItemsContainer, type TypeDescendant, type TypeListboxButtonProps, type TypeListboxProps, type TypeMenuButtonContext, type TypeMenuButtonProps, type TypeMenuContext, type TypeMenuDescendantProps, type TypeMenuGroupProps, type TypeMenuItemContainerProps, type TypeMenuItemProps, type TypeMenuItemRoles, type TypeMenuProps, type TypeMenuRoles, type TypeMenuSharedProps, type TypeMenuState, type TypeMenuSwitchProps, canUseDOM, createDescendantContext, createNamedContext, useDescendant, useDescendantKeyDown, useDescendants, useMenuKeyDown, usePrevious, wrapEvent };