@gooddata/sdk-ui-filters 11.55.0 → 11.56.0-alpha.1
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/AttributeFilterDefaultComponents.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Addons/AttributeDatasetInfo.js +1 -3
- package/esm/AttributeFilter/Components/Addons/AttributeFilterConfigurationButton.js +1 -3
- package/esm/AttributeFilter/Components/Addons/AttributeFilterDeleteButton.js +1 -3
- package/esm/AttributeFilter/Components/Addons/AttributeFilterDependencyTooltip.js +1 -3
- package/esm/AttributeFilter/Components/Addons/hooks/useAutoOpenAttributeFilterDropdownButton.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Addons/hooks/useOnCloseAttributeFilterDropdownButton.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDetailsBubble.js +2 -16
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownActions.js +1 -4
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownBody.js +1 -2
- package/esm/AttributeFilter/Components/Dropdown/AttributeFilterDropdownHeader.js +1 -4
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterButtonErrorTooltip.js +1 -2
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterButtonTooltip.js +1 -3
- package/esm/AttributeFilter/Components/DropdownButton/AttributeFilterSimpleDropdownButton.js +1 -4
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItem.js +2 -8
- package/esm/AttributeFilter/Components/ElementsSelect/AttributeFilterElementsSelectItemTooltip.js +1 -3
- package/esm/AttributeFilter/Components/ElementsSelect/EmptyResult/AttributeFilterEmptyFilteredResult.js +5 -15
- package/esm/AttributeFilter/Components/ElementsSelect/SingleSelectionAttributeFilterElementsSelectItem.js +1 -4
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterFilteredStatus.js +2 -6
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterIrrelevantSelectionStatus.js +2 -4
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterShowFilteredElements.js +2 -6
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/AttributeFilterStatusBar.js +2 -4
- package/esm/AttributeFilter/Components/ElementsSelect/StatusBar/SingleSelectionAttributeFilterStatusBar.js +1 -2
- package/esm/AttributeFilter/Components/FilterMenu/FilterMenuDropdownBody.js +2 -6
- package/esm/AttributeFilter/Components/FilterMenu/FilterMenuSectionHeader.js +1 -2
- package/esm/AttributeFilter/Components/TextFilterBody/ArbitraryValuesInput.js +3 -6
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterBody.js +4 -11
- package/esm/AttributeFilter/Components/TextFilterBody/TextFilterStateSummary.js +1 -5
- package/esm/AttributeFilter/Components/TextFilterBody/useArbitraryValuesInput.d.ts +3 -3
- package/esm/AttributeFilter/Components/TextFilterBody/useArbitraryValuesInput.d.ts.map +1 -1
- package/esm/AttributeFilter/Components/TextFilterBody/useTextFilterBodyTexts.d.ts.map +1 -1
- package/esm/AttributeFilter/Context/AttributeFilterComponentsContext.d.ts.map +1 -1
- package/esm/AttributeFilter/Context/AttributeFilterContext.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterController.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterHandler.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterHandlerState.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useAttributeFilterSearch.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useResolveDependentDateFiltersInput.d.ts +1 -1
- package/esm/AttributeFilter/hooks/useResolveDependentDateFiltersInput.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useResolveFilterInput.d.ts +1 -1
- package/esm/AttributeFilter/hooks/useResolveFilterInput.d.ts.map +1 -1
- package/esm/AttributeFilter/hooks/useResolveParentFiltersInput.d.ts +1 -1
- package/esm/AttributeFilter/hooks/useResolveParentFiltersInput.d.ts.map +1 -1
- package/esm/AttributeFilter/utils.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/AttributeFilterHandler.test.helpers.d.ts +4 -4
- package/esm/AttributeFilterHandler/AttributeFilterHandler.test.helpers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/bridge.d.ts +13 -13
- package/esm/AttributeFilterHandler/internal/bridge.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/callbacks.d.ts +32 -32
- package/esm/AttributeFilterHandler/internal/callbacks.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/loader.d.ts +11 -11
- package/esm/AttributeFilterHandler/internal/loader.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/multiSelectHandler.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/common/selectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/displayForms/displayFormsReducers.d.ts +4 -3
- package/esm/AttributeFilterHandler/internal/redux/displayForms/displayFormsReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/elements/elementsReducers.d.ts +8 -7
- package/esm/AttributeFilterHandler/internal/redux/elements/elementsReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/elements/elementsSelectors.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/elements/loadElementsFromBackend.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts +8 -7
- package/esm/AttributeFilterHandler/internal/redux/init/initReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeByDisplayForm.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeByDisplayForm.js +30 -2
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeReducers.d.ts +6 -5
- package/esm/AttributeFilterHandler/internal/redux/loadAttribute/loadAttributeReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadCustomElements/loadCustomElementsReducers.d.ts +7 -6
- package/esm/AttributeFilterHandler/internal/redux/loadCustomElements/loadCustomElementsReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageReducers.d.ts +6 -5
- package/esm/AttributeFilterHandler/internal/redux/loadInitialElementsPage/loadInitialElementsPageReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadIrrelevantElements/loadIrrelevantElementsReducers.d.ts +7 -6
- package/esm/AttributeFilterHandler/internal/redux/loadIrrelevantElements/loadIrrelevantElementsReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageReducers.d.ts +6 -5
- package/esm/AttributeFilterHandler/internal/redux/loadNextElementsPage/loadNextElementsPageReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/selection/selectionReducers.d.ts +2 -2
- package/esm/AttributeFilterHandler/internal/redux/selection/selectionReducers.d.ts.map +1 -1
- package/esm/AttributeFilterHandler/internal/redux/store/rootReducers.d.ts +46 -46
- package/esm/AttributeFilterHandler/internal/redux/store/slice.d.ts +46 -46
- package/esm/AttributeFilterHandler/internal/singleSelectHandler.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts +29 -2
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/AbsoluteDateFilterForm.js +38 -5
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts +17 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.d.ts.map +1 -1
- package/esm/DateFilter/AbsoluteDateFilterForm/conversions.js +17 -1
- package/esm/DateFilter/CheckboxSection/CheckboxSection.js +2 -6
- package/esm/DateFilter/DateFilter.d.ts +10 -0
- package/esm/DateFilter/DateFilter.d.ts.map +1 -1
- package/esm/DateFilter/DateFilter.js +2 -2
- package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts +1 -0
- package/esm/DateFilter/DateFilterBody/DateFilterBody.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterBody.js +50 -30
- package/esm/DateFilter/DateFilterBody/DateFilterBodyContentFiltered.js +1 -3
- package/esm/DateFilter/DateFilterBody/DateFilterConfigurationButton.js +1 -3
- package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts +3 -1
- package/esm/DateFilter/DateFilterBody/DateFilterFormContent.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterBody/DateFilterFormContent.js +4 -5
- package/esm/DateFilter/DateFilterBody/DateFilterFormNavigationWrapper.js +1 -2
- package/esm/DateFilter/DateFilterBody/DateFilterHeader.js +1 -3
- package/esm/DateFilter/DateFilterBody/EditModeMessage.js +2 -4
- package/esm/DateFilter/DateFilterBody/RelativePresetFilterItems.js +1 -2
- package/esm/DateFilter/DateFilterButton/DateFilterButton.js +1 -5
- package/esm/DateFilter/DateFilterCore.d.ts +1 -0
- package/esm/DateFilter/DateFilterCore.d.ts.map +1 -1
- package/esm/DateFilter/DateFilterCore.js +1 -4
- package/esm/DateFilter/DateFilterTextLocalized/DateFilterTextLocalized.d.ts +2 -2
- package/esm/DateFilter/DateFilterTextLocalized/DateFilterTextLocalized.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DateInput.js +3 -7
- package/esm/DateFilter/DateRangePicker/DatePicker.d.ts +5 -5
- package/esm/DateFilter/DateRangePicker/DatePicker.d.ts.map +1 -1
- package/esm/DateFilter/DateRangePicker/DatePicker.js +1 -30
- package/esm/DateFilter/DateRangePicker/DateRangeHint.js +1 -2
- package/esm/DateFilter/DateRangePicker/DateRangePicker.js +2 -4
- package/esm/DateFilter/DateRangePicker/DateRangePickerInputFieldBody.js +1 -3
- package/esm/DateFilter/DateRangePicker/DateTimePicker.js +1 -2
- package/esm/DateFilter/DateRangePicker/TimeInput.js +2 -6
- package/esm/DateFilter/DateRangePicker/utils.d.ts.map +1 -1
- package/esm/DateFilter/DynamicSelect/DynamicSelect.js +1 -2
- package/esm/DateFilter/DynamicSelect/RelativeRangeDynamicSelect.js +1 -2
- package/esm/DateFilter/DynamicSelect/utils.d.ts.map +1 -1
- package/esm/DateFilter/EmptyValuesHandlingToggle/EmptyValuesHandlingToggle.js +1 -5
- package/esm/DateFilter/ExcludeCurrentPeriodToggle/ExcludeCurrentPeriodToggle.js +2 -7
- package/esm/DateFilter/GranularityTabs.d.ts +20 -0
- package/esm/DateFilter/GranularityTabs.d.ts.map +1 -0
- package/esm/DateFilter/{RelativeDateFilterForm/GranularityTabs.js → GranularityTabs.js} +6 -6
- package/esm/DateFilter/ListItemTooltip/ListItemTooltip.js +1 -3
- package/esm/DateFilter/Other/OtherPresetsSection.js +1 -3
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.d.ts.map +1 -1
- package/esm/DateFilter/RelativeDateFilterForm/RelativeDateFilterForm.js +4 -6
- package/esm/DateFilter/RelativeRangePicker/RelativeRangePicker.js +2 -5
- package/esm/DateFilter/Select/ScrollableSelectMenu.d.ts.map +1 -1
- package/esm/DateFilter/Select/utils.d.ts +1 -1
- package/esm/DateFilter/Select/utils.d.ts.map +1 -1
- package/esm/DateFilter/Tabs/Tabs.d.ts +6 -1
- package/esm/DateFilter/Tabs/Tabs.d.ts.map +1 -1
- package/esm/DateFilter/Tabs/Tabs.js +2 -3
- package/esm/DateFilter/accessibility/elementId.d.ts +4 -0
- package/esm/DateFilter/accessibility/elementId.d.ts.map +1 -1
- package/esm/DateFilter/accessibility/elementId.js +4 -0
- package/esm/DateFilter/accessibility/keyboardNavigation.d.ts +3 -3
- package/esm/DateFilter/accessibility/keyboardNavigation.d.ts.map +1 -1
- package/esm/DateFilter/extendedDateFilters.test.helpers.d.ts.map +1 -1
- package/esm/DateFilter/index.d.ts +2 -2
- package/esm/DateFilter/interfaces/index.d.ts.map +1 -1
- package/esm/DateFilter/utils/AFMConversions.d.ts.map +1 -1
- package/esm/DateFilter/utils/DateConversions.d.ts +2 -2
- package/esm/DateFilter/utils/DateConversions.d.ts.map +1 -1
- package/esm/DateFilter/utils/DateFilterOptionMapping.d.ts.map +1 -1
- package/esm/DateFilter/utils/DateFilterOptionMapping.js +1 -0
- package/esm/DateFilter/utils/FormattingUtils.d.ts.map +1 -1
- package/esm/DateFilter/utils/OptionUtils.d.ts.map +1 -1
- package/esm/DateFilter/utils/OptionUtils.js +7 -4
- package/esm/DateFilter/utils/PeriodExclusion.d.ts.map +1 -1
- package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts +2 -2
- package/esm/DateFilter/utils/Translations/DateFilterTitle.d.ts.map +1 -1
- package/esm/DateFilter/utils/Translations/DateFilterTitle.js +36 -2
- package/esm/DateFilter/utils/Translations/Translators.d.ts +1 -0
- package/esm/DateFilter/utils/Translations/Translators.d.ts.map +1 -1
- package/esm/DateFilter/utils/Translations/Translators.js +1 -0
- package/esm/DateFilter/utils/dateFnsLocale.d.ts +9 -0
- package/esm/DateFilter/utils/dateFnsLocale.d.ts.map +1 -0
- package/esm/DateFilter/utils/dateFnsLocale.js +37 -0
- package/esm/DateFilter/utils/presetFilterUtils.d.ts +21 -1
- package/esm/DateFilter/utils/presetFilterUtils.d.ts.map +1 -1
- package/esm/DateFilter/utils/presetFilterUtils.js +28 -0
- package/esm/DateFilter/validation/OptionValidation.d.ts.map +1 -1
- package/esm/FilterGroup/useFilterGroupStatus.d.ts.map +1 -1
- package/esm/MeasureValueFilter/AttributePicker.d.ts +1 -1
- package/esm/MeasureValueFilter/AttributePicker.d.ts.map +1 -1
- package/esm/MeasureValueFilter/ComparisonInput.js +2 -4
- package/esm/MeasureValueFilter/ConditionInputSection.d.ts +1 -1
- package/esm/MeasureValueFilter/ConditionInputSection.d.ts.map +1 -1
- package/esm/MeasureValueFilter/ConditionInputSection.js +1 -2
- package/esm/MeasureValueFilter/DimensionalitySection.d.ts +1 -1
- package/esm/MeasureValueFilter/DimensionalitySection.d.ts.map +1 -1
- package/esm/MeasureValueFilter/DimensionalitySection.js +2 -8
- package/esm/MeasureValueFilter/Dropdown.js +1 -2
- package/esm/MeasureValueFilter/DropdownBody.d.ts +2 -2
- package/esm/MeasureValueFilter/DropdownBody.d.ts.map +1 -1
- package/esm/MeasureValueFilter/DropdownBody.js +5 -11
- package/esm/MeasureValueFilter/MeasureValueFilter.js +1 -2
- package/esm/MeasureValueFilter/MeasureValueFilterDetailsBubble.js +1 -9
- package/esm/MeasureValueFilter/MeasureValueFilterDropdown.test.utils.d.ts.map +1 -1
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownActions.js +1 -3
- package/esm/MeasureValueFilter/MeasureValueFilterDropdownHeader.js +1 -2
- package/esm/MeasureValueFilter/OperatorDropdown.d.ts +1 -1
- package/esm/MeasureValueFilter/OperatorDropdown.d.ts.map +1 -1
- package/esm/MeasureValueFilter/OperatorDropdown.js +1 -3
- package/esm/MeasureValueFilter/OperatorDropdownBody.d.ts +1 -1
- package/esm/MeasureValueFilter/OperatorDropdownBody.d.ts.map +1 -1
- package/esm/MeasureValueFilter/OperatorDropdownBody.js +3 -11
- package/esm/MeasureValueFilter/PreviewSection.d.ts +1 -1
- package/esm/MeasureValueFilter/PreviewSection.d.ts.map +1 -1
- package/esm/MeasureValueFilter/RangeInput.js +3 -7
- package/esm/MeasureValueFilter/TreatNullValuesAsZeroCheckbox.js +1 -5
- package/esm/MeasureValueFilter/helpers/measureValueFilterOperator.d.ts.map +1 -1
- package/esm/MeasureValueFilter/useDimensionalityEditor.d.ts +1 -1
- package/esm/MeasureValueFilter/useDimensionalityEditor.d.ts.map +1 -1
- package/esm/MeasureValueFilter/useDimensionalityEditor.js +1 -4
- package/esm/RankingFilter/AttributeDropdown/AttributeDropdown.js +1 -4
- package/esm/RankingFilter/AttributeDropdown/AttributeDropdownBody.js +1 -2
- package/esm/RankingFilter/AttributeDropdown/DropdownItems/AllRecordsItem.js +1 -5
- package/esm/RankingFilter/AttributeDropdown/DropdownItems/AttributeItem.js +1 -3
- package/esm/RankingFilter/MeasureDropdown/MeasureDropdown.js +1 -2
- package/esm/RankingFilter/MeasureDropdown/MeasureDropdownItem.js +1 -2
- package/esm/RankingFilter/OperatorDropdown/OperatorDropdown.js +1 -2
- package/esm/RankingFilter/OperatorDropdown/OperatorDropdownItem.js +1 -2
- package/esm/RankingFilter/RankingAttributesSection.d.ts +1 -1
- package/esm/RankingFilter/RankingAttributesSection.d.ts.map +1 -1
- package/esm/RankingFilter/RankingAttributesSection.js +2 -8
- package/esm/RankingFilter/RankingFilter.js +1 -2
- package/esm/RankingFilter/RankingFilterDropdown.d.ts.map +1 -1
- package/esm/RankingFilter/RankingFilterDropdown.test.utils.d.ts.map +1 -1
- package/esm/RankingFilter/RankingFilterDropdownBody.js +3 -19
- package/esm/RankingFilter/ValueDropdown/utils.d.ts.map +1 -1
- package/esm/sdk-ui-filters.d.ts +13 -2
- package/esm/shared/components/internal/FilterButtonCustomIcon.js +1 -3
- package/package.json +14 -14
- package/styles/css/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilter.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterAddons.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownBody.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterDropdownButton.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterElementsSelect.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterEmptyResult.css.map +1 -1
- package/styles/css/attributeFilterNext/attributeFilterStatusBar.css.map +1 -1
- package/styles/css/attributeFilterNext.css.map +1 -1
- package/styles/css/components/GranularityTabs.css +4 -2
- package/styles/css/components/GranularityTabs.css.map +1 -1
- package/styles/css/components/SelectMenu.css.map +1 -1
- package/styles/css/dateFilter.css +4 -2
- package/styles/css/dateFilter.css.map +1 -1
- package/styles/css/main.css +4 -2
- package/styles/css/main.css.map +1 -1
- package/styles/scss/components/GranularityTabs.scss +2 -1
- package/styles/scss/components/SelectMenu.scss +4 -4
- package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.d.ts +0 -10
- package/esm/DateFilter/RelativeDateFilterForm/GranularityTabs.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFMConversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/AFMConversions.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAGhC,MAAM,wBAAwB,CAAC;AAIhC,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AFMConversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/AFMConversions.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAGhC,MAAM,wBAAwB,CAAC;AAIhC,eAAO,MAAM,sBAAsB,UACxB,wBAAwB,WACtB,MAAM,KAChB,mBAMD,CAAC;AAEH,eAAO,MAAM,sBAAsB,UACxB,wBAAwB,WACtB,MAAM,KAChB,mBAYF,CAAC;AAEF,eAAO,MAAM,cAAc,UAChB,gBAAgB,eACV,MAAM,wBACG,OAAO,KAC9B,WAAW,GAAG,IAgBhB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const convertDateToPlatformDateString: (date: Date |
|
|
2
|
-
export declare const convertPlatformDateStringToDate: (platformDate: string | Date |
|
|
1
|
+
export declare const convertDateToPlatformDateString: (date: Date | undefined | null, dateFormat?: string) => string | undefined | null;
|
|
2
|
+
export declare const convertPlatformDateStringToDate: (platformDate: string | Date | undefined | null) => Date | undefined | null;
|
|
3
3
|
//# sourceMappingURL=DateConversions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateConversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/DateConversions.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"DateConversions.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/DateConversions.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,+BAA+B,SAClC,IAAI,GAAG,SAAS,GAAG,IAAI,0BAE9B,MAAM,GAAG,SAAS,GAAG,IAQvB,CAAC;AAEF,eAAO,MAAM,+BAA+B,iBAC1B,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,KAC/C,IAAI,GAAG,SAAS,GAAG,IAoBrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterOptionMapping.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/DateFilterOptionMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,oBAAoB,EAK5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAKhC,MAAM,wBAAwB,CAAC;AAYhC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAaD;;;;;;;;;;;GAWG;AACH,wBAAgB,+CAA+C,CAC3D,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,gBAAgB,EAAE,wBAAwB,EAC1C,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACtC,qBAAqB,CAmBvB;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,gBAAgB,EAAE,wBAAwB,GAC3C,qBAAqB,CA6EvB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,gBAAgB,EAAE,CAcxG;
|
|
1
|
+
{"version":3,"file":"DateFilterOptionMapping.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/DateFilterOptionMapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,oBAAoB,EAK5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAKhC,MAAM,wBAAwB,CAAC;AAYhC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAaD;;;;;;;;;;;GAWG;AACH,wBAAgB,+CAA+C,CAC3D,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,gBAAgB,EAAE,wBAAwB,EAC1C,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACtC,qBAAqB,CAmBvB;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC7C,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,gBAAgB,EAAE,wBAAwB,GAC3C,qBAAqB,CA6EvB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,gBAAgB,EAAE,CAcxG;AAuDD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,oBAAoB,EAChC,iBAAiB,EAAE,wBAAwB,gCAG9C"}
|
|
@@ -154,6 +154,7 @@ function reconstructFormForStoredFilter(options, dateFilter) {
|
|
|
154
154
|
from: dateFilter.dateFilter.from.toString(),
|
|
155
155
|
to: dateFilter.dateFilter.to.toString(),
|
|
156
156
|
type: "absoluteForm",
|
|
157
|
+
granularity: dateFilter.dateFilter.granularity,
|
|
157
158
|
...(dateFilter.dateFilter.emptyValueHandling
|
|
158
159
|
? { emptyValueHandling: dateFilter.dateFilter.emptyValueHandling }
|
|
159
160
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormattingUtils.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/FormattingUtils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"FormattingUtils.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/FormattingUtils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,WAAY,MAAM,KAAG,GAIvD,CAAC;AAEF,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2BjE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,WAAY,MAAM,WAC6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionUtils.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/OptionUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"OptionUtils.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/OptionUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,qBAAqB,EAM7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,gBAAgB,EAErB,KAAK,wBAAwB,EAEhC,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,8BAA8B,CAC1C,gBAAgB,EAAE,gBAAgB,GACnC,qBAAqB,GAAG,SAAS,CASnC;AA+BD,wBAAgB,oCAAoC,CAAC,EACjD,YAAY,EACZ,cAAc,EACd,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACjB,EAAE,wBAAwB,GAAG,wBAAwB,CASrD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,iBAAiB,EAAE,wBAAwB,GAC5C,wBAAwB,CAsB1B;AA+BD;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,iBAAiB,EAAE,wBAAwB,GAC5C,wBAAwB,CAW1B"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
// (C) 2019-2026 GoodData Corporation
|
|
2
2
|
import { isEmpty } from "lodash-es";
|
|
3
|
-
import { isRelativeDateFilterPreset, } from "@gooddata/sdk-model";
|
|
3
|
+
import { isAbsoluteDateFilterForm, isRelativeDateFilterPreset, } from "@gooddata/sdk-model";
|
|
4
4
|
import { isUiRelativeDateFilterForm, } from "../interfaces/index.js";
|
|
5
5
|
export function getDateFilterOptionGranularity(dateFilterOption) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
if (isUiRelativeDateFilterForm(dateFilterOption) ||
|
|
7
|
+
isRelativeDateFilterPreset(dateFilterOption) ||
|
|
8
|
+
isAbsoluteDateFilterForm(dateFilterOption)) {
|
|
9
|
+
return dateFilterOption.granularity;
|
|
10
|
+
}
|
|
11
|
+
return undefined;
|
|
9
12
|
}
|
|
10
13
|
function isDateFilterOptionVisible(option) {
|
|
11
14
|
return option?.visible;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeriodExclusion.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/PeriodExclusion.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"PeriodExclusion.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/PeriodExclusion.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,yBAAyB,qBAChB,gBAAgB,GAAG,SAAS,wBACxB,OAAO,KAC9B,gBAAgB,GAAG,SA6BrB,CAAC;AAEF,eAAO,MAAM,uBAAuB,qBAAsB,gBAAgB,KAAG,OAQ5E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,UAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,wBACb,OAAO,KAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAGd,CAAC;AAEhB;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,UAAW;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SACuD,CAAC"}
|
|
@@ -4,8 +4,8 @@ import { type DateFilterLabelMode } from "../../constants/i18n.js";
|
|
|
4
4
|
import { type DateFilterOption } from "../../interfaces/index.js";
|
|
5
5
|
import { type IDateAndMessageTranslator } from "./Translators.js";
|
|
6
6
|
export declare const getTimeRange: (dateFrom: Date, dateTo: Date, splitter?: string, timeFormat?: string) => string;
|
|
7
|
-
export declare const formatAbsoluteDateRange: (from:
|
|
8
|
-
export declare const formatRelativeDateRange: (from: number, to: number, granularity: DateFilterGranularity, translator: IDateAndMessageTranslator, labelMode: DateFilterLabelMode, boundedFilter?:
|
|
7
|
+
export declare const formatAbsoluteDateRange: (from: Date | string, to: Date | string, dateFormat: string, splitter?: string) => string;
|
|
8
|
+
export declare const formatRelativeDateRange: (from: number, to: number, granularity: DateFilterGranularity, translator: IDateAndMessageTranslator, labelMode: DateFilterLabelMode, boundedFilter?: IUpperBoundedFilter | ILowerBoundedFilter) => string;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the filter title using provided intl object.
|
|
11
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilterTitle.d.ts","sourceRoot":"","sources":["../../../../src/DateFilter/utils/Translations/DateFilterTitle.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,qBAAqB,EAE1B,KAAK,OAAO,EACZ,KAAK,mBAAmB,EAExB,KAAK,mBAAmB,EAQ3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EACH,KAAK,mBAAmB,EAG3B,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"DateFilterTitle.d.ts","sourceRoot":"","sources":["../../../../src/DateFilter/utils/Translations/DateFilterTitle.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,qBAAqB,EAE1B,KAAK,OAAO,EACZ,KAAK,mBAAmB,EAExB,KAAK,mBAAmB,EAQ3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EACH,KAAK,mBAAmB,EAG3B,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACH,KAAK,yBAAyB,EAGjC,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,YAAY,aACX,IAAI,UACN,IAAI,kCAEA,MAAM,KACnB,MAKF,CAAC;AAsBF,eAAO,MAAM,uBAAuB,SAC1B,IAAI,GAAG,MAAM,MACf,IAAI,GAAG,MAAM,cACL,MAAM,wBAEnB,MAgCF,CAAC;AAqIF,eAAO,MAAM,uBAAuB,SAC1B,MAAM,MACR,MAAM,eACG,qBAAqB,cACtB,yBAAyB,aAC1B,mBAAmB,kBACd,mBAAmB,GAAG,mBAAmB,KAC1D,MAWF,CAAC;AAyFF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iCAAiC,WAClC,gBAAgB,cACZ,yBAAyB,aAC1B,mBAAmB,eAClB,MAAM,KACnB,MAiBF,CAAC;AA6BF,eAAO,MAAM,2BAA2B,WAC5B,gBAAgB,UAChB,OAAO,YACL,aAAa,aACZ,mBAAmB,eAClB,MAAM,KACnB,MAIF,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { messages } from "../../../locales.js";
|
|
|
8
8
|
import { granularityIntlCodes, granularityIntlCodesFull, } from "../../constants/i18n.js";
|
|
9
9
|
import { DAY_END_TIME, DAY_START_TIME, DEFAULT_DATE_FORMAT, TIME_FORMAT, TIME_FORMAT_WITH_SECONDS, TIME_FORMAT_WITH_SECONDS_WITH_SEPARATOR, TIME_FORMAT_WITH_SEPARATOR, } from "../../constants/Platform.js";
|
|
10
10
|
import { convertPlatformDateStringToDate } from "../DateConversions.js";
|
|
11
|
+
import { convertLocale } from "../dateFnsLocale.js";
|
|
11
12
|
export const getTimeRange = (dateFrom, dateTo, splitter = "\u2013", timeFormat = TIME_FORMAT) => {
|
|
12
13
|
const fromTime = format(dateFrom, timeFormat);
|
|
13
14
|
const toTime = format(dateTo, timeFormat);
|
|
@@ -56,6 +57,31 @@ export const formatAbsoluteDateRange = (from, to, dateFormat, splitter = "\u2013
|
|
|
56
57
|
const toTitle = toDate ? format(toDate, displayDateFormat) : "";
|
|
57
58
|
return `${fromTitle} ${splitter} ${toTitle}`;
|
|
58
59
|
};
|
|
60
|
+
// Intl.DateTimeFormat options for Month/Year period labels; Quarter is handled separately below.
|
|
61
|
+
const MONTH_AND_YEAR_INTL_OPTIONS = {
|
|
62
|
+
"GDC.time.month": { month: "long", year: "numeric" },
|
|
63
|
+
"GDC.time.year": { year: "numeric" },
|
|
64
|
+
};
|
|
65
|
+
// Intl.DateTimeFormat has no "quarter" field, so format it with date-fns instead, localized.
|
|
66
|
+
const formatQuarterLabel = (date, locale) => format(date, "QQQ y", { locale: convertLocale(locale) });
|
|
67
|
+
const STATIC_PERIOD_LABEL_GRANULARITIES = new Set([
|
|
68
|
+
"GDC.time.month",
|
|
69
|
+
"GDC.time.quarter",
|
|
70
|
+
"GDC.time.year",
|
|
71
|
+
]);
|
|
72
|
+
// Formats a static from/to range.
|
|
73
|
+
const formatStaticPeriodDateRange = (from, to, granularity, translator) => {
|
|
74
|
+
const fromDate = convertPlatformDateStringToDate(from) ?? undefined;
|
|
75
|
+
const toDate = convertPlatformDateStringToDate(to) ?? undefined;
|
|
76
|
+
if (!fromDate || !toDate) {
|
|
77
|
+
return "";
|
|
78
|
+
}
|
|
79
|
+
const intlOptions = MONTH_AND_YEAR_INTL_OPTIONS[granularity];
|
|
80
|
+
const formatPeriodBoundaryLabel = (date) => intlOptions ? translator.formatDate(date, intlOptions) : formatQuarterLabel(date, translator.locale);
|
|
81
|
+
const fromLabel = formatPeriodBoundaryLabel(fromDate);
|
|
82
|
+
const toLabel = formatPeriodBoundaryLabel(toDate);
|
|
83
|
+
return fromLabel === toLabel ? fromLabel : `${fromLabel} \u2013 ${toLabel}`;
|
|
84
|
+
};
|
|
59
85
|
const relativeDateRangeFormatters = [
|
|
60
86
|
{
|
|
61
87
|
// Today, This month, This month to date
|
|
@@ -144,7 +170,15 @@ export const formatRelativeDateRange = (from, to, granularity, translator, label
|
|
|
144
170
|
};
|
|
145
171
|
const getAllTimeFilterRepresentation = (translator) => translator.formatMessage({ id: "filters.allTime.title" });
|
|
146
172
|
const getEmptyValuesFilterRepresentation = (translator) => translator.formatMessage({ id: "filters.emptyValues.title" });
|
|
147
|
-
const getAbsoluteFormFilterRepresentation = (filter,
|
|
173
|
+
const getAbsoluteFormFilterRepresentation = (filter, translator, dateFormat) => {
|
|
174
|
+
if (!filter.from || !filter.to) {
|
|
175
|
+
return "";
|
|
176
|
+
}
|
|
177
|
+
if (filter.granularity && STATIC_PERIOD_LABEL_GRANULARITIES.has(filter.granularity)) {
|
|
178
|
+
return formatStaticPeriodDateRange(filter.from, filter.to, filter.granularity, translator);
|
|
179
|
+
}
|
|
180
|
+
return formatAbsoluteDateRange(filter.from, filter.to, dateFormat);
|
|
181
|
+
};
|
|
148
182
|
const getAbsolutePresetFilterRepresentation = (filter, dateFormat) => formatAbsoluteDateRange(filter.from, filter.to, dateFormat);
|
|
149
183
|
const getRelativeFormFilterRepresentation = (filter, translator, labelMode) => typeof filter.from === "number" && typeof filter.to === "number" && filter.granularity
|
|
150
184
|
? formatRelativeDateRange(filter.from, filter.to, filter.granularity, translator, labelMode, filter.boundedFilter)
|
|
@@ -211,7 +245,7 @@ export const getDateFilterTitleUsingTranslator = (filter, translator, labelMode,
|
|
|
211
245
|
*/
|
|
212
246
|
const getDateFilterRepresentationUsingTranslator = (filter, translator, dateFormat, labelMode) => {
|
|
213
247
|
if (isAbsoluteDateFilterForm(filter)) {
|
|
214
|
-
return getAbsoluteFormFilterRepresentation(filter, dateFormat);
|
|
248
|
+
return getAbsoluteFormFilterRepresentation(filter, translator, dateFormat);
|
|
215
249
|
}
|
|
216
250
|
else if (isAbsoluteDateFilterPreset(filter)) {
|
|
217
251
|
return getAbsolutePresetFilterRepresentation(filter, dateFormat);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Translators.d.ts","sourceRoot":"","sources":["../../../../src/DateFilter/utils/Translations/Translators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Translators.d.ts","sourceRoot":"","sources":["../../../../src/DateFilter/utils/Translations/Translators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,eAAe,EAAE,kBAAkB;CAAG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Locale } from "date-fns";
|
|
2
|
+
/**
|
|
3
|
+
* Converts an app locale code (e.g. "fr-FR") to its date-fns Locale object, for locale-aware formatting
|
|
4
|
+
* outside of react-intl (react-intl's own formatDate/formatMessage already handle locale internally).
|
|
5
|
+
* Falls back to "en-US" when no locale is given or the locale isn't in the lookup table.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const convertLocale: (locale?: string) => Locale;
|
|
9
|
+
//# sourceMappingURL=dateFnsLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateFnsLocale.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/dateFnsLocale.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAwDvC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MACoB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// (C) 2025-2026 GoodData Corporation
|
|
2
|
+
import { de, enAU, enGB, enUS, es, fi, fr, frCA, id, it, ja, ko, nl, pl, pt, ptBR, ru, sl, th, tr, uk, vi, zhCN, } from "date-fns/locale";
|
|
3
|
+
const convertedLocales = {
|
|
4
|
+
"en-US": enUS,
|
|
5
|
+
"de-DE": de,
|
|
6
|
+
"es-ES": es,
|
|
7
|
+
"fr-FR": fr,
|
|
8
|
+
"ja-JP": ja,
|
|
9
|
+
"nl-NL": nl,
|
|
10
|
+
"pt-BR": ptBR,
|
|
11
|
+
"pt-PT": pt,
|
|
12
|
+
"zh-Hans": zhCN,
|
|
13
|
+
"ru-RU": ru,
|
|
14
|
+
"it-IT": it,
|
|
15
|
+
"es-419": es,
|
|
16
|
+
"en-GB": enGB,
|
|
17
|
+
"fr-CA": frCA,
|
|
18
|
+
"zh-Hant": zhCN,
|
|
19
|
+
"en-AU": enAU,
|
|
20
|
+
"fi-FI": fi,
|
|
21
|
+
"zh-HK": zhCN,
|
|
22
|
+
"tr-TR": tr,
|
|
23
|
+
"pl-PL": pl,
|
|
24
|
+
"ko-KR": ko,
|
|
25
|
+
"sl-SI": sl,
|
|
26
|
+
"id-ID": id,
|
|
27
|
+
"th-TH": th,
|
|
28
|
+
"uk-UA": uk,
|
|
29
|
+
"vi-VN": vi,
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Converts an app locale code (e.g. "fr-FR") to its date-fns Locale object, for locale-aware formatting
|
|
33
|
+
* outside of react-intl (react-intl's own formatDate/formatMessage already handle locale internally).
|
|
34
|
+
* Falls back to "en-US" when no locale is given or the locale isn't in the lookup table.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export const convertLocale = (locale) => convertedLocales[locale ?? "en-US"] ?? convertedLocales["en-US"];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DateFilterGranularity, type IActiveCalendars } from "@gooddata/sdk-model";
|
|
1
|
+
import { type DateFilterGranularity, type DateString, type IActiveCalendars } from "@gooddata/sdk-model";
|
|
2
2
|
import { type DateFilterOption, type DateFilterRelativeOptionGroup } from "../interfaces/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Type representing the calendar tab selection.
|
|
@@ -145,4 +145,24 @@ export interface IUiRelativeDateFilterFormLike {
|
|
|
145
145
|
* @internal
|
|
146
146
|
*/
|
|
147
147
|
export declare function ensureCompatibleGranularity<T extends IUiRelativeDateFilterFormLike>(filterOption: T, availableGranularities: DateFilterGranularity[], fiscalFirst: boolean): T;
|
|
148
|
+
/**
|
|
149
|
+
* @internal
|
|
150
|
+
*/
|
|
151
|
+
export interface IUiAbsoluteDateFilterFormLike {
|
|
152
|
+
granularity?: DateFilterGranularity;
|
|
153
|
+
from?: DateString;
|
|
154
|
+
to?: DateString;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Ensures the granularity in an absolute filter option is compatible with the available granularities.
|
|
158
|
+
* Simpler than {@link ensureCompatibleGranularity} - the absolute form has no fiscal variants, so there is no
|
|
159
|
+
* equivalent-mapping attempt: if the current (or, when absent, the implied "GDC.time.date") granularity isn't
|
|
160
|
+
* available, it resets to the first available one, clearing from/to since a half-selected range from a
|
|
161
|
+
* different granularity is not a valid state.
|
|
162
|
+
* @param filterOption - The filter option to check/correct
|
|
163
|
+
* @param availableGranularities - List of available granularities
|
|
164
|
+
* @returns The filter option with a compatible granularity
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
167
|
+
export declare function ensureCompatibleAbsoluteGranularity<T extends IUiAbsoluteDateFilterFormLike>(filterOption: T, availableGranularities: DateFilterGranularity[]): T;
|
|
148
168
|
//# sourceMappingURL=presetFilterUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presetFilterUtils.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/presetFilterUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAMxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAanG;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,eAAe,CAAC,EAAE,gBAAgB,GACnC,iBAAiB,CAcnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACjC,eAAe,CAAC,EAAE,gBAAgB,EAClC,aAAa,CAAC,EAAE,gBAAgB,GACjC,eAAe,CAkBjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAElF;AAaD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B,CAE3G;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B,CAEzG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,CAGzE;AAED;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,EAAE,qBAAqB,EACH,CAAC;AAiB/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+DAG1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+DAG1C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAE3G;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAEzG;AAUD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,eAAe,GAC7B,6BAA6B,GAAG,SAAS,CAS3C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,aAAa,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAClD,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,eAAe,GAC7B,qBAAqB,EAAE,CAWzB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,6BAA6B,EAC/E,YAAY,EAAE,CAAC,EACf,sBAAsB,EAAE,qBAAqB,EAAE,EAC/C,WAAW,EAAE,OAAO,GACrB,CAAC,CAiCH"}
|
|
1
|
+
{"version":3,"file":"presetFilterUtils.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/utils/presetFilterUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,gBAAgB,EAMxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAanG;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,eAAe,CAAC,EAAE,gBAAgB,GACnC,iBAAiB,CAcnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACjC,eAAe,CAAC,EAAE,gBAAgB,EAClC,aAAa,CAAC,EAAE,gBAAgB,GACjC,eAAe,CAkBjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAElF;AAaD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B,CAE3G;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B,CAEzG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,CAGzE;AAED;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,EAAE,qBAAqB,EACH,CAAC;AAiB/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+DAG1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+DAG1C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAE3G;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAEzG;AAUD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,eAAe,GAC7B,6BAA6B,GAAG,SAAS,CAS3C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,aAAa,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAClD,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,eAAe,GAC7B,qBAAqB,EAAE,CAWzB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,6BAA6B,EAC/E,YAAY,EAAE,CAAC,EACf,sBAAsB,EAAE,qBAAqB,EAAE,EAC/C,WAAW,EAAE,OAAO,GACrB,CAAC,CAiCH;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,EAAE,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,6BAA6B,EACvF,YAAY,EAAE,CAAC,EACf,sBAAsB,EAAE,qBAAqB,EAAE,GAChD,CAAC,CAkBH"}
|
|
@@ -252,3 +252,31 @@ export function ensureCompatibleGranularity(filterOption, availableGranularities
|
|
|
252
252
|
to: isEquivalentMapping ? filterOption.to : undefined,
|
|
253
253
|
};
|
|
254
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Ensures the granularity in an absolute filter option is compatible with the available granularities.
|
|
257
|
+
* Simpler than {@link ensureCompatibleGranularity} - the absolute form has no fiscal variants, so there is no
|
|
258
|
+
* equivalent-mapping attempt: if the current (or, when absent, the implied "GDC.time.date") granularity isn't
|
|
259
|
+
* available, it resets to the first available one, clearing from/to since a half-selected range from a
|
|
260
|
+
* different granularity is not a valid state.
|
|
261
|
+
* @param filterOption - The filter option to check/correct
|
|
262
|
+
* @param availableGranularities - List of available granularities
|
|
263
|
+
* @returns The filter option with a compatible granularity
|
|
264
|
+
* @internal
|
|
265
|
+
*/
|
|
266
|
+
export function ensureCompatibleAbsoluteGranularity(filterOption, availableGranularities) {
|
|
267
|
+
// Empty availableGranularities means granularity switching isn't active at all - nothing to correct
|
|
268
|
+
// against, so this must stay a no-op rather than clearing from/to.
|
|
269
|
+
if (availableGranularities.length === 0) {
|
|
270
|
+
return filterOption;
|
|
271
|
+
}
|
|
272
|
+
const effectiveGranularity = filterOption.granularity ?? "GDC.time.date";
|
|
273
|
+
if (availableGranularities.includes(effectiveGranularity)) {
|
|
274
|
+
return filterOption;
|
|
275
|
+
}
|
|
276
|
+
return {
|
|
277
|
+
...filterOption,
|
|
278
|
+
granularity: availableGranularities[0],
|
|
279
|
+
from: undefined,
|
|
280
|
+
to: undefined,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionValidation.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/validation/OptionValidation.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,gBAAgB,EAIrB,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AA+DhC,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"OptionValidation.d.ts","sourceRoot":"","sources":["../../../src/DateFilter/validation/OptionValidation.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,gBAAgB,EAIrB,KAAK,yBAAyB,EAGjC,MAAM,wBAAwB,CAAC;AA+DhC,eAAO,MAAM,oBAAoB,iBAAkB,gBAAgB,KAAG,yBAQrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterGroupStatus.d.ts","sourceRoot":"","sources":["../../src/FilterGroup/useFilterGroupStatus.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;AAE9G,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useFilterGroupStatus.d.ts","sourceRoot":"","sources":["../../src/FilterGroup/useFilterGroupStatus.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;AAE9G,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,+BAAgC,MAAM,EAAE,KAAG,qBAqC3E,CAAC"}
|
|
@@ -31,6 +31,6 @@ interface IAttributePickerProps {
|
|
|
31
31
|
* @internal
|
|
32
32
|
* AttributePicker dialog for selecting dimensionality items to add to the filter.
|
|
33
33
|
*/
|
|
34
|
-
export declare const AttributePicker: import("react").
|
|
34
|
+
export declare const AttributePicker: import("react").MemoExoticComponent<({ availableInsightItems, availableCatalogItems, isLoadingCatalogDimensionality, onAdd, onCancel, anchorElement, }: IAttributePickerProps) => import("react/jsx-runtime").JSX.Element>;
|
|
35
35
|
export {};
|
|
36
36
|
//# sourceMappingURL=AttributePicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributePicker.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/AttributePicker.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,UAAU,qBAAqB;IAC3B;;;OAGG;IACH,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C;;;OAGG;IACH,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C;;OAEG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;OAEG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"AttributePicker.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/AttributePicker.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,UAAU,qBAAqB;IAC3B;;;OAGG;IACH,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C;;;OAGG;IACH,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C;;OAEG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;OAEG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,0JAOzB,qBAAqB,6CAqFtB,CAAC"}
|
|
@@ -10,8 +10,7 @@ export function ComparisonInput({ value, usePercentage, disableAutofocus, onValu
|
|
|
10
10
|
const labelText = conditionNumber === undefined
|
|
11
11
|
? baseLabel
|
|
12
12
|
: intl.formatMessage({ id: "mvf.input.ariaLabel.withCondition" }, { label: baseLabel, number: conditionNumber });
|
|
13
|
-
return (_jsxs(_Fragment, { children: [
|
|
14
|
-
_jsx(InputWithNumberFormat, { className: "s-mvf-comparison-value-input", dataTestId: "mvf-comparison-value-input", autocomplete: "off", value: value ?? undefined, onEnterKeyPress: onEnterKeyPress, onChange: (val) => onValueChange(val), onBlur: onBlur ? () => onBlur() : undefined, hasError: hasError, isSmall: true, autofocus: !disableAutofocus, suffix: usePercentage ? "%" : "", accessibilityConfig: {
|
|
13
|
+
return (_jsxs(_Fragment, { children: [_jsx(InputWithNumberFormat, { className: "s-mvf-comparison-value-input", dataTestId: "mvf-comparison-value-input", autocomplete: "off", value: value ?? undefined, onEnterKeyPress: onEnterKeyPress, onChange: (val) => onValueChange(val), onBlur: onBlur ? () => onBlur() : undefined, hasError: hasError, isSmall: true, autofocus: !disableAutofocus, suffix: usePercentage ? "%" : "", accessibilityConfig: {
|
|
15
14
|
ariaLabelledBy: labelId,
|
|
16
15
|
suffixAriaLabel: usePercentage
|
|
17
16
|
? intl.formatMessage({
|
|
@@ -20,6 +19,5 @@ export function ComparisonInput({ value, usePercentage, disableAutofocus, onValu
|
|
|
20
19
|
: undefined,
|
|
21
20
|
ariaDescribedBy,
|
|
22
21
|
ariaInvalid: hasError ? true : undefined,
|
|
23
|
-
}, separators: separators }), _jsx("span", { className: "sr-only", id: labelId, children: labelText })
|
|
24
|
-
] }));
|
|
22
|
+
}, separators: separators }), _jsx("span", { className: "sr-only", id: labelId, children: labelText })] }));
|
|
25
23
|
}
|
|
@@ -26,5 +26,5 @@ export interface IConditionInputSectionProps {
|
|
|
26
26
|
onToBlur: (index: number) => void;
|
|
27
27
|
onApply: () => void;
|
|
28
28
|
}
|
|
29
|
-
export declare const ConditionInputSection: import("react").
|
|
29
|
+
export declare const ConditionInputSection: import("react").MemoExoticComponent<(props: IConditionInputSectionProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
30
30
|
//# sourceMappingURL=ConditionInputSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionInputSection.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/ConditionInputSection.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,WAAW,EAGnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE5F,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EACH;QACI,QAAQ,EAAE,0BAA0B,CAAC;QACrC,KAAK,EAAE,wBAAwB,CAAC;QAChC,SAAS,EAAE;YACP,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,IAAI,CAAC,EAAE,OAAO,CAAC;YACf,EAAE,CAAC,EAAE,OAAO,CAAC;SAChB,CAAC;KACL,GACD,SAAS,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ConditionInputSection.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/ConditionInputSection.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,WAAW,EAGnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE5F,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EACH;QACI,QAAQ,EAAE,0BAA0B,CAAC;QACrC,KAAK,EAAE,wBAAwB,CAAC;QAChC,SAAS,EAAE;YACP,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,IAAI,CAAC,EAAE,OAAO,CAAC;YACf,EAAE,CAAC,EAAE,OAAO,CAAC;SAChB,CAAC;KACL,GACD,SAAS,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,8CAA8C,2BAA2B,oDAuGzG,CAAC"}
|
|
@@ -24,8 +24,7 @@ export const ConditionInputSection = memo(function ConditionInputSection(props)
|
|
|
24
24
|
defaultMessage: "Error: value can not be empty",
|
|
25
25
|
})
|
|
26
26
|
: undefined;
|
|
27
|
-
return (_jsxs(_Fragment, { children: [
|
|
28
|
-
_jsx(ComparisonInput, { value: condition.value.value, usePercentage: usePercentage, onValueChange: (v) => onValueChange(index, v), onEnterKeyPress: onApply, onBlur: () => onValueBlur(index), hasError: shouldShowError, ariaDescribedBy: shouldShowError ? errorId : undefined, disableAutofocus: disableAutofocus, separators: separators, conditionNumber: conditionNumber }), shouldShowError ? (_jsx("div", { id: errorId, className: "gd-mvf-input-error s-mvf-input-error", "data-testid": errorId, children: validationErrorText })) : null] }));
|
|
27
|
+
return (_jsxs(_Fragment, { children: [_jsx(ComparisonInput, { value: condition.value.value, usePercentage: usePercentage, onValueChange: (v) => onValueChange(index, v), onEnterKeyPress: onApply, onBlur: () => onValueBlur(index), hasError: shouldShowError, ariaDescribedBy: shouldShowError ? errorId : undefined, disableAutofocus: disableAutofocus, separators: separators, conditionNumber: conditionNumber }), shouldShowError ? (_jsx("div", { id: errorId, className: "gd-mvf-input-error s-mvf-input-error", "data-testid": errorId, children: validationErrorText })) : null] }));
|
|
29
28
|
}
|
|
30
29
|
if (isRangeConditionOperator(condition.operator)) {
|
|
31
30
|
const { from = null, to = null } = condition.value;
|
|
@@ -42,6 +42,6 @@ interface IDimensionalitySectionProps {
|
|
|
42
42
|
* Dimensionality section for the measure value filter dropdown.
|
|
43
43
|
* Allows users to select which attributes/dates define the granularity of the filter.
|
|
44
44
|
*/
|
|
45
|
-
export declare const DimensionalitySection: import("react").
|
|
45
|
+
export declare const DimensionalitySection: import("react").MemoExoticComponent<({ dimensionality, insightDimensionality, catalogDimensionality, loadCatalogDimensionality, isLoadingCatalogDimensionality, onDimensionalityChange, isMigratedFilter, withScrollContainer, }: IDimensionalitySectionProps) => import("react/jsx-runtime").JSX.Element>;
|
|
46
46
|
export {};
|
|
47
47
|
//# sourceMappingURL=DimensionalitySection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DimensionalitySection.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/DimensionalitySection.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAIzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,UAAU,2BAA2B;IACjC;;OAEG;IACH,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C;;OAEG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C;;OAEG;IACH,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG;;OAEG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;OAEG;IACH,sBAAsB,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACxE;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"DimensionalitySection.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/DimensionalitySection.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAIzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,UAAU,2BAA2B;IACjC;;OAEG;IACH,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C;;OAEG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C;;OAEG;IACH,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG;;OAEG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;OAEG;IACH,sBAAsB,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACxE;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,oOAS/B,2BAA2B,6CAgJ5B,CAAC"}
|
|
@@ -31,12 +31,6 @@ export const DimensionalitySection = memo(function DimensionalitySection({ dimen
|
|
|
31
31
|
const icon = isDateItem ? "date" : "ldmAttribute";
|
|
32
32
|
const iconColor = isDateItem ? "primary" : "warning";
|
|
33
33
|
return (_jsx(WithAddButton, { appendAddButton: index === dimensionality.length - 1, isDisabled: false, tooltip: addButtonTooltip, buttonRef: inlineAddButtonRef, onClick: handleOpenInlineAttributePicker, dataTestId: "mvf-dimensionality-plus", children: _jsx("div", { className: "gd-mvf-dimensionality-tag-wrapper", children: _jsx(UiTag, { variant: "outlined", size: "large", iconBefore: icon, iconBeforeColor: iconColor, label: item.title, isDeletable: true, onDelete: () => handleRemoveDimensionality(index), dataTestId: `dimensionality-tag-${index}` }) }) }, objRefToString(item.identifier)));
|
|
34
|
-
}), shouldShowResetButton ? (_jsx("div", { className: "gd-mvf-dimensionality-reset-button", children: _jsxs(BubbleHoverTrigger, { children: [
|
|
35
|
-
|
|
36
|
-
] }) })) : null] }));
|
|
37
|
-
return (_jsxs("div", { className: "gd-mvf-dropdown-section gd-mvf-dimensionality s-mvf-dimensionality", "data-testid": "mvf-dimensionality", children: [
|
|
38
|
-
_jsx("div", { className: "gd-mvf-dimensionality-header", children: _jsx("label", { children: intl.formatMessage({ id: "mvf.dimensionality.forEach" }) }) }), dimensionality.length > 0 ? (withScrollContainer ? (_jsx("div", { className: "gd-mvf-dimensionality-scroll-container", children: itemsList })) : (itemsList)) : (_jsxs("div", { className: "gd-mvf-dimensionality-empty-actions", children: [
|
|
39
|
-
_jsx(UiButton, { label: intl.formatMessage({ id: "mvf.dimensionality.addAttributes" }), variant: "tertiary", size: "small", iconBefore: "plus", onClick: handleOpenStandaloneAttributePicker }), shouldShowResetButton ? (_jsxs(BubbleHoverTrigger, { children: [
|
|
40
|
-
_jsx(UiButton, { size: "small", variant: "tertiary", iconBefore: "history", label: intl.formatMessage({ id: "mvf.dimensionality.reset" }), onClick: handleResetDimensionality, dataTestId: "mvf-dimensionality-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })
|
|
41
|
-
] })) : null] })), isMigratedFilter ? null : (_jsx("div", { role: "status", "aria-live": "polite", className: "gd-message information gd-mvf-backward-compatibility-message", "data-testid": "mvf-backward-compatibility-note", children: _jsx("div", { className: "gd-message-text", children: intl.formatMessage({ id: "mvf.dimensionality.backwardCompatibilityNote" }) }) })), isAttributePickerOpen && actualAnchor ? (_jsx(AttributePicker, { anchorElement: actualAnchor, onAdd: handleAddDimensionalityItems, onCancel: handleCloseAttributePicker, availableInsightItems: availableInsightItems, availableCatalogItems: availableCatalogItems, isLoadingCatalogDimensionality: isLoadingCatalogForPicker })) : null] }));
|
|
34
|
+
}), shouldShowResetButton ? (_jsx("div", { className: "gd-mvf-dimensionality-reset-button", children: _jsxs(BubbleHoverTrigger, { children: [_jsx(UiIconButton, { icon: "history", size: "small", variant: "tertiary", onClick: handleResetDimensionality, label: resetButtonTooltip, dataTestId: "mvf-dimensionality-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })] }) })) : null] }));
|
|
35
|
+
return (_jsxs("div", { className: "gd-mvf-dropdown-section gd-mvf-dimensionality s-mvf-dimensionality", "data-testid": "mvf-dimensionality", children: [_jsx("div", { className: "gd-mvf-dimensionality-header", children: _jsx("label", { children: intl.formatMessage({ id: "mvf.dimensionality.forEach" }) }) }), dimensionality.length > 0 ? (withScrollContainer ? (_jsx("div", { className: "gd-mvf-dimensionality-scroll-container", children: itemsList })) : (itemsList)) : (_jsxs("div", { className: "gd-mvf-dimensionality-empty-actions", children: [_jsx(UiButton, { label: intl.formatMessage({ id: "mvf.dimensionality.addAttributes" }), variant: "tertiary", size: "small", iconBefore: "plus", onClick: handleOpenStandaloneAttributePicker }), shouldShowResetButton ? (_jsxs(BubbleHoverTrigger, { children: [_jsx(UiButton, { size: "small", variant: "tertiary", iconBefore: "history", label: intl.formatMessage({ id: "mvf.dimensionality.reset" }), onClick: handleResetDimensionality, dataTestId: "mvf-dimensionality-reset" }), _jsx(Bubble, { alignPoints: [{ align: "cr cl" }], children: resetButtonTooltip })] })) : null] })), isMigratedFilter ? null : (_jsx("div", { role: "status", "aria-live": "polite", className: "gd-message information gd-mvf-backward-compatibility-message", "data-testid": "mvf-backward-compatibility-note", children: _jsx("div", { className: "gd-message-text", children: intl.formatMessage({ id: "mvf.dimensionality.backwardCompatibilityNote" }) }) })), isAttributePickerOpen && actualAnchor ? (_jsx(AttributePicker, { anchorElement: actualAnchor, onAdd: handleAddDimensionalityItems, onCancel: handleCloseAttributePicker, availableInsightItems: availableInsightItems, availableCatalogItems: availableCatalogItems, isLoadingCatalogDimensionality: isLoadingCatalogForPicker })) : null] }));
|
|
42
36
|
});
|
|
@@ -22,8 +22,7 @@ const DropdownWithIntl = memo(function DropdownWithIntl(props) {
|
|
|
22
22
|
const selectedOperator = operator === null ? "ALL" : operator;
|
|
23
23
|
const body = (_jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, enableReturnFocusOnUnmount: true, children: _jsx(DropdownBody, { operator: selectedOperator, conditions: conditions, enableMultipleConditions: enableMultipleConditions, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, onChange: onChangeProp, withoutApply: withoutApply, BodyComponent: BodyComponent, DropdownActionsComponent: DropdownActionsComponent, onCancel: onCancel, onApply: onApply, separators: separators, format: format, useShortFormat: useShortFormat, measureTitle: measureTitle, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroValue: treatNullAsZeroValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, isFilterSummaryEnabled: isFilterSummaryEnabled, showSimplifiedSummary: showSimplifiedSummary, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, enableRankingWithMvf: enableRankingWithMvf, applyOnResult: applyOnResult, loadMetricDetails: loadMetricDetails, isHeaderEnabled: isHeaderEnabled, isMobile: useFullScreen, isViewMode: isViewMode, dialogId: dialogId }) }));
|
|
24
24
|
if (useFullScreen) {
|
|
25
|
-
return (_jsx(FullScreenOverlay, { alignTo: "body", alignPoints: MOBILE_DROPDOWN_ALIGN_POINTS, onClose: onCancel, children: _jsxs("div", { className: "gd-mobile-dropdown-overlay overlay gd-flex-row-container gd-mvf-mobile-dropdown", children: [mobileHeader ? (_jsx("div", { className: "gd-mobile-dropdown-header gd-flex-item gd-mvf-mobile-dropdown-header gd-is-mobile", children: mobileHeader })) : null, _jsx("div", { className: "gd-mobile-dropdown-content gd-flex-item-stretch gd-flex-row-container gd-mvf-mobile-dropdown-content", children: body })
|
|
26
|
-
] }) }));
|
|
25
|
+
return (_jsx(FullScreenOverlay, { alignTo: "body", alignPoints: MOBILE_DROPDOWN_ALIGN_POINTS, onClose: onCancel, children: _jsxs("div", { className: "gd-mobile-dropdown-overlay overlay gd-flex-row-container gd-mvf-mobile-dropdown", children: [mobileHeader ? (_jsx("div", { className: "gd-mobile-dropdown-header gd-flex-item gd-mvf-mobile-dropdown-header gd-is-mobile", children: mobileHeader })) : null, _jsx("div", { className: "gd-mobile-dropdown-content gd-flex-item-stretch gd-flex-row-container gd-mvf-mobile-dropdown-content", children: body })] }) }));
|
|
27
26
|
}
|
|
28
27
|
return (_jsx(Overlay, { alignTo: anchorEl, alignPoints: alignPoints ?? DROPDOWN_ALIGNMENTS, closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: true, closeOnEscape: true, onClose: onCancel, children: body }));
|
|
29
28
|
});
|
|
@@ -38,7 +38,7 @@ interface IDropdownBodyProps extends IMeasureValueFilterCustomComponentProps {
|
|
|
38
38
|
/** Stable id of the dialog, referenced by the trigger button's aria-controls. */
|
|
39
39
|
dialogId?: string;
|
|
40
40
|
}
|
|
41
|
-
export declare const DropdownBodyWithIntl: import("react").
|
|
42
|
-
export declare const DropdownBody: import("react").
|
|
41
|
+
export declare const DropdownBodyWithIntl: import("react").MemoExoticComponent<(props: IDropdownBodyProps) => import("react/jsx-runtime").JSX.Element>;
|
|
42
|
+
export declare const DropdownBody: import("react").MemoExoticComponent<(props: IDropdownBodyProps) => import("react/jsx-runtime").JSX.Element>;
|
|
43
43
|
export {};
|
|
44
44
|
//# sourceMappingURL=DropdownBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownBody.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/DropdownBody.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAAiC,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,uCAAuC,EAC5C,KAAK,mCAAmC,EACxC,KAAK,cAAc,EACtB,MAAM,cAAc,CAAC;AAItB,UAAU,kBAAmB,SAAQ,uCAAuC;IACxE,QAAQ,EAAE,0BAA0B,CAAC;IACrC,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,mCAAmC,CAAC;IAC7C,QAAQ,CAAC,EAAE,mCAAmC,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACnE,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAoHD,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"DropdownBody.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/DropdownBody.tsx"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAAiC,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,uCAAuC,EAC5C,KAAK,mCAAmC,EACxC,KAAK,cAAc,EACtB,MAAM,cAAc,CAAC;AAItB,UAAU,kBAAmB,SAAQ,uCAAuC;IACxE,QAAQ,EAAE,0BAA0B,CAAC;IACrC,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,mCAAmC,CAAC;IAC7C,QAAQ,CAAC,EAAE,mCAAmC,CAAC;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,yBAAyB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACnE,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAoHD,eAAO,MAAM,oBAAoB,8CAA6C,kBAAkB,6CA04B9F,CAAC;AAEH,eAAO,MAAM,YAAY,8CAAqC,kBAAkB,6CAM9E,CAAC"}
|
|
@@ -595,14 +595,11 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
|
|
|
595
595
|
}, [setApplyOnResult]);
|
|
596
596
|
return (_jsxs("div", { id: props.dialogId, role: "dialog", "aria-modal": true, "aria-label": props.measureTitle, className: cx(MEASURE_VALUE_FILTER_DROPDOWN_BODY_CLASS, "gd-dialog gd-dropdown overlay s-mvf-dropdown-body", { "gd-is-mobile": props.isMobile }), "data-testid": "mvf-dropdown-body", children: [props.isHeaderEnabled && props.measureTitle && !props.isMobile ? (_jsx(MeasureValueFilterDropdownHeader, { title: props.measureTitle, loadMetricDetails: props.loadMetricDetails })) : null, _jsx("div", { className: "gd-mvf-dropdown-content", children: BodyComponent ? (_jsx(BodyComponent, { onApplyButtonClick: onApply, onCancelButtonClick: onCancel ?? (() => undefined) })) : (_jsxs(_Fragment, { children: [warningMessage ? (_jsx("div", { className: "gd-mvf-dropdown-section", children: _jsx(WarningMessageComponent, { warningMessage: warningMessage }) })) : null, _jsxs("div", { className: "gd-mvf-conditions-scroll-container", children: [(enableMultipleConditions ? state.conditions : state.conditions.slice(0, 1)).map((c, idx) => (_jsxs("div", { className: cx("gd-mvf-dropdown-section", "gd-mvf-condition-section", {
|
|
597
597
|
"gd-mvf-condition-section--multi": enableMultipleConditions,
|
|
598
|
-
}), children: [
|
|
599
|
-
_jsxs("div", { className: "gd-mvf-condition-header", "data-testid": `mvf-condition-${idx}`, children: [
|
|
600
|
-
_jsx("div", { className: "gd-mvf-condition-operator", children: _jsx(OperatorDropdown, { onSelect: (op) => handleOperatorSelection(idx, op), operator: c.operator, isDisabled: !enableOperatorSelection, isAllOperatorDisabled: isAllOperatorDisabled, isMobile: props.isMobile, isViewMode: props.isViewMode }) }), enableMultipleConditions ? (_jsx("div", { className: "gd-mvf-condition-action", children: idx === 0 ? (_jsx(ConditionActionButton, { icon: "plus", isMobile: props.isMobile, isDisabled: isAddConditionDisabled, onClick: handleAddCondition, buttonRef: setConditionActionButtonRef(idx), dataTestId: "mvf-add-condition", ariaLabel: addConditionTooltip, tooltip: isAddConditionDisabled
|
|
598
|
+
}), children: [_jsxs("div", { className: "gd-mvf-condition-header", "data-testid": `mvf-condition-${idx}`, children: [_jsx("div", { className: "gd-mvf-condition-operator", children: _jsx(OperatorDropdown, { onSelect: (op) => handleOperatorSelection(idx, op), operator: c.operator, isDisabled: !enableOperatorSelection, isAllOperatorDisabled: isAllOperatorDisabled, isMobile: props.isMobile, isViewMode: props.isViewMode }) }), enableMultipleConditions ? (_jsx("div", { className: "gd-mvf-condition-action", children: idx === 0 ? (_jsx(ConditionActionButton, { icon: "plus", isMobile: props.isMobile, isDisabled: isAddConditionDisabled, onClick: handleAddCondition, buttonRef: setConditionActionButtonRef(idx), dataTestId: "mvf-add-condition", ariaLabel: addConditionTooltip, tooltip: isAddConditionDisabled
|
|
601
599
|
? addConditionDisabledTooltip
|
|
602
600
|
: addConditionTooltip })) : (_jsx(ConditionActionButton, { icon: "cross", isMobile: props.isMobile, isDestructive: true, onClick: () => handleRemoveCondition(idx), buttonRef: setConditionActionButtonRef(idx), dataTestId: `mvf-remove-condition-${idx}`, ariaLabel: intl.formatMessage({
|
|
603
601
|
id: "mvf.removeConditionTooltip.ariaLabel",
|
|
604
|
-
}, { number: idx + 1 }), tooltip: removeConditionTooltip })) })) : null] }), c.operator === "ALL" ? null : (_jsxs("div", { className: "gd-mvf-condition-inputs", children: [
|
|
605
|
-
_jsx(ConditionInputSection, { index: idx, conditionNumber: (enableMultipleConditions
|
|
602
|
+
}, { number: idx + 1 }), tooltip: removeConditionTooltip })) })) : null] }), c.operator === "ALL" ? null : (_jsxs("div", { className: "gd-mvf-condition-inputs", children: [_jsx(ConditionInputSection, { index: idx, conditionNumber: (enableMultipleConditions
|
|
606
603
|
? state.conditions.length
|
|
607
604
|
: 1) > 1
|
|
608
605
|
? idx + 1
|
|
@@ -612,18 +609,15 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
|
|
|
612
609
|
: 0) && shouldShowTreatNullAsZeroCheckbox ? (_jsx(TreatNullValuesAsZeroCheckbox, { onChange: handleTreatNullAsZeroClicked, checked: enabledTreatNullValuesAsZero, isMobile: props.isMobile, isViewMode: props.isViewMode, intl: intl })) : null, idx ===
|
|
613
610
|
(enableMultipleConditions
|
|
614
611
|
? state.conditions.length - 1
|
|
615
|
-
: 0) && enableRankingWithMvf ? (_jsxs("label", { className: "input-checkbox-label gd-mvf-apply-on-result-checkbox", "data-testid": "mvf-apply-on-result", children: [
|
|
616
|
-
_jsx("input", { type: "checkbox", name: "apply-on-result", className: "input-checkbox", checked: applyOnResult, onChange: handleApplyOnResultChange }), _jsx("span", { className: "input-label-text", children: intl.formatMessage({
|
|
612
|
+
: 0) && enableRankingWithMvf ? (_jsxs("label", { className: "input-checkbox-label gd-mvf-apply-on-result-checkbox", "data-testid": "mvf-apply-on-result", children: [_jsx("input", { type: "checkbox", name: "apply-on-result", className: "input-checkbox", checked: applyOnResult, onChange: handleApplyOnResultChange }), _jsx("span", { className: "input-label-text", children: intl.formatMessage({
|
|
617
613
|
id: "mvf.applyOnResultLabel",
|
|
618
|
-
}) })
|
|
619
|
-
] })) : null] })), enableMultipleConditions && idx < state.conditions.length - 1 ? (_jsx("div", { className: "gd-mvf-conditions-joiner", children: conditionsJoinerOr })) : null] }, idx))), isDimensionalityEnabled ? (_jsx(DimensionalitySection, { dimensionality: dimensionality, insightDimensionality: insightDimensionality, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, onDimensionalityChange: handleDimensionalityChange, isMigratedFilter: isMigratedFilter })) : null] }), isFilterSummaryEnabled ? (_jsx(PreviewSection, { measureTitle: props.measureTitle, showSimplifiedSummary: showSimplifiedSummary, usePercentage: props.usePercentage, separators: separators, format: props.format, useShortFormat: props.useShortFormat, dimensionality: dimensionality, showAllPreview: enableMultipleConditions, conditions: state.conditions.map(({ operator, value }) => ({
|
|
614
|
+
}) })] })) : null] })), enableMultipleConditions && idx < state.conditions.length - 1 ? (_jsx("div", { className: "gd-mvf-conditions-joiner", children: conditionsJoinerOr })) : null] }, idx))), isDimensionalityEnabled ? (_jsx(DimensionalitySection, { dimensionality: dimensionality, insightDimensionality: insightDimensionality, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, onDimensionalityChange: handleDimensionalityChange, isMigratedFilter: isMigratedFilter })) : null] }), isFilterSummaryEnabled ? (_jsx(PreviewSection, { measureTitle: props.measureTitle, showSimplifiedSummary: showSimplifiedSummary, usePercentage: props.usePercentage, separators: separators, format: props.format, useShortFormat: props.useShortFormat, dimensionality: dimensionality, showAllPreview: enableMultipleConditions, conditions: state.conditions.map(({ operator, value }) => ({
|
|
620
615
|
operator,
|
|
621
616
|
value,
|
|
622
617
|
})) })) : null] })) }), (() => {
|
|
623
618
|
const ActionsComponent = DropdownActionsComponent ?? MeasureValueFilterDropdownActions;
|
|
624
619
|
return (_jsx(ActionsComponent, { onApplyButtonClick: onApply, onCancelButtonClick: onCancel ?? (() => undefined), isApplyDisabled: isApplyButtonDisabled(), isFilterChanged: isChanged(), applyDisabledTooltip: getApplyButtonTooltip(), withoutApply: withoutApply }));
|
|
625
|
-
})(), _jsx("div", { className: "sr-only", "aria-live": "polite", "aria-atomic": "true", role: "status", children: conditionAnnouncement })
|
|
626
|
-
] }));
|
|
620
|
+
})(), _jsx("div", { className: "sr-only", "aria-live": "polite", "aria-atomic": "true", role: "status", children: conditionAnnouncement })] }));
|
|
627
621
|
});
|
|
628
622
|
export const DropdownBody = memo(function DropdownBody(props) {
|
|
629
623
|
return (_jsx(IntlWrapper, { locale: props.locale, children: _jsx(DropdownBodyWithIntl, { ...props }) }));
|
|
@@ -43,8 +43,7 @@ export const MeasureValueFilter = memo(function MeasureValueFilter({ onCancel =
|
|
|
43
43
|
dialogId,
|
|
44
44
|
displayDropdown,
|
|
45
45
|
]);
|
|
46
|
-
return (_jsxs(Fragment, { children: [
|
|
47
|
-
_jsx("div", { ref: buttonRef, children: renderDropdownButton(toggleDropdown) }), displayDropdown ? (_jsx(MeasureValueFilterDropdown, { onApply: handleApply, onChange: onChange, withoutApply: withoutApply, BodyComponent: BodyComponent, DropdownActionsComponent: DropdownActionsComponent, onCancel: handleCancel, filter: filter, measureIdentifier: measureIdentifier, measureTitle: measureTitle, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, separators: separators, format: format, useShortFormat: useShortFormat, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue: treatNullAsZeroDefaultValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, isFilterSummaryEnabled: isFilterSummaryEnabled, showSimplifiedSummary: showSimplifiedSummary, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, enableMultipleConditions: enableMultipleConditions, enableRankingWithMvf: enableRankingWithMvf, anchorEl: buttonRef.current ?? undefined, loadMetricDetails: loadMetricDetails, isHeaderEnabled: isHeaderEnabled, alignPoints: alignPoints, fullscreenOnMobile: fullscreenOnMobile, isViewMode: isViewMode, dialogId: dialogId,
|
|
46
|
+
return (_jsxs(Fragment, { children: [_jsx("div", { ref: buttonRef, children: renderDropdownButton(toggleDropdown) }), displayDropdown ? (_jsx(MeasureValueFilterDropdown, { onApply: handleApply, onChange: onChange, withoutApply: withoutApply, BodyComponent: BodyComponent, DropdownActionsComponent: DropdownActionsComponent, onCancel: handleCancel, filter: filter, measureIdentifier: measureIdentifier, measureTitle: measureTitle, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, separators: separators, format: format, useShortFormat: useShortFormat, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue: treatNullAsZeroDefaultValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, isFilterSummaryEnabled: isFilterSummaryEnabled, showSimplifiedSummary: showSimplifiedSummary, catalogDimensionality: catalogDimensionality, loadCatalogDimensionality: loadCatalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, enableMultipleConditions: enableMultipleConditions, enableRankingWithMvf: enableRankingWithMvf, anchorEl: buttonRef.current ?? undefined, loadMetricDetails: loadMetricDetails, isHeaderEnabled: isHeaderEnabled, alignPoints: alignPoints, fullscreenOnMobile: fullscreenOnMobile, isViewMode: isViewMode, dialogId: dialogId,
|
|
48
47
|
// Mobile header is the same visual button but dismisses via handleCancel
|
|
49
48
|
// so host onCancel cleanup (e.g. closing the configuration panel,
|
|
50
49
|
// clearing autoOpen) runs — toggleDropdown would skip that path.
|
|
@@ -17,15 +17,7 @@ export function MeasureValueFilterDetailsBubble({ title, requestHandler, }) {
|
|
|
17
17
|
const { details, isLoading, error } = useMeasureValueFilterDetails({ isOpen, requestHandler });
|
|
18
18
|
const handleOpen = useCallback(() => setIsOpen(true), []);
|
|
19
19
|
const handleClose = useCallback(() => setIsOpen(false), []);
|
|
20
|
-
const tooltipContent = (_jsx("div", { className: `${MEASURE_VALUE_FILTER_DETAILS_BUBBLE_CLASS} s-mvf-details-bubble`, children: _jsxs("div", { className: "gd-mvf-details-bubble__content", children: [
|
|
21
|
-
_jsxs("div", { className: "gd-mvf-details-bubble__section", children: [
|
|
22
|
-
_jsx("h3", { className: "gd-mvf-details-bubble__title", children: details?.title ?? title }), details?.description ? (_jsx("p", { className: "gd-mvf-details-bubble__description", children: details.description })) : null] }), _jsxs("div", { className: "gd-mvf-details-bubble__section", children: [
|
|
23
|
-
_jsx("span", { className: "gd-mvf-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsType"] }) }), _jsx("span", { className: "gd-mvf-details-bubble__value", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsTypeValue"] }) })
|
|
24
|
-
] }), isLoading ? (_jsx("div", { className: "gd-mvf-details-bubble__section", children: _jsx("span", { className: "gd-mvf-details-bubble__loading", children: _jsx(FormattedMessage, { id: "loading" }) }) })) : error ? (_jsx("div", { className: "gd-mvf-details-bubble__section", children: _jsx("span", { className: "gd-mvf-details-bubble__error", children: error.message }) })) : details ? (_jsxs(_Fragment, { children: [details.expression ? (_jsxs("div", { className: "gd-mvf-details-bubble__section", children: [
|
|
25
|
-
_jsx("span", { className: "gd-mvf-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsDefinedAs"] }) }), _jsx("span", { className: "gd-mvf-details-bubble__value gd-mvf-details-bubble__expression", children: details.expression })
|
|
26
|
-
] })) : null, details.id ? (_jsxs("div", { className: "gd-mvf-details-bubble__section", children: [
|
|
27
|
-
_jsx("span", { className: "gd-mvf-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsId"] }) }), _jsx("span", { className: "gd-mvf-details-bubble__value", children: details.id })
|
|
28
|
-
] })) : null] })) : null] }) }));
|
|
20
|
+
const tooltipContent = (_jsx("div", { className: `${MEASURE_VALUE_FILTER_DETAILS_BUBBLE_CLASS} s-mvf-details-bubble`, children: _jsxs("div", { className: "gd-mvf-details-bubble__content", children: [_jsxs("div", { className: "gd-mvf-details-bubble__section", children: [_jsx("h3", { className: "gd-mvf-details-bubble__title", children: details?.title ?? title }), details?.description ? (_jsx("p", { className: "gd-mvf-details-bubble__description", children: details.description })) : null] }), _jsxs("div", { className: "gd-mvf-details-bubble__section", children: [_jsx("span", { className: "gd-mvf-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsType"] }) }), _jsx("span", { className: "gd-mvf-details-bubble__value", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsTypeValue"] }) })] }), isLoading ? (_jsx("div", { className: "gd-mvf-details-bubble__section", children: _jsx("span", { className: "gd-mvf-details-bubble__loading", children: _jsx(FormattedMessage, { id: "loading" }) }) })) : error ? (_jsx("div", { className: "gd-mvf-details-bubble__section", children: _jsx("span", { className: "gd-mvf-details-bubble__error", children: error.message }) })) : details ? (_jsxs(_Fragment, { children: [details.expression ? (_jsxs("div", { className: "gd-mvf-details-bubble__section", children: [_jsx("span", { className: "gd-mvf-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsDefinedAs"] }) }), _jsx("span", { className: "gd-mvf-details-bubble__value gd-mvf-details-bubble__expression", children: details.expression })] })) : null, details.id ? (_jsxs("div", { className: "gd-mvf-details-bubble__section", children: [_jsx("span", { className: "gd-mvf-details-bubble__key", children: _jsx(FormattedMessage, { ...messages["measureValueFilterDetailsId"] }) }), _jsx("span", { className: "gd-mvf-details-bubble__value", children: details.id })] })) : null] })) : null] }) }));
|
|
29
21
|
return (_jsx("span", { className: "gd-mvf-details-bubble__trigger", children: _jsx(UiTooltip, { anchor: _jsx("span", { className: "s-mvf-details-trigger", children: _jsx(UiIconButton, { icon: "question", size: "xsmall", variant: "tertiary", iconColor: "complementary-7", label: intl.formatMessage(messages["measureValueFilterDetailsInfoButtonLabel"]), accessibilityConfig: {
|
|
30
22
|
ariaLabel: intl.formatMessage(messages["measureValueFilterDetailsInfoButtonLabel"]),
|
|
31
23
|
ariaExpanded: isOpen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeasureValueFilterDropdown.test.utils.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/MeasureValueFilterDropdown.test.utils.tsx"],"names":[],"mappings":"AASA,qBAAa,0BAA0B;IAC5B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"MeasureValueFilterDropdown.test.utils.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/MeasureValueFilterDropdown.test.utils.tsx"],"names":[],"mappings":"AASA,qBAAa,0BAA0B;IAC5B,mBAAmB,QAAO,WAAW,GAAG,IAAI,CACM;IAElD,0BAA0B,4BAAmE;IAE7F,yBAAyB,8BAAgE;IAEzF,sBAAsB,gBAAsC;IAE5D,cAAc,2BAAiD;IAE/D,UAAU,aAGf;IAEK,WAAW,aAGhB;IAEK,oBAAoB,2BAKzB;IAEK,WAAW,aAAc,MAAM,oBACkC;IAEjE,kBAAkB,aAAc,MAAM,yBACgD;IAEtF,cAAc,aAAc,MAAM,UAGvC;IAEK,uBAAuB,QAAO,gBAAgB,CACc;IAE5D,kBAAkB,UAAW,MAAM,UAGxC;IAEK,iBAAiB,QAAO,gBAAgB,CACc;IAEtD,YAAY,UAAW,MAAM,UAGlC;IAEK,eAAe,QAAO,gBAAgB,CAA2D;IAEjG,UAAU,UAAW,MAAM,UAGhC;IAEK,qBAAqB,gBAA+D;IAEpF,2BAA2B,gBACqC;IAEhE,wBAAwB,6BAAoE;IAE5F,gBAAgB,4BAAuD;IAEvE,iBAAiB,uBAA0D;IAE3E,2BAA2B,aAAc,MAAM,oBACW;IAE1D,UAAU,QAAO,WAAW,GAAG,IAAI,CAA+D;IAElG,wBAAwB,aAM7B;IAEK,sBAAsB,QAAO,gBAAgB,GAAG,IAAI,CACwC;CACtG"}
|