import React from "react"; import { type SizeNames } from "../../../system/Sizes"; type Props = React.ComponentPropsWithoutRef<"ul"> & { /** * @private * This prop is for internal logic. Do not use. */ _DO_NOT_USE_isRoot?: boolean; }; type StaticComponents = { Item: typeof Item; Padding: typeof Padding; /** * Sometimes you want to put the sub-list in another component, like this: * ```tsx * const MySubList = ({ className }: { className?: string }) => ( * * * * Custom nested list - option A * * * * * Custom nested list - option B * * * *); *``` * * When you do, the `UnorderedList.Item` component won't recognize it as a sub-list, because * it only considers the `UnorderedList` component as a sub-list. * In case you need your sub-list to be in a separate component, you can use the `UnorderedList.Indent` * component to tell the `UnorderedList.Item` component that it should consider the children as a sub-list. * * The child of `UnorderedList.Indent` should accept a `className` prop for this to work. */ Indent: typeof Indent; }; /** * Component delivering padding. Can be used to apply padding * to list item, but also to the content of a list (e.g. the * list or sublist title/description). */ declare const Padding: React.FC<{ children?: React.ReactNode; className?: string; }>; type ItemProps = React.ComponentPropsWithoutRef<"li"> & { /** * @private * This prop is for internal logic. Do not use. */ _DO_NOT_USE_index?: number; }; declare const Item: React.FC; export declare const UnorderedList: React.FC & StaticComponents; declare const Indent: React.FC<{ children?: React.ReactNode; indentSize?: Exclude; /** * ponytail: accepted but not applied. `UnorderedList.Item` spreads a * `ui:pl-4` className onto `Indent`, which renders no element of its own and * so has nowhere to put it — the class has silently been dropped since this * component was written. Declaring the prop keeps that behaviour byte-for-byte * while satisfying React 19's typings; merging it into the children's * className would fix the indent but is a visual change, so it belongs in its * own PR. */ className?: string; }>; export { UnorderedList as UList };