UNPKG

extended-dynamic-forms

Version:

Extended React JSON Schema Form (RJSF) v6 with custom components, widgets, templates, layouts, and form events

60 lines (59 loc) 3.7 kB
import { ChoiceWidgetConfig, PresentationMode } from './ChoiceWidget.types'; export * from './ChoiceWidget.types'; export { isStaticDataSource, isApiDataSource, supportsMultipleSelections, DEFAULT_CHOICE_CONFIG, DEFAULT_CACHE_CONFIG, DEFAULT_RESPONSE_MAPPER, } from './ChoiceWidget.types'; export { DataSourceProvider, DEFAULT_RETRY_CONFIG, createSimpleHash, validateChoiceOptions, } from './providers/DataSourceProvider'; export type { RetryConfig, DataSourceMetrics, DataSourceEventCallbacks, } from './providers/DataSourceProvider'; export { StaticDataSource, createStaticDataSource, hasGroup, createGroupedOptions, } from './providers/StaticDataSource'; export type { StaticDataSourceOptions } from './providers/StaticDataSource'; export { ApiDataSource, createApiDataSource, COMMON_RESPONSE_MAPPERS, AUTH_HELPERS, } from './providers/ApiDataSource'; export { WebSocketDataSource, createWebSocketDataSource, WebSocketConnectionState, WS_AUTH_HELPERS, WS_MESSAGE_HELPERS, } from './providers/WebSocketDataSource'; export type { WebSocketDataSourceOptions, } from './providers/WebSocketDataSource'; export { validateChoiceOption, getNestedValue, setNestedValue, extractArrayFromResponse, mapSimpleResponse, mapNestedResponse, createCustomMapper, mapResponse, ResponseMappingError, COMMON_MAPPERS, PAGINATED_MAPPERS, createActiveMapper, createMapperPipeline, filterEnabledOptions, sortByLabel, sortByValue, groupOptions, transformOptions, } from './utils/responseMappers'; export { PresenterStrategy } from './presenters/PresenterStrategy'; export { DropdownPresenter } from './presenters/DropdownPresenter'; export { RadioPresenter } from './presenters/RadioPresenter'; export { CheckboxPresenter } from './presenters/CheckboxPresenter'; export { useDataSource, useDataSourceWithRetry, useMultipleDataSources, } from './hooks'; export { useChoiceWidget, useChoiceWidgetWithErrorBoundary, useChoiceWidgetWithMetrics, } from './hooks/useChoiceWidget'; export type { UseChoiceWidgetReturn } from './hooks/useChoiceWidget'; export type { UseDataSourceReturn } from './hooks'; export { ChoiceWidget, default as DefaultChoiceWidget } from './ChoiceWidget'; /** * Factory function to create a default ChoiceWidgetConfig */ export declare const createDefaultConfig: (overrides?: Partial<ChoiceWidgetConfig>) => ChoiceWidgetConfig; /** * Presentation mode helper * Determines the best presentation mode based on options count and schema */ export declare const suggestPresentationMode: (optionCount: number, isMultiSelect?: boolean, preferences?: { preferRadio?: boolean; preferDropdown?: boolean; }) => PresentationMode; /** * Legacy compatibility helper * Converts legacy enumOptions format to ChoiceWidgetConfig */ export declare const convertLegacyConfig: (enumOptions: Array<{ label: string; value: unknown; }>, uiOptions?: Record<string, unknown>) => ChoiceWidgetConfig; /** * Widget registration helper for RJSF * Simplifies registering the Choice Widget with RJSF forms */ export declare const createChoiceWidgetRegistry: (customConfig?: Partial<ChoiceWidgetConfig>) => { widgets: { choice: import('react').FC<import('./ChoiceWidget.types').ChoiceWidgetProps>; ChoiceWidget: import('react').FC<import('./ChoiceWidget.types').ChoiceWidgetProps>; select: import('react').FC<import('./ChoiceWidget.types').ChoiceWidgetProps>; radio: import('react').FC<import('./ChoiceWidget.types').ChoiceWidgetProps>; checkboxes: import('react').FC<import('./ChoiceWidget.types').ChoiceWidgetProps>; }; uiSchema: { 'ui:widget': string; 'ui:options': { choiceConfig: ChoiceWidgetConfig; }; }; };