11import React from 'react' ;
2- import { DashComponent } from '@dash-renderer/types/component' ;
3- import ExternalWrapper from '@dash-renderer/wrapper/ExternalWrapper' ;
4- import { useDashContext } from '@dash-renderer/wrapper/DashContext' ;
5-
6- declare global {
7- interface Window {
8- dash_component_api : {
9- useDashContext : typeof useDashContext ;
10- ExternalWrapper : typeof ExternalWrapper ;
11- } ;
12- }
13- }
2+ import { BaseDashProps , DashComponent } from '@dash-renderer/types' ;
143
154export enum PersistenceTypes {
165 'local' = 'local' ,
@@ -22,14 +11,7 @@ export enum PersistedProps {
2211 'value' = 'value' ,
2312}
2413
25- export interface BaseComponentProps < T > {
26- /**
27- * The ID of this component, used to identify dash components
28- * in callbacks. The ID needs to be unique across all of the
29- * components in an app.
30- */
31- id ?: string ;
32-
14+ export interface BaseDccProps < T > extends BaseDashProps {
3315 /**
3416 * Additional CSS class for the root DOM node
3517 */
@@ -122,7 +104,7 @@ export type SliderTooltip = {
122104 transform ?: string ;
123105} ;
124106
125- export interface SliderProps extends BaseComponentProps < SliderProps > {
107+ export interface SliderProps extends BaseDccProps < SliderProps > {
126108 /**
127109 * Minimum allowed value of the slider
128110 */
@@ -209,7 +191,7 @@ export interface SliderProps extends BaseComponentProps<SliderProps> {
209191 verticalHeight ?: number ;
210192}
211193
212- export interface RangeSliderProps extends BaseComponentProps < RangeSliderProps > {
194+ export interface RangeSliderProps extends BaseDccProps < RangeSliderProps > {
213195 /**
214196 * Minimum allowed value of the slider
215197 */
@@ -356,7 +338,7 @@ export type OptionsArray = (OptionValue | DetailedOption)[];
356338 */
357339export type OptionsDict = Record < string , string > ;
358340
359- export interface DropdownProps extends BaseComponentProps < DropdownProps > {
341+ export interface DropdownProps extends BaseDccProps < DropdownProps > {
360342 /**
361343 * An array of options {label: [string|number], value: [string|number]},
362344 * an optional disabled field can be used for each option
@@ -439,7 +421,7 @@ export interface DropdownProps extends BaseComponentProps<DropdownProps> {
439421 } ;
440422}
441423
442- export interface ChecklistProps extends BaseComponentProps < ChecklistProps > {
424+ export interface ChecklistProps extends BaseDccProps < ChecklistProps > {
443425 /**
444426 * An array of options
445427 */
@@ -484,7 +466,7 @@ export interface ChecklistProps extends BaseComponentProps<ChecklistProps> {
484466 labelClassName ?: string ;
485467}
486468
487- export interface RadioItemsProps extends BaseComponentProps < RadioItemsProps > {
469+ export interface RadioItemsProps extends BaseDccProps < RadioItemsProps > {
488470 /**
489471 * An array of options
490472 */
@@ -529,7 +511,7 @@ export interface RadioItemsProps extends BaseComponentProps<RadioItemsProps> {
529511 labelClassName ?: string ;
530512}
531513
532- export interface TextAreaProps extends BaseComponentProps < TextAreaProps > {
514+ export interface TextAreaProps extends BaseDccProps < TextAreaProps > {
533515 /**
534516 * The value of the textarea
535517 */
@@ -753,7 +735,7 @@ export interface TooltipProps {
753735 setProps : ( props : Partial < TooltipProps > ) => void ;
754736}
755737
756- export interface LoadingProps extends BaseComponentProps < LoadingProps > {
738+ export interface LoadingProps extends BaseDccProps < LoadingProps > {
757739 /**
758740 * Array that holds components to render
759741 */
@@ -837,7 +819,7 @@ export interface LoadingProps extends BaseComponentProps<LoadingProps> {
837819 custom_spinner ?: React . ReactNode ;
838820}
839821
840- export interface TabsProps extends BaseComponentProps < TabsProps > {
822+ export interface TabsProps extends BaseDccProps < TabsProps > {
841823 /**
842824 * The value of the currently selected Tab
843825 */
@@ -901,7 +883,7 @@ export interface TabsProps extends BaseComponentProps<TabsProps> {
901883// Note a quirk in how this extends the BaseComponentProps: `setProps` is shared
902884// with `TabsProps` (plural!) due to how tabs are implemented. This is
903885// intentional.
904- export interface TabProps extends BaseComponentProps < TabsProps > {
886+ export interface TabProps extends BaseDccProps < TabsProps > {
905887 /**
906888 * The tab's label
907889 */
0 commit comments