UNPKG

devextreme-react

Version:

DevExtreme React UI and Visualization Components

76 lines (74 loc) 3.28 kB
/*! * devextreme-react * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-react */ import * as React from "react"; import { Ref, ReactElement } from "react"; import dxButtonGroup, { Properties } from "devextreme/ui/button_group"; import { IHtmlOptions, NestedComponentMeta } from "./core/component"; import type { ContentReadyEvent, DisposingEvent, InitializedEvent, ItemClickEvent } from "devextreme/ui/button_group"; import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base"; import type { template, ButtonType } from "devextreme/common"; type ReplaceFieldTypes<TSource, TReplacement> = { [P in keyof TSource]: P extends keyof TReplacement ? TReplacement[P] : TSource[P]; }; type IButtonGroupOptionsNarrowedEvents = { onContentReady?: ((e: ContentReadyEvent) => void); onDisposing?: ((e: DisposingEvent) => void); onInitialized?: ((e: InitializedEvent) => void); onItemClick?: ((e: ItemClickEvent) => void); }; type IButtonGroupOptions = React.PropsWithChildren<ReplaceFieldTypes<Properties, IButtonGroupOptionsNarrowedEvents> & IHtmlOptions & { buttonRender?: (...params: any) => React.ReactNode; buttonComponent?: React.ComponentType<any>; defaultSelectedItemKeys?: Array<any>; defaultSelectedItems?: Array<any>; onSelectedItemKeysChange?: (value: Array<any>) => void; onSelectedItemsChange?: (value: Array<any>) => void; }>; interface ButtonGroupRef { instance: () => dxButtonGroup; } declare const ButtonGroup: (props: React.PropsWithChildren<IButtonGroupOptions> & { ref?: Ref<ButtonGroupRef>; }) => ReactElement | null; type IItemProps = React.PropsWithChildren<{ disabled?: boolean; elementAttr?: Record<string, any>; hint?: string; icon?: string; template?: ((itemData: CollectionWidgetItem, itemIndex: number, itemElement: any) => string | any) | template; text?: string; type?: ButtonType; visible?: boolean; render?: (...params: any) => React.ReactNode; component?: React.ComponentType<any>; }>; declare const Item: ((props: IItemProps) => React.FunctionComponentElement<React.PropsWithChildren<{ disabled?: boolean | undefined; elementAttr?: Record<string, any> | undefined; hint?: string | undefined; icon?: string | undefined; template?: template | ((itemData: CollectionWidgetItem, itemIndex: number, itemElement: any) => string | any) | undefined; text?: string | undefined; type?: ButtonType | undefined; visible?: boolean | undefined; render?: ((...params: any) => React.ReactNode) | undefined; component?: React.ComponentType<any> | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; export default ButtonGroup; export { ButtonGroup, IButtonGroupOptions, ButtonGroupRef, Item, IItemProps }; import type * as ButtonGroupTypes from 'devextreme/ui/button_group_types'; export { ButtonGroupTypes };