@gooddata/sdk-ui-filters 10.28.0-alpha.8 → 10.28.0-alpha.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.d.ts +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelect.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelect.js +3 -3
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelect.js.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.js +1 -3
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.js.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/types.d.ts +6 -0
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/types.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/ElementsSelect/types.d.ts +6 -0
- package/esm/AttributeFilter/Components/ElementsSelect/types.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterController.js +9 -6
- package/esm/AttributeFilter/hooks/useAttributeFilterController.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/callbacks.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/callbacks.js +1 -1
- package/esm/AttributeFilterHandler/internal/callbacks.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/loader.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/loader.js +4 -3
- package/esm/AttributeFilterHandler/internal/loader.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/elements/elementsSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/elements/elementsSelectors.js +4 -1
- package/esm/AttributeFilterHandler/internal/redux/elements/elementsSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/filter/filterSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/filter/filterSelectors.js +11 -4
- package/esm/AttributeFilterHandler/internal/redux/filter/filterSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initSelectors.js +5 -2
- package/esm/AttributeFilterHandler/internal/redux/init/initSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSelectors.js +5 -2
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageSelectors.js +5 -2
- package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageSelectors.js +4 -1
- package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/selection/selectionSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/selection/selectionSelectors.js +5 -2
- package/esm/AttributeFilterHandler/internal/redux/selection/selectionSelectors.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/createStore.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/createStore.js +4 -1
- package/esm/AttributeFilterHandler/internal/redux/store/createStore.js.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts +2 -347
- package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/slice.js +5 -2
- package/esm/AttributeFilterHandler/internal/redux/store/slice.js.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts +3 -6
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js +7 -10
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.d.ts +21 -0
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.d.ts.map +1 -0
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.js +28 -0
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.js.map +1 -0
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.js +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.js.map +1 -1
- package/esm/DateFilter/AllTime/AllTimeFilterItem.d.ts.map +1 -0
- package/esm/DateFilter/{DateFilterBody → AllTime}/AllTimeFilterItem.js +1 -1
- package/esm/DateFilter/AllTime/AllTimeFilterItem.js.map +1 -0
- package/esm/DateFilter/AllTime/AllTimeFilterSection.d.ts +11 -0
- package/esm/DateFilter/AllTime/AllTimeFilterSection.d.ts.map +1 -0
- package/esm/DateFilter/AllTime/AllTimeFilterSection.js +11 -0
- package/esm/DateFilter/AllTime/AllTimeFilterSection.js.map +1 -0
- package/esm/DateFilter/DateFilter.d.ts.map +1 -1
- package/esm/DateFilter/DateFilter.js +4 -3
- package/esm/DateFilter/DateFilter.js.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts +1 -22
- package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBody.js +54 -152
- package/esm/DateFilter/DateFilterBody/DateFilterBody.js.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBodyButton.js +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBodyButton.js.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.d.ts +22 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.d.ts.map +1 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.js +18 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContent.js.map +1 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyMobileContent.d.ts +22 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyMobileContent.d.ts.map +1 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyMobileContent.js +24 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBodyMobileContent.js.map +1 -0
- package/esm/DateFilter/DateFilterBody/DateFilterHeader.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterHeader.js +4 -2
- package/esm/DateFilter/DateFilterBody/DateFilterHeader.js.map +1 -1
- package/esm/DateFilter/DateFilterButton/DateFilterButton.d.ts +2 -0
- package/esm/DateFilter/DateFilterButton/DateFilterButton.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterButton/DateFilterButton.js +3 -11
- package/esm/DateFilter/DateFilterButton/DateFilterButton.js.map +1 -1
- package/esm/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.d.ts +2 -0
- package/esm/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.js +2 -2
- package/esm/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.js.map +1 -1
- package/esm/DateFilter/DateFilterCore.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterCore.js +19 -6
- package/esm/DateFilter/DateFilterCore.js.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateInput.d.ts +17 -0
- package/esm/DateFilter/DateRangePicker/DateInput.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/DateInput.js +111 -0
- package/esm/DateFilter/DateRangePicker/DateInput.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/DatePicker.d.ts +19 -0
- package/esm/DateFilter/DateRangePicker/DatePicker.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/DatePicker.js +74 -0
- package/esm/DateFilter/DateRangePicker/DatePicker.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts +10 -0
- package/esm/DateFilter/DateRangePicker/DateRangeHint.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/DateRangeHint.js +7 -0
- package/esm/DateFilter/DateRangePicker/DateRangeHint.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts +1 -6
- package/esm/DateFilter/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateRangePicker.js +152 -209
- package/esm/DateFilter/DateRangePicker/DateRangePicker.js.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateTimePicker.d.ts +18 -12
- package/esm/DateFilter/DateRangePicker/DateTimePicker.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateTimePicker.js +22 -91
- package/esm/DateFilter/DateRangePicker/DateTimePicker.js.map +1 -1
- package/esm/DateFilter/DateRangePicker/EndDateInputField.d.ts +4 -0
- package/esm/DateFilter/DateRangePicker/EndDateInputField.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/EndDateInputField.js +32 -0
- package/esm/DateFilter/DateRangePicker/EndDateInputField.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/InputErrorMessage.d.ts +7 -0
- package/esm/DateFilter/DateRangePicker/InputErrorMessage.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/InputErrorMessage.js +13 -0
- package/esm/DateFilter/DateRangePicker/InputErrorMessage.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/StartDateInputField.d.ts +4 -0
- package/esm/DateFilter/DateRangePicker/StartDateInputField.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/StartDateInputField.js +32 -0
- package/esm/DateFilter/DateRangePicker/StartDateInputField.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/TimeInput.d.ts +12 -0
- package/esm/DateFilter/DateRangePicker/TimeInput.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/TimeInput.js +45 -0
- package/esm/DateFilter/DateRangePicker/TimeInput.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/types.d.ts +46 -0
- package/esm/DateFilter/DateRangePicker/types.d.ts.map +1 -0
- package/esm/DateFilter/DateRangePicker/types.js +4 -0
- package/esm/DateFilter/DateRangePicker/types.js.map +1 -0
- package/esm/DateFilter/DateRangePicker/utils.d.ts +7 -2
- package/esm/DateFilter/DateRangePicker/utils.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/utils.js +61 -5
- package/esm/DateFilter/DateRangePicker/utils.js.map +1 -1
- package/esm/DateFilter/DynamicSelect/RelativeRangeDynamicSelect.d.ts.map +1 -1
- package/esm/DateFilter/DynamicSelect/RelativeRangeDynamicSelect.js +5 -1
- package/esm/DateFilter/DynamicSelect/RelativeRangeDynamicSelect.js.map +1 -1
- package/esm/DateFilter/ExcludeCurrentPeriodToggle/ExcludeCurrentPeriodToggle.d.ts.map +1 -1
- package/esm/DateFilter/ExcludeCurrentPeriodToggle/ExcludeCurrentPeriodToggle.js +24 -13
- package/esm/DateFilter/ExcludeCurrentPeriodToggle/ExcludeCurrentPeriodToggle.js.map +1 -1
- package/esm/DateFilter/ListItem/ListItem.d.ts.map +1 -1
- package/esm/DateFilter/ListItem/ListItem.js +4 -3
- package/esm/DateFilter/ListItem/ListItem.js.map +1 -1
- package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.d.ts +2 -0
- package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.d.ts.map +1 -1
- package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.js +3 -3
- package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.js.map +1 -1
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.d.ts +3 -1
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.d.ts.map +1 -1
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.js +25 -14
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.js.map +1 -1
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterFormSection.d.ts +19 -0
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterFormSection.d.ts.map +1 -0
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterFormSection.js +45 -0
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterFormSection.js.map +1 -0
- package/esm/DateFilter/RelativeRangePicker/RelativeRangePicker.d.ts +3 -0
- package/esm/DateFilter/RelativeRangePicker/RelativeRangePicker.d.ts.map +1 -1
- package/esm/DateFilter/RelativeRangePicker/RelativeRangePicker.js +2 -2
- package/esm/DateFilter/RelativeRangePicker/RelativeRangePicker.js.map +1 -1
- package/esm/DateFilter/Select/SelectOption.js +1 -1
- package/esm/DateFilter/Select/VirtualizedSelectMenu.js +1 -1
- package/esm/DateFilter/Tabs/Tabs.d.ts +2 -0
- package/esm/DateFilter/Tabs/Tabs.d.ts.map +1 -1
- package/esm/DateFilter/Tabs/Tabs.js +8 -3
- package/esm/DateFilter/Tabs/Tabs.js.map +1 -1
- package/esm/DateFilter/accessibility/elementId.d.ts +9 -0
- package/esm/DateFilter/accessibility/elementId.d.ts.map +1 -0
- package/esm/DateFilter/accessibility/elementId.js +10 -0
- package/esm/DateFilter/accessibility/elementId.js.map +1 -0
- package/esm/DateFilter/accessibility/keyboardNavigation.d.ts +42 -0
- package/esm/DateFilter/accessibility/keyboardNavigation.d.ts.map +1 -0
- package/esm/DateFilter/accessibility/keyboardNavigation.js +173 -0
- package/esm/DateFilter/accessibility/keyboardNavigation.js.map +1 -0
- package/esm/DateFilter/index.d.ts +1 -1
- package/esm/DateFilter/index.d.ts.map +1 -1
- package/esm/DateFilter/index.js.map +1 -1
- package/esm/DateFilter/interfaces/index.d.ts +9 -4
- package/esm/DateFilter/interfaces/index.d.ts.map +1 -1
- package/esm/DateFilter/interfaces/index.js +1 -1
- package/esm/DateFilter/utils/DateConversions.d.ts.map +1 -1
- package/esm/DateFilter/utils/DateConversions.js +10 -2
- package/esm/DateFilter/utils/DateConversions.js.map +1 -1
- package/esm/DateFilter/validation/OptionValidation.d.ts.map +1 -1
- package/esm/DateFilter/validation/OptionValidation.js +23 -16
- package/esm/DateFilter/validation/OptionValidation.js.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +1 -3
- package/esm/locales.js.map +1 -1
- package/esm/sdk-ui-filters.d.ts +25 -5
- package/package.json +11 -10
- package/styles/css/attributeFilter.css +10 -0
- package/styles/css/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilter.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterAddons.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilterAddons.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterElementsSelect.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilterElementsSelect.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterEmptyResult.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilterEmptyResult.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterStatusBar.css +10 -0
- package/styles/css/attributeFilterNext/attributeFilterStatusBar.css.map +1 -1
- package/styles/css/attributeFilterNext.css +10 -0
- package/styles/css/attributeFilterNext.css.map +1 -1
- package/styles/css/components/DateRangePicker.css +45 -17
- package/styles/css/components/DateRangePicker.css.map +1 -1
- package/styles/css/components/GranularityTabs.css +5 -0
- package/styles/css/components/GranularityTabs.css.map +1 -1
- package/styles/css/dateFilter.css +60 -17
- package/styles/css/dateFilter.css.map +1 -1
- package/styles/css/main.css +60 -17
- package/styles/css/main.css.map +1 -1
- package/styles/scss/components/DateFilterBody.scss +1 -1
- package/styles/scss/components/DateRangePicker.scss +52 -27
- package/styles/scss/components/GranularityTabs.scss +6 -1
- package/esm/DateFilter/DateFilterBody/AllTimeFilterItem.d.ts.map +0 -1
- package/esm/DateFilter/DateFilterBody/AllTimeFilterItem.js.map +0 -1
- package/esm/DateFilter/DateRangePicker/DateRangePickerError.d.ts +0 -11
- package/esm/DateFilter/DateRangePicker/DateRangePickerError.d.ts.map +0 -1
- package/esm/DateFilter/DateRangePicker/DateRangePickerError.js +0 -11
- package/esm/DateFilter/DateRangePicker/DateRangePickerError.js.map +0 -1
- /package/esm/DateFilter/{DateFilterBody → AllTime}/AllTimeFilterItem.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFilterBodyContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EACH,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAG5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIvE,UAAU,2BAA2B;IACjC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B,EAAE,OAAO,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAuEvE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import isEmpty from "lodash/isEmpty.js";
|
|
4
|
+
import { AbsoluteDateFilterFormSection } from "../AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.js";
|
|
5
|
+
import { AllTimeFilterSection } from "../AllTime/AllTimeFilterSection.js";
|
|
6
|
+
import { RelativeDateFilterFormSection } from "../RelativeDateFilterForm/RelativeDateFilterFormSection.js";
|
|
7
|
+
import { AbsolutePresetFilterItems } from "./AbsolutePresetFilterItems.js";
|
|
8
|
+
import { RelativePresetFilterItems } from "./RelativePresetFilterItems.js";
|
|
9
|
+
const ITEM_CLASS_MOBILE = "gd-date-filter-item-mobile";
|
|
10
|
+
export const DateFilterBodyContent = ({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart, availableGranularities, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, }) => {
|
|
11
|
+
return (React.createElement(React.Fragment, null,
|
|
12
|
+
React.createElement(AllTimeFilterSection, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile }),
|
|
13
|
+
React.createElement(AbsoluteDateFilterFormSection, { filterOptions: filterOptions, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, errors: errors || undefined, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart }),
|
|
14
|
+
!isEmpty(availableGranularities) ? (React.createElement(RelativeDateFilterFormSection, { filterOptions: filterOptions, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, availableGranularities: availableGranularities, isMobile: isMobile, changeRoute: changeRoute, route: route, errors: errors || undefined, onApplyClick: onApplyClick, closeDropdown: closeDropdown })) : null,
|
|
15
|
+
filterOptions.absolutePreset && filterOptions.absolutePreset.length > 0 ? (React.createElement(AbsolutePresetFilterItems, { dateFormat: dateFormat, filterOptions: filterOptions.absolutePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null,
|
|
16
|
+
filterOptions.relativePreset ? (React.createElement(RelativePresetFilterItems, { dateFormat: dateFormat, filterOption: filterOptions.relativePreset, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, className: isMobile ? ITEM_CLASS_MOBILE : undefined })) : null));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=DateFilterBodyContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFilterBodyContent.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyContent.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAW3E,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAkBvD,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,EACzE,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,6BAA6B,EAC7B,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,4BAA4B,GAC/B,EAAE,EAAE;IACD,OAAO,CACH;QACI,oBAAC,oBAAoB,IACjB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B,EAC1D,QAAQ,EAAE,QAAQ,GACpB;QACF,oBAAC,6BAA6B,IAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,4BAA4B,EAAE,4BAA4B,EAC1D,oBAAoB,EAAE,oBAAiD,EACvE,QAAQ,EAAE,QAAQ,EAClB,6BAA6B,EAAE,6BAA6B,EAC5D,SAAS,EAAE,SAAS,GACtB;QACD,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAChC,oBAAC,6BAA6B,IAC1B,aAAa,EAAE,aAAa,EAC5B,4BAA4B,EAAE,4BAA4B,EAC1D,oBAAoB,EAAE,oBAAiD,EACvE,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC,CAAC,CAAC,IAAI;QACP,aAAa,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvE,oBAAC,yBAAyB,IACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,cAAc,EAC3C,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B,EAC1D,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,GACrD,CACL,CAAC,CAAC,CAAC,IAAI;QACP,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAC5B,oBAAC,yBAAyB,IACtB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,aAAa,CAAC,cAAc,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B,EAC1D,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,GACrD,CACL,CAAC,CAAC,CAAC,IAAI,CACT,CACN,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { DateFilterOption, IDateFilterOptionsByType, IExtendedDateFilterErrors } from "../interfaces/index.js";
|
|
3
|
+
import { DateFilterRoute } from "./types.js";
|
|
4
|
+
import { DateFilterGranularity, WeekStart } from "@gooddata/sdk-model";
|
|
5
|
+
interface IDateFilterBodyMobileContentProps {
|
|
6
|
+
filterOptions: IDateFilterOptionsByType;
|
|
7
|
+
selectedFilterOption: DateFilterOption;
|
|
8
|
+
isMobile: boolean;
|
|
9
|
+
route: DateFilterRoute;
|
|
10
|
+
dateFormat: string;
|
|
11
|
+
isTimeForAbsoluteRangeEnabled: boolean;
|
|
12
|
+
weekStart: WeekStart;
|
|
13
|
+
availableGranularities: DateFilterGranularity[];
|
|
14
|
+
errors?: IExtendedDateFilterErrors;
|
|
15
|
+
onSelectedFilterOptionChange: (option: DateFilterOption) => void;
|
|
16
|
+
closeDropdown: () => void;
|
|
17
|
+
changeRoute: (newRoute?: DateFilterRoute) => void;
|
|
18
|
+
onApplyClick: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const DateFilterBodyMobileContent: React.FC<IDateFilterBodyMobileContentProps>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=DateFilterBodyMobileContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFilterBodyMobileContent.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyMobileContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EACH,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAG5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKvE,UAAU,iCAAiC;IACvC,aAAa,EAAE,wBAAwB,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B,EAAE,OAAO,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CA4EnF,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import isEmpty from "lodash/isEmpty.js";
|
|
4
|
+
import { AbsoluteDateFilterFormSection } from "../AbsoluteDateFilterForm/AbsoluteDateFilterFormSection.js";
|
|
5
|
+
import { RelativeDateFilterFormSection } from "../RelativeDateFilterForm/RelativeDateFilterFormSection.js";
|
|
6
|
+
import { DateFilterHeader } from "./DateFilterHeader.js";
|
|
7
|
+
import { FormattedMessage } from "react-intl";
|
|
8
|
+
import { DateFilterBodyContent } from "./DateFilterBodyContent.js";
|
|
9
|
+
export const DateFilterBodyMobileContent = ({ filterOptions, selectedFilterOption, isMobile, route, errors, dateFormat, isTimeForAbsoluteRangeEnabled, weekStart, availableGranularities, closeDropdown, changeRoute, onApplyClick, onSelectedFilterOptionChange, }) => {
|
|
10
|
+
if (route === "absoluteForm") {
|
|
11
|
+
return (React.createElement(React.Fragment, null,
|
|
12
|
+
React.createElement(DateFilterHeader, { changeRoute: changeRoute },
|
|
13
|
+
React.createElement(FormattedMessage, { id: "filters.staticPeriod" })),
|
|
14
|
+
React.createElement(AbsoluteDateFilterFormSection, { filterOptions: filterOptions, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, errors: errors || undefined, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, isMobile: isMobile, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart })));
|
|
15
|
+
}
|
|
16
|
+
if (route === "relativeForm") {
|
|
17
|
+
return isEmpty(availableGranularities) ? null : (React.createElement(React.Fragment, null,
|
|
18
|
+
React.createElement(DateFilterHeader, { changeRoute: changeRoute },
|
|
19
|
+
React.createElement(FormattedMessage, { id: "filters.floatingRange" })),
|
|
20
|
+
React.createElement(RelativeDateFilterFormSection, { filterOptions: filterOptions, errors: errors || undefined, onSelectedFilterOptionChange: onSelectedFilterOptionChange, selectedFilterOption: selectedFilterOption, availableGranularities: availableGranularities, isMobile: isMobile, changeRoute: changeRoute, route: route, onApplyClick: onApplyClick, closeDropdown: closeDropdown })));
|
|
21
|
+
}
|
|
22
|
+
return (React.createElement(DateFilterBodyContent, { filterOptions: filterOptions, selectedFilterOption: selectedFilterOption, onSelectedFilterOptionChange: onSelectedFilterOptionChange, isMobile: isMobile, route: route, closeDropdown: closeDropdown, onApplyClick: onApplyClick, changeRoute: changeRoute, dateFormat: dateFormat, errors: errors || undefined, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, availableGranularities: availableGranularities }));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=DateFilterBodyMobileContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFilterBodyMobileContent.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterBodyMobileContent.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAU3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAkBnE,MAAM,CAAC,MAAM,2BAA2B,GAAgD,CAAC,EACrF,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,6BAA6B,EAC7B,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,4BAA4B,GAC/B,EAAE,EAAE;IACD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC3B,OAAO,CACH;YACI,oBAAC,gBAAgB,IAAC,WAAW,EAAE,WAAW;gBACtC,oBAAC,gBAAgB,IAAC,EAAE,EAAC,sBAAsB,GAAG,CAC/B;YACnB,oBAAC,6BAA6B,IAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,4BAA4B,EAAE,4BAA4B,EAC1D,oBAAoB,EAAE,oBAAiD,EACvE,QAAQ,EAAE,QAAQ,EAClB,6BAA6B,EAAE,6BAA6B,EAC5D,SAAS,EAAE,SAAS,GACtB,CACH,CACN,CAAC;IACN,CAAC;IACD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5C;YACI,oBAAC,gBAAgB,IAAC,WAAW,EAAE,WAAW;gBACtC,oBAAC,gBAAgB,IAAC,EAAE,EAAC,uBAAuB,GAAG,CAChC;YACnB,oBAAC,6BAA6B,IAC1B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,4BAA4B,EAAE,4BAA4B,EAC1D,oBAAoB,EAAE,oBAAiD,EACvE,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC9B,CACH,CACN,CAAC;IACN,CAAC;IACD,OAAO,CACH,oBAAC,qBAAqB,IAClB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B,EAC1D,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,6BAA6B,EAAE,6BAA6B,EAC5D,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,sBAAsB,GAChD,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterHeader.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"DateFilterHeader.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACjD,CAkBA,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
// (C) 2019 GoodData Corporation
|
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
|
+
import { useAutofocusOnMount } from "@gooddata/sdk-ui-kit";
|
|
3
4
|
export const DateFilterHeader = ({ children, changeRoute, ...otherProps }) => {
|
|
4
|
-
|
|
5
|
+
const autofocusRef = useAutofocusOnMount();
|
|
6
|
+
return (React.createElement("button", { tabIndex: 0, ref: autofocusRef, className: "gd-extended-date-filter-header s-do-not-close-dropdown-on-click", onClick: (e) => {
|
|
5
7
|
e.preventDefault();
|
|
6
8
|
changeRoute(null);
|
|
7
9
|
}, ...otherProps },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterHeader.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterHeader.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DateFilterHeader.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterBody/DateFilterHeader.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAGxB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IAC9C,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAE3C,OAAO,CACH,gCACI,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,iEAAiE,EAC3E,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACX,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,KACG,UAAU;QAEd,8BAAM,SAAS,EAAC,sBAAsB,GAAG;;QAClC,QAAQ,CACV,CACZ,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -11,6 +11,8 @@ export interface IDateFilterButtonProps {
|
|
|
11
11
|
customIcon?: IFilterButtonCustomIcon;
|
|
12
12
|
children?: React.ReactNode;
|
|
13
13
|
customFilterName?: string;
|
|
14
|
+
buttonRef?: React.MutableRefObject<HTMLElement | null>;
|
|
15
|
+
dropdownId?: string;
|
|
14
16
|
onClick?: () => void;
|
|
15
17
|
textTitle?: string;
|
|
16
18
|
textSubtitle?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterButton.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButton/DateFilterButton.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"DateFilterButton.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButton/DateFilterButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAA0B,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoC7D,CAAC"}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
// (C) 2007-2025 GoodData Corporation
|
|
2
|
-
import React
|
|
2
|
+
import React from "react";
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { stringUtils } from "@gooddata/util";
|
|
5
|
-
import { isActionKey } from "@gooddata/sdk-ui-kit";
|
|
6
5
|
import { FilterButtonCustomIcon } from "../../shared/index.js";
|
|
7
|
-
export const DateFilterButton = ({ isOpen, isMobile, title, children, disabled, customIcon, customFilterName,
|
|
8
|
-
|
|
9
|
-
// This enables keyboard interaction events after focus
|
|
10
|
-
if (isActionKey(event)) {
|
|
11
|
-
event.preventDefault();
|
|
12
|
-
onClick();
|
|
13
|
-
}
|
|
14
|
-
}, [onClick]);
|
|
15
|
-
return (React.createElement("div", { className: cx("s-date-filter-button", "gd-date-filter-button", `s-date-filter-button-${stringUtils.simplifyText(customFilterName)}`, "dropdown-button", isMobile && "gd-date-filter-button-mobile", isOpen && "is-active", disabled && "disabled"), onKeyDown: onKeyDown, role: "button", tabIndex: 0 },
|
|
6
|
+
export const DateFilterButton = ({ isOpen, isMobile, title, children, disabled, customIcon, customFilterName, buttonRef, dropdownId, }) => {
|
|
7
|
+
return (React.createElement("div", { ref: buttonRef, className: cx("s-date-filter-button", "gd-date-filter-button", `s-date-filter-button-${stringUtils.simplifyText(customFilterName)}`, "dropdown-button", isMobile && "gd-date-filter-button-mobile", isOpen && "is-active", disabled && "disabled"), role: "button", "aria-haspopup": "dialog", "aria-expanded": isOpen, "aria-controls": isOpen ? dropdownId : undefined, tabIndex: 0 },
|
|
16
8
|
React.createElement("div", { className: "button-content" },
|
|
17
9
|
React.createElement("div", { className: "s-date-filter-title button-title" }, title),
|
|
18
10
|
React.createElement("div", { className: "button-subtitle" }, children)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterButton.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButton/DateFilterButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DateFilterButton.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButton/DateFilterButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAA2B,MAAM,uBAAuB,CAAC;AAoBxF,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAAC,EAC/D,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,GACb,EAAE,EAAE;IACD,OAAO,CACH,6BACI,GAAG,EAAE,SAAmD,EACxD,SAAS,EAAE,EAAE,CACT,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,EACpE,iBAAiB,EACjB,QAAQ,IAAI,8BAA8B,EAC1C,MAAM,IAAI,WAAW,EACrB,QAAQ,IAAI,UAAU,CACzB,EACD,IAAI,EAAC,QAAQ,mBACC,QAAQ,mBACP,MAAM,mBACN,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC9C,QAAQ,EAAE,CAAC;QAEX,6BAAK,SAAS,EAAC,gBAAgB;YAC3B,6BAAK,SAAS,EAAC,kCAAkC,IAAE,KAAK,CAAO;YAC/D,6BAAK,SAAS,EAAC,iBAAiB,IAAE,QAAQ,CAAO,CAC/C;QACN,oBAAC,sBAAsB,IAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACpE,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -10,6 +10,8 @@ export interface IDateFilterButtonLocalizedProps {
|
|
|
10
10
|
customFilterName?: string;
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
customIcon?: IFilterButtonCustomIcon;
|
|
13
|
+
buttonRef?: React.MutableRefObject<HTMLElement | null>;
|
|
14
|
+
dropdownId?: string;
|
|
13
15
|
onClick?: () => void;
|
|
14
16
|
ButtonComponent?: ComponentType<IDateFilterButtonProps>;
|
|
15
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterButtonLocalized.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAoB,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAKnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAShE,MAAM,WAAW,+BAA+B;IAC5C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"DateFilterButtonLocalized.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAoB,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAKnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAShE,MAAM,WAAW,+BAA+B;IAC5C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA4C/E,CAAC"}
|
|
@@ -9,14 +9,14 @@ const ALIGN_POINT = [
|
|
|
9
9
|
{ align: "cc tc", offset: { x: 0, y: 10 } },
|
|
10
10
|
{ align: "bl tr", offset: { x: -2, y: -8 } },
|
|
11
11
|
];
|
|
12
|
-
export const DateFilterButtonLocalized = ({ dateFilterOption, dateFormat, isOpen = false, isMobile = true, customFilterName, disabled, customIcon, onClick, ButtonComponent, }) => {
|
|
12
|
+
export const DateFilterButtonLocalized = ({ dateFilterOption, dateFormat, isOpen = false, isMobile = true, customFilterName, disabled, customIcon, buttonRef, dropdownId, onClick, ButtonComponent, }) => {
|
|
13
13
|
const intl = useIntl();
|
|
14
14
|
const defaultTitle = intl.formatMessage({ id: "dateFilterDropdown.title" });
|
|
15
15
|
const textTitle = customFilterName ?? defaultTitle;
|
|
16
16
|
const title = customFilterName ? (React.createElement(ShortenedText, { tooltipAlignPoints: ALIGN_POINT }, customFilterName)) : (React.createElement(React.Fragment, null, textTitle));
|
|
17
17
|
const textSubtitle = useDateFilterText({ filter: dateFilterOption, dateFormat });
|
|
18
18
|
const Component = ButtonComponent ?? DateFilterButton;
|
|
19
|
-
return (React.createElement(Component, { title: title, isOpen: isOpen, isMobile: isMobile, disabled: disabled, customIcon: customIcon, customFilterName: customFilterName, onClick: onClick, textTitle: textTitle, textSubtitle: textSubtitle },
|
|
19
|
+
return (React.createElement(Component, { title: title, isOpen: isOpen, isMobile: isMobile, disabled: disabled, customIcon: customIcon, customFilterName: customFilterName, onClick: onClick, textTitle: textTitle, textSubtitle: textSubtitle, buttonRef: buttonRef, dropdownId: dropdownId },
|
|
20
20
|
React.createElement("span", { className: "s-button-text" },
|
|
21
21
|
React.createElement(DateFilterTextLocalized, { filter: dateFilterOption, dateFormat: dateFormat }))));
|
|
22
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterButtonLocalized.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,yCAAyC,CAAC;AACnG,OAAO,EACH,uBAAuB,EACvB,iBAAiB,GACpB,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,GAAG;IAChB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;IAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;CAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"DateFilterButtonLocalized.js","sourceRoot":"","sources":["../../../src/DateFilter/DateFilterButtonLocalized/DateFilterButtonLocalized.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,yCAAyC,CAAC;AACnG,OAAO,EACH,uBAAuB,EACvB,iBAAiB,GACpB,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,GAAG;IAChB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;IAC3C,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;CAC/C,CAAC;AAgBF,MAAM,CAAC,MAAM,yBAAyB,GAA8C,CAAC,EACjF,gBAAgB,EAChB,UAAU,EACV,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,IAAI,EACf,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,OAAO,EACP,eAAe,GAClB,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,gBAAgB,IAAI,YAAY,CAAC;IACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAC7B,oBAAC,aAAa,IAAC,kBAAkB,EAAE,WAAW,IAAG,gBAAgB,CAAiB,CACrF,CAAC,CAAC,CAAC,CACA,0CAAG,SAAS,CAAI,CACnB,CAAC;IACF,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,MAAM,SAAS,GAAG,eAAe,IAAI,gBAAgB,CAAC;IAEtD,OAAO,CACH,oBAAC,SAAS,IACN,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU;QAEtB,8BAAM,SAAS,EAAC,eAAe;YAC3B,oBAAC,uBAAuB,IAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,GAAI,CAC1E,CACC,CACf,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"DateFilterCore.d.ts","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAA0C,MAAM,OAAO,CAAC;AAMrF,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAY,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQ9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAShF,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,wBAAwB,CAAC;IACxC;;OAEG;IACH,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,4BAA4B,EAAE,gBAAgB,CAAC;IAE/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,4BAA4B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,6BAA6B,EAAE,OAAO,CAAC;IAEvC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,4BAA4B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAE9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAExD;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAED,eAAO,MAAM,gBAAgB,eAAgB,MAAM,KAAG,MAYrD,CAAC;AAKF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoLzD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2007-2025 GoodData Corporation
|
|
2
|
-
import React, { useMemo, useRef, useState } from "react";
|
|
2
|
+
import React, { useCallback, useMemo, useRef, useState } from "react";
|
|
3
3
|
import flow from "lodash/flow.js";
|
|
4
4
|
import noop from "lodash/noop.js";
|
|
5
5
|
import DefaultMediaQuery from "react-responsive";
|
|
@@ -14,6 +14,8 @@ import { applyExcludeCurrentPeriod } from "./utils/PeriodExclusion.js";
|
|
|
14
14
|
import { DEFAULT_DATE_FORMAT, TIME_FORMAT_WITH_SEPARATOR } from "./constants/Platform.js";
|
|
15
15
|
import { filterVisibleDateFilterOptions, sanitizePresetIntervals } from "./utils/OptionUtils.js";
|
|
16
16
|
import isEmpty from "lodash/isEmpty.js";
|
|
17
|
+
import { createDateFilterKeyboardHandler } from "./accessibility/keyboardNavigation.js";
|
|
18
|
+
import { DATE_FILTER_SELECTED_LIST_ITEM_ID } from "./accessibility/elementId.js";
|
|
17
19
|
// There are known compatibility issues between CommonJS (CJS) and ECMAScript modules (ESM).
|
|
18
20
|
// In ESM, default exports of CJS modules are wrapped in default properties instead of being exposed directly.
|
|
19
21
|
// https://github.com/microsoft/TypeScript/issues/49189#issuecomment-1137802865
|
|
@@ -34,6 +36,8 @@ const adjustDateFormatForDisplay = (dateFormat, isTimeForAbsoluteRangeEnabled =
|
|
|
34
36
|
export const DateFilterCore = ({ originalSelectedFilterOption, originalExcludeCurrentPeriod, selectedFilterOption, excludeCurrentPeriod, onDropdownOpenChanged, customFilterName, dateFormat, disabled, openOnInit, locale, filterOptions, isTimeForAbsoluteRangeEnabled, weekStart, customIcon, FilterConfigurationComponent, onApplyClick, onCancelClick, showDropDownHeaderMessage, withoutApply, ButtonComponent, overlayPositionType, ...dropdownBodyProps }) => {
|
|
35
37
|
const [isConfigurationOpen, setIsConfigurationOpen] = useState(false);
|
|
36
38
|
const verifiedDateFormat = verifyDateFormat(dateFormat);
|
|
39
|
+
const dateFilterContainerRef = useRef(null);
|
|
40
|
+
const dateFilterBodyRef = useRef(null);
|
|
37
41
|
const filteredFilterOptions = useMemo(() => {
|
|
38
42
|
return flow(filterVisibleDateFilterOptions, sanitizePresetIntervals)(filterOptions);
|
|
39
43
|
}, [filterOptions]);
|
|
@@ -55,23 +59,32 @@ export const DateFilterCore = ({ originalSelectedFilterOption, originalExcludeCu
|
|
|
55
59
|
};
|
|
56
60
|
const lastValidSelectedFilterOption = useLastValidValue(selectedFilterOption, isEmpty(dropdownBodyProps.errors));
|
|
57
61
|
const lastValidExcludeCurrentPeriod = useLastValidValue(excludeCurrentPeriod, isEmpty(dropdownBodyProps.errors));
|
|
62
|
+
const handleKeyDown = useCallback((event, closeDropdown = noop) => {
|
|
63
|
+
const keyboardHandler = createDateFilterKeyboardHandler({
|
|
64
|
+
dateFilterContainerRef,
|
|
65
|
+
dateFilterBodyRef,
|
|
66
|
+
closeDropdown,
|
|
67
|
+
});
|
|
68
|
+
keyboardHandler(event);
|
|
69
|
+
}, [dateFilterContainerRef, dateFilterBodyRef]);
|
|
58
70
|
return (React.createElement(IntlWrapper, { locale: locale || "en-US" },
|
|
59
71
|
React.createElement(MediaQuery, { query: MediaQueries.IS_MOBILE_DEVICE }, (isMobile) => {
|
|
60
|
-
const dateFilterButton = (isOpen = false, toggleDropdown = noop) => (React.createElement(DateFilterButtonLocalized, { disabled: disabled, isMobile: isMobile, isOpen: isOpen, dateFilterOption: applyExcludeCurrentPeriod(withoutApply ? lastValidSelectedFilterOption : originalSelectedFilterOption, withoutApply ? lastValidExcludeCurrentPeriod : originalExcludeCurrentPeriod), dateFormat: adjustDateFormatForDisplay(verifiedDateFormat, isTimeForAbsoluteRangeEnabled), customFilterName: customFilterName, customIcon: customIcon, onClick: toggleDropdown, ButtonComponent: ButtonComponent }));
|
|
61
|
-
return (React.createElement(Dropdown, { openOnInit: openOnInit, closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, enableEventPropagation: true, alignPoints: [
|
|
72
|
+
const dateFilterButton = (isOpen = false, buttonRef = null, dropdownId = "", toggleDropdown = noop) => (React.createElement(DateFilterButtonLocalized, { disabled: disabled, isMobile: isMobile, isOpen: isOpen, dateFilterOption: applyExcludeCurrentPeriod(withoutApply ? lastValidSelectedFilterOption : originalSelectedFilterOption, withoutApply ? lastValidExcludeCurrentPeriod : originalExcludeCurrentPeriod), dateFormat: adjustDateFormatForDisplay(verifiedDateFormat, isTimeForAbsoluteRangeEnabled), customFilterName: customFilterName, customIcon: customIcon, onClick: toggleDropdown, ButtonComponent: ButtonComponent, buttonRef: buttonRef, dropdownId: dropdownId }));
|
|
73
|
+
return (React.createElement(Dropdown, { openOnInit: openOnInit, closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, enableEventPropagation: true, autofocusOnOpen: true, initialFocus: DATE_FILTER_SELECTED_LIST_ITEM_ID, alignPoints: [
|
|
62
74
|
{ align: "bl tl" },
|
|
63
75
|
{ align: "tr tl" },
|
|
64
76
|
{ align: "br tr", offset: { x: -11 } },
|
|
65
77
|
{ align: "tr tl", offset: { x: 0, y: -100 } },
|
|
66
78
|
{ align: "tr tl", offset: { x: 0, y: -50 } },
|
|
67
|
-
], onOpenStateChanged: handleOpenStateChanged, overlayPositionType: overlayPositionType, renderButton: ({ isOpen, toggleDropdown }) => (React.createElement("span", { onClick: disabled ? noop : toggleDropdown }, dateFilterButton(isOpen, toggleDropdown))), ignoreClicksOnByClass: [
|
|
79
|
+
], onOpenStateChanged: handleOpenStateChanged, overlayPositionType: overlayPositionType, renderButton: ({ isOpen, buttonRef, dropdownId, toggleDropdown }) => (React.createElement("span", { onClick: disabled ? noop : toggleDropdown }, dateFilterButton(isOpen, buttonRef, dropdownId, toggleDropdown))), ignoreClicksOnByClass: [
|
|
68
80
|
".s-do-not-close-dropdown-on-click",
|
|
69
81
|
".rdp-day", // absolute range picker calendar items
|
|
70
|
-
], renderBody: ({ closeDropdown }) => {
|
|
82
|
+
], renderBody: ({ closeDropdown, ariaAttributes }) => {
|
|
71
83
|
return isConfigurationOpen ? (React.createElement(FilterConfigurationComponent, { onSaveButtonClick: closeConfiguration, onCancelButtonClick: cancelConfiguration })) : (
|
|
72
84
|
// Dropdown component uses React.Children.map and adds special props to this component
|
|
73
85
|
// https://stackoverflow.com/questions/32370994/how-to-pass-props-to-this-props-children
|
|
74
|
-
React.createElement(
|
|
86
|
+
React.createElement("div", { role: "dialog", className: "gd-extended-date-filter-container", id: ariaAttributes.id, ref: dateFilterContainerRef, onKeyDown: (e) => handleKeyDown(e, closeDropdown) },
|
|
87
|
+
React.createElement(DateFilterBody, { ...dropdownBodyProps, selectedFilterOption: selectedFilterOption, excludeCurrentPeriod: excludeCurrentPeriod, showHeaderMessage: showDropDownHeaderMessage, onApplyClick: onApplyClick, onCancelClick: onCancelClick, filterOptions: filteredFilterOptions, isMobile: isMobile, closeDropdown: closeDropdown, dateFilterButton: dateFilterButton(), dateFormat: verifiedDateFormat, isTimeForAbsoluteRangeEnabled: isTimeForAbsoluteRangeEnabled, weekStart: weekStart, isConfigurationEnabled: FilterConfigurationComponent !== undefined, onConfigurationClick: openConfiguration, withoutApply: withoutApply, ref: dateFilterBodyRef })));
|
|
75
88
|
} }));
|
|
76
89
|
})));
|
|
77
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterCore.js","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAiB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DateFilterCore.js","sourceRoot":"","sources":["../../src/DateFilter/DateFilterCore.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IInputAccessibilityConfig, IDateInputErrorMessageTexts } from "./types.js";
|
|
3
|
+
export interface IDateInputProps {
|
|
4
|
+
value: Date;
|
|
5
|
+
inputLabel: string;
|
|
6
|
+
onChange: (date: Date) => void;
|
|
7
|
+
onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
8
|
+
onClick: () => void;
|
|
9
|
+
dateFormat: string;
|
|
10
|
+
isMobile: boolean;
|
|
11
|
+
isTimeEnabled: boolean;
|
|
12
|
+
isDateOrderError?: boolean;
|
|
13
|
+
errorMessageTexts: IDateInputErrorMessageTexts;
|
|
14
|
+
accessibilityConfig: IInputAccessibilityConfig;
|
|
15
|
+
}
|
|
16
|
+
export declare const DateInput: React.ForwardRefExoticComponent<IDateInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
17
|
+
//# sourceMappingURL=DateInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAgB7E,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,mBAAmB,EAAE,yBAAyB,CAAC;CAClD;AAwGD,eAAO,MAAM,SAAS,0FAgFpB,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import React, { useCallback, useState, useEffect } from "react";
|
|
3
|
+
import cx from "classnames";
|
|
4
|
+
import isEmpty from "lodash/isEmpty.js";
|
|
5
|
+
import { useId } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { convertPlatformDateStringToDate } from "../utils/DateConversions.js";
|
|
7
|
+
import { DateRangePickerInputFieldBody } from "./DateRangePickerInputFieldBody.js";
|
|
8
|
+
import { buildAriaDescribedByValue, parseDate, formatDate, isValidDate, getPlatformStringFromDate, } from "./utils.js";
|
|
9
|
+
import { InputErrorMessage } from "./InputErrorMessage.js";
|
|
10
|
+
const getErrorMessage = (errorCause, isDateOrderError, messages) => {
|
|
11
|
+
if (errorCause === "empty") {
|
|
12
|
+
return messages.emptyDate;
|
|
13
|
+
}
|
|
14
|
+
else if (errorCause === "invalid") {
|
|
15
|
+
return messages.invalidDate;
|
|
16
|
+
}
|
|
17
|
+
else if (isDateOrderError) {
|
|
18
|
+
return messages.startDateAfterEndDate;
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
};
|
|
22
|
+
const useDateInput = ({ value, dateFormat, onChange, isDateOrderError = false, errorMessageTexts, }) => {
|
|
23
|
+
const [inputValue, setInputValue] = useState(formatDate(value, dateFormat));
|
|
24
|
+
const [errorCause, setErrorCause] = useState(undefined);
|
|
25
|
+
const hasError = errorCause !== undefined || isDateOrderError;
|
|
26
|
+
const errorMessage = getErrorMessage(errorCause, isDateOrderError, errorMessageTexts);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
const newValue = formatDate(value, dateFormat);
|
|
29
|
+
setInputValue(newValue);
|
|
30
|
+
if (newValue !== undefined) {
|
|
31
|
+
setErrorCause(undefined);
|
|
32
|
+
}
|
|
33
|
+
}, [value, dateFormat]);
|
|
34
|
+
const onDateInputChange = useCallback((event) => {
|
|
35
|
+
const newValue = event.target.value;
|
|
36
|
+
setInputValue(newValue);
|
|
37
|
+
const newDate = parseDate(newValue, dateFormat);
|
|
38
|
+
// commit changed value when time is valid but only once, then it is reported again only on blur
|
|
39
|
+
if (isValidDate(newDate) && hasError) {
|
|
40
|
+
setErrorCause(undefined);
|
|
41
|
+
onChange(newDate);
|
|
42
|
+
}
|
|
43
|
+
}, [dateFormat, onChange, hasError]);
|
|
44
|
+
const onDateInputBlur = useCallback(() => {
|
|
45
|
+
// Report value only when it changed, i.e., user typed a new value.
|
|
46
|
+
// Do not report the same value when user just focused field by click to open calendar popup
|
|
47
|
+
// and then selected value which caused blur event and call of this handler.
|
|
48
|
+
const previousValue = formatDate(value, dateFormat);
|
|
49
|
+
if (previousValue === inputValue) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (isEmpty(inputValue)) {
|
|
53
|
+
setErrorCause("empty");
|
|
54
|
+
onChange(undefined);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const date = parseDate(inputValue, dateFormat);
|
|
58
|
+
if (date === undefined) {
|
|
59
|
+
setErrorCause("invalid");
|
|
60
|
+
onChange(undefined);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
setErrorCause(null);
|
|
64
|
+
onChange(date);
|
|
65
|
+
}, [dateFormat, inputValue, onChange, value]);
|
|
66
|
+
const onMobileDateChange = useCallback((event) => {
|
|
67
|
+
const value = event.target.value;
|
|
68
|
+
const selectedDate = convertPlatformDateStringToDate(value);
|
|
69
|
+
const isValid = isValidDate(selectedDate);
|
|
70
|
+
onChange(isValid ? selectedDate : undefined);
|
|
71
|
+
setErrorCause(isValid ? undefined : "empty");
|
|
72
|
+
}, [onChange]);
|
|
73
|
+
return {
|
|
74
|
+
inputValue,
|
|
75
|
+
errorMessage,
|
|
76
|
+
onDateInputChange,
|
|
77
|
+
onMobileDateChange,
|
|
78
|
+
onDateInputBlur,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export const DateInput = React.forwardRef((props, ref) => {
|
|
82
|
+
const { value, inputLabel, onKeyDown, onClick, onChange, dateFormat, accessibilityConfig, isMobile, isTimeEnabled, isDateOrderError, errorMessageTexts, } = props;
|
|
83
|
+
const { inputValue, errorMessage, onDateInputChange, onMobileDateChange, onDateInputBlur } = useDateInput({
|
|
84
|
+
value,
|
|
85
|
+
dateFormat,
|
|
86
|
+
onChange,
|
|
87
|
+
isDateOrderError,
|
|
88
|
+
errorMessageTexts,
|
|
89
|
+
});
|
|
90
|
+
const inputLabelId = useId();
|
|
91
|
+
const inputErrorId = useId();
|
|
92
|
+
const MobileInput = (React.createElement(DateRangePickerInputFieldBody, { type: "date", className: cx("s-date-range-picker-date", "gd-date-range-picker-input", "gd-date-range-picker-input-native", {
|
|
93
|
+
"gd-date-range-picker-input-error": errorMessage,
|
|
94
|
+
"has-error": errorMessage,
|
|
95
|
+
}), onChange: onMobileDateChange, value: getPlatformStringFromDate(value) }));
|
|
96
|
+
const DesktopInput = (React.createElement("div", { className: cx("gd-date-range-picker-input", {
|
|
97
|
+
"gd-date-range-picker-input-error": !!errorMessage,
|
|
98
|
+
"has-error": !!errorMessage,
|
|
99
|
+
}) },
|
|
100
|
+
React.createElement("span", { className: "gd-icon-calendar" }),
|
|
101
|
+
React.createElement("input", { onKeyDown: onKeyDown, ref: ref, "aria-label": accessibilityConfig.ariaLabel, placeholder: dateFormat, onChange: onDateInputChange, onClick: onClick, onBlur: onDateInputBlur, value: inputValue, className: "input-text s-date-range-picker-input-field", "aria-labelledby": inputLabelId, "aria-describedby": buildAriaDescribedByValue([
|
|
102
|
+
accessibilityConfig.inputHintId,
|
|
103
|
+
errorMessage ? inputErrorId : undefined,
|
|
104
|
+
]), ...(errorMessage ? { "aria-invalid": true } : {}) })));
|
|
105
|
+
return (React.createElement("div", { className: cx("gd-date-range-column", { "gd-date-range-column--with-time": isTimeEnabled }) },
|
|
106
|
+
React.createElement("label", { id: inputLabelId }, inputLabel),
|
|
107
|
+
isMobile ? MobileInput : DesktopInput,
|
|
108
|
+
React.createElement(InputErrorMessage, { descriptionId: inputErrorId, errorText: errorMessage })));
|
|
109
|
+
});
|
|
110
|
+
DateInput.displayName = "DateInput";
|
|
111
|
+
//# sourceMappingURL=DateInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.js","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IntlShape } from "react-intl";
|
|
3
|
+
import { WeekStart } from "@gooddata/sdk-model";
|
|
4
|
+
import { DayPickerRangeProps, SelectRangeEventHandler } from "react-day-picker";
|
|
5
|
+
import { IDateRange } from "./types.js";
|
|
6
|
+
import { DateRangePosition } from "../interfaces/index.js";
|
|
7
|
+
export declare const DayPicker: React.ForwardRefExoticComponent<{
|
|
8
|
+
mode: DateRangePosition;
|
|
9
|
+
originalDateRange: IDateRange;
|
|
10
|
+
selectedDateRange: IDateRange;
|
|
11
|
+
alignTo: string;
|
|
12
|
+
calendarClassNames: string;
|
|
13
|
+
onDateRangeSelect: SelectRangeEventHandler;
|
|
14
|
+
dayPickerProps?: DayPickerRangeProps;
|
|
15
|
+
weekStart?: WeekStart;
|
|
16
|
+
renderAsOverlay?: boolean;
|
|
17
|
+
intl: IntlShape;
|
|
18
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAEH,mBAAmB,EACnB,uBAAuB,EAE1B,MAAM,kBAAkB,CAAC;AAkB1B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsC3D,eAAO,MAAM,SAAS;UAGR,iBAAiB;uBACJ,UAAU;uBACV,UAAU;aACpB,MAAM;wBACK,MAAM;uBACP,uBAAuB;qBACzB,mBAAmB;gBACxB,SAAS;sBACH,OAAO;UACnB,SAAS;wCAgEtB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import React, { forwardRef, useState } from "react";
|
|
3
|
+
import { Overlay } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
import { DayPicker as DayPickerComponent, } from "react-day-picker";
|
|
5
|
+
import enUS from "date-fns/locale/en-US/index.js";
|
|
6
|
+
import de from "date-fns/locale/de/index.js";
|
|
7
|
+
import es from "date-fns/locale/es/index.js";
|
|
8
|
+
import fr from "date-fns/locale/fr/index.js";
|
|
9
|
+
import ja from "date-fns/locale/ja/index.js";
|
|
10
|
+
import nl from "date-fns/locale/nl/index.js";
|
|
11
|
+
import pt from "date-fns/locale/pt/index.js";
|
|
12
|
+
import ptBR from "date-fns/locale/pt-BR/index.js";
|
|
13
|
+
import zhCN from "date-fns/locale/zh-CN/index.js";
|
|
14
|
+
import ru from "date-fns/locale/ru/index.js";
|
|
15
|
+
import it from "date-fns/locale/it/index.js";
|
|
16
|
+
import enGB from "date-fns/locale/en-GB/index.js";
|
|
17
|
+
import frCA from "date-fns/locale/fr-CA/index.js";
|
|
18
|
+
import enAU from "date-fns/locale/en-AU/index.js";
|
|
19
|
+
import fi from "date-fns/locale/fi/index.js";
|
|
20
|
+
import { mergeDayPickerProps } from "./utils.js";
|
|
21
|
+
const convertedLocales = {
|
|
22
|
+
"en-US": enUS,
|
|
23
|
+
"de-DE": de,
|
|
24
|
+
"es-ES": es,
|
|
25
|
+
"fr-FR": fr,
|
|
26
|
+
"ja-JP": ja,
|
|
27
|
+
"nl-NL": nl,
|
|
28
|
+
"pt-BR": ptBR,
|
|
29
|
+
"pt-PT": pt,
|
|
30
|
+
"zh-Hans": zhCN,
|
|
31
|
+
"ru-RU": ru,
|
|
32
|
+
"it-IT": it,
|
|
33
|
+
"es-419": es,
|
|
34
|
+
"en-GB": enGB,
|
|
35
|
+
"fr-CA": frCA,
|
|
36
|
+
"zh-Hant": zhCN,
|
|
37
|
+
"en-AU": enAU,
|
|
38
|
+
"fi-FI": fi,
|
|
39
|
+
"zh-HK": zhCN,
|
|
40
|
+
};
|
|
41
|
+
const ALIGN_POINTS = [{ align: "bl tl", offset: { x: 0, y: 1 } }];
|
|
42
|
+
const convertLocale = (locale) => convertedLocales[locale];
|
|
43
|
+
function convertWeekStart(weekStart) {
|
|
44
|
+
switch (weekStart) {
|
|
45
|
+
case "Sunday":
|
|
46
|
+
return 0;
|
|
47
|
+
case "Monday":
|
|
48
|
+
return 1;
|
|
49
|
+
default:
|
|
50
|
+
throw new Error(`Unknown week start ${weekStart}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export const DayPicker = forwardRef(({ mode, originalDateRange, selectedDateRange, onDateRangeSelect, dayPickerProps, alignTo, weekStart, renderAsOverlay, calendarClassNames, intl, }, ref) => {
|
|
54
|
+
const [currentMonthDate, setCurrentMonthDate] = useState(mode === "from" ? selectedDateRange.from : selectedDateRange.to);
|
|
55
|
+
const defaultDayPickerProps = {
|
|
56
|
+
mode: "range",
|
|
57
|
+
showOutsideDays: true,
|
|
58
|
+
modifiers: { start: originalDateRange.from, end: originalDateRange.to },
|
|
59
|
+
selected: { from: originalDateRange.from, to: originalDateRange.to },
|
|
60
|
+
locale: convertLocale(intl.locale),
|
|
61
|
+
};
|
|
62
|
+
const dayPickerPropsWithDefaults = mergeDayPickerProps(defaultDayPickerProps, dayPickerProps);
|
|
63
|
+
const DatePicker = (React.createElement("div", { className: "gd-date-range-picker-wrapper", ref: ref },
|
|
64
|
+
React.createElement(DayPickerComponent, { ...dayPickerPropsWithDefaults, month: currentMonthDate, onSelect: onDateRangeSelect, selected: selectedDateRange, classNames: {
|
|
65
|
+
root: calendarClassNames,
|
|
66
|
+
}, onMonthChange: setCurrentMonthDate, weekStartsOn: convertWeekStart(weekStart) })));
|
|
67
|
+
const OverlayDatePicker = (React.createElement(Overlay, { alignTo: alignTo, alignPoints: ALIGN_POINTS, closeOnOutsideClick: true, closeOnMouseDrag: true, closeOnParentScroll: true }, DatePicker));
|
|
68
|
+
if (renderAsOverlay) {
|
|
69
|
+
return OverlayDatePicker;
|
|
70
|
+
}
|
|
71
|
+
return DatePicker;
|
|
72
|
+
});
|
|
73
|
+
DayPicker.displayName = "DayPicker";
|
|
74
|
+
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IntlShape } from "react-intl";
|
|
3
|
+
export declare const DateRangeHint: React.FC<{
|
|
4
|
+
dateFormat: string;
|
|
5
|
+
isTimeEnabled: boolean;
|
|
6
|
+
dateHintId: string;
|
|
7
|
+
timeHintId: string;
|
|
8
|
+
intl: IntlShape;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=DateRangeHint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateRangeHint.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/DateRangePicker/DateRangeHint.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACnB,CAYA,CAAC"}
|