You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/src/uix/eidos/components/split-button/index.ts

69 lines
2.6 KiB

// SplitButton — eidos compound API.
//
// import { SplitButton } from '$uix/eidos/components/split-button';
//
// <SplitButton bind:open variant="solid" aria-label="Save options">
// <SplitButton.Primary onclick={save}>Save</SplitButton.Primary>
// <SplitButton.Menu>
// <SplitButton.Item onSelect={saveAs}>Save as…</SplitButton.Item>
// <SplitButton.Item onSelect={saveCopy}>Save a copy</SplitButton.Item>
// <SplitButton.Separator />
// <SplitButton.Item intent="threat" onSelect={discard}>Discard</SplitButton.Item>
// </SplitButton.Menu>
// </SplitButton>
//
// The ▾ trigger is auto-rendered (a chevron that rotates while the menu is
// open); override its glyph with the `icon` prop. The menu surface
// (`Menu`/`Item`/`Separator`/`Group`/checkbox/radio/sub…) is re-exported
// from `<DropdownMenu>` — the menu IS a DropdownMenu.
import SplitButtonComponent from './split-button.svelte';
import Primary from './split-button-primary.svelte';
import Menu from './split-button-menu.svelte';
import { DropdownMenu } from '$uix/eidos/components/dropdown-menu';
type SplitButtonNamespace = typeof SplitButtonComponent & {
Primary: typeof Primary;
Menu: typeof Menu;
Item: typeof DropdownMenu.Item;
Separator: typeof DropdownMenu.Separator;
Group: typeof DropdownMenu.Group;
GroupHeading: typeof DropdownMenu.GroupHeading;
CheckboxItem: typeof DropdownMenu.CheckboxItem;
CheckboxGroup: typeof DropdownMenu.CheckboxGroup;
RadioGroup: typeof DropdownMenu.RadioGroup;
RadioItem: typeof DropdownMenu.RadioItem;
Sub: typeof DropdownMenu.Sub;
SubTrigger: typeof DropdownMenu.SubTrigger;
SubContent: typeof DropdownMenu.SubContent;
Arrow: typeof DropdownMenu.Arrow;
};
const SplitButton = SplitButtonComponent as SplitButtonNamespace;
SplitButton.Primary = Primary;
SplitButton.Menu = Menu;
SplitButton.Item = DropdownMenu.Item;
SplitButton.Separator = DropdownMenu.Separator;
SplitButton.Group = DropdownMenu.Group;
SplitButton.GroupHeading = DropdownMenu.GroupHeading;
SplitButton.CheckboxItem = DropdownMenu.CheckboxItem;
SplitButton.CheckboxGroup = DropdownMenu.CheckboxGroup;
SplitButton.RadioGroup = DropdownMenu.RadioGroup;
SplitButton.RadioItem = DropdownMenu.RadioItem;
SplitButton.Sub = DropdownMenu.Sub;
SplitButton.SubTrigger = DropdownMenu.SubTrigger;
SplitButton.SubContent = DropdownMenu.SubContent;
SplitButton.Arrow = DropdownMenu.Arrow;
export { SplitButton };
export default SplitButton;
export type {
SplitButtonProps,
SplitButtonVariant,
SplitButtonSize,
SplitButtonColor,
SplitButtonPrimaryProps,
SplitButtonMenuProps,
SplitButtonItemProps
} from './types';

Powered by TurnKey Linux.