Bootstrap

API extendWidget

ExtendWidgetAdaptSlotContentProps

type alias

ExtendWidgetAdaptSlotContentProps<Props, ExtraProps, ExtraDirectives>: Props extends WidgetSlotContext<infer U> ? WidgetSlotContext<ExtendWidgetProps<U, ExtraProps, ExtraDirectives>> & Omit<Props, keyof WidgetSlotContext<any>> : Props

Type replacing the original Props with WidgetSlotContext contaning ExtraProps

Type Parameters

Props extends Record<string, any>

ExtraProps extends object

ExtraDirectives extends object


ExtendWidgetAdaptSlotWidgetProps

type alias

ExtendWidgetAdaptSlotWidgetProps<Props, ExtraProps, ExtraDirectives>: ExtraProps & { [K in keyof Props]: IsSlotContent<Props[K]> extends SlotContent<infer U> ? SlotContent<ExtendWidgetAdaptSlotContentProps<U, ExtraProps, ExtraDirectives>> : Props[K] }

Type enriching the original widget slot Props with ExtraProps slots

Type Parameters

Props

ExtraProps extends object

ExtraDirectives extends object


ExtendWidgetInterfaces

type alias

ExtendWidgetInterfaces<Interfaces, ExtraInterfaces>: Interfaces & ExtraInterfaces

Type merging the passed interfaces together

Type Parameters

Interfaces

ExtraInterfaces


extendWidgetProps

function

extendWidgetProps<W, ExtraProps, ExtraDirectives>(factory, extraPropsDefaults, extraPropsConfig?, overrideDefaults?): WidgetFactory<ExtendWidgetProps<W, ExtraProps, ExtraDirectives>>

Method to extend the original widget with extra props with validator

Type Parameters

W extends Widget<object, object, object, object, object>

ExtraProps extends object

ExtraDirectives extends object = object

Parameters

factory: WidgetFactory<W>

original widget factory

extraPropsDefaults: ExtraProps

object containing default value for each extra prop

extraPropsConfig?: ConfigValidator<ExtraProps>

object verifying the type of each extra prop

overrideDefaults?: Partial<WidgetState<W>>

object overriding some default props of the widget to extend

Returns

WidgetFactory<ExtendWidgetProps<W, ExtraProps, ExtraDirectives>>

widget factory with the extra props


ExtendWidgetProps

type alias

ExtendWidgetProps<W, ExtraProps, ExtraDirectives>: Widget<ExtendWidgetAdaptSlotWidgetProps<WidgetProps<W>, ExtraProps, ExtraDirectives>, ExtendWidgetAdaptSlotWidgetProps<WidgetState<W>, ExtraProps, ExtraDirectives>, W["api"], W["actions"], ExtendWidgetInterfaces<W["directives"], ExtraDirectives>>

Type extending the original Widget props and state with ExtraProps

Type Parameters

W extends Widget

ExtraProps extends object

ExtraDirectives extends object = object