@appbuckets/react-ui-smart-components
Version:
UI Extended Components that work with @appbuckets/react-client and @appbuckets/react-ui
96 lines (95 loc) • 2.75 kB
TypeScript
import * as React from 'react';
import type {
BaseActionCancelHandler,
BaseActionCompletedHandler,
BaseActionHelpers,
BaseActionSubmitErrorHandler,
BaseActionSubmitHandler,
BaseActionBuilderActions,
BaseActionBuilderConfig,
BaseActionBuilderNotifications,
BaseActionBuilderProps,
} from './BaseActionBuilder.types';
declare type PlainOrBuilder<TOut, Props extends {}, Result> =
| TOut
| ((props: ConfirmComponentProps<Props, Result>) => TOut);
export interface ConfirmActionHelpers extends BaseActionHelpers {}
export declare type ConfirmActionCancelHandler<Props extends {}> =
BaseActionCancelHandler<
ConfirmActionHelpers,
ConfirmComponentProps<Props, any>
>;
export declare type ConfirmActionCompletedHandler<
Props extends {},
Result
> = BaseActionCompletedHandler<
Result,
void,
false,
ConfirmActionHelpers,
ConfirmComponentProps<Props, Result>
>;
export declare type ConfirmActionSubmitHandler<
Props extends {},
Result
> = BaseActionSubmitHandler<
Result,
void,
false,
ConfirmActionHelpers,
ConfirmComponentProps<Props, Result>
>;
export declare type ConfirmActionSubmitErrorHandler<Props extends {}> =
BaseActionSubmitErrorHandler<
void,
false,
ConfirmActionHelpers,
ConfirmComponentProps<Props, any>
>;
export declare type ConfirmActions<
Props extends {},
Result
> = BaseActionBuilderActions<
ConfirmActionCancelHandler<Props>,
ConfirmActionCompletedHandler<Props, Result>,
ConfirmActionSubmitHandler<Props, Result>,
ConfirmActionSubmitErrorHandler<Props>
>;
export interface ConfirmBuilderNotifications
extends BaseActionBuilderNotifications {}
export declare type ConfirmComponentProps<
Props extends {},
Result
> = BaseActionBuilderProps<Props, ConfirmActions<Props, Result>>;
export declare type ConfirmComponent<
Props extends {},
Result
> = React.FunctionComponent<ConfirmComponentProps<Props, Result>>;
export declare type ExtensibleConfirmComponent<
Props extends {},
Result
> = ConfirmComponent<Props, Result> & {
extend: <NewProps extends {}, NewResult = any>(
config: ConfirmBuilderConfig<NewProps, NewResult>
) => ExtensibleConfirmComponent<NewProps, NewResult>;
};
export interface ConfirmBuilderConfig<Props extends {}, Result>
extends BaseActionBuilderConfig<
ConfirmComponent<Props, Result>,
ConfirmActions<Props, Result>,
ConfirmBuilderNotifications
> {
/** The confirm modal default props to use */
defaultProps?: PlainOrBuilder<
Partial<ConfirmComponentProps<Props, Result>>,
Props,
Result
>;
/** The confirm modal override props object */
overrideProps?: PlainOrBuilder<
Partial<ConfirmComponentProps<Props, Result>>,
Props,
Result
>;
}
export {};