+ {allow_direct_input &&
+ Array.isArray(value) &&
+ value.length === 2 && (
+
+ handleDateInputChange(0, date || '')
+ }
+ placeholder="Start date"
+ min_date_allowed={minStr}
+ max_date_allowed={maxStr}
+ display_format={display_format}
+ />
+ )}
+
+
+
+
+ {disabled_dates_indicator && disabledIndicators.length > 0 && (
+
+ {disabledIndicators}
+
+ )}
+
+ {allow_direct_input &&
+ Array.isArray(value) &&
+ value.length === 2 && (
+
+ handleDateInputChange(1, date || '')
+ }
+ placeholder="End date"
+ min_date_allowed={minStr}
+ max_date_allowed={maxStr}
+ display_format={display_format}
+ />
+ )}
+
+ );
+}
+
+DateRangeSlider.dashPersistence = {
+ persisted_props: [PersistedProps.value],
+ persistence_type: PersistenceTypes.local,
+};
diff --git a/components/dash-core-components/src/index.ts b/components/dash-core-components/src/index.ts
index a2555149d4..2b5e037535 100644
--- a/components/dash-core-components/src/index.ts
+++ b/components/dash-core-components/src/index.ts
@@ -19,6 +19,8 @@ import Markdown from './components/Markdown.react';
import RadioItems from './components/RadioItems';
import RangeSlider from './components/RangeSlider';
import Slider from './components/Slider';
+import DateRangeSlider from './components/DateRangeSlider';
+import DateSlider from './components/DateSlider';
import Store from './components/Store.react';
import Tab from './components/Tab';
import Tabs from './components/Tabs';
@@ -49,6 +51,8 @@ export {
RadioItems,
RangeSlider,
Slider,
+ DateRangeSlider,
+ DateSlider,
Store,
Tab,
Tabs,
diff --git a/components/dash-core-components/src/types.ts b/components/dash-core-components/src/types.ts
index f4bc430141..0b39a8ba66 100644
--- a/components/dash-core-components/src/types.ts
+++ b/components/dash-core-components/src/types.ts
@@ -618,6 +618,284 @@ export interface RangeSliderProps extends BaseDccProps